Kirki - Version 2.3.1

Version Description

  • FIX: Spacing control JS dependencies.
  • FIX: Output property ignored in multicolor field.
  • FIX: Image sub-controls in repeaters were causing a JS error.
  • FIX: Text Domain Compliance with Themecheck.
  • FIX: PostMessage scripts when using more than 1 elements for the output.
  • FIX: Default values for swithes, toggles & checkboxes.
  • FIX: Conflict with WP Core's dropdown-pages control.
  • FIX: Auto-transport not working when using serialized options instead of theme_mods.
  • FIX: value_pattern was not working properly when used in js_vars.
  • FIX: Repeater control bugfixes (props @guillaumemolter).
  • FIX: multi-selects saving single value.
  • NEW: Added support for upload controls in repeaters (props @guillaumemolter).
  • NEW: Adding mime_type parameter for image, cropped_image, upload controls in repeaters (props @guillaumemolter).
  • NEW: Added color-picker support in repeater fields (props @guillaumemolter).
Download this release

Release Info

Developer aristath
Plugin Icon 128x128 Kirki
Version 2.3.1
Comparing to
See all releases

Code changes from version 2.3.0 to 2.3.1

Files changed (53) hide show
  1. .jscsrc +0 -7
  2. .jshintignore +0 -3
  3. .jshintrc +0 -38
  4. README.md +0 -598
  5. assets/css/customizer.css +17 -1
  6. assets/css/customizer.css.map +1 -1
  7. assets/js/controls/code.js +1 -1
  8. assets/js/controls/dropdown-pages.js +1 -1
  9. assets/js/controls/preset.js +1 -1
  10. assets/js/controls/repeater.js +124 -13
  11. assets/js/controls/select.js +1 -1
  12. assets/js/controls/spacing.js +8 -9
  13. assets/js/controls/typography.js +9 -9
  14. assets/js/functions/array-to-object.js +0 -11
  15. assets/js/functions/object-to-array.js +0 -11
  16. assets/js/functions/rebuild-value.js +8 -0
  17. assets/js/functions/{set-value.js → set-setting-value.js} +1 -1
  18. assets/js/postmessage.js +17 -11
  19. assets/js/reset.js +1 -1
  20. codesniffer.ruleset.xml +0 -19
  21. includes/class-kirki-control.php +30 -30
  22. includes/class-kirki-enqueue.php +8 -9
  23. includes/class-kirki-field.php +17 -4
  24. includes/class-kirki-fonts-google.php +51 -8
  25. includes/class-kirki-l10n.php +4 -1
  26. includes/class-kirki-sanitize-values.php +10 -5
  27. includes/controls/class-kirki-controls-checkbox-control.php +1 -1
  28. includes/controls/class-kirki-controls-code-control.php +1 -1
  29. includes/controls/class-kirki-controls-dropdown-pages-control.php +1 -1
  30. includes/controls/class-kirki-controls-repeater-control.php +107 -47
  31. includes/controls/class-kirki-controls-typography-control.php +15 -9
  32. includes/field/class-kirki-field-checkbox.php +31 -8
  33. includes/field/class-kirki-field-dropdown-pages.php +1 -1
  34. includes/field/class-kirki-field-spacing.php +75 -0
  35. includes/output/field/class-kirki-output-field-multicolor.php +6 -2
  36. includes/styles/class-kirki-styles-frontend.php +30 -3
  37. includes/webfonts.php +1 -1
  38. kirki.php +1 -1
  39. readme.txt +21 -2
  40. tests/bin/install-wp-tests.sh +0 -98
  41. tests/test-aricolor.php +0 -375
  42. tests/test-bootstrap.php +0 -15
  43. tests/test-deprecated.php +0 -34
  44. tests/test-kirki-add_config.php +0 -66
  45. tests/test-kirki-add_field.php +0 -228
  46. tests/test-kirki-add_panel.php +0 -48
  47. tests/test-kirki-add_section.php +0 -51
  48. tests/test-kirki-color.php +0 -208
  49. tests/test-kirki-customizer-scripts-icons.php +0 -43
  50. tests/test-kirki-customizer-scripts-tooltips.php +0 -34
  51. tests/test-kirki-field.php +0 -161
  52. tests/test-kirki-fonts.php +0 -44
  53. tests/test-kirki-helper.php +0 -56
