easyorders 0.1.13 → 0.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +93 -93
- package/dist/bin/cli.js +12 -5
- package/dist/template/theme/config.json +95 -95
- package/dist/template/theme/home-sections/category-mosaic/config.json +40 -40
- package/dist/template/theme/home-sections/category-mosaic/template.liquid +155 -155
- package/dist/template/theme/home-sections/editorial-feature/config.json +67 -67
- package/dist/template/theme/home-sections/editorial-feature/template.liquid +153 -153
- package/dist/template/theme/home-sections/newsletter-luxe/config.json +60 -60
- package/dist/template/theme/home-sections/newsletter-luxe/template.liquid +144 -144
- package/dist/template/theme/home-sections/runway-hero/config.json +91 -91
- package/dist/template/theme/home-sections/runway-hero/template.liquid +159 -159
- package/dist/template/theme/home-sections/shop-the-look/config.json +75 -75
- package/dist/template/theme/home-sections/shop-the-look/template.liquid +304 -304
- package/dist/template/theme/home-sections/trust-promise/config.json +47 -47
- package/dist/template/theme/home-sections/trust-promise/template.liquid +96 -96
- package/dist/template/theme/schema.json +151 -151
- package/dist/template/theme/script.js +586 -586
- package/dist/template/theme/sections/breadcrumbs.liquid +17 -17
- package/dist/template/theme/sections/categories.liquid +9 -9
- package/dist/template/theme/sections/fake-counter.liquid +27 -27
- package/dist/template/theme/sections/fake-stock.liquid +6 -6
- package/dist/template/theme/sections/fake-visitor.liquid +6 -6
- package/dist/template/theme/sections/featured-products.liquid +110 -110
- package/dist/template/theme/sections/fixed-buy-button.liquid +46 -46
- package/dist/template/theme/sections/footer.liquid +128 -128
- package/dist/template/theme/sections/gallery.liquid +61 -61
- package/dist/template/theme/sections/header.liquid +152 -152
- package/dist/template/theme/sections/home-products-grid.liquid +109 -109
- package/dist/template/theme/sections/list-products.liquid +93 -93
- package/dist/template/theme/sections/order-invoice.liquid +154 -154
- package/dist/template/theme/sections/product-description.liquid +30 -30
- package/dist/template/theme/sections/product-details.liquid +63 -63
- package/dist/template/theme/sections/products-grid.liquid +86 -86
- package/dist/template/theme/sections/related-products.liquid +88 -88
- package/dist/template/theme/sections/reviews.liquid +55 -55
- package/dist/template/theme/sections/slider.liquid +43 -43
- package/dist/template/theme/sections/thanks.liquid +33 -33
- package/dist/template/theme/style.css +3923 -3923
- package/dist/template/theme/theme-data.json +9 -9
- package/package.json +40 -40
package/README.md
CHANGED
|
@@ -1,93 +1,93 @@
|
|
|
1
|
-
# Easy Orders CLI
|
|
2
|
-
|
|
3
|
-
CLI tool for creating and developing [EasyOrders](https://www.easyorders.eg) storefront themes. Edit Liquid templates, CSS, and JavaScript in the `theme/` folder and preview changes on a live store instantly.
|
|
4
|
-
|
|
5
|
-
Full theme documentation — Liquid variables, palette, sections, events:
|
|
6
|
-
|
|
7
|
-
**https://themes-docs.easy-orders.net/docs/custom-themes/getting-started**
|
|
8
|
-
|
|
9
|
-
## ⚠️ Important Notice
|
|
10
|
-
|
|
11
|
-
The tunnel URL is tied to your current browser session. When you stop the dev server (tunnel) or close the theme editor, you **must close the browser entirely** to end the session. Otherwise the browser may continue trying to load the old tunnel URL, causing errors on subsequent runs.
|
|
12
|
-
|
|
13
|
-
## Installation
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
npm install -g easyorders
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Usage
|
|
20
|
-
|
|
21
|
-
### Create a new theme project
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
easyorders create-theme my-theme
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
This scaffolds a new directory `my-theme/` containing only the `theme/` folder and a minimal `package.json`. No server code is included — the server runs from the CLI package itself.
|
|
28
|
-
|
|
29
|
-
### Start the dev server
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
cd my-theme
|
|
33
|
-
easyorders start
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
This will:
|
|
37
|
-
|
|
38
|
-
1. Prompt you for your store subdomain (e.g. `sand` from `sand.myeasyorders.com`)
|
|
39
|
-
2. Authenticate with the Easy Orders API
|
|
40
|
-
3. Start a local Express server that serves your theme
|
|
41
|
-
4. Open a Cloudflare tunnel so your store can load the theme in real-time
|
|
42
|
-
|
|
43
|
-
### Interactive mode
|
|
44
|
-
|
|
45
|
-
Running `easyorders` without arguments shows an interactive menu where you can choose to create a theme or start the dev server.
|
|
46
|
-
|
|
47
|
-
## Environment Variables
|
|
48
|
-
|
|
49
|
-
Create a `.env` file in your theme project root (or export the variables) to customise the defaults:
|
|
50
|
-
|
|
51
|
-
| Variable | Description | Default |
|
|
52
|
-
| ------------------- | ------------------------------------------------- | ----------------------------- |
|
|
53
|
-
| `PORT` | Local server port | `4000` |
|
|
54
|
-
| `API_BASE_URL` | Backend API base URL used for CLI token endpoints | `https://api.easy-orders.net` |
|
|
55
|
-
| `FRONTEND_BASE_URL` | Frontend base URL used for the approval page | `https://app.easy-orders.net` |
|
|
56
|
-
| `STORE_DOMAIN` | Domain used to build the store preview URL | `myeasyorders.com` |
|
|
57
|
-
|
|
58
|
-
## Theme Project Structure
|
|
59
|
-
|
|
60
|
-
After running `create-theme`, your project will look like:
|
|
61
|
-
|
|
62
|
-
```
|
|
63
|
-
my-theme/
|
|
64
|
-
├── package.json
|
|
65
|
-
├── .gitignore
|
|
66
|
-
└── theme/
|
|
67
|
-
├── config.json
|
|
68
|
-
├── schema.json
|
|
69
|
-
├── theme-data.json
|
|
70
|
-
├── style.css
|
|
71
|
-
├── script.js
|
|
72
|
-
├── sections/
|
|
73
|
-
│ ├── header.liquid
|
|
74
|
-
│ ├── footer.liquid
|
|
75
|
-
│ └── ...
|
|
76
|
-
└── home-sections/
|
|
77
|
-
├── <section-key>/
|
|
78
|
-
│ ├── config.json
|
|
79
|
-
│ └── template.liquid
|
|
80
|
-
└── ...
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
You only need to edit files inside the `theme/` folder. The server code is handled by the CLI.
|
|
84
|
-
|
|
85
|
-
## 🔑 Clearing Sessions & Auth
|
|
86
|
-
|
|
87
|
-
If you want to delete any saved sessions or store authentication, simply delete the `.cli-tokens.json` file in your theme project root:
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
rm .cli-tokens.json
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
The next time you run the dev server, you will be prompted to authenticate again.
|
|
1
|
+
# Easy Orders CLI
|
|
2
|
+
|
|
3
|
+
CLI tool for creating and developing [EasyOrders](https://www.easyorders.eg) storefront themes. Edit Liquid templates, CSS, and JavaScript in the `theme/` folder and preview changes on a live store instantly.
|
|
4
|
+
|
|
5
|
+
Full theme documentation — Liquid variables, palette, sections, events:
|
|
6
|
+
|
|
7
|
+
**https://themes-docs.easy-orders.net/docs/custom-themes/getting-started**
|
|
8
|
+
|
|
9
|
+
## ⚠️ Important Notice
|
|
10
|
+
|
|
11
|
+
The tunnel URL is tied to your current browser session. When you stop the dev server (tunnel) or close the theme editor, you **must close the browser entirely** to end the session. Otherwise the browser may continue trying to load the old tunnel URL, causing errors on subsequent runs.
|
|
12
|
+
|
|
13
|
+
## Installation
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install -g easyorders
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
### Create a new theme project
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
easyorders create-theme my-theme
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
This scaffolds a new directory `my-theme/` containing only the `theme/` folder and a minimal `package.json`. No server code is included — the server runs from the CLI package itself.
|
|
28
|
+
|
|
29
|
+
### Start the dev server
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
cd my-theme
|
|
33
|
+
easyorders start
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
This will:
|
|
37
|
+
|
|
38
|
+
1. Prompt you for your store subdomain (e.g. `sand` from `sand.myeasyorders.com`)
|
|
39
|
+
2. Authenticate with the Easy Orders API
|
|
40
|
+
3. Start a local Express server that serves your theme
|
|
41
|
+
4. Open a Cloudflare tunnel so your store can load the theme in real-time
|
|
42
|
+
|
|
43
|
+
### Interactive mode
|
|
44
|
+
|
|
45
|
+
Running `easyorders` without arguments shows an interactive menu where you can choose to create a theme or start the dev server.
|
|
46
|
+
|
|
47
|
+
## Environment Variables
|
|
48
|
+
|
|
49
|
+
Create a `.env` file in your theme project root (or export the variables) to customise the defaults:
|
|
50
|
+
|
|
51
|
+
| Variable | Description | Default |
|
|
52
|
+
| ------------------- | ------------------------------------------------- | ----------------------------- |
|
|
53
|
+
| `PORT` | Local server port | `4000` |
|
|
54
|
+
| `API_BASE_URL` | Backend API base URL used for CLI token endpoints | `https://api.easy-orders.net` |
|
|
55
|
+
| `FRONTEND_BASE_URL` | Frontend base URL used for the approval page | `https://app.easy-orders.net` |
|
|
56
|
+
| `STORE_DOMAIN` | Domain used to build the store preview URL | `myeasyorders.com` |
|
|
57
|
+
|
|
58
|
+
## Theme Project Structure
|
|
59
|
+
|
|
60
|
+
After running `create-theme`, your project will look like:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
my-theme/
|
|
64
|
+
├── package.json
|
|
65
|
+
├── .gitignore
|
|
66
|
+
└── theme/
|
|
67
|
+
├── config.json
|
|
68
|
+
├── schema.json
|
|
69
|
+
├── theme-data.json
|
|
70
|
+
├── style.css
|
|
71
|
+
├── script.js
|
|
72
|
+
├── sections/
|
|
73
|
+
│ ├── header.liquid
|
|
74
|
+
│ ├── footer.liquid
|
|
75
|
+
│ └── ...
|
|
76
|
+
└── home-sections/
|
|
77
|
+
├── <section-key>/
|
|
78
|
+
│ ├── config.json
|
|
79
|
+
│ └── template.liquid
|
|
80
|
+
└── ...
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
You only need to edit files inside the `theme/` folder. The server code is handled by the CLI.
|
|
84
|
+
|
|
85
|
+
## 🔑 Clearing Sessions & Auth
|
|
86
|
+
|
|
87
|
+
If you want to delete any saved sessions or store authentication, simply delete the `.cli-tokens.json` file in your theme project root:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
rm .cli-tokens.json
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
The next time you run the dev server, you will be prompted to authenticate again.
|
package/dist/bin/cli.js
CHANGED
|
@@ -5,7 +5,6 @@ import fs from "node:fs";
|
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import readline from "node:readline";
|
|
7
7
|
import { fileURLToPath } from "node:url";
|
|
8
|
-
import { getCliVersion } from "../server/api.js";
|
|
9
8
|
const __filename = fileURLToPath(import.meta.url);
|
|
10
9
|
const __dirname = path.dirname(__filename);
|
|
11
10
|
const CLI_ROOT = path.resolve(__dirname, "..");
|
|
@@ -169,13 +168,21 @@ async function interactiveMenu() {
|
|
|
169
168
|
// ── Version check ───────────────────────────────────────────
|
|
170
169
|
async function checkForUpdates() {
|
|
171
170
|
const pkgPath = path.resolve(__dirname, "..", "..", "package.json");
|
|
172
|
-
const
|
|
171
|
+
const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf-8"));
|
|
172
|
+
const localVersion = pkg.version;
|
|
173
|
+
const packageName = pkg.name;
|
|
173
174
|
try {
|
|
174
|
-
const
|
|
175
|
-
if (
|
|
175
|
+
const res = await fetch(`https://registry.npmjs.org/${packageName}/latest`);
|
|
176
|
+
if (!res.ok)
|
|
177
|
+
return;
|
|
178
|
+
const data = (await res.json());
|
|
179
|
+
const latestVersion = data.version;
|
|
180
|
+
if (latestVersion.localeCompare(localVersion, undefined, {
|
|
181
|
+
numeric: true,
|
|
182
|
+
}) > 0) {
|
|
176
183
|
console.log("");
|
|
177
184
|
console.log(` ${YELLOW}${BOLD}⚠ Update available!${RESET} ${DIM}${localVersion}${RESET} → ${GREEN}${BOLD}${latestVersion}${RESET}`);
|
|
178
|
-
console.log(` ${DIM}Run${RESET} ${CYAN}npm install -g
|
|
185
|
+
console.log(` ${DIM}Run${RESET} ${CYAN}npm install -g ${packageName}@latest${RESET} ${DIM}to update.${RESET}`);
|
|
179
186
|
console.log("");
|
|
180
187
|
process.exit(1);
|
|
181
188
|
}
|
|
@@ -1,95 +1,95 @@
|
|
|
1
|
-
{
|
|
2
|
-
"footer": {
|
|
3
|
-
"logo": "",
|
|
4
|
-
"pages": [
|
|
5
|
-
{
|
|
6
|
-
"id": "ADD_PAGE_ID_HERE"
|
|
7
|
-
}
|
|
8
|
-
],
|
|
9
|
-
"social": [
|
|
10
|
-
{
|
|
11
|
-
"url": "https://facebook.com",
|
|
12
|
-
"type": "facebook"
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"url": "https://facebook.com",
|
|
16
|
-
"type": "instagram"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"url": "https://facebook.com",
|
|
20
|
-
"type": "twitter"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"url": "https://facebook.com",
|
|
24
|
-
"type": "linkedin"
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"url": "https://facebook.com",
|
|
28
|
-
"type": "tiktok"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"url": "https://facebook.com",
|
|
32
|
-
"type": "youtube"
|
|
33
|
-
}
|
|
34
|
-
],
|
|
35
|
-
"categories": [
|
|
36
|
-
{
|
|
37
|
-
"id": "ADD_CATEGORY_ID_HERE"
|
|
38
|
-
}
|
|
39
|
-
],
|
|
40
|
-
"payment_img": "https://easyorders.fra1.digitaloceanspaces.com/1773958283329740254payment_icons.svg",
|
|
41
|
-
"is_use_config": true
|
|
42
|
-
},
|
|
43
|
-
"header": {
|
|
44
|
-
"logo": "",
|
|
45
|
-
"links": [
|
|
46
|
-
{
|
|
47
|
-
"id": "ADD_CATEGORY_ID_HERE",
|
|
48
|
-
"type": "category"
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
"id": "ADD_PAGE_ID_HERE",
|
|
52
|
-
"type": "page"
|
|
53
|
-
}
|
|
54
|
-
],
|
|
55
|
-
"is_use_config": true
|
|
56
|
-
},
|
|
57
|
-
"palette": {
|
|
58
|
-
"hd_bg": "",
|
|
59
|
-
"hd_text": "",
|
|
60
|
-
"ann_bg": "",
|
|
61
|
-
"ann_text": "",
|
|
62
|
-
"ft_bg": "",
|
|
63
|
-
"ft_text": "",
|
|
64
|
-
"buy_btn_bg": "",
|
|
65
|
-
"buy_btn_text": "",
|
|
66
|
-
"buy_btn_border": "",
|
|
67
|
-
"crt_btn_bg": "",
|
|
68
|
-
"crt_btn_text": "",
|
|
69
|
-
"crt_btn_border": "",
|
|
70
|
-
"product_name_text": "",
|
|
71
|
-
"product_price_text": "",
|
|
72
|
-
"product_sale_price_text": "",
|
|
73
|
-
"body_bg": "",
|
|
74
|
-
"body_text": "",
|
|
75
|
-
"input_border": "",
|
|
76
|
-
"input_bg": "",
|
|
77
|
-
"input_text": "",
|
|
78
|
-
"checkout_form_bg": "",
|
|
79
|
-
"checkout_heading_text": ""
|
|
80
|
-
},
|
|
81
|
-
"theme_data": {
|
|
82
|
-
"hero_slides": [],
|
|
83
|
-
"color_scheme": "light",
|
|
84
|
-
"color_primary": "#1A1A2E",
|
|
85
|
-
"hero_headline": "Welcome to Our Store",
|
|
86
|
-
"font_size_base": 16,
|
|
87
|
-
"hero_show_overlay": true,
|
|
88
|
-
"product_badge_types": ["sale", "new"]
|
|
89
|
-
},
|
|
90
|
-
"announcement_bar": {
|
|
91
|
-
"text": ["it works", "Free shipping for 1000 EGP", "Genuine Quality"],
|
|
92
|
-
"type": "marquee",
|
|
93
|
-
"is_use_config": true
|
|
94
|
-
}
|
|
95
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"footer": {
|
|
3
|
+
"logo": "",
|
|
4
|
+
"pages": [
|
|
5
|
+
{
|
|
6
|
+
"id": "ADD_PAGE_ID_HERE"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"social": [
|
|
10
|
+
{
|
|
11
|
+
"url": "https://facebook.com",
|
|
12
|
+
"type": "facebook"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"url": "https://facebook.com",
|
|
16
|
+
"type": "instagram"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"url": "https://facebook.com",
|
|
20
|
+
"type": "twitter"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"url": "https://facebook.com",
|
|
24
|
+
"type": "linkedin"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"url": "https://facebook.com",
|
|
28
|
+
"type": "tiktok"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"url": "https://facebook.com",
|
|
32
|
+
"type": "youtube"
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
"categories": [
|
|
36
|
+
{
|
|
37
|
+
"id": "ADD_CATEGORY_ID_HERE"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"payment_img": "https://easyorders.fra1.digitaloceanspaces.com/1773958283329740254payment_icons.svg",
|
|
41
|
+
"is_use_config": true
|
|
42
|
+
},
|
|
43
|
+
"header": {
|
|
44
|
+
"logo": "",
|
|
45
|
+
"links": [
|
|
46
|
+
{
|
|
47
|
+
"id": "ADD_CATEGORY_ID_HERE",
|
|
48
|
+
"type": "category"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"id": "ADD_PAGE_ID_HERE",
|
|
52
|
+
"type": "page"
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"is_use_config": true
|
|
56
|
+
},
|
|
57
|
+
"palette": {
|
|
58
|
+
"hd_bg": "",
|
|
59
|
+
"hd_text": "",
|
|
60
|
+
"ann_bg": "",
|
|
61
|
+
"ann_text": "",
|
|
62
|
+
"ft_bg": "",
|
|
63
|
+
"ft_text": "",
|
|
64
|
+
"buy_btn_bg": "",
|
|
65
|
+
"buy_btn_text": "",
|
|
66
|
+
"buy_btn_border": "",
|
|
67
|
+
"crt_btn_bg": "",
|
|
68
|
+
"crt_btn_text": "",
|
|
69
|
+
"crt_btn_border": "",
|
|
70
|
+
"product_name_text": "",
|
|
71
|
+
"product_price_text": "",
|
|
72
|
+
"product_sale_price_text": "",
|
|
73
|
+
"body_bg": "",
|
|
74
|
+
"body_text": "",
|
|
75
|
+
"input_border": "",
|
|
76
|
+
"input_bg": "",
|
|
77
|
+
"input_text": "",
|
|
78
|
+
"checkout_form_bg": "",
|
|
79
|
+
"checkout_heading_text": ""
|
|
80
|
+
},
|
|
81
|
+
"theme_data": {
|
|
82
|
+
"hero_slides": [],
|
|
83
|
+
"color_scheme": "light",
|
|
84
|
+
"color_primary": "#1A1A2E",
|
|
85
|
+
"hero_headline": "Welcome to Our Store",
|
|
86
|
+
"font_size_base": 16,
|
|
87
|
+
"hero_show_overlay": true,
|
|
88
|
+
"product_badge_types": ["sale", "new"]
|
|
89
|
+
},
|
|
90
|
+
"announcement_bar": {
|
|
91
|
+
"text": ["it works", "Free shipping for 1000 EGP", "Genuine Quality"],
|
|
92
|
+
"type": "marquee",
|
|
93
|
+
"is_use_config": true
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
{
|
|
2
|
-
"icon": "https://api.iconify.design/lucide:grid-3x3.svg",
|
|
3
|
-
"label": "Category mosaic",
|
|
4
|
-
"section_schema": [
|
|
5
|
-
{
|
|
6
|
-
"name": "title",
|
|
7
|
-
"type": "string",
|
|
8
|
-
"default": "Shop by mood",
|
|
9
|
-
"description": "Section heading"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"name": "subtitle",
|
|
13
|
-
"type": "string",
|
|
14
|
-
"default": "Curated drops for work, weekend, and everything between.",
|
|
15
|
-
"description": "Subheading under the title"
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
"name": "columns",
|
|
19
|
-
"type": "select",
|
|
20
|
-
"default": "3",
|
|
21
|
-
"description": "Columns on large screens",
|
|
22
|
-
"options": [
|
|
23
|
-
{ "label": "Two columns", "value": "2" },
|
|
24
|
-
{ "label": "Three columns", "value": "3" },
|
|
25
|
-
{ "label": "Four columns", "value": "4" }
|
|
26
|
-
]
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"name": "gap_tight",
|
|
30
|
-
"type": "boolean",
|
|
31
|
-
"default": false,
|
|
32
|
-
"description": "Use tighter spacing between tiles"
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
"name": "mosaic_category_ids",
|
|
36
|
-
"type": "category_multi_select",
|
|
37
|
-
"description": "Categories to show as tiles (search and reorder in the picker). Images and titles load from each category."
|
|
38
|
-
}
|
|
39
|
-
]
|
|
40
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"icon": "https://api.iconify.design/lucide:grid-3x3.svg",
|
|
3
|
+
"label": "Category mosaic",
|
|
4
|
+
"section_schema": [
|
|
5
|
+
{
|
|
6
|
+
"name": "title",
|
|
7
|
+
"type": "string",
|
|
8
|
+
"default": "Shop by mood",
|
|
9
|
+
"description": "Section heading"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"name": "subtitle",
|
|
13
|
+
"type": "string",
|
|
14
|
+
"default": "Curated drops for work, weekend, and everything between.",
|
|
15
|
+
"description": "Subheading under the title"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "columns",
|
|
19
|
+
"type": "select",
|
|
20
|
+
"default": "3",
|
|
21
|
+
"description": "Columns on large screens",
|
|
22
|
+
"options": [
|
|
23
|
+
{ "label": "Two columns", "value": "2" },
|
|
24
|
+
{ "label": "Three columns", "value": "3" },
|
|
25
|
+
{ "label": "Four columns", "value": "4" }
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"name": "gap_tight",
|
|
30
|
+
"type": "boolean",
|
|
31
|
+
"default": false,
|
|
32
|
+
"description": "Use tighter spacing between tiles"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "mosaic_category_ids",
|
|
36
|
+
"type": "category_multi_select",
|
|
37
|
+
"description": "Categories to show as tiles (search and reorder in the picker). Images and titles load from each category."
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
}
|