├── .github
└── .metadata.json
├── .gitignore
├── BannerApp
└── Appearance
│ ├── README.md
│ ├── etc
│ ├── adminhtml
│ │ └── di.xml
│ └── module.xml
│ ├── registration.php
│ └── view
│ └── adminhtml
│ ├── pagebuilder
│ └── content_type
│ │ └── banner.xml
│ └── web
│ ├── css
│ ├── images
│ │ └── content-type
│ │ │ └── banner
│ │ │ └── appearance
│ │ │ └── simple-poster.svg
│ └── source
│ │ ├── _appearances.less
│ │ └── _module.less
│ └── template
│ └── content-type
│ └── banner
│ └── simple-poster
│ ├── master.html
│ └── preview.html
├── BannerExt
└── Extension
│ ├── README.md
│ ├── composer.json
│ ├── etc
│ └── module.xml
│ ├── registration.php
│ └── view
│ ├── adminhtml
│ ├── pagebuilder
│ │ └── content_type
│ │ │ └── banner.xml
│ ├── ui_component
│ │ └── pagebuilder_banner_form.xml
│ └── web
│ │ ├── css
│ │ ├── images
│ │ │ ├── sweater-mobile.jpeg
│ │ │ └── sweater.jpeg
│ │ └── source
│ │ │ ├── _module.less
│ │ │ └── content-type
│ │ │ └── banner
│ │ │ ├── _collage-center.less
│ │ │ ├── _collage-right.less
│ │ │ ├── _default.less
│ │ │ ├── _import.less
│ │ │ └── _poster.less
│ │ └── template
│ │ └── content-type
│ │ └── banner
│ │ ├── collage-centered
│ │ ├── master.html
│ │ └── preview.html
│ │ ├── collage-left
│ │ ├── master.html
│ │ └── preview.html
│ │ ├── collage-right
│ │ ├── master.html
│ │ └── preview.html
│ │ └── poster
│ │ ├── master.html
│ │ └── preview.html
│ └── frontend
│ └── web
│ ├── css
│ └── source
│ │ ├── _module.less
│ │ └── content-type
│ │ └── banner
│ │ ├── _default.less
│ │ └── _import.less
│ └── images
│ └── hearts.svg
├── Button
└── Extension
│ ├── .gitignore
│ ├── README.md
│ ├── composer.json
│ ├── custom-button-types.gif
│ ├── etc
│ └── module.xml
│ ├── front-end-theme.png
│ ├── registration.php
│ └── view
│ └── adminhtml
│ ├── ui_component
│ ├── pagebuilder_banner_form.xml
│ ├── pagebuilder_button_item_form.xml
│ └── pagebuilder_slide_form.xml
│ └── web
│ └── css
│ └── source
│ ├── _custom-button-types.less
│ └── _module.less
├── COPYRIGHT
├── Columns
└── Extension
│ ├── ColumnsPerRowAndColumnHiding.gif
│ ├── Plugin
│ └── StageConfigFix.php
│ ├── README.md
│ ├── composer.json
│ ├── etc
│ ├── adminhtml
│ │ └── di.xml
│ ├── di.xml
│ ├── module.xml
│ └── view.xml
│ ├── registration.php
│ ├── responsive-columns-module.png
│ └── view
│ ├── adminhtml
│ ├── layout
│ │ ├── pagebuilder_column_mobile-small_form.xml
│ │ └── pagebuilder_column_tablet_form.xml
│ ├── pagebuilder
│ │ └── content_type
│ │ │ ├── column.xml
│ │ │ └── column_group.xml
│ ├── ui_component
│ │ ├── pagebuilder_column_mobile-small_form.xml
│ │ └── pagebuilder_column_tablet_form.xml
│ └── web
│ │ ├── css
│ │ ├── images
│ │ │ ├── desktop.svg
│ │ │ ├── mobile-small.svg
│ │ │ ├── mobile.svg
│ │ │ ├── switcher
│ │ │ │ ├── switcher-desktop.svg
│ │ │ │ ├── switcher-mobile-small.svg
│ │ │ │ ├── switcher-mobile.svg
│ │ │ │ └── switcher-tablet.svg
│ │ │ └── tablet.svg
│ │ └── source
│ │ │ ├── _fonts.less
│ │ │ ├── _module.less
│ │ │ ├── _vars.less
│ │ │ ├── content-type
│ │ │ ├── column-group
│ │ │ │ ├── _default.less
│ │ │ │ └── _import.less
│ │ │ └── column
│ │ │ │ ├── _default.less
│ │ │ │ └── _import.less
│ │ │ ├── form
│ │ │ ├── _import.less
│ │ │ ├── _mobile-small.less
│ │ │ └── _tablet.less
│ │ │ └── viewport-switcher
│ │ │ ├── tooltips.less
│ │ │ └── viewports.less
│ │ ├── fonts
│ │ └── breakpoint-icons
│ │ │ ├── breakpoint-icons.eot
│ │ │ ├── breakpoint-icons.svg
│ │ │ ├── breakpoint-icons.ttf
│ │ │ ├── breakpoint-icons.woff
│ │ │ └── selection.json
│ │ ├── js
│ │ └── content-type
│ │ │ ├── column-group
│ │ │ └── preview.js
│ │ │ └── column
│ │ │ └── preview.js
│ │ └── ts
│ │ ├── .babelrc.js
│ │ ├── babel
│ │ ├── plugin-amd-to-magento-amd
│ │ │ ├── ast-utils.js
│ │ │ └── index.js
│ │ └── plugin-resolve-magento-imports
│ │ │ └── index.js
│ │ └── js
│ │ └── content-type
│ │ ├── column-group
│ │ └── preview.ts
│ │ └── column
│ │ └── preview.ts
│ ├── base
│ └── web
│ │ └── js
│ │ └── content-type
│ │ ├── column-group
│ │ └── appearance
│ │ │ └── default
│ │ │ └── widget.js
│ │ ├── column
│ │ └── appearance
│ │ │ └── default
│ │ │ └── widget.js
│ │ └── products
│ │ └── appearance
│ │ └── carousel
│ │ └── widget.js
│ └── frontend
│ └── web
│ └── css
│ └── source
│ ├── _module.less
│ └── content-type
│ ├── column-group
│ ├── _default.less
│ └── _import.less
│ └── column
│ ├── _default.less
│ └── _import.less
├── Deactivate
└── PageBuilder
│ ├── README.md
│ ├── cms-form-overrides.png
│ ├── etc
│ └── module.xml
│ ├── pagebuilder-disabled-for-blocks.png
│ ├── registration.php
│ └── view
│ └── adminhtml
│ └── ui_component
│ ├── banner_form.xml
│ ├── cms_block_form.xml
│ └── cms_page_form.xml
├── Example
└── PageBuilderCountdown
│ ├── README.md
│ ├── composer.json
│ ├── countdown.png
│ ├── etc
│ ├── adminhtml
│ │ └── di.xml
│ ├── di.xml
│ └── module.xml
│ ├── registration.php
│ └── view
│ ├── adminhtml
│ ├── layout
│ │ └── pagebuilder_example_countdown_form.xml
│ ├── pagebuilder
│ │ └── content_type
│ │ │ └── example_countdown.xml
│ ├── ui_component
│ │ └── pagebuilder_example_countdown_form.xml
│ └── web
│ │ ├── css
│ │ ├── images
│ │ │ └── content-type
│ │ │ │ └── example-countdown
│ │ │ │ └── appearance
│ │ │ │ └── icon-pagebuilder-countdown.svg
│ │ └── source
│ │ │ ├── _module.less
│ │ │ └── content-type
│ │ │ └── example-countdown
│ │ │ ├── _default.less
│ │ │ └── _import.less
│ │ ├── js
│ │ └── content-type
│ │ │ └── example-countdown
│ │ │ └── preview.js
│ │ └── template
│ │ └── content-type
│ │ └── example-countdown
│ │ └── default
│ │ ├── master.html
│ │ └── preview.html
│ ├── base
│ └── web
│ │ └── js
│ │ └── content-type
│ │ └── example-countdown
│ │ ├── appearance
│ │ └── default
│ │ │ └── widget.js
│ │ └── countdown.js
│ └── frontend
│ └── web
│ └── css
│ └── source
│ ├── _module.less
│ └── content-type
│ └── example-countdown
│ ├── _default.less
│ └── _import.less
├── FAQ
└── Custom
│ ├── README.md
│ ├── composer.json
│ ├── etc
│ ├── adminhtml
│ │ └── di.xml
│ ├── di.xml
│ └── module.xml
│ ├── faq.png
│ ├── registration.php
│ └── view
│ ├── adminhtml
│ ├── layout
│ │ ├── pagebuilder_faq_form.xml
│ │ └── pagebuilder_faq_item_form.xml
│ ├── pagebuilder
│ │ └── content_type
│ │ │ ├── faq.xml
│ │ │ └── faq_item.xml
│ ├── ui_component
│ │ ├── pagebuilder_faq_form.xml
│ │ └── pagebuilder_faq_item_form.xml
│ └── web
│ │ ├── css
│ │ └── source
│ │ │ ├── _module.less
│ │ │ └── content-type
│ │ │ ├── faq-item
│ │ │ └── _import.less
│ │ │ └── faq
│ │ │ └── _import.less
│ │ ├── js
│ │ └── content-type
│ │ │ ├── faq-item
│ │ │ ├── preview.js
│ │ │ └── wysiwyg
│ │ │ │ └── tinymce4
│ │ │ │ ├── component-initializer.js
│ │ │ │ └── config-modifier.js
│ │ │ └── faq
│ │ │ └── preview.js
│ │ └── template
│ │ └── content-type
│ │ ├── faq-item
│ │ └── default
│ │ │ ├── master.html
│ │ │ └── preview.html
│ │ └── faq
│ │ └── default
│ │ ├── master.html
│ │ └── preview.html
│ ├── base
│ └── web
│ │ └── js
│ │ └── content-type
│ │ └── faq
│ │ └── appearance
│ │ └── default
│ │ └── widget.js
│ └── frontend
│ └── web
│ └── css
│ └── source
│ ├── _module.less
│ └── content-type
│ ├── faq-item
│ └── _import.less
│ └── faq
│ └── _import.less
├── Forms
└── Extension
│ ├── README.md
│ ├── etc
│ └── module.xml
│ ├── registration.php
│ └── view
│ └── adminhtml
│ └── ui_component
│ ├── pagebuilder_base_form.xml
│ └── pagebuilder_base_form_with_background_attributes.xml
├── Grid
└── Custom
│ ├── README.md
│ ├── composer.json
│ ├── etc
│ ├── adminhtml
│ │ └── di.xml
│ └── module.xml
│ ├── examples
│ ├── luma_homepage.html
│ ├── luma_homepage_admin.png
│ └── luma_homepage_storefront.png
│ ├── registration.php
│ └── view
│ ├── adminhtml
│ ├── layout
│ │ ├── pagebuilder_homepage_grid_form.xml
│ │ └── pagebuilder_homepage_grid_item_form.xml
│ ├── pagebuilder
│ │ └── content_type
│ │ │ ├── homepage_grid.xml
│ │ │ └── homepage_grid_item.xml
│ ├── ui_component
│ │ ├── pagebuilder_homepage_grid_form.xml
│ │ └── pagebuilder_homepage_grid_item_form.xml
│ └── web
│ │ ├── css
│ │ └── source
│ │ │ └── _module.less
│ │ ├── js
│ │ └── content-type
│ │ │ ├── homepage-grid-item
│ │ │ └── preview.js
│ │ │ └── homepage-grid
│ │ │ └── preview.js
│ │ └── template
│ │ └── content-type
│ │ ├── homepage-grid-item
│ │ └── default
│ │ │ ├── master.html
│ │ │ └── preview.html
│ │ └── homepage-grid
│ │ └── default
│ │ ├── master.html
│ │ └── preview.html
│ └── frontend
│ ├── layout
│ └── default.xml
│ └── web
│ ├── css
│ └── source
│ │ └── _module.less
│ └── js
│ └── content-type
│ └── homepage-grid
│ └── appearance
│ └── default
│ └── widget.js
├── Image
└── LazyLoading
│ ├── README.md
│ ├── adding-lazy-loading.svg
│ ├── composer.json
│ ├── etc
│ └── module.xml
│ ├── registration.php
│ └── view
│ ├── adminhtml
│ ├── pagebuilder
│ │ └── content_type
│ │ │ └── image.xml
│ └── web
│ │ └── template
│ │ └── content-type
│ │ └── image
│ │ └── full-width
│ │ ├── master.html
│ │ └── preview.html
│ └── base
│ ├── layout
│ └── default.xml
│ └── web
│ └── js
│ └── resource
│ └── lazysizes
│ ├── lazySizesConfig.js
│ ├── lazysizes.min.js
│ └── ls.attrchange.min.js
├── LICENSE.txt
├── Quote
└── Custom
│ ├── .gitignore
│ ├── README.md
│ ├── composer.json
│ ├── etc
│ ├── adminhtml
│ │ └── di.xml
│ ├── di.xml
│ └── module.xml
│ ├── registration.php
│ └── view
│ ├── adminhtml
│ ├── layout
│ │ └── pagebuilder_custom_quote_form.xml
│ ├── pagebuilder
│ │ └── content_type
│ │ │ └── custom_quote.xml
│ ├── ui_component
│ │ └── pagebuilder_custom_quote_form.xml
│ └── web
│ │ ├── css
│ │ ├── images
│ │ │ └── content-type
│ │ │ │ └── custom-quote
│ │ │ │ └── appearance
│ │ │ │ ├── icon-pagebuilder-black-swatch.svg
│ │ │ │ ├── icon-pagebuilder-blue-swatch.svg
│ │ │ │ ├── icon-pagebuilder-green-swatch.svg
│ │ │ │ ├── icon-pagebuilder-purple-swatch.svg
│ │ │ │ ├── icon-pagebuilder-quote.svg
│ │ │ │ └── icon-pagebuilder-red-swatch.svg
│ │ └── source
│ │ │ ├── _module.less
│ │ │ └── content-type
│ │ │ └── custom-quote
│ │ │ ├── _default.less
│ │ │ └── _import.less
│ │ ├── js
│ │ └── content-type
│ │ │ └── custom-quote
│ │ │ ├── preview.js
│ │ │ └── wysiwyg
│ │ │ └── tinymce4
│ │ │ └── component-initializer.js
│ │ └── template
│ │ └── content-type
│ │ └── custom-quote
│ │ └── default
│ │ ├── master.html
│ │ └── preview.html
│ ├── base
│ └── web
│ │ └── js
│ │ └── content-type
│ │ └── custom-quote
│ │ └── appearance
│ │ └── default
│ │ └── widget.js
│ └── frontend
│ └── web
│ └── css
│ └── source
│ ├── _module.less
│ └── content-type
│ └── custom-quote
│ ├── _default.less
│ └── _import.less
├── README.md
├── Slider
└── Extension
│ ├── README.md
│ ├── etc
│ ├── di.xml
│ └── module.xml
│ ├── registration.php
│ ├── slider-center-mode.gif
│ └── view
│ ├── adminhtml
│ ├── pagebuilder
│ │ └── content_type
│ │ │ └── slider.xml
│ ├── ui_component
│ │ ├── pagebuilder_slide_form.xml
│ │ └── pagebuilder_slider_form.xml
│ └── web
│ │ ├── css
│ │ └── source
│ │ │ ├── _module.less
│ │ │ └── content-type
│ │ │ └── slide
│ │ │ ├── _default.less
│ │ │ └── _import.less
│ │ └── js
│ │ └── content-type
│ │ └── slider
│ │ └── preview.js
│ └── base
│ └── web
│ └── js
│ └── content-type
│ └── slider
│ └── appearance
│ └── default
│ └── widget.js
├── Text
└── Extension
│ ├── README.md
│ ├── etc
│ ├── adminhtml
│ │ └── di.xml
│ └── module.xml
│ ├── registration.php
│ ├── text-extension.gif
│ └── view
│ └── adminhtml
│ └── web
│ ├── css
│ └── source
│ │ ├── _module.less
│ │ └── content-type
│ │ └── text
│ │ ├── _default.less
│ │ └── _import.less
│ └── fonts
│ ├── OFL.txt
│ ├── Readme.md
│ ├── poppins-bold-webfont.woff
│ ├── poppins-bold-webfont.woff2
│ ├── poppins-regular-webfont.woff
│ └── poppins-regular-webfont.woff2
├── Theme
└── Admin
│ ├── Magento_PageBuilder
│ └── web
│ │ ├── css
│ │ └── source
│ │ │ └── content-type
│ │ │ └── column-group
│ │ │ └── _mobile.less
│ │ └── template
│ │ └── viewport
│ │ └── switcher.html
│ ├── README.md
│ ├── media
│ └── preview.jpg
│ ├── registration.php
│ ├── responsive-admin-theme.png
│ ├── theme.xml
│ ├── viewport-templates-scaled.png
│ ├── viewport-templates-small.png
│ └── viewport-templates.png
├── ThemeKit
└── Deprecated
│ ├── .gitignore
│ ├── Plugin
│ └── CssContentPlugin.php
│ ├── README.md
│ ├── composer.json
│ ├── etc
│ ├── adminhtml
│ │ └── di.xml
│ └── module.xml
│ ├── registration.php
│ └── view
│ └── adminhtml
│ ├── requirejs-config.js
│ ├── ui_component
│ ├── pagebuilder_banner_form.xml
│ ├── pagebuilder_base_form.xml
│ ├── pagebuilder_base_form_with_background_attributes.xml
│ ├── pagebuilder_button_item_form.xml
│ ├── pagebuilder_column_form.xml
│ ├── pagebuilder_divider_form.xml
│ └── pagebuilder_slide_form.xml
│ └── web
│ ├── css
│ └── source
│ │ ├── _buttons.less
│ │ ├── _module.less
│ │ ├── _typography.less
│ │ ├── _var.less
│ │ └── form
│ │ └── element
│ │ └── tinymce.css
│ ├── fonts
│ ├── OFL.txt
│ └── poppins
│ │ ├── bold
│ │ ├── poppins-700.woff
│ │ └── poppins-700.woff2
│ │ ├── light
│ │ ├── poppins-300.woff
│ │ └── poppins-300.woff2
│ │ ├── regular
│ │ ├── poppins-400.woff
│ │ └── poppins-400.woff2
│ │ └── semibold
│ │ ├── poppins-600.woff
│ │ └── poppins-600.woff2
│ ├── js
│ └── form
│ │ └── element
│ │ ├── color-picker-palette.js
│ │ └── color-picker.js
│ └── templates
│ └── form
│ └── element
│ └── color-picker.html
├── example-content-types.png
└── examples-install-location.png
/.github/.metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "templateVersion": "0.2",
3 | "product": {
4 | "name": "Page Builder",
5 | "description": "Page Builder example modules for you to download, install, and learn from."
6 | },
7 | "contacts": {
8 | "team": {
9 | "name": "Commerce Docs",
10 | "DL": "Grp-commerce-docs",
11 | "slackChannel": "#commerce-docs"
12 | }
13 | },
14 | "ticketTracker": {
15 | "functionalJiraQueue": {
16 | "projectKey": "COMDOX",
17 | "component": "Maintenance"
18 | },
19 | "securityJiraQueue": {
20 | "projectKey": "MAGREQ",
21 | "component": "Commerce M2"
22 | }
23 | },
24 | "productionCodeBranches": ["master"]
25 | }
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
2 | **/node_modules/*
3 | **.js.map
4 | **.d.js
5 | /dev/tests/acceptance/vendor
6 | static-error-log.xml
7 | .DS_Store
8 | .vscode
9 | .history/
10 | /yarn-error.log
--------------------------------------------------------------------------------
/BannerApp/Appearance/README.md:
--------------------------------------------------------------------------------
1 | # Banner Appearance
2 |
3 | This example module shows you how to customize the existing Banner content type, as described in the documentation topic [Add appearances](https://devdocs.magento.com/page-builder/docs/content-types/extend/add-appearances.html).
4 |
5 | ## Installation
6 |
7 | These steps assume you have already cloned the `pagebuilder-examples` repo to the root of your Magento instance, as described in [Installing the example modules](../../README.md):
8 |
9 | 1. Navigate to to the `app/code/` directory and create a symlink using the following command:
10 |
11 | ```bash
12 | ln -s ../../pagebuilder-examples/BannerApp
13 | ```
14 |
15 | 1. From the Magento root directory, run the `setup:upgrade` command to install and enable the module:
16 |
17 | ```bash
18 | bin/magento setup:upgrade
19 | ```
20 |
21 | ## Author
22 |
23 | [Bruce Denham](https://github.com/bdenham). Contact us on the Slack [#pagebuilder channel](https://slack.com/app_redirect?channel=pagebuilder) for questions specific to this example.
24 |
25 | ## Feedback
26 |
27 | We encourage and welcome you to help us keep these examples current by submitting Issues and Pull Requests. We also welcome your feedback and ideas on other code examples you would like to see added to this repo.
28 |
--------------------------------------------------------------------------------
/BannerApp/Appearance/etc/adminhtml/di.xml:
--------------------------------------------------------------------------------
1 |