.jscsrc DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "preset": "wordpress",
3
- "fileExtensions": [ ".js" ],
4
- "excludeFiles": [
5
- "js/**.min.js"
6
- ]
7
- }
.jshintignore DELETED
@@ -1,3 +0,0 @@
1
- **/**.min.js
2
- assets/js/vendor/
3
- Gruntfile.js
.jshintrc DELETED
@@ -1,38 +0,0 @@
1
- {
2
- "boss": true,
3
- "curly": true,
4
- "eqeqeq": true,
5
- "eqnull": true,
6
- "es3": true,
7
- "expr": true,
8
- "immed": true,
9
- "noarg": true,
10
- "nonbsp": true,
11
- "onevar": true,
12
- "quotmark": "single",
13
- "trailing": true,
14
- "undef": true,
15
- "unused": false,
16
-
17
- "browser": true,
18
-
19
- "globals": {
20
- "_": false,
21
- "Backbone": false,
22
- "jQuery": false,
23
- "JSON": false,
24
- "wp": false,
25
-
26
- "kirkiBranding":false,
27
- "jsvars":false,
28
- "kirkiSetValue":false,
29
- "kirkiValidateCSSValue":false,
30
- "kirkiArrayToObject":false,
31
- "kirkiObjectToArray":false,
32
- "CodeMirror":false,
33
- "tinyMCE":false,
34
- "unserialize":false,
35
- "serialize":false,
36
- "kirkiAllFonts":false
37
- }
38
- }
README.md DELETED
@@ -1,598 +0,0 @@
1
- # Kirki #
2
- **Contributors:** aristath, fovoc, igmoweb
3
- **Tags:** customizer,options framework, theme, mods, toolkit
4
- **Donate link:** http://kirki.org/
5
- **Requires at least:** 4.4
6
- **Tested up to:** 4.5
7
- **Stable tag:** 2.3.0
8
- **License:** GPLv2 or later
9
- **License URI:** http://www.gnu.org/licenses/gpl-2.0.html
10
-
11
- The ultimate toolkit for theme developers using the WordPress Customizer
12
-
13
-
14
- ## Description ##
15
-
16
- [![Build Status](https://travis-ci.org/aristath/kirki.svg?branch=master)](https://travis-ci.org/aristath/kirki) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/aristath/kirki/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/aristath/kirki/?branch=master) [![Code Climate](https://codeclimate.com/github/aristath/kirki/badges/gpa.svg)](https://codeclimate.com/github/aristath/kirki) [![codecov.io](https://codecov.io/github/aristath/kirki/coverage.svg?branch=master)](https://codecov.io/github/aristath/kirki?branch=master) [![License](https://img.shields.io/badge/license-GPL--2.0%2B-red.svg)](https://raw.githubusercontent.com/aristath/kirki/master/LICENSE) [![Join the chat at https://gitter.im/aristath/kirki](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/aristath/kirki?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
17
-
18
- Kirki is a Toolkit allowing WordPress developers to use the Customizer and take advantage of its advanced features and flexibility by abstracting the code and making it easier for everyone to create beautiful and meaningful user experiences.
19
-
20
- Kirki does not replace the WordPress Customizer API, you can still use the default WordPress methods and we advise you to familiarize yourselves with it. An excellent handbook for the WordPress Customizer can be found on the developer.wordpress.org website.
21
-
22
- What Kirki does is save you time… LOTS of time!
23
-
24
- Easily add configurations for your project, create panels, sections and add fields with ease.
25
-
26
- Automatically create CSS from your fields, and make the customizer’s preview instant with our automatic postMessage scripts creation!
27
-
28
- Add Google Fonts with our typography field, add tooltips to help your users and build awesome products!
29
-
30
- You can find detailed documentation on how to use Kirki on [https://kirki.org](https://kirki.org)
31
-
32
- ## Installation ##
33
-
34
- Simply install as a normal WordPress plugin and activate.
35
-
36
- If you want to integrate Kirki in your theme or plugin, please read the instructions on [our ducumentation site](https://kirki.org/docs/advanced/integration.html).
37
-
38
- ## Changelog ##
39
-
40
- ### 2.3 ###
41
-
42
- Kirki is now 100% WordPress Coding Standards compliant.
43
-
44
- * FIX: Escaping google-font URLs when possible.
45
- * FIX: Only enqueue the tooltips script if needed.
46
- * FIX: WordPress Coding Standards.
47
- * FIX: undefined sub-controls were still being saved in typography fields
48
- * FIX: Javascript Console Errors: "wp.customize" object undefined when Kirki fields were added in `customize_register`
49
- * FIX: markup in editor fields - props @manuelmoreale.
50
- * FIX: multiple styles in head when using js_vars
51
- * FIX: Sanitization for rem units
52
- * FIX: CSS output for multicolor controls
53
- * NEW: Repeater labels are now dynamic - props @guillaumemolter.
54
- * NEW: The entire header on repeaters is now draggable - props @guillaumemolter.
55
- * TWEAK: More efficient JS code for the typography control
56
-
57
- ### 2.2.10 ###
58
-
59
- * FIX: Issue with URLs when using Kirki embedded in a theme and not installed as a plugin.
60
-
61
- ### 2.2.9 ###
62
-
63
- * FIX: Repeater controls were not working on 2.2.8 due to a typo - props @guillaumemolter
64
- * NEW: Repeater fields now allow more control types (email/tel/url/hidden) - props @guillaumemolter
65
-
66
- ### 2.2.8 ###
67
-
68
- April 6, 2016, dev time: 5 hours.
69
-
70
- * FIX: Enqueued assets missing when useg WP_DEBUG & WP_DEBUG_SCRIPT
71
- * FIX: Checkboxes were not properly displaying their values
72
- * FIX: Javascript errors when `number` controls were used without `min`, `max` or `step`.
73
- * FIX: Multiselect controls issue with the `sanitize_callback` used.
74
- * NEW: Make attributes in `cropped_image` sub-controls inside repeaters dynamic (props @guillaumemolter).
75
-
76
- ### 2.2.7 ###
77
-
78
- April 5, 2016, dev time: 23 hours.
79
-
80
- * FIX: Properly parsing `postMessage` scripts when `transport` is set to `auto`.
81
- * FIX: Background image was outputing CSS even if it was empty.
82
- * FIX: Default value for checkboxes.
83
- * FIX: Issue with plugin URLs in the customizer, when the plugin was embedded in a theme.
84
- * FIX: Descriptions were now shown in `sortable` fields.
85
- * FIX: Reset not working for textarea fields.
86
- * FIX: In some cases only the first element in `output` arguments was being processed.
87
- * FIX: edge-case bugfix for select controls when data saved if the db was somehow mis-formatted.
88
- * FIX: Repeater controls now use image IDs instead of image URLs. Props @guillaumemolter
89
- * NEW: Added `text-align` ability in `typography` fields.
90
- * NEW: Added `text-transform` ability in `typography` fields.
91
- * NEW: Introduce `value_pattern` argument for `output` & `js_vars`.
92
- * NEW: Started refactoring the `Kirki_Field` class. Now each field can have its own sub-class extending the main Kirki_Field object.
93
- * NEW: `multicolor` control.
94
- * NEW: Added `cropped_image` support in `repeater`. Props @guillaumemolter
95
- * TWEAK: Renamed `Kirki_Customizer_Scripts_Loading` to `Kirki_Scripts_Loading`.
96
- * TWEAK: Renamed `Kirki_Customizer_Scripts_Tooltips` to `Kirki_Scripts_Tooltips`.
97
- * TWEAK: Renamed `Kirki_Customizer_Scripts_Icons` to `Kirki_Scripts_Icons`.
98
- * TWEAK: More inline comments, docs & coding-standards improvements.
99
- * DEPRECATED: Removed the `Kirki_Colourlovers` class.
100
-
101
- ### 2.2.6 ###
102
-
103
- March 26, 2016, dev time: 10 hours
104
-
105
- * FIX: Invalid variants for google fonts were getting enqueued due to a mischeck.
106
- * FIX: Repeater rows are now minimized by default.
107
- * FIX: Styling for the `dropdown-pages` control.
108
- * FIX: `switch` controls now properly resize based on the label used in the `choices` argument.
109
- * FIX: It is now possible to use `calc()` in CSS value controls.
110
- * FIX: Styles were being applied to the customizer even if they were not defined in the `kirki/config` filter.
111
- * FIX: Removed unnecessary class inheritances & other code cleanups.
112
- * NEW: Allow resetting options per-section.
113
- * NEW: Added new `color-palette` control.
114
- * NEW: Added `'transport' => 'auto'` to auto-calculate postMessage scripts from the `output` argument when possible.
115
- * NEW: Added Material design palettes in the `Kirki_Helper` class.
116
- * NEW: Allow changing the "Add Row" text on repeater fields.
117
- * NEW: Allow setting a limit for repeater rows.
118
-
119
- ### 2.2.5 ###
120
-
121
- March 23, 2016, dev time: 7 hours
122
-
123
- * FIX: Google fonts now loaded via a PHP array instead of a JSON file.
124
- * FIX: CSS issue due to escaped quotes on standard fonts.
125
- * FIX: Issue when using `units` on `js_vars` combined with the `style` method.
126
- * FIX: Missing textdomain on a string.
127
- * NEW: Refactored postMessage scripts.
128
- * NEW: Allow passing options to iris using the `choices` argument on color controls.
129
- * NEW: Allow disabling the custom loader using the `disable_loader` argument in the `kirki/config` filter.
130
-
131
- ### 2.2.4 ###
132
-
133
- March 20, 2016, dev time: 6 hours
134
-
135
- * FIX: Removed unnecessary CSS echoed by the `typography` control
136
- * FIX: Color Calculation class improvements
137
- * FIX: CSS improvement for `toggle` controls
138
- * NEW: Added `dashicons` field
139
- * NEW: Added the ability to limit the number of rows in `repeater` controls (props @fovoc)
140
-
141
- ### 2.2.3 ###
142
-
143
- March 19, 2016
144
-
145
- * FIX: Selecting a color inside typography controls was throwing a JS error (typo)
146
- * FIX: CSS alignment for descriptions in toggle controls
147
- * FIX: Default value for letter-spacing setting in typography controls (props @andreg)
148
-
149
- ### 2.2.2.1 ###
150
-
151
- March 18, 2016, dev time: 5 minutes
152
-
153
- * FIX: Backwards-compatibility bugfix
154
-
155
- ### 2.2.2 ###
156
-
157
- March 17, 2016, dev time: 10 minutes
158
-
159
- * FIX: PHP notice for non-standard controls when the `element` defined in an `output` argument is of type `array`.
160
-
161
- ### 2.2.1 ###
162
-
163
- March 17, 2016, dev time: 3 hours
164
-
165
- * FIX: Alpha channel was always enabled for color controls
166
- * FIX: PHP Notices in the class-kirki-output-control-typography.php file
167
- * FIX: PHP Fatal error on PHP 5.2
168
- * FIX: PHP Notice in the class-kirki-field.php file
169
- * FIX: PHP Fatal error when using background-position in the output argument
170
- * TWEAK: Removed unused languages from CodeMirror to reduce the plugin's size
171
-
172
- ### 2.2.0 ###
173
-
174
- March 16, 2016, dev time: 120 hours
175
-
176
- * FIX: Improved & simplified the `number` control.
177
- * FIX: Improved & simplified the `spacing` control.
178
- * FIX: Minor bugfix on the `select` control.
179
- * FIX: WP Coding standards improvements.
180
- * FIX: Bugfix for radio controls.
181
- * FIX: Fixed repeater remove image not triggering save button to activate, and added a placeholder when the image is removed. (props @sayedwp)
182
- * FIX: Fixed bug when using negative numbers as min value in the `number` field
183
- * FIX: Typo in the textdomain for some strings (some strings were using "Kirki" instead of "kirki").
184
- * FIX: Complete refactor & rewrite of the google-fonts implementation.
185
- * FIX: IE11 bug on radio-image controls.
186
- * FIX: Radio-image bug when used with serialized options.
187
- * NEW: Complete refactor & rewrite of typography control.
188
- * NEW: Refactored the CSS output methods.
189
- * NEW: Added new mothods for detecting dependencies.
190
- * NEW: Added font-subsets in typography controls.
191
- * NEW: Google fonts now only show valid variants & subsets in typography controls.
192
- * NEW: Implemented partial refreshes for WP 4.5 using a "partial_refresh" argument (formatted as an array).
193
- * NEW: Better autoloader & improved file structure.
194
- * NEW: Deprecated the `Kirki_Field_Sanitize` class in favor of a more simplified & robust implementation.
195
- * NEW: Completely refactored the `Kirki_Field` class, we're migrating to a more OOP model.
196
- * NEW: Added a new `kirki-generic` control.
197
- * NEW: Deprecated the custom text control and used the new `kirki-generic` control instead.
198
- * NEW: Deprecated the custom textarea control and used the new `kirki-generic` control instead.
199
- * NEW: Renamed the `help` argument to `tooltip`. `help` will continue to work as an alias.
200
- * NEW: Merged the `color` & color-alpha` controls. We now use the `color-alpha` control for all colors, and just modify the `data-alpha` property it has.
201
- * NEW: Started an OOP rewrite of many classes
202
- * NEW: Started rewriting the PHPUNIT tests & tweaked them so they can now run on localhosts (like VVV) and not just on travis-ci.
203
- * NEW: Included the ariColor library for color calculations (https://aristath.github.io/ariColor/)
204
- * TWEAK: Other code refactoring for improved performance
205
- * TWEAK: Updated `grunt` packages.
206
-
207
- ### 2.1.0.1 ###
208
-
209
- February 17, 2016, dev time: 5 minutes
210
-
211
- * FIX: PHP Notices (undefined index)
212
-
213
- ### 2.1.0 ###
214
-
215
- February 17, 2016, dev time: 4 hours
216
-
217
- * FIX: Image field issues inside the Repeater field (props @sayedwp)
218
- * NEW: Allow disabling output per-config
219
- * NEW: Introduce 'postMessage' => 'auto' option in config (will auto-create `js_vars` using the `output` argument)
220
- * NEW: New color control using a js-based template
221
- * TWEAK: Branding script rewrite
222
- * TWEAK: Color controls styling
223
- * TWEAK: Coding improvements & cleanups
224
-
225
- ### 2.0.9 ###
226
-
227
- February 13, 2016, dev time: 1 hour.
228
-
229
- * FIX: Google fonts bug (use double quotes when font name contains a space character)
230
- * FIX: Checkbox control bug (checkboxes were always displayed as checked, regardless of their actual value)
231
- * NEW: Intruducing KIRKI_NO_OUTPUT constant that disables CSS output completely when set to true.
232
-
233
- ### 2.0.8 ###
234
-
235
- February 10, 2016, dev time: 2 hours
236
-
237
- * FIX: Only load Kirki styles when in the customizer
238
- * FIX: Performance issue with Google Fonts
239
- * NEW: Added radio-image controls to repeaters
240
- * TWEAK: Better color handling in the Kirki_Color class
241
-
242
- ### 2.0.7 ###
243
-
244
- January 19, 2016, dev time: 1 hour
245
-
246
- * FIX: Narrow the scope of "multicheck" modification checker (props @chetzof)
247
- * FIX: PHP warnings due to invalid callback method
248
- * FIX: postMessage bug introduced in 2.0.6 (2 lines commented-out)
249
-
250
- ### 2.0.6 ###
251
-
252
- January 18, 2016, dev time: 7 hours
253
-
254
- * FIX: Fix active callback for multidimensional arrays. (props @andrezrv)
255
- * FIX: Correctly check current value of checkbox control. (props @andrezrv)
256
- * FIX: Bug in the sortable field (props @daviedR)
257
- * FIX: Fixed some bugs that occured when using serialized options instead of theme_mods
258
- * NEW: Added an image sub-field to repeater fields (props @sayedwp)
259
- * NEW: Added a JS callback to js_vars (props @pingram3541)
260
- * TWEAK: Settings sanitization
261
- * TWEAK: Removed demo theme from the plugin. This is now provided separately on https://github.com/aristath/kirki-demo
262
-
263
- ### 2.0.5 ###
264
-
265
- December 23, 2015, dev time: 2.5 hours
266
-
267
- * FIX: Disabled the ajax-loading method for stylesheets. All styles are now added inline. Will be re-examined for a future release.
268
- * FIX: Number controls were not properly triggering changes
269
- * FIX: Styling for number controls
270
- * FIX: In some cases the dynamic CSS was added before the main stylesheet. We now add them using a priority of 999 to ensure they are enqueued afterwards.
271
-
272
- ### 2.0.4 ###
273
-
274
- December 19, 2015, dev time: 3 hours
275
-
276
- * NEW: Added units support to the Typography field
277
- * NEW: Default methods of enqueuing styles in now inline.
278
- * NEW: Added 'inline_css' argument to config. set to false to add styles using AJAX.
279
- * FIX: HTML mode for CodeMirror now functional
280
- * FIX: PHP Notices when the config filter is used wrong
281
- * FIX: Monor bugfix for text inputs
282
- * FIX: Indentation & coding standards
283
- * FIX: failing PHPUNIT test.
284
- * TWEAK: Remove passing click event object
285
-
286
- ### 2.0.3 ###
287
-
288
- December 6, 2015, dev time: 45 minutes
289
-
290
- * Bugfix for updates
291
-
292
- ### 2.0.2 ###
293
-
294
- December 6, 2015, dev time: 30 minutes
295
-
296
- * FIX: Fatal error on update (not on new installations)
297
- * FIX: Typo
298
-
299
- ### 2.0.1 ###
300
-
301
- December 6, 2015, dev time: 10 minutes
302
-
303
- * FIX: Some configurations were failing with the new autoloader. Reverted to a simpler file structure.
304
-
305
- ### 2.0 ###
306
-
307
- December 6, 2015, dev time > 140 hours
308
-
309
- * NEW: Added support for `sanitize_callback` arguments on each item in the CSS `output`.
310
- * NEW: Added the ability to define an array as element in the `output`.
311
- * NEW: Auto-prefixing CSS output for cross-browser compatibilities.
312
- * NEW: Allow using arrays in settings.
313
- * NEW: Dimension Field.
314
- * NEW: Repeater Field.
315
- * NEW: Code Field using the ACE editor.
316
- * NEW: Typography Control.
317
- * NEW: Preset Field.
318
- * NEW: Demo theme.
319
- * NEW: Spacing Control.
320
- * REMOVED: Redux Framework compatibility.
321
- * FIX: Minor bugfixes to the Kirki_Color class.
322
- * FIX: kirki_get_option now uses Kirki::get_option().
323
- * FIX: Various bugfixes.
324
- * TWEAK: Converted the `checkbox` control to use the JS templating system.
325
- * TWEAK: Converted the `custom` control to use the JS templating system.
326
- * TWEAK: Converted the `multicheck` control to use the JS templating system.
327
- * TWEAK: Converted the `number` control to use the JS templating system.
328
- * TWEAK: Converted the `palette` control to use the JS templating system.
329
- * TWEAK: Converted the `radio-buttonset` control to use the JS templating system.
330
- * TWEAK: Converted the `radio-image` control to use the JS templating system.
331
- * TWEAK: Converted the `radio` control to use the JS templating system.
332
- * TWEAK: Converted the `select` control to use the JS templating system.
333
- * TWEAK: Converted the `slider` control to use the JS templating system.
334
- * TWEAK: Converted the `switch` control to use the JS templating system.
335
- * TWEAK: Converted the `textarea` control to use the JS templating system.
336
- * TWEAK: Converted the `toggle` control to use the JS templating system.
337
- * TWEAK: `radio-buttonset` controls are now CSS-only.
338
- * TWEAK: `radio-image` controls are now CSS-only.
339
- * TWEAK: `select` controls nopw use [selectize](http://brianreavis.github.io/selectize.js/) instead of [Select2](https://select2.github.io/).
340
- * TWEAK: Deprecated `select2` and `select2-multiple` controls. We now have a global `select` control. Previous implementations gracefully fallback to the current one.
341
- * TWEAK: `switch` controls are now CSS-only.
342
- * TWEAK: `toggle` controls are now CSS-only.
343
- * TWEAK: Sliders now use an HTML5 "range" input instead of jQuery-UI.
344
- * TWEAK: Better coding standards.
345
- * TWEAK: Descriptions styling.
346
- * TWEAK: Improved controls styling.
347
- * TWEAK: Compiled CSS & JS for improved performance.
348
- * TWEAK: Added prefix to the sanitized output array.
349
- * TWEAK: Updated google-fonts.
350
- * TWEAK: Grunt integration.
351
- * TWEAK: Some Code refactoring.
352
-
353
- ### 1.0.2 ###
354
-
355
- July 17, 2014, dev time: 5 minutes
356
-
357
- * NEW: Added 'disable_output' and 'disable_google_fonts' arguments to the configuration.
358
-
359
- ### 1.0.1 ###
360
-
361
- July 17, 2014, dev time: 1 hour
362
-
363
- * FIX: Issues when using serialized options instead of theme_mods or individual options.
364
- * FIX: Issues with the `output` argument on fields.
365
- * FIX: Other minor bugfixes
366
-
367
- ### 1.0.0 ###
368
-
369
- July 11, 2014, dev time: 177 hours
370
-
371
- * NEW: Added PHPUnit tests
372
- * NEW: Use wp_add_inline_style to add customizer styles
373
- * NEW: Rebuilt the background fields calculation
374
- * NEW: Now using Formstone for switches & toggles
375
- * NEW: Added a new API. See https://github.com/aristath/kirki/wiki for documentation.
376
- * NEW: Minimum PHP requirement is now PHP 5.2
377
- * NEW: Added a Select2 field type.
378
- * NEW: Introducing the Kirki::get_option() method to get values.
379
- * NEW: added 'media_query' argument to output.
380
- * NEW: Added ability to get variables for CSS preprocessors from the customizer values. See https://github.com/aristath/kirki/wiki/variables for documentation
381
- * NEW: now supporting 'units' to all outputs to support '!important'
382
- * NEW: Ability to create panels & sections using the new API.
383
- * NEW: added a get_posts method to the Kirki class.
384
- * NEW: Implement width argument in the styling options. See https://github.com/aristath/kirki/wiki/Styling-the-Customizer
385
- * NEW: add 'kirki/control_types' filter
386
- * FIX: Properly saving values in the db when using serialized options
387
- * FIX: Check if classes & functions exist before adding them (allows for better compatibility when embedded in a theme)
388
- * FIX: PHP Warnings & Notices
389
- * FIX: Other minor bugfixes
390
- * FIX: Now using consistently `option_type` instead of `options_type` everywhere
391
- * FIX: `Kirki::get_option()` method now works for all fields, including background fields.
392
- * FIX: avoid errors when Color is undefined in background fields
393
- * FIX: Use WP_Filesystem to get the google fonts array from a json file
394
- * FIX: Radio-Button styling
395
- * FIX: PHP Notices
396
- * FIX: Typos
397
- * FIX: Properly sanitizing rgba colors
398
- * FIX: Properly sanitize numbers
399
- * FIX: Make sure all variables are escaped on output
400
- * TWEAK: Simplify the Colourlovers integration.
401
- * TWEAK: Improve sanitization
402
- * TWEAK: Improve the Kirki_Styles_Customizer class
403
- * TWEAK: Code cleanups
404
- * TWEAK: Added more inline docs (lots of them)
405
- * TWEAK: Use active_callback for required arguments instead of custom JS
406
- * TWEAK: Updated translation files
407
- * TWEAK: Better color manipulation in the Kirki_Color class
408
- * TWEAK: Move secondary classes instantiation to the Kirki() function.
409
- * TWEAK: set a $kirki global
410
- * TWEAK: deprecate getOrThrow method in the Kirki_Config class.
411
- * TWEAK: Move sanitisation functions to a Kirki_Sanitize class.
412
- * TWEAK: Rename Kirki_Framework to Kirki_Toolkit.
413
- * TWEAK: Move variables to the new API
414
- * TWEAK: simplify Kirki_Controls class
415
- * TWEAK: move the kirki/fields & kirki/controls filters to the new API
416
- * REMOVED: remove the 'stylesheet_id' from the configuration.
417
-
418
- ### 0.8.4 ###
419
-
420
- April 6, 2014, dev time: 0.5 hours
421
-
422
- * FIX: Color sanitization was distorting 0 characters in the color hex.
423
- * FIX: Properly sanitizing ColorAlpha controls
424
- * FIX: Sanitizing more properties in the Fields class
425
- * FIX: removing remnant double-sanitization calls from the controls classes
426
-
427
- ### 0.8.3 ###
428
-
429
- April 5, 2014, dev time: 28 hours
430
-
431
- * NEW: Introduce a Field class
432
- * NEW: Introduce a Builder class
433
- * TWEAK: Code Cleanups
434
- * NEW: Added ability to use 'option' as the setting type
435
- * Fix : Bugs in the color calculation class
436
- * TWEAK: Everything gets sanitized in the "Field" class
437
- * FIX: Bugs in sortable field
438
- * FIX: Editor control had no description
439
- * NEW: Added a color-alpha control. To use it just set an rgba color as the default value.
440
- * TWEAK: SCSS & CSS improvements
441
- * FIX: Various PHP notices and warnings when no fields are defined
442
- * TWEAK: More efficient color sanitization method
443
- * TWEAK: Improved number control presentation
444
- * TWEAK: Improved the way background fields are handled
445
- * TWEAK: Checkboxes styling
446
- * NEW: Allow using rgba values for background colors
447
- * FIX: CSS fix - :focus color for active section
448
- * NEW: Add a static 'prepare' method to the ScriptRegistry class
449
- * FIX: Issues with the URL when Kirki is embedded in a theme
450
-
451
- ### 0.8.2 ###
452
-
453
- March 30, 2015, dev time: 5 minutes
454
-
455
- * FIX: Autoloader could not properly include files due to strtolower()
456
-
457
- ### 0.8.1 ###
458
-
459
- March 30, 2015, dev time: 30 minutes
460
-
461
- * FIX: Translation strings now overridable using the config filter.
462
-
463
- ### 0.8.0 ###
464
-
465
- March 30, 2015, dev time: 32 hours
466
-
467
- * Improvement: OOP redesign (props @vpratfr)
468
- * NEW: Added Palette control
469
- * NEW: Added Editor control (WYSIWYG - uses TinyMCE)
470
- * NEW: Added Custom control (free html)
471
- * NEW: Added a Kirki_Colourlovers class to use palettes from the colourlovers API
472
- * NEW: Added a composer file (props @vpratfr)
473
- * FIX: Wrong settings IDs
474
- * FIX: Color calculation on RGBA functions were off
475
- * TWEAK: Restructuring the plugin (props @vpratfr)
476
- * NEW: added a functional kirki_get_option() function
477
- * TWEAK: Simplified configuration options.
478
- * NEW: Turn Kirki into a singleton and a facade (props @vpratfr)
479
- * TWEAK: Completely re-written the customizer styles
480
- * NEW: Using SASS for customizer styles
481
- * TWEAK: Deprecating the group_title control in favor of the new custom control
482
- * TWEAK: Changed the CSS for checkboxes
483
-
484
- ### 0.7.1 ###
485
-
486
- March 15, 2015, dev time: 2 hours
487
-
488
- * REMOVED: Remove the `kirki_get_option` function that was introduced in 0.7 as it's not working properly yet.
489
- * FIX: Undefined index notice when a default value for the control was not defined
490
- * TWEAK: `logo_image` now injects an `img` element instead of a `div` with custom background
491
- * NEW: Added `description` argument in the kirki configuration (replaces the theme description)
492
-
493
- ### 0.7 ###
494
-
495
- March 14, 2015, dev time: 10 hours
496
-
497
- * FIX: Array to string conversion that happened conditionally when used with googlefonts. (props @groucho75)
498
- * FIX: Background opacity affects background-position of bg image
499
- * FIX: font-weight not being applied on google fonts
500
- * NEW: Added `kirki_get_option( $setting );` function that also gets default values
501
- * TWEAK: Singleton for main plugin class
502
- * FIX: Prevent empty help tooltips
503
- * NEW: Added `toggle` control
504
- * NEW: Added `switch` control
505
- * FIX: Color controls were not being reset to default:
506
- * TWEAK: Tooltips now loaded via jQuery
507
- * TWEAK: Renamed `setting` to settings for consistency with WordPress core
508
- * TWEAK: Renamed `description` to `help` and `subtitle` to `description for consistency with WordPress core
509
- * TWEAK: Backwards-compatibility improvements
510
- * NEW: Allow hiding background control elements by not including default values for them
511
- * TWEAK: Performance improvements
512
- * TWEAK: Using WordPress core controls instead of custom ones when those are available
513
- * TWEAK: Separate logic for multiple-type controls that were using the "mode" argument. This has been deprecated in favor of completely separate control types.
514
-
515
- ### 0.6.2 ###
516
-
517
- March 2, 2015, dev time: 3 hours
518
-
519
- * FIX: Frontend styles were not properly enqueued (props @dmgawel)
520
- * NEW: Allow multiple output styles per control defined as an array of arrays.
521
- * FIX: Background control styles
522
- * FIX: Serialise default values for the sortable control. Now you can define default values as an array.
523
- * FIX: Required script
524
- * FIX: \'_opacity\' was added to a lot of controls by mistake. Removed it and wrote a migration script.
525
-
526
- ### 0.6.1 ###
527
-
528
- February 25, 2015, dev time: 1 hours
529
-
530
- * FIX: Sortables controls had a JS conflict
531
- * FIX: Switches & Toggles were not properly working
532
-
533
- ### 0.6.0 ###
534
-
535
- February 25, 2015, dev time: 9 hours
536
-
537
- * FIX: Tooltips now properly working
538
- * NEW: Added checkbox switches
539
- * NEW: Added checkbox toggles
540
- * FIX: Generated CSS is not properly combined & minified
541
- * FIX: Re-structuring files hierarchy
542
- * FIX: Simplify the way controls are loaded
543
- * NEW: Only load control classes when they are needed
544
- * NEW: Introducing Kirki_Customize_Control class
545
- * FIX: CSS tweaks
546
- * NEW: Sortable control (creating one is identical to a select control, but with `\'type\' => \'sortable\'`)
547
- * FIX: Double output CSS (props @agusmu)
548
- * NEW: Google fonts now parsed from a json file.
549
-
550
- ### 0.5.1 ###
551
-
552
- January 22, 2015
553
-
554
- * FIX: Transport defaults to refresh instead of postMessage
555
- * FIX: undefined index notice.
556
-
557
- ### 0.5 ###
558
-
559
- January 21, 2015
560
-
561
- * NEW: Automatic output of styles for generic controls.
562
- * NEW: Automatic output of styles + scripts for fonts (including googlefonts )
563
- * NEW: The \'output\' argument on background controls is now an array for consistency with other controls. Older syntax is still compatible though. :)
564
- * NEW: Add the ability to auto-generate styles for colors.
565
- * FIX: Add a blank stylesheet if we need one and no stylesheet_id has been defined in the config options.
566
- * FIX: CSS-only tooltips. Fixes issue with tooltips now showing up on WP >= 4.1
567
- * FIX: Code cleanups
568
- * NEW: Added support for WordPress\'s transport arguments
569
- * FIX: All controls now have a sanitization callback. Users can override the default sanitizations by adding their own \'sanitize_callback\' argument.
570
- * FIX: OOP rewrite
571
- * FIX: Strip protocol from Google API link
572
- * FIX: Loading order for some files
573
- * FIX: Removed deprecated less_var argument
574
-
575
- ### 0.4 ###
576
-
577
- October 25, 2014
578
-
579
- * FIX: bugfix for selector
580
- * NEW: Change the Kirki theme based on which admin theme is selected.
581
- * FIX: Tranlsation domain issue
582
- * NEW: Added a \"group_title\" control
583
- * FIX: Updated the required script
584
- * FIX: Updating CSS
585
- * Other minor improvements and bugfixes
586
-
587
- ### 0.3 ###
588
-
589
- May 26, 2014
590
-
591
- * NEW: added background field
592
- * NEW: added \'output\' argument to directly output the CSS
593
-
594
- ### 0.2 ###
595
-
596
- May 9, 2014
597
-
598
- * Initial version
assets/css/customizer.css CHANGED
@@ -105,7 +105,11 @@ customize-control-upload .current .container {
105
input {
106
font-size: 16px; }
107
108
- input[type="text"] {
109
border: 1px solid rgba(0, 0, 0, 0.1);
110
background-image: none;
111
background-position: 0% 0%;
@@ -915,6 +919,8 @@ span.CodeMirror-selectedtext {
915
.customize-control-repeater .repeater-fields .repeater-row label {
916
margin-bottom: 12px;
917
clear: both; }
918
.customize-control-repeater .repeater-fields .repeater-row .repeater-field.repeater-field-radio-image input {
919
display: none; }
920
.customize-control-repeater .repeater-fields .repeater-row .repeater-field.repeater-field-radio-image input img {
@@ -999,6 +1005,16 @@ span.CodeMirror-selectedtext {
999
.kirki-image-attachment img {
1000
display: inline-block; }
1001
1002
.limit {
1003
padding: 3px;
1004
border-radius: 3px; }
105
input {
106
font-size: 16px; }
107
108
+ input[type="text"],
109
+ input[type="date"],
110
+ input[type="email"],
111
+ input[type="url"],
112
+ input[type="tel"] {
113
border: 1px solid rgba(0, 0, 0, 0.1);
114
background-image: none;
115
background-position: 0% 0%;
919
.customize-control-repeater .repeater-fields .repeater-row label {
920
margin-bottom: 12px;
921
clear: both; }
922
+ .customize-control-repeater .repeater-fields .repeater-row .repeater-field.repeater-field- {
923
+ display: none; }
924
.customize-control-repeater .repeater-fields .repeater-row .repeater-field.repeater-field-radio-image input {
925
display: none; }
926
.customize-control-repeater .repeater-fields .repeater-row .repeater-field.repeater-field-radio-image input img {
1005
.kirki-image-attachment img {
1006
display: inline-block; }
1007
1008
+ .kirki-file-attachment {
1009
+ margin: 0;
1010
+ text-align: center;
1011
+ margin-bottom: 10px; }
1012
+ .kirki-file-attachment .file {
1013
+ display: block;
1014
+ padding: 10px 5px;
1015
+ border: 1px dotted #c3c3c3;
1016
+ background: #f9f9f9; }
1017
+
1018
.limit {
1019
padding: 3px;
1020
border-radius: 3px; }
assets/css/customizer.css.map CHANGED
@@ -1,6 +1,6 @@
1
{
2
"version": 3,
3
- "mappings": "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",
4
"sources": ["../scss/global.scss","../scss/panels/expanded.scss","../scss/sections/expanded.scss","../scss/sections/hover.scss","../scss/controls/checkbox.scss","../scss/controls/code.scss","../scss/controls/color.scss","../scss/controls/multicolor.scss","../scss/controls/color-palette.scss","../scss/controls/date.scss","../scss/controls/dashicons.scss","../scss/controls/dimension.scss","../scss/controls/number.scss","../scss/controls/palette.scss","../scss/controls/radio.scss","../scss/controls/radio-buttonset.scss","../scss/controls/radio-image.scss","../scss/controls/repeater.scss","../scss/controls/select.scss","../scss/controls/slider.scss","../scss/controls/sortable.scss","../scss/controls/spacing.scss","../scss/controls/switch.scss","../scss/controls/generic.scss","../scss/controls/toggle.scss","../scss/controls/typography.scss"],
5
"names": [],
6
"file": "customizer.css"
1
{
2
"version": 3,
3
+ "mappings": "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",
4
"sources": ["../scss/global.scss","../scss/panels/expanded.scss","../scss/sections/expanded.scss","../scss/sections/hover.scss","../scss/controls/checkbox.scss","../scss/controls/code.scss","../scss/controls/color.scss","../scss/controls/multicolor.scss","../scss/controls/color-palette.scss","../scss/controls/date.scss","../scss/controls/dashicons.scss","../scss/controls/dimension.scss","../scss/controls/number.scss","../scss/controls/palette.scss","../scss/controls/radio.scss","../scss/controls/radio-buttonset.scss","../scss/controls/radio-image.scss","../scss/controls/repeater.scss","../scss/controls/select.scss","../scss/controls/slider.scss","../scss/controls/sortable.scss","../scss/controls/spacing.scss","../scss/controls/switch.scss","../scss/controls/generic.scss","../scss/controls/toggle.scss","../scss/controls/typography.scss"],
5
"names": [],
6
"file": "customizer.css"
assets/js/controls/code.js CHANGED
@@ -7,7 +7,7 @@ wp.customize.controlConstructor.code = wp.customize.Control.extend({
7
ready: function() {
8
9
var control = this,
10
- element = control.container.find( '#kirki-codemirror-editor-' + control.id ),
11
language = control.params.choices.language,
12
editor;
13
7
ready: function() {
8
9
var control = this,
10
+ element = control.container.find( '.kirki-codemirror-editor' ),
11
language = control.params.choices.language,
12
editor;
13
assets/js/controls/dropdown-pages.js CHANGED
@@ -1,7 +1,7 @@
1
/**
2
* KIRKI CONTROL: DROPDOWN-PAGES
3
*/
4
- wp.customize.controlConstructor['dropdown-pages'] = wp.customize.Control.extend({
5
6
// When we're finished loading continue processing
7
ready: function() {
1
/**
2
* KIRKI CONTROL: DROPDOWN-PAGES
3
*/
4
+ wp.customize.controlConstructor['kirki-dropdown-pages'] = wp.customize.Control.extend({
5
6
// When we're finished loading continue processing
7
ready: function() {
assets/js/controls/preset.js CHANGED
@@ -33,7 +33,7 @@ wp.customize.controlConstructor.preset = wp.customize.Control.extend({
33
// Each choice has an array of settings defined in it.
34
// We'll have to loop through them all and apply the changes needed to them.
35
jQuery.each( value.settings, function( presetSetting, presetSettingValue ) {
36
- kirkiSetValue( presetSetting, presetSettingValue );
37
});
38
39
}
33
// Each choice has an array of settings defined in it.
34
// We'll have to loop through them all and apply the changes needed to them.
35
jQuery.each( value.settings, function( presetSetting, presetSettingValue ) {
36
+ kirkiSetSettingValue( presetSetting, presetSettingValue );
37
});
38
39
}
assets/js/controls/repeater.js CHANGED
@@ -103,6 +103,7 @@ wp.customize.controlConstructor.repeater = wp.customize.Control.extend({
103
if ( ! limit || control.currentIndex < limit ) {
104
theNewRow = control.addRow();
105
theNewRow.toggleMinimize();
106
} else {
107
jQuery( control.selector + ' .limit' ).addClass( 'highlight' );
108
}
@@ -115,7 +116,7 @@ wp.customize.controlConstructor.repeater = wp.customize.Control.extend({
115
}
116
});
117
118
- this.container.on( 'click keypress', '.repeater-field-image .upload-button,.repeater-field-cropped_image .upload-button', function( e ) {
119
e.preventDefault();
120
control.$thisButton = jQuery( this );
121
control.openFrame( e );
@@ -127,6 +128,12 @@ wp.customize.controlConstructor.repeater = wp.customize.Control.extend({
127
control.removeImage( e );
128
});
129
130
/**
131
* Function that loads the Mustache template
132
*/
@@ -156,6 +163,7 @@ wp.customize.controlConstructor.repeater = wp.customize.Control.extend({
156
if ( settingValue.length ) {
157
_.each( settingValue, function( subValue ) {
158
control.addRow( subValue );
159
});
160
}
161
@@ -191,10 +199,12 @@ wp.customize.controlConstructor.repeater = wp.customize.Control.extend({
191
192
initFrame: function() {
193
194
this.frame = wp.media({
195
states: [
196
new wp.media.controller.Library({
197
- library: wp.media.query({ type: 'image' }),
198
multiple: false,
199
date: false
200
})
@@ -208,11 +218,12 @@ wp.customize.controlConstructor.repeater = wp.customize.Control.extend({
208
* Create a media modal select frame, and store it so the instance can be reused when needed.
209
* This is mostly a copy/paste of Core api.CroppedImageControl in /wp-admin/js/customize-control.js
210
*/
211
- initCropperFrame: function() {
212
213
// We get the field id from which this was called
214
var currentFieldId = this.$thisButton.siblings( 'input.hidden-field' ).attr( 'data-field' ),
215
- attrs = [ 'width', 'height', 'flex_width', 'flex_height' ]; // A list of attributes to look for
216
217
// Make sure we got it
218
if ( 'string' === typeof currentFieldId && '' !== currentFieldId ) {
@@ -240,7 +251,7 @@ wp.customize.controlConstructor.repeater = wp.customize.Control.extend({
240
},
241
states: [
242
new wp.media.controller.Library({
243
- library: wp.media.query({ type: 'image' }),
244
multiple: false,
245
date: false,
246
suggestedWidth: this.params.width,
@@ -262,7 +273,11 @@ wp.customize.controlConstructor.repeater = wp.customize.Control.extend({
262
onSelect: function() {
263
var attachment = this.frame.state().get( 'selection' ).first().toJSON();
264
265
- this.setImageInReaperField( attachment );
266
},
267
268
/**
@@ -275,7 +290,7 @@ wp.customize.controlConstructor.repeater = wp.customize.Control.extend({
275
var attachment = this.frame.state().get( 'selection' ).first().toJSON();
276
277
if ( this.params.width === attachment.width && this.params.height === attachment.height && ! this.params.flex_width && ! this.params.flex_height ) {
278
- this.setImageInReaperField( attachment );
279
} else {
280
this.frame.setState( 'cropper' );
281
}
@@ -287,7 +302,7 @@ wp.customize.controlConstructor.repeater = wp.customize.Control.extend({
287
* @param {object} croppedImage Cropped attachment data.
288
*/
289
onCropped: function( croppedImage ) {
290
- this.setImageInReaperField( croppedImage );
291
},
292
293
/**
@@ -391,7 +406,7 @@ wp.customize.controlConstructor.repeater = wp.customize.Control.extend({
391
*/
392
onSkippedCrop: function() {
393
var attachment = this.frame.state().get( 'selection' ).first().toJSON();
394
- this.setImageInReaperField( attachment );
395
},
396
397
/**
@@ -399,7 +414,7 @@ wp.customize.controlConstructor.repeater = wp.customize.Control.extend({
399
*
400
* @param {object} attachment
401
*/
402
- setImageInReaperField: function( attachment ) {
403
var $targetDiv = this.$thisButton.closest( '.repeater-field-image,.repeater-field-cropped_image' );
404
405
$targetDiv.find( '.kirki-image-attachment' ).html( '<img src="' + attachment.url + '">' ).hide().slideDown( 'slow' );
@@ -413,6 +428,50 @@ wp.customize.controlConstructor.repeater = wp.customize.Control.extend({
413
this.frame.close();
414
},
415
416
removeImage: function( event ) {
417
var $targetDiv,
418
$uploadButton;
@@ -421,7 +480,7 @@ wp.customize.controlConstructor.repeater = wp.customize.Control.extend({
421
return;
422
}
423
424
- $targetDiv = this.$thisButton.closest( '.repeater-field-image' );
425
$uploadButton = $targetDiv.find( '.upload-button' );
426
427
$targetDiv.find( '.kirki-image-attachment' ).slideUp( 'fast', function() {
@@ -434,6 +493,27 @@ wp.customize.controlConstructor.repeater = wp.customize.Control.extend({
434
$targetDiv.find( 'input, textarea, select' ).trigger( 'change' );
435
},
436
437
/**
438
* Get the current value of the setting
439
*
@@ -460,7 +540,7 @@ wp.customize.controlConstructor.repeater = wp.customize.Control.extend({
460
461
if ( filtering ) {
462
jQuery.each( this.params.fields, function( index, value ) {
463
- if ( 'image' === value.type || 'cropped_image' === value.type ) {
464
filter.push( index );
465
}
466
});
@@ -660,9 +740,40 @@ wp.customize.controlConstructor.repeater = wp.customize.Control.extend({
660
currentSettings[ row.rowIndex ][ fieldId ] = element.val();
661
662
}
663
-
664
this.setValue( currentSettings, true );
665
666
}
667
668
});
103
if ( ! limit || control.currentIndex < limit ) {
104
theNewRow = control.addRow();
105
theNewRow.toggleMinimize();
106
+ control.initColorPicker();
107
} else {
108
jQuery( control.selector + ' .limit' ).addClass( 'highlight' );
109
}
116
}
117
});
118
119
+ this.container.on( 'click keypress', '.repeater-field-image .upload-button,.repeater-field-cropped_image .upload-button,.repeater-field-upload .upload-button', function( e ) {
120
e.preventDefault();
121
control.$thisButton = jQuery( this );
122
control.openFrame( e );
128
control.removeImage( e );
129
});
130
131
+ this.container.on( 'click keypress', '.repeater-field-upload .remove-button', function( e ) {
132
+ e.preventDefault();
133
+ control.$thisButton = jQuery( this );
134
+ control.removeFile( e );
135
+ });
136
+
137
/**
138
* Function that loads the Mustache template
139
*/
163
if ( settingValue.length ) {
164
_.each( settingValue, function( subValue ) {
165
control.addRow( subValue );
166
+ control.initColorPicker();
167
});
168
}
169
199
200
initFrame: function() {
201
202
+ var libMediaType = this.getMimeType();
203
+
204
this.frame = wp.media({
205
states: [
206
new wp.media.controller.Library({
207
+ library: wp.media.query({ type: libMediaType }),
208
multiple: false,
209
date: false
210
})
218
* Create a media modal select frame, and store it so the instance can be reused when needed.
219
* This is mostly a copy/paste of Core api.CroppedImageControl in /wp-admin/js/customize-control.js
220
*/
221
+ initCropperFrame: function() {
222
223
// We get the field id from which this was called
224
var currentFieldId = this.$thisButton.siblings( 'input.hidden-field' ).attr( 'data-field' ),
225
+ attrs = [ 'width', 'height', 'flex_width', 'flex_height' ], // A list of attributes to look for
226
+ libMediaType = this.getMimeType();
227
228
// Make sure we got it
229
if ( 'string' === typeof currentFieldId && '' !== currentFieldId ) {
251
},
252
states: [
253
new wp.media.controller.Library({
254
+ library: wp.media.query({ type: libMediaType }),
255
multiple: false,
256
date: false,
257
suggestedWidth: this.params.width,
273
onSelect: function() {
274
var attachment = this.frame.state().get( 'selection' ).first().toJSON();
275
276
+ if ( this.$thisButton.closest( '.repeater-field' ).hasClass( 'repeater-field-upload' ) ) {
277
+ this.setFileInRepeaterField( attachment );
278
+ } else {
279
+ this.setImageInRepeaterField( attachment );
280
+ }
281
},
282
283
/**
290
var attachment = this.frame.state().get( 'selection' ).first().toJSON();
291
292
if ( this.params.width === attachment.width && this.params.height === attachment.height && ! this.params.flex_width && ! this.params.flex_height ) {
293
+ this.setImageInRepeaterField( attachment );
294
} else {
295
this.frame.setState( 'cropper' );
296
}
302
* @param {object} croppedImage Cropped attachment data.
303
*/
304
onCropped: function( croppedImage ) {
305
+ this.setImageInRepeaterField( croppedImage );
306
},
307
308
/**
406
*/
407
onSkippedCrop: function() {
408
var attachment = this.frame.state().get( 'selection' ).first().toJSON();
409
+ this.setImageInRepeaterField( attachment );
410
},
411
412
/**
414
*
415
* @param {object} attachment
416
*/
417
+ setImageInRepeaterField: function( attachment ) {
418
var $targetDiv = this.$thisButton.closest( '.repeater-field-image,.repeater-field-cropped_image' );
419
420
$targetDiv.find( '.kirki-image-attachment' ).html( '<img src="' + attachment.url + '">' ).hide().slideDown( 'slow' );
428
this.frame.close();
429
},
430
431
+ /**
432
+ * Updates the setting and re-renders the control UI.
433
+ *
434
+ * @param {object} attachment
435
+ */
436
+ setFileInRepeaterField: function( attachment ) {
437
+ var $targetDiv = this.$thisButton.closest( '.repeater-field-upload' );
438
+ $targetDiv.find( '.kirki-file-attachment' ).html( '<span class="file"><span class="dashicons dashicons-media-default"></span> ' + attachment.filename + '</span>' ).hide().slideDown( 'slow' );
439
+
440
+ $targetDiv.find( '.hidden-field' ).val( attachment.id );
441
+ this.$thisButton.text( this.$thisButton.data( 'alt-label' ) );
442
+ $targetDiv.find( '.upload-button' ).show();
443
+ $targetDiv.find( '.remove-button' ).show();
444
+
445
+ //This will activate the save button
446
+ $targetDiv.find( 'input, textarea, select' ).trigger( 'change' );
447
+ this.frame.close();
448
+ },
449
+
450
+ getMimeType: function() {
451
+
452
+ // We get the field id from which this was called
453
+ var currentFieldId = this.$thisButton.siblings( 'input.hidden-field' ).attr( 'data-field' ),
454
+ attrs = [ 'mime_type' ]; // A list of attributes to look for
455
+
456
+ // Make sure we got it
457
+ if ( 'string' === typeof currentFieldId && '' !== currentFieldId ) {
458
+
459
+ // Make fields is defined and only do the hack for cropped_image
460
+ if ( 'object' === typeof this.params.fields[ currentFieldId ] && 'upload' === this.params.fields[ currentFieldId ].type ) {
461
+
462
+ // If the attribute exists in the field
463
+ if ( 'undefined' !== typeof this.params.fields[ currentFieldId ].mime_type ) {
464
+
465
+ // Set the attribute in the main object
466
+ return this.params.fields[ currentFieldId ].mime_type;
467
+ }
468
+ }
469
+ }
470
+
471
+ return 'image';
472
+
473
+ },
474
+
475
removeImage: function( event ) {
476
var $targetDiv,
477
$uploadButton;
480
return;
481
}
482
483
+ $targetDiv = this.$thisButton.closest( '.repeater-field-image,.repeater-field-cropped_image,.repeater-field-upload' );
484
$uploadButton = $targetDiv.find( '.upload-button' );
485
486
$targetDiv.find( '.kirki-image-attachment' ).slideUp( 'fast', function() {
493
$targetDiv.find( 'input, textarea, select' ).trigger( 'change' );
494
},
495
496
+ removeFile: function( event ) {
497
+ var $targetDiv,
498
+ $uploadButton;
499
+
500
+ if ( wp.customize.utils.isKeydownButNotEnterEvent( event ) ) {
501
+ return;
502
+ }
503
+
504
+ $targetDiv = this.$thisButton.closest( '.repeater-field-upload' );
505
+ $uploadButton = $targetDiv.find( '.upload-button' );
506
+
507
+ $targetDiv.find( '.kirki-file-attachment' ).slideUp( 'fast', function() {
508
+ jQuery( this ).show().html( jQuery( this ).data( 'placeholder' ) );
509
+ });
510
+ $targetDiv.find( '.hidden-field' ).val( '' );
511
+ $uploadButton.text( $uploadButton.data( 'label' ) );
512
+ this.$thisButton.hide();
513
+
514
+ $targetDiv.find( 'input, textarea, select' ).trigger( 'change' );
515
+ },
516
+
517
/**
518
* Get the current value of the setting
519
*
540
541
if ( filtering ) {
542
jQuery.each( this.params.fields, function( index, value ) {
543
+ if ( 'image' === value.type || 'cropped_image' === value.type || 'upload' === value.type ) {
544
filter.push( index );
545
}
546
});
740
currentSettings[ row.rowIndex ][ fieldId ] = element.val();
741
742
}
743
this.setValue( currentSettings, true );
744
745
+ },
746
+
747
+ /**
748
+ * Init the color picker on color fields
749
+ * Called after AddRow
750
+ *
751
+ */
752
+ initColorPicker: function() {
753
+ var control = this,
754
+ colorPicker = control.container.find( '.color-picker-hex' ),
755
+ options = {},
756
+ fieldId = colorPicker.data( 'field' );
757
+
758
+ // We check if the color palette parameter is defined.
759
+ if ( 'undefined' !== typeof fieldId && 'undefined' !== typeof control.params.fields[ fieldId ] && 'undefined' !== typeof control.params.fields[ fieldId ].palettes && 'object' === typeof control.params.fields[ fieldId ].palettes ) {
760
+ options.palettes = control.params.fields[ fieldId ].palettes;
761
+ }
762
+
763
+ // When the color picker value is changed we update the value of the field
764
+ options.change = function( event, ui ) {
765
+ var currentPicker = jQuery( event.target );
766
+ var row = currentPicker.closest( '.repeater-row' );
767
+ var rowIndex = row.data( 'row' );
768
+ var currentSettings = control.getValue();
769
+ currentSettings[ rowIndex ][ currentPicker.data( 'field' ) ] = ui.color.toString();
770
+ control.setValue( currentSettings, true );
771
+ };
772
+
773
+ // Init the color picker
774
+ if ( 0 !== colorPicker.length ) {
775
+ colorPicker.wpColorPicker( options );
776
+ }
777
}
778
779
});
assets/js/controls/select.js CHANGED
@@ -30,7 +30,7 @@ wp.customize.controlConstructor['kirki-select'] = wp.customize.Control.extend({
30
31
// If this is a multi-select, then we need to convert the value to an object.
32
if ( multiple > 1 ) {
33
- selectValue = kirkiArrayToObject( jQuery( this ).val() );
34
}
35
36
control.setting.set( selectValue );
30
31
// If this is a multi-select, then we need to convert the value to an object.
32
if ( multiple > 1 ) {
33
+ selectValue = _.extend( {}, jQuery( this ).val() );
34
}
35
36
control.setting.set( selectValue );
assets/js/controls/spacing.js CHANGED
@@ -6,14 +6,14 @@ wp.customize.controlConstructor.spacing = wp.customize.Control.extend({
6
ready: function() {
7
8
var control = this,
9
- compiledValue = {};
10
11
- jQuery.each( ['top', 'bottom', 'left', 'right'], function( index, dimension ) {
12
13
// Get initial values and pre-populate the object.
14
if ( control.container.has( '.' + dimension ).size() ) {
15
16
- compiledValue[ dimension ] = control.setting._value[ dimension ];
17
18
// Validate the value and show a warning if it's invalid.
19
jQuery( control.selector + ' .' + dimension + '.input-wrapper' ).removeClass( 'invalid' );
@@ -21,10 +21,6 @@ wp.customize.controlConstructor.spacing = wp.customize.Control.extend({
21
jQuery( control.selector + ' .' + dimension + '.input-wrapper' ).addClass( 'invalid' );
22
}
23
24
- }
25
-
26
- if ( control.container.has( '.' + dimension ).size() ) {
27
-
28
control.container.on( 'change keyup paste', '.' + dimension + ' input', function() {
29
30
var subValue = jQuery( this ).val();
@@ -39,8 +35,11 @@ wp.customize.controlConstructor.spacing = wp.customize.Control.extend({
39
jQuery( control.selector + ' .' + dimension + '.input-wrapper' ).removeClass( 'invalid' );
40
41
// Only proceed if value is valid.
42
- compiledValue[ dimension ] = subValue;
43
- control.setting.set( compiledValue );
44
wp.customize.previewer.refresh();
45
46
}
6
ready: function() {
7
8
var control = this,
9
+ value = {};
10
11
+ _.each( ['top', 'bottom', 'left', 'right'], function( dimension, index ) {
12
13
// Get initial values and pre-populate the object.
14
if ( control.container.has( '.' + dimension ).size() ) {
15
16
+ value[ dimension ] = control.setting._value[ dimension ];
17
18
// Validate the value and show a warning if it's invalid.
19
jQuery( control.selector + ' .' + dimension + '.input-wrapper' ).removeClass( 'invalid' );
21
jQuery( control.selector + ' .' + dimension + '.input-wrapper' ).addClass( 'invalid' );
22
}
23
24
control.container.on( 'change keyup paste', '.' + dimension + ' input', function() {
25
26
var subValue = jQuery( this ).val();
35
jQuery( control.selector + ' .' + dimension + '.input-wrapper' ).removeClass( 'invalid' );
36
37
// Only proceed if value is valid.
38
+ value[ dimension ] = subValue;
39
+ control.setting.set( value );
40
+
41
+ // Refresh the preview.
42
+ // The `postMessage` implementation is still incomplete for this field.
43
wp.customize.previewer.refresh();
44
45
}
assets/js/controls/typography.js CHANGED
@@ -199,7 +199,7 @@ wp.customize.controlConstructor.typography = wp.customize.Control.extend({
199
200
// Add the value to the array and set the setting's value
201
value['font-family'] = jQuery( this ).val();
202
- control.setting.set( value );
203
204
// Trigger changes to variants & subsets
205
renderSubControl( jQuery( this ).val(), 'variant', null );
@@ -214,7 +214,7 @@ wp.customize.controlConstructor.typography = wp.customize.Control.extend({
214
215
// Add the value to the array and set the setting's value
216
value.variant = jQuery( this ).val();
217
- control.setting.set( value );
218
219
// Refresh the preview
220
wp.customize.previewer.refresh();
@@ -225,7 +225,7 @@ wp.customize.controlConstructor.typography = wp.customize.Control.extend({
225
226
// Add the value to the array and set the setting's value.
227
value.subset = jQuery( this ).val();
228
- control.setting.set( value );
229
230
// Refresh the preview
231
wp.customize.previewer.refresh();
@@ -236,7 +236,7 @@ wp.customize.controlConstructor.typography = wp.customize.Control.extend({
236
237
// Add the value to the array and set the setting's value
238
value['font-size'] = jQuery( this ).val();
239
- control.setting.set( value );
240
241
// Refresh the preview
242
wp.customize.previewer.refresh();
@@ -247,7 +247,7 @@ wp.customize.controlConstructor.typography = wp.customize.Control.extend({
247
248
// Add the value to the array and set the setting's value
249
value['line-height'] = jQuery( this ).val();
250
- control.setting.set( value );
251
252
// Refresh the preview
253
wp.customize.previewer.refresh();
@@ -258,7 +258,7 @@ wp.customize.controlConstructor.typography = wp.customize.Control.extend({
258
259
// Add the value to the array and set the setting's value
260
value['letter-spacing'] = jQuery( this ).val();
261
- control.setting.set( value );
262
263
// Refresh the preview
264
wp.customize.previewer.refresh();
@@ -269,7 +269,7 @@ wp.customize.controlConstructor.typography = wp.customize.Control.extend({
269
270
// Add the value to the array and set the setting's value.
271
value['text-align'] = jQuery( this ).val();
272
- control.setting.set( value );
273
274
// Refresh the preview
275
wp.customize.previewer.refresh();
@@ -282,7 +282,7 @@ wp.customize.controlConstructor.typography = wp.customize.Control.extend({
282
283
// Add the value to the array and set the setting's value.
284
value['text-transform'] = jQuery( this ).val();
285
- control.setting.set( value );
286
287
// Refresh the preview
288
wp.customize.previewer.refresh();
@@ -299,7 +299,7 @@ wp.customize.controlConstructor.typography = wp.customize.Control.extend({
299
300
// Add the value to the array and set the setting's value
301
value.color = picker.val();
302
- control.setting.set( value );
303
304
// Refresh the preview
305
wp.customize.previewer.refresh();
199
200
// Add the value to the array and set the setting's value
201
value['font-family'] = jQuery( this ).val();
202
+ control.setting.set( kirkiRebuildValue( value ) );
203
204
// Trigger changes to variants & subsets
205
renderSubControl( jQuery( this ).val(), 'variant', null );
214
215
// Add the value to the array and set the setting's value
216
value.variant = jQuery( this ).val();
217
+ control.setting.set( kirkiRebuildValue( value ) );
218
219
// Refresh the preview
220
wp.customize.previewer.refresh();
225
226
// Add the value to the array and set the setting's value.
227
value.subset = jQuery( this ).val();
228
+ control.setting.set( kirkiRebuildValue( value ) );
229
230
// Refresh the preview
231
wp.customize.previewer.refresh();
236
237
// Add the value to the array and set the setting's value
238
value['font-size'] = jQuery( this ).val();
239
+ control.setting.set( kirkiRebuildValue( value ) );
240
241
// Refresh the preview
242
wp.customize.previewer.refresh();
247
248
// Add the value to the array and set the setting's value
249
value['line-height'] = jQuery( this ).val();
250
+ control.setting.set( kirkiRebuildValue( value ) );
251
252
// Refresh the preview
253
wp.customize.previewer.refresh();
258
259
// Add the value to the array and set the setting's value
260
value['letter-spacing'] = jQuery( this ).val();
261
+ control.setting.set( kirkiRebuildValue( value ) );
262
263
// Refresh the preview
264
wp.customize.previewer.refresh();
269
270
// Add the value to the array and set the setting's value.
271
value['text-align'] = jQuery( this ).val();
272
+ control.setting.set( kirkiRebuildValue( value ) );
273
274
// Refresh the preview
275
wp.customize.previewer.refresh();
282
283
// Add the value to the array and set the setting's value.
284
value['text-transform'] = jQuery( this ).val();
285
+ control.setting.set( kirkiRebuildValue( value ) );
286
287
// Refresh the preview
288
wp.customize.previewer.refresh();
299
300
// Add the value to the array and set the setting's value
301
value.color = picker.val();
302
+ control.setting.set( kirkiRebuildValue( value ) );
303
304
// Refresh the preview
305
wp.customize.previewer.refresh();
assets/js/functions/array-to-object.js DELETED
@@ -1,11 +0,0 @@
1
- function kirkiArrayToObject( arr ) {
2
- var obj = {};
3
- if ( null !== arr ) {
4
- _.each( arr, function( item, i ) {
5
- if ( undefined !== item ) {
6
- obj.i = item;
7
- }
8
- });
9
- }
10
- return obj;
11
- }
assets/js/functions/object-to-array.js DELETED
@@ -1,11 +0,0 @@
1
- function kirkiObjectToArray( obj ) {
2
- var arr = [];
3
- if ( null !== obj ) {
4
- _.each( obj, function( value ) {
5
- if ( undefined !== value ) {
6
- arr.push( value );
7
- }
8
- });
9
- }
10
- return arr;
11
- }
assets/js/functions/rebuild-value.js ADDED
@@ -0,0 +1,8 @@
1
+ function kirkiRebuildValue( value ) {
2
+ var newValue = {};
3
+ _.each( value, function( newSubValue, i ) {
4
+ newValue[ i ] = newSubValue;
5
+ });
6
+
7
+ return newValue;
8
+ }
assets/js/functions/{set-value.js → set-setting-value.js} RENAMED
@@ -1,4 +1,4 @@
1
- function kirkiSetValue( setting, value ) {
2
/**
3
* Get the control of the sub-setting.
4
* This will be used to get properties we need from that control,
1
+ function kirkiSetSettingValue( setting, value ) {
2
/**
3
* Get the control of the sub-setting.
4
* This will be used to get properties we need from that control,
assets/js/postmessage.js CHANGED
@@ -57,8 +57,10 @@
57
if ( 'string' === typeof newval ) {
58
59
// Process the value pattern
60
- if ( undefined !== jsVar.value_pattern ) {
61
- val = jsVar.value_pattern.replace( /\#x2F;g, newval );
62
}
63
64
// Inject HTML
@@ -70,12 +72,12 @@
70
71
// If we have new value, replace style contents with custom css
72
if ( '' !== val ) {
73
- cssArray.i = args.element + '{' + args.property + ':' + args.prefix + val + args.units + args.suffix + ';}';
74
}
75
76
// Else let's clear it out
77
else {
78
- cssArray.i = '';
79
}
80
81
}
@@ -83,14 +85,18 @@
83
// Value is an object
84
} else if ( 'object' === typeof newval ) {
85
86
- cssArray.i = '';
87
_.each( newval, function( subValueValue, subValueKey ) {
88
if ( undefined !== args.choice ) {
89
if ( args.choice === subValueKey ) {
90
- cssArray.i += args.element + '{' + args.property + ':' + args.prefix + subValueValue + args.units + args.suffix + ';}';
91
}
92
} else {
93
- cssArray.i += args.element + '{' + args.property + ':' + args.prefix + subValueValue + args.units + args.suffix + ';}';
94
}
95
});
96
@@ -115,13 +121,13 @@
115
116
// Make sure we have a stylesheet with the defined ID.
117
// If we don't then add it.
118
- if ( ! jQuery( '#kirki-customizer-postmessage' + setting ).size() ) {
119
- jQuery( 'head' ).append( '<style id="kirki-customizer-postmessage' + setting + '"></style>' );
120
}
121
- jQuery( '#kirki-customizer-postmessage' + setting ).text( css );
122
}
123
124
- }, 300 );
125
126
});
127
57
if ( 'string' === typeof newval ) {
58
59
// Process the value pattern
60
+ if ( undefined !== args.value_pattern ) {
61
+ val = args.value_pattern.replace( /\#x2F;g, args.prefix + newval + args.units + args.suffix );
62
+ } else {
63
+ val = args.prefix + newval + args.units + args.suffix;
64
}
65
66
// Inject HTML
72
73
// If we have new value, replace style contents with custom css
74
if ( '' !== val ) {
75
+ cssArray[ i ] = args.element + '{' + args.property + ':' + val + ';}';
76
}
77
78
// Else let's clear it out
79
else {
80
+ cssArray[ i ] = '';
81
}
82
83
}
85
// Value is an object
86
} else if ( 'object' === typeof newval ) {
87
88
+ cssArray[ i ] = '';
89
_.each( newval, function( subValueValue, subValueKey ) {
90
if ( undefined !== args.choice ) {
91
if ( args.choice === subValueKey ) {
92
+ cssArray[ i ] += args.element + '{' + args.property + ':' + args.prefix + subValueValue + args.units + args.suffix + ';}';
93
}
94
} else {
95
+ if ( _.contains( [ 'top', 'bottom', 'left', 'right' ], subValueKey ) ) {
96
+ cssArray[ i ] += args.element + '{' + args.property + '-' + subValueKey + ':' + args.prefix + subValueValue + args.units + args.suffix + ';}';
97
+ } else {
98
+ cssArray[ i ] += args.element + '{' + args.property + ':' + args.prefix + subValueValue + args.units + args.suffix + ';}';
99
+ }
100
}
101
});
102
121
122
// Make sure we have a stylesheet with the defined ID.
123
// If we don't then add it.
124
+ if ( ! jQuery( '#kirki-customizer-postmessage' + setting.replace( /\[/g, '-' ).replace( /\]/g, '' ) ).size() ) {
125
+ jQuery( 'head' ).append( '<style id="kirki-customizer-postmessage' + setting.replace( /\[/g, '-' ).replace( /\]/g, '' ) + '"></style>' );
126
}
127
+ jQuery( '#kirki-customizer-postmessage' + setting.replace( /\[/g, '-' ).replace( /\]/g, '' ) ).text( css );
128
}
129
130
+ }, 100 );
131
132
});
133
assets/js/reset.js CHANGED
@@ -11,7 +11,7 @@ jQuery( document ).ready( function() {
11
_.each( controls, function( control, i ) {
12
13
// Set value to default
14
- kirkiSetValue( controls[ i ].id, control.params['default'] );
15
16
});
17
11
_.each( controls, function( control, i ) {
12
13
// Set value to default
14
+ kirkiSetSettingValue( controls[ i ].id, control.params['default'] );
15
16
});
17
codesniffer.ruleset.xml DELETED
@@ -1,19 +0,0 @@
1
- <?xml version="1.0"?>
2
- <ruleset name="WordPress Coding Standards">
3
- <!-- See https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml -->
4
- <!-- See https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/blob/develop/WordPress-Core/ruleset.xml -->
5
-
6
- <!-- Set a description for this ruleset. -->
7
- <description>A custom set of code standard rules to check for WordPress themes and plugins.</description>
8
-
9
- <!-- Include the WordPress ruleset, with exclusions. -->
10
- <rule ref="WordPress">
11
- <exclude name="Generic.WhiteSpace.ScopeIndent.IncorrectExact" />
12
- <exclude name="Generic.WhiteSpace.ScopeIndent.Incorrect" />
13
- <exclude name="WordPress.VIP.RestrictedFunctions.user_meta" />
14
- <exclude name="WordPress.VIP.RestrictedFunctions.url_to_postid" />
15
- </rule>
16
-
17
- <!-- Include sniffs for PHP cross-version compatibility. -->
18
- <rule ref="PHPCompatibility"/>
19
- </ruleset>
includes/class-kirki-control.php CHANGED
@@ -99,36 +99,36 @@ if ( ! class_exists( 'Kirki_Control' ) ) {
99
final private function set_control_types() {
100
101
$this->control_types = apply_filters( 'kirki/control_types', array(
102
- 'kirki-checkbox' => 'Kirki_Controls_Checkbox_Control',
103
- 'code' => 'Kirki_Controls_Code_Control',
104
- 'color-alpha' => 'Kirki_Controls_Color_Alpha_Control',
105
- 'color-palette' => 'Kirki_Controls_Color_Palette_Control',
106
- 'custom' => 'Kirki_Controls_Custom_Control',
107
- 'kirki-date' => 'Kirki_Controls_Date_Control',
108
- 'dashicons' => 'Kirki_Controls_Dashicons_Control',
109
- 'dimension' => 'Kirki_Controls_Dimension_Control',
110
- 'editor' => 'Kirki_Controls_Editor_Control',
111
- 'multicolor' => 'Kirki_Controls_Multicolor_Control',
112
- 'multicheck' => 'Kirki_Controls_MultiCheck_Control',
113
- 'number' => 'Kirki_Controls_Number_Control',
114
- 'palette' => 'Kirki_Controls_Palette_Control',
115
- 'preset' => 'Kirki_Controls_Preset_Control',
116
- 'kirki-radio' => 'Kirki_Controls_Radio_Control',
117
- 'radio-buttonset' => 'Kirki_Controls_Radio_ButtonSet_Control',
118
- 'radio-image' => 'Kirki_Controls_Radio_Image_Control',
119
- 'repeater' => 'Kirki_Controls_Repeater_Control',
120
- 'kirki-select' => 'Kirki_Controls_Select_Control',
121
- 'slider' => 'Kirki_Controls_Slider_Control',
122
- 'sortable' => 'Kirki_Controls_Sortable_Control',
123
- 'spacing' => 'Kirki_Controls_Spacing_Control',
124
- 'switch' => 'Kirki_Controls_Switch_Control',
125
- 'kirki-generic' => 'Kirki_Controls_Generic_Control',
126
- 'toggle' => 'Kirki_Controls_Toggle_Control',
127
- 'typography' => 'Kirki_Controls_Typography_Control',
128
- 'image' => 'WP_Customize_Image_Control',
129
- 'cropped_image' => 'WP_Customize_Cropped_Image_Control',
130
- 'upload' => 'WP_Customize_Upload_Control',
131
- 'dropdown-pages' => 'Kirki_Controls_Dropdown_Pages_Control',
132
) );
133
134
// Make sure the defined classes actually exist.
99
final private function set_control_types() {
100
101
$this->control_types = apply_filters( 'kirki/control_types', array(
102
+ 'kirki-checkbox' => 'Kirki_Controls_Checkbox_Control',
103
+ 'code' => 'Kirki_Controls_Code_Control',
104
+ 'color-alpha' => 'Kirki_Controls_Color_Alpha_Control',
105
+ 'color-palette' => 'Kirki_Controls_Color_Palette_Control',
106
+ 'custom' => 'Kirki_Controls_Custom_Control',
107
+ 'kirki-date' => 'Kirki_Controls_Date_Control',
108
+ 'dashicons' => 'Kirki_Controls_Dashicons_Control',
109
+ 'dimension' => 'Kirki_Controls_Dimension_Control',
110
+ 'editor' => 'Kirki_Controls_Editor_Control',
111
+ 'multicolor' => 'Kirki_Controls_Multicolor_Control',
112
+ 'multicheck' => 'Kirki_Controls_MultiCheck_Control',
113
+ 'number' => 'Kirki_Controls_Number_Control',
114
+ 'palette' => 'Kirki_Controls_Palette_Control',
115
+ 'preset' => 'Kirki_Controls_Preset_Control',
116
+ 'kirki-radio' => 'Kirki_Controls_Radio_Control',
117
+ 'radio-buttonset' => 'Kirki_Controls_Radio_ButtonSet_Control',
118
+ 'radio-image' => 'Kirki_Controls_Radio_Image_Control',
119
+ 'repeater' => 'Kirki_Controls_Repeater_Control',
120
+ 'kirki-select' => 'Kirki_Controls_Select_Control',
121
+ 'slider' => 'Kirki_Controls_Slider_Control',
122
+ 'sortable' => 'Kirki_Controls_Sortable_Control',
123
+ 'spacing' => 'Kirki_Controls_Spacing_Control',
124
+ 'switch' => 'Kirki_Controls_Switch_Control',
125
+ 'kirki-generic' => 'Kirki_Controls_Generic_Control',
126
+ 'toggle' => 'Kirki_Controls_Toggle_Control',
127
+ 'typography' => 'Kirki_Controls_Typography_Control',
128
+ 'image' => 'WP_Customize_Image_Control',
129
+ 'cropped_image' => 'WP_Customize_Cropped_Image_Control',
130
+ 'upload' => 'WP_Customize_Upload_Control',
131
+ 'kirki-dropdown-pages' => 'Kirki_Controls_Dropdown_Pages_Control',
132
) );
133
134
// Make sure the defined classes actually exist.
includes/class-kirki-enqueue.php CHANGED
@@ -64,13 +64,12 @@ if ( ! class_exists( 'Kirki_Enqueue' ) ) {
64
}
65
66
// Enqueue the reset script.
67
- wp_enqueue_script( 'kirki-reset', trailingslashit( Kirki::$url ) . 'assets/js/reset.js', array( 'jquery', 'kirki-set-value' ) );
68
69
// Register kirki-functions.
70
- wp_register_script( 'kirki-array-to-object', trailingslashit( Kirki::$url ) . 'assets/js/functions/array-to-object.js' );
71
- wp_register_script( 'kirki-object-to-array', trailingslashit( Kirki::$url ) . 'assets/js/functions/object-to-array.js' );
72
- wp_register_script( 'kirki-set-value', trailingslashit( Kirki::$url ) . 'assets/js/functions/set-value.js' );
73
wp_register_script( 'kirki-validate-css-value', trailingslashit( Kirki::$url ) . 'assets/js/functions/validate-css-value.js' );
74
75
// Register serialize.js.
76
wp_register_script( 'serialize-js', trailingslashit( Kirki::$url ) . 'assets/js/vendor/serialize.js' );
@@ -104,18 +103,18 @@ if ( ! class_exists( 'Kirki_Enqueue' ) ) {
104
'multicolor' => array( 'jquery', 'customize-base', 'wp-color-picker-alpha' ),
105
'number' => array( 'jquery', 'customize-base', 'jquery-ui-spinner' ),
106
'palette' => array( 'jquery', 'customize-base', 'jquery-ui-button' ),
107
- 'preset' => array( 'jquery', 'customize-base', 'selectize', 'kirki-set-value' ),
108
'radio-buttonset' => array( 'jquery', 'customize-base' ),
109
'radio-image' => array( 'jquery', 'customize-base' ),
110
'radio' => array( 'jquery', 'customize-base' ),
111
'repeater' => array( 'jquery', 'customize-base', 'jquery-ui-core', 'jquery-ui-sortable' ),
112
- 'select' => array( 'jquery', 'customize-base', 'selectize', 'kirki-array-to-object' ),
113
'slider' => array( 'jquery', 'customize-base' ),
114
'sortable' => array( 'jquery', 'customize-base', 'jquery-ui-core', 'jquery-ui-sortable', 'serialize-js' ),
115
- 'spacing' => array( 'jquery', 'customize-base' ),
116
'switch' => array( 'jquery', 'customize-base' ),
117
'toggle' => array( 'jquery', 'customize-base' ),
118
- 'typography' => array( 'jquery', 'customize-base', 'selectize', 'wp-color-picker-alpha' ),
119
);
120
foreach ( $controls_scripts as $id => $dependencies ) {
121
wp_register_script( 'kirki-' . $id, trailingslashit( Kirki::$url ) . 'assets/js/controls/' . $id . '.js', $dependencies, false, true );
@@ -217,7 +216,7 @@ if ( ! class_exists( 'Kirki_Enqueue' ) ) {
217
* The rest is handled via JS.
218
*/
219
public function postmessage() {
220
- wp_enqueue_script( 'kirki_auto_postmessage', trailingslashit( Kirki::$url ) . 'assets/js/postmessage.js', array( 'customize-preview' ), time(), true );
221
$js_vars_fields = array();
222
$fields = Kirki::$fields;
223
foreach ( $fields as $field ) {
64
}
65
66
// Enqueue the reset script.
67
+ wp_enqueue_script( 'kirki-reset', trailingslashit( Kirki::$url ) . 'assets/js/reset.js', array( 'jquery', 'kirki-set-setting-value' ) );
68
69
// Register kirki-functions.
70
+ wp_register_script( 'kirki-set-setting-value', trailingslashit( Kirki::$url ) . 'assets/js/functions/set-setting-value.js' );
71
wp_register_script( 'kirki-validate-css-value', trailingslashit( Kirki::$url ) . 'assets/js/functions/validate-css-value.js' );
72
+ wp_register_script( 'kirki-rebuild-value', trailingslashit( Kirki::$url ) . 'assets/js/functions/rebuild-value.js' );
73
74
// Register serialize.js.
75
wp_register_script( 'serialize-js', trailingslashit( Kirki::$url ) . 'assets/js/vendor/serialize.js' );
103
'multicolor' => array( 'jquery', 'customize-base', 'wp-color-picker-alpha' ),
104
'number' => array( 'jquery', 'customize-base', 'jquery-ui-spinner' ),
105
'palette' => array( 'jquery', 'customize-base', 'jquery-ui-button' ),
106
+ 'preset' => array( 'jquery', 'customize-base', 'selectize', 'kirki-set-setting-value' ),
107
'radio-buttonset' => array( 'jquery', 'customize-base' ),
108
'radio-image' => array( 'jquery', 'customize-base' ),
109
'radio' => array( 'jquery', 'customize-base' ),
110
'repeater' => array( 'jquery', 'customize-base', 'jquery-ui-core', 'jquery-ui-sortable' ),
111
+ 'select' => array( 'jquery', 'customize-base', 'selectize' ),
112
'slider' => array( 'jquery', 'customize-base' ),
113
'sortable' => array( 'jquery', 'customize-base', 'jquery-ui-core', 'jquery-ui-sortable', 'serialize-js' ),
114
+ 'spacing' => array( 'jquery', 'customize-base', 'kirki-validate-css-value' ),
115
'switch' => array( 'jquery', 'customize-base' ),
116
'toggle' => array( 'jquery', 'customize-base' ),
117
+ 'typography' => array( 'jquery', 'customize-base', 'selectize', 'wp-color-picker-alpha', 'kirki-rebuild-value' ),
118
);
119
foreach ( $controls_scripts as $id => $dependencies ) {
120
wp_register_script( 'kirki-' . $id, trailingslashit( Kirki::$url ) . 'assets/js/controls/' . $id . '.js', $dependencies, false, true );
216
* The rest is handled via JS.
217
*/
218
public function postmessage() {
219
+ wp_enqueue_script( 'kirki_auto_postmessage', trailingslashit( Kirki::$url ) . 'assets/js/postmessage.js', array( 'customize-preview' ), false, true );
220
$js_vars_fields = array();
221
$fields = Kirki::$fields;
222
foreach ( $fields as $field ) {
includes/class-kirki-field.php CHANGED
@@ -259,6 +259,15 @@ if ( ! class_exists( 'Kirki_Field' ) ) {
259
*/
260
protected $row_label = array();
261
262
/**
263
* The class constructor.
264
* Parses and sanitizes all field arguments.
@@ -677,10 +686,8 @@ if ( ! class_exists( 'Kirki_Field' ) ) {
677
$this->js_vars = array();
678
}
679
680
- /**
681
- * Check if transport is set to auto.
682
- * If not, then skip the auto-calculations and exit early.
683
- */
684
if ( 'auto' !== $this->transport ) {
685
return;
686
}
@@ -688,13 +695,17 @@ if ( ! class_exists( 'Kirki_Field' ) ) {
688
// Set transport to refresh initially.
689
// Serves as a fallback in case we failt to auto-calculate js_vars.
690
$this->transport = 'refresh';
691
$js_vars = array();
692
// Try to auto-generate js_vars.
693
// First we need to check if js_vars are empty, and that output is not empty.
694
if ( empty( $this->js_vars ) && ! empty( $this->output ) ) {
695
// Start going through each item in the $output array.
696
foreach ( $this->output as $output ) {
697
$output['function'] = 'css';
698
// If 'element' or 'property' are not defined, skip this.
699
if ( ! isset( $output['element'] ) || ! isset( $output['property'] ) ) {
700
continue;
@@ -705,10 +716,12 @@ if ( ! class_exists( 'Kirki_Field' ) ) {
705
if ( false !== strpos( $output['element'], ':' ) ) {
706
$output['function'] = 'style';
707
}
708
// If there's a sanitize_callback defined, skip this.
709
if ( isset( $output['sanitize_callback'] ) && ! empty( $output['sanitize_callback'] ) ) {
710
continue;
711
}
712
// If we got this far, it's safe to add this.
713
$js_vars[] = $output;
714
}
259
*/
260
protected $row_label = array();
261
262
+ /**
263
+ * Use only on image, cropped_image, upload controls.
264
+ * Limit the Media library to a specific mime type
265
+ *
266
+ * @access protected
267
+ * @var array
268
+ */
269
+ protected $mime_type = '';
270
+
271
/**
272
* The class constructor.
273
* Parses and sanitizes all field arguments.
686
$this->js_vars = array();
687
}
688
689
+ // Check if transport is set to auto.
690
+ // If not, then skip the auto-calculations and exit early.
691
if ( 'auto' !== $this->transport ) {
692
return;
693
}
695
// Set transport to refresh initially.
696
// Serves as a fallback in case we failt to auto-calculate js_vars.
697
$this->transport = 'refresh';
698
+
699
$js_vars = array();
700
+
701
// Try to auto-generate js_vars.
702
// First we need to check if js_vars are empty, and that output is not empty.
703
if ( empty( $this->js_vars ) && ! empty( $this->output ) ) {
704
+
705
// Start going through each item in the $output array.
706
foreach ( $this->output as $output ) {
707
$output['function'] = 'css';
708
+
709
// If 'element' or 'property' are not defined, skip this.
710
if ( ! isset( $output['element'] ) || ! isset( $output['property'] ) ) {
711
continue;
716
if ( false !== strpos( $output['element'], ':' ) ) {
717
$output['function'] = 'style';
718
}
719
+
720
// If there's a sanitize_callback defined, skip this.
721
if ( isset( $output['sanitize_callback'] ) && ! empty( $output['sanitize_callback'] ) ) {
722
continue;
723
}
724
+
725
// If we got this far, it's safe to add this.
726
$js_vars[] = $output;
727
}
includes/class-kirki-fonts-google.php CHANGED
@@ -28,6 +28,24 @@ if ( ! class_exists( 'Kirki_Fonts_Google' ) ) {
28
*/
29
private static $instance = null;
30
31
/**
32
* The array of fonts
33
*
@@ -36,6 +54,14 @@ if ( ! class_exists( 'Kirki_Fonts_Google' ) ) {
36
*/
37
private $fonts = array();
38
39
/**
40
* The array of subsets
41
*
@@ -64,6 +90,9 @@ if ( ! class_exists( 'Kirki_Fonts_Google' ) ) {
64
return;
65
}
66
67
// Enqueue link.
68
add_action( 'wp_enqueue_scripts', array( $this, 'enqueue' ), 105 );
69
@@ -215,23 +244,20 @@ if ( ! class_exists( 'Kirki_Fonts_Google' ) ) {
215
return;
216
}
217
218
- // Get an array of all available google fonts.
219
- $google_fonts = Kirki_Fonts::get_google_fonts();
220
-
221
$valid_subsets = array();
222
foreach ( $this->fonts as $font => $variants ) {
223
224
// Determine if this is indeed a google font or not.
225
// If it's not, then just remove it from the array.
226
- if ( ! array_key_exists( $font, $google_fonts ) ) {
227
unset( $this->fonts[ $font ] );
228
continue;
229
}
230
231
// Get all valid font variants for this font.
232
$font_variants = array();
233
- if ( isset( $google_fonts[ $font ]['variants'] ) ) {
234
- $font_variants = $google_fonts[ $font ]['variants'];
235
}
236
foreach ( $variants as $variant ) {
237
@@ -246,9 +272,9 @@ if ( ! class_exists( 'Kirki_Fonts_Google' ) ) {
246
247
// Check if the selected subsets exist, even in one of the selected fonts.
248
// If they don't, then they have to be removed otherwise the link will fail.
249
- if ( isset( $google_fonts[ $font ]['subsets'] ) ) {
250
foreach ( $this->subsets as $subset ) {
251
- if ( in_array( $subset, $google_fonts[ $font ]['subsets'], true ) ) {
252
$valid_subsets[] = $subset;
253
}
254
}
@@ -270,6 +296,13 @@ if ( ! class_exists( 'Kirki_Fonts_Google' ) ) {
270
// Get font-family + subsets.
271
$link_fonts = array();
272
foreach ( $this->fonts as $font => $variants ) {
273
$variants = implode( ',', $variants );
274
275
$link_font = str_replace( ' ', '+', $font );
@@ -279,6 +312,16 @@ if ( ! class_exists( 'Kirki_Fonts_Google' ) ) {
279
$link_fonts[] = $link_font;
280
}
281
282
if ( ! empty( $this->subsets ) ) {
283
$this->subsets = array_unique( $this->subsets );
284
}
28
*/
29
private static $instance = null;
30
31
+ /**
32
+ * If set to true, forces loading ALL variants.
33
+ *
34
+ * @static
35
+ * @access public
36
+ * @var bool
37
+ */
38
+ public static $force_load_all_variants = false;
39
+
40
+ /**
41
+ * If set to true, forces loading ALL subsets.
42
+ *
43
+ * @static
44
+ * @access public
45
+ * @var bool
46
+ */
47
+ public static $force_load_all_subsets = false;
48
+
49
/**
50
* The array of fonts
51
*
54
*/
55
private $fonts = array();
56
57
+ /**
58
+ * An array of all google fonts.
59
+ *
60
+ * @access private
61
+ * @var array
62
+ */
63
+ private $google_fonts = array();
64
+
65
/**
66
* The array of subsets
67
*
90
return;
91
}
92
93
+ // Populate the array of google fonts.
94
+ $this->google_fonts = Kirki_Fonts::get_google_fonts();
95
+
96
// Enqueue link.
97
add_action( 'wp_enqueue_scripts', array( $this, 'enqueue' ), 105 );
98
244
return;
245
}
246
247
$valid_subsets = array();
248
foreach ( $this->fonts as $font => $variants ) {
249
250
// Determine if this is indeed a google font or not.
251
// If it's not, then just remove it from the array.
252
+ if ( ! array_key_exists( $font, $this->google_fonts ) ) {
253
unset( $this->fonts[ $font ] );
254
continue;
255
}
256
257
// Get all valid font variants for this font.
258
$font_variants = array();
259
+ if ( isset( $this->google_fonts[ $font ]['variants'] ) ) {
260
+ $font_variants = $this->google_fonts[ $font ]['variants'];
261
}
262
foreach ( $variants as $variant ) {
263
272
273
// Check if the selected subsets exist, even in one of the selected fonts.
274
// If they don't, then they have to be removed otherwise the link will fail.
275
+ if ( isset( $this->google_fonts[ $font ]['subsets'] ) ) {
276
foreach ( $this->subsets as $subset ) {
277
+ if ( in_array( $subset, $this->google_fonts[ $font ]['subsets'], true ) ) {
278
$valid_subsets[] = $subset;
279
}
280
}
296
// Get font-family + subsets.
297
$link_fonts = array();
298
foreach ( $this->fonts as $font => $variants ) {
299
+
300
+ // Are we force-loading all variants?
301
+ if ( true === self::$force_load_all_variants ) {
302
+ if ( isset( $this->google_fonts[ $font ]['variants'] ) ) {
303
+ $variants = $this->google_fonts[ $font ]['variants'];
304
+ }
305
+ }
306
$variants = implode( ',', $variants );
307
308
$link_font = str_replace( ' ', '+', $font );
312
$link_fonts[] = $link_font;
313
}
314
315
+ // Are we force-loading all subsets?
316
+ if ( true === self::$force_load_all_subsets ) {
317
+
318
+ if ( isset( $this->google_fonts[ $font ]['subsets'] ) ) {
319
+ foreach ( $this->google_fonts[ $font ]['subsets'] as $subset ) {
320
+ $this->subsets[] = $subset;
321
+ }
322
+ }
323
+ }
324
+
325
if ( ! empty( $this->subsets ) ) {
326
$this->subsets = array_unique( $this->subsets );
327
}
includes/class-kirki-l10n.php CHANGED
@@ -163,8 +163,11 @@ if ( ! class_exists( 'Kirki_l10n' ) ) {
163
'color' => esc_attr__( 'Color', 'kirki' ),
164
'add-image' => esc_attr__( 'Add Image', 'kirki' ),
165
'change-image' => esc_attr__( 'Change Image', 'kirki' ),
166
- 'remove' => esc_attr__( 'Remove', 'kirki' ),
167
'no-image-selected' => esc_attr__( 'No Image Selected', 'kirki' ),
168
'select-font-family' => esc_attr__( 'Select a font-family', 'kirki' ),
169
'variant' => esc_attr__( 'Variant', 'kirki' ),
170
'subsets' => esc_attr__( 'Subset', 'kirki' ),
163
'color' => esc_attr__( 'Color', 'kirki' ),
164
'add-image' => esc_attr__( 'Add Image', 'kirki' ),
165
'change-image' => esc_attr__( 'Change Image', 'kirki' ),
166
'no-image-selected' => esc_attr__( 'No Image Selected', 'kirki' ),
167
+ 'add-file' => esc_attr__( 'Add File', 'kirki' ),
168
+ 'change-file' => esc_attr__( 'Change File', 'kirki' ),
169
+ 'no-file-selected' => esc_attr__( 'No File Selected', 'kirki' ),
170
+ 'remove' => esc_attr__( 'Remove', 'kirki' ),
171
'select-font-family' => esc_attr__( 'Select a font-family', 'kirki' ),
172
'variant' => esc_attr__( 'Variant', 'kirki' ),
173
'subsets' => esc_attr__( 'Subset', 'kirki' ),
includes/class-kirki-sanitize-values.php CHANGED
@@ -40,14 +40,19 @@ if ( ! class_exists( 'Kirki_Sanitize_Values' ) ) {
40
/**
41
* Checkbox sanitization callback.
42
*
43
- * Sanitization callback for 'checkbox' type controls. This callback sanitizes `$checked`
44
- * as a boolean value, either TRUE or FALSE.
45
*
46
- * @param bool|string $checked Whether the checkbox is checked.
47
* @return bool Whether the checkbox is checked.
48
*/
49
- public static function checkbox( $checked ) {
50
- return ( ( isset( $checked ) && ( true == $checked || 'on' === $checked ) ) ? true : false );
51
}
52
53
/**
40
/**
41
* Checkbox sanitization callback.
42
*
43
+ * Sanitization callback for 'checkbox' type controls.
44
+ * This callback sanitizes `$value` as a boolean value, either TRUE or FALSE.
45
*
46
+ * Deprecated. Use Kirki_Field_Checkbox::sanitize() instead.
47
+ *
48
+ * @static
49
+ * @access public
50
+ * @see Kirki_Field_Checkbox::sanitize()
51
+ * @param bool|string $value Whether the checkbox is checked.
52
* @return bool Whether the checkbox is checked.
53
*/
54
+ public static function checkbox( $value ) {
55
+ return Kirki_Field_Checkbox::sanitize( $value );
56
}
57
58
/**
includes/controls/class-kirki-controls-checkbox-control.php CHANGED
@@ -56,7 +56,7 @@ if ( ! class_exists( 'Kirki_Controls_Checkbox_Control' ) ) {
56
<a href="#" class="tooltip hint--left" data-hint="{{ data.tooltip }}"><span class='dashicons dashicons-info'></span></a>
57
<# } #>
58
<label>
59
- <input type="checkbox" value="{{ data.value }}" {{{ data.link }}}<# if ( data.value ) { #> checked<# } #> />
60
{{ data.label }}
61
<# if ( data.description ) { #>
62
<span class="description customize-control-description">{{{ data.description }}}</span>
56
<a href="#" class="tooltip hint--left" data-hint="{{ data.tooltip }}"><span class='dashicons dashicons-info'></span></a>
57
<# } #>
58
<label>
59
+ <input type="checkbox" value="{{ data.value }}" {{{ data.link }}}<# if ( '1' === data.value || 1 === data.value || true === data.value || 'on' === data.value ) { #> checked<# } #> />
60
{{ data.label }}
61
<# if ( data.description ) { #>
62
<span class="description customize-control-description">{{{ data.description }}}</span>
includes/controls/class-kirki-controls-code-control.php CHANGED
@@ -119,7 +119,7 @@ if ( ! class_exists( 'Kirki_Controls_Code_Control' ) ) {
119
<# if ( data.description ) { #>
120
<span class="description customize-control-description">{{{ data.description }}}</span>
121
<# } #>
122
- <textarea id="kirki-codemirror-editor-{{ data.id }}">{{{ data.value }}}</textarea>
123
</label>
124
<?php
125
}
119
<# if ( data.description ) { #>
120
<span class="description customize-control-description">{{{ data.description }}}</span>
121
<# } #>
122
+ <textarea class="kirki-codemirror-editor">{{{ data.value }}}</textarea>
123
</label>
124
<?php
125
}
includes/controls/class-kirki-controls-dropdown-pages-control.php CHANGED
@@ -29,7 +29,7 @@ if ( ! class_exists( 'Kirki_Controls_Dropdown_Pages_Control' ) ) {
29
* @access public
30
* @var string
31
*/
32
- public $type = 'dropdown-pages';
33
34
/**
35
* Enqueue control related scripts/styles.
29
* @access public
30
* @var string
31
*/
32
+ public $type = 'kirki-dropdown-pages';
33
34
/**
35
* Enqueue control related scripts/styles.
includes/controls/class-kirki-controls-repeater-control.php CHANGED
@@ -99,7 +99,7 @@ if ( ! class_exists( 'Kirki_Controls_Repeater_Control' ) ) {
99
}
100
101
if ( empty( $this->button_label ) ) {
102
- $this->button_label = $l10n['add-new'].' '.$this->row_label['value'];
103
}
104
105
if ( empty( $args['fields'] ) || ! is_array( $args['fields'] ) ) {
@@ -107,7 +107,7 @@ if ( ! class_exists( 'Kirki_Controls_Repeater_Control' ) ) {
107
}
108
109
// An array to store keys of fields that need to be filtered.
110
- $image_fields_to_filter = array();
111
112
foreach ( $args['fields'] as $key => $value ) {
113
if ( ! isset( $value['default'] ) ) {
@@ -119,11 +119,11 @@ if ( ! class_exists( 'Kirki_Controls_Repeater_Control' ) ) {
119
}
120
$args['fields'][ $key ]['id'] = $key;
121
122
- // We check if the filed is an image or a cropped_image.
123
- if ( isset( $value['type'] ) && ( 'image' === $value['type'] || 'cropped_image' === $value['type'] ) ) {
124
125
// We add it to the list of fields that need some extra filtering/processing.
126
- $image_fields_to_filter[ $key ] = true;
127
}
128
}
129
@@ -143,8 +143,8 @@ if ( ! class_exists( 'Kirki_Controls_Repeater_Control' ) ) {
143
// We iterate over the list of properties for this field.
144
foreach ( $filtered_value_field as $key => &$value ) {
145
146
- // We check if this field was marked as requiring extra filtering (in this case image, cropped_images).
147
- if ( array_key_exists( $key, $image_fields_to_filter ) ) {
148
149
// What follows was made this way to preserve backward compatibility.
150
// The repeater control use to store the URL for images instead of the attachment ID.
@@ -157,6 +157,8 @@ if ( ! class_exists( 'Kirki_Controls_Repeater_Control' ) ) {
157
// Try to get the attachment_url.
158
$url = wp_get_attachment_url( $attachment_id );
159
160
// If we got a URL.
161
if ( $url ) {
162
@@ -164,6 +166,7 @@ if ( ! class_exists( 'Kirki_Controls_Repeater_Control' ) ) {
164
$value = array(
165
'id' => $attachment_id,
166
'url' => $url,
167
);
168
}
169
}
@@ -183,7 +186,6 @@ if ( ! class_exists( 'Kirki_Controls_Repeater_Control' ) ) {
183
parent::to_json();
184
185
$fields = $this->fields;
186
- $i18n = Kirki_l10n::get_strings();
187
188
$this->json['fields'] = $fields;
189
$this->json['row_label'] = $this->row_label;
@@ -200,6 +202,18 @@ if ( ! class_exists( 'Kirki_Controls_Repeater_Control' ) ) {
200
* @access public
201
*/
202
public function enqueue() {
203
wp_enqueue_script( 'kirki-repeater' );
204
}
205
@@ -245,10 +259,10 @@ if ( ! class_exists( 'Kirki_Controls_Repeater_Control' ) ) {
245
* @access public
246
*/
247
public function repeater_js_template() {
248
?>
249
- <?php $l10n = Kirki_l10n::get_strings(); ?>
250
<script type="text/html" class="customize-control-repeater-content">
251
- <# var field; var index = data['index']; #>
252
253
254
<li class="repeater-row minimized" data-row="{{{ index }}}">
@@ -258,14 +272,11 @@ if ( ! class_exists( 'Kirki_Controls_Repeater_Control' ) ) {
258
<i class="dashicons dashicons-arrow-down repeater-minimize"></i>
259
</div>
260
<div class="repeater-row-content">
261
- <# for ( i in data ) { #>
262
- <# if ( ! data.hasOwnProperty( i ) ) continue; #>
263
- <# field = data[i]; #>
264
- <# if ( ! field.type ) continue; #>
265
266
<div class="repeater-field repeater-field-{{{ field.type }}}">
267
268
- <# if ( field.type === 'text' || field.type === 'url' || field.type === 'email' || field.type === 'tel' || field.type === 'date' ) { #>
269
270
<label>
271
<# if ( field.label ) { #>
@@ -277,11 +288,11 @@ if ( ! class_exists( 'Kirki_Controls_Repeater_Control' ) ) {
277
<input type="{{field.type}}" name="" value="{{{ field.default }}}" data-field="{{{ field.id }}}">
278
</label>
279
280
- <# } else if ( field.type === 'hidden' ) { #>
281
282
<input type="hidden" data-field="{{{ field.id }}}" <# if ( field.default ) { #> value="{{{ field.default }}}" <# } #> />
283
284
- <# } else if ( field.type === 'checkbox' ) { #>
285
286
<label>
287
<input type="checkbox" value="true" data-field="{{{ field.id }}}" <# if ( field.default ) { #> checked="checked" <# } #> />
@@ -290,7 +301,7 @@ if ( ! class_exists( 'Kirki_Controls_Repeater_Control' ) ) {
290
<# } #>
291
</label>
292
293
- <# } else if ( field.type === 'select' ) { #>
294
295
<label>
296
<# if ( field.label ) { #>
@@ -300,15 +311,13 @@ if ( ! class_exists( 'Kirki_Controls_Repeater_Control' ) ) {
300
<span class="description customize-control-description">{{ field.description }}</span>
301
<# } #>
302
<select data-field="{{{ field.id }}}">
303
- <# for ( i in field.choices ) { #>
304
- <# if ( field.choices.hasOwnProperty( i ) ) { #>
305
- <option value="{{{ i }}}" <# if ( field.default == i ) { #> selected="selected" <# } #>>{{ field.choices[i] }}</option>
306
- <# } #>
307
- <# } #>
308
</select>
309
</label>
310
311
- <# } else if ( field.type === 'radio' )