├── .nvmrc ├── packages ├── figma │ ├── src │ │ └── .gitkeep │ └── README.md ├── native │ └── .gitkeep ├── sdks │ ├── .nvmrc │ ├── .tool-versions │ ├── .yarnrc │ ├── .prettierignore │ ├── .prettierrc │ ├── output │ │ ├── .gitignore │ │ └── solid │ │ │ └── README.md │ ├── overrides │ │ ├── react-native │ │ │ └── src │ │ │ │ ├── constants │ │ │ │ └── target.ts │ │ │ │ ├── functions │ │ │ │ ├── is-react-native.ts │ │ │ │ └── get-block-tag.ts │ │ │ │ └── index-helpers │ │ │ │ └── top-of-file.ts │ │ ├── vue │ │ │ ├── vue2 │ │ │ │ └── src │ │ │ │ │ ├── functions │ │ │ │ │ ├── event-handler-name.ts │ │ │ │ │ └── get-block-styles.ts │ │ │ │ │ └── constants │ │ │ │ │ └── target.ts │ │ │ └── vue3 │ │ │ │ └── src │ │ │ │ ├── functions │ │ │ │ ├── event-handler-name.ts │ │ │ │ └── get-block-styles.ts │ │ │ │ └── constants │ │ │ │ └── target.ts │ │ ├── solid │ │ │ └── src │ │ │ │ ├── constants │ │ │ │ └── target.ts │ │ │ │ └── solid-index.jsx │ │ └── svelte │ │ │ └── src │ │ │ └── constants │ │ │ └── target.ts │ ├── src │ │ ├── components │ │ │ └── render-content │ │ │ │ └── index.ts │ │ ├── functions │ │ │ ├── fast-clone.ts │ │ │ ├── convert-style-object.ts │ │ │ ├── is-browser.ts │ │ │ ├── camel-to-kebab-case.ts │ │ │ ├── is-iframe.ts │ │ │ ├── is-editing.ts │ │ │ ├── event-handler-name.ts │ │ │ ├── transform-block.ts │ │ │ ├── sanitize-styles.ts │ │ │ ├── previewing-model-name.ts │ │ │ ├── is-previewing.ts │ │ │ ├── get-block-properties.ts │ │ │ └── get-global-this.ts │ │ ├── types │ │ │ ├── typescript.ts │ │ │ ├── targets.ts │ │ │ └── deep-partial.ts │ │ ├── blocks │ │ │ ├── text │ │ │ │ └── text.lite.tsx │ │ │ ├── fragment │ │ │ │ └── component-info.ts │ │ │ ├── submit-button │ │ │ │ └── submit-button.lite.tsx │ │ │ └── raw-text │ │ │ │ ├── raw-text.lite.tsx │ │ │ │ └── component-info.ts │ │ ├── index-helpers │ │ │ └── top-of-file.ts │ │ ├── constants │ │ │ └── target.ts │ │ └── helpers │ │ │ └── css.ts │ ├── .yarnrc.yml │ ├── .eslintignore │ ├── scripts │ │ ├── release-sdk.sh │ │ ├── upgrade-example.sh │ │ ├── add-resolutions.sh │ │ └── remove-resolutions.sh │ └── tsconfig.json ├── wordpress │ └── .gitkeep ├── vue │ ├── .nvmrc │ ├── babel.config.js │ ├── .npmignore │ ├── src │ │ └── main.js │ ├── CHANGELOG.md │ └── .gitignore ├── angular │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── fonts │ │ │ │ ├── averta-bold.woff │ │ │ │ ├── averta-regular.woff │ │ │ │ └── averta-semibold.woff │ │ ├── app │ │ │ ├── app.component.css │ │ │ ├── app.component.html │ │ │ ├── modules │ │ │ │ └── builder │ │ │ │ │ ├── components │ │ │ │ │ ├── builder-content │ │ │ │ │ │ ├── builder-content.component.html │ │ │ │ │ │ └── builder-content.component.css │ │ │ │ │ ├── builder-blocks │ │ │ │ │ │ ├── builder-blocks.component.css │ │ │ │ │ │ └── builder-blocks.component.html │ │ │ │ │ ├── builder-component │ │ │ │ │ │ └── builder-component.component.css │ │ │ │ │ └── builder-blocks-outlet │ │ │ │ │ │ ├── builder-blocks-outlet.component.css │ │ │ │ │ │ └── builder-blocks-outlet.component.html │ │ │ │ │ ├── interfaces │ │ │ │ │ └── element.interface.ts │ │ │ │ │ ├── decorators │ │ │ │ │ └── builder-component.dectorator.ts │ │ │ │ │ └── directives │ │ │ │ │ └── builder-content.directive.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app-routing.module.ts │ │ │ └── app.server.module.ts │ │ ├── main.server.ts │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── tsconfig.app.json │ │ ├── typings.d.ts │ │ ├── tsconfig.spec.json │ │ └── index.html │ ├── .prettierrc │ ├── examples │ │ ├── basic-site │ │ │ └── README.md │ │ └── universal │ │ │ └── README.md │ ├── CHANGELOG.md │ ├── tsconfig.lib.json │ ├── ng-package.js │ └── e2e │ │ ├── app.po.ts │ │ ├── tsconfig.e2e.json │ │ └── app.e2e-spec.ts ├── plugin-loader │ ├── src │ │ └── types.d.ts │ ├── README.md │ ├── tslint.json │ ├── .gitignore │ ├── .editorconfig │ └── test │ │ └── plugin-loader.test.ts ├── android │ └── sdk │ │ ├── app │ │ ├── .gitignore │ │ └── src │ │ │ └── main │ │ │ ├── res │ │ │ ├── values │ │ │ │ ├── strings.xml │ │ │ │ └── themes.xml │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ └── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── myapplication │ │ │ └── ui │ │ │ └── theme │ │ │ ├── Color.kt │ │ │ └── Shape.kt │ │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── .gitignore │ │ └── settings.gradle ├── gatsby │ ├── src │ │ └── index.js │ ├── .gitignore │ ├── .babelrc │ └── tsconfig.json ├── core │ ├── .tool-versions │ ├── .npmignore │ ├── src │ │ ├── typings │ │ │ └── index.d.ts │ │ ├── constants │ │ │ └── builder.ts │ │ └── functions │ │ │ ├── omit.function.ts │ │ │ └── get-top-level-domain.ts │ ├── docs │ │ └── interfaces │ │ │ └── ParamsMap.md │ ├── typedoc.js │ ├── .gitignore │ ├── types.d.ts │ └── CHANGELOG.md ├── json-schema │ ├── .gitignore │ └── Makefile ├── storybook │ ├── .npmignore │ ├── register.js │ ├── .gitignore │ ├── src │ │ ├── config.ts │ │ ├── index.tsx │ │ └── types │ │ │ └── react-element-to-jsx-string.d.ts │ └── .babelrc ├── utils │ ├── .gitignore │ ├── jest.config.js │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── personalization-utils │ ├── configurator │ │ ├── README.md │ │ ├── .gitignore │ │ ├── src │ │ │ ├── index.ts │ │ │ └── get-attributes.ts │ │ └── tsconfig.json │ ├── .gitignore │ ├── jest.config.js │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── shopify │ ├── js.d.ts │ ├── js.js │ ├── track.d.ts │ ├── index.ts │ ├── react │ │ ├── index.d.ts │ │ └── index.js │ ├── .npmignore │ ├── types.d.ts │ ├── .gitignore │ ├── test │ │ └── components │ │ │ └── __snapshots__ │ │ │ ├── Assign.test.tsx.snap │ │ │ └── Capture.test.tsx.snap │ ├── babel.config.js │ └── README.md ├── fiddle │ ├── src │ │ ├── typings.d.ts │ │ ├── builder-fiddle-lite.ts │ │ ├── builder-fiddle.ts │ │ └── core.ts │ ├── tslint.json │ ├── .gitignore │ ├── index.html │ ├── .editorconfig │ ├── README.md │ ├── .travis.yml │ └── test │ │ └── builder-fiddle.test.ts ├── data-plugin-tools │ ├── src │ │ ├── examples │ │ │ └── contentstack.ts │ │ └── typings.d.ts │ ├── tslint.json │ └── .gitignore ├── webcomponents │ ├── src │ │ ├── lazy-test.ts │ │ ├── builder-webcomponents-lite.ts │ │ ├── builder-webcomponents.ts │ │ └── typings.d.ts │ ├── CHANGELOG.md │ ├── tslint.json │ ├── .gitignore │ ├── .npmignore │ ├── bootstrap.js │ ├── index.html │ ├── README.md │ └── .travis.yml ├── create-builder.io │ └── src │ │ ├── cli.ts │ │ ├── vendor │ │ └── prompts │ │ │ ├── elements │ │ │ └── index.ts │ │ │ └── util │ │ │ ├── index.js │ │ │ └── strip.js │ │ └── texts.ts ├── react │ ├── .prettierignore │ ├── lite.d.ts │ ├── tslint.json │ ├── examples │ │ └── next-js │ │ │ └── README.md │ ├── CHANGELOG.md │ ├── src │ │ ├── components │ │ │ └── no-wrap.tsx │ │ ├── store │ │ │ └── builder-meta.ts │ │ ├── decorators │ │ │ └── builder-block.decorator.ts │ │ ├── functions │ │ │ ├── safe-dynamic-require.ts │ │ │ ├── with-builder.ts │ │ │ └── get.ts │ │ ├── scripts │ │ │ └── init-editing.ts │ │ └── hooks │ │ │ └── useIsPreviewing.ts │ ├── .npmignore │ ├── typedoc.js │ ├── .gitignore │ ├── internal-types.d.ts │ └── .travis.yml ├── commerce-plugin-tools │ ├── src │ │ ├── typings.d.ts │ │ ├── functions │ │ │ └── fast-clone.ts │ │ └── interfaces │ │ │ ├── custom-react-editor-props.ts │ │ │ ├── resource.ts │ │ │ └── builder-request.ts │ ├── tslint.json │ └── .gitignore ├── widgets │ ├── async.d.ts │ ├── async.js │ ├── tslint.json │ ├── .gitignore │ ├── .npmignore │ └── .travis.yml ├── amp │ ├── tslint.json │ ├── README.md │ ├── .gitignore │ ├── .npmignore │ ├── src │ │ └── builder-amp.ts │ └── .travis.yml ├── email │ ├── tslint.json │ ├── .gitignore │ ├── .npmignore │ ├── src │ │ ├── functions │ │ │ └── get-styles.ts │ │ └── components │ │ │ └── EmailPreview.tsx │ └── .travis.yml ├── swift │ ├── src │ │ ├── Shared │ │ │ ├── Schemas │ │ │ │ ├── BuilderBlockResponsiveStyles.swift │ │ │ │ └── BuilderContent.swift │ │ │ ├── Assets.xcassets │ │ │ │ ├── Contents.json │ │ │ │ └── AccentColor.colorset │ │ │ │ │ └── Contents.json │ │ │ └── Components │ │ │ │ └── RenderBlocks.swift │ │ ├── testing.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ └── swiftpm │ │ │ │ └── Package.resolved │ │ ├── macOS │ │ │ └── macOS.entitlements │ │ └── Package.resolved │ └── .gitignore ├── cli │ ├── src │ │ └── index.test.ts │ └── tsconfig.json ├── app-context │ ├── index.js │ ├── README.md │ └── package.json ├── codegen │ ├── .gitignore │ ├── .editorconfig │ ├── src │ │ └── index.ts │ ├── README.md │ └── tsconfig.json └── admin-sdk │ └── tsconfig.json ├── .tool-versions ├── examples ├── angular │ ├── src │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── app │ │ │ ├── app.component.css │ │ │ ├── foo.component.ts │ │ │ └── app.component.html │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── styles.css │ │ ├── favicon.ico │ │ ├── typings.d.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.spec.json │ │ ├── index.html │ │ └── main.ts │ └── e2e │ │ ├── app.po.ts │ │ ├── tsconfig.e2e.json │ │ └── app.e2e-spec.ts ├── vue │ ├── nuxt-2 │ │ ├── .nvmrc │ │ ├── .prettierrc │ │ ├── pages │ │ │ └── _page.vue │ │ └── .editorconfig │ ├── vue-storefront-2 │ │ ├── lang │ │ │ └── .gitkeep │ │ ├── .nvmrc │ │ ├── shims-builder.d.ts │ │ ├── pages │ │ │ └── README.md │ │ ├── components │ │ │ └── README.md │ │ ├── helpers │ │ │ ├── README.md │ │ │ ├── category │ │ │ │ ├── getCategoryPath.js │ │ │ │ ├── index.js │ │ │ │ └── getCategorySearchParameters.js │ │ │ ├── validators │ │ │ │ └── phone.ts │ │ │ └── cacheControl.js │ │ ├── shims-vue.d.ts │ │ ├── static │ │ │ ├── icon.png │ │ │ ├── favicon.ico │ │ │ ├── homepage │ │ │ │ ├── apple.png │ │ │ │ ├── google.png │ │ │ │ ├── bannerA.webp │ │ │ │ ├── bannerB.webp │ │ │ │ ├── bannerC.webp │ │ │ │ ├── bannerD.png │ │ │ │ ├── bannerE.webp │ │ │ │ ├── bannerF.webp │ │ │ │ ├── bannerG.webp │ │ │ │ ├── bannerH.webp │ │ │ │ ├── imageAd.webp │ │ │ │ ├── imageAm.webp │ │ │ │ ├── imageBd.webp │ │ │ │ ├── imageBm.webp │ │ │ │ ├── imageCd.webp │ │ │ │ ├── imageCm.webp │ │ │ │ ├── imageDd.webp │ │ │ │ ├── imageDm.webp │ │ │ │ ├── productA.webp │ │ │ │ ├── productB.webp │ │ │ │ ├── productC.webp │ │ │ │ └── newsletter.webp │ │ │ ├── icons │ │ │ │ └── langs │ │ │ │ │ ├── de.webp │ │ │ │ │ └── en.webp │ │ │ ├── thank-you │ │ │ │ ├── bannerD.png │ │ │ │ └── bannerM.png │ │ │ └── productpage │ │ │ │ ├── productA.jpg │ │ │ │ ├── productB.jpg │ │ │ │ └── productM.jpg │ │ ├── composables │ │ │ ├── index.ts │ │ │ └── usePaymentProviderMock │ │ │ │ └── index.ts │ │ ├── tests │ │ │ └── e2e │ │ │ │ ├── pages │ │ │ │ ├── home.ts │ │ │ │ ├── base.ts │ │ │ │ ├── components │ │ │ │ │ └── breadcrumbs.ts │ │ │ │ └── utils │ │ │ │ │ └── element.ts │ │ │ │ ├── support │ │ │ │ └── index.d.ts │ │ │ │ ├── fixtures │ │ │ │ ├── test-data │ │ │ │ │ └── e2e-user-login.json │ │ │ │ └── responses │ │ │ │ │ └── getOrdersWithOffset.json │ │ │ │ └── utils │ │ │ │ └── data-generator.ts │ │ ├── .editorconfig │ │ ├── scripts │ │ │ ├── remove-resolutions.sh │ │ │ └── add-resolutions.sh │ │ ├── .babelrc │ │ ├── shims-webpack.d.ts │ │ └── middleware │ │ │ └── README.md │ ├── nuxt-2-old-sdk │ │ ├── .nvmrc │ │ ├── .prettierrc │ │ ├── .editorconfig │ │ └── components │ │ │ └── hello-world.vue │ ├── vue-3 │ │ ├── env.d.ts │ │ ├── public │ │ │ └── favicon.ico │ │ ├── src │ │ │ ├── main.ts │ │ │ └── assets │ │ │ │ └── logo.svg │ │ ├── tsconfig.config.json │ │ ├── .eslintrc.cjs │ │ ├── tsconfig.json │ │ ├── index.html │ │ └── vite.config.ts │ └── vue-2 │ │ ├── babel.config.js │ │ ├── public │ │ └── favicon.ico │ │ ├── src │ │ ├── assets │ │ │ └── logo.png │ │ └── main.js │ │ ├── vue.config.js │ │ ├── .gitignore │ │ └── jsconfig.json ├── react-native │ ├── .nvmrc │ ├── .tool-versions │ ├── typings.d.ts │ ├── assets │ │ ├── icon.png │ │ ├── splash.png │ │ ├── favicon.png │ │ └── adaptive-icon.png │ ├── tsconfig.json │ ├── babel.config.js │ ├── .gitignore │ ├── .expo-shared │ │ └── assets.json │ └── scripts │ │ ├── remove-resolutions.sh │ │ └── add-resolutions.sh ├── angular-universal │ └── src │ │ ├── assets │ │ └── .gitkeep │ │ ├── app │ │ ├── app.component.css │ │ ├── foo.component.ts │ │ ├── app.component.html │ │ └── app.server.module.ts │ │ ├── environments │ │ └── environment.prod.ts │ │ ├── styles.css │ │ ├── favicon.ico │ │ ├── typings.d.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.spec.json │ │ └── index.html ├── next-js-builder-site │ ├── .prettierignore │ ├── .npmrc │ ├── CHANGELOG.md │ ├── src │ │ ├── constants │ │ │ ├── use-codegen.ts │ │ │ ├── footer-builder-entry-id.ts │ │ │ ├── theme.ts │ │ │ ├── seo-tags.ts │ │ │ └── breakpoints.ts │ │ └── components │ │ │ └── docs-search.config.ts │ ├── .commitlintrc.json │ ├── .babelrc │ ├── .prettierrc │ ├── public │ │ └── assets │ │ │ ├── logo.png │ │ │ └── logo-white.png │ ├── .editorconfig │ ├── renovate.json │ ├── README.md │ └── next-env.d.ts ├── solid-js │ ├── .gitignore │ └── src │ │ ├── assets │ │ └── favicon.ico │ │ ├── index.jsx │ │ └── index.css ├── svelte │ └── sveltekit │ │ ├── .npmrc │ │ ├── tsconfig.json │ │ ├── static │ │ ├── robots.txt │ │ ├── favicon.png │ │ └── svelte-welcome.png │ │ ├── .prettierrc │ │ ├── .gitignore │ │ ├── scripts │ │ ├── remove-resolutions.sh │ │ └── add-resolutions.sh │ │ └── src │ │ └── app.html ├── next-js-simple │ ├── .env.production │ ├── .env.template │ ├── .prettierignore │ ├── .env.development │ ├── next-env.d.ts │ ├── config │ │ └── builder.ts │ ├── components │ │ └── Link │ │ │ └── Link.tsx │ └── pages │ │ └── _app.tsx ├── svelte-design-system │ ├── .npmrc │ ├── static │ │ ├── robots.txt │ │ ├── favicon.png │ │ ├── svelte-welcome.png │ │ └── svelte-welcome.webp │ ├── src │ │ ├── lib │ │ │ └── variables.ts │ │ ├── components │ │ │ ├── index.ts │ │ │ └── Button │ │ │ │ └── Button.svelte │ │ └── routes │ │ │ └── [...catchall].svelte │ ├── .prettierrc │ ├── .gitignore │ ├── .eslintignore │ ├── .prettierignore │ └── tsconfig.json ├── next-js-theme-ui │ ├── assets │ │ └── main.css │ ├── .prettierignore │ ├── .env.development │ ├── .env.production │ ├── .env.template │ ├── global.d.ts │ ├── config │ │ ├── env.ts │ │ ├── theme.ts │ │ ├── builder.ts │ │ └── seo.json │ ├── public │ │ ├── icon.png │ │ ├── jacket.png │ │ ├── cursor-left.png │ │ ├── cursor-right.png │ │ ├── icon-144x144.png │ │ ├── icon-192x192.png │ │ ├── icon-512x512.png │ │ └── slider-arrows.png │ ├── docs │ │ ├── ROADMAP.md │ │ └── images │ │ │ ├── private-key-flow.png │ │ │ ├── shopify-permissions.png │ │ │ ├── builder-io-organizations.png │ │ │ ├── shopify-api-key-mapping.png │ │ │ └── shopify-private-app-flow.png │ ├── next-env.d.ts │ └── lib │ │ └── get-layout-props.ts ├── embed-starter-kit │ ├── .prettierignore │ ├── admin │ │ ├── .prettierignore │ │ ├── README.md │ │ ├── types.d.ts │ │ ├── .env.template │ │ ├── next-env.d.ts │ │ └── helpers │ │ │ └── auth0.ts │ ├── site │ │ ├── .prettierignore │ │ ├── .env.template │ │ ├── blocks │ │ │ ├── README.md │ │ │ └── header │ │ │ │ ├── cart │ │ │ │ ├── cart.tsx │ │ │ │ └── cart.builder.ts │ │ │ │ ├── nav-links │ │ │ │ └── nav-links.tsx │ │ │ │ └── spacer │ │ │ │ └── spacer.tsx │ │ ├── README.md │ │ ├── helpers │ │ │ ├── create-emotion-cache.ts │ │ │ └── get-layout-props.ts │ │ ├── components │ │ │ └── Header.tsx │ │ └── next-env.d.ts │ ├── plugin │ │ ├── tslint.json │ │ ├── .gitignore │ │ ├── src │ │ │ ├── components │ │ │ │ ├── row.tsx │ │ │ │ └── stack.tsx │ │ │ └── constants │ │ │ │ └── page-templates.ts │ │ └── test │ │ │ └── plugin.test.ts │ └── package.json ├── astro-solidjs │ ├── .npmrc │ ├── public │ │ └── favicon.ico │ ├── tailwind.config.cjs │ └── .gitignore ├── next-js-amp │ ├── public │ │ └── favicon.ico │ └── pages │ │ └── preview.js ├── storybook │ ├── src │ │ ├── index.css │ │ └── components │ │ │ ├── Heading │ │ │ └── Heading.jsx │ │ │ └── Button │ │ │ └── Button.jsx │ └── .storybook │ │ ├── main.js │ │ └── preview.js ├── gatsby-minimal-starter │ ├── .prettierrc │ └── src │ │ └── typings.d.ts ├── next-js-headless-shopify │ └── README.md ├── material-ui │ └── README.md ├── react-design-system │ └── src │ │ ├── index.css │ │ ├── components │ │ ├── Heading │ │ │ └── Heading.jsx │ │ └── Button │ │ │ └── Button.jsx │ │ └── pages │ │ └── Collection.jsx ├── react-multipage-funnel │ └── index.html ├── react │ └── src │ │ └── index.css └── plain-js │ └── src │ └── index.css ├── plugins ├── commercetools │ ├── src │ │ ├── service.ts │ │ └── typings.d.ts │ ├── tslint.json │ └── .gitignore ├── shopify-demo │ ├── .tool-versions │ ├── src │ │ └── typings.d.ts │ ├── tslint.json │ ├── README.md │ └── .gitignore ├── swell │ ├── src │ │ └── typings.d.ts │ ├── tslint.json │ └── .gitignore ├── algolia │ ├── src │ │ ├── typings.d.ts │ │ └── constants.ts │ ├── tslint.json │ └── .gitignore ├── example │ └── README.md ├── smartling │ ├── src │ │ └── type.d.ts │ ├── tslint.json │ └── .gitignore ├── vtex │ ├── src │ │ └── typings.d.ts │ ├── tslint.json │ └── .gitignore ├── contentful │ ├── src │ │ └── typing.d.ts │ ├── tslint.json │ └── .gitignore ├── kontent-ai │ ├── src │ │ └── typing.d.ts │ ├── tslint.json │ └── .gitignore ├── magento2 │ ├── src │ │ └── typings.d.ts │ ├── tslint.json │ └── .gitignore ├── sfcc-sync │ ├── src │ │ ├── typings.d.ts │ │ └── utils.ts │ ├── tslint.json │ ├── .gitignore │ └── README.md ├── example-data-plugin │ ├── src │ │ └── typing.d.ts │ ├── tslint.json │ └── .gitignore ├── bigcommerce │ ├── tslint.json │ └── .gitignore ├── cloudinary │ ├── tslint.json │ ├── src │ │ └── setupEnzyme.ts │ └── .gitignore ├── commercejs │ ├── tslint.json │ └── .gitignore ├── elasticpath │ ├── tslint.json │ └── .gitignore ├── localized-preview │ ├── src │ │ ├── constants.ts │ │ └── models │ │ │ └── localization.ts │ ├── tslint.json │ └── .gitignore ├── rich-text │ ├── tslint.json │ └── .gitignore ├── shopify │ ├── tslint.json │ └── .gitignore ├── async-dropdown │ ├── tslint.json │ ├── src │ │ ├── models │ │ │ └── IOption.tsx │ │ ├── helpers │ │ │ ├── canDisableClear.tsx │ │ │ ├── selectionsClient.ts │ │ │ ├── dependenciesHelper.ts │ │ │ └── mapperEvaluator.ts │ │ └── components │ │ │ └── NothingToSelect.tsx │ ├── .gitignore │ └── __tests__ │ │ └── mapperEvaluator.test.ts ├── contentstack │ ├── tslint.json │ ├── screenshot.jpg │ └── .gitignore ├── elasticpath-pcm │ ├── tslint.json │ └── .gitignore ├── sfcc-headless │ ├── tslint.json │ ├── src │ │ └── typings.d.ts │ └── .gitignore ├── example-action-plugin │ ├── tslint.json │ └── .gitignore ├── example-app-simple │ ├── tslint.json │ ├── .gitignore │ ├── src │ │ ├── components │ │ │ ├── row.tsx │ │ │ └── stack.tsx │ │ └── interfaces │ │ │ └── custom-editor.ts │ └── test │ │ └── plugin.test.ts └── example-app-campaign-builder │ ├── tslint.json │ ├── .gitignore │ ├── src │ ├── components │ │ ├── row.tsx │ │ └── stack.tsx │ └── interfaces │ │ └── custom-editor.ts │ └── test │ └── plugin.test.ts ├── starters ├── create-builder │ ├── nextjs │ │ ├── .prettierignore │ │ ├── .eslintrc.json │ │ ├── public │ │ │ ├── shoe.glb │ │ │ └── favicon.ico │ │ ├── next-env.d.ts │ │ ├── components │ │ │ ├── Header.tsx │ │ │ └── SourceCodeLink.tsx │ │ └── styles │ │ │ └── globals.css │ └── create-react-app │ │ ├── src │ │ ├── react-app-env.d.ts │ │ ├── App.tsx │ │ └── components │ │ │ └── Header.tsx │ │ └── public │ │ ├── robots.txt │ │ ├── favicon.ico │ │ ├── logo192.png │ │ └── logo512.png ├── gatsby │ └── README.md └── react │ ├── public │ ├── favicon.ico │ └── manifest.json │ ├── src │ ├── App.test.js │ └── index.css │ └── .gitignore ├── .gitattributes ├── .prettierrc ├── lerna.json ├── SECURITY.md ├── .prettierignore ├── .husky └── prepare-commit-msg └── .gitignore /.nvmrc: -------------------------------------------------------------------------------- 1 | lts/erbium -------------------------------------------------------------------------------- /packages/figma/src/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/native/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/sdks/.nvmrc: -------------------------------------------------------------------------------- 1 | v16.14.0 -------------------------------------------------------------------------------- /packages/wordpress/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.tool-versions: -------------------------------------------------------------------------------- 1 | nodejs 16.14.0 2 | -------------------------------------------------------------------------------- /packages/vue/.nvmrc: -------------------------------------------------------------------------------- 1 | 16.14.0 2 | -------------------------------------------------------------------------------- /examples/angular/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/vue/nuxt-2/.nvmrc: -------------------------------------------------------------------------------- 1 | 16.14.0 2 | -------------------------------------------------------------------------------- /packages/angular/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/plugin-loader/src/types.d.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /plugins/commercetools/src/service.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/angular/src/app/app.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/react-native/.nvmrc: -------------------------------------------------------------------------------- 1 | lts/gallium -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/lang/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/android/sdk/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /packages/angular/src/app/app.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/gatsby/src/index.js: -------------------------------------------------------------------------------- 1 | // noop 2 | -------------------------------------------------------------------------------- /packages/sdks/.tool-versions: -------------------------------------------------------------------------------- 1 | nodejs 16.14.0 -------------------------------------------------------------------------------- /examples/angular-universal/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/vue/nuxt-2-old-sdk/.nvmrc: -------------------------------------------------------------------------------- 1 | 16.14.0 2 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/.nvmrc: -------------------------------------------------------------------------------- 1 | 16.14.0 2 | -------------------------------------------------------------------------------- /packages/core/.tool-versions: -------------------------------------------------------------------------------- 1 | nodejs 16.14.0 2 | -------------------------------------------------------------------------------- /packages/json-schema/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /examples/angular-universal/src/app/app.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/next-js-builder-site/.prettierignore: -------------------------------------------------------------------------------- 1 | .next -------------------------------------------------------------------------------- /examples/react-native/.tool-versions: -------------------------------------------------------------------------------- 1 | nodejs 16.14.0 -------------------------------------------------------------------------------- /examples/solid-js/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist -------------------------------------------------------------------------------- /packages/storybook/.npmignore: -------------------------------------------------------------------------------- 1 | src 2 | .babelrc 3 | -------------------------------------------------------------------------------- /packages/utils/.gitignore: -------------------------------------------------------------------------------- 1 | src/*.js 2 | src/*.d.ts 3 | -------------------------------------------------------------------------------- /examples/next-js-builder-site/.npmrc: -------------------------------------------------------------------------------- 1 | save-exact = true 2 | -------------------------------------------------------------------------------- /examples/svelte/sveltekit/.npmrc: -------------------------------------------------------------------------------- 1 | engine-strict=true 2 | -------------------------------------------------------------------------------- /packages/personalization-utils/configurator/README.md: -------------------------------------------------------------------------------- 1 | TODO -------------------------------------------------------------------------------- /packages/shopify/js.d.ts: -------------------------------------------------------------------------------- 1 | export * from './js/index'; 2 | -------------------------------------------------------------------------------- /packages/shopify/js.js: -------------------------------------------------------------------------------- 1 | export * from './js/index.js'; 2 | -------------------------------------------------------------------------------- /plugins/shopify-demo/.tool-versions: -------------------------------------------------------------------------------- 1 | nodejs 16.14.0 2 | -------------------------------------------------------------------------------- /examples/next-js-simple/.env.production: -------------------------------------------------------------------------------- 1 | BUILDER_PUBLIC_KEY= 2 | -------------------------------------------------------------------------------- /examples/next-js-simple/.env.template: -------------------------------------------------------------------------------- 1 | BUILDER_PUBLIC_KEY= 2 | -------------------------------------------------------------------------------- /examples/svelte-design-system/.npmrc: -------------------------------------------------------------------------------- 1 | engine-strict=true 2 | -------------------------------------------------------------------------------- /packages/fiddle/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.json'; 2 | -------------------------------------------------------------------------------- /packages/gatsby/.gitignore: -------------------------------------------------------------------------------- 1 | /*.js 2 | /plugins 3 | yarn.lock 4 | -------------------------------------------------------------------------------- /packages/plugin-loader/README.md: -------------------------------------------------------------------------------- 1 | # Builder.io plugin loader 2 | -------------------------------------------------------------------------------- /packages/sdks/.yarnrc: -------------------------------------------------------------------------------- 1 | yarnPath: .yarn/releases/yarn-3.2.0.cjs -------------------------------------------------------------------------------- /packages/shopify/track.d.ts: -------------------------------------------------------------------------------- 1 | export * from './track/track'; 2 | -------------------------------------------------------------------------------- /plugins/swell/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'swell-js'; 2 | -------------------------------------------------------------------------------- /examples/next-js-builder-site/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # 0.1.0 (2021-01-28) 2 | -------------------------------------------------------------------------------- /packages/data-plugin-tools/src/examples/contentstack.ts: -------------------------------------------------------------------------------- 1 | // TODO 2 | -------------------------------------------------------------------------------- /packages/shopify/index.ts: -------------------------------------------------------------------------------- 1 | // Placholder for node.js interface 2 | -------------------------------------------------------------------------------- /packages/storybook/register.js: -------------------------------------------------------------------------------- 1 | require('./dist/register.js'); 2 | -------------------------------------------------------------------------------- /packages/webcomponents/src/lazy-test.ts: -------------------------------------------------------------------------------- 1 | export const foo = 'hi'; 2 | -------------------------------------------------------------------------------- /examples/next-js-simple/.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .next 3 | public -------------------------------------------------------------------------------- /examples/next-js-theme-ui/assets/main.css: -------------------------------------------------------------------------------- 1 | /* @import './base.css'; */ 2 | -------------------------------------------------------------------------------- /examples/vue/vue-3/env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /packages/fiddle/src/builder-fiddle-lite.ts: -------------------------------------------------------------------------------- 1 | export * from './core'; 2 | -------------------------------------------------------------------------------- /packages/sdks/.prettierignore: -------------------------------------------------------------------------------- 1 | .yarn/ 2 | output/**/src 3 | .pnp.* 4 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .next 3 | public -------------------------------------------------------------------------------- /examples/next-js-theme-ui/.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .next 3 | public -------------------------------------------------------------------------------- /packages/create-builder.io/src/cli.ts: -------------------------------------------------------------------------------- 1 | export const cliOptions = {} as any; 2 | -------------------------------------------------------------------------------- /packages/shopify/react/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from '../dist/react/react'; 2 | -------------------------------------------------------------------------------- /plugins/algolia/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | declare module '@builder.io/app-context'; 2 | -------------------------------------------------------------------------------- /plugins/example/README.md: -------------------------------------------------------------------------------- 1 | ## This plugin has moved [here](../rich-text) 2 | -------------------------------------------------------------------------------- /plugins/smartling/src/type.d.ts: -------------------------------------------------------------------------------- 1 | declare module '@builder.io/app-context'; 2 | -------------------------------------------------------------------------------- /plugins/vtex/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | declare module '@builder.io/app-context'; 2 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/admin/.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .next 3 | public -------------------------------------------------------------------------------- /examples/embed-starter-kit/site/.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .next 3 | public -------------------------------------------------------------------------------- /packages/angular/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /packages/react/.prettierignore: -------------------------------------------------------------------------------- 1 | *.snap 2 | dist 3 | coverage 4 | .rpt2_cache 5 | -------------------------------------------------------------------------------- /packages/react/lite.d.ts: -------------------------------------------------------------------------------- 1 | export * from './dist/types/src/builder-react-lite'; 2 | -------------------------------------------------------------------------------- /packages/sdks/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": true, 3 | "singleQuote": true 4 | } 5 | -------------------------------------------------------------------------------- /packages/sdks/output/.gitignore: -------------------------------------------------------------------------------- 1 | # We ignore all Mitosis-outputted files. 2 | **/src -------------------------------------------------------------------------------- /packages/shopify/react/index.js: -------------------------------------------------------------------------------- 1 | export * from '../dist/react/bundle.esm.js'; 2 | -------------------------------------------------------------------------------- /plugins/contentful/src/typing.d.ts: -------------------------------------------------------------------------------- 1 | declare module '@builder.io/app-context'; 2 | -------------------------------------------------------------------------------- /plugins/kontent-ai/src/typing.d.ts: -------------------------------------------------------------------------------- 1 | declare module '@builder.io/app-context'; 2 | -------------------------------------------------------------------------------- /plugins/magento2/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | declare module '@builder.io/app-context'; 2 | -------------------------------------------------------------------------------- /plugins/sfcc-sync/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | declare module '@builder.io/app-context'; 2 | -------------------------------------------------------------------------------- /plugins/shopify-demo/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | declare module '@builder.io/app-context'; 2 | -------------------------------------------------------------------------------- /starters/create-builder/nextjs/.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .next 3 | public -------------------------------------------------------------------------------- /examples/react-native/typings.d.ts: -------------------------------------------------------------------------------- 1 | declare module '@builder.io/sdk-react-native'; 2 | -------------------------------------------------------------------------------- /packages/core/.npmignore: -------------------------------------------------------------------------------- 1 | /index.ts 2 | /index.js 3 | *.log 4 | /src 5 | .rpt2_cache 6 | -------------------------------------------------------------------------------- /packages/gatsby/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [["babel-preset-gatsby-package"]] 3 | } 4 | -------------------------------------------------------------------------------- /packages/webcomponents/src/builder-webcomponents-lite.ts: -------------------------------------------------------------------------------- 1 | export * from './core'; 2 | -------------------------------------------------------------------------------- /examples/next-js-theme-ui/.env.development: -------------------------------------------------------------------------------- 1 | BUILDER_PUBLIC_KEY=23c853419d8142b284a2b5725b523b4f -------------------------------------------------------------------------------- /examples/next-js-theme-ui/.env.production: -------------------------------------------------------------------------------- 1 | BUILDER_PUBLIC_KEY=23c853419d8142b284a2b5725b523b4f -------------------------------------------------------------------------------- /examples/next-js-theme-ui/.env.template: -------------------------------------------------------------------------------- 1 | BUILDER_PUBLIC_KEY=42ef6b1448cf4254b7f51d83ca88d9d1 -------------------------------------------------------------------------------- /examples/vue/nuxt-2/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": false, 3 | "singleQuote": true 4 | } 5 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/shims-builder.d.ts: -------------------------------------------------------------------------------- 1 | declare module '@builder.io/sdk-vue' {} 2 | -------------------------------------------------------------------------------- /packages/commerce-plugin-tools/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | declare module '@builder.io/app-context'; 2 | -------------------------------------------------------------------------------- /packages/data-plugin-tools/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | declare module '@builder.io/app-context'; 2 | -------------------------------------------------------------------------------- /packages/shopify/.npmignore: -------------------------------------------------------------------------------- 1 | /index.ts 2 | /index.js 3 | *.log 4 | /src 5 | .rpt2_cache 6 | -------------------------------------------------------------------------------- /plugins/algolia/src/constants.ts: -------------------------------------------------------------------------------- 1 | export const pluginId = '@builder.io/plugin-algolia'; 2 | -------------------------------------------------------------------------------- /plugins/example-data-plugin/src/typing.d.ts: -------------------------------------------------------------------------------- 1 | declare module '@builder.io/app-context'; 2 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/site/.env.template: -------------------------------------------------------------------------------- 1 | BUILDER_PUBLIC_KEY=e7eb284a1bc549c8856f32d1fc7a44cf -------------------------------------------------------------------------------- /examples/next-js-builder-site/src/constants/use-codegen.ts: -------------------------------------------------------------------------------- 1 | export const USE_CODEGEN = false; 2 | -------------------------------------------------------------------------------- /examples/svelte/sveltekit/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./.svelte-kit/tsconfig.json" 3 | } 4 | -------------------------------------------------------------------------------- /examples/vue/nuxt-2-old-sdk/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": false, 3 | "singleQuote": true 4 | } 5 | -------------------------------------------------------------------------------- /packages/angular/src/main.server.ts: -------------------------------------------------------------------------------- 1 | export { AppServerModule } from './app/app.server.module'; 2 | -------------------------------------------------------------------------------- /packages/storybook/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | *.log 4 | .idea 5 | storybook-static 6 | -------------------------------------------------------------------------------- /starters/create-builder/nextjs/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | 3 | *.ts text eol=lf 4 | *.json text eol=lf 5 | *.md text eol=lf 6 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/pages/README.md: -------------------------------------------------------------------------------- 1 | Put here theme-specific pages to override default ones -------------------------------------------------------------------------------- /packages/core/src/typings/index.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.json'; 2 | declare module 'es6-promise'; 3 | -------------------------------------------------------------------------------- /packages/sdks/overrides/react-native/src/constants/target.ts: -------------------------------------------------------------------------------- 1 | export const TARGET = 'reactNative'; 2 | -------------------------------------------------------------------------------- /packages/widgets/async.d.ts: -------------------------------------------------------------------------------- 1 | export * from './dist/builder-widgets-async/builder-widgets-async'; 2 | -------------------------------------------------------------------------------- /packages/widgets/async.js: -------------------------------------------------------------------------------- 1 | export * from './dist/builder-widgets-async/builder-widgets-async.js'; 2 | -------------------------------------------------------------------------------- /examples/astro-solidjs/.npmrc: -------------------------------------------------------------------------------- 1 | # Expose Astro dependencies for `pnpm` users 2 | shamefully-hoist=true 3 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/admin/README.md: -------------------------------------------------------------------------------- 1 | Admin Site for managing and creating store spaces in builder 2 | -------------------------------------------------------------------------------- /packages/amp/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /packages/email/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /packages/personalization-utils/.gitignore: -------------------------------------------------------------------------------- 1 | src/*.js 2 | src/*.d.ts 3 | node_modules 4 | dist 5 | public 6 | -------------------------------------------------------------------------------- /packages/react/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /packages/sdks/src/components/render-content/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from './render-content.lite'; 2 | -------------------------------------------------------------------------------- /packages/vue/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: ['@vue/cli-plugin-babel/preset'], 3 | }; 4 | -------------------------------------------------------------------------------- /plugins/swell/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /plugins/vtex/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /starters/create-builder/create-react-app/src/react-app-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /examples/next-js-builder-site/.commitlintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["@commitlint/config-conventional"] 3 | } 4 | -------------------------------------------------------------------------------- /examples/vue/vue-2/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: ['@vue/cli-plugin-babel/preset'], 3 | }; 4 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/components/README.md: -------------------------------------------------------------------------------- 1 | Put here theme-specific components to override default ones -------------------------------------------------------------------------------- /packages/fiddle/src/builder-fiddle.ts: -------------------------------------------------------------------------------- 1 | import '@webcomponents/custom-elements'; 2 | export * from './core'; 3 | -------------------------------------------------------------------------------- /packages/fiddle/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /packages/shopify/types.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.liquid' { 2 | const str: string; 3 | export = str; 4 | } 5 | -------------------------------------------------------------------------------- /packages/widgets/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /plugins/algolia/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /plugins/bigcommerce/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /plugins/cloudinary/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /plugins/commercejs/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /plugins/contentful/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /plugins/elasticpath/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /plugins/kontent-ai/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /plugins/localized-preview/src/constants.ts: -------------------------------------------------------------------------------- 1 | export const pluginId = '@builder.io/plugin-localized-preview' 2 | -------------------------------------------------------------------------------- /plugins/magento2/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /plugins/rich-text/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /plugins/sfcc-sync/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /plugins/shopify/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /plugins/smartling/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /examples/angular/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true, 3 | }; 4 | -------------------------------------------------------------------------------- /examples/angular/src/styles.css: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/site/blocks/README.md: -------------------------------------------------------------------------------- 1 | # Blocks 2 | 3 | React components¸ defined for use in Builder 4 | -------------------------------------------------------------------------------- /examples/next-js-builder-site/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["next/babel", "@emotion/babel-preset-css-prop"] 3 | } 4 | -------------------------------------------------------------------------------- /examples/next-js-theme-ui/global.d.ts: -------------------------------------------------------------------------------- 1 | // Declarations for modules without types 2 | declare module 'next-themes' 3 | -------------------------------------------------------------------------------- /packages/angular/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true, 3 | }; 4 | -------------------------------------------------------------------------------- /packages/plugin-loader/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /packages/react/examples/next-js/README.md: -------------------------------------------------------------------------------- 1 | # 👉 This example has moved to [examples/next-js](/examples/next-js) 2 | -------------------------------------------------------------------------------- /packages/sdks/.yarnrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | yarnPath: ../../.yarn/releases/yarn-3.2.0.cjs 3 | nodeLinker: 'node-modules' 4 | -------------------------------------------------------------------------------- /packages/swift/src/Shared/Schemas/BuilderBlockResponsiveStyles.swift: -------------------------------------------------------------------------------- 1 | // Responsive style object for BuilderBlock 2 | -------------------------------------------------------------------------------- /packages/utils/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | preset: 'ts-jest', 3 | testEnvironment: 'node', 4 | }; 5 | -------------------------------------------------------------------------------- /plugins/async-dropdown/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /plugins/commercetools/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /plugins/contentstack/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /plugins/elasticpath-pcm/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /plugins/sfcc-headless/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /plugins/shopify-demo/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /starters/gatsby/README.md: -------------------------------------------------------------------------------- 1 | # This starter has moved [here](https://github.com/BuilderIO/gatsby-starter-builder) 2 | -------------------------------------------------------------------------------- /examples/next-js-simple/.env.development: -------------------------------------------------------------------------------- 1 | # BUILDER_PUBLIC_KEY=f1a790f8c3204b3b8c5c1795aeac4660 2 | BUILDER_PUBLIC_KEY= 3 | -------------------------------------------------------------------------------- /examples/next-js-theme-ui/config/env.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | isDev: process.env.NODE_ENV === 'development', 3 | } 4 | -------------------------------------------------------------------------------- /examples/svelte/sveltekit/static/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /packages/angular/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 100, 3 | "trailingComma": "es5", 4 | "singleQuote": true 5 | } 6 | -------------------------------------------------------------------------------- /packages/angular/examples/basic-site/README.md: -------------------------------------------------------------------------------- 1 | # 👉 This example has moved to [examples/angular](/examples/angular) 2 | -------------------------------------------------------------------------------- /packages/data-plugin-tools/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /packages/personalization-utils/configurator/.gitignore: -------------------------------------------------------------------------------- 1 | src/*.js 2 | src/*.d.ts 3 | node_modules 4 | dist 5 | public 6 | -------------------------------------------------------------------------------- /packages/shopify/.gitignore: -------------------------------------------------------------------------------- 1 | /index.js 2 | node_modules 3 | *.log 4 | js/*.js 5 | js/*.js.map 6 | track.js 7 | track.js.map -------------------------------------------------------------------------------- /packages/storybook/src/config.ts: -------------------------------------------------------------------------------- 1 | export const config = { 2 | addonId: 'builder', 3 | title: 'Builder.io', 4 | }; 5 | -------------------------------------------------------------------------------- /plugins/async-dropdown/src/models/IOption.tsx: -------------------------------------------------------------------------------- 1 | export interface IOption { 2 | name: string; 3 | value: any; 4 | } 5 | -------------------------------------------------------------------------------- /plugins/example-action-plugin/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /plugins/example-data-plugin/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /examples/angular-universal/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true, 3 | }; 4 | -------------------------------------------------------------------------------- /examples/angular-universal/src/styles.css: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /examples/angular/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/angular/src/favicon.ico -------------------------------------------------------------------------------- /examples/next-js-theme-ui/config/theme.ts: -------------------------------------------------------------------------------- 1 | import * as themes from '@theme-ui/presets' 2 | 3 | export default themes as any 4 | -------------------------------------------------------------------------------- /examples/svelte-design-system/static/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /packages/angular/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/packages/angular/src/favicon.ico -------------------------------------------------------------------------------- /packages/cli/src/index.test.ts: -------------------------------------------------------------------------------- 1 | import test from 'ava'; 2 | 3 | test('it works', async t => { 4 | t.true(true); 5 | }); 6 | -------------------------------------------------------------------------------- /packages/commerce-plugin-tools/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/docs/interfaces/ParamsMap.md: -------------------------------------------------------------------------------- 1 | # Interface: ParamsMap 2 | 3 | ## Indexable 4 | 5 | ▪ [key: `string`]: `any` 6 | -------------------------------------------------------------------------------- /packages/sdks/.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | output/ 3 | jest.config.js 4 | .eslintrc.js 5 | mitosis.config.js 6 | tsconfig.json -------------------------------------------------------------------------------- /packages/storybook/src/index.tsx: -------------------------------------------------------------------------------- 1 | export { builderDecorator } from './preview'; 2 | export { getDefaultProps } from './util'; 3 | -------------------------------------------------------------------------------- /plugins/sfcc-headless/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | declare module '@builder.io/app-context'; 2 | declare module 'safe-localstorage'; 3 | -------------------------------------------------------------------------------- /starters/react/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/starters/react/public/favicon.ico -------------------------------------------------------------------------------- /examples/svelte/sveltekit/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "trailingComma": "none", 4 | "printWidth": 100 5 | } 6 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/helpers/README.md: -------------------------------------------------------------------------------- 1 | Put here platform-specific, non-agnostic functions that overwrite default code. 2 | -------------------------------------------------------------------------------- /packages/angular/src/app/modules/builder/components/builder-content/builder-content.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /packages/personalization-utils/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | preset: 'ts-jest', 3 | testEnvironment: 'node', 4 | }; 5 | -------------------------------------------------------------------------------- /plugins/contentstack/screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/plugins/contentstack/screenshot.jpg -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 100, 3 | "trailingComma": "es5", 4 | "singleQuote": true, 5 | "arrowParens": "avoid" 6 | } 7 | -------------------------------------------------------------------------------- /examples/next-js-amp/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/next-js-amp/public/favicon.ico -------------------------------------------------------------------------------- /examples/react-native/assets/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/react-native/assets/icon.png -------------------------------------------------------------------------------- /examples/react-native/assets/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/react-native/assets/splash.png -------------------------------------------------------------------------------- /examples/vue/vue-2/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-2/public/favicon.ico -------------------------------------------------------------------------------- /examples/vue/vue-2/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-2/src/assets/logo.png -------------------------------------------------------------------------------- /examples/vue/vue-3/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-3/public/favicon.ico -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/shims-vue.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.vue' { 2 | import Vue from 'vue'; 3 | export default Vue; 4 | } 5 | -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "lerna": "2.9.0", 3 | "packages": ["packages/*", "packages/*/examples/*"], 4 | "version": "independent" 5 | } 6 | -------------------------------------------------------------------------------- /packages/angular/examples/universal/README.md: -------------------------------------------------------------------------------- 1 | # 👉 This example has moved to [examples/angular-universal](/examples/angular-universal) 2 | -------------------------------------------------------------------------------- /packages/angular/src/app/modules/builder/components/builder-content/builder-content.component.css: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/app-context/index.js: -------------------------------------------------------------------------------- 1 | // The actual content of this module gets subbed out in the plugin environment 2 | module.exports = {}; 3 | -------------------------------------------------------------------------------- /starters/create-builder/create-react-app/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /examples/astro-solidjs/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/astro-solidjs/public/favicon.ico -------------------------------------------------------------------------------- /examples/next-js-theme-ui/public/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/next-js-theme-ui/public/icon.png -------------------------------------------------------------------------------- /examples/react-native/assets/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/react-native/assets/favicon.png -------------------------------------------------------------------------------- /examples/solid-js/src/assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/solid-js/src/assets/favicon.ico -------------------------------------------------------------------------------- /packages/android/sdk/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | My Application 3 | -------------------------------------------------------------------------------- /packages/angular/src/app/modules/builder/components/builder-blocks/builder-blocks.component.css: -------------------------------------------------------------------------------- 1 | :host { 2 | /* all: inherit; */ 3 | } 4 | -------------------------------------------------------------------------------- /packages/angular/src/app/modules/builder/components/builder-component/builder-component.component.css: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/sdks/overrides/react-native/src/functions/is-react-native.ts: -------------------------------------------------------------------------------- 1 | export function isReactNative(): boolean { 2 | return true; 3 | } 4 | -------------------------------------------------------------------------------- /packages/sdks/src/functions/fast-clone.ts: -------------------------------------------------------------------------------- 1 | export const fastClone = (obj: T): T => 2 | JSON.parse(JSON.stringify(obj)); 3 | -------------------------------------------------------------------------------- /packages/swift/src/Shared/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "author": "xcode", 4 | "version": 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/angular-universal/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/angular-universal/src/favicon.ico -------------------------------------------------------------------------------- /examples/embed-starter-kit/admin/types.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace JSX { 2 | interface IntrinsicElements { 3 | 'builder-app': any 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /examples/next-js-builder-site/src/constants/footer-builder-entry-id.ts: -------------------------------------------------------------------------------- 1 | export const footerBuilderEntryId = '9eb19487e49d4251ae17e09ec3fd2a3a'; 2 | -------------------------------------------------------------------------------- /examples/next-js-theme-ui/public/jacket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/next-js-theme-ui/public/jacket.png -------------------------------------------------------------------------------- /examples/react-native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "expo/tsconfig.base", 3 | "compilerOptions": { 4 | "strict": true 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/svelte/sveltekit/static/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/svelte/sveltekit/static/favicon.png -------------------------------------------------------------------------------- /packages/amp/README.md: -------------------------------------------------------------------------------- 1 | # Builder Amp 2 | 3 | Components for building AMP pages in Builder 4 | 5 | More info (and email support) coming soon! 6 | -------------------------------------------------------------------------------- /packages/codegen/.gitignore: -------------------------------------------------------------------------------- 1 | *.js 2 | !/index.js 3 | !test/fileTransformation/*.js 4 | !test/compile/index.js 5 | npm-debug.log* 6 | node_modules 7 | -------------------------------------------------------------------------------- /packages/sdks/src/types/typescript.ts: -------------------------------------------------------------------------------- 1 | export type Nullable = T | null | undefined; 2 | 3 | export type Dictionary = { [key: string]: T }; 4 | -------------------------------------------------------------------------------- /examples/next-js-amp/pages/preview.js: -------------------------------------------------------------------------------- 1 | export const config = { amp: false }; 2 | 3 | import page from './[[...path]]'; 4 | 5 | export default page; 6 | -------------------------------------------------------------------------------- /examples/next-js-builder-site/src/constants/theme.ts: -------------------------------------------------------------------------------- 1 | export const theme = { 2 | colors: { 3 | primary: 'rgba(28, 151, 204, 1)', 4 | }, 5 | }; 6 | -------------------------------------------------------------------------------- /examples/next-js-theme-ui/docs/ROADMAP.md: -------------------------------------------------------------------------------- 1 | # Roadmap 2 | 3 | - Move to theme-ui or chakra-ui or any better more accessible framework than tailwind. 4 | -------------------------------------------------------------------------------- /examples/react-native/assets/adaptive-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/react-native/assets/adaptive-icon.png -------------------------------------------------------------------------------- /examples/storybook/src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: sans-serif; 3 | } 4 | 5 | .loading { 6 | padding: 50px; 7 | text-align: center; 8 | } 9 | -------------------------------------------------------------------------------- /examples/svelte-design-system/src/lib/variables.ts: -------------------------------------------------------------------------------- 1 | export const variables = { 2 | builderKey: import.meta.env.VITE_BUILDER_PUBLIC_API_KEY 3 | }; 4 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/icon.png -------------------------------------------------------------------------------- /packages/angular/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ### 2.0.3 2 | 3 | - update `@builder.io/sdk` to `1.1.26` (adds bugfix to `noTrack` correctly ignoring session cookies) 4 | -------------------------------------------------------------------------------- /packages/angular/src/app/modules/builder/components/builder-blocks-outlet/builder-blocks-outlet.component.css: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/angular/src/app/modules/builder/components/builder-blocks-outlet/builder-blocks-outlet.component.html: -------------------------------------------------------------------------------- 1 |
2 | -------------------------------------------------------------------------------- /packages/commerce-plugin-tools/src/functions/fast-clone.ts: -------------------------------------------------------------------------------- 1 | export const fastClone = (obj: T) => JSON.parse(JSON.stringify(obj)); 2 | -------------------------------------------------------------------------------- /packages/personalization-utils/src/index.ts: -------------------------------------------------------------------------------- 1 | export { getUserAttributes } from './utils'; 2 | export { PersonalizedURL } from './personalized-url'; 3 | -------------------------------------------------------------------------------- /packages/react/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ### 1.1.50 2 | 3 | - update `@builder.io/sdk` to `1.1.26` (adds bugfix to `noTrack` correctly ignoring session cookies) 4 | -------------------------------------------------------------------------------- /packages/sdks/overrides/vue/vue2/src/functions/event-handler-name.ts: -------------------------------------------------------------------------------- 1 | export const getEventHandlerName = (key: string) => `v-on:${key.toLowerCase()}`; 2 | -------------------------------------------------------------------------------- /packages/sdks/overrides/vue/vue3/src/functions/event-handler-name.ts: -------------------------------------------------------------------------------- 1 | export const getEventHandlerName = (key: string) => `v-on:${key.toLowerCase()}`; 2 | -------------------------------------------------------------------------------- /starters/create-builder/nextjs/public/shoe.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/starters/create-builder/nextjs/public/shoe.glb -------------------------------------------------------------------------------- /examples/angular/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | /* SystemJS module definition */ 2 | declare var module: NodeModule; 3 | interface NodeModule { 4 | id: string; 5 | } 6 | -------------------------------------------------------------------------------- /examples/next-js-builder-site/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "trailingComma": "all", 3 | "singleQuote": true, 4 | "printWidth": 80, 5 | "tabWidth": 2 6 | } 7 | -------------------------------------------------------------------------------- /examples/next-js-theme-ui/public/cursor-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/next-js-theme-ui/public/cursor-left.png -------------------------------------------------------------------------------- /examples/next-js-theme-ui/public/cursor-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/next-js-theme-ui/public/cursor-right.png -------------------------------------------------------------------------------- /examples/next-js-theme-ui/public/icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/next-js-theme-ui/public/icon-144x144.png -------------------------------------------------------------------------------- /examples/next-js-theme-ui/public/icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/next-js-theme-ui/public/icon-192x192.png -------------------------------------------------------------------------------- /examples/next-js-theme-ui/public/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/next-js-theme-ui/public/icon-512x512.png -------------------------------------------------------------------------------- /examples/svelte-design-system/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "useTabs": true, 3 | "singleQuote": true, 4 | "trailingComma": "none", 5 | "printWidth": 100 6 | } 7 | -------------------------------------------------------------------------------- /examples/svelte-design-system/static/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/svelte-design-system/static/favicon.png -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/favicon.ico -------------------------------------------------------------------------------- /packages/core/typedoc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | entryPoints: ['./src/builder.class.ts'], 3 | out: 'docs', 4 | exclude: ['**/*.test.tsx?'], 5 | }; 6 | -------------------------------------------------------------------------------- /packages/sdks/src/functions/convert-style-object.ts: -------------------------------------------------------------------------------- 1 | export const convertStyleObject = (obj?: Partial) => { 2 | return obj; 3 | }; 4 | -------------------------------------------------------------------------------- /packages/swift/.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | *.pbxuser 3 | *.mode1v3 4 | *.mode2v3 5 | *.perspectivev3 6 | *.xcuserstate 7 | project.xcworkspace/ 8 | xcuserdata/ 9 | -------------------------------------------------------------------------------- /starters/create-builder/nextjs/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/starters/create-builder/nextjs/public/favicon.ico -------------------------------------------------------------------------------- /examples/next-js-theme-ui/public/slider-arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/next-js-theme-ui/public/slider-arrows.png -------------------------------------------------------------------------------- /examples/svelte/sveltekit/static/svelte-welcome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/svelte/sveltekit/static/svelte-welcome.png -------------------------------------------------------------------------------- /packages/angular/src/assets/fonts/averta-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/packages/angular/src/assets/fonts/averta-bold.woff -------------------------------------------------------------------------------- /packages/webcomponents/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ### 1.1.46 2 | 3 | - update `@builder.io/sdk` to `1.1.26` (adds bugfix to `noTrack` correctly ignoring session cookies) 4 | -------------------------------------------------------------------------------- /examples/angular-universal/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | /* SystemJS module definition */ 2 | declare var module: NodeModule; 3 | interface NodeModule { 4 | id: string; 5 | } 6 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/site/README.md: -------------------------------------------------------------------------------- 1 | # Next.js with Builder site example 2 | 3 | ## Local development 4 | 5 | ``` 6 | npm install 7 | npm run dev 8 | ``` 9 | -------------------------------------------------------------------------------- /examples/next-js-builder-site/public/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/next-js-builder-site/public/assets/logo.png -------------------------------------------------------------------------------- /examples/vue/vue-3/src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue'; 2 | import App from './App.vue'; 3 | 4 | const app = createApp(App); 5 | 6 | app.mount('#app'); 7 | -------------------------------------------------------------------------------- /packages/android/sdk/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/packages/android/sdk/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /packages/angular/src/assets/fonts/averta-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/packages/angular/src/assets/fonts/averta-regular.woff -------------------------------------------------------------------------------- /packages/angular/src/assets/fonts/averta-semibold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/packages/angular/src/assets/fonts/averta-semibold.woff -------------------------------------------------------------------------------- /packages/app-context/README.md: -------------------------------------------------------------------------------- 1 | # Builder App Context 2 | 3 | Application context typings for [Builder plugins](https://www.builder.io/c/docs/extending/plugins) 4 | -------------------------------------------------------------------------------- /packages/react/src/components/no-wrap.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export const NoWrap = (props: React.ComponentPropsWithoutRef) => props.children; 4 | -------------------------------------------------------------------------------- /plugins/localized-preview/src/models/localization.ts: -------------------------------------------------------------------------------- 1 | export const localization = { 2 | name: 'localization', 3 | kind: 'data', 4 | hideFromUI: true, 5 | } 6 | -------------------------------------------------------------------------------- /examples/react-native/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = function (api) { 2 | api.cache(true); 3 | return { 4 | presets: ['babel-preset-expo'], 5 | }; 6 | }; 7 | -------------------------------------------------------------------------------- /examples/svelte-design-system/static/svelte-welcome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/svelte-design-system/static/svelte-welcome.png -------------------------------------------------------------------------------- /examples/svelte-design-system/static/svelte-welcome.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/svelte-design-system/static/svelte-welcome.webp -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/homepage/apple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/homepage/apple.png -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/homepage/google.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/homepage/google.png -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/icons/langs/de.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/icons/langs/de.webp -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/icons/langs/en.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/icons/langs/en.webp -------------------------------------------------------------------------------- /packages/core/.gitignore: -------------------------------------------------------------------------------- 1 | /index.js 2 | node_modules 3 | *.log 4 | 5 | docs/README.md 6 | docs/modules.md 7 | docs/.nojekyll 8 | docs/classes 9 | docs/interfaces/Action.md -------------------------------------------------------------------------------- /packages/sdks/src/functions/is-browser.ts: -------------------------------------------------------------------------------- 1 | export function isBrowser(): boolean { 2 | return typeof window !== 'undefined' && typeof document !== 'undefined'; 3 | } 4 | -------------------------------------------------------------------------------- /packages/storybook/src/types/react-element-to-jsx-string.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace JSX { 2 | interface IntrinsicElements { 3 | 'builder-editor': any; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /plugins/shopify-demo/README.md: -------------------------------------------------------------------------------- 1 | # Builder.io Shopify Demo plugin 2 | 3 | Only intended for demo purposes, for production use [`@builder.io/plugin-shopify`](../shopify) 4 | -------------------------------------------------------------------------------- /examples/gatsby-minimal-starter/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": true, 3 | "tabWidth": 2, 4 | "printWidth": 80, 5 | "singleQuote": true, 6 | "trailingComma": "none" 7 | } 8 | -------------------------------------------------------------------------------- /examples/next-js-builder-site/public/assets/logo-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/next-js-builder-site/public/assets/logo-white.png -------------------------------------------------------------------------------- /examples/next-js-theme-ui/docs/images/private-key-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/next-js-theme-ui/docs/images/private-key-flow.png -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/homepage/bannerA.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/homepage/bannerA.webp -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/homepage/bannerB.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/homepage/bannerB.webp -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/homepage/bannerC.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/homepage/bannerC.webp -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/homepage/bannerD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/homepage/bannerD.png -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/homepage/bannerE.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/homepage/bannerE.webp -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/homepage/bannerF.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/homepage/bannerF.webp -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/homepage/bannerG.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/homepage/bannerG.webp -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/homepage/bannerH.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/homepage/bannerH.webp -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/homepage/imageAd.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/homepage/imageAd.webp -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/homepage/imageAm.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/homepage/imageAm.webp -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/homepage/imageBd.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/homepage/imageBd.webp -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/homepage/imageBm.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/homepage/imageBm.webp -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/homepage/imageCd.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/homepage/imageCd.webp -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/homepage/imageCm.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/homepage/imageCm.webp -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/homepage/imageDd.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/homepage/imageDd.webp -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/homepage/imageDm.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/homepage/imageDm.webp -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/homepage/productA.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/homepage/productA.webp -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/homepage/productB.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/homepage/productB.webp -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/homepage/productC.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/homepage/productC.webp -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/thank-you/bannerD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/thank-you/bannerD.png -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/thank-you/bannerM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/thank-you/bannerM.png -------------------------------------------------------------------------------- /packages/personalization-utils/configurator/src/index.ts: -------------------------------------------------------------------------------- 1 | export { ContextMenu, ContextMenuProps } from './context-menu'; 2 | export { getAttributes } from './get-attributes'; 3 | -------------------------------------------------------------------------------- /packages/sdks/src/blocks/text/text.lite.tsx: -------------------------------------------------------------------------------- 1 | export default function Text(props: { text: string }) { 2 | return
; 3 | } 4 | -------------------------------------------------------------------------------- /starters/create-builder/create-react-app/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/starters/create-builder/create-react-app/public/favicon.ico -------------------------------------------------------------------------------- /starters/create-builder/create-react-app/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/starters/create-builder/create-react-app/public/logo192.png -------------------------------------------------------------------------------- /starters/create-builder/create-react-app/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/starters/create-builder/create-react-app/public/logo512.png -------------------------------------------------------------------------------- /examples/next-js-headless-shopify/README.md: -------------------------------------------------------------------------------- 1 | For the complete starter kit for Shopify + Next.js + Builder check out the starter [here](https://github.com/BuilderIO/nextjs-shopify) 2 | -------------------------------------------------------------------------------- /examples/next-js-theme-ui/docs/images/shopify-permissions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/next-js-theme-ui/docs/images/shopify-permissions.png -------------------------------------------------------------------------------- /examples/svelte/sveltekit/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /build 4 | /.svelte-kit 5 | /package 6 | .env 7 | .env.* 8 | !.env.example 9 | .vercel 10 | .output 11 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/homepage/newsletter.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/homepage/newsletter.webp -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/productpage/productA.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/productpage/productA.jpg -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/productpage/productB.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/productpage/productB.jpg -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/static/productpage/productM.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/vue/vue-storefront-2/static/productpage/productM.jpg -------------------------------------------------------------------------------- /packages/react/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | compiled 9 | .awcache 10 | .rpt2_cache 11 | docs 12 | -------------------------------------------------------------------------------- /packages/sdks/overrides/vue/vue2/src/functions/get-block-styles.ts: -------------------------------------------------------------------------------- 1 | export function getBlockStyles() { 2 | // Noop, we don't want inline styles for Vue 3 | return {}; 4 | } 5 | -------------------------------------------------------------------------------- /packages/sdks/overrides/vue/vue3/src/functions/get-block-styles.ts: -------------------------------------------------------------------------------- 1 | export function getBlockStyles() { 2 | // Noop, we don't want inline styles for Vue 3 | return {}; 4 | } 5 | -------------------------------------------------------------------------------- /packages/sdks/src/functions/camel-to-kebab-case.ts: -------------------------------------------------------------------------------- 1 | export const camelToKebabCase = (string: string) => 2 | string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, '$1-$2').toLowerCase(); 3 | -------------------------------------------------------------------------------- /packages/shopify/test/components/__snapshots__/Assign.test.tsx.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`Assign renders snapshot correctly 1`] = `null`; 4 | -------------------------------------------------------------------------------- /packages/shopify/test/components/__snapshots__/Capture.test.tsx.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`Capture renders snapshot correctly 1`] = `null`; 4 | -------------------------------------------------------------------------------- /packages/webcomponents/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "no-floating-promises": false 4 | }, 5 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 6 | } 7 | -------------------------------------------------------------------------------- /plugins/localized-preview/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "no-floating-promises": false 4 | }, 5 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 6 | } 7 | -------------------------------------------------------------------------------- /examples/svelte-design-system/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /build 4 | /.svelte-kit 5 | /package 6 | .env 7 | .env.* 8 | !.env.example 9 | .vercel 10 | .output 11 | -------------------------------------------------------------------------------- /packages/amp/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /packages/amp/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | compiled 9 | .awcache 10 | .rpt2_cache 11 | docs 12 | /src 13 | -------------------------------------------------------------------------------- /packages/vue/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | compiled 9 | .awcache 10 | .rpt2_cache 11 | docs 12 | /src 13 | -------------------------------------------------------------------------------- /plugins/cloudinary/src/setupEnzyme.ts: -------------------------------------------------------------------------------- 1 | import { configure } from 'enzyme'; 2 | import EnzymeAdapter from 'enzyme-adapter-react-16'; 3 | 4 | configure({ adapter: new EnzymeAdapter() }); 5 | -------------------------------------------------------------------------------- /plugins/example-app-simple/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "no-floating-promises": false 4 | }, 5 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 6 | } 7 | -------------------------------------------------------------------------------- /plugins/vtex/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /examples/angular/src/app/foo.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'foo', 5 | template: '', 6 | }) 7 | export class FooComponent {} 8 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/plugin/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "no-floating-promises": false 4 | }, 5 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 6 | } 7 | -------------------------------------------------------------------------------- /examples/next-js-theme-ui/docs/images/builder-io-organizations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/next-js-theme-ui/docs/images/builder-io-organizations.png -------------------------------------------------------------------------------- /examples/next-js-theme-ui/docs/images/shopify-api-key-mapping.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/next-js-theme-ui/docs/images/shopify-api-key-mapping.png -------------------------------------------------------------------------------- /examples/next-js-theme-ui/docs/images/shopify-private-app-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/examples/next-js-theme-ui/docs/images/shopify-private-app-flow.png -------------------------------------------------------------------------------- /examples/storybook/.storybook/main.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | stories: ['../src/**/*.stories.jsx'], 3 | addons: ['@storybook/preset-create-react-app', '@builder.io/storybook'], 4 | }; 5 | -------------------------------------------------------------------------------- /packages/android/sdk/app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/packages/android/sdk/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /packages/android/sdk/app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/packages/android/sdk/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /packages/angular/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "/node_modules/ng-packagr/lib/ts/conf/tsconfig.ngc.json", 3 | "compilerOptions": { 4 | "skipLibCheck": true 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/email/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /packages/email/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | compiled 9 | .awcache 10 | .rpt2_cache 11 | docs 12 | /src 13 | -------------------------------------------------------------------------------- /packages/fiddle/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /packages/vue/src/main.js: -------------------------------------------------------------------------------- 1 | import RenderContent from './components/RenderContent'; 2 | import { builder, Builder } from '@builder.io/sdk'; 3 | 4 | export { RenderContent, builder, Builder }; 5 | -------------------------------------------------------------------------------- /packages/widgets/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /packages/widgets/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | compiled 9 | .awcache 10 | .rpt2_cache 11 | docs 12 | /src 13 | -------------------------------------------------------------------------------- /plugins/algolia/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /plugins/commercetools/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | declare module '@builder.io/app-context'; 2 | declare module '@commercetools/sdk-client'; 3 | declare module '@commercetools/api-request-builder'; 4 | -------------------------------------------------------------------------------- /plugins/magento2/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /plugins/rich-text/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /plugins/sfcc-sync/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /plugins/shopify/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /plugins/smartling/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /plugins/swell/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /examples/astro-solidjs/tailwind.config.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | content: ['./src/**/*.{astro,html,js,jsx,svelte,ts,tsx,vue}'], 3 | theme: { 4 | extend: {}, 5 | }, 6 | plugins: [], 7 | } 8 | -------------------------------------------------------------------------------- /packages/android/sdk/app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/packages/android/sdk/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /packages/android/sdk/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/packages/android/sdk/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /packages/android/sdk/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/packages/android/sdk/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /packages/plugin-loader/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /packages/sdks/overrides/solid/src/constants/target.ts: -------------------------------------------------------------------------------- 1 | /** This file should be overriden for each framework. Ideally this would be implemented in Mitosis. */ 2 | export const TARGET = 'solid'; 3 | -------------------------------------------------------------------------------- /packages/sdks/overrides/svelte/src/constants/target.ts: -------------------------------------------------------------------------------- 1 | /** This file should be overriden for each framework. Ideally this would be implemented in Mitosis. */ 2 | export const TARGET = 'svelte'; 3 | -------------------------------------------------------------------------------- /packages/sdks/overrides/vue/vue2/src/constants/target.ts: -------------------------------------------------------------------------------- 1 | /** This file should be overriden for each framework. Ideally this would be implemented in Mitosis. */ 2 | export const TARGET = 'vue2'; 3 | -------------------------------------------------------------------------------- /packages/sdks/overrides/vue/vue3/src/constants/target.ts: -------------------------------------------------------------------------------- 1 | /** This file should be overriden for each framework. Ideally this would be implemented in Mitosis. */ 2 | export const TARGET = 'vue3'; 3 | -------------------------------------------------------------------------------- /packages/sdks/scripts/release-sdk.sh: -------------------------------------------------------------------------------- 1 | # doing this for each SDK is getting tedious, and I'm lazy. 2 | echo "releasing SDK $1"; 3 | cd "output/$1" && npm run release:dev && echo "released $1"; 4 | -------------------------------------------------------------------------------- /packages/sdks/src/functions/is-iframe.ts: -------------------------------------------------------------------------------- 1 | import { isBrowser } from './is-browser.js'; 2 | 3 | export function isIframe(): boolean { 4 | return isBrowser() && window.self !== window.top; 5 | } 6 | -------------------------------------------------------------------------------- /packages/utils/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './get-async-props'; 2 | export * from './extend-async-props'; 3 | export * from './transform-components'; 4 | export * from './translation-helpers'; 5 | -------------------------------------------------------------------------------- /packages/webcomponents/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /packages/webcomponents/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | compiled 9 | .awcache 10 | .rpt2_cache 11 | docs 12 | /src 13 | -------------------------------------------------------------------------------- /plugins/async-dropdown/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /plugins/bigcommerce/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /plugins/cloudinary/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /plugins/commercejs/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /plugins/commercetools/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /plugins/contentful/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /plugins/contentstack/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /plugins/elasticpath/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /plugins/example-app-campaign-builder/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "no-floating-promises": false 4 | }, 5 | "extends": ["tslint-config-standard", "tslint-config-prettier"] 6 | } 7 | -------------------------------------------------------------------------------- /plugins/kontent-ai/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | cert -------------------------------------------------------------------------------- /plugins/sfcc-headless/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /plugins/sfcc-sync/src/utils.ts: -------------------------------------------------------------------------------- 1 | export const getSFCCWebhookIndex = (model: { webhooks: Array }) => 2 | model?.webhooks.findIndex(webhook => webhook.url?.includes('sfcc-sync/webhook')); 3 | -------------------------------------------------------------------------------- /plugins/shopify-demo/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /examples/angular-universal/src/app/foo.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'foo', 5 | template: '', 6 | }) 7 | export class FooComponent {} 8 | -------------------------------------------------------------------------------- /examples/material-ui/README.md: -------------------------------------------------------------------------------- 1 | # Builder.io example with Material UI 2 | 3 | > This example has moved! Now see our [live site source code here](../next-js-builder-site) using Next.js + Material UI! 4 | -------------------------------------------------------------------------------- /examples/vue/vue-2/src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | import App from './App.vue'; 3 | 4 | Vue.config.productionTip = false; 5 | 6 | new Vue({ 7 | render: h => h(App), 8 | }).$mount('#app'); 9 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/helpers/category/getCategoryPath.js: -------------------------------------------------------------------------------- 1 | export function getCategoryPath(category, context = this) { 2 | return `/c/${context.$route.params.slug_1}/${category.slug}`; 3 | } 4 | -------------------------------------------------------------------------------- /packages/angular/src/app/modules/builder/components/builder-blocks/builder-blocks.component.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | -------------------------------------------------------------------------------- /packages/data-plugin-tools/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /packages/sdks/src/index-helpers/top-of-file.ts: -------------------------------------------------------------------------------- 1 | // no-op 2 | // this file exists in case a target needs to add logic to the top of the index file in an 3 | // override. 4 | export default undefined; 5 | -------------------------------------------------------------------------------- /packages/webcomponents/bootstrap.js: -------------------------------------------------------------------------------- 1 | // TODO: import builder sdk (make smaller if can) and fetch html then load System react (builer, react external) 2 | System.import('./builder-webcomponents.js'); 3 | -------------------------------------------------------------------------------- /plugins/elasticpath-pcm/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /plugins/example-app-simple/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /plugins/example-data-plugin/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /plugins/localized-preview/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /packages/android/sdk/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/packages/android/sdk/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /packages/android/sdk/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/packages/android/sdk/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /packages/android/sdk/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/packages/android/sdk/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /packages/android/sdk/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/packages/android/sdk/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /packages/commerce-plugin-tools/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /packages/core/src/constants/builder.ts: -------------------------------------------------------------------------------- 1 | import { Builder } from '../builder.class'; 2 | 3 | export const builder = new Builder(null, undefined, undefined, true); 4 | Builder.singletonInstance = builder; 5 | -------------------------------------------------------------------------------- /plugins/example-action-plugin/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /plugins/sfcc-sync/README.md: -------------------------------------------------------------------------------- 1 | This plugin connects to your Salesforce Commerce Cloud instance and synchronizes the content of any model to your library of choice on the salesforce commerce cloud instance. 2 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/plugin/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /examples/react-native/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .expo/ 3 | npm-debug.* 4 | *.jks 5 | *.p8 6 | *.p12 7 | *.key 8 | *.mobileprovision 9 | *.orig.* 10 | web-build/ 11 | 12 | # macOS 13 | .DS_Store 14 | -------------------------------------------------------------------------------- /examples/vue/nuxt-2/pages/_page.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 10 | -------------------------------------------------------------------------------- /packages/android/sdk/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuilderIO/builder-public/main/packages/android/sdk/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /packages/figma/README.md: -------------------------------------------------------------------------------- 1 | # @builder.io/figma 2 | 3 | Figma designs <-> Builder.io 4 | 5 | More info coming soon, in the meantime see our [HTML to Figma plugin](https://github.com/BuilderIO/html-to-figma) 6 | -------------------------------------------------------------------------------- /packages/react/src/store/builder-meta.ts: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export const BuilderMetaContext = React.createContext({ 4 | emailMode: false, 5 | ampMode: false, 6 | isServer: false, 7 | }); 8 | -------------------------------------------------------------------------------- /plugins/example-app-campaign-builder/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | docs 13 | -------------------------------------------------------------------------------- /plugins/example-app-simple/src/components/row.tsx: -------------------------------------------------------------------------------- 1 | import styled from '@emotion/styled' 2 | 3 | // Simple flex row 4 | export const Row = styled.div({ 5 | display: 'flex', 6 | alignItems: 'center', 7 | }) 8 | -------------------------------------------------------------------------------- /examples/react-native/.expo-shared/assets.json: -------------------------------------------------------------------------------- 1 | { 2 | "12bb71342c6255bbf50437ec8f4441c083f47cdb74bd89160c15e4f43e52a1cb": true, 3 | "40b842e832070c58deac6aa9e08fa459302ee3f9da492c7e77d93d2fbf4a56fd": true 4 | } 5 | -------------------------------------------------------------------------------- /packages/core/types.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | declare module 'hash-sum'; 3 | declare module 'unique-selector' { 4 | let unique: (key: Element) => string; 5 | export default unique; 6 | } 7 | -------------------------------------------------------------------------------- /packages/sdks/src/types/targets.ts: -------------------------------------------------------------------------------- 1 | type MitosisTargets = import('@builder.io/mitosis').Target; 2 | 3 | export type Target = Extract< 4 | MitosisTargets, 5 | 'vue3' | 'vue2' | 'reactNative' | 'svelte' 6 | >; 7 | -------------------------------------------------------------------------------- /plugins/async-dropdown/src/helpers/canDisableClear.tsx: -------------------------------------------------------------------------------- 1 | export function canDisableClear(props: any): boolean { 2 | const { disableClear } = props?.field?.options || ({} as any); 3 | return !!disableClear; 4 | } 5 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/plugin/src/components/row.tsx: -------------------------------------------------------------------------------- 1 | import styled from '@emotion/styled' 2 | 3 | // Simple flex row 4 | export const Row = styled.div({ 5 | display: 'flex', 6 | alignItems: 'center', 7 | }) 8 | -------------------------------------------------------------------------------- /examples/next-js-builder-site/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | charset = utf-8 7 | end_of_line = lf 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true -------------------------------------------------------------------------------- /examples/next-js-builder-site/renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["config:base"], 3 | "semanticCommits": true, 4 | "stabilityDays": 3, 5 | "prCreation": "not-pending", 6 | "labels": ["type: dependencies"] 7 | } 8 | -------------------------------------------------------------------------------- /packages/codegen/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | -------------------------------------------------------------------------------- /plugins/example-app-campaign-builder/src/components/row.tsx: -------------------------------------------------------------------------------- 1 | import styled from '@emotion/styled' 2 | 3 | // Simple flex row 4 | export const Row = styled.div({ 5 | display: 'flex', 6 | alignItems: 'center', 7 | }) 8 | -------------------------------------------------------------------------------- /examples/angular/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | A 2 | B 3 | 4 | 5 | -------------------------------------------------------------------------------- /examples/solid-js/src/index.jsx: -------------------------------------------------------------------------------- 1 | /* @refresh reload */ 2 | import { render } from 'solid-js/web'; 3 | 4 | import './index.css'; 5 | import App from './App'; 6 | 7 | render(() => , document.getElementById('root')); 8 | -------------------------------------------------------------------------------- /packages/angular/src/app/modules/builder/interfaces/element.interface.ts: -------------------------------------------------------------------------------- 1 | export interface Element { 2 | style: Partial; 3 | children: Element[]; 4 | text?: string; 5 | tagName?: string; 6 | } 7 | -------------------------------------------------------------------------------- /packages/email/src/functions/get-styles.ts: -------------------------------------------------------------------------------- 1 | export function getStyles(block: any) { 2 | // TODO: responsive 3 | const styles = block && block.responsiveStyles && block.responsiveStyles.large; 4 | return styles; 5 | } 6 | -------------------------------------------------------------------------------- /packages/commerce-plugin-tools/src/interfaces/custom-react-editor-props.ts: -------------------------------------------------------------------------------- 1 | export interface CustomReactEditorProps { 2 | value?: T; 3 | onChange(val: T | undefined): void; 4 | context: any; 5 | field?: any; 6 | } 7 | -------------------------------------------------------------------------------- /examples/next-js-theme-ui/config/builder.ts: -------------------------------------------------------------------------------- 1 | if (!process.env.BUILDER_PUBLIC_KEY) { 2 | throw new Error('Missing env varialbe BUILDER_PUBLIC_KEY') 3 | } 4 | 5 | export default { 6 | apiKey: process.env.BUILDER_PUBLIC_KEY, 7 | } 8 | -------------------------------------------------------------------------------- /packages/create-builder.io/src/vendor/prompts/elements/index.ts: -------------------------------------------------------------------------------- 1 | export { Prompt } from './prompt'; 2 | export { ConfirmPrompt } from './confirm'; 3 | export { SelectPrompt } from './select'; 4 | export { TextPrompt } from './text'; 5 | -------------------------------------------------------------------------------- /packages/sdks/overrides/react-native/src/index-helpers/top-of-file.ts: -------------------------------------------------------------------------------- 1 | // this is needed because react-native's URL polyfill is lacking all features we use, such as `URLSearchParams.set()`. 2 | import 'react-native-url-polyfill/auto'; 3 | -------------------------------------------------------------------------------- /packages/fiddle/src/core.ts: -------------------------------------------------------------------------------- 1 | // Maybe don't include for lite version 2 | import './polyfills/custom-element-es5-adapter.js'; 3 | import { version } from '../package.json'; 4 | import './elements'; 5 | 6 | export const VERSION = version; 7 | -------------------------------------------------------------------------------- /plugins/async-dropdown/src/helpers/selectionsClient.ts: -------------------------------------------------------------------------------- 1 | const executeGet = async (url: string) => { 2 | const response = await fetch(url); 3 | const data = await response.json(); 4 | return data; 5 | }; 6 | 7 | export { executeGet }; 8 | -------------------------------------------------------------------------------- /plugins/example-app-simple/test/plugin.test.ts: -------------------------------------------------------------------------------- 1 | import 'jest' 2 | 3 | /** 4 | * Dummy test 5 | */ 6 | describe('Dummy test', () => { 7 | it('works if true is truthy', () => { 8 | expect(true).toBeTruthy() 9 | }) 10 | }) 11 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/admin/.env.template: -------------------------------------------------------------------------------- 1 | BUILDER_ROOT_PRIVATE_KEY= 2 | AIRTABLE_API_KEY= 3 | AIRTABLE_BASE_ID= 4 | AIRTABLE_TABLE_NAME= 5 | AUTH0_ISSUER_BASE_URL= 6 | AUTH0_CLIENT_SECRET= 7 | AUTH0_CLIENT_ID= 8 | AUTH0_SECRET= 9 | BASE_URL= -------------------------------------------------------------------------------- /packages/fiddle/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /packages/shopify/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | [ 4 | '@babel/preset-env', 5 | { 6 | targets: { 7 | node: 'current', 8 | }, 9 | }, 10 | ], 11 | ], 12 | }; 13 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/plugin/test/plugin.test.ts: -------------------------------------------------------------------------------- 1 | import 'jest' 2 | 3 | /** 4 | * Dummy test 5 | */ 6 | describe('Dummy test', () => { 7 | it('works if true is truthy', () => { 8 | expect(true).toBeTruthy() 9 | }) 10 | }) 11 | -------------------------------------------------------------------------------- /packages/sdks/output/solid/README.md: -------------------------------------------------------------------------------- 1 | # Builder.io SDK for Solid 2 | 3 | More info coming soon. 4 | 5 | ## Mitosis 6 | 7 | This SDK is generated by [Mitosis](https://github.com/BuilderIO/mitosis). To see the Mitosis source-code, go [here](../../). 8 | -------------------------------------------------------------------------------- /packages/sdks/src/constants/target.ts: -------------------------------------------------------------------------------- 1 | type Target = import('../types/targets').Target; 2 | 3 | /** This file should be overriden for each framework. Ideally this would be implemented in Mitosis. */ 4 | export const TARGET: Target = 'reactNative'; 5 | -------------------------------------------------------------------------------- /packages/sdks/src/functions/is-editing.ts: -------------------------------------------------------------------------------- 1 | import { isIframe } from './is-iframe.js'; 2 | 3 | export function isEditing(): boolean { 4 | return ( 5 | isIframe() && window.location.search.indexOf('builder.frameEditing=') !== -1 6 | ); 7 | } 8 | -------------------------------------------------------------------------------- /packages/swift/src/Shared/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors": [ 3 | { 4 | "idiom": "universal" 5 | } 6 | ], 7 | "info": { 8 | "author": "xcode", 9 | "version": 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/webcomponents/src/builder-webcomponents.ts: -------------------------------------------------------------------------------- 1 | // TODO: lazy load polyfill only when needed, always render into 2 | // elements by tag name 3 | import '@webcomponents/custom-elements'; 4 | import 'es6-promise/auto'; 5 | export * from './core'; 6 | -------------------------------------------------------------------------------- /plugins/async-dropdown/src/components/NothingToSelect.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export const NothingToSelect = ({ name }: { name: string }) => { 4 | return
{`No ${name} to select`}
; 5 | }; 6 | -------------------------------------------------------------------------------- /plugins/example-app-campaign-builder/test/plugin.test.ts: -------------------------------------------------------------------------------- 1 | import 'jest' 2 | 3 | /** 4 | * Dummy test 5 | */ 6 | describe('Dummy test', () => { 7 | it('works if true is truthy', () => { 8 | expect(true).toBeTruthy() 9 | }) 10 | }) 11 | -------------------------------------------------------------------------------- /plugins/example-app-simple/src/components/stack.tsx: -------------------------------------------------------------------------------- 1 | import styled from '@emotion/styled' 2 | 3 | // Simple flex column 4 | export const Stack = styled.div({ 5 | display: 'flex', 6 | flexDirection: 'column', 7 | alignContent: 'stretch', 8 | }) 9 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Reporting a Vulnerability 4 | 5 | Please report (suspected) security vulnerabilities to help@builder.io. If the issue is confirmed, we will release a patch as soon as possible depending on complexity. Thank you! 6 | -------------------------------------------------------------------------------- /examples/next-js-builder-site/README.md: -------------------------------------------------------------------------------- 1 | # Builder Site 2 | 3 | Using Next.js static site generation. This includes Builder's [blog](https://www.builder.io/blog), [docs](https://www.builder.io/c/docs/intro), and [marketing pages](https://www.builder.io/) 4 | -------------------------------------------------------------------------------- /examples/next-js-simple/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /packages/codegen/src/index.ts: -------------------------------------------------------------------------------- 1 | export const useState = () => null as any; 2 | 3 | type JSXElement = any; // JSX.Element - TODO: why is JSX namespace not available? 4 | 5 | export const builderJsx = (state: { [key: string]: any }) => null as JSXElement; 6 | -------------------------------------------------------------------------------- /packages/react/typedoc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | entryPoints: [ 3 | './src/components/builder-component.component.tsx', 4 | './src/components/builder-content.component.tsx', 5 | ], 6 | out: 'docs', 7 | exclude: ['**/*.test.tsx?'], 8 | }; 9 | -------------------------------------------------------------------------------- /packages/storybook/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@babel/preset-env", 5 | { 6 | "shippedProposals": true 7 | } 8 | ], 9 | "@babel/preset-react", 10 | "@babel/preset-typescript" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/plugin/src/components/stack.tsx: -------------------------------------------------------------------------------- 1 | import styled from '@emotion/styled' 2 | 3 | // Simple flex column 4 | export const Stack = styled.div({ 5 | display: 'flex', 6 | flexDirection: 'column', 7 | alignContent: 'stretch', 8 | }) 9 | -------------------------------------------------------------------------------- /examples/next-js-theme-ui/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/composables/index.ts: -------------------------------------------------------------------------------- 1 | import useUiHelpers from './useUiHelpers'; 2 | import useUiState from './useUiState'; 3 | import useUiNotification from './useUiNotification'; 4 | 5 | export { useUiHelpers, useUiState, useUiNotification }; 6 | -------------------------------------------------------------------------------- /plugins/example-app-campaign-builder/src/components/stack.tsx: -------------------------------------------------------------------------------- 1 | import styled from '@emotion/styled' 2 | 3 | // Simple flex column 4 | export const Stack = styled.div({ 5 | display: 'flex', 6 | flexDirection: 'column', 7 | alignContent: 'stretch', 8 | }) 9 | -------------------------------------------------------------------------------- /examples/next-js-builder-site/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | 5 | // Nested types need a fix 6 | declare module '@builder.io/widgets/*'; 7 | -------------------------------------------------------------------------------- /examples/vue/vue-3/tsconfig.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@vue/tsconfig/tsconfig.node.json", 3 | "include": ["vite.config.*", "vitest.config.*", "cypress.config.*"], 4 | "compilerOptions": { 5 | "composite": true, 6 | "types": ["node"] 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/sdks/scripts/upgrade-example.sh: -------------------------------------------------------------------------------- 1 | # doing this for each SDK is getting tedious, and I'm lazy. 2 | echo "Upgrading SDK $1 usage in examples"; 3 | cd "../../" && npm run update-npm-dependency -- --force-lib-upgrade --lib="@builder.io/sdk-$1" --version=dev 4 | -------------------------------------------------------------------------------- /packages/shopify/README.md: -------------------------------------------------------------------------------- 1 | # @builder.io/shopify 2 | 3 | Import and generate Shopify liquid code to edit visually with Builder.io 4 | 5 | ![demo](https://i.imgur.com/Hg7cxaM.gif) 6 | 7 | Try it with our Shopify app [here](https://apps.shopify.com/builder-2) 8 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | coverage 2 | node_modules 3 | dist 4 | .next 5 | .cache-loader 6 | .cache 7 | docs 8 | .nuxt 9 | .expo 10 | build 11 | 12 | # This code is generated by Mitosis, and Mitosis is responsible for prettifying the output. 13 | packages/sdks/output/ 14 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/site/helpers/create-emotion-cache.ts: -------------------------------------------------------------------------------- 1 | import createCache from '@emotion/cache' 2 | 3 | export function createEmotionCache() { 4 | // TODO remove prepend: true once JSS is out 5 | return createCache({ key: 'css', prepend: true }) 6 | } 7 | -------------------------------------------------------------------------------- /examples/next-js-builder-site/src/constants/seo-tags.ts: -------------------------------------------------------------------------------- 1 | export const defaultTitle = 2 | 'Builder.io: Visual no-code content management for e-commerce'; 3 | export const defaultDescription = 4 | 'Build and optimize digital experiences for any tech stack, visually.'; 5 | -------------------------------------------------------------------------------- /examples/svelte-design-system/.eslintignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /build 4 | /.svelte-kit 5 | /package 6 | .env 7 | .env.* 8 | !.env.example 9 | 10 | # Ignore files for PNPM, NPM and YARN 11 | pnpm-lock.yaml 12 | package-lock.json 13 | yarn.lock 14 | -------------------------------------------------------------------------------- /examples/svelte-design-system/.prettierignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /build 4 | /.svelte-kit 5 | /package 6 | .env 7 | .env.* 8 | !.env.example 9 | 10 | # Ignore files for PNPM, NPM and YARN 11 | pnpm-lock.yaml 12 | package-lock.json 13 | yarn.lock 14 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/tests/e2e/pages/home.ts: -------------------------------------------------------------------------------- 1 | import Base from './base'; 2 | import Header from './components/header'; 3 | 4 | class Home extends Base { 5 | get header() { 6 | return Header; 7 | } 8 | } 9 | 10 | export default new Home(); 11 | -------------------------------------------------------------------------------- /packages/angular/ng-package.js: -------------------------------------------------------------------------------- 1 | const config = { 2 | $schema: './node_modules/ng-packagr/ng-package.schema.json', 3 | lib: { 4 | entryFile: 'src/public_api.ts', 5 | }, 6 | allowedNonPeerDependencies: ['.'], 7 | }; 8 | 9 | module.exports = config; 10 | -------------------------------------------------------------------------------- /packages/sdks/src/functions/event-handler-name.ts: -------------------------------------------------------------------------------- 1 | function capitalizeFirstLetter(string: string) { 2 | return string.charAt(0).toUpperCase() + string.slice(1); 3 | } 4 | 5 | export const getEventHandlerName = (key: string) => 6 | `on${capitalizeFirstLetter(key)}`; 7 | -------------------------------------------------------------------------------- /packages/vue/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ### 0.1.12 2 | 3 | - update `@builder.io/sdk` to `1.1.26` (adds bugfix to `noTrack` correctly ignoring session cookies) 4 | - fix: propagate `window.BuilderNoTrack` setting to webcomponents SDK https://github.com/BuilderIO/builder/pull/900/files 5 | -------------------------------------------------------------------------------- /packages/amp/src/builder-amp.ts: -------------------------------------------------------------------------------- 1 | export { Box } from './components/Box'; 2 | export { Columns } from './components/Columns'; 3 | export { CustomCode } from './components/CustomCode'; 4 | export { Image } from './components/Image'; 5 | export { Text } from './components/Text'; 6 | -------------------------------------------------------------------------------- /packages/sdks/src/types/deep-partial.ts: -------------------------------------------------------------------------------- 1 | export type DeepPartial = { 2 | [P in keyof T]?: T[P] extends Array 3 | ? Array> 4 | : T[P] extends ReadonlyArray 5 | ? ReadonlyArray> 6 | : DeepPartial; 7 | }; 8 | -------------------------------------------------------------------------------- /examples/angular-universal/src/app/app.component.html: -------------------------------------------------------------------------------- 1 |

