@sociallane/elements 1.0.14 → 1.0.16
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/admin/views/setup-widget-catalog-frontend.php +28 -12
- package/docs/install-new-instance.md +34 -18
- package/package.json +1 -1
- package/packages/widgets/hero-overlay/templates/wrapper.php +22 -20
- package/packages/widgets/hero-overlay-single/templates/wrapper.php +22 -20
- package/packages/widgets/hero-overlay-slider/templates/wrapper.php +22 -20
- package/widgets/hero-overlay/templates/wrapper.php +22 -20
|
@@ -45,7 +45,7 @@ $sections = [
|
|
|
45
45
|
<?php esc_html_e( 'Widget Catalog Setup', 'sociallane-elements' ); ?>
|
|
46
46
|
</h1>
|
|
47
47
|
<p class="text-neutral-500 dark:text-neutral-400">
|
|
48
|
-
<?php esc_html_e( 'Install SocialLane Elements via npx (
|
|
48
|
+
<?php esc_html_e( 'Install SocialLane Elements via npx (full install or component install), add the Widget Catalog to a page, and run copy-ready commands. No manual widgets.json editing when using npx add.', 'sociallane-elements' ); ?>
|
|
49
49
|
</p>
|
|
50
50
|
</header>
|
|
51
51
|
|
|
@@ -84,16 +84,25 @@ $sections = [
|
|
|
84
84
|
|
|
85
85
|
<div>
|
|
86
86
|
<h3 class="text-sm font-semibold text-neutral-800 dark:text-neutral-200 mb-2"><?php esc_html_e( 'Option A: Install via npx (recommended)', 'sociallane-elements' ); ?></h3>
|
|
87
|
-
<p class="text-sm mb-2"><?php esc_html_e( 'From your WordPress root (the folder that contains wp-content),
|
|
88
|
-
|
|
89
|
-
<
|
|
90
|
-
<
|
|
87
|
+
<p class="text-sm mb-2"><?php esc_html_e( 'From your WordPress root (the folder that contains wp-content), use one of these install flows:', 'sociallane-elements' ); ?></p>
|
|
88
|
+
|
|
89
|
+
<p class="text-xs font-medium text-neutral-500 dark:text-neutral-400 mb-1"><?php esc_html_e( 'Full install (all widget components):', 'sociallane-elements' ); ?></p>
|
|
90
|
+
<pre class="bg-neutral-100 dark:bg-neutral-800 border border-neutral-200 dark:border-neutral-600 rounded-lg p-4 text-sm overflow-x-auto text-neutral-800 dark:text-neutral-200"><code>npx @sociallane/elements</code></pre>
|
|
91
|
+
<p class="text-neutral-500 dark:text-neutral-400 text-sm mt-1"><?php esc_html_e( 'Installs the full plugin to wp-content/plugins/sociallane-elements and runs install/build automatically.', 'sociallane-elements' ); ?></p>
|
|
92
|
+
|
|
93
|
+
<p class="text-xs font-medium text-neutral-500 dark:text-neutral-400 mt-3 mb-1"><?php esc_html_e( 'Base install + add selected components/widgets:', 'sociallane-elements' ); ?></p>
|
|
94
|
+
<pre class="bg-neutral-100 dark:bg-neutral-800 border border-neutral-200 dark:border-neutral-600 rounded-lg p-4 text-sm overflow-x-auto text-neutral-800 dark:text-neutral-200"><code>npx @sociallane/elements --base</code></pre>
|
|
95
|
+
<p class="text-neutral-500 dark:text-neutral-400 text-sm mt-1"><?php esc_html_e( 'Then add only the widgets you need:', 'sociallane-elements' ); ?></p>
|
|
91
96
|
<pre class="bg-neutral-100 dark:bg-neutral-800 border border-neutral-200 dark:border-neutral-600 rounded-lg p-4 text-sm overflow-x-auto text-neutral-800 dark:text-neutral-200 mt-2"><code>npx @sociallane/elements add hero-split faq-stacked content-block widget-filter</code></pre>
|
|
92
97
|
<p class="text-neutral-500 dark:text-neutral-400 text-sm mt-2"><?php esc_html_e( 'Each add updates widgets.json and runs the build automatically. Include widget-filter if you want the Widget Catalog in Elementor.', 'sociallane-elements' ); ?></p>
|
|
93
|
-
|
|
94
|
-
<
|
|
95
|
-
<
|
|
96
|
-
|
|
98
|
+
|
|
99
|
+
<p class="text-xs font-medium text-neutral-500 dark:text-neutral-400 mt-3 mb-1"><?php esc_html_e( 'Custom target path:', 'sociallane-elements' ); ?></p>
|
|
100
|
+
<pre class="bg-neutral-100 dark:bg-neutral-800 border border-neutral-200 dark:border-neutral-600 rounded-lg p-4 text-sm overflow-x-auto text-neutral-800 dark:text-neutral-200"><code>npx @sociallane/elements --base path/to/wp-content/plugins/sociallane-elements
|
|
101
|
+
npx @sociallane/elements add --target path/to/wp-content/plugins/sociallane-elements hero-split faq-stacked</code></pre>
|
|
102
|
+
|
|
103
|
+
<p class="text-xs font-medium text-neutral-500 dark:text-neutral-400 mt-3 mb-1"><?php esc_html_e( 'Helper commands:', 'sociallane-elements' ); ?></p>
|
|
104
|
+
<pre class="bg-neutral-100 dark:bg-neutral-800 border border-neutral-200 dark:border-neutral-600 rounded-lg p-4 text-sm overflow-x-auto text-neutral-800 dark:text-neutral-200"><code>npx @sociallane/elements list
|
|
105
|
+
npx @sociallane/elements doctor --target wp-content/plugins/sociallane-elements</code></pre>
|
|
97
106
|
</div>
|
|
98
107
|
|
|
99
108
|
<div>
|
|
@@ -158,7 +167,14 @@ npm run build</code></pre>
|
|
|
158
167
|
<p class="text-sm mb-2"><?php esc_html_e( 'If you add or remove widget folders by hand (e.g. submodules), sync widgets.json then build:', 'sociallane-elements' ); ?></p>
|
|
159
168
|
<pre class="bg-neutral-100 dark:bg-neutral-800 border border-neutral-200 dark:border-neutral-600 rounded-lg p-4 text-sm overflow-x-auto text-neutral-800 dark:text-neutral-200"><code>npm run sync-widgets
|
|
160
169
|
npm run build</code></pre>
|
|
161
|
-
<p class="text-neutral-500 dark:text-neutral-400 text-sm mt-2"><?php esc_html_e( 'Or use npx @sociallane/elements add
|
|
170
|
+
<p class="text-neutral-500 dark:text-neutral-400 text-sm mt-2"><?php esc_html_e( 'Or use npx @sociallane/elements add <slug> to add widgets without editing widgets.json.', 'sociallane-elements' ); ?></p>
|
|
171
|
+
<pre class="bg-neutral-100 dark:bg-neutral-800 border border-neutral-200 dark:border-neutral-600 rounded-lg p-4 text-sm overflow-x-auto text-neutral-800 dark:text-neutral-200 mt-2"><code>npx @sociallane/elements add hero-split faq-stacked
|
|
172
|
+
npx @sociallane/elements add --only widget-filter</code></pre>
|
|
173
|
+
</div>
|
|
174
|
+
<div>
|
|
175
|
+
<h3 class="text-sm font-semibold text-neutral-800 dark:text-neutral-200 mb-2"><?php esc_html_e( 'Diagnostics', 'sociallane-elements' ); ?></h3>
|
|
176
|
+
<pre class="bg-neutral-100 dark:bg-neutral-800 border border-neutral-200 dark:border-neutral-600 rounded-lg p-4 text-sm overflow-x-auto text-neutral-800 dark:text-neutral-200"><code>npx @sociallane/elements doctor --target wp-content/plugins/sociallane-elements
|
|
177
|
+
npx @sociallane/elements list --json</code></pre>
|
|
162
178
|
</div>
|
|
163
179
|
<div>
|
|
164
180
|
<h3 class="text-sm font-semibold text-neutral-800 dark:text-neutral-200 mb-2"><?php esc_html_e( 'Clean reinstall (node_modules)', 'sociallane-elements' ); ?></h3>
|
|
@@ -184,8 +200,8 @@ npm run build</code></pre>
|
|
|
184
200
|
</summary>
|
|
185
201
|
<div class="p-5 pt-0 border-t border-neutral-200 dark:border-neutral-700">
|
|
186
202
|
<ul class="space-y-2 list-disc list-inside ml-2">
|
|
187
|
-
<li><strong><?php esc_html_e( 'Copy single widget', 'sociallane-elements' ); ?></strong> — <?php esc_html_e( 'Each card shows the
|
|
188
|
-
<li><strong><?php esc_html_e( 'Collection', 'sociallane-elements' ); ?></strong> — <?php esc_html_e( 'Check “Add to collection” on the widgets you want, then
|
|
203
|
+
<li><strong><?php esc_html_e( 'Copy single widget', 'sociallane-elements' ); ?></strong> — <?php esc_html_e( 'Each card shows the install command in the selected format (npm install or npx add); use the Copy button next to it.', 'sociallane-elements' ); ?></li>
|
|
204
|
+
<li><strong><?php esc_html_e( 'Collection', 'sociallane-elements' ); ?></strong> — <?php esc_html_e( 'Check “Add to collection” on the widgets you want, then copy one combined install command from the sidebar.', 'sociallane-elements' ); ?></li>
|
|
189
205
|
<li><strong><?php esc_html_e( 'Copy Name', 'sociallane-elements' ); ?></strong> — <?php esc_html_e( 'Copies the widget slug (e.g. hero-split) for use in widgets.json or docs.', 'sociallane-elements' ); ?></li>
|
|
190
206
|
</ul>
|
|
191
207
|
</div>
|
|
@@ -49,56 +49,72 @@ cd wp-content/plugins/sociallane-elements && npm install && npm run build
|
|
|
49
49
|
|
|
50
50
|
---
|
|
51
51
|
|
|
52
|
-
## Option 3: Install from npm (automated)
|
|
52
|
+
## Option 3: Install from npm / npx (automated)
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
### A) Install everything (core + all widget components)
|
|
55
55
|
|
|
56
56
|
```bash
|
|
57
57
|
# From your WordPress root (directory that contains wp-content)
|
|
58
|
-
npx @sociallane/elements
|
|
58
|
+
npx @sociallane/elements
|
|
59
59
|
```
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
This installs `sociallane-elements` to `wp-content/plugins/sociallane-elements`, installs dependencies, syncs widgets, and builds assets.
|
|
62
|
+
|
|
63
|
+
### B) Install only base plugin, then add selected components/widgets
|
|
64
|
+
|
|
65
|
+
Use this when you want to keep the plugin minimal and import widget components yourself.
|
|
62
66
|
|
|
63
67
|
```bash
|
|
68
|
+
# 1) Install base plugin only (no widget component folders imported)
|
|
69
|
+
npx @sociallane/elements --base
|
|
70
|
+
|
|
71
|
+
# 2) Add only the widgets you want
|
|
64
72
|
npx @sociallane/elements add hero-split faq-stacked content-block widget-filter
|
|
65
73
|
```
|
|
66
74
|
|
|
67
|
-
Each `add` updates `widgets.json
|
|
75
|
+
Each `add` command updates `widgets.json`, copies only those widget component folders, and runs install/build.
|
|
76
|
+
|
|
77
|
+
### C) Install a single widget package
|
|
68
78
|
|
|
69
|
-
|
|
79
|
+
Use per-widget packages when you want one command per widget:
|
|
70
80
|
|
|
71
81
|
```bash
|
|
72
|
-
|
|
82
|
+
# From your WordPress root or wp-content/plugins
|
|
83
|
+
npx @sociallane/widget-content-block
|
|
84
|
+
npx @sociallane/widget-faq-stacked
|
|
73
85
|
```
|
|
74
86
|
|
|
75
|
-
|
|
87
|
+
Each `@sociallane/widget-<slug>` package installs base plugin if needed, then adds that widget.
|
|
76
88
|
|
|
77
|
-
|
|
89
|
+
### D) Use custom target path (run from anywhere)
|
|
78
90
|
|
|
79
91
|
```bash
|
|
92
|
+
# Base install to explicit target
|
|
80
93
|
npx @sociallane/elements --base path/to/wp-content/plugins/sociallane-elements
|
|
94
|
+
|
|
95
|
+
# Add widgets to explicit target
|
|
81
96
|
npx @sociallane/elements add --target path/to/wp-content/plugins/sociallane-elements hero-split faq-stacked
|
|
82
97
|
```
|
|
83
98
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
You can install one widget at a time via its own package. This installs the SocialLane Elements plugin if needed, then adds that widget and builds:
|
|
99
|
+
### E) Useful helper commands
|
|
87
100
|
|
|
88
101
|
```bash
|
|
89
|
-
#
|
|
90
|
-
npx @sociallane/
|
|
91
|
-
npx @sociallane/widget-faq-stacked
|
|
92
|
-
```
|
|
102
|
+
# List all available widget slugs
|
|
103
|
+
npx @sociallane/elements list
|
|
93
104
|
|
|
94
|
-
|
|
105
|
+
# Machine-readable list
|
|
106
|
+
npx @sociallane/elements list --json
|
|
107
|
+
|
|
108
|
+
# Validate environment + plugin install state
|
|
109
|
+
npx @sociallane/elements doctor --target path/to/wp-content/plugins/sociallane-elements
|
|
110
|
+
```
|
|
95
111
|
|
|
96
112
|
---
|
|
97
113
|
|
|
98
114
|
## Post-install
|
|
99
115
|
|
|
100
116
|
1. **Build:** Runs automatically after `npm install`. To run manually: `npm run build`.
|
|
101
|
-
2. **Widget selection:**
|
|
117
|
+
2. **Widget selection:** Use `npx @sociallane/elements add <slug...>` to add selected widgets, or edit `widgets.json` directly.
|
|
102
118
|
3. **Production mode:** Add to `wp-config.php` if styles don't load:
|
|
103
119
|
```php
|
|
104
120
|
define( 'SOCIALLANE_ELEMENTS_VITE_PRODUCTION', true );
|
package/package.json
CHANGED
|
@@ -127,32 +127,34 @@ foreach ( $slides as $s ) {
|
|
|
127
127
|
class="hero-overlay__cta-wrap <?php echo $is_slider ? ( $index === 0 ? '' : ' hidden' ) : ''; ?>"
|
|
128
128
|
data-slide-index="<?php echo (int) $index; ?>"
|
|
129
129
|
>
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
</a>
|
|
130
|
+
<?php
|
|
131
|
+
$button = $slide['cta'];
|
|
132
|
+
$button['class'] = trim( ( $view['classes']['cta_bar'] ?? '' ) . ' ' . ( $button['class'] ?? '' ) );
|
|
133
|
+
if ( empty( $button['icon'] ) ) {
|
|
134
|
+
$button['icon'] = [ 'value' => 'eicon-arrow-right', 'library' => 'eicons' ];
|
|
135
|
+
$button['icon_position'] = 'right';
|
|
136
|
+
}
|
|
137
|
+
include $elements_path . '/button/templates/render.php';
|
|
138
|
+
?>
|
|
140
139
|
</div>
|
|
141
140
|
<?php endif; ?>
|
|
142
141
|
<?php endforeach; ?>
|
|
143
142
|
<?php endif; ?>
|
|
144
143
|
</div>
|
|
145
144
|
<?php if ( ! empty( $view['anchor_button'] ) ) : ?>
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
145
|
+
<?php
|
|
146
|
+
$button = [
|
|
147
|
+
'text' => $view['anchor_button']['text'],
|
|
148
|
+
'url' => $view['anchor_button']['url'],
|
|
149
|
+
'variant' => 'ghost',
|
|
150
|
+
'size' => 'md',
|
|
151
|
+
'class' => $view['classes']['anchor_btn'] ?? '',
|
|
152
|
+
'icon' => [ 'value' => 'eicon-chevron-down', 'library' => 'eicons' ],
|
|
153
|
+
'icon_position' => 'right',
|
|
154
|
+
'attrs' => 'aria-label="' . esc_attr( $view['anchor_button']['text'] ) . '"',
|
|
155
|
+
];
|
|
156
|
+
include $elements_path . '/button/templates/render.php';
|
|
157
|
+
?>
|
|
156
158
|
<?php endif; ?>
|
|
157
159
|
</div>
|
|
158
160
|
|
|
@@ -127,32 +127,34 @@ foreach ( $slides as $s ) {
|
|
|
127
127
|
class="hero-overlay__cta-wrap <?php echo $is_slider ? ( $index === 0 ? '' : ' hidden' ) : ''; ?>"
|
|
128
128
|
data-slide-index="<?php echo (int) $index; ?>"
|
|
129
129
|
>
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
</a>
|
|
130
|
+
<?php
|
|
131
|
+
$button = $slide['cta'];
|
|
132
|
+
$button['class'] = trim( ( $view['classes']['cta_bar'] ?? '' ) . ' ' . ( $button['class'] ?? '' ) );
|
|
133
|
+
if ( empty( $button['icon'] ) ) {
|
|
134
|
+
$button['icon'] = [ 'value' => 'eicon-arrow-right', 'library' => 'eicons' ];
|
|
135
|
+
$button['icon_position'] = 'right';
|
|
136
|
+
}
|
|
137
|
+
include $elements_path . '/button/templates/render.php';
|
|
138
|
+
?>
|
|
140
139
|
</div>
|
|
141
140
|
<?php endif; ?>
|
|
142
141
|
<?php endforeach; ?>
|
|
143
142
|
<?php endif; ?>
|
|
144
143
|
</div>
|
|
145
144
|
<?php if ( ! empty( $view['anchor_button'] ) ) : ?>
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
145
|
+
<?php
|
|
146
|
+
$button = [
|
|
147
|
+
'text' => $view['anchor_button']['text'],
|
|
148
|
+
'url' => $view['anchor_button']['url'],
|
|
149
|
+
'variant' => 'ghost',
|
|
150
|
+
'size' => 'md',
|
|
151
|
+
'class' => $view['classes']['anchor_btn'] ?? '',
|
|
152
|
+
'icon' => [ 'value' => 'eicon-chevron-down', 'library' => 'eicons' ],
|
|
153
|
+
'icon_position' => 'right',
|
|
154
|
+
'attrs' => 'aria-label="' . esc_attr( $view['anchor_button']['text'] ) . '"',
|
|
155
|
+
];
|
|
156
|
+
include $elements_path . '/button/templates/render.php';
|
|
157
|
+
?>
|
|
156
158
|
<?php endif; ?>
|
|
157
159
|
</div>
|
|
158
160
|
|
|
@@ -127,32 +127,34 @@ foreach ( $slides as $s ) {
|
|
|
127
127
|
class="hero-overlay__cta-wrap <?php echo $is_slider ? ( $index === 0 ? '' : ' hidden' ) : ''; ?>"
|
|
128
128
|
data-slide-index="<?php echo (int) $index; ?>"
|
|
129
129
|
>
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
</a>
|
|
130
|
+
<?php
|
|
131
|
+
$button = $slide['cta'];
|
|
132
|
+
$button['class'] = trim( ( $view['classes']['cta_bar'] ?? '' ) . ' ' . ( $button['class'] ?? '' ) );
|
|
133
|
+
if ( empty( $button['icon'] ) ) {
|
|
134
|
+
$button['icon'] = [ 'value' => 'eicon-arrow-right', 'library' => 'eicons' ];
|
|
135
|
+
$button['icon_position'] = 'right';
|
|
136
|
+
}
|
|
137
|
+
include $elements_path . '/button/templates/render.php';
|
|
138
|
+
?>
|
|
140
139
|
</div>
|
|
141
140
|
<?php endif; ?>
|
|
142
141
|
<?php endforeach; ?>
|
|
143
142
|
<?php endif; ?>
|
|
144
143
|
</div>
|
|
145
144
|
<?php if ( ! empty( $view['anchor_button'] ) ) : ?>
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
145
|
+
<?php
|
|
146
|
+
$button = [
|
|
147
|
+
'text' => $view['anchor_button']['text'],
|
|
148
|
+
'url' => $view['anchor_button']['url'],
|
|
149
|
+
'variant' => 'ghost',
|
|
150
|
+
'size' => 'md',
|
|
151
|
+
'class' => $view['classes']['anchor_btn'] ?? '',
|
|
152
|
+
'icon' => [ 'value' => 'eicon-chevron-down', 'library' => 'eicons' ],
|
|
153
|
+
'icon_position' => 'right',
|
|
154
|
+
'attrs' => 'aria-label="' . esc_attr( $view['anchor_button']['text'] ) . '"',
|
|
155
|
+
];
|
|
156
|
+
include $elements_path . '/button/templates/render.php';
|
|
157
|
+
?>
|
|
156
158
|
<?php endif; ?>
|
|
157
159
|
</div>
|
|
158
160
|
|
|
@@ -127,32 +127,34 @@ foreach ( $slides as $s ) {
|
|
|
127
127
|
class="hero-overlay__cta-wrap <?php echo $is_slider ? ( $index === 0 ? '' : ' hidden' ) : ''; ?>"
|
|
128
128
|
data-slide-index="<?php echo (int) $index; ?>"
|
|
129
129
|
>
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
</a>
|
|
130
|
+
<?php
|
|
131
|
+
$button = $slide['cta'];
|
|
132
|
+
$button['class'] = trim( ( $view['classes']['cta_bar'] ?? '' ) . ' ' . ( $button['class'] ?? '' ) );
|
|
133
|
+
if ( empty( $button['icon'] ) ) {
|
|
134
|
+
$button['icon'] = [ 'value' => 'eicon-arrow-right', 'library' => 'eicons' ];
|
|
135
|
+
$button['icon_position'] = 'right';
|
|
136
|
+
}
|
|
137
|
+
include $elements_path . '/button/templates/render.php';
|
|
138
|
+
?>
|
|
140
139
|
</div>
|
|
141
140
|
<?php endif; ?>
|
|
142
141
|
<?php endforeach; ?>
|
|
143
142
|
<?php endif; ?>
|
|
144
143
|
</div>
|
|
145
144
|
<?php if ( ! empty( $view['anchor_button'] ) ) : ?>
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
145
|
+
<?php
|
|
146
|
+
$button = [
|
|
147
|
+
'text' => $view['anchor_button']['text'],
|
|
148
|
+
'url' => $view['anchor_button']['url'],
|
|
149
|
+
'variant' => 'ghost',
|
|
150
|
+
'size' => 'md',
|
|
151
|
+
'class' => $view['classes']['anchor_btn'] ?? '',
|
|
152
|
+
'icon' => [ 'value' => 'eicon-chevron-down', 'library' => 'eicons' ],
|
|
153
|
+
'icon_position' => 'right',
|
|
154
|
+
'attrs' => 'aria-label="' . esc_attr( $view['anchor_button']['text'] ) . '"',
|
|
155
|
+
];
|
|
156
|
+
include $elements_path . '/button/templates/render.php';
|
|
157
|
+
?>
|
|
156
158
|
<?php endif; ?>
|
|
157
159
|
</div>
|
|
158
160
|
|