├── .gitignore
├── media
└── preview.jpg
├── registration.php
├── Magento_Theme
├── layout
│ └── override
│ │ └── base
│ │ └── default.xml
└── templates
│ └── root.phtml
├── theme.xml
├── composer.json
├── README.md
└── etc
└── view.xml
/.gitignore:
--------------------------------------------------------------------------------
1 | .vscode
2 | .DS_Store
3 | node_modules
4 | vendor
5 |
--------------------------------------------------------------------------------
/media/preview.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/magento-research/theme-frontend-pwa/HEAD/media/preview.jpg
--------------------------------------------------------------------------------
/registration.php:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/theme.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 | Magento PWA Base
10 |
11 | media/preview.jpg
12 |
13 |
14 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "magento-research/theme-frontend-pwa",
3 | "description": "Required base theme for Magento PWAs",
4 | "keywords": ["magento", "pwa", "magento2", "magento2-theme", "progressive", "reactjs"],
5 | "require": {
6 | "php": "~5.5.0|~5.6.0|~7.0.0|~7.1"
7 | },
8 | "type": "magento2-theme",
9 | "license": [
10 | "OSL-3.0",
11 | "AFL-3.0"
12 | ],
13 | "autoload": {
14 | "files": [
15 | "registration.php"
16 | ]
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Magento_Theme/templates/root.phtml:
--------------------------------------------------------------------------------
1 |
14 |
15 |
16 |
17 | = /* @escapeNotVerified */ $headContent ?>
18 | = /* @escapeNotVerified */ $headAdditional ?>
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Magento PWA Base Theme
2 |
3 | Required base theme for Magento PWA Studio.
4 |
5 | ⚠️ **This theme contains no UI or presentational code.** Its role is to
6 | configure the Magento 2 layout system to render the Application Shell for a PWA,
7 | and to serve as a common base theme for Magento PWAs that helps Magento to
8 | identify PWA-enabled themes.
9 |
10 | ## Usage
11 |
12 | A Magento PWA Studio theme must use this theme, **Magento/pwa**, as its parent
13 | theme. This works just like current-state Magento themes do: declare the parent
14 | theme in `theme.xml`, and add a dependency `magento-research/theme-module-pwa`
15 | to your `composer.json` file. This theme is published on Packagist, so no
16 | license keys or additional Composer repository configurations are necessary.
17 |
18 | ## Features
19 |
20 | ### Layout Simplification
21 |
22 | This theme overrides the core page layouts implemented in the `Magento_Theme`
23 | module. Because Magento PWAs don't use traditional Magento layout resolution,
24 | it's most efficient to turn off as much of the layout system as you can. This
25 | theme contains XML config files which disable and remove as much of the layout-
26 | driven UI as possible. Almost all of it can be done in `default.xml`.
27 |
28 | ### Application Shell Template
29 |
30 | This theme overrides the base PHTML template for Magento storefronts:
31 | `root.phtml`. You can customize your application shell by further overriding
32 | this template file and inserting your own markup and server logic.
33 |
34 | ### Flags PWAs
35 |
36 | Magento 2 will provide more and more optimization around "PWA mode" in future
37 | releases. It follows that there ought to be a simple way for the backend to
38 | identify whether a theme is a "PWA theme" or not. In this version of PWA Studio,
39 | server logic will simply examine your theme to see if its `parent` is this theme.
40 |
41 | Beyond this, we discourage using theme inheritance for code reuse in the
42 | PWA world.
--------------------------------------------------------------------------------
/etc/view.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
11 |
12 | 140
13 | 140
14 |
15 |
16 |
17 | 152
18 | 188
19 |
20 |
21 | 110
22 | 160
23 |
24 |
25 | 240
26 | 300
27 |
28 |
29 | 240
30 | 300
31 |
32 |
33 | 100
34 | 100
35 |
36 |
37 | 285
38 | 285
39 |
40 |
41 | 113
42 | 113
43 |
44 |
45 | 75
46 | 75
47 |
48 |
49 | 100
50 | 100
51 |
52 |
53 | 78
54 | 78
55 |
56 |
57 | 240
58 | 300
59 |
60 |
61 | 270
62 | 270
63 |
64 |
65 | 78
66 | 78
67 |
68 |
69 | 265
70 | 265
71 |
72 |
73 | 140
74 | 140
75 |
76 |
77 |
78 | false
79 |
80 |
81 | 700
82 | 700
83 |
84 |
85 | 700
86 | 700
87 | false
88 |
89 |
90 | 90
91 | 90
92 |
93 |
94 | 700
95 | 700
96 |
97 |
98 | 700
99 | 700
100 |
101 |
102 | 90
103 | 90
104 |
105 |
106 | 76
107 | 76
108 |
109 |
110 | 135
111 | 135
112 |
113 |
114 | 75
115 | 75
116 |
117 |
118 | 240
119 | 300
120 |
121 |
122 | 75
123 | 90
124 |
125 |
126 | 76
127 | 76
128 |
129 |
130 | 270
131 | 207
132 |
133 |
134 | 240
135 | 300
136 |
137 |
138 | 75
139 | 90
140 |
141 |
142 | 76
143 | 76
144 |
145 |
146 | 270
147 | 270
148 |
149 |
150 | 140
151 | 140
152 |
153 |
154 | 285
155 | 285
156 |
157 |
161 |
162 | 75
163 | 75
164 |
165 |
166 | 135
167 | 135
168 |
169 |
170 | 75
171 | 90
172 |
173 |
174 | 140
175 | 140
176 |
177 |
181 |
182 | 113
183 | 113
184 |
185 |
186 | 240
187 | 300
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 | thumbs
196 | true
197 | true
198 | true
199 | false
200 | true
201 | horizontal
202 | true
203 | slides
204 |
205 | slide
206 | 500
207 |
208 |
209 | thumbs
210 | true
211 | false
212 | false
213 | horizontal
214 | slides
215 |
216 | dissolve
217 | 500
218 |
219 |
220 |
221 |
222 |
223 | 20
224 |
225 |
226 |
227 |
228 | hover
229 | false
230 |
231 |
232 |
233 |
234 |
235 | 767px
236 |
237 |
238 |
239 | dots
240 |
241 |
242 |
243 |
244 |
245 |
246 | 100
247 | 275
248 | 48
249 |
250 | 166
251 | 370
252 |
253 | 0
254 |
255 |
256 | 58
257 |
258 |
259 | 1MB
260 |
261 |
262 | sw.js
263 |
264 |
265 | - Lib::jquery/jquery.min.js
266 | - Lib::jquery/jquery-ui-1.9.2.js
267 | - Lib::jquery/jquery.ba-hashchange.min.js
268 | - Lib::jquery/jquery.details.js
269 | - Lib::jquery/jquery.details.min.js
270 | - Lib::jquery/jquery.hoverIntent.js
271 | - Lib::jquery/colorpicker/js/colorpicker.js
272 | - Lib::requirejs/require.js
273 | - Lib::requirejs/text.js
274 | - Lib::date-format-normalizer.js
275 | - Lib::legacy-build.min.js
276 | - Lib::mage/captcha.js
277 | - Lib::mage/dropdown_old.js
278 | - Lib::mage/list.js
279 | - Lib::mage/loader_old.js
280 | - Lib::mage/webapi.js
281 | - Lib::mage/zoom.js
282 | - Lib::mage/translate-inline-vde.js
283 | - Lib::mage/requirejs/mixins.js
284 | - Lib::mage/requirejs/static.js
285 | - Magento_Customer::js/zxcvbn.js
286 | - Magento_Catalog::js/zoom.js
287 | - Magento_Ui::js/lib/step-wizard.js
288 | - Magento_Ui::js/form/element/ui-select.js
289 | - Magento_Ui::js/form/element/file-uploader.js
290 | - Magento_Ui::js/form/components/insert.js
291 | - Magento_Ui::js/form/components/insert-listing.js
292 | - Magento_Ui::js/timeline
293 | - Magento_Ui::js/grid
294 | - Magento_Ui::js/dynamic-rows
295 | - Magento_Ui::templates/timeline
296 | - Magento_Ui::templates/grid
297 | - Magento_Ui::templates/dynamic-rows
298 | - Magento_Swagger::swagger-ui
299 | - Lib::modernizr
300 | - Lib::tiny_mce
301 | - Lib::varien
302 | - Lib::jquery/editableMultiselect
303 | - Lib::jquery/jstree
304 | - Lib::jquery/fileUploader
305 | - Lib::css
306 | - Lib::lib
307 | - Lib::extjs
308 | - Lib::prototype
309 | - Lib::scriptaculous
310 | - Lib::less
311 | - Lib::mage/adminhtml
312 | - Lib::mage/backend
313 |
314 |
315 |
--------------------------------------------------------------------------------