This is App Component!

2 | Link A 3 | Link B 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/angular/src/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/app", 5 | "baseUrl": "./", 6 | "types": [], 7 | "skipLibCheck": true 8 | }, 9 | "exclude": ["test.ts", "**/*.spec.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /packages/core/src/functions/omit.function.ts: -------------------------------------------------------------------------------- 1 | export function omit(obj: T, ...values: (keyof T)[]): Partial { 2 | const newObject = Object.assign({}, obj); 3 | for (const key of values) { 4 | delete (newObject as any)[key]; 5 | } 6 | return newObject; 7 | } 8 | -------------------------------------------------------------------------------- /packages/create-builder.io/src/vendor/prompts/util/index.js: -------------------------------------------------------------------------------- 1 | import action from './action'; 2 | import clear from './clear'; 3 | import * as style from './style'; 4 | import strip from './strip'; 5 | import figures from './figures'; 6 | 7 | export { action, clear, style, strip, figures }; 8 | -------------------------------------------------------------------------------- /examples/angular/e2e/app.po.ts: -------------------------------------------------------------------------------- 1 | import { browser, by, element } from 'protractor'; 2 | 3 | export class AppPage { 4 | navigateTo() { 5 | return browser.get('/'); 6 | } 7 | 8 | getParagraphText() { 9 | return element(by.css('app-root h1')).getText(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /examples/angular/src/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/app", 5 | "baseUrl": "./", 6 | "types": [] 7 | }, 8 | "files": ["main.ts", "polyfills.ts"], 9 | "include": ["src/**/*.d.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /packages/angular/e2e/app.po.ts: -------------------------------------------------------------------------------- 1 | import { browser, by, element } from 'protractor'; 2 | 3 | export class AppPage { 4 | navigateTo() { 5 | return browser.get('/'); 6 | } 7 | 8 | getParagraphText() { 9 | return element(by.css('app-root h1')).getText(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/angular/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | /* SystemJS module definition */ 2 | declare var module: NodeModule; 3 | interface NodeModule { 4 | id: string; 5 | } 6 | 7 | declare module '*.png' { 8 | const value: string; 9 | export = value; 10 | } 11 | 12 | declare module 'cookies'; 13 | -------------------------------------------------------------------------------- /packages/sdks/overrides/react-native/src/functions/get-block-tag.ts: -------------------------------------------------------------------------------- 1 | import { BuilderBlock } from '../types/builder-block'; 2 | import { View } from 'react-native'; 3 | 4 | export function getBlockTag(_block: BuilderBlock) { 5 | // TODO: logic for TouchableView etc 6 | return View; 7 | } 8 | -------------------------------------------------------------------------------- /packages/sdks/src/functions/transform-block.ts: -------------------------------------------------------------------------------- 1 | import { BuilderBlock } from '../types/builder-block.js'; 2 | 3 | // Noope way for targets to make modifications to the block object if/as needed 4 | export function transformBlock(block: BuilderBlock): BuilderBlock { 5 | return block; 6 | } 7 | -------------------------------------------------------------------------------- /examples/angular/e2e/tsconfig.e2e.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/e2e", 5 | "baseUrl": "./", 6 | "module": "commonjs", 7 | "target": "es5", 8 | "types": ["jasmine", "jasminewd2", "node"] 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/site/components/Header.tsx: -------------------------------------------------------------------------------- 1 | import { BuilderComponent } from '@builder.io/react' 2 | 3 | /** 4 | * Global header editable in Builder 5 | */ 6 | export function Header(props: { header: any }) { 7 | return 8 | } 9 | -------------------------------------------------------------------------------- /examples/storybook/src/components/Heading/Heading.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Typography from '@material-ui/core/Typography'; 3 | 4 | export const Heading = props => { 5 | const { text, type } = props; 6 | 7 | return {text}; 8 | }; 9 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/helpers/category/index.js: -------------------------------------------------------------------------------- 1 | import { getCategorySearchParameters } from './getCategorySearchParameters'; 2 | import { getCategoryPath } from './getCategoryPath'; 3 | 4 | // TODO: remove, use faceting instead 5 | export { getCategorySearchParameters, getCategoryPath }; 6 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/tests/e2e/support/index.d.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable spaced-comment */ 2 | /// 3 | /// 4 | 5 | declare namespace Cypress { 6 | interface Chainable { 7 | fixtures?: any; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/angular/e2e/tsconfig.e2e.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/e2e", 5 | "baseUrl": "./", 6 | "module": "commonjs", 7 | "target": "es5", 8 | "types": ["jasmine", "jasminewd2", "node"] 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /examples/angular-universal/src/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/app", 5 | "baseUrl": "./", 6 | "types": [] 7 | }, 8 | "files": ["main.ts", "polyfills.ts"], 9 | "include": ["src/**/*.d.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /examples/react-design-system/src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: sans-serif; 3 | padding: 0; 4 | margin: 0; 5 | } 6 | 7 | .loading { 8 | padding: 50px; 9 | text-align: center; 10 | } 11 | 12 | a { 13 | text-decoration: none; 14 | cursor: pointer; 15 | color: black; 16 | } 17 | -------------------------------------------------------------------------------- /examples/vue/nuxt-2/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /packages/angular/src/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'builder-root', 5 | templateUrl: './app.component.html', 6 | styleUrls: ['./app.component.css'], 7 | }) 8 | export class AppComponent { 9 | title = 'app'; 10 | } 11 | -------------------------------------------------------------------------------- /packages/commerce-plugin-tools/src/interfaces/resource.ts: -------------------------------------------------------------------------------- 1 | export interface Image { 2 | width?: number; 3 | height?: number; 4 | src: string; 5 | } 6 | 7 | export interface Resource { 8 | id: string | number; 9 | title: string; 10 | handle?: string; 11 | image?: Image; 12 | } 13 | -------------------------------------------------------------------------------- /packages/fiddle/.editorconfig: -------------------------------------------------------------------------------- 1 | #root = true 2 | 3 | [*] 4 | indent_style = space 5 | end_of_line = lf 6 | charset = utf-8 7 | trim_trailing_whitespace = true 8 | insert_final_newline = true 9 | max_line_length = 100 10 | indent_size = 2 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /packages/gatsby/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "strict": true, 6 | "esModuleInterop": true, 7 | "forceConsistentCasingInFileNames": true, 8 | "checkJs": true, 9 | "noImplicitAny": false 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /plugins/example-app-simple/src/interfaces/custom-editor.ts: -------------------------------------------------------------------------------- 1 | import { ApplicationContext } from './application-context' 2 | 3 | export interface CustomEditorProps { 4 | value: ValueType | undefined 5 | onChange(newValue: ValueType): void 6 | context: ApplicationContext 7 | } 8 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/site/blocks/header/cart/cart.tsx: -------------------------------------------------------------------------------- 1 | import CartIcon from '@mui/icons-material/ShoppingBag' 2 | import { IconButton } from '@mui/material' 3 | 4 | export default function Cart() { 5 | return ( 6 | 7 | 8 | 9 | ) 10 | } 11 | -------------------------------------------------------------------------------- /examples/react-design-system/src/components/Heading/Heading.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Typography from '@material-ui/core/Typography'; 3 | 4 | export const Heading = props => { 5 | const { text, type } = props; 6 | 7 | return {text}; 8 | }; 9 | -------------------------------------------------------------------------------- /packages/plugin-loader/.editorconfig: -------------------------------------------------------------------------------- 1 | #root = true 2 | 3 | [*] 4 | indent_style = space 5 | end_of_line = lf 6 | charset = utf-8 7 | trim_trailing_whitespace = true 8 | insert_final_newline = true 9 | max_line_length = 100 10 | indent_size = 2 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /packages/sdks/src/functions/sanitize-styles.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * No-op function, sanitize on a per-framework basis by overriding. 3 | */ 4 | export const sanitizeBlockStyles = ( 5 | _styles: Partial 6 | // eslint-disable-next-line @typescript-eslint/no-empty-function 7 | ): void => {}; 8 | -------------------------------------------------------------------------------- /starters/create-builder/nextjs/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | 5 | // NOTE: This file should not be edited 6 | // see https://nextjs.org/docs/basic-features/typescript for more information. 7 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/admin/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | 5 | // NOTE: This file should not be edited 6 | // see https://nextjs.org/docs/basic-features/typescript for more information. 7 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/site/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | 5 | // NOTE: This file should not be edited 6 | // see https://nextjs.org/docs/basic-features/typescript for more information. 7 | -------------------------------------------------------------------------------- /examples/vue/nuxt-2-old-sdk/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/composables/usePaymentProviderMock/index.ts: -------------------------------------------------------------------------------- 1 | import { sharedRef } from '@vue-storefront/core'; 2 | 3 | export const usePaymentProviderMock = () => { 4 | const status = sharedRef(false, 'usePaymentProviderMock-status'); 5 | 6 | return { 7 | status, 8 | }; 9 | }; 10 | -------------------------------------------------------------------------------- /packages/android/sdk/app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | -------------------------------------------------------------------------------- /packages/android/sdk/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jul 01 08:14:39 PDT 2022 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /packages/sdks/overrides/solid/src/solid-index.jsx: -------------------------------------------------------------------------------- 1 | /** 2 | * We need to have a `.jsx` entry point for our SolidJS SDK. To avoid enforcing this to all other frameworks, 3 | * we add this file and use it to re-export the index.js file from the Mitosis-generated code. 4 | */ 5 | export * from '../src/index.js'; 6 | -------------------------------------------------------------------------------- /packages/swift/src/Shared/Components/RenderBlocks.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct RenderBlocks: View { 4 | var blocks: [BuilderBlock] 5 | 6 | var body: some View { 7 | ForEach(blocks, id: \.id) { block in 8 | RenderBlock(block: block) 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /plugins/example-app-campaign-builder/src/interfaces/custom-editor.ts: -------------------------------------------------------------------------------- 1 | import { ApplicationContext } from './application-context' 2 | 3 | export interface CustomEditorProps { 4 | value: ValueType | undefined 5 | onChange(newValue: ValueType): void 6 | context: ApplicationContext 7 | } 8 | -------------------------------------------------------------------------------- /packages/react/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache 11 | .rpt2_cache 12 | 13 | docs/.nojekyll 14 | docs/classes 15 | docs/modules.md 16 | docs/modules 17 | docs/README.md 18 | docs/interfaces/BuilderComponentState.md -------------------------------------------------------------------------------- /packages/sdks/src/blocks/fragment/component-info.ts: -------------------------------------------------------------------------------- 1 | import type { ComponentInfo } from '../../types/components'; 2 | 3 | export const componentInfo: ComponentInfo = { 4 | name: 'Fragment', 5 | static: true, 6 | hidden: true, 7 | builtIn: true, 8 | canHaveChildren: true, 9 | noWrap: true, 10 | }; 11 | -------------------------------------------------------------------------------- /plugins/async-dropdown/src/helpers/dependenciesHelper.ts: -------------------------------------------------------------------------------- 1 | export const haveDependenciesChanged = (props: any) => { 2 | const { dependenciesKeyRef, newDependenciesKey } = props; 3 | 4 | if (dependenciesKeyRef.current !== newDependenciesKey) { 5 | return true; 6 | } 7 | 8 | return false; 9 | }; 10 | -------------------------------------------------------------------------------- /starters/create-builder/create-react-app/src/App.tsx: -------------------------------------------------------------------------------- 1 | import './App.css'; 2 | import { BuilderComponent } from '@builder.io/react'; 3 | 4 | function App() { 5 | return ( 6 |
7 | 8 |
9 | ); 10 | } 11 | 12 | export default App; 13 | -------------------------------------------------------------------------------- /examples/angular/src/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/spec", 5 | "baseUrl": "./", 6 | "types": ["jasmine", "node"] 7 | }, 8 | "files": ["test.ts", "polyfills.ts"], 9 | "include": ["**/*.spec.ts", "**/*.d.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /examples/next-js-simple/config/builder.ts: -------------------------------------------------------------------------------- 1 | if (!process.env.BUILDER_PUBLIC_KEY) { 2 | throw new Error( 3 | 'Missing environment variable BUILDER_PUBLIC_KEY, signup for builder.io and add your public key to env file' 4 | ) 5 | } 6 | 7 | export default { 8 | apiKey: process.env.BUILDER_PUBLIC_KEY, 9 | } 10 | -------------------------------------------------------------------------------- /examples/svelte/sveltekit/scripts/remove-resolutions.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # You'll need to install `jq`: https://stedolan.github.io/jq/ 3 | 4 | # Removes `@builder.io/sdk-vue` resolution from the list of resolutions in `package.json`` 5 | echo "$(jq 'del(.resolutions."@builder.io/sdk-svelte")' package.json)" >package.json 6 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/scripts/remove-resolutions.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # You'll need to install `jq`: https://stedolan.github.io/jq/ 3 | 4 | # Removes `@builder.io/sdk-vue` resolution from the list of resolutions in `package.json`` 5 | echo "$(jq 'del(.resolutions."@builder.io/sdk-vue")' package.json)" >package.json 6 | -------------------------------------------------------------------------------- /packages/angular/src/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/spec", 5 | "baseUrl": "./", 6 | "types": ["jasmine", "node"] 7 | }, 8 | "files": ["test.ts", "polyfills.ts"], 9 | "include": ["**/*.spec.ts", "**/*.d.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /packages/react/src/decorators/builder-block.decorator.ts: -------------------------------------------------------------------------------- 1 | import { Builder, Component } from '@builder.io/sdk'; 2 | 3 | interface ReactComponent extends Component {} 4 | 5 | export function BuilderBlock(options: ReactComponent) { 6 | options.type = 'react'; 7 | 8 | return Builder.Component(options); 9 | } 10 | -------------------------------------------------------------------------------- /packages/react/src/functions/safe-dynamic-require.ts: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import { Builder } from '@builder.io/sdk'; 4 | 5 | // Allow us to require things dynamically safe from webpack bundling 6 | export const safeDynamicRequire: typeof require = Builder.isServer 7 | ? eval('require') 8 | : ((() => null) as any); 9 | -------------------------------------------------------------------------------- /packages/react/src/functions/with-builder.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@builder.io/sdk'; 2 | import { BuilderBlock } from '../decorators/builder-block.decorator'; 3 | 4 | export function withBuilder(component: Function, options: Component) { 5 | BuilderBlock(options)(component as any); 6 | return component; 7 | } 8 | -------------------------------------------------------------------------------- /packages/sdks/src/functions/previewing-model-name.ts: -------------------------------------------------------------------------------- 1 | import { isPreviewing } from './is-previewing.js'; 2 | 3 | export function previewingModelName() { 4 | if (!isPreviewing()) { 5 | return null; 6 | } 7 | const url = new URL(location.href); 8 | return url.searchParams.get('builder.preview'); 9 | } 10 | -------------------------------------------------------------------------------- /packages/webcomponents/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /starters/react/src/App.test.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import App from './App'; 4 | 5 | it('renders without crashing', () => { 6 | const div = document.createElement('div'); 7 | ReactDOM.render(, div); 8 | ReactDOM.unmountComponentAtNode(div); 9 | }); 10 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "test": { 4 | "presets": [ 5 | [ 6 | "@babel/preset-env", 7 | { 8 | "targets": { 9 | "node": "current" 10 | } 11 | } 12 | ] 13 | ] 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /packages/android/sdk/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | -------------------------------------------------------------------------------- /packages/android/sdk/app/src/main/java/com/example/myapplication/ui/theme/Color.kt: -------------------------------------------------------------------------------- 1 | package com.example.myapplication.ui.theme 2 | 3 | import androidx.compose.ui.graphics.Color 4 | 5 | val Purple200 = Color(0xFFBB86FC) 6 | val Purple500 = Color(0xFF6200EE) 7 | val Purple700 = Color(0xFF3700B3) 8 | val Teal200 = Color(0xFF03DAC5) -------------------------------------------------------------------------------- /.husky/prepare-commit-msg: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | if npx zx scripts/check-is-husky-ready-dir.mjs --git-prefix=$GIT_PREFIX; then 5 | cd $GIT_PREFIX 6 | # https://github.com/commitizen/cz-cli/tree/3c2553f421a7fda935f648068bf51860a0cfe88e#husky 7 | exec package.json 6 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/scripts/add-resolutions.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # You'll need to install `jq`: https://stedolan.github.io/jq/ 3 | 4 | # Sets `@builder.io/sdk-vue` resolution symlinks in `package.json` 5 | echo "$(jq '.resolutions."@builder.io/sdk-vue" = "link:../../../packages/sdks/output/vue"' package.json)" >package.json 6 | -------------------------------------------------------------------------------- /examples/svelte/sveltekit/scripts/add-resolutions.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # You'll need to install `jq`: https://stedolan.github.io/jq/ 3 | 4 | # Sets `@builder.io/sdk-vue` resolution symlinks in `package.json` 5 | echo "$(jq '.resolutions."@builder.io/sdk-svelte" = "link:../../../packages/sdks/output/svelte"' package.json)" >package.json 6 | -------------------------------------------------------------------------------- /packages/angular/src/app/app-routing.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { Routes, RouterModule } from '@angular/router'; 3 | 4 | const routes: Routes = []; 5 | 6 | @NgModule({ 7 | imports: [RouterModule.forRoot(routes)], 8 | exports: [RouterModule], 9 | }) 10 | export class AppRoutingModule {} 11 | -------------------------------------------------------------------------------- /packages/codegen/README.md: -------------------------------------------------------------------------------- 1 | # @builder.io/codegen (beta) 2 | 3 | Turn Builder.io content into React, Vue, Angular, Shopify/Liquid, Email, Amp, etc code 4 | 5 | ![Builder.io visual codegen demo](https://imgur.com/FwLMdAY.gif) 6 | 7 | More info coming soon... 8 | 9 | Try it at [builder.io/fiddle](https://builder.io/fiddle) 10 | -------------------------------------------------------------------------------- /packages/react/internal-types.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'rollup-plugin-replace'; 2 | declare module 'rollup-plugin-node-resolve'; 3 | declare module 'rollup-plugin-re'; 4 | declare module 'rollup-plugin-alias'; 5 | declare module 'rollup-plugin-babel-minify'; 6 | 7 | declare module 'lib/on-change.js'; 8 | declare module '../../lib/on-change'; 9 | -------------------------------------------------------------------------------- /packages/swift/src/testing.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /examples/astro-solidjs/.gitignore: -------------------------------------------------------------------------------- 1 | # build output 2 | dist/ 3 | .output/ 4 | 5 | # dependencies 6 | node_modules/ 7 | 8 | # logs 9 | npm-debug.log* 10 | yarn-debug.log* 11 | yarn-error.log* 12 | pnpm-debug.log* 13 | 14 | 15 | # environment variables 16 | .env 17 | .env.production 18 | 19 | # macOS-specific files 20 | .DS_Store 21 | -------------------------------------------------------------------------------- /examples/next-js-theme-ui/lib/get-layout-props.ts: -------------------------------------------------------------------------------- 1 | import { resolveBuilderContent } from './resolve-builder-content' 2 | 3 | export async function getLayoutProps(targetingAttributes?: any) { 4 | const theme = await resolveBuilderContent('theme', targetingAttributes) 5 | 6 | return { 7 | theme: theme || null, 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /examples/vue/vue-2/vue.config.js: -------------------------------------------------------------------------------- 1 | const { defineConfig } = require('@vue/cli-service'); 2 | 3 | module.exports = defineConfig({ 4 | transpileDependencies: true, 5 | 6 | configureWebpack: { 7 | resolve: { 8 | fallback: { 9 | path: require.resolve('path-browserify'), 10 | }, 11 | }, 12 | }, 13 | }); 14 | -------------------------------------------------------------------------------- /examples/vue/vue-3/src/assets/logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/helpers/category/getCategorySearchParameters.js: -------------------------------------------------------------------------------- 1 | export const getCategorySearchParameters = context => { 2 | const { params } = context.root.$route; 3 | const lastSlug = Object.keys(params).reduce((prev, curr) => params[curr] || prev, params.slug_1); 4 | 5 | return { 6 | slug: lastSlug, 7 | }; 8 | }; 9 | -------------------------------------------------------------------------------- /packages/admin-sdk/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "rootDir": "src", 4 | "outDir": "dist", 5 | "module": "CommonJS", 6 | "target": "es6", 7 | "esModuleInterop": true, 8 | "strict": true, 9 | "allowJs": true, 10 | "resolveJsonModule": true, 11 | "declaration": true 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /packages/swift/src/testing.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/next-js-simple/components/Link/Link.tsx: -------------------------------------------------------------------------------- 1 | import NextLink from 'next/link' 2 | 3 | export const Link: React.FC> = ({ 4 | href, 5 | children, 6 | ...props 7 | }) => { 8 | return ( 9 | 10 | {children} 11 | 12 | ) 13 | } 14 | -------------------------------------------------------------------------------- /packages/core/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ### UPCOMING 2 | 3 | - improved logging during JSON.parse errors 4 | - deprecation notice on `Builder.VERSION` 5 | - stop tracking impressions for content with no id 6 | 7 | ### 1.1.26 8 | 9 | - fix: respect `builder.canTrack` for not setting the session cookie https://github.com/BuilderIO/builder/pull/900 10 | -------------------------------------------------------------------------------- /plugins/async-dropdown/__tests__/mapperEvaluator.test.ts: -------------------------------------------------------------------------------- 1 | import { safeEvaluate } from '../src/helpers/mapperEvaluator'; 2 | 3 | describe('Safe evaluate', () => { 4 | it('Works', () => { 5 | expect(safeEvaluate('() => true')).toBe(true); 6 | expect(safeEvaluate('({foo}) => foo.bar', { foo: { bar: 'hi' } })).toBe('hi'); 7 | }); 8 | }); 9 | -------------------------------------------------------------------------------- /examples/next-js-simple/pages/_app.tsx: -------------------------------------------------------------------------------- 1 | import type { AppProps } from 'next/app' 2 | 3 | import { builder } from '@builder.io/react' 4 | import builderConfig from '@config/builder' 5 | builder.init(builderConfig.apiKey) 6 | 7 | export default function MyApp({ Component, pageProps }: AppProps) { 8 | return 9 | } 10 | -------------------------------------------------------------------------------- /examples/react-native/scripts/add-resolutions.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # You'll need to install `jq`: https://stedolan.github.io/jq/ 3 | 4 | # Sets `@builder.io/sdk-react-native` resolution symlinks in `package.json` 5 | echo "$(jq '.resolutions."@builder.io/sdk-react-native" = "link:../../packages/sdks/output/react-native"' package.json)" >package.json 6 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/tests/e2e/pages/base.ts: -------------------------------------------------------------------------------- 1 | import Header from './components/header'; 2 | 3 | export default class Base { 4 | get path(): string { 5 | return '/'; 6 | } 7 | 8 | get header() { 9 | return Header; 10 | } 11 | 12 | visit(): Cypress.Chainable { 13 | return cy.visit(this.path); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /packages/json-schema/Makefile: -------------------------------------------------------------------------------- 1 | export NODE_OPTIONS="--unhandled-rejections=strict" 2 | 3 | all: dist/BuilderContent.json 4 | 5 | @PHONY: 6 | clean: 7 | rm dist/BuilderContent.json 8 | 9 | dist/%.json: tsconfig.json src/index.ts 10 | mkdir -p dist 11 | yarn --silent run typescript-json-schema tsconfig.json $(basename $(notdir $@)) > $@ 12 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/helpers/validators/phone.ts: -------------------------------------------------------------------------------- 1 | import { extend } from 'vee-validate'; 2 | import PhoneNumber from 'awesome-phonenumber'; 3 | 4 | extend('phone', { 5 | message: 'This is not a valid phone number', 6 | validate(value) { 7 | const phone = new PhoneNumber(value); 8 | return phone.isValid(); 9 | }, 10 | }); 11 | -------------------------------------------------------------------------------- /packages/android/sdk/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /packages/sdks/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "strict": true, 4 | "target": "es5", 5 | "jsx": "preserve", 6 | "jsxImportSource": "@builder.io/mitosis", 7 | "esModuleInterop": true, 8 | "skipLibCheck": true, 9 | "forceConsistentCasingInFileNames": true 10 | }, 11 | "include": ["src", "typings"] 12 | } 13 | -------------------------------------------------------------------------------- /packages/utils/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "rootDir": "src", 4 | "outDir": "dist", 5 | "module": "CommonJS", 6 | "target": "es6", 7 | "esModuleInterop": true, 8 | "strict": true, 9 | "declaration": true 10 | }, 11 | "include": ["./src"], 12 | "exclude": ["node_modules", "**/*.test.ts"] 13 | } 14 | -------------------------------------------------------------------------------- /examples/storybook/src/components/Button/Button.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import MuiButon from '@material-ui/core/Button'; 3 | 4 | export const Button = props => { 5 | const { text, link, type } = props; 6 | 7 | return ( 8 | 9 | {text} 10 | 11 | ); 12 | }; 13 | -------------------------------------------------------------------------------- /examples/svelte-design-system/src/components/index.ts: -------------------------------------------------------------------------------- 1 | import BoxWithChildren from './BoxWithChildren/BoxWithChildren.builder'; 2 | import Button from './Button/Button.builder'; 3 | import CustomColumns from './CustomColumns/CustomColumns.builder'; 4 | import Hero from './Hero/Hero.builder'; 5 | 6 | export default [BoxWithChildren, Button, CustomColumns, Hero]; 7 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/tests/e2e/pages/components/breadcrumbs.ts: -------------------------------------------------------------------------------- 1 | class Breadcrumbs { 2 | get container(): Cypress.Chainable { 3 | return cy.get('.breadcrumbs'); 4 | } 5 | 6 | get listItems(): Cypress.Chainable { 7 | return this.container.get('.sf-breadcrumbs__list-item'); 8 | } 9 | } 10 | 11 | export default new Breadcrumbs(); 12 | -------------------------------------------------------------------------------- /packages/android/sdk/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "multi-site-poc", 3 | "version": "1.0.0", 4 | "scripts": { 5 | "build": "cd ./site && next build", 6 | "prettier": "prettier" 7 | }, 8 | "prettier": { 9 | "semi": false, 10 | "singleQuote": true 11 | }, 12 | "devDependencies": { 13 | "prettier": "^2.1.2" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/site/helpers/get-layout-props.ts: -------------------------------------------------------------------------------- 1 | import { builder } from '@builder.io/react' 2 | 3 | /** 4 | * Get global layout props 5 | */ 6 | export async function getLayoutProps() { 7 | return { 8 | theme: (await builder.get('theme').promise()) || null, 9 | header: (await builder.get('header').promise()) || null, 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/codegen/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "strict": true, 6 | "jsx": "preserve", 7 | "lib": ["es7", "dom"], 8 | "skipLibCheck": true, 9 | "resolveJsonModule": true, 10 | "noFallthroughCasesInSwitch": true 11 | }, 12 | "exclude": ["node_modules"] 13 | } 14 | -------------------------------------------------------------------------------- /packages/vue/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | 6 | # local env files 7 | .env.local 8 | .env.*.local 9 | 10 | # Log files 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | pnpm-debug.log* 15 | 16 | # Editor directories and files 17 | .idea 18 | .vscode 19 | *.suo 20 | *.ntvs* 21 | *.njsproj 22 | *.sln 23 | *.sw? 24 | -------------------------------------------------------------------------------- /starters/create-builder/nextjs/components/Header.tsx: -------------------------------------------------------------------------------- 1 | export interface HeaderProps { 2 | title: string; 3 | subtitle: string; 4 | } 5 | 6 | export function Header(props: HeaderProps) { 7 | return ( 8 |
9 |
{props.title}
10 |
{props.subtitle}
11 |
12 | ); 13 | } 14 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/site/blocks/header/nav-links/nav-links.tsx: -------------------------------------------------------------------------------- 1 | import { Button } from '@mui/material' 2 | 3 | export default function NavLinks() { 4 | return ( 5 |
6 | 7 | 8 |
9 | ) 10 | } 11 | -------------------------------------------------------------------------------- /examples/react-design-system/src/components/Button/Button.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import MuiButon from '@material-ui/core/Button'; 3 | 4 | export const Button = props => { 5 | const { text, link, type } = props; 6 | 7 | return ( 8 | 9 | {text} 10 | 11 | ); 12 | }; 13 | -------------------------------------------------------------------------------- /examples/vue/vue-2/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | 6 | # local env files 7 | .env.local 8 | .env.*.local 9 | 10 | # Log files 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | pnpm-debug.log* 15 | 16 | # Editor directories and files 17 | .idea 18 | .vscode 19 | *.suo 20 | *.ntvs* 21 | *.njsproj 22 | *.sln 23 | *.sw? 24 | -------------------------------------------------------------------------------- /examples/vue/vue-3/.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | /* eslint-env node */ 2 | require('@rushstack/eslint-patch/modern-module-resolution'); 3 | 4 | module.exports = { 5 | root: true, 6 | extends: [ 7 | 'plugin:vue/vue3-essential', 8 | 'eslint:recommended', 9 | '@vue/eslint-config-typescript/recommended', 10 | '@vue/eslint-config-prettier', 11 | ], 12 | }; 13 | -------------------------------------------------------------------------------- /packages/cli/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "rootDir": "src", 4 | "outDir": "dist", 5 | "module": "CommonJS", 6 | "target": "es6", 7 | "esModuleInterop": true, 8 | "strict": true, 9 | "allowJs": true, 10 | "resolveJsonModule": true, 11 | "types": ["node"], 12 | }, 13 | "exclude": ["src/templates"], 14 | } 15 | -------------------------------------------------------------------------------- /examples/gatsby-minimal-starter/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | interface CSSModule { 2 | [className: string]: string; 3 | } 4 | 5 | // type shims for CSS modules 6 | declare module '*.module.scss' { 7 | const cssModule: CSSModule; 8 | export = cssModule; 9 | } 10 | 11 | declare module '*.module.css' { 12 | const cssModule: CSSModule; 13 | export = cssModule; 14 | } 15 | -------------------------------------------------------------------------------- /examples/svelte-design-system/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./.svelte-kit/tsconfig.json", 3 | "compilerOptions": { 4 | "allowJs": true, 5 | "checkJs": true, 6 | "esModuleInterop": true, 7 | "forceConsistentCasingInFileNames": true, 8 | "resolveJsonModule": true, 9 | "skipLibCheck": true, 10 | "sourceMap": true, 11 | "strict": true 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /packages/create-builder.io/src/texts.ts: -------------------------------------------------------------------------------- 1 | import { IS_YARN } from './utils'; 2 | 3 | export const CMD = IS_YARN ? 'yarn' : 'npm'; 4 | export const INSTALL = IS_YARN ? 'yarn' : 'npm install'; 5 | export const BUILD = IS_YARN ? 'yarn build' : 'npm run build'; 6 | export const START = IS_YARN ? 'yarn start' : 'npm start'; 7 | export const TEST = IS_YARN ? 'yarn test' : 'npm test'; 8 | -------------------------------------------------------------------------------- /starters/create-builder/create-react-app/src/components/Header.tsx: -------------------------------------------------------------------------------- 1 | export interface HeaderProps { 2 | title: string; 3 | subtitle: string; 4 | } 5 | 6 | export function Header(props: HeaderProps) { 7 | return ( 8 |
9 |
{props.title}
10 |
{props.subtitle}
11 |
12 | ); 13 | } 14 | -------------------------------------------------------------------------------- /starters/create-builder/nextjs/components/SourceCodeLink.tsx: -------------------------------------------------------------------------------- 1 | import { FunctionComponent } from 'react'; 2 | 3 | export interface SourceCodeLinkProps { 4 | fileName: string; 5 | line?: number; 6 | column?: number; 7 | } 8 | 9 | export const SourceCodeLink: FunctionComponent = ({ children }) => { 10 | return
{children}
; 11 | }; 12 | -------------------------------------------------------------------------------- /examples/next-js-builder-site/src/components/docs-search.config.ts: -------------------------------------------------------------------------------- 1 | export const defaultSearchBarPlaceholder = 'Search the knowledge base'; 2 | 3 | export const docsSearchConfig = { 4 | name: 'Docs Search', 5 | inputs: [ 6 | { 7 | name: 'placeholder', 8 | type: 'text', 9 | defaultValue: defaultSearchBarPlaceholder, 10 | }, 11 | ], 12 | }; 13 | -------------------------------------------------------------------------------- /examples/vue/vue-3/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@vue/tsconfig/tsconfig.web.json", 3 | "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], 4 | "compilerOptions": { 5 | "baseUrl": ".", 6 | "paths": { 7 | "@/*": ["./src/*"] 8 | } 9 | }, 10 | 11 | "references": [ 12 | { 13 | "path": "./tsconfig.config.json" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/fiddle/README.md: -------------------------------------------------------------------------------- 1 | # @builder.io/fiddle 2 | 3 | Embed Builder.io [fiddles](https://builder.io/fiddle) on your site 4 | 5 | ```html 6 | 7 | 8 | ``` 9 | 10 | ![Embedded Builder.io fiddle example](https://i.imgur.com/eJEiV7U.gif) 11 | -------------------------------------------------------------------------------- /packages/react/src/functions/get.ts: -------------------------------------------------------------------------------- 1 | export const get = (obj: any, path: string, defaultValue?: any) => { 2 | const result = String.prototype.split 3 | .call(path, /[,[\].]+?/) 4 | .filter(Boolean) 5 | .reduce((res, key) => (res !== null && res !== undefined ? res[key] : res), obj); 6 | return result === undefined || result === obj ? defaultValue : result; 7 | }; 8 | -------------------------------------------------------------------------------- /examples/vue/nuxt-2-old-sdk/components/hello-world.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 15 | 16 | 21 | -------------------------------------------------------------------------------- /packages/sdks/src/blocks/submit-button/submit-button.lite.tsx: -------------------------------------------------------------------------------- 1 | import '@builder.io/mitosis'; 2 | 3 | export interface ButtonProps { 4 | attributes?: any; 5 | text?: string; 6 | } 7 | 8 | export default function SubmitButton(props: ButtonProps) { 9 | return ( 10 | 13 | ); 14 | } 15 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/site/blocks/header/spacer/spacer.tsx: -------------------------------------------------------------------------------- 1 | export default function Spacer(props: any) { 2 | return ( 3 |
13 | ) 14 | } 15 | -------------------------------------------------------------------------------- /packages/angular/e2e/app.e2e-spec.ts: -------------------------------------------------------------------------------- 1 | import { AppPage } from './app.po'; 2 | 3 | describe('angular App', () => { 4 | let page: AppPage; 5 | 6 | beforeEach(() => { 7 | page = new AppPage(); 8 | }); 9 | 10 | it('should display welcome message', () => { 11 | page.navigateTo(); 12 | expect(page.getParagraphText()).toEqual('Welcome to app!'); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /packages/webcomponents/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.json'; 2 | 3 | declare module 'preact/debug' {} 4 | 5 | declare module '@builder.io/react/dist/preact' { 6 | const react = require('@builder.io/react'); 7 | export = react; 8 | } 9 | declare module '@builder.io/widgets/dist/preact' { 10 | const react = require('@builder.io/widgets'); 11 | export = react; 12 | } 13 | -------------------------------------------------------------------------------- /plugins/async-dropdown/src/helpers/mapperEvaluator.ts: -------------------------------------------------------------------------------- 1 | const safeEvaluate = (code: string, context: any = {}) => { 2 | let result = null; 3 | try { 4 | const fn = new Function(`return ${code}`)(); 5 | result = fn(context); 6 | } catch (e) { 7 | console.error('safeEvaluate error: ', e); 8 | } 9 | 10 | return result; 11 | }; 12 | 13 | export { safeEvaluate }; 14 | -------------------------------------------------------------------------------- /packages/angular/src/app/modules/builder/decorators/builder-component.dectorator.ts: -------------------------------------------------------------------------------- 1 | import { Builder, Component, Class } from '@builder.io/sdk'; 2 | 3 | export interface AngularComponent extends Component { 4 | tag: string; 5 | } 6 | 7 | export function BuilderBlock(options: AngularComponent) { 8 | options.type = 'angular'; 9 | 10 | return Builder.Component(options); 11 | } 12 | -------------------------------------------------------------------------------- /packages/core/src/functions/get-top-level-domain.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Only gets one level up from hostname 3 | * wwww.example.com -> example.com 4 | * www.example.co.uk -> example.co.uk 5 | */ 6 | export function getTopLevelDomain(host: string) { 7 | const parts = host.split('.'); 8 | if (parts.length > 2) { 9 | return parts.slice(1).join('.'); 10 | } 11 | return host; 12 | } 13 | -------------------------------------------------------------------------------- /packages/sdks/src/functions/is-previewing.ts: -------------------------------------------------------------------------------- 1 | import { isBrowser } from './is-browser.js'; 2 | import { isEditing } from './is-editing.js'; 3 | 4 | export function isPreviewing() { 5 | if (!isBrowser()) { 6 | return false; 7 | } 8 | 9 | if (isEditing()) { 10 | return false; 11 | } 12 | 13 | return Boolean(location.search.indexOf('builder.preview=') !== -1); 14 | } 15 | -------------------------------------------------------------------------------- /packages/webcomponents/README.md: -------------------------------------------------------------------------------- 1 | # Builder Webcomponents 2 | 3 | Display Builder page or component content on any tech stack 4 | 5 | ```html 6 | 7 | 8 | ``` 9 | 10 | [View the full docs here](https://www.builder.io/c/docs/webcomponents-api) 11 | -------------------------------------------------------------------------------- /examples/angular/e2e/app.e2e-spec.ts: -------------------------------------------------------------------------------- 1 | import { AppPage } from './app.po'; 2 | 3 | describe('angular-test-site App', () => { 4 | let page: AppPage; 5 | 6 | beforeEach(() => { 7 | page = new AppPage(); 8 | }); 9 | 10 | it('should display welcome message', () => { 11 | page.navigateTo(); 12 | expect(page.getParagraphText()).toEqual('Welcome to app!'); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /examples/react-design-system/src/pages/Collection.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { ProductsList } from '../components/ProductsList/ProductsList'; 3 | import { BuilderComponent } from '@builder.io/react'; 4 | 5 | export function Collection() { 6 | return ( 7 | <> 8 | 9 | 10 | 11 | ); 12 | } 13 | -------------------------------------------------------------------------------- /examples/vue/vue-2/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "esnext", 5 | "baseUrl": "./", 6 | "moduleResolution": "node", 7 | "paths": { 8 | "@/*": [ 9 | "src/*" 10 | ] 11 | }, 12 | "lib": [ 13 | "esnext", 14 | "dom", 15 | "dom.iterable", 16 | "scripthost" 17 | ] 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /packages/commerce-plugin-tools/src/interfaces/builder-request.ts: -------------------------------------------------------------------------------- 1 | export interface BuilderRequest { 2 | '@type': '@builder.io/core:Request'; 3 | request: { 4 | url: string; 5 | query?: { [key: string]: string }; 6 | headers?: { [key: string]: string }; 7 | method?: string; 8 | }; 9 | options?: { [key: string]: any }; 10 | bindings?: { [key: string]: string }; 11 | } 12 | -------------------------------------------------------------------------------- /packages/react/src/scripts/init-editing.ts: -------------------------------------------------------------------------------- 1 | import { version } from '../../package.json'; 2 | 3 | if (typeof window !== 'undefined') { 4 | window.parent?.postMessage( 5 | { 6 | type: 'builder.isReactSdk', 7 | data: { 8 | value: true, 9 | supportsPatchUpdates: 'v3', 10 | priorVersion: version, 11 | }, 12 | }, 13 | '*' 14 | ); 15 | } 16 | -------------------------------------------------------------------------------- /starters/create-builder/nextjs/styles/globals.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | padding: 0; 4 | margin: 0; 5 | font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, 6 | Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; 7 | } 8 | 9 | a { 10 | color: inherit; 11 | text-decoration: none; 12 | } 13 | 14 | * { 15 | box-sizing: border-box; 16 | } 17 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/plugin/src/constants/page-templates.ts: -------------------------------------------------------------------------------- 1 | import { BuilderElement } from '@builder.io/sdk' 2 | 3 | export const examplePageTemplate = { 4 | name: 'New page', 5 | query: [{ property: 'urlPath', operator: 'is', value: '/' }], 6 | data: { 7 | blocks: [ 8 | // Optionally specify blocks JSON to pre-populate content with templates 9 | ], 10 | }, 11 | } 12 | -------------------------------------------------------------------------------- /examples/react-multipage-funnel/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Builder.io Multi step funnel 4 | 5 | 6 | 7 | 8 |
9 | 10 |
11 |
12 |
13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/helpers/cacheControl.js: -------------------------------------------------------------------------------- 1 | const cacheControl = 2 | values => 3 | ({ res }) => { 4 | if (!process.server) return; 5 | 6 | const cacheControlValue = Object.entries(values) 7 | .map(([key, value]) => `${key}=${value}`) 8 | .join(','); 9 | 10 | res.setHeader('Cache-Control', cacheControlValue); 11 | }; 12 | 13 | export default cacheControl; 14 | -------------------------------------------------------------------------------- /packages/personalization-utils/configurator/src/get-attributes.ts: -------------------------------------------------------------------------------- 1 | import { createAdminApiClient } from '@builder.io/admin-sdk'; 2 | 3 | export const getAttributes = async (privateKey: string) => { 4 | const adminSDK = createAdminApiClient(privateKey); 5 | const res = await adminSDK.query({ 6 | settings: true, 7 | }); 8 | return res.data?.settings.customTargetingAttributes; 9 | }; 10 | -------------------------------------------------------------------------------- /packages/plugin-loader/test/plugin-loader.test.ts: -------------------------------------------------------------------------------- 1 | import DummyClass from '../src/plugin-loader'; 2 | 3 | /** 4 | * Dummy test 5 | */ 6 | describe('Dummy test', () => { 7 | it('works if true is truthy', () => { 8 | expect(true).toBeTruthy(); 9 | }); 10 | 11 | it('DummyClass is instantiable', () => { 12 | expect(new DummyClass()).toBeInstanceOf(DummyClass); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /packages/sdks/src/blocks/raw-text/raw-text.lite.tsx: -------------------------------------------------------------------------------- 1 | export interface RawTextProps { 2 | attributes?: any; 3 | text?: string; 4 | // builderBlock?: any; 5 | } 6 | 7 | export default function RawText(props: RawTextProps) { 8 | return ( 9 | 13 | ); 14 | } 15 | -------------------------------------------------------------------------------- /packages/sdks/src/functions/get-block-properties.ts: -------------------------------------------------------------------------------- 1 | import { BuilderBlock } from '../types/builder-block.js'; 2 | 3 | export function getBlockProperties(block: BuilderBlock) { 4 | return { 5 | ...block.properties, 6 | 'builder-id': block.id, 7 | class: [block.id, 'builder-block', block.class, block.properties?.class] 8 | .filter(Boolean) 9 | .join(' '), 10 | }; 11 | } 12 | -------------------------------------------------------------------------------- /packages/swift/src/Shared/Schemas/BuilderContent.swift: -------------------------------------------------------------------------------- 1 | // Schema for Builder content 2 | struct BuilderContent: Codable { 3 | var data = BuilderContentData() 4 | var screenshot: String? = nil 5 | } 6 | 7 | struct BuilderContentData: Codable { 8 | var blocks: [BuilderBlock] = [] 9 | } 10 | 11 | struct BuilderContentList: Codable { 12 | var results: [BuilderContent] = [] 13 | } 14 | -------------------------------------------------------------------------------- /examples/angular-universal/src/app/app.server.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { ServerModule } from '@angular/platform-server'; 3 | 4 | import { AppModule } from './app.module'; 5 | import { AppComponent } from './app.component'; 6 | 7 | @NgModule({ 8 | imports: [AppModule, ServerModule], 9 | bootstrap: [AppComponent], 10 | }) 11 | export class AppServerModule {} 12 | -------------------------------------------------------------------------------- /packages/swift/src/macOS/macOS.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.files.user-selected.read-only 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /starters/react/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | } 10 | ], 11 | "start_url": ".", 12 | "display": "standalone", 13 | "theme_color": "#000000", 14 | "background_color": "#ffffff" 15 | } 16 | -------------------------------------------------------------------------------- /examples/next-js-theme-ui/config/seo.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Next.JS with theme-ui starter", 3 | "titleTemplate": "%s - Demo", 4 | "description": "A starter kit for demo site with Builder.io and themes", 5 | "openGraph": { 6 | "type": "website", 7 | "locale": "en_IE", 8 | "url": "https://github.com/BuilderIO/builder", 9 | "site_name": "Builder.io + theme-ui + Next.js" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /examples/svelte-design-system/src/routes/[...catchall].svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 | 8 | 9 |
10 | 11 |
12 | 13 | 20 | -------------------------------------------------------------------------------- /packages/angular/src/app/modules/builder/directives/builder-content.directive.spec.ts: -------------------------------------------------------------------------------- 1 | import { BuilderContentDirective } from './builder-content.directive'; 2 | 3 | describe('BuilderContentDirective', () => { 4 | it('should create an instance', () => { 5 | // const directive = new BuilderContentDirective(); 6 | // expect(directive).toBeTruthy(); 7 | expect(true).toBeTruthy(); 8 | }); 9 | }); 10 | -------------------------------------------------------------------------------- /packages/create-builder.io/src/vendor/prompts/util/strip.js: -------------------------------------------------------------------------------- 1 | export default function (str) { 2 | const pattern = [ 3 | '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)', 4 | '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))', 5 | ].join('|'); 6 | 7 | const RGX = new RegExp(pattern, 'g'); 8 | return typeof str === 'string' ? str.replace(RGX, '') : str; 9 | } 10 | -------------------------------------------------------------------------------- /packages/sdks/src/blocks/raw-text/component-info.ts: -------------------------------------------------------------------------------- 1 | import type { ComponentInfo } from '../../types/components'; 2 | 3 | export const componentInfo: ComponentInfo = { 4 | name: 'Builder:RawText', 5 | hideFromInsertMenu: true, 6 | builtIn: true, 7 | inputs: [ 8 | { 9 | name: 'text', 10 | bubble: true, 11 | type: 'longText', 12 | required: true, 13 | }, 14 | ], 15 | }; 16 | -------------------------------------------------------------------------------- /examples/angular/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | AngularTestSite 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /examples/vue/vue-3/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite App 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/shims-webpack.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'webpack-hot-middleware' { 2 | const middleware: any; 3 | export interface Options { 4 | [proName: string]: any; 5 | } 6 | 7 | export interface ClientOptions { 8 | [proName: string]: any; 9 | } 10 | 11 | export interface MiddlewareOptions { 12 | [proName: string]: any; 13 | } 14 | 15 | export default middleware; 16 | } 17 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/tests/e2e/fixtures/test-data/e2e-user-login.json: -------------------------------------------------------------------------------- 1 | { 2 | "Should successfully login": { 3 | "customer": { 4 | "password": "Vu3S70r3fr0n7!" 5 | } 6 | }, 7 | "Incorrect credentials - should display an error": { 8 | "customer": { 9 | "password": "Vu3S70r3fr0n7!" 10 | }, 11 | "errorMessage": "Account with the given credentials not found." 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /packages/angular/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Angular 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /packages/personalization-utils/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "rootDir": "src", 4 | "outDir": "dist", 5 | "module": "CommonJS", 6 | "target": "es6", 7 | "esModuleInterop": true, 8 | "strict": true, 9 | "declaration": true, 10 | "jsx": "react", 11 | "skipLibCheck": true 12 | }, 13 | "include": ["./src"], 14 | "exclude": ["node_modules", "**/*.test.ts"] 15 | } 16 | -------------------------------------------------------------------------------- /packages/sdks/src/functions/get-global-this.ts: -------------------------------------------------------------------------------- 1 | export function getGlobalThis(): any { 2 | if (typeof globalThis !== 'undefined') { 3 | return globalThis; 4 | } 5 | if (typeof window !== 'undefined') { 6 | return window; 7 | } 8 | if (typeof global !== 'undefined') { 9 | return global; 10 | } 11 | if (typeof self !== 'undefined') { 12 | return self; 13 | } 14 | return null; 15 | } 16 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/tests/e2e/pages/utils/element.ts: -------------------------------------------------------------------------------- 1 | export function el(selector: string, children?: string): Cypress.Chainable { 2 | return children 3 | ? cy.get(`[data-e2e="${selector}"] ${children}`) 4 | : cy.get(`[data-e2e="${selector}"]`); 5 | } 6 | 7 | export function contains(selector: string, text: string): Cypress.Chainable { 8 | return cy.contains(`[data-e2e="${selector}"]`, text); 9 | } 10 | -------------------------------------------------------------------------------- /packages/amp/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | branches: 3 | only: 4 | - master 5 | - /^greenkeeper/.*$/ 6 | cache: 7 | yarn: true 8 | directories: 9 | - node_modules 10 | notifications: 11 | email: false 12 | node_js: 13 | - node 14 | script: 15 | - npm run test:prod && npm run build 16 | after_success: 17 | - npm run report-coverage 18 | - npm run deploy-docs 19 | - npm run semantic-release 20 | -------------------------------------------------------------------------------- /packages/android/sdk/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | gradlePluginPortal() 4 | google() 5 | mavenCentral() 6 | } 7 | } 8 | dependencyResolutionManagement { 9 | repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS) 10 | repositories { 11 | google() 12 | mavenCentral() 13 | } 14 | } 15 | rootProject.name = "My Application" 16 | include ':app' 17 | -------------------------------------------------------------------------------- /packages/email/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | branches: 3 | only: 4 | - master 5 | - /^greenkeeper/.*$/ 6 | cache: 7 | yarn: true 8 | directories: 9 | - node_modules 10 | notifications: 11 | email: false 12 | node_js: 13 | - node 14 | script: 15 | - npm run test:prod && npm run build 16 | after_success: 17 | - npm run report-coverage 18 | - npm run deploy-docs 19 | - npm run semantic-release 20 | -------------------------------------------------------------------------------- /packages/fiddle/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | branches: 3 | only: 4 | - master 5 | - /^greenkeeper/.*$/ 6 | cache: 7 | yarn: true 8 | directories: 9 | - node_modules 10 | notifications: 11 | email: false 12 | node_js: 13 | - node 14 | script: 15 | - npm run test:prod && npm run build 16 | after_success: 17 | - npm run report-coverage 18 | - npm run deploy-docs 19 | - npm run semantic-release 20 | -------------------------------------------------------------------------------- /packages/react/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | branches: 3 | only: 4 | - master 5 | - /^greenkeeper/.*$/ 6 | cache: 7 | yarn: true 8 | directories: 9 | - node_modules 10 | notifications: 11 | email: false 12 | node_js: 13 | - node 14 | script: 15 | - npm run test:prod && npm run build 16 | after_success: 17 | - npm run report-coverage 18 | - npm run deploy-docs 19 | - npm run semantic-release 20 | -------------------------------------------------------------------------------- /packages/react/src/hooks/useIsPreviewing.ts: -------------------------------------------------------------------------------- 1 | import { useEffect, useState } from 'react'; 2 | import { Builder } from '@builder.io/sdk'; 3 | 4 | export function useIsPreviewing() { 5 | const [isPreviewing, setIsPreviewing] = useState(false); 6 | 7 | useEffect(() => { 8 | if (Builder.isEditing || Builder.isPreviewing) { 9 | setIsPreviewing(true); 10 | } 11 | }, []); 12 | 13 | return isPreviewing; 14 | } 15 | -------------------------------------------------------------------------------- /packages/widgets/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | branches: 3 | only: 4 | - master 5 | - /^greenkeeper/.*$/ 6 | cache: 7 | yarn: true 8 | directories: 9 | - node_modules 10 | notifications: 11 | email: false 12 | node_js: 13 | - node 14 | script: 15 | - npm run test:prod && npm run build 16 | after_success: 17 | - npm run report-coverage 18 | - npm run deploy-docs 19 | - npm run semantic-release 20 | -------------------------------------------------------------------------------- /starters/react/src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 4 | 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; 5 | -webkit-font-smoothing: antialiased; 6 | -moz-osx-font-smoothing: grayscale; 7 | } 8 | 9 | code { 10 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace; 11 | } 12 | -------------------------------------------------------------------------------- /examples/angular-universal/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Angular Test Site 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /examples/svelte-design-system/src/components/Button/Button.svelte: -------------------------------------------------------------------------------- 1 | 9 | 10 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/tests/e2e/fixtures/responses/getOrdersWithOffset.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": { 3 | "me": { 4 | "orders": { 5 | "results": [], 6 | "total": 21, 7 | "offset": 10, 8 | "count": 10, 9 | "__typename": "OrderQueryResult" 10 | }, 11 | "__typename": "Me" 12 | } 13 | }, 14 | "loading": false, 15 | "networkStatus": 7, 16 | "stale": false 17 | } 18 | -------------------------------------------------------------------------------- /packages/personalization-utils/configurator/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "rootDir": "src", 4 | "outDir": "dist", 5 | "module": "CommonJS", 6 | "target": "es6", 7 | "esModuleInterop": true, 8 | "strict": true, 9 | "declaration": true, 10 | "jsx": "react", 11 | "skipLibCheck": true 12 | }, 13 | "include": ["./src"], 14 | "exclude": ["node_modules", "**/*.test.ts"] 15 | } 16 | -------------------------------------------------------------------------------- /packages/swift/src/Package.resolved: -------------------------------------------------------------------------------- 1 | { 2 | "object": { 3 | "pins": [ 4 | { 5 | "package": "SwiftyJSON", 6 | "repositoryURL": "https://github.com/SwiftyJSON/SwiftyJSON.git", 7 | "state": { 8 | "branch": null, 9 | "revision": "2b6054efa051565954e1d2b9da831680026cd768", 10 | "version": "4.3.0" 11 | } 12 | } 13 | ] 14 | }, 15 | "version": 1 16 | } 17 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/admin/helpers/auth0.ts: -------------------------------------------------------------------------------- 1 | import { initAuth0 } from '@auth0/nextjs-auth0' 2 | 3 | export default initAuth0({ 4 | secret: process.env.AUTH0_SECRET!, 5 | clientID: process.env.AUTH0_CLIENT_ID, 6 | clientSecret: process.env.AUTH0_CLIENT_SECRET, 7 | issuerBaseURL: process.env.AUTH0_ISSUER_BASE_URL, 8 | baseURL: process.env.BASE_URL, 9 | routes: { 10 | callback: `/api/callback`, 11 | }, 12 | }) 13 | -------------------------------------------------------------------------------- /examples/storybook/.storybook/preview.js: -------------------------------------------------------------------------------- 1 | import { addParameters, addDecorator } from '@storybook/react'; 2 | import { BuilderComponent } from '@builder.io/react'; 3 | import { builderDecorator } from '@builder.io/storybook'; 4 | import '../src/builder-settings'; 5 | 6 | addDecorator(builderDecorator); 7 | 8 | addParameters({ 9 | builder: { 10 | component: BuilderComponent, 11 | navigateOnDblClick: true, 12 | }, 13 | }); 14 | -------------------------------------------------------------------------------- /packages/android/sdk/app/src/main/java/com/example/myapplication/ui/theme/Shape.kt: -------------------------------------------------------------------------------- 1 | package com.example.myapplication.ui.theme 2 | 3 | import androidx.compose.foundation.shape.RoundedCornerShape 4 | import androidx.compose.material.Shapes 5 | import androidx.compose.ui.unit.dp 6 | 7 | val Shapes = Shapes( 8 | small = RoundedCornerShape(4.dp), 9 | medium = RoundedCornerShape(4.dp), 10 | large = RoundedCornerShape(0.dp) 11 | ) -------------------------------------------------------------------------------- /packages/sdks/scripts/add-resolutions.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # You'll need to install `jq`: https://stedolan.github.io/jq/ 3 | 4 | # Sets `@builder.io/mitosis-cli` resolution symlinks in `package.json`. Assumes `mitosis` repo lives besides this one. 5 | echo "$(jq '.resolutions."@builder.io/mitosis-cli" = "link:../../../mitosis/packages/cli" | .resolutions."@builder.io/mitosis" = "link:../../../mitosis/packages/core"' package.json)" >package.json 6 | -------------------------------------------------------------------------------- /packages/swift/src/testing.xcworkspace/xcshareddata/swiftpm/Package.resolved: -------------------------------------------------------------------------------- 1 | { 2 | "pins" : [ 3 | { 4 | "identity" : "swiftyjson", 5 | "kind" : "remoteSourceControl", 6 | "location" : "https://github.com/SwiftyJSON/SwiftyJSON", 7 | "state" : { 8 | "revision" : "b3dcd7dbd0d488e1a7077cb33b00f2083e382f07", 9 | "version" : "5.0.1" 10 | } 11 | } 12 | ], 13 | "version" : 2 14 | } 15 | -------------------------------------------------------------------------------- /packages/webcomponents/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | branches: 3 | only: 4 | - master 5 | - /^greenkeeper/.*$/ 6 | cache: 7 | yarn: true 8 | directories: 9 | - node_modules 10 | notifications: 11 | email: false 12 | node_js: 13 | - node 14 | script: 15 | - npm run test:prod && npm run build 16 | after_success: 17 | - npm run report-coverage 18 | - npm run deploy-docs 19 | - npm run semantic-release 20 | -------------------------------------------------------------------------------- /starters/react/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.log 3 | dist 4 | test-lib/**/*.js 5 | coverage 6 | .history 7 | .nyc_output 8 | .idea 9 | .vscode 10 | .next 11 | firebase.json 12 | temp 13 | yarn-error.log 14 | .build 15 | Pods/ 16 | 17 | 18 | **/.pnp.* 19 | **/.yarn/* 20 | !**/.yarn/patches 21 | !**/.yarn/plugins 22 | !**/.yarn/releases 23 | !**/.yarn/sdks 24 | !**/.yarn/versions 25 | 26 | # macOS 27 | .DS_Store 28 | 29 | 30 | .cache 31 | .rpt2_cache/ 32 | -------------------------------------------------------------------------------- /examples/react/src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: sans-serif; 3 | } 4 | 5 | header { 6 | display: flex; 7 | padding: 10px; 8 | } 9 | 10 | .links { 11 | margin: auto; 12 | } 13 | 14 | main { 15 | padding: 10px; 16 | } 17 | 18 | .logo { 19 | font-size: 18px; 20 | letter-spacing: 2px; 21 | } 22 | 23 | .link { 24 | margin-right: 15px; 25 | } 26 | 27 | .loading { 28 | padding: 50px; 29 | text-align: center; 30 | } 31 | -------------------------------------------------------------------------------- /packages/app-context/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@builder.io/app-context", 3 | "version": "1.0.1-1", 4 | "description": "Builder.io plugin application context", 5 | "main": "index.js", 6 | "scripts": { 7 | "release:dev": "npm version prerelease --no-git-tag-version && ALLOW_PUBLISH=true npm publish --tag dev" 8 | }, 9 | "devDependencies": { 10 | "@builder.io/sdk": "^1.1.26", 11 | "react": "^18.0.0" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /packages/email/src/components/EmailPreview.tsx: -------------------------------------------------------------------------------- 1 | import { resetStyles } from '../constants/reset-styles'; 2 | import React from 'react'; 3 | 4 | interface EmailPreviewProps {} 5 | 6 | export class EmailPreview extends React.Component { 7 | render() { 8 | return ( 9 |
10 | 11 | {this.props.children} 12 |
13 | ); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /packages/sdks/scripts/remove-resolutions.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # You'll need to install `jq`: https://stedolan.github.io/jq/ 3 | 4 | # Remove `@builder.io/mitosis-cli` resolution from the list of resolutions in `package.json`` 5 | # This is needed in CI since we don't currently have the mitosis repo locally existing in this one. 6 | echo "$(jq 'del(.resolutions."@builder.io/mitosis-cli",.resolutions."@builder.io/mitosis")' package.json)" >package.json 7 | -------------------------------------------------------------------------------- /examples/embed-starter-kit/site/blocks/header/cart/cart.builder.ts: -------------------------------------------------------------------------------- 1 | import dynamic from 'next/dynamic' 2 | import { Builder } from '@builder.io/react' 3 | 4 | Builder.registerComponent( 5 | dynamic(() => import('./cart')), 6 | { 7 | name: 'Cart', 8 | description: 'Cart button', 9 | image: 10 | 'https://cdn.builder.io/api/v1/image/assets%2Fe7eb284a1bc549c8856f32d1fc7a44cf%2F32c90ca2aa1a4812bc9314bae1b795c6', 11 | } 12 | ) 13 | -------------------------------------------------------------------------------- /examples/next-js-builder-site/src/constants/breakpoints.ts: -------------------------------------------------------------------------------- 1 | export const xLargeBreakpoint = 1450; 2 | export const xLargeBreakpointMediaQuery = `@media (max-width: ${xLargeBreakpoint}px)`; 3 | 4 | export const largeBreakpoint = 1250; 5 | export const largeBreakpointMediaQuery = `@media (max-width: ${largeBreakpoint}px)`; 6 | 7 | export const mediumBreakpoint = 800; 8 | export const mediumBreakpointMediaQuery = `@media (max-width: ${mediumBreakpoint}px)`; 9 | -------------------------------------------------------------------------------- /examples/plain-js/src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: sans-serif; 3 | } 4 | 5 | header { 6 | display: flex; 7 | padding: 10px; 8 | } 9 | 10 | .links { 11 | margin: auto; 12 | } 13 | 14 | main { 15 | padding: 10px; 16 | } 17 | 18 | .logo { 19 | font-size: 18px; 20 | letter-spacing: 2px; 21 | } 22 | 23 | .link { 24 | margin-right: 15px; 25 | } 26 | 27 | .loading { 28 | padding: 100px; 29 | text-align: center; 30 | } 31 | -------------------------------------------------------------------------------- /examples/solid-js/src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', 5 | sans-serif; 6 | -webkit-font-smoothing: antialiased; 7 | -moz-osx-font-smoothing: grayscale; 8 | } 9 | 10 | code { 11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', 12 | monospace; 13 | } 14 | -------------------------------------------------------------------------------- /examples/svelte/sveltekit/src/app.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | %sveltekit.head% 9 | 10 | 11 |
%sveltekit.body%
12 | 13 | 14 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/tests/e2e/utils/data-generator.ts: -------------------------------------------------------------------------------- 1 | const generator = { 2 | get email(): string { 3 | return `cypress.${Date.now()}@vuestorefront.test`; 4 | }, 5 | 6 | get uuid(): string { 7 | return 'xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx'.replace(/[x]/g, () => { 8 | const random = Math.floor(Math.random() * 16); 9 | return random.toString(16); 10 | }); 11 | }, 12 | }; 13 | 14 | export default generator; 15 | -------------------------------------------------------------------------------- /packages/fiddle/test/builder-fiddle.test.ts: -------------------------------------------------------------------------------- 1 | // TODO 2 | // import DummyClass from "../src/builder-webcomponents" 3 | 4 | // /** 5 | // * Dummy test 6 | // */ 7 | // describe("Dummy test", () => { 8 | // it("works if true is truthy", () => { 9 | // expect(true).toBeTruthy() 10 | // }) 11 | 12 | // it("DummyClass is instantiable", () => { 13 | // expect(new DummyClass()).toBeInstanceOf(DummyClass) 14 | // }) 15 | // }) 16 | // 17 | -------------------------------------------------------------------------------- /packages/sdks/src/helpers/css.ts: -------------------------------------------------------------------------------- 1 | import { camelToKebabCase } from '../functions/camel-to-kebab-case'; 2 | 3 | export const convertStyleMaptoCSS = ( 4 | style: Partial 5 | ): string => { 6 | const cssProps = Object.entries(style).map(([key, value]) => { 7 | if (typeof value === 'string') { 8 | return `${camelToKebabCase(key)}: ${value};`; 9 | } 10 | }); 11 | 12 | return cssProps.join('\n'); 13 | }; 14 | -------------------------------------------------------------------------------- /examples/angular/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | // The file contents for the current environment will overwrite these during build. 2 | // The build system defaults to the dev environment which uses `environment.ts`, but if you do 3 | // `ng build --env=prod` then `environment.prod.ts` will be used instead. 4 | // The list of which env maps to which file can be found in `.angular-cli.json`. 5 | 6 | export const environment = { 7 | production: false, 8 | }; 9 | -------------------------------------------------------------------------------- /examples/angular/src/main.ts: -------------------------------------------------------------------------------- 1 | import { enableProdMode } from '@angular/core'; 2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 3 | 4 | import { AppModule } from './app/app.module'; 5 | import { environment } from './environments/environment'; 6 | 7 | if (environment.production) { 8 | enableProdMode(); 9 | } 10 | 11 | platformBrowserDynamic() 12 | .bootstrapModule(AppModule) 13 | .catch(err => console.log(err)); 14 | -------------------------------------------------------------------------------- /examples/vue/vue-3/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { fileURLToPath, URL } from 'url'; 2 | 3 | import { defineConfig } from 'vite'; 4 | import vue from '@vitejs/plugin-vue'; 5 | import vueJsx from '@vitejs/plugin-vue-jsx'; 6 | 7 | // https://vitejs.dev/config/ 8 | export default defineConfig({ 9 | plugins: [vue(), vueJsx()], 10 | resolve: { 11 | alias: { 12 | '@': fileURLToPath(new URL('./src', import.meta.url)), 13 | }, 14 | }, 15 | }); 16 | -------------------------------------------------------------------------------- /examples/vue/vue-storefront-2/middleware/README.md: -------------------------------------------------------------------------------- 1 | # MIDDLEWARE 2 | 3 | **This directory is not required, you can delete it if you don't want to use it.** 4 | 5 | This directory contains your application middleware. 6 | Middleware let you define custom functions that can be run before rendering either a page or a group of pages. 7 | 8 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing#middleware). 9 | -------------------------------------------------------------------------------- /packages/angular/src/app/app.server.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { ServerModule, ServerTransferStateModule } from '@angular/platform-server'; 3 | 4 | import { AppModule } from './app.module'; 5 | import { AppComponent } from './app.component'; 6 | 7 | @NgModule({ 8 | imports: [AppModule, ServerModule, ServerTransferStateModule], 9 | 10 | bootstrap: [AppComponent], 11 | }) 12 | export class AppServerModule {} 13 | -------------------------------------------------------------------------------- /packages/angular/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | // The file contents for the current environment will overwrite these during build. 2 | // The build system defaults to the dev environment which uses `environment.ts`, but if you do 3 | // `ng build --env=prod` then `environment.prod.ts` will be used instead. 4 | // The list of which env maps to which file can be found in `.angular-cli.json`. 5 | 6 | export const environment = { 7 | production: false, 8 | }; 9 | --------------------------------------------------------------------------------