Version Description
- Fixed drag and drop issue
- Added preview ordering option
- Fixed gallery fields compatibility
- Fixed issues related to PHP 7.4, PHP 7.1
- Fixed issues related to conflicts with PHP modules
Download this release
Release Info
Developer | robosoft |
Plugin | Gallery – Photo Gallery and Images Gallery |
Version | 3.2.0 |
Comparing to | |
See all releases |
Code changes from version 3.1.8 to 3.2.0
- app/app.php +1 -1
- app/class.brand.php +1 -1
- app/class.listing.php +1 -1
- app/class.php +1 -1
- app/class.restapi.php +1 -1
- app/class.utils.php +1 -1
- app/class.view.php +1 -1
- app/extensions/dashboard/assets/style.css +1 -1
- app/extensions/dashboard/class.dashboard.php +1 -1
- app/extensions/dashboard/init.php +1 -1
- app/extensions/dashboard/overview.php +1 -1
- app/extensions/dashboard/video_guide.php +1 -1
- app/extensions/duplicate/init.php +1 -1
- app/extensions/fields/asset/core/js/app.js +1 -1
- app/extensions/fields/asset/fields/gallery/js/gallery.lib.min.js +2 -2
- app/extensions/fields/asset/fields/gallery/js/script.min.js +2 -2
- app/extensions/fields/asset/help/help.js +1 -1
- app/extensions/fields/asset/sortablejs/CONTRIBUTING.md +26 -0
- app/extensions/fields/asset/sortablejs/LICENSE +21 -0
- app/extensions/fields/asset/sortablejs/README.md +828 -0
- app/extensions/fields/asset/sortablejs/index.html +460 -0
- app/extensions/fields/asset/sortablejs/package.json +56 -0
- app/extensions/fields/asset/sortablejs/sortable.js +3783 -0
- app/extensions/fields/asset/sortablejs/sortable.min.js +2 -0
- app/extensions/fields/asset/vanilla-picker-master/README.md +0 -77
- app/extensions/fields/asset/vanilla-picker-master/dist/vanilla-picker.csp.css +1 -0
- app/extensions/fields/asset/vanilla-picker-master/dist/vanilla-picker.csp.js +1001 -0
- app/extensions/fields/asset/vanilla-picker-master/dist/vanilla-picker.csp.min.js +8 -0
- app/extensions/fields/asset/vanilla-picker-master/dist/vanilla-picker.csp.mjs +993 -0
- app/extensions/fields/asset/vanilla-picker-master/dist/vanilla-picker.js +470 -560
- app/extensions/fields/asset/vanilla-picker-master/dist/vanilla-picker.min.js +3 -3
- app/extensions/fields/asset/vanilla-picker-master/dist/vanilla-picker.mjs +1001 -0
- app/extensions/fields/asset/vanilla-picker-master/package.json +33 -14
- app/extensions/fields/asset/vanilla-picker-master/src/css/_components.scss +28 -12
- app/extensions/fields/asset/vanilla-picker-master/src/css/_layout.scss +15 -7
- app/extensions/fields/asset/vanilla-picker-master/src/index.d.ts +50 -0
- app/extensions/fields/asset/vanilla-picker-master/src/index.js +3 -0
- app/extensions/fields/asset/vanilla-picker-master/src/index.pug +24 -0
- app/extensions/fields/asset/vanilla-picker-master/src/index.scss +4 -0
- app/extensions/fields/asset/vanilla-picker-master/src/js/picker.js +712 -0
- app/extensions/fields/asset/vanilla-picker-master/src/js/utils.js +107 -0
- app/extensions/fields/config/main.php +1 -1
- app/extensions/fields/config/metabox/gallery_slider_animation.php +1 -1
- app/extensions/fields/config/metabox/gallery_slider_content.php +1 -1
- app/extensions/fields/config/metabox/gallery_slider_general.php +1 -1
- app/extensions/fields/config/metabox/gallery_slider_interface.php +3 -1
- app/extensions/fields/config/metabox/gallery_slider_lazyload.php +1 -1
- app/extensions/fields/config/metabox/gallery_type.php +1 -1
- app/extensions/fields/config/metabox/gallery_youtube.php +1 -1
- app/extensions/fields/config/metabox/image.php +1 -1
- app/extensions/fields/config/metabox/shortcode.php +1 -1
- app/extensions/fields/config/metabox/update_notice.php +1 -1
- app/extensions/fields/include/roboGalleryFields.php +3 -2
- app/extensions/fields/include/roboGalleryFieldsAjax.php +42 -3
- app/extensions/fields/include/roboGalleryFieldsConfig.php +1 -1
- app/extensions/fields/include/roboGalleryFieldsConfig/roboGalleryFieldsConfigReader.php +1 -1
- app/extensions/fields/include/roboGalleryFieldsConfig/roboGalleryFieldsConfigReaderInterface.php +1 -1
- app/extensions/fields/include/roboGalleryFieldsConfig/roboGalleryFieldsConfigReaderPhp.php +1 -1
- app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsField.php +1 -1
- app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsFieldCheckbox.php +1 -1
- app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsFieldCheckboxGroup.php +1 -1
- app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsFieldCheckboxGroupButton.php +1 -1
- app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsFieldCheckboxGroupSwitch.php +1 -1
- app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsFieldGalleryType.php +1 -1
- app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsFieldHtml.php +1 -1
- app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsFieldSelectMultiple.php +1 -1
- app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsFieldText.php +1 -1
- app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsFieldTextColor.php +1 -1
- app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsFieldTextSlider.php +1 -1
- app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsFieldThemes.php +1 -1
- app/extensions/fields/include/roboGalleryFieldsFieldFactory.php +1 -1
- app/extensions/fields/include/roboGalleryFieldsHelper.php +1 -1
- app/extensions/fields/include/roboGalleryFieldsMetaBoxClass.php +1 -1
- app/extensions/fields/include/roboGalleryFieldsView.php +1 -1
- app/extensions/fields/init.php +1 -1
- app/extensions/fields/template/content/gallery_type/content.tpl.php +1 -1
- app/extensions/fields/template/field/text/images.tpl.php +26 -6
- app/extensions/galleryType/css/theme.edit.css +1 -1
- app/extensions/galleryType/css/themes.listing.css +1 -1
- app/extensions/galleryType/init.php +1 -1
- app/extensions/galleryType/initThemeOptions.php +2 -2
- app/extensions/imageResize/init.php +1 -1
- app/extensions/manager/class.addons.action.php +1 -1
- app/extensions/manager/class.addons.php +1 -1
- app/extensions/manager/css/style.css +1 -1
- app/extensions/manager/init.php +1 -1
- app/extensions/manager/js/script.js +1 -1
- cmb2/bootstrap.php +0 -50
- cmb2/css/cmb2.min.css +0 -1
- cmb2/includes/CMB2_Boxes.php +0 -65
- cmb2/js/cmb2.min.js +0 -1
- cmbre2/bootstrap.php +50 -0
- cmb2/css/cmb2.css → cmbre2/css/cmbre2.css +590 -590
- cmbre2/css/cmbre2.min.css +1 -0
- {cmb2 → cmbre2}/css/index.html +0 -0
- {cmb2 → cmbre2}/fields/border/cmb-field-border.php +1 -1
- {cmb2 → cmbre2}/fields/border/index.html +0 -0
- {cmb2 → cmbre2}/fields/colums/cmb-field-colums.php +5 -5
- {cmb2 → cmbre2}/fields/colums/index.html +0 -0
- {cmb2 → cmbre2}/fields/font/cmb-field-font.php +4 -4
- {cmb2 → cmbre2}/fields/font/index.html +0 -0
- {cmb2 → cmbre2}/fields/hidden_array/index.html +0 -0
- {cmb2 → cmbre2}/fields/hidden_array/init.php +3 -3
- {cmb2 → cmbre2}/fields/index.html +0 -0
- {cmb2 → cmbre2}/fields/loading/cmb-field-loading.php +11 -11
- {cmb2 → cmbre2}/fields/loading/index.html +0 -0
- {cmb2 → cmbre2}/fields/multisize/index.html +0 -0
- {cmb2 → cmbre2}/fields/multisize/rbs-multiSize.php +1 -1
- {cmb2 → cmbre2}/fields/padding/index.html +0 -0
- {cmb2 → cmbre2}/fields/padding/rbs-padding.php +1 -1
- {cmb2 → cmbre2}/fields/rbsgallery/cmb-field-rbsgallery.php +3 -3
- {cmb2 → cmbre2}/fields/rbsgallery/index.html +0 -0
- {cmb2 → cmbre2}/fields/rbsradiobutton/index.html +0 -0
- {cmb2 → cmbre2}/fields/rbsradiobutton/rbs-radiobutton.php +1 -1
- {cmb2 → cmbre2}/fields/rbsselect/cmb-field-rbsselect.php +2 -2
- {cmb2 → cmbre2}/fields/rbsselect/index.html +0 -0
- {cmb2 → cmbre2}/fields/rbstext/cmb-field-rbstext.php +5 -5
- {cmb2 → cmbre2}/fields/rbstext/index.html +0 -0
- {cmb2 → cmbre2}/fields/rbstextarea/cmb-field-rbstextarea.php +5 -5
- {cmb2 → cmbre2}/fields/rbstextarea/index.html +0 -0
- {cmb2 → cmbre2}/fields/shadow/cmb-field-shadow.php +4 -4
- {cmb2 → cmbre2}/fields/shadow/index.html +0 -0
- {cmb2 → cmbre2}/fields/size/cmb-field-size.php +2 -2
- {cmb2 → cmbre2}/fields/size/index.html +0 -0
- {cmb2 → cmbre2}/fields/slider/cmb-field-slider.php +4 -4
- {cmb2 → cmbre2}/fields/slider/index.html +0 -0
- {cmb2 → cmbre2}/fields/switch/cmb-field-switch.php +4 -4
- {cmb2 → cmbre2}/fields/switch/index.html +0 -0
- {cmb2 → cmbre2}/fields/toolbox/cmb-field-toolbox.php +0 -0
- {cmb2 → cmbre2}/fields/toolbox/index.html +0 -0
- {cmb2 → cmbre2}/images/ico-delete.png +0 -0
- {cmb2 → cmbre2}/images/index.html +0 -0
- {cmb2 → cmbre2}/images/index.php +0 -0
- {cmb2 → cmbre2}/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- {cmb2 → cmbre2}/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- {cmb2 → cmbre2}/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- {cmb2 → cmbre2}/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- {cmb2 → cmbre2}/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- {cmb2 → cmbre2}/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- {cmb2 → cmbre2}/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- {cmb2 → cmbre2}/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- {cmb2 → cmbre2}/images/ui-icons_222222_256x240.png +0 -0
- {cmb2 → cmbre2}/images/ui-icons_2e83ff_256x240.png +0 -0
- {cmb2 → cmbre2}/images/ui-icons_454545_256x240.png +0 -0
- {cmb2 → cmbre2}/images/ui-icons_888888_256x240.png +0 -0
- {cmb2 → cmbre2}/images/ui-icons_cd0a0a_256x240.png +0 -0
- cmb2/includes/CMB2.php → cmbre2/includes/CMBRE2.php +42 -38
- cmb2/includes/CMB2_Ajax.php → cmbre2/includes/CMBRE2_Ajax.php +7 -7
- cmbre2/includes/CMBRE2_Boxes.php +65 -0
- cmb2/includes/CMB2_Field.php → cmbre2/includes/CMBRE2_Field.php +38 -38
- cmb2/includes/CMB2_Options.php → cmbre2/includes/CMBRE2_Options.php +15 -15
- cmb2/includes/CMB2_Sanitize.php → cmbre2/includes/CMBRE2_Sanitize.php +13 -13
- cmb2/includes/CMB2_Show_Filters.php → cmbre2/includes/CMBRE2_Show_Filters.php +3 -3
- cmb2/includes/CMB2_Types.php → cmbre2/includes/CMBRE2_Types.php +54 -54
- cmb2/includes/CMB2_Utils.php → cmbre2/includes/CMBRE2_Utils.php +10 -10
- cmb2/includes/CMB2_hookup.php → cmbre2/includes/CMBRE2_hookup.php +25 -25
- {cmb2 → cmbre2}/includes/helper-functions.php +75 -67
- {cmb2 → cmbre2}/includes/index.html +0 -0
- {cmb2 → cmbre2}/index.html +0 -0
- {cmb2 → cmbre2}/init.php +33 -33
- cmb2/js/cmb2.js → cmbre2/js/cmbre2.js +51 -51
- cmbre2/js/cmbre2.min.js +1 -0
- {cmb2 → cmbre2}/js/index.html +0 -0
- {cmb2 → cmbre2}/js/jquery-ui-timepicker-addon.min.js +0 -0
- {cmb2 → cmbre2}/js/jquery.timePicker.min.js +0 -0
- {cmb2 → cmbre2}/languages/cmb2.pot +46 -46
- css/admin/edit.css +1 -1
- includes/cache.php +1 -0
- includes/extensions/block/dist/blocks.build.js +180 -1
- includes/extensions/block/dist/blocks.editor.build.css +37 -1
- includes/extensions/block/src/init.php +46 -20
- includes/frontend/modules/base-grid/assets.php +1 -1
- includes/frontend/modules/base-grid/effects.set1.php +1 -1
- includes/frontend/modules/base-grid/grid/grid.columns.v1.php +1 -1
- includes/frontend/modules/base-grid/grid/grid.scss +1 -0
- includes/frontend/modules/base-grid/grid/grid.v1.php +1 -1
- includes/frontend/modules/base-grid/hover.v1.php +1 -1
- includes/frontend/modules/base-grid/layout.v1.php +1 -1
- includes/frontend/modules/base-grid/lightbox.php +1 -1
- includes/frontend/modules/base-grid/menu/menu.php +1 -1
- includes/frontend/modules/base-grid/polaroid.php +1 -1
- includes/frontend/modules/base-grid/resize.php +1 -1
- includes/frontend/modules/base-grid/search.php +1 -1
- includes/frontend/modules/base-grid/seo.php +1 -1
- includes/frontend/modules/base-grid/size.php +1 -1
- includes/frontend/modules/base-grid/tags.php +1 -1
- includes/frontend/modules/class/abstraction.php +1 -1
- includes/frontend/modules/class/addtexts.php +1 -1
- includes/frontend/modules/class/assets.php +1 -1
- includes/frontend/modules/class/cache.php +1 -1
- includes/frontend/modules/class/cachedb.php +1 -1
- includes/frontend/modules/class/config.php +16 -1
- includes/frontend/modules/class/customcss.php +1 -1
- includes/frontend/modules/class/element.php +1 -1
app/app.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
/*
|
4 |
* Robo Gallery
|
5 |
-
* Version: 3.1
|
6 |
* By Robosoft
|
7 |
*
|
8 |
* Contact: https://robogallery.co/
|
2 |
|
3 |
/*
|
4 |
* Robo Gallery
|
5 |
+
* Version: 3.2.1 - 52888
|
6 |
* By Robosoft
|
7 |
*
|
8 |
* Contact: https://robogallery.co/
|
app/class.brand.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
/*
|
4 |
* Robo Gallery
|
5 |
-
* Version: 3.1
|
6 |
* By Robosoft
|
7 |
*
|
8 |
* Contact: https://robogallery.co/
|
2 |
|
3 |
/*
|
4 |
* Robo Gallery
|
5 |
+
* Version: 3.2.1 - 52888
|
6 |
* By Robosoft
|
7 |
*
|
8 |
* Contact: https://robogallery.co/
|
app/class.listing.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/class.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/class.restapi.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/class.utils.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/class.view.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
/*
|
4 |
* Robo Gallery
|
5 |
-
* Version: 3.1
|
6 |
* By Robosoft
|
7 |
*
|
8 |
* Contact: https://robogallery.co/
|
2 |
|
3 |
/*
|
4 |
* Robo Gallery
|
5 |
+
* Version: 3.2.1 - 52888
|
6 |
* By Robosoft
|
7 |
*
|
8 |
* Contact: https://robogallery.co/
|
app/extensions/dashboard/assets/style.css
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/dashboard/class.dashboard.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/dashboard/init.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/dashboard/overview.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/dashboard/video_guide.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/duplicate/init.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/asset/core/js/app.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/*
|
2 |
* Robo Gallery
|
3 |
-
* Version: 3.1
|
4 |
* By Robosoft
|
5 |
*
|
6 |
* Contact: https://robogallery.co/
|
1 |
/*
|
2 |
* Robo Gallery
|
3 |
+
* Version: 3.2.1 - 52888
|
4 |
* By Robosoft
|
5 |
*
|
6 |
* Contact: https://robogallery.co/
|
app/extensions/fields/asset/fields/gallery/js/gallery.lib.min.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
/*
|
2 |
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
@@ -10,4 +10,4 @@
|
|
10 |
|
11 |
|
12 |
*/
|
13 |
-
!function(t){var e,i,l;void 0===wp.media.view.emWpGallery?(e=wp.media.view.MediaFrame.Select,i=wp.media.controller.Library,l=wp.media.view.l10n,wp.media.view.emWpGallery=e.extend({initialize:function(){this.counts={audio:{count:wp.media.view.settings.attachmentCounts.audio,state:"playlist"},video:{count:wp.media.view.settings.attachmentCounts.video,state:"video-playlist"}},t.defaults(this.options,{multiple:!0,editing:!0,state:"insert",metadata:{}}),e.prototype.initialize.apply(this,arguments),this.createIframeStates()},createStates:function(){var e=this.options;this.states.add([new i({id:"insert",title:l.insertMediaTitle,priority:20,toolbar:"main-insert",filterable:"all",library:wp.media.query(e.library),multiple:!!e.multiple&&"reset",editable:!1}),new i({id:"gallery",title:l.createGalleryTitle,priority:40,toolbar:"main-gallery",filterable:"uploaded",multiple:"add",editable:!0,library:wp.media.query(t.defaults({type:"image"},e.library))}),new wp.media.controller.EditImage({model:e.editImage}),new wp.media.controller.GalleryEdit({library:e.selection,editing:e.editing,menu:"gallery",multiple:!0,displaySettings:!1,displayUserSettings:!1}),new wp.media.controller.GalleryAdd({multiple:"add",editable:!0})])},bindHandlers:function(){e.prototype.bindHandlers.apply(this,arguments),this.on("activate",this.activate,this),void 0!==t.find(this.counts,function(e){return 0===e.count})&&this.listenTo(wp.media.model.Attachments.all,"change:type",this.mediaTypeCounts),this.on("menu:create:gallery",this.createMenu,this),this.on("toolbar:create:main-insert",this.createToolbar,this),this.on("toolbar:create:gallery-add",this.createToolbar,this),this.on("toolbar:create:main-gallery",this.createToolbar,this),this.on("toolbar:create:main-embed",this.mainEmbedToolbar,this),t.each({menu:{default:"mainMenu",gallery:"galleryMenu"},content:{embed:"embedContent","edit-image":"editImageContent","edit-selection":"editSelectionContent"},toolbar:{"main-insert":"mainInsertToolbar","main-gallery":"mainGalleryToolbar","gallery-edit":"galleryEditToolbar","gallery-add":"galleryAddToolbar"}},function(e,i){t.each(e,function(e,t){this.on(i+":render:"+t,this[e],this)},this)},this)},activate:function(){t.each(this.counts,function(e){e.count<1&&this.menuItemVisibility(e.state,"hide")},this)},mediaTypeCounts:function(e,t){void 0!==this.counts[t]&&this.counts[t].count<1&&(this.counts[t].count++,this.menuItemVisibility(this.counts[t].state,"show"))},mainMenu:function(e){},menuItemVisibility:function(e,t){var i=this.menu.get();"hide"===t?i.hide(e):"show"===t&&i.show(e)},galleryMenu:function(e){var t=this.lastState(),i=t&&t.id,a=this;e.set({cancel:{text:l.cancelGalleryTitle,priority:20,click:function(){i?a.setState(i):a.close(),this.controller.modal.focusManager.focus()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},embedContent:function(){var e=new wp.media.view.Embed({controller:this,model:this.state()}).render();this.content.set(e)},editSelectionContent:function(){var e=this.state(),t=e.get("selection"),e=new wp.media.view.AttachmentsBrowser({controller:this,collection:t,selection:t,model:e,sortable:!0,search:!1,date:!1,dragInfo:!0,AttachmentView:wp.media.view.Attachments.EditSelection}).render();e.toolbar.set("backToLibrary",{text:l.returnToLibrary,priority:-100,click:function(){this.controller.content.mode("browse"),this.controller.modal.focusManager.focus()}}),this.content.set(e),this.trigger("edit:selection",this)},editImageContent:function(){var e=this.state().get("image"),e=new wp.media.view.EditImage({model:e,controller:this}).render();this.content.set(e),e.loadEditor()},selectionStatusToolbar:function(e){var t=this.state().get("editable");e.set("selection",new wp.media.view.Selection({controller:this,collection:this.state().get("selection"),priority:-40,editable:t&&function(){this.controller.content.mode("edit-selection")}}).render())},mainInsertToolbar:function(e){var i=this;this.selectionStatusToolbar(e),e.set("insert",{style:"primary",priority:80,text:l.insertIntoPost,requires:{selection:!0},click:function(){var e=i.state(),t=e.get("selection");i.close(),e.trigger("insert",t).reset()}})},mainGalleryToolbar:function(e){var a=this;this.selectionStatusToolbar(e),e.set("gallery",{style:"primary",text:l.createNewGallery,priority:60,requires:{selection:!0},click:function(){var e=a.state().get("selection"),t=a.state("gallery-edit"),i=e.where({type:"image"});t.set("library",new wp.media.model.Selection(i,{props:e.props.toJSON(),multiple:!0})),this.controller.setState("gallery-edit"),this.controller.modal.focusManager.focus()}})},galleryEditToolbar:function(){var e=this.state().get("editing");this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:e?l.updateGallery:l.insertGallery,priority:80,requires:{library:!0},click:function(){var e=this.controller,t=e.state();e.close(),t.trigger("update",t.get("library")),e.setState(e.options.state),e.reset()}}}}))},galleryAddToolbar:function(e){this.selectionStatusToolbar(e),e.set("insert",{style:"primary",text:l.addToGallery,priority:80,requires:{selection:!0},click:function(){var e=this.controller,t=e.state();e.state("gallery-edit").get("library").add(t.get("selection").models),t.trigger("reset"),e.setState("gallery-edit"),this.controller.modal.focusManager.focus()}})}})):console.log("EM Gallery already defined")}((jQuery,_));
|
1 |
/*
|
2 |
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
10 |
|
11 |
|
12 |
*/
|
13 |
+
!function(t){var e,i,l;void 0===wp.media.view.emWpGallery?(e=wp.media.view.MediaFrame.Select,i=wp.media.controller.Library,l=wp.media.view.l10n,wp.media.view.emWpGallery=e.extend({initialize:function(){this.counts={audio:{count:wp.media.view.settings.attachmentCounts.audio,state:"playlist"},video:{count:wp.media.view.settings.attachmentCounts.video,state:"video-playlist"}},t.defaults(this.options,{multiple:!0,editing:!0,state:"insert",metadata:{}}),e.prototype.initialize.apply(this,arguments),this.createIframeStates()},createStates:function(){var e=this.options;this.states.add([new i({id:"insert",title:l.insertMediaTitle,priority:20,toolbar:"main-insert",filterable:"all",library:wp.media.query(e.library),multiple:!!e.multiple&&"reset",sortable:!0,editable:!1}),new i({id:"gallery",title:l.createGalleryTitle,priority:40,toolbar:"main-gallery",filterable:"uploaded",multiple:"add",editable:!0,sortable:!0,library:wp.media.query(t.defaults({type:"image"},e.library))}),new wp.media.controller.EditImage({model:e.editImage}),new wp.media.controller.GalleryEdit({library:e.selection,editing:e.editing,menu:"gallery",multiple:!0,displaySettings:!1,displayUserSettings:!1}),new wp.media.controller.GalleryAdd({multiple:"add",editable:!0,sortable:!0})])},bindHandlers:function(){e.prototype.bindHandlers.apply(this,arguments),this.on("activate",this.activate,this),void 0!==t.find(this.counts,function(e){return 0===e.count})&&this.listenTo(wp.media.model.Attachments.all,"change:type",this.mediaTypeCounts),this.on("menu:create:gallery",this.createMenu,this),this.on("toolbar:create:main-insert",this.createToolbar,this),this.on("toolbar:create:gallery-add",this.createToolbar,this),this.on("toolbar:create:main-gallery",this.createToolbar,this),this.on("toolbar:create:main-embed",this.mainEmbedToolbar,this),t.each({menu:{default:"mainMenu",gallery:"galleryMenu"},content:{embed:"embedContent","edit-image":"editImageContent","edit-selection":"editSelectionContent"},toolbar:{"main-insert":"mainInsertToolbar","main-gallery":"mainGalleryToolbar","gallery-edit":"galleryEditToolbar","gallery-add":"galleryAddToolbar"}},function(e,i){t.each(e,function(e,t){this.on(i+":render:"+t,this[e],this)},this)},this)},activate:function(){t.each(this.counts,function(e){e.count<1&&this.menuItemVisibility(e.state,"hide")},this)},mediaTypeCounts:function(e,t){void 0!==this.counts[t]&&this.counts[t].count<1&&(this.counts[t].count++,this.menuItemVisibility(this.counts[t].state,"show"))},mainMenu:function(e){},menuItemVisibility:function(e,t){var i=this.menu.get();"hide"===t?i.hide(e):"show"===t&&i.show(e)},galleryMenu:function(e){var t=this.lastState(),i=t&&t.id,a=this;e.set({cancel:{text:l.cancelGalleryTitle,priority:20,click:function(){i?a.setState(i):a.close(),this.controller.modal.focusManager.focus()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},embedContent:function(){var e=new wp.media.view.Embed({controller:this,model:this.state()}).render();this.content.set(e)},editSelectionContent:function(){var e=this.state(),t=e.get("selection"),e=new wp.media.view.AttachmentsBrowser({controller:this,collection:t,selection:t,model:e,sortable:!0,search:!1,date:!1,dragInfo:!0,AttachmentView:wp.media.view.Attachments.EditSelection}).render();e.toolbar.set("backToLibrary",{text:l.returnToLibrary,priority:-100,click:function(){this.controller.content.mode("browse"),this.controller.modal.focusManager.focus()}}),this.content.set(e),this.trigger("edit:selection",this)},editImageContent:function(){var e=this.state().get("image"),e=new wp.media.view.EditImage({model:e,controller:this}).render();this.content.set(e),e.loadEditor()},selectionStatusToolbar:function(e){var t=this.state().get("editable");e.set("selection",new wp.media.view.Selection({controller:this,collection:this.state().get("selection"),priority:-40,editable:t&&function(){this.controller.content.mode("edit-selection")}}).render())},mainInsertToolbar:function(e){var i=this;this.selectionStatusToolbar(e),e.set("insert",{style:"primary",priority:80,text:l.insertIntoPost,requires:{selection:!0},click:function(){var e=i.state(),t=e.get("selection");i.close(),e.trigger("insert",t).reset()}})},mainGalleryToolbar:function(e){var a=this;this.selectionStatusToolbar(e),e.set("gallery",{style:"primary",text:l.createNewGallery,priority:60,requires:{selection:!0},click:function(){var e=a.state().get("selection"),t=a.state("gallery-edit"),i=e.where({type:"image"});t.set("library",new wp.media.model.Selection(i,{props:e.props.toJSON(),multiple:!0})),this.controller.setState("gallery-edit"),this.controller.modal.focusManager.focus()}})},galleryEditToolbar:function(){var e=this.state().get("editing");this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:e?l.updateGallery:l.insertGallery,priority:80,requires:{library:!0},click:function(){var e=this.controller,t=e.state();e.close(),t.trigger("update",t.get("library")),e.setState(e.options.state),e.reset()}}}}))},galleryAddToolbar:function(e){this.selectionStatusToolbar(e),e.set("insert",{style:"primary",text:l.addToGallery,priority:80,requires:{selection:!0},click:function(){var e=this.controller,t=e.state();e.state("gallery-edit").get("library").add(t.get("selection").models),t.trigger("reset"),e.setState("gallery-edit"),this.controller.modal.focusManager.focus()}})}})):console.log("EM Gallery already defined")}((jQuery,_));
|
app/extensions/fields/asset/fields/gallery/js/script.min.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/*
|
2 |
* Robo Gallery
|
3 |
-
* Version: 3.1
|
4 |
* By Robosoft
|
5 |
*
|
6 |
* Contact: https://robogallery.co/
|
@@ -8,4 +8,4 @@
|
|
8 |
* Licensed under the GPLv2 license - http://opensource.org/licenses/gpl-2.0.php
|
9 |
|
10 |
*/
|
11 |
-
!function(){var
|
1 |
/*
|
2 |
* Robo Gallery
|
3 |
+
* Version: 3.2.1 - 52888
|
4 |
* By Robosoft
|
5 |
*
|
6 |
* Contact: https://robogallery.co/
|
8 |
* Licensed under the GPLv2 license - http://opensource.org/licenses/gpl-2.0.php
|
9 |
|
10 |
*/
|
11 |
+
!function(){const o={get(e){return window.fetch(e,{method:"GET",headers:{Accept:"application/json"}}).then(this._handleError).then(this._handleContentType).catch(this._throwError)},post(e,t){return window.fetch(e,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(t)}).then(this._handleError).then(this._handleContentType).catch(this._throwError)},_handleError(e){return e.ok?e:Promise.reject(e.statusText)},_handleContentType(e){const t=e.headers.get("content-type");return t&&t.includes("application/json")?e.json():Promise.reject("Oops, we haven't got JSON!")},_throwError(e){throw new Error(e)}};var a,i,s,c,d="gallery-library",n=document.getElementById("robo_gallery_images_preview"),t=document.getElementsByClassName("roboGalleryFieldImagesButton"),u=[];function r(e){jQuery(n);var t=roboGalleryFieldGallery.endpoint+"/images/";o.get(t+e).then(e=>{n.textContent="",e.forEach(e=>{var t=document.createElement("img");t.setAttribute("src",e.url),t.setAttribute("data-id",e.id),n.appendChild(t)})})}0!=t.length?(t=t[0],s=document.getElementById(t.getAttribute("data-id")),i=s.value,c=""==i?[]:i.split(","),r(i),n.addEventListener("click",function(e){e.preventDefault(),e.target.matches("img")&&t.click()}),t.addEventListener("click",function(e){var l;i=s.value,c=""==i?[]:i.split(","),a||(0<c.length&&(d="gallery-edit"),(a=new wp.media.view.emWpGallery({multiple:!0,state:d,library:{order:"ASC",orderby:"title",type:"image",search:null,uploadedTo:null,multiple:!0}})).on("ready",function(){}),l=0,a.on("open",function(){i=s.value,c=""==i?[]:i.split(",");var e=a.state().get("library"),t=performance.now();e.reset();var o,n=performance.now();console.log(`Call to reset took ${n-t} milliseconds`);const r=function(e){u.hasMore()&&u.more().then(()=>{console.log("col",l++),r(u)})};0!=c.length&&(o=[],u=wp.media.query({post__in:c,posts_per_page:50}),r(u),t=performance.now(),c.forEach(function(e){o.push(wp.media.attachment(e))}),n=performance.now(),console.log(`Call to push took ${n-t} milliseconds`),t=performance.now(),e.add(o),n=performance.now(),console.log(`Call to library.add took ${n-t} milliseconds`),"gallery-edit"!=d&&(a.setState("gallery-edit"),a.options.state="gallery-edit",d="gallery-edit"))}),a.on("insert",function(){a.state().get("selection")}),a.on("update",function(e){var t=a.state(),t=e||t.get("selection");if(t){var o=t.toJSON();if(0!=o.length){c=[];for(var n=0;n<o.length;n++)c.push(o[n].id);r(i=c.join(",")),s.value=i}}else console.log("return selection")})),a.open()}),Sortable.create(n,{group:"robo_gallery_images_preview",animation:100,store:{get:function(e){var t=s.value;return""==t?[]:t.split(",")},set:function(e){e=e.toArray();s.value=e.join(",")}}})):console.log("button not found ")}(jQuery);
|
app/extensions/fields/asset/help/help.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/*
|
2 |
* Robo Gallery
|
3 |
-
* Version: 3.1
|
4 |
* By Robosoft
|
5 |
*
|
6 |
* Contact: https://robogallery.co/
|
1 |
/*
|
2 |
* Robo Gallery
|
3 |
+
* Version: 3.2.1 - 52888
|
4 |
* By Robosoft
|
5 |
*
|
6 |
* Contact: https://robogallery.co/
|
app/extensions/fields/asset/sortablejs/CONTRIBUTING.md
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Contribution Guidelines
|
2 |
+
|
3 |
+
### Issue
|
4 |
+
|
5 |
+
1. Try [master](https://github.com/SortableJS/Sortable/tree/master/)-branch, perhaps the problem has been solved;
|
6 |
+
2. [Use the search](https://github.com/SortableJS/Sortable/search?type=Issues&q=problem), maybe already have an answer;
|
7 |
+
3. If not found, create example on [jsbin.com (draft)](https://jsbin.com/kamiwez/edit?html,js,output) and describe the problem.
|
8 |
+
|
9 |
+
---
|
10 |
+
|
11 |
+
### Pull Request
|
12 |
+
|
13 |
+
1. Only request to merge with the [master](https://github.com/SortableJS/Sortable/tree/master/)-branch.
|
14 |
+
2. Only modify source files, **do not commit the resulting build**
|
15 |
+
|
16 |
+
### Setup
|
17 |
+
|
18 |
+
1. Fork the repo on [github](https://github.com)
|
19 |
+
2. Clone locally
|
20 |
+
3. Run `npm i` in the local repo
|
21 |
+
|
22 |
+
### Building
|
23 |
+
|
24 |
+
- For development, build the `./Sortable.js` file using the command `npm run build:umd:watch`
|
25 |
+
- To build everything and minify it, run `npm run build`
|
26 |
+
- Do not commit the resulting builds in any pull request – they will be generated at release
|
app/extensions/fields/asset/sortablejs/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
MIT License
|
2 |
+
|
3 |
+
Copyright (c) 2019 All contributors to Sortable
|
4 |
+
|
5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6 |
+
of this software and associated documentation files (the "Software"), to deal
|
7 |
+
in the Software without restriction, including without limitation the rights
|
8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9 |
+
copies of the Software, and to permit persons to whom the Software is
|
10 |
+
furnished to do so, subject to the following conditions:
|
11 |
+
|
12 |
+
The above copyright notice and this permission notice shall be included in all
|
13 |
+
copies or substantial portions of the Software.
|
14 |
+
|
15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21 |
+
SOFTWARE.
|
app/extensions/fields/asset/sortablejs/README.md
ADDED
@@ -0,0 +1,828 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Sortable [![Financial Contributors on Open Collective](https://opencollective.com/Sortable/all/badge.svg?label=financial+contributors)](https://opencollective.com/Sortable) [![CircleCI](https://circleci.com/gh/SortableJS/Sortable.svg?style=svg)](https://circleci.com/gh/SortableJS/Sortable) [![DeepScan grade](https://deepscan.io/api/teams/3901/projects/5666/branches/43977/badge/grade.svg)](https://deepscan.io/dashboard#view=project&tid=3901&pid=5666&bid=43977) [![](https://data.jsdelivr.com/v1/package/npm/sortablejs/badge)](https://www.jsdelivr.com/package/npm/sortablejs) [![npm](https://img.shields.io/npm/v/sortablejs.svg)](https://www.npmjs.com/package/sortablejs)
|
2 |
+
|
3 |
+
Sortable is a JavaScript library for reorderable drag-and-drop lists.
|
4 |
+
|
5 |
+
Demo: http://sortablejs.github.io/Sortable/
|
6 |
+
|
7 |
+
[<img width="250px" src="https://raw.githubusercontent.com/SortableJS/Sortable/HEAD/st/saucelabs.svg?sanitize=true">](https://saucelabs.com/)
|
8 |
+
|
9 |
+
## Features
|
10 |
+
|
11 |
+
* Supports touch devices and [modern](http://caniuse.com/#search=drag) browsers (including IE9)
|
12 |
+
* Can drag from one list to another or within the same list
|
13 |
+
* CSS animation when moving items
|
14 |
+
* Supports drag handles *and selectable text* (better than voidberg's html5sortable)
|
15 |
+
* Smart auto-scrolling
|
16 |
+
* Advanced swap detection
|
17 |
+
* Smooth animations
|
18 |
+
* [Multi-drag](https://github.com/SortableJS/Sortable/tree/master/plugins/MultiDrag) support
|
19 |
+
* Support for CSS transforms
|
20 |
+
* Built using native HTML5 drag and drop API
|
21 |
+
* Supports
|
22 |
+
* [Meteor](https://github.com/SortableJS/meteor-sortablejs)
|
23 |
+
* Angular
|
24 |
+
* [2.0+](https://github.com/SortableJS/angular-sortablejs)
|
25 |
+
* [1.*](https://github.com/SortableJS/angular-legacy-sortablejs)
|
26 |
+
* React
|
27 |
+
* [ES2015+](https://github.com/SortableJS/react-sortablejs)
|
28 |
+
* [Mixin](https://github.com/SortableJS/react-mixin-sortablejs)
|
29 |
+
* [Knockout](https://github.com/SortableJS/knockout-sortablejs)
|
30 |
+
* [Polymer](https://github.com/SortableJS/polymer-sortablejs)
|
31 |
+
* [Vue](https://github.com/SortableJS/Vue.Draggable)
|
32 |
+
* [Ember](https://github.com/SortableJS/ember-sortablejs)
|
33 |
+
* Supports any CSS library, e.g. [Bootstrap](#bs)
|
34 |
+
* Simple API
|
35 |
+
* Support for [plugins](#plugins)
|
36 |
+
* [CDN](#cdn)
|
37 |
+
* No jQuery required (but there is [support](https://github.com/SortableJS/jquery-sortablejs))
|
38 |
+
* Typescript definitions at `@types/sortablejs`
|
39 |
+
|
40 |
+
|
41 |
+
<br/>
|
42 |
+
|
43 |
+
|
44 |
+
### Articles
|
45 |
+
|
46 |
+
* [Dragging Multiple Items in Sortable](https://github.com/SortableJS/Sortable/wiki/Dragging-Multiple-Items-in-Sortable) (April 26, 2019)
|
47 |
+
* [Swap Thresholds and Direction](https://github.com/SortableJS/Sortable/wiki/Swap-Thresholds-and-Direction) (December 2, 2018)
|
48 |
+
* [Sortable v1.0 — New capabilities](https://github.com/SortableJS/Sortable/wiki/Sortable-v1.0-—-New-capabilities/) (December 22, 2014)
|
49 |
+
* [Sorting with the help of HTML5 Drag'n'Drop API](https://github.com/SortableJS/Sortable/wiki/Sorting-with-the-help-of-HTML5-Drag'n'Drop-API/) (December 23, 2013)
|
50 |
+
|
51 |
+
<br/>
|
52 |
+
|
53 |
+
### Getting Started
|
54 |
+
|
55 |
+
Install with NPM:
|
56 |
+
```bash
|
57 |
+
$ npm install sortablejs --save
|
58 |
+
```
|
59 |
+
|
60 |
+
Install with Bower:
|
61 |
+
```bash
|
62 |
+
$ bower install --save sortablejs
|
63 |
+
```
|
64 |
+
|
65 |
+
Import into your project:
|
66 |
+
```js
|
67 |
+
// Default SortableJS
|
68 |
+
import Sortable from 'sortablejs';
|
69 |
+
|
70 |
+
// Core SortableJS (without default plugins)
|
71 |
+
import Sortable from 'sortablejs/modular/sortable.core.esm.js';
|
72 |
+
|
73 |
+
// Complete SortableJS (with all plugins)
|
74 |
+
import Sortable from 'sortablejs/modular/sortable.complete.esm.js';
|
75 |
+
```
|
76 |
+
|
77 |
+
Cherrypick plugins:
|
78 |
+
```js
|
79 |
+
// Cherrypick extra plugins
|
80 |
+
import Sortable, { MultiDrag, Swap } from 'sortablejs';
|
81 |
+
|
82 |
+
Sortable.mount(new MultiDrag(), new Swap());
|
83 |
+
|
84 |
+
|
85 |
+
// Cherrypick default plugins
|
86 |
+
import Sortable, { AutoScroll } from 'sortablejs/modular/sortable.core.esm.js';
|
87 |
+
|
88 |
+
Sortable.mount(new AutoScroll());
|
89 |
+
```
|
90 |
+
|
91 |
+
|
92 |
+
---
|
93 |
+
|
94 |
+
|
95 |
+
### Usage
|
96 |
+
```html
|
97 |
+
<ul id="items">
|
98 |
+
<li>item 1</li>
|
99 |
+
<li>item 2</li>
|
100 |
+
<li>item 3</li>
|
101 |
+
</ul>
|
102 |
+
```
|
103 |
+
|
104 |
+
```js
|
105 |
+
var el = document.getElementById('items');
|
106 |
+
var sortable = Sortable.create(el);
|
107 |
+
```
|
108 |
+
|
109 |
+
You can use any element for the list and its elements, not just `ul`/`li`. Here is an [example with `div`s](https://jsbin.com/visimub/edit?html,js,output).
|
110 |
+
|
111 |
+
|
112 |
+
---
|
113 |
+
|
114 |
+
|
115 |
+
### Options
|
116 |
+
```js
|
117 |
+
var sortable = new Sortable(el, {
|
118 |
+
group: "name", // or { name: "...", pull: [true, false, 'clone', array], put: [true, false, array] }
|
119 |
+
sort: true, // sorting inside list
|
120 |
+
delay: 0, // time in milliseconds to define when the sorting should start
|
121 |
+
delayOnTouchOnly: false, // only delay if user is using touch
|
122 |
+
touchStartThreshold: 0, // px, how many pixels the point should move before cancelling a delayed drag event
|
123 |
+
disabled: false, // Disables the sortable if set to true.
|
124 |
+
store: null, // @see Store
|
125 |
+
animation: 150, // ms, animation speed moving items when sorting, `0` — without animation
|
126 |
+
easing: "cubic-bezier(1, 0, 0, 1)", // Easing for animation. Defaults to null. See https://easings.net/ for examples.
|
127 |
+
handle: ".my-handle", // Drag handle selector within list items
|
128 |
+
filter: ".ignore-elements", // Selectors that do not lead to dragging (String or Function)
|
129 |
+
preventOnFilter: true, // Call `event.preventDefault()` when triggered `filter`
|
130 |
+
draggable: ".item", // Specifies which items inside the element should be draggable
|
131 |
+
|
132 |
+
dataIdAttr: 'data-id', // HTML attribute that is used by the `toArray()` method
|
133 |
+
|
134 |
+
ghostClass: "sortable-ghost", // Class name for the drop placeholder
|
135 |
+
chosenClass: "sortable-chosen", // Class name for the chosen item
|
136 |
+
dragClass: "sortable-drag", // Class name for the dragging item
|
137 |
+
|
138 |
+
swapThreshold: 1, // Threshold of the swap zone
|
139 |
+
invertSwap: false, // Will always use inverted swap zone if set to true
|
140 |
+
invertedSwapThreshold: 1, // Threshold of the inverted swap zone (will be set to swapThreshold value by default)
|
141 |
+
direction: 'horizontal', // Direction of Sortable (will be detected automatically if not given)
|
142 |
+
|
143 |
+
forceFallback: false, // ignore the HTML5 DnD behaviour and force the fallback to kick in
|
144 |
+
|
145 |
+
fallbackClass: "sortable-fallback", // Class name for the cloned DOM Element when using forceFallback
|
146 |
+
fallbackOnBody: false, // Appends the cloned DOM Element into the Document's Body
|
147 |
+
fallbackTolerance: 0, // Specify in pixels how far the mouse should move before it's considered as a drag.
|
148 |
+
|
149 |
+
dragoverBubble: false,
|
150 |
+
removeCloneOnHide: true, // Remove the clone element when it is not showing, rather than just hiding it
|
151 |
+
emptyInsertThreshold: 5, // px, distance mouse must be from empty sortable to insert drag element into it
|
152 |
+
|
153 |
+
|
154 |
+
setData: function (/** DataTransfer */dataTransfer, /** HTMLElement*/dragEl) {
|
155 |
+
dataTransfer.setData('Text', dragEl.textContent); // `dataTransfer` object of HTML5 DragEvent
|
156 |
+
},
|
157 |
+
|
158 |
+
// Element is chosen
|
159 |
+
onChoose: function (/**Event*/evt) {
|
160 |
+
evt.oldIndex; // element index within parent
|
161 |
+
},
|
162 |
+
|
163 |
+
// Element is unchosen
|
164 |
+
onUnchoose: function(/**Event*/evt) {
|
165 |
+
// same properties as onEnd
|
166 |
+
},
|
167 |
+
|
168 |
+
// Element dragging started
|
169 |
+
onStart: function (/**Event*/evt) {
|
170 |
+
evt.oldIndex; // element index within parent
|
171 |
+
},
|
172 |
+
|
173 |
+
// Element dragging ended
|
174 |
+
onEnd: function (/**Event*/evt) {
|
175 |
+
var itemEl = evt.item; // dragged HTMLElement
|
176 |
+
evt.to; // target list
|
177 |
+
evt.from; // previous list
|
178 |
+
evt.oldIndex; // element's old index within old parent
|
179 |
+
evt.newIndex; // element's new index within new parent
|
180 |
+
evt.oldDraggableIndex; // element's old index within old parent, only counting draggable elements
|
181 |
+
evt.newDraggableIndex; // element's new index within new parent, only counting draggable elements
|
182 |
+
evt.clone // the clone element
|
183 |
+
evt.pullMode; // when item is in another sortable: `"clone"` if cloning, `true` if moving
|
184 |
+
},
|
185 |
+
|
186 |
+
// Element is dropped into the list from another list
|
187 |
+
onAdd: function (/**Event*/evt) {
|
188 |
+
// same properties as onEnd
|
189 |
+
},
|
190 |
+
|
191 |
+
// Changed sorting within list
|
192 |
+
onUpdate: function (/**Event*/evt) {
|
193 |
+
// same properties as onEnd
|
194 |
+
},
|
195 |
+
|
196 |
+
// Called by any change to the list (add / update / remove)
|
197 |
+
onSort: function (/**Event*/evt) {
|
198 |
+
// same properties as onEnd
|
199 |
+
},
|
200 |
+
|
201 |
+
// Element is removed from the list into another list
|
202 |
+
onRemove: function (/**Event*/evt) {
|
203 |
+
// same properties as onEnd
|
204 |
+
},
|
205 |
+
|
206 |
+
// Attempt to drag a filtered element
|
207 |
+
onFilter: function (/**Event*/evt) {
|
208 |
+
var itemEl = evt.item; // HTMLElement receiving the `mousedown|tapstart` event.
|
209 |
+
},
|
210 |
+
|
211 |
+
// Event when you move an item in the list or between lists
|
212 |
+
onMove: function (/**Event*/evt, /**Event*/originalEvent) {
|
213 |
+
// Example: https://jsbin.com/nawahef/edit?js,output
|
214 |
+
evt.dragged; // dragged HTMLElement
|
215 |
+
evt.draggedRect; // DOMRect {left, top, right, bottom}
|
216 |
+
evt.related; // HTMLElement on which have guided
|
217 |
+
evt.relatedRect; // DOMRect
|
218 |
+
evt.willInsertAfter; // Boolean that is true if Sortable will insert drag element after target by default
|
219 |
+
originalEvent.clientY; // mouse position
|
220 |
+
// return false; — for cancel
|
221 |
+
// return -1; — insert before target
|
222 |
+
// return 1; — insert after target
|
223 |
+
// return true; — keep default insertion point based on the direction
|
224 |
+
// return void; — keep default insertion point based on the direction
|
225 |
+
},
|
226 |
+
|
227 |
+
// Called when creating a clone of element
|
228 |
+
onClone: function (/**Event*/evt) {
|
229 |
+
var origEl = evt.item;
|
230 |
+
var cloneEl = evt.clone;
|
231 |
+
},
|
232 |
+
|
233 |
+
// Called when dragging element changes position
|
234 |
+
onChange: function(/**Event*/evt) {
|
235 |
+
evt.newIndex // most likely why this event is used is to get the dragging element's current index
|
236 |
+
// same properties as onEnd
|
237 |
+
}
|
238 |
+
});
|
239 |
+
```
|
240 |
+
|
241 |
+
|
242 |
+
---
|
243 |
+
|
244 |
+
|
245 |
+
#### `group` option
|
246 |
+
To drag elements from one list into another, both lists must have the same `group` value.
|
247 |
+
You can also define whether lists can give away, give and keep a copy (`clone`), and receive elements.
|
248 |
+
|
249 |
+
* name: `String` — group name
|
250 |
+
* pull: `true|false|["foo", "bar"]|'clone'|function` — ability to move from the list. `clone` — copy the item, rather than move. Or an array of group names which the elements may be put in. Defaults to `true`.
|
251 |
+
* put: `true|false|["baz", "qux"]|function` — whether elements can be added from other lists, or an array of group names from which elements can be added.
|
252 |
+
* revertClone: `boolean` — revert cloned element to initial position after moving to a another list.
|
253 |
+
|
254 |
+
|
255 |
+
Demo:
|
256 |
+
- https://jsbin.com/hijetos/edit?js,output
|
257 |
+
- https://jsbin.com/nacoyah/edit?js,output — use of complex logic in the `pull` and` put`
|
258 |
+
- https://jsbin.com/bifuyab/edit?js,output — use `revertClone: true`
|
259 |
+
|
260 |
+
|
261 |
+
---
|
262 |
+
|
263 |
+
|
264 |
+
#### `sort` option
|
265 |
+
Allow sorting inside list.
|
266 |
+
|
267 |
+
Demo: https://jsbin.com/jayedig/edit?js,output
|
268 |
+
|
269 |
+
|
270 |
+
---
|
271 |
+
|
272 |
+
|
273 |
+
#### `delay` option
|
274 |
+
Time in milliseconds to define when the sorting should start.
|
275 |
+
Unfortunately, due to browser restrictions, delaying is not possible on IE or Edge with native drag & drop.
|
276 |
+
|
277 |
+
Demo: https://jsbin.com/zosiwah/edit?js,output
|
278 |
+
|
279 |
+
|
280 |
+
---
|
281 |
+
|
282 |
+
|
283 |
+
#### `delayOnTouchOnly` option
|
284 |
+
Whether or not the delay should be applied only if the user is using touch (eg. on a mobile device). No delay will be applied in any other case. Defaults to `false`.
|
285 |
+
|
286 |
+
|
287 |
+
---
|
288 |
+
|
289 |
+
|
290 |
+
#### `swapThreshold` option
|
291 |
+
Percentage of the target that the swap zone will take up, as a float between `0` and `1`.
|
292 |
+
|
293 |
+
[Read more](https://github.com/SortableJS/Sortable/wiki/Swap-Thresholds-and-Direction#swap-threshold)
|
294 |
+
|
295 |
+
Demo: http://sortablejs.github.io/Sortable#thresholds
|
296 |
+
|
297 |
+
|
298 |
+
---
|
299 |
+
|
300 |
+
|
301 |
+
#### `invertSwap` option
|
302 |
+
Set to `true` to set the swap zone to the sides of the target, for the effect of sorting "in between" items.
|
303 |
+
|
304 |
+
[Read more](https://github.com/SortableJS/Sortable/wiki/Swap-Thresholds-and-Direction#forcing-inverted-swap-zone)
|
305 |
+
|
306 |
+
Demo: http://sortablejs.github.io/Sortable#thresholds
|
307 |
+
|
308 |
+
|
309 |
+
---
|
310 |
+
|
311 |
+
|
312 |
+
#### `invertedSwapThreshold` option
|
313 |
+
Percentage of the target that the inverted swap zone will take up, as a float between `0` and `1`. If not given, will default to `swapThreshold`.
|
314 |
+
|
315 |
+
[Read more](https://github.com/SortableJS/Sortable/wiki/Swap-Thresholds-and-Direction#dealing-with-swap-glitching)
|
316 |
+
|
317 |
+
|
318 |
+
---
|
319 |
+
|
320 |
+
|
321 |
+
#### `direction` option
|
322 |
+
Direction that the Sortable should sort in. Can be set to `'vertical'`, `'horizontal'`, or a function, which will be called whenever a target is dragged over. Must return `'vertical'` or `'horizontal'`.
|
323 |
+
|
324 |
+
[Read more](https://github.com/SortableJS/Sortable/wiki/Swap-Thresholds-and-Direction#direction)
|
325 |
+
|
326 |
+
|
327 |
+
Example of direction detection for vertical list that includes full column and half column elements:
|
328 |
+
|
329 |
+
```js
|
330 |
+
Sortable.create(el, {
|
331 |
+
direction: function(evt, target, dragEl) {
|
332 |
+
if (target !== null && target.className.includes('half-column') && dragEl.className.includes('half-column')) {
|
333 |
+
return 'horizontal';
|
334 |
+
}
|
335 |
+
return 'vertical';
|
336 |
+
}
|
337 |
+
});
|
338 |
+
```
|
339 |
+
|
340 |
+
|
341 |
+
---
|
342 |
+
|
343 |
+
|
344 |
+
#### `touchStartThreshold` option
|
345 |
+
This option is similar to `fallbackTolerance` option.
|
346 |
+
|
347 |
+
When the `delay` option is set, some phones with very sensitive touch displays like the Samsung Galaxy S8 will fire
|
348 |
+
unwanted touchmove events even when your finger is not moving, resulting in the sort not triggering.
|
349 |
+
|
350 |
+
This option sets the minimum pointer movement that must occur before the delayed sorting is cancelled.
|
351 |
+
|
352 |
+
Values between 3 to 5 are good.
|
353 |
+
|
354 |
+
|
355 |
+
---
|
356 |
+
|
357 |
+
|
358 |
+
#### `disabled` options
|
359 |
+
Disables the sortable if set to `true`.
|
360 |
+
|
361 |
+
Demo: https://jsbin.com/sewokud/edit?js,output
|
362 |
+
|
363 |
+
```js
|
364 |
+
var sortable = Sortable.create(list);
|
365 |
+
|
366 |
+
document.getElementById("switcher").onclick = function () {
|
367 |
+
var state = sortable.option("disabled"); // get
|
368 |
+
|
369 |
+
sortable.option("disabled", !state); // set
|
370 |
+
};
|
371 |
+
```
|
372 |
+
|
373 |
+
|
374 |
+
---
|
375 |
+
|
376 |
+
|
377 |
+
#### `handle` option
|
378 |
+
To make list items draggable, Sortable disables text selection by the user.
|
379 |
+
That's not always desirable. To allow text selection, define a drag handler,
|
380 |
+
which is an area of every list element that allows it to be dragged around.
|
381 |
+
|
382 |
+
Demo: https://jsbin.com/numakuh/edit?html,js,output
|
383 |
+
|
384 |
+
```js
|
385 |
+
Sortable.create(el, {
|
386 |
+
handle: ".my-handle"
|
387 |
+
});
|
388 |
+
```
|
389 |
+
|
390 |
+
```html
|
391 |
+
<ul>
|
392 |
+
<li><span class="my-handle">::</span> list item text one
|
393 |
+
<li><span class="my-handle">::</span> list item text two
|
394 |
+
</ul>
|
395 |
+
```
|
396 |
+
|
397 |
+
```css
|
398 |
+
.my-handle {
|
399 |
+
cursor: move;
|
400 |
+
cursor: -webkit-grabbing;
|
401 |
+
}
|
402 |
+
```
|
403 |
+
|
404 |
+
|
405 |
+
---
|
406 |
+
|
407 |
+
|
408 |
+
#### `filter` option
|
409 |
+
|
410 |
+
|
411 |
+
```js
|
412 |
+
Sortable.create(list, {
|
413 |
+
filter: ".js-remove, .js-edit",
|
414 |
+
onFilter: function (evt) {
|
415 |
+
var item = evt.item,
|
416 |
+
ctrl = evt.target;
|
417 |
+
|
418 |
+
if (Sortable.utils.is(ctrl, ".js-remove")) { // Click on remove button
|
419 |
+
item.parentNode.removeChild(item); // remove sortable item
|
420 |
+
}
|
421 |
+
else if (Sortable.utils.is(ctrl, ".js-edit")) { // Click on edit link
|
422 |
+
// ...
|
423 |
+
}
|
424 |
+
}
|
425 |
+
})
|
426 |
+
```
|
427 |
+
|
428 |
+
|
429 |
+
---
|
430 |
+
|
431 |
+
|
432 |
+
#### `ghostClass` option
|
433 |
+
Class name for the drop placeholder (default `sortable-ghost`).
|
434 |
+
|
435 |
+
Demo: https://jsbin.com/henuyiw/edit?css,js,output
|
436 |
+
|
437 |
+
```css
|
438 |
+
.ghost {
|
439 |
+
opacity: 0.4;
|
440 |
+
}
|
441 |
+
```
|
442 |
+
|
443 |
+
```js
|
444 |
+
Sortable.create(list, {
|
445 |
+
ghostClass: "ghost"
|
446 |
+
});
|
447 |
+
```
|
448 |
+
|
449 |
+
|
450 |
+
---
|
451 |
+
|
452 |
+
|
453 |
+
#### `chosenClass` option
|
454 |
+
Class name for the chosen item (default `sortable-chosen`).
|
455 |
+
|
456 |
+
Demo: https://jsbin.com/hoqufox/edit?css,js,output
|
457 |
+
|
458 |
+
```css
|
459 |
+
.chosen {
|
460 |
+
color: #fff;
|
461 |
+
background-color: #c00;
|
462 |
+
}
|
463 |
+
```
|
464 |
+
|
465 |
+
```js
|
466 |
+
Sortable.create(list, {
|
467 |
+
delay: 500,
|
468 |
+
chosenClass: "chosen"
|
469 |
+
});
|
470 |
+
```
|
471 |
+
|
472 |
+
|
473 |
+
---
|
474 |
+
|
475 |
+
|
476 |
+
#### `forceFallback` option
|
477 |
+
If set to `true`, the Fallback for non HTML5 Browser will be used, even if we are using an HTML5 Browser.
|
478 |
+
This gives us the possibility to test the behaviour for older Browsers even in newer Browser, or make the Drag 'n Drop feel more consistent between Desktop , Mobile and old Browsers.
|
479 |
+
|
480 |
+
On top of that, the Fallback always generates a copy of that DOM Element and appends the class `fallbackClass` defined in the options. This behaviour controls the look of this 'dragged' Element.
|
481 |
+
|
482 |
+
Demo: https://jsbin.com/sibiput/edit?html,css,js,output
|
483 |
+
|
484 |
+
|
485 |
+
---
|
486 |
+
|
487 |
+
|
488 |
+
#### `fallbackTolerance` option
|
489 |
+
Emulates the native drag threshold. Specify in pixels how far the mouse should move before it's considered as a drag.
|
490 |
+
Useful if the items are also clickable like in a list of links.
|
491 |
+
|
492 |
+
When the user clicks inside a sortable element, it's not uncommon for your hand to move a little between the time you press and the time you release.
|
493 |
+
Dragging only starts if you move the pointer past a certain tolerance, so that you don't accidentally start dragging every time you click.
|
494 |
+
|
495 |
+
3 to 5 are probably good values.
|
496 |
+
|
497 |
+
|
498 |
+
---
|
499 |
+
|
500 |
+
|
501 |
+
#### `dragoverBubble` option
|
502 |
+
If set to `true`, the dragover event will bubble to parent sortables. Works on both fallback and native dragover event.
|
503 |
+
By default, it is false, but Sortable will only stop bubbling the event once the element has been inserted into a parent Sortable, or *can* be inserted into a parent Sortable, but isn't at that specific time (due to animation, etc).
|
504 |
+
|
505 |
+
Since 1.8.0, you will probably want to leave this option as false. Before 1.8.0, it may need to be `true` for nested sortables to work.
|
506 |
+
|
507 |
+
|
508 |
+
---
|
509 |
+
|
510 |
+
|
511 |
+
#### `removeCloneOnHide` option
|
512 |
+
If set to `false`, the clone is hidden by having it's CSS `display` property set to `none`.
|
513 |
+
By default, this option is `true`, meaning Sortable will remove the cloned element from the DOM when it is supposed to be hidden.
|
514 |
+
|
515 |
+
|
516 |
+
---
|
517 |
+
|
518 |
+
|
519 |
+
#### `emptyInsertThreshold` option
|
520 |
+
The distance (in pixels) the mouse must be from an empty sortable while dragging for the drag element to be inserted into that sortable. Defaults to `5`. Set to `0` to disable this feature.
|
521 |
+
|
522 |
+
Demo: https://jsbin.com/becavoj/edit?js,output
|
523 |
+
|
524 |
+
An alternative to this option would be to set a padding on your list when it is empty.
|
525 |
+
|
526 |
+
For example:
|
527 |
+
```css
|
528 |
+
ul:empty {
|
529 |
+
padding-bottom: 20px;
|
530 |
+
}
|
531 |
+
```
|
532 |
+
|
533 |
+
Warning: For `:empty` to work, it must have no node inside (even text one).
|
534 |
+
|
535 |
+
Demo:
|
536 |
+
https://jsbin.com/yunakeg/edit?html,css,js,output
|
537 |
+
|
538 |
+
---
|
539 |
+
### Event object ([demo](https://jsbin.com/fogujiv/edit?js,output))
|
540 |
+
|
541 |
+
- to:`HTMLElement` — list, in which moved element
|
542 |
+
- from:`HTMLElement` — previous list
|
543 |
+
- item:`HTMLElement` — dragged element
|
544 |
+
- clone:`HTMLElement`
|
545 |
+
- oldIndex:`Number|undefined` — old index within parent
|
546 |
+
- newIndex:`Number|undefined` — new index within parent
|
547 |
+
- oldDraggableIndex: `Number|undefined` — old index within parent, only counting draggable elements
|
548 |
+
- newDraggableIndex: `Number|undefined` — new index within parent, only counting draggable elements
|
549 |
+
- pullMode:`String|Boolean|undefined` — Pull mode if dragging into another sortable (`"clone"`, `true`, or `false`), otherwise undefined
|
550 |
+
|
551 |
+
|
552 |
+
#### `move` event object
|
553 |
+
- to:`HTMLElement`
|
554 |
+
- from:`HTMLElement`
|
555 |
+
- dragged:`HTMLElement`
|
556 |
+
- draggedRect:`DOMRect`
|
557 |
+
- related:`HTMLElement` — element on which have guided
|
558 |
+
- relatedRect:`DOMRect`
|
559 |
+
- willInsertAfter:`Boolean` — `true` if will element be inserted after target (or `false` if before)
|
560 |
+
|
561 |
+
|
562 |
+
---
|
563 |
+
|
564 |
+
|
565 |
+
### Methods
|
566 |
+
|
567 |
+
|
568 |
+
##### option(name:`String`[, value:`*`]):`*`
|
569 |
+
Get or set the option.
|
570 |
+
|
571 |
+
|
572 |
+
|
573 |
+
##### closest(el:`HTMLElement`[, selector:`String`]):`HTMLElement|null`
|
574 |
+
For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.
|
575 |
+
|
576 |
+
|
577 |
+
##### toArray():`String[]`
|
578 |
+
Serializes the sortable's item `data-id`'s (`dataIdAttr` option) into an array of string.
|
579 |
+
|
580 |
+
|
581 |
+
##### sort(order:`String[]`, useAnimation:`Boolean`)
|
582 |
+
Sorts the elements according to the array.
|
583 |
+
|
584 |
+
```js
|
585 |
+
var order = sortable.toArray();
|
586 |
+
sortable.sort(order.reverse(), true); // apply
|
587 |
+
```
|
588 |
+
|
589 |
+
|
590 |
+
##### save()
|
591 |
+
Save the current sorting (see [store](#store))
|
592 |
+
|
593 |
+
|
594 |
+
##### destroy()
|
595 |
+
Removes the sortable functionality completely.
|
596 |
+
|
597 |
+
|
598 |
+
---
|
599 |
+
|
600 |
+
|
601 |
+
<a name="store"></a>
|
602 |
+
### Store
|
603 |
+
Saving and restoring of the sort.
|
604 |
+
|
605 |
+
```html
|
606 |
+
<ul>
|
607 |
+
<li data-id="1">order</li>
|
608 |
+
<li data-id="2">save</li>
|
609 |
+
<li data-id="3">restore</li>
|
610 |
+
</ul>
|
611 |
+
```
|
612 |
+
|
613 |
+
```js
|
614 |
+
Sortable.create(el, {
|
615 |
+
group: "localStorage-example",
|
616 |
+
store: {
|
617 |
+
/**
|
618 |
+
* Get the order of elements. Called once during initialization.
|
619 |
+
* @param {Sortable} sortable
|
620 |
+
* @returns {Array}
|
621 |
+
*/
|
622 |
+
get: function (sortable) {
|
623 |
+
var order = localStorage.getItem(sortable.options.group.name);
|
624 |
+
return order ? order.split('|') : [];
|
625 |
+
},
|
626 |
+
|
627 |
+
/**
|
628 |
+
* Save the order of elements. Called onEnd (when the item is dropped).
|
629 |
+
* @param {Sortable} sortable
|
630 |
+
*/
|
631 |
+
set: function (sortable) {
|
632 |
+
var order = sortable.toArray();
|
633 |
+
localStorage.setItem(sortable.options.group.name, order.join('|'));
|
634 |
+
}
|
635 |
+
}
|
636 |
+
})
|
637 |
+
```
|
638 |
+
|
639 |
+
|
640 |
+
---
|
641 |
+
|
642 |
+
|
643 |
+
<a name="bs"></a>
|
644 |
+
### Bootstrap
|
645 |
+
Demo: https://jsbin.com/visimub/edit?html,js,output
|
646 |
+
|
647 |
+
```html
|
648 |
+
<!-- Latest compiled and minified CSS -->
|
649 |
+
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css"/>
|
650 |
+
|
651 |
+
|
652 |
+
<!-- Latest Sortable -->
|
653 |
+
<script src="http://SortableJS.github.io/Sortable/Sortable.js"></script>
|
654 |
+
|
655 |
+
|
656 |
+
<!-- Simple List -->
|
657 |
+
<ul id="simpleList" class="list-group">
|
658 |
+
<li class="list-group-item">This is <a href="http://SortableJS.github.io/Sortable/">Sortable</a></li>
|
659 |
+
<li class="list-group-item">It works with Bootstrap...</li>
|
660 |
+
<li class="list-group-item">...out of the box.</li>
|
661 |
+
<li class="list-group-item">It has support for touch devices.</li>
|
662 |
+
<li class="list-group-item">Just drag some elements around.</li>
|
663 |
+
</ul>
|
664 |
+
|
665 |
+
<script>
|
666 |
+
// Simple list
|
667 |
+
Sortable.create(simpleList, { /* options */ });
|
668 |
+
</script>
|
669 |
+
```
|
670 |
+
|
671 |
+
|
672 |
+
---
|
673 |
+
|
674 |
+
|
675 |
+
### Static methods & properties
|
676 |
+
|
677 |
+
|
678 |
+
|
679 |
+
##### Sortable.create(el:`HTMLElement`[, options:`Object`]):`Sortable`
|
680 |
+
Create new instance.
|
681 |
+
|
682 |
+
|
683 |
+
---
|
684 |
+
|
685 |
+
|
686 |
+
##### Sortable.active:`Sortable`
|
687 |
+
The active Sortable instance.
|
688 |
+
|
689 |
+
|
690 |
+
---
|
691 |
+
|
692 |
+
|
693 |
+
##### Sortable.dragged:`HTMLElement`
|
694 |
+
The element being dragged.
|
695 |
+
|
696 |
+
|
697 |
+
---
|
698 |
+
|
699 |
+
|
700 |
+
##### Sortable.ghost:`HTMLElement`
|
701 |
+
The ghost element.
|
702 |
+
|
703 |
+
|
704 |
+
---
|
705 |
+
|
706 |
+
|
707 |
+
##### Sortable.clone:`HTMLElement`
|
708 |
+
The clone element.
|
709 |
+
|
710 |
+
|
711 |
+
---
|
712 |
+
|
713 |
+
|
714 |
+
##### Sortable.get(element:`HTMLElement`):`Sortable`
|
715 |
+
Get the Sortable instance on an element.
|
716 |
+
|
717 |
+
|
718 |
+
---
|
719 |
+
|
720 |
+
|
721 |
+
##### Sortable.mount(plugin:`...SortablePlugin|SortablePlugin[]`)
|
722 |
+
Mounts a plugin to Sortable.
|
723 |
+
|
724 |
+
|
725 |
+
---
|
726 |
+
|
727 |
+
|
728 |
+
##### Sortable.utils
|
729 |
+
* on(el`:HTMLElement`, event`:String`, fn`:Function`) — attach an event handler function
|
730 |
+
* off(el`:HTMLElement`, event`:String`, fn`:Function`) — remove an event handler
|
731 |
+
* css(el`:HTMLElement`)`:Object` — get the values of all the CSS properties
|
732 |
+
* css(el`:HTMLElement`, prop`:String`)`:Mixed` — get the value of style properties
|
733 |
+
* css(el`:HTMLElement`, prop`:String`, value`:String`) — set one CSS properties
|
734 |
+
* css(el`:HTMLElement`, props`:Object`) — set more CSS properties
|
735 |
+
* find(ctx`:HTMLElement`, tagName`:String`[, iterator`:Function`])`:Array` — get elements by tag name
|
736 |
+
* bind(ctx`:Mixed`, fn`:Function`)`:Function` — Takes a function and returns a new one that will always have a particular context
|
737 |
+
* is(el`:HTMLElement`, selector`:String`)`:Boolean` — check the current matched set of elements against a selector
|
738 |
+
* closest(el`:HTMLElement`, selector`:String`[, ctx`:HTMLElement`])`:HTMLElement|Null` — for each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree
|
739 |
+
* clone(el`:HTMLElement`)`:HTMLElement` — create a deep copy of the set of matched elements
|
740 |
+
* toggleClass(el`:HTMLElement`, name`:String`, state`:Boolean`) — add or remove one classes from each element
|
741 |
+
* detectDirection(el`:HTMLElement`)`:String` — automatically detect the [direction](https://github.com/SortableJS/Sortable/wiki/Swap-Thresholds-and-Direction#direction) of the element as either `'vertical'` or `'horizontal'`
|
742 |
+
|
743 |
+
|
744 |
+
---
|
745 |
+
|
746 |
+
|
747 |
+
### Plugins
|
748 |
+
#### Extra Plugins (included in complete versions)
|
749 |
+
- [MultiDrag](https://github.com/SortableJS/Sortable/tree/master/plugins/MultiDrag)
|
750 |
+
- [Swap](https://github.com/SortableJS/Sortable/tree/master/plugins/Swap)
|
751 |
+
|
752 |
+
#### Default Plugins (included in default versions)
|
753 |
+
- [AutoScroll](https://github.com/SortableJS/Sortable/tree/master/plugins/AutoScroll)
|
754 |
+
- [OnSpill](https://github.com/SortableJS/Sortable/tree/master/plugins/OnSpill)
|
755 |
+
|
756 |
+
|
757 |
+
---
|
758 |
+
|
759 |
+
|
760 |
+
<a name="cdn"></a>
|
761 |
+
### CDN
|
762 |
+
|
763 |
+
```html
|
764 |
+
<!-- jsDelivr :: Sortable :: Latest (https://www.jsdelivr.com/package/npm/sortablejs) -->
|
765 |
+
<script src="https://cdn.jsdelivr.net/npm/sortablejs@latest/Sortable.min.js"></script>
|
766 |
+
```
|
767 |
+
|
768 |
+
|
769 |
+
---
|
770 |
+
|
771 |
+
|
772 |
+
### Contributing (Issue/PR)
|
773 |
+
|
774 |
+
Please, [read this](CONTRIBUTING.md).
|
775 |
+
|
776 |
+
|
777 |
+
---
|
778 |
+
|
779 |
+
|
780 |
+
## Contributors
|
781 |
+
|
782 |
+
### Code Contributors
|
783 |
+
|
784 |
+
This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
|
785 |
+
<a href="https://github.com/SortableJS/Sortable/graphs/contributors"><img src="https://opencollective.com/Sortable/contributors.svg?width=890&button=false" /></a>
|
786 |
+
|
787 |
+
### Financial Contributors
|
788 |
+
|
789 |
+
Become a financial contributor and help us sustain our community. [[Contribute](https://opencollective.com/Sortable/contribute)]
|
790 |
+
|
791 |
+
#### Individuals
|
792 |
+
|
793 |
+
<a href="https://opencollective.com/Sortable"><img src="https://opencollective.com/Sortable/individuals.svg?width=890"></a>
|
794 |
+
|
795 |
+
#### Organizations
|
796 |
+
|
797 |
+
Support this project with your organization. Your logo will show up here with a link to your website. [[Contribute](https://opencollective.com/Sortable/contribute)]
|
798 |
+
|
799 |
+
<a href="https://opencollective.com/Sortable/organization/0/website"><img src="https://opencollective.com/Sortable/organization/0/avatar.svg"></a>
|
800 |
+
<a href="https://opencollective.com/Sortable/organization/1/website"><img src="https://opencollective.com/Sortable/organization/1/avatar.svg"></a>
|
801 |
+
<a href="https://opencollective.com/Sortable/organization/2/website"><img src="https://opencollective.com/Sortable/organization/2/avatar.svg"></a>
|
802 |
+
<a href="https://opencollective.com/Sortable/organization/3/website"><img src="https://opencollective.com/Sortable/organization/3/avatar.svg"></a>
|
803 |
+
<a href="https://opencollective.com/Sortable/organization/4/website"><img src="https://opencollective.com/Sortable/organization/4/avatar.svg"></a>
|
804 |
+
<a href="https://opencollective.com/Sortable/organization/5/website"><img src="https://opencollective.com/Sortable/organization/5/avatar.svg"></a>
|
805 |
+
<a href="https://opencollective.com/Sortable/organization/6/website"><img src="https://opencollective.com/Sortable/organization/6/avatar.svg"></a>
|
806 |
+
<a href="https://opencollective.com/Sortable/organization/7/website"><img src="https://opencollective.com/Sortable/organization/7/avatar.svg"></a>
|
807 |
+
<a href="https://opencollective.com/Sortable/organization/8/website"><img src="https://opencollective.com/Sortable/organization/8/avatar.svg"></a>
|
808 |
+
<a href="https://opencollective.com/Sortable/organization/9/website"><img src="https://opencollective.com/Sortable/organization/9/avatar.svg"></a>
|
809 |
+
|
810 |
+
## MIT LICENSE
|
811 |
+
Permission is hereby granted, free of charge, to any person obtaining
|
812 |
+
a copy of this software and associated documentation files (the
|
813 |
+
"Software"), to deal in the Software without restriction, including
|
814 |
+
without limitation the rights to use, copy, modify, merge, publish,
|
815 |
+
distribute, sublicense, and/or sell copies of the Software, and to
|
816 |
+
permit persons to whom the Software is furnished to do so, subject to
|
817 |
+
the following conditions:
|
818 |
+
|
819 |
+
The above copyright notice and this permission notice shall be
|
820 |
+
included in all copies or substantial portions of the Software.
|
821 |
+
|
822 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
823 |
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
824 |
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
825 |
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
826 |
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
827 |
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
828 |
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
app/extensions/fields/asset/sortablejs/index.html
ADDED
@@ -0,0 +1,460 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html>
|
3 |
+
<head>
|
4 |
+
<link rel="icon" type="image/png" href="st/og-image.png">
|
5 |
+
<title>SortableJS</title>
|
6 |
+
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
|
7 |
+
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
|
8 |
+
<link rel="stylesheet" type="text/css" href="st/theme.css">
|
9 |
+
|
10 |
+
<meta charset="utf-8"/>
|
11 |
+
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
|
12 |
+
<meta property="og:image" content="/st/og-image.png"/>
|
13 |
+
<meta name="keywords" content="sortable, reorder, list, javascript, html5, drag and drop, dnd, animation, groups, dnd, sortableJS"/>
|
14 |
+
<meta name="description" content="Sortable — is a JavaScript library for reorderable drag-and-drop lists on modern browsers and touch devices. No jQuery required. Supports Meteor, AngularJS, React, Polymer, Vue, Knockout and any CSS library, e.g. Bootstrap."/>
|
15 |
+
<meta name="viewport" content="width=device-width, initial-scale=0.5"/>
|
16 |
+
</head>
|
17 |
+
<body>
|
18 |
+
|
19 |
+
<a href="https://github.com/SortableJS/Sortable"><img style="position: fixed; top: 0; right: 0; border: 0; z-index:99999" src="https://s3.amazonaws.com/github/ribbons/forkme_right_gray_6d6d6d.png" alt="Fork me on GitHub"></a>
|
20 |
+
|
21 |
+
<div class="container">
|
22 |
+
<div class="text-center row header">
|
23 |
+
<img class="mx-auto d-block" src="st/og-image.png" style="max-width: 200px; max-height: 200px" />
|
24 |
+
<h1 class="col-12">SortableJS</h1>
|
25 |
+
<h3 class="col-12 text-center">JavaScript library for reorderable drag-and-drop lists</h3>
|
26 |
+
|
27 |
+
<div class="toc col-12 col-md-5 mt-3">
|
28 |
+
<h5>Features</h5>
|
29 |
+
<li><a href="#simple-list">Simple list</a></li>
|
30 |
+
<li><a href="#shared-lists">Shared lists</a></li>
|
31 |
+
<li><a href="#cloning">Cloning</a></li>
|
32 |
+
<li><a href="#sorting-disabled">Disabling sorting</a></li>
|
33 |
+
<li><a href="#handle">Handles</a></li>
|
34 |
+
<li><a href="#filter">Filter</a></li>
|
35 |
+
<li><a href="#thresholds">Thresholds</a></li>
|
36 |
+
<h5>Examples</h5>
|
37 |
+
<li><a href="#grid">Grid</a></li>
|
38 |
+
<li><a href="#nested">Nested sortables</a></li>
|
39 |
+
<h5>Plugins</h5>
|
40 |
+
<li><a href="#multi-drag">MultiDrag</a></li>
|
41 |
+
<li><a href="#swap">Swap</a></li>
|
42 |
+
<h5><a href="#comparisons">Comparisons</a></h5>
|
43 |
+
<h5><a href="#frameworks">Framework Support</a></h5>
|
44 |
+
</div>
|
45 |
+
</div>
|
46 |
+
|
47 |
+
<div class="row">
|
48 |
+
<h2 class="col-12">Features</h2>
|
49 |
+
</div>
|
50 |
+
<hr />
|
51 |
+
<div id="simple-list" class="row">
|
52 |
+
<h4 class="col-12">Simple list example</h4>
|
53 |
+
<div id="example1" class="list-group col">
|
54 |
+
<div class="list-group-item">Item 1</div>
|
55 |
+
<div class="list-group-item">Item 2</div>
|
56 |
+
<div class="list-group-item">Item 3</div>
|
57 |
+
<div class="list-group-item">Item 4</div>
|
58 |
+
<div class="list-group-item">Item 5</div>
|
59 |
+
<div class="list-group-item">Item 6</div>
|
60 |
+
</div>
|
61 |
+
<div style="padding: 0" class="col-12">
|
62 |
+
<pre class="prettyprint">new Sortable(example1, {
|
63 |
+
animation: 150,
|
64 |
+
ghostClass: 'blue-background-class'
|
65 |
+
});</pre>
|
66 |
+
</div>
|
67 |
+
</div>
|
68 |
+
<hr />
|
69 |
+
|
70 |
+
<div id="shared-lists" class="row">
|
71 |
+
<h4 class="col-12">Shared lists</h4>
|
72 |
+
<div id="example2-left" class="list-group col">
|
73 |
+
<div class="list-group-item">Item 1</div>
|
74 |
+
<div class="list-group-item">Item 2</div>
|
75 |
+
<div class="list-group-item">Item 3</div>
|
76 |
+
<div class="list-group-item">Item 4</div>
|
77 |
+
<div class="list-group-item">Item 5</div>
|
78 |
+
<div class="list-group-item">Item 6</div>
|
79 |
+
</div>
|
80 |
+
|
81 |
+
<div id="example2-right" class="list-group col">
|
82 |
+
<div class="list-group-item tinted">Item 1</div>
|
83 |
+
<div class="list-group-item tinted">Item 2</div>
|
84 |
+
<div class="list-group-item tinted">Item 3</div>
|
85 |
+
<div class="list-group-item tinted">Item 4</div>
|
86 |
+
<div class="list-group-item tinted">Item 5</div>
|
87 |
+
<div class="list-group-item tinted">Item 6</div>
|
88 |
+
</div>
|
89 |
+
<div style="padding: 0" class="col-12">
|
90 |
+
<pre class="prettyprint">new Sortable(example2Left, {
|
91 |
+
group: 'shared', // set both lists to same group
|
92 |
+
animation: 150
|
93 |
+
});
|
94 |
+
|
95 |
+
new Sortable(example2Right, {
|
96 |
+
group: 'shared',
|
97 |
+
animation: 150
|
98 |
+
});</pre>
|
99 |
+
</div>
|
100 |
+
</div>
|
101 |
+
<hr />
|
102 |
+
|
103 |
+
<div id="cloning" class="row">
|
104 |
+
<h4 class="col-12">Cloning</h4>
|
105 |
+
<p class="col-12">Try dragging from one list to another. The item you drag will be cloned and the clone will stay in the original list.</p>
|
106 |
+
<div id="example3-left" class="list-group col">
|
107 |
+
<div class="list-group-item">Item 1</div>
|
108 |
+
<div class="list-group-item">Item 2</div>
|
109 |
+
<div class="list-group-item">Item 3</div>
|
110 |
+
<div class="list-group-item">Item 4</div>
|
111 |
+
<div class="list-group-item">Item 5</div>
|
112 |
+
<div class="list-group-item">Item 6</div>
|
113 |
+
</div>
|
114 |
+
|
115 |
+
<div id="example3-right" class="list-group col">
|
116 |
+
<div class="list-group-item tinted">Item 1</div>
|
117 |
+
<div class="list-group-item tinted">Item 2</div>
|
118 |
+
<div class="list-group-item tinted">Item 3</div>
|
119 |
+
<div class="list-group-item tinted">Item 4</div>
|
120 |
+
<div class="list-group-item tinted">Item 5</div>
|
121 |
+
<div class="list-group-item tinted">Item 6</div>
|
122 |
+
</div>
|
123 |
+
<div style="padding: 0" class="col-12">
|
124 |
+
<pre class="prettyprint">new Sortable(example3Left, {
|
125 |
+
group: {
|
126 |
+
name: 'shared',
|
127 |
+
pull: 'clone' // To clone: set pull to 'clone'
|
128 |
+
},
|
129 |
+
animation: 150
|
130 |
+
});
|
131 |
+
|
132 |
+
new Sortable(example3Right, {
|
133 |
+
group: {
|
134 |
+
name: 'shared',
|
135 |
+
pull: 'clone'
|
136 |
+
},
|
137 |
+
animation: 150
|
138 |
+
});</pre>
|
139 |
+
</div>
|
140 |
+
</div>
|
141 |
+
<hr />
|
142 |
+
|
143 |
+
<div id="sorting-disabled" class="row">
|
144 |
+
<h4 class="col-12">Disabling Sorting</h4>
|
145 |
+
<p class="col-12">Try sorting the list on the left. It is not possible because it has it's <code>sort</code> option set to false. However, you can still drag from the list on the left to the list on the right.</p>
|
146 |
+
<div id="example4-left" class="list-group col">
|
147 |
+
<div class="list-group-item">Item 1</div>
|
148 |
+
<div class="list-group-item">Item 2</div>
|
149 |
+
<div class="list-group-item">Item 3</div>
|
150 |
+
<div class="list-group-item">Item 4</div>
|
151 |
+
<div class="list-group-item">Item 5</div>
|
152 |
+
<div class="list-group-item">Item 6</div>
|
153 |
+
</div>
|
154 |
+
|
155 |
+
<div id="example4-right" class="list-group col">
|
156 |
+
<div class="list-group-item tinted">Item 1</div>
|
157 |
+
<div class="list-group-item tinted">Item 2</div>
|
158 |
+
<div class="list-group-item tinted">Item 3</div>
|
159 |
+
<div class="list-group-item tinted">Item 4</div>
|
160 |
+
<div class="list-group-item tinted">Item 5</div>
|
161 |
+
<div class="list-group-item tinted">Item 6</div>
|
162 |
+
</div>
|
163 |
+
<div style="padding: 0" class="col-12">
|
164 |
+
<pre class="prettyprint">new Sortable(example4Left, {
|
165 |
+
group: {
|
166 |
+
name: 'shared',
|
167 |
+
pull: 'clone',
|
168 |
+
put: false // Do not allow items to be put into this list
|
169 |
+
},
|
170 |
+
animation: 150,
|
171 |
+
sort: false // To disable sorting: set sort to false
|
172 |
+
});
|
173 |
+
|
174 |
+
new Sortable(example4Right, {
|
175 |
+
group: 'shared',
|
176 |
+
animation: 150
|
177 |
+
});</pre>
|
178 |
+
</div>
|
179 |
+
</div>
|
180 |
+
<hr />
|
181 |
+
|
182 |
+
<div id="handle" class="row">
|
183 |
+
<h4 class="col-12">Handle</h4>
|
184 |
+
<div id="example5" class="list-group col">
|
185 |
+
<div class="list-group-item"><i class="fas fa-arrows-alt handle"></i> Item 1</div>
|
186 |
+
<div class="list-group-item"><i class="fas fa-arrows-alt handle"></i> Item 2</div>
|
187 |
+
<div class="list-group-item"><i class="fas fa-arrows-alt handle"></i> Item 3</div>
|
188 |
+
<div class="list-group-item"><i class="fas fa-arrows-alt handle"></i> Item 4</div>
|
189 |
+
<div class="list-group-item"><i class="fas fa-arrows-alt handle"></i> Item 5</div>
|
190 |
+
<div class="list-group-item"><i class="fas fa-arrows-alt handle"></i> Item 6</div>
|
191 |
+
</div>
|
192 |
+
<div style="padding: 0" class="col-12">
|
193 |
+
<pre class="prettyprint">new Sortable(example5, {
|
194 |
+
handle: '.handle', // handle's class
|
195 |
+
animation: 150
|
196 |
+
});</pre>
|
197 |
+
</div>
|
198 |
+
</div>
|
199 |
+
<hr />
|
200 |
+
|
201 |
+
<div id="filter" class="row">
|
202 |
+
<h4 class="col-12">Filter</h4>
|
203 |
+
<p class="col-12">Try dragging the item with a red background. It cannot be done, because that item is filtered out using the <code>filter</code> option.</p>
|
204 |
+
<div id="example6" class="list-group col">
|
205 |
+
<div class="list-group-item">Item 1</div>
|
206 |
+
<div class="list-group-item">Item 2</div>
|
207 |
+
<div class="list-group-item">Item 3</div>
|
208 |
+
<div class="list-group-item bg-danger filtered">Filtered</div>
|
209 |
+
<div class="list-group-item">Item 4</div>
|
210 |
+
<div class="list-group-item">Item 5</div>
|
211 |
+
</div>
|
212 |
+
<div style="padding: 0" class="col-12">
|
213 |
+
<pre class="prettyprint">new Sortable(example6, {
|
214 |
+
filter: '.filtered', // 'filtered' class is not draggable
|
215 |
+
animation: 150
|
216 |
+
});</pre>
|
217 |
+
</div>
|
218 |
+
</div>
|
219 |
+
<hr />
|
220 |
+
|
221 |
+
<div id="thresholds" class="row">
|
222 |
+
<h4 class="col-12">Thresholds</h4>
|
223 |
+
<p class="col-12">Try modifying the inputs below to affect the swap thresholds. You can see the swap zones of the squares colored in dark blue, while the "dead zones" (that do not cause a swap) are colored in light blue.</p>
|
224 |
+
<div id="example7" class="square-section col">
|
225 |
+
<div class="square">
|
226 |
+
<div style="display: none;" class="inverted-swap-threshold-indicator indicator-left"></div>
|
227 |
+
<div class="swap-threshold-indicator"></div>
|
228 |
+
<div style="display: none;" class="inverted-swap-threshold-indicator indicator-right"></div>
|
229 |
+
<div class="num-indicator">1</div>
|
230 |
+
</div><!--
|
231 |
+
--><div class="square">
|
232 |
+
<div style="display: none;" class="inverted-swap-threshold-indicator indicator-left"></div>
|
233 |
+
<div class="swap-threshold-indicator"></div>
|
234 |
+
<div style="display: none;" class="inverted-swap-threshold-indicator indicator-right"></div>
|
235 |
+
<div class="num-indicator">2</div>
|
236 |
+
</div>
|
237 |
+
</div>
|
238 |
+
<div class="col-12 input-section">
|
239 |
+
<form>
|
240 |
+
<div class="form-group row">
|
241 |
+
<label class="col-sm-2 col-form-label" for="example7SwapThresholdInput">Swap Threshold</label>
|
242 |
+
<div class="col-sm-8 col-form-label">
|
243 |
+
<input min="0" max="1" value="1" step="0.01" type="range" class="form-control-range" id="example7SwapThresholdInput">
|
244 |
+
</div>
|
245 |
+
</div>
|
246 |
+
<div class="form-group row">
|
247 |
+
<div class="col-sm-2">Invert Swap</div>
|
248 |
+
<div class="col-sm-10">
|
249 |
+
<div class="form-check">
|
250 |
+
<input class="form-check-input" type="checkbox" id="example7InvertSwapInput">
|
251 |
+
</div>
|
252 |
+
</div>
|
253 |
+
</div>
|
254 |
+
<div class="form-group row">
|
255 |
+
<label class="col-sm-2 col-form-label" for="example7DirectionInput">Direction</label>
|
256 |
+
<select class="col-sm-4 form-control" id="example7DirectionInput">
|
257 |
+
<option value="h" selected>Horizontal</option>
|
258 |
+
<option value="v">Vertical</option>
|
259 |
+
</select>
|
260 |
+
</div>
|
261 |
+
</form>
|
262 |
+
</div>
|
263 |
+
<div style="padding: 0" class="col-12">
|
264 |
+
<pre class="prettyprint">new Sortable(example7, {
|
265 |
+
swapThreshold: <span id="example7SwapThresholdCode">1</span>,<span id="example7InvertSwapCode" style="display: none">
|
266 |
+
invertSwap: true,</span>
|
267 |
+
animation: 150
|
268 |
+
});</pre>
|
269 |
+
</div>
|
270 |
+
</div>
|
271 |
+
|
272 |
+
|
273 |
+
<div class="row">
|
274 |
+
<h2 class="col-12">Examples</h2>
|
275 |
+
</div>
|
276 |
+
<hr />
|
277 |
+
|
278 |
+
<div id="grid" class="row">
|
279 |
+
<h4 class="col-12">Grid Example</h4>
|
280 |
+
<div id="gridDemo" class="col">
|
281 |
+
<div class="grid-square">Item 1</div><!--
|
282 |
+
--><div class="grid-square">Item 2</div><!--
|
283 |
+
--><div class="grid-square">Item 3</div><!--
|
284 |
+
--><div class="grid-square">Item 4</div><!--
|
285 |
+
--><div class="grid-square">Item 5</div><!--
|
286 |
+
--><div class="grid-square">Item 6</div><!--
|
287 |
+
--><div class="grid-square">Item 7</div><!--
|
288 |
+
--><div class="grid-square">Item 8</div><!--
|
289 |
+
--><div class="grid-square">Item 9</div><!--
|
290 |
+
--><div class="grid-square">Item 10</div><!--
|
291 |
+
--><div class="grid-square">Item 11</div><!--
|
292 |
+
--><div class="grid-square">Item 12</div><!--
|
293 |
+
--><div class="grid-square">Item 13</div><!--
|
294 |
+
--><div class="grid-square">Item 14</div><!--
|
295 |
+
--><div class="grid-square">Item 15</div><!--
|
296 |
+
--><div class="grid-square">Item 16</div><!--
|
297 |
+
--><div class="grid-square">Item 17</div><!--
|
298 |
+
--><div class="grid-square">Item 18</div><!--
|
299 |
+
--><div class="grid-square">Item 19</div><!--
|
300 |
+
--><div class="grid-square">Item 20</div>
|
301 |
+
</div>
|
302 |
+
</div>
|
303 |
+
<hr />
|
304 |
+
|
305 |
+
<div id="nested" class="row">
|
306 |
+
<h4 class="col-12">Nested Sortables Example</h4>
|
307 |
+
<p class="col-12">NOTE: When using nested Sortables with animation, it is recommended that the <code>fallbackOnBody</code> option is set to true. <br />It is also always recommended that either the <code>invertSwap</code> option is set to true, or the <code>swapThreshold</code> option is lower than the default value of 1 (eg <code>0.65</code>).</p>
|
308 |
+
<div id="nestedDemo" class="list-group col nested-sortable">
|
309 |
+
<div class="list-group-item nested-1">Item 1.1
|
310 |
+
<div class="list-group nested-sortable">
|
311 |
+
<div class="list-group-item nested-2">Item 2.1</div>
|
312 |
+
<div class="list-group-item nested-2">Item 2.2
|
313 |
+
<div class="list-group nested-sortable">
|
314 |
+
<div class="list-group-item nested-3">Item 3.1</div>
|
315 |
+
<div class="list-group-item nested-3">Item 3.2</div>
|
316 |
+
<div class="list-group-item nested-3">Item 3.3</div>
|
317 |
+
<div class="list-group-item nested-3">Item 3.4</div>
|
318 |
+
</div>
|
319 |
+
</div>
|
320 |
+
<div class="list-group-item nested-2">Item 2.3</div>
|
321 |
+
<div class="list-group-item nested-2">Item 2.4</div>
|
322 |
+
</div>
|
323 |
+
</div>
|
324 |
+
<div class="list-group-item nested-1">Item 1.2</div>
|
325 |
+
<div class="list-group-item nested-1">Item 1.3</div>
|
326 |
+
<div class="list-group-item nested-1">Item 1.4
|
327 |
+
<div class="list-group nested-sortable">
|
328 |
+
<div class="list-group-item nested-2">Item 2.1</div>
|
329 |
+
<div class="list-group-item nested-2">Item 2.2</div>
|
330 |
+
<div class="list-group-item nested-2">Item 2.3</div>
|
331 |
+
<div class="list-group-item nested-2">Item 2.4</div>
|
332 |
+
</div>
|
333 |
+
</div>
|
334 |
+
<div class="list-group-item nested-1">Item 1.5</div>
|
335 |
+
</div>
|
336 |
+
<div style="padding: 0" class="col-12">
|
337 |
+
<pre class="prettyprint">// Loop through each nested sortable element
|
338 |
+
for (var i = 0; i < nestedSortables.length; i++) {
|
339 |
+
new Sortable(nestedSortables[i], {
|
340 |
+
group: 'nested',
|
341 |
+
animation: 150,
|
342 |
+
fallbackOnBody: true,
|
343 |
+
swapThreshold: 0.65
|
344 |
+
});
|
345 |
+
}</pre>
|
346 |
+
</div>
|
347 |
+
</div>
|
348 |
+
|
349 |
+
<div class="row">
|
350 |
+
<h2 class="col-12">Plugins</h2>
|
351 |
+
</div>
|
352 |
+
<hr />
|
353 |
+
|
354 |
+
<div id="multi-drag" class="row">
|
355 |
+
<h4 class="col-12">MultiDrag</h4>
|
356 |
+
<p class="col-12">The <a target="_blank" href="https://github.com/SortableJS/Sortable/tree/master/plugins/MultiDrag">MultiDrag</a> plugin allows for multiple items to be dragged at a time. You can click to "select" multiple items, and then drag them as one item.</p>
|
357 |
+
<div id="multiDragDemo" class="list-group col">
|
358 |
+
<div class="list-group-item">Item 1</div>
|
359 |
+
<div class="list-group-item">Item 2</div>
|
360 |
+
<div class="list-group-item">Item 3</div>
|
361 |
+
<div class="list-group-item">Item 4</div>
|
362 |
+
<div class="list-group-item">Item 5</div>
|
363 |
+
<div class="list-group-item">Item 6</div>
|
364 |
+
</div>
|
365 |
+
<div style="padding: 0" class="col-12">
|
366 |
+
<pre class="prettyprint">new Sortable(multiDragDemo, {
|
367 |
+
multiDrag: true,
|
368 |
+
selectedClass: 'selected',
|
369 |
+
fallbackTolerance: 3, // So that we can select items on mobile
|
370 |
+
animation: 150
|
371 |
+
});</pre>
|
372 |
+
</div>
|
373 |
+
</div>
|
374 |
+
<hr />
|
375 |
+
|
376 |
+
<div id="swap" class="row">
|
377 |
+
<h4 class="col-12">Swap</h4>
|
378 |
+
<p class="col-12">The <a target="_blank" href="https://github.com/SortableJS/Sortable/tree/master/plugins/Swap">Swap</a> plugin changes the behaviour of Sortable to allow for items to be swapped with eachother rather than sorted.</p>
|
379 |
+
<div id="swapDemo" class="list-group col">
|
380 |
+
<div class="list-group-item">Item 1</div>
|
381 |
+
<div class="list-group-item">Item 2</div>
|
382 |
+
<div class="list-group-item">Item 3</div>
|
383 |
+
<div class="list-group-item">Item 4</div>
|
384 |
+
<div class="list-group-item">Item 5</div>
|
385 |
+
<div class="list-group-item">Item 6</div>
|
386 |
+
</div>
|
387 |
+
<div style="padding: 0" class="col-12">
|
388 |
+
<pre class="prettyprint">new Sortable(swapDemo, {
|
389 |
+
swap: true, // Enable swap plugin
|
390 |
+
swapClass: 'highlight', // The class applied to the hovered swap item
|
391 |
+
animation: 150
|
392 |
+
});</pre>
|
393 |
+
</div>
|
394 |
+
</div>
|
395 |
+
<hr />
|
396 |
+
|
397 |
+
|
398 |
+
|
399 |
+
<div class="mt-4"></div>
|
400 |
+
|
401 |
+
<div id="comparisons" class="row">
|
402 |
+
<h2 class="col-12">Comparisons</h2>
|
403 |
+
</div>
|
404 |
+
<hr />
|
405 |
+
|
406 |
+
|
407 |
+
<div class="row frameworks">
|
408 |
+
<h2 class="col-12 text-center">jQuery-UI</h2>
|
409 |
+
<iframe class="mx-auto" src="https://player.vimeo.com/video/311581236?title=0&byline=0&portrait=0" width="640" height="361" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
|
410 |
+
|
411 |
+
<h2 class="col-12 text-center mt-5">Dragula</h2>
|
412 |
+
<iframe class="mx-auto" src="https://player.vimeo.com/video/311584137?title=0&byline=0&portrait=0" width="640" height="361" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
|
413 |
+
</div>
|
414 |
+
|
415 |
+
<div class="mt-4"></div>
|
416 |
+
|
417 |
+
<div id="frameworks" class="row">
|
418 |
+
<h2 class="col-12">Framework Support</h2>
|
419 |
+
</div>
|
420 |
+
<hr />
|
421 |
+
|
422 |
+
<div class="row frameworks">
|
423 |
+
|
424 |
+
<h3 class="col-6">Vue</h3>
|
425 |
+
<h3 class="col-6"><a target="_blank" href="https://github.com/SortableJS/Vue.Draggable">Vue.Draggable</a></h3>
|
426 |
+
|
427 |
+
<h3 class="col-6">React</h3>
|
428 |
+
<h3 class="col-6"><a target="_blank" href="https://github.com/SortableJS/react-sortablejs">react-sortablejs</a></h3>
|
429 |
+
|
430 |
+
<h3 class="col-6">Angular</h3>
|
431 |
+
<h3 class="col-6"><a target="_blank" href="https://github.com/SortableJS/ngx-sortablejs">ngx-sortablejs</a></h3>
|
432 |
+
|
433 |
+
<h3 class="col-6">jQuery</h3>
|
434 |
+
<h3 class="col-6"><a target="_blank" href="https://github.com/SortableJS/jquery-sortablejs">jquery-sortablejs</a></h3>
|
435 |
+
|
436 |
+
<h3 class="col-6">Knockout</h3>
|
437 |
+
<h3 class="col-6"><a target="_blank" href="https://github.com/SortableJS/knockout-sortablejs">knockout-sortablejs</a></h3>
|
438 |
+
|
439 |
+
<h3 class="col-6">Meteor</h3>
|
440 |
+
<h3 class="col-6"><a target="_blank" href="https://github.com/SortableJS/meteor-sortablejs">meteor-sortablejs</a></h3>
|
441 |
+
|
442 |
+
<h3 class="col-6">Polymer</h3>
|
443 |
+
<h3 class="col-6"><a target="_blank" href="https://github.com/SortableJS/polymer-sortablejs">polymer-sortablejs</a></h3>
|
444 |
+
|
445 |
+
<h3 class="col-6">Ember</h3>
|
446 |
+
<h3 class="col-6"><a target="_blank" href="https://github.com/SortableJS/ember-sortablejs">ember-sortablejs</a></h3>
|
447 |
+
</div>
|
448 |
+
|
449 |
+
</div>
|
450 |
+
|
451 |
+
|
452 |
+
<!-- Latest Sortable -->
|
453 |
+
<script src="./Sortable.js"></script>
|
454 |
+
|
455 |
+
<script type="text/javascript" src="st/prettify/prettify.js"></script>
|
456 |
+
<script type="text/javascript" src="st/prettify/run_prettify.js"></script>
|
457 |
+
|
458 |
+
<script src="st/app.js"></script>
|
459 |
+
</body>
|
460 |
+
</html>
|
app/extensions/fields/asset/sortablejs/package.json
ADDED
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"name": "sortablejs",
|
3 |
+
"exportName": "Sortable",
|
4 |
+
"version": "1.14.0",
|
5 |
+
"devDependencies": {
|
6 |
+
"@babel/core": "^7.4.4",
|
7 |
+
"@babel/plugin-transform-object-assign": "^7.2.0",
|
8 |
+
"@babel/preset-env": "^7.4.4",
|
9 |
+
"rollup": "^1.11.3",
|
10 |
+
"rollup-plugin-babel": "^4.3.2",
|
11 |
+
"rollup-plugin-json": "^4.0.0",
|
12 |
+
"rollup-plugin-node-resolve": "^5.0.0",
|
13 |
+
"testcafe": "^1.3.1",
|
14 |
+
"testcafe-browser-provider-saucelabs": "^1.7.0",
|
15 |
+
"testcafe-reporter-xunit": "^2.1.0",
|
16 |
+
"uglify-js": "^3.5.12"
|
17 |
+
},
|
18 |
+
"description": "JavaScript library for reorderable drag-and-drop lists on modern browsers and touch devices. No jQuery required. Supports Meteor, AngularJS, React, Polymer, Vue, Knockout and any CSS library, e.g. Bootstrap.",
|
19 |
+
"main": "./Sortable.min.js",
|
20 |
+
"module": "modular/sortable.esm.js",
|
21 |
+
"scripts": {
|
22 |
+
"build:umd": "set NODE_ENV=umd&& rollup -c ./scripts/umd-build.js",
|
23 |
+
"build:umd:watch": "set NODE_ENV=umd&& rollup -w -c ./scripts/umd-build.js",
|
24 |
+
"build:es": "set NODE_ENV=es&& rollup -c ./scripts/esm-build.js",
|
25 |
+
"build:es:watch": "set NODE_ENV=es&& rollup -w -c ./scripts/esm-build.js",
|
26 |
+
"minify": "node ./scripts/minify.js",
|
27 |
+
"build": "npm run build:es && npm run build:umd && npm run minify",
|
28 |
+
"test:compat": "node ./scripts/test-compat.js",
|
29 |
+
"test": "node ./scripts/test.js"
|
30 |
+
},
|
31 |
+
"maintainers": [
|
32 |
+
"Konstantin Lebedev <ibnRubaXa@gmail.com>",
|
33 |
+
"Owen Mills <owen23355@gmail.com>"
|
34 |
+
],
|
35 |
+
"repository": {
|
36 |
+
"type": "git",
|
37 |
+
"url": "git://github.com/SortableJS/Sortable.git"
|
38 |
+
},
|
39 |
+
"files": [
|
40 |
+
"Sortable.js",
|
41 |
+
"Sortable.min.js",
|
42 |
+
"modular/"
|
43 |
+
],
|
44 |
+
"keywords": [
|
45 |
+
"sortable",
|
46 |
+
"reorder",
|
47 |
+
"drag",
|
48 |
+
"meteor",
|
49 |
+
"angular",
|
50 |
+
"ng-sortable",
|
51 |
+
"react",
|
52 |
+
"vue",
|
53 |
+
"mixin"
|
54 |
+
],
|
55 |
+
"license": "MIT"
|
56 |
+
}
|
app/extensions/fields/asset/sortablejs/sortable.js
ADDED
@@ -0,0 +1,3783 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**!
|
2 |
+
* Sortable 1.14.0
|
3 |
+
* @author RubaXa <trash@rubaxa.org>
|
4 |
+
* @author owenm <owen23355@gmail.com>
|
5 |
+
* @license MIT
|
6 |
+
*/
|
7 |
+
(function (global, factory) {
|
8 |
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
9 |
+
typeof define === 'function' && define.amd ? define(factory) :
|
10 |
+
(global = global || self, global.Sortable = factory());
|
11 |
+
}(this, (function () { 'use strict';
|
12 |
+
|
13 |
+
function ownKeys(object, enumerableOnly) {
|
14 |
+
var keys = Object.keys(object);
|
15 |
+
|
16 |
+
if (Object.getOwnPropertySymbols) {
|
17 |
+
var symbols = Object.getOwnPropertySymbols(object);
|
18 |
+
|
19 |
+
if (enumerableOnly) {
|
20 |
+
symbols = symbols.filter(function (sym) {
|
21 |
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
22 |
+
});
|
23 |
+
}
|
24 |
+
|
25 |
+
keys.push.apply(keys, symbols);
|
26 |
+
}
|
27 |
+
|
28 |
+
return keys;
|
29 |
+
}
|
30 |
+
|
31 |
+
function _objectSpread2(target) {
|
32 |
+
for (var i = 1; i < arguments.length; i++) {
|
33 |
+
var source = arguments[i] != null ? arguments[i] : {};
|
34 |
+
|
35 |
+
if (i % 2) {
|
36 |
+
ownKeys(Object(source), true).forEach(function (key) {
|
37 |
+
_defineProperty(target, key, source[key]);
|
38 |
+
});
|
39 |
+
} else if (Object.getOwnPropertyDescriptors) {
|
40 |
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
41 |
+
} else {
|
42 |
+
ownKeys(Object(source)).forEach(function (key) {
|
43 |
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
44 |
+
});
|
45 |
+
}
|
46 |
+
}
|
47 |
+
|
48 |
+
return target;
|
49 |
+
}
|
50 |
+
|
51 |
+
function _typeof(obj) {
|
52 |
+
"@babel/helpers - typeof";
|
53 |
+
|
54 |
+
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
|
55 |
+
_typeof = function (obj) {
|
56 |
+
return typeof obj;
|
57 |
+
};
|
58 |
+
} else {
|
59 |
+
_typeof = function (obj) {
|
60 |
+
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
61 |
+
};
|
62 |
+
}
|
63 |
+
|
64 |
+
return _typeof(obj);
|
65 |
+
}
|
66 |
+
|
67 |
+
function _defineProperty(obj, key, value) {
|
68 |
+
if (key in obj) {
|
69 |
+
Object.defineProperty(obj, key, {
|
70 |
+
value: value,
|
71 |
+
enumerable: true,
|
72 |
+
configurable: true,
|
73 |
+
writable: true
|
74 |
+
});
|
75 |
+
} else {
|
76 |
+
obj[key] = value;
|
77 |
+
}
|
78 |
+
|
79 |
+
return obj;
|
80 |
+
}
|
81 |
+
|
82 |
+
function _extends() {
|
83 |
+
_extends = Object.assign || function (target) {
|
84 |
+
for (var i = 1; i < arguments.length; i++) {
|
85 |
+
var source = arguments[i];
|
86 |
+
|
87 |
+
for (var key in source) {
|
88 |
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
89 |
+
target[key] = source[key];
|
90 |
+
}
|
91 |
+
}
|
92 |
+
}
|
93 |
+
|
94 |
+
return target;
|
95 |
+
};
|
96 |
+
|
97 |
+
return _extends.apply(this, arguments);
|
98 |
+
}
|
99 |
+
|
100 |
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
101 |
+
if (source == null) return {};
|
102 |
+
var target = {};
|
103 |
+
var sourceKeys = Object.keys(source);
|
104 |
+
var key, i;
|
105 |
+
|
106 |
+
for (i = 0; i < sourceKeys.length; i++) {
|
107 |
+
key = sourceKeys[i];
|
108 |
+
if (excluded.indexOf(key) >= 0) continue;
|
109 |
+
target[key] = source[key];
|
110 |
+
}
|
111 |
+
|
112 |
+
return target;
|
113 |
+
}
|
114 |
+
|
115 |
+
function _objectWithoutProperties(source, excluded) {
|
116 |
+
if (source == null) return {};
|
117 |
+
|
118 |
+
var target = _objectWithoutPropertiesLoose(source, excluded);
|
119 |
+
|
120 |
+
var key, i;
|
121 |
+
|
122 |
+
if (Object.getOwnPropertySymbols) {
|
123 |
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
124 |
+
|
125 |
+
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
126 |
+
key = sourceSymbolKeys[i];
|
127 |
+
if (excluded.indexOf(key) >= 0) continue;
|
128 |
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
129 |
+
target[key] = source[key];
|
130 |
+
}
|
131 |
+
}
|
132 |
+
|
133 |
+
return target;
|
134 |
+
}
|
135 |
+
|
136 |
+
function _toConsumableArray(arr) {
|
137 |
+
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
138 |
+
}
|
139 |
+
|
140 |
+
function _arrayWithoutHoles(arr) {
|
141 |
+
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
142 |
+
}
|
143 |
+
|
144 |
+
function _iterableToArray(iter) {
|
145 |
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
146 |
+
}
|
147 |
+
|
148 |
+
function _unsupportedIterableToArray(o, minLen) {
|
149 |
+
if (!o) return;
|
150 |
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
151 |
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
152 |
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
153 |
+
if (n === "Map" || n === "Set") return Array.from(o);
|
154 |
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
155 |
+
}
|
156 |
+
|
157 |
+
function _arrayLikeToArray(arr, len) {
|
158 |
+
if (len == null || len > arr.length) len = arr.length;
|
159 |
+
|
160 |
+
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
161 |
+
|
162 |
+
return arr2;
|
163 |
+
}
|
164 |
+
|
165 |
+
function _nonIterableSpread() {
|
166 |
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
167 |
+
}
|
168 |
+
|
169 |
+
var version = "1.14.0";
|
170 |
+
|
171 |
+
function userAgent(pattern) {
|
172 |
+
if (typeof window !== 'undefined' && window.navigator) {
|
173 |
+
return !! /*@__PURE__*/navigator.userAgent.match(pattern);
|
174 |
+
}
|
175 |
+
}
|
176 |
+
|
177 |
+
var IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i);
|
178 |
+
var Edge = userAgent(/Edge/i);
|
179 |
+
var FireFox = userAgent(/firefox/i);
|
180 |
+
var Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);
|
181 |
+
var IOS = userAgent(/iP(ad|od|hone)/i);
|
182 |
+
var ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);
|
183 |
+
|
184 |
+
var captureMode = {
|
185 |
+
capture: false,
|
186 |
+
passive: false
|
187 |
+
};
|
188 |
+
|
189 |
+
function on(el, event, fn) {
|
190 |
+
el.addEventListener(event, fn, !IE11OrLess && captureMode);
|
191 |
+
}
|
192 |
+
|
193 |
+
function off(el, event, fn) {
|
194 |
+
el.removeEventListener(event, fn, !IE11OrLess && captureMode);
|
195 |
+
}
|
196 |
+
|
197 |
+
function matches(
|
198 |
+
/**HTMLElement*/
|
199 |
+
el,
|
200 |
+
/**String*/
|
201 |
+
selector) {
|
202 |
+
if (!selector) return;
|
203 |
+
selector[0] === '>' && (selector = selector.substring(1));
|
204 |
+
|
205 |
+
if (el) {
|
206 |
+
try {
|
207 |
+
if (el.matches) {
|
208 |
+
return el.matches(selector);
|
209 |
+
} else if (el.msMatchesSelector) {
|
210 |
+
return el.msMatchesSelector(selector);
|
211 |
+
} else if (el.webkitMatchesSelector) {
|
212 |
+
return el.webkitMatchesSelector(selector);
|
213 |
+
}
|
214 |
+
} catch (_) {
|
215 |
+
return false;
|
216 |
+
}
|
217 |
+
}
|
218 |
+
|
219 |
+
return false;
|
220 |
+
}
|
221 |
+
|
222 |
+
function getParentOrHost(el) {
|
223 |
+
return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode;
|
224 |
+
}
|
225 |
+
|
226 |
+
function closest(
|
227 |
+
/**HTMLElement*/
|
228 |
+
el,
|
229 |
+
/**String*/
|
230 |
+
selector,
|
231 |
+
/**HTMLElement*/
|
232 |
+
ctx, includeCTX) {
|
233 |
+
if (el) {
|
234 |
+
ctx = ctx || document;
|
235 |
+
|
236 |
+
do {
|
237 |
+
if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {
|
238 |
+
return el;
|
239 |
+
}
|
240 |
+
|
241 |
+
if (el === ctx) break;
|
242 |
+
/* jshint boss:true */
|
243 |
+
} while (el = getParentOrHost(el));
|
244 |
+
}
|
245 |
+
|
246 |
+
return null;
|
247 |
+
}
|
248 |
+
|
249 |
+
var R_SPACE = /\s+/g;
|
250 |
+
|
251 |
+
function toggleClass(el, name, state) {
|
252 |
+
if (el && name) {
|
253 |
+
if (el.classList) {
|
254 |
+
el.classList[state ? 'add' : 'remove'](name);
|
255 |
+
} else {
|
256 |
+
var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');
|
257 |
+
el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');
|
258 |
+
}
|
259 |
+
}
|
260 |
+
}
|
261 |
+
|
262 |
+
function css(el, prop, val) {
|
263 |
+
var style = el && el.style;
|
264 |
+
|
265 |
+
if (style) {
|
266 |
+
if (val === void 0) {
|
267 |
+
if (document.defaultView && document.defaultView.getComputedStyle) {
|
268 |
+
val = document.defaultView.getComputedStyle(el, '');
|
269 |
+
} else if (el.currentStyle) {
|
270 |
+
val = el.currentStyle;
|
271 |
+
}
|
272 |
+
|
273 |
+
return prop === void 0 ? val : val[prop];
|
274 |
+
} else {
|
275 |
+
if (!(prop in style) && prop.indexOf('webkit') === -1) {
|
276 |
+
prop = '-webkit-' + prop;
|
277 |
+
}
|
278 |
+
|
279 |
+
style[prop] = val + (typeof val === 'string' ? '' : 'px');
|
280 |
+
}
|
281 |
+
}
|
282 |
+
}
|
283 |
+
|
284 |
+
function matrix(el, selfOnly) {
|
285 |
+
var appliedTransforms = '';
|
286 |
+
|
287 |
+
if (typeof el === 'string') {
|
288 |
+
appliedTransforms = el;
|
289 |
+
} else {
|
290 |
+
do {
|
291 |
+
var transform = css(el, 'transform');
|
292 |
+
|
293 |
+
if (transform && transform !== 'none') {
|
294 |
+
appliedTransforms = transform + ' ' + appliedTransforms;
|
295 |
+
}
|
296 |
+
/* jshint boss:true */
|
297 |
+
|
298 |
+
} while (!selfOnly && (el = el.parentNode));
|
299 |
+
}
|
300 |
+
|
301 |
+
var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;
|
302 |
+
/*jshint -W056 */
|
303 |
+
|
304 |
+
return matrixFn && new matrixFn(appliedTransforms);
|
305 |
+
}
|
306 |
+
|
307 |
+
function find(ctx, tagName, iterator) {
|
308 |
+
if (ctx) {
|
309 |
+
var list = ctx.getElementsByTagName(tagName),
|
310 |
+
i = 0,
|
311 |
+
n = list.length;
|
312 |
+
|
313 |
+
if (iterator) {
|
314 |
+
for (; i < n; i++) {
|
315 |
+
iterator(list[i], i);
|
316 |
+
}
|
317 |
+
}
|
318 |
+
|
319 |
+
return list;
|
320 |
+
}
|
321 |
+
|
322 |
+
return [];
|
323 |
+
}
|
324 |
+
|
325 |
+
function getWindowScrollingElement() {
|
326 |
+
var scrollingElement = document.scrollingElement;
|
327 |
+
|
328 |
+
if (scrollingElement) {
|
329 |
+
return scrollingElement;
|
330 |
+
} else {
|
331 |
+
return document.documentElement;
|
332 |
+
}
|
333 |
+
}
|
334 |
+
/**
|
335 |
+
* Returns the "bounding client rect" of given element
|
336 |
+
* @param {HTMLElement} el The element whose boundingClientRect is wanted
|
337 |
+
* @param {[Boolean]} relativeToContainingBlock Whether the rect should be relative to the containing block of (including) the container
|
338 |
+
* @param {[Boolean]} relativeToNonStaticParent Whether the rect should be relative to the relative parent of (including) the contaienr
|
339 |
+
* @param {[Boolean]} undoScale Whether the container's scale() should be undone
|
340 |
+
* @param {[HTMLElement]} container The parent the element will be placed in
|
341 |
+
* @return {Object} The boundingClientRect of el, with specified adjustments
|
342 |
+
*/
|
343 |
+
|
344 |
+
|
345 |
+
function getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {
|
346 |
+
if (!el.getBoundingClientRect && el !== window) return;
|
347 |
+
var elRect, top, left, bottom, right, height, width;
|
348 |
+
|
349 |
+
if (el !== window && el.parentNode && el !== getWindowScrollingElement()) {
|
350 |
+
elRect = el.getBoundingClientRect();
|
351 |
+
top = elRect.top;
|
352 |
+
left = elRect.left;
|
353 |
+
bottom = elRect.bottom;
|
354 |
+
right = elRect.right;
|
355 |
+
height = elRect.height;
|
356 |
+
width = elRect.width;
|
357 |
+
} else {
|
358 |
+
top = 0;
|
359 |
+
left = 0;
|
360 |
+
bottom = window.innerHeight;
|
361 |
+
right = window.innerWidth;
|
362 |
+
height = window.innerHeight;
|
363 |
+
width = window.innerWidth;
|
364 |
+
}
|
365 |
+
|
366 |
+
if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {
|
367 |
+
// Adjust for translate()
|
368 |
+
container = container || el.parentNode; // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312)
|
369 |
+
// Not needed on <= IE11
|
370 |
+
|
371 |
+
if (!IE11OrLess) {
|
372 |
+
do {
|
373 |
+
if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) {
|
374 |
+
var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container
|
375 |
+
|
376 |
+
top -= containerRect.top + parseInt(css(container, 'border-top-width'));
|
377 |
+
left -= containerRect.left + parseInt(css(container, 'border-left-width'));
|
378 |
+
bottom = top + elRect.height;
|
379 |
+
right = left + elRect.width;
|
380 |
+
break;
|
381 |
+
}
|
382 |
+
/* jshint boss:true */
|
383 |
+
|
384 |
+
} while (container = container.parentNode);
|
385 |
+
}
|
386 |
+
}
|
387 |
+
|
388 |
+
if (undoScale && el !== window) {
|
389 |
+
// Adjust for scale()
|
390 |
+
var elMatrix = matrix(container || el),
|
391 |
+
scaleX = elMatrix && elMatrix.a,
|
392 |
+
scaleY = elMatrix && elMatrix.d;
|
393 |
+
|
394 |
+
if (elMatrix) {
|
395 |
+
top /= scaleY;
|
396 |
+
left /= scaleX;
|
397 |
+
width /= scaleX;
|
398 |
+
height /= scaleY;
|
399 |
+
bottom = top + height;
|
400 |
+
right = left + width;
|
401 |
+
}
|
402 |
+
}
|
403 |
+
|
404 |
+
return {
|
405 |
+
top: top,
|
406 |
+
left: left,
|
407 |
+
bottom: bottom,
|
408 |
+
right: right,
|
409 |
+
width: width,
|
410 |
+
height: height
|
411 |
+
};
|
412 |
+
}
|
413 |
+
/**
|
414 |
+
* Checks if a side of an element is scrolled past a side of its parents
|
415 |
+
* @param {HTMLElement} el The element who's side being scrolled out of view is in question
|
416 |
+
* @param {String} elSide Side of the element in question ('top', 'left', 'right', 'bottom')
|
417 |
+
* @param {String} parentSide Side of the parent in question ('top', 'left', 'right', 'bottom')
|
418 |
+
* @return {HTMLElement} The parent scroll element that the el's side is scrolled past, or null if there is no such element
|
419 |
+
*/
|
420 |
+
|
421 |
+
|
422 |
+
function isScrolledPast(el, elSide, parentSide) {
|
423 |
+
var parent = getParentAutoScrollElement(el, true),
|
424 |
+
elSideVal = getRect(el)[elSide];
|
425 |
+
/* jshint boss:true */
|
426 |
+
|
427 |
+
while (parent) {
|
428 |
+
var parentSideVal = getRect(parent)[parentSide],
|
429 |
+
visible = void 0;
|
430 |
+
|
431 |
+
if (parentSide === 'top' || parentSide === 'left') {
|
432 |
+
visible = elSideVal >= parentSideVal;
|
433 |
+
} else {
|
434 |
+
visible = elSideVal <= parentSideVal;
|
435 |
+
}
|
436 |
+
|
437 |
+
if (!visible) return parent;
|
438 |
+
if (parent === getWindowScrollingElement()) break;
|
439 |
+
parent = getParentAutoScrollElement(parent, false);
|
440 |
+
}
|
441 |
+
|
442 |
+
return false;
|
443 |
+
}
|
444 |
+
/**
|
445 |
+
* Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible)
|
446 |
+
* and non-draggable elements
|
447 |
+
* @param {HTMLElement} el The parent element
|
448 |
+
* @param {Number} childNum The index of the child
|
449 |
+
* @param {Object} options Parent Sortable's options
|
450 |
+
* @return {HTMLElement} The child at index childNum, or null if not found
|
451 |
+
*/
|
452 |
+
|
453 |
+
|
454 |
+
function getChild(el, childNum, options, includeDragEl) {
|
455 |
+
var currentChild = 0,
|
456 |
+
i = 0,
|
457 |
+
children = el.children;
|
458 |
+
|
459 |
+
while (i < children.length) {
|
460 |
+
if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && (includeDragEl || children[i] !== Sortable.dragged) && closest(children[i], options.draggable, el, false)) {
|
461 |
+
if (currentChild === childNum) {
|
462 |
+
return children[i];
|
463 |
+
}
|
464 |
+
|
465 |
+
currentChild++;
|
466 |
+
}
|
467 |
+
|
468 |
+
i++;
|
469 |
+
}
|
470 |
+
|
471 |
+
return null;
|
472 |
+
}
|
473 |
+
/**
|
474 |
+
* Gets the last child in the el, ignoring ghostEl or invisible elements (clones)
|
475 |
+
* @param {HTMLElement} el Parent element
|
476 |
+
* @param {selector} selector Any other elements that should be ignored
|
477 |
+
* @return {HTMLElement} The last child, ignoring ghostEl
|
478 |
+
*/
|
479 |
+
|
480 |
+
|
481 |
+
function lastChild(el, selector) {
|
482 |
+
var last = el.lastElementChild;
|
483 |
+
|
484 |
+
while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) {
|
485 |
+
last = last.previousElementSibling;
|
486 |
+
}
|
487 |
+
|
488 |
+
return last || null;
|
489 |
+
}
|
490 |
+
/**
|
491 |
+
* Returns the index of an element within its parent for a selected set of
|
492 |
+
* elements
|
493 |
+
* @param {HTMLElement} el
|
494 |
+
* @param {selector} selector
|
495 |
+
* @return {number}
|
496 |
+
*/
|
497 |
+
|
498 |
+
|
499 |
+
function index(el, selector) {
|
500 |
+
var index = 0;
|
501 |
+
|
502 |
+
if (!el || !el.parentNode) {
|
503 |
+
return -1;
|
504 |
+
}
|
505 |
+
/* jshint boss:true */
|
506 |
+
|
507 |
+
|
508 |
+
while (el = el.previousElementSibling) {
|
509 |
+
if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) {
|
510 |
+
index++;
|
511 |
+
}
|
512 |
+
}
|
513 |
+
|
514 |
+
return index;
|
515 |
+
}
|
516 |
+
/**
|
517 |
+
* Returns the scroll offset of the given element, added with all the scroll offsets of parent elements.
|
518 |
+
* The value is returned in real pixels.
|
519 |
+
* @param {HTMLElement} el
|
520 |
+
* @return {Array} Offsets in the format of [left, top]
|
521 |
+
*/
|
522 |
+
|
523 |
+
|
524 |
+
function getRelativeScrollOffset(el) {
|
525 |
+
var offsetLeft = 0,
|
526 |
+
offsetTop = 0,
|
527 |
+
winScroller = getWindowScrollingElement();
|
528 |
+
|
529 |
+
if (el) {
|
530 |
+
do {
|
531 |
+
var elMatrix = matrix(el),
|
532 |
+
scaleX = elMatrix.a,
|
533 |
+
scaleY = elMatrix.d;
|
534 |
+
offsetLeft += el.scrollLeft * scaleX;
|
535 |
+
offsetTop += el.scrollTop * scaleY;
|
536 |
+
} while (el !== winScroller && (el = el.parentNode));
|
537 |
+
}
|
538 |
+
|
539 |
+
return [offsetLeft, offsetTop];
|
540 |
+
}
|
541 |
+
/**
|
542 |
+
* Returns the index of the object within the given array
|
543 |
+
* @param {Array} arr Array that may or may not hold the object
|
544 |
+
* @param {Object} obj An object that has a key-value pair unique to and identical to a key-value pair in the object you want to find
|
545 |
+
* @return {Number} The index of the object in the array, or -1
|
546 |
+
*/
|
547 |
+
|
548 |
+
|
549 |
+
function indexOfObject(arr, obj) {
|
550 |
+
for (var i in arr) {
|
551 |
+
if (!arr.hasOwnProperty(i)) continue;
|
552 |
+
|
553 |
+
for (var key in obj) {
|
554 |
+
if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i);
|
555 |
+
}
|
556 |
+
}
|
557 |
+
|
558 |
+
return -1;
|
559 |
+
}
|
560 |
+
|
561 |
+
function getParentAutoScrollElement(el, includeSelf) {
|
562 |
+
// skip to window
|
563 |
+
if (!el || !el.getBoundingClientRect) return getWindowScrollingElement();
|
564 |
+
var elem = el;
|
565 |
+
var gotSelf = false;
|
566 |
+
|
567 |
+
do {
|
568 |
+
// we don't need to get elem css if it isn't even overflowing in the first place (performance)
|
569 |
+
if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {
|
570 |
+
var elemCSS = css(elem);
|
571 |
+
|
572 |
+
if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {
|
573 |
+
if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();
|
574 |
+
if (gotSelf || includeSelf) return elem;
|
575 |
+
gotSelf = true;
|
576 |
+
}
|
577 |
+
}
|
578 |
+
/* jshint boss:true */
|
579 |
+
|
580 |
+
} while (elem = elem.parentNode);
|
581 |
+
|
582 |
+
return getWindowScrollingElement();
|
583 |
+
}
|
584 |
+
|
585 |
+
function extend(dst, src) {
|
586 |
+
if (dst && src) {
|
587 |
+
for (var key in src) {
|
588 |
+
if (src.hasOwnProperty(key)) {
|
589 |
+
dst[key] = src[key];
|
590 |
+
}
|
591 |
+
}
|
592 |
+
}
|
593 |
+
|
594 |
+
return dst;
|
595 |
+
}
|
596 |
+
|
597 |
+
function isRectEqual(rect1, rect2) {
|
598 |
+
return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);
|
599 |
+
}
|
600 |
+
|
601 |
+
var _throttleTimeout;
|
602 |
+
|
603 |
+
function throttle(callback, ms) {
|
604 |
+
return function () {
|
605 |
+
if (!_throttleTimeout) {
|
606 |
+
var args = arguments,
|
607 |
+
_this = this;
|
608 |
+
|
609 |
+
if (args.length === 1) {
|
610 |
+
callback.call(_this, args[0]);
|
611 |
+
} else {
|
612 |
+
callback.apply(_this, args);
|
613 |
+
}
|
614 |
+
|
615 |
+
_throttleTimeout = setTimeout(function () {
|
616 |
+
_throttleTimeout = void 0;
|
617 |
+
}, ms);
|
618 |
+
}
|
619 |
+
};
|
620 |
+
}
|
621 |
+
|
622 |
+
function cancelThrottle() {
|
623 |
+
clearTimeout(_throttleTimeout);
|
624 |
+
_throttleTimeout = void 0;
|
625 |
+
}
|
626 |
+
|
627 |
+
function scrollBy(el, x, y) {
|
628 |
+
el.scrollLeft += x;
|
629 |
+
el.scrollTop += y;
|
630 |
+
}
|
631 |
+
|
632 |
+
function clone(el) {
|
633 |
+
var Polymer = window.Polymer;
|
634 |
+
var $ = window.jQuery || window.Zepto;
|
635 |
+
|
636 |
+
if (Polymer && Polymer.dom) {
|
637 |
+
return Polymer.dom(el).cloneNode(true);
|
638 |
+
} else if ($) {
|
639 |
+
return $(el).clone(true)[0];
|
640 |
+
} else {
|
641 |
+
return el.cloneNode(true);
|
642 |
+
}
|
643 |
+
}
|
644 |
+
|
645 |
+
function setRect(el, rect) {
|
646 |
+
css(el, 'position', 'absolute');
|
647 |
+
css(el, 'top', rect.top);
|
648 |
+
css(el, 'left', rect.left);
|
649 |
+
css(el, 'width', rect.width);
|
650 |
+
css(el, 'height', rect.height);
|
651 |
+
}
|
652 |
+
|
653 |
+
function unsetRect(el) {
|
654 |
+
css(el, 'position', '');
|
655 |
+
css(el, 'top', '');
|
656 |
+
css(el, 'left', '');
|
657 |
+
css(el, 'width', '');
|
658 |
+
css(el, 'height', '');
|
659 |
+
}
|
660 |
+
|
661 |
+
var expando = 'Sortable' + new Date().getTime();
|
662 |
+
|
663 |
+
function AnimationStateManager() {
|
664 |
+
var animationStates = [],
|
665 |
+
animationCallbackId;
|
666 |
+
return {
|
667 |
+
captureAnimationState: function captureAnimationState() {
|
668 |
+
animationStates = [];
|
669 |
+
if (!this.options.animation) return;
|
670 |
+
var children = [].slice.call(this.el.children);
|
671 |
+
children.forEach(function (child) {
|
672 |
+
if (css(child, 'display') === 'none' || child === Sortable.ghost) return;
|
673 |
+
animationStates.push({
|
674 |
+
target: child,
|
675 |
+
rect: getRect(child)
|
676 |
+
});
|
677 |
+
|
678 |
+
var fromRect = _objectSpread2({}, animationStates[animationStates.length - 1].rect); // If animating: compensate for current animation
|
679 |
+
|
680 |
+
|
681 |
+
if (child.thisAnimationDuration) {
|
682 |
+
var childMatrix = matrix(child, true);
|
683 |
+
|
684 |
+
if (childMatrix) {
|
685 |
+
fromRect.top -= childMatrix.f;
|
686 |
+
fromRect.left -= childMatrix.e;
|
687 |
+
}
|
688 |
+
}
|
689 |
+
|
690 |
+
child.fromRect = fromRect;
|
691 |
+
});
|
692 |
+
},
|
693 |
+
addAnimationState: function addAnimationState(state) {
|
694 |
+
animationStates.push(state);
|
695 |
+
},
|
696 |
+
removeAnimationState: function removeAnimationState(target) {
|
697 |
+
animationStates.splice(indexOfObject(animationStates, {
|
698 |
+
target: target
|
699 |
+
}), 1);
|
700 |
+
},
|
701 |
+
animateAll: function animateAll(callback) {
|
702 |
+
var _this = this;
|
703 |
+
|
704 |
+
if (!this.options.animation) {
|
705 |
+
clearTimeout(animationCallbackId);
|
706 |
+
if (typeof callback === 'function') callback();
|
707 |
+
return;
|
708 |
+
}
|
709 |
+
|
710 |
+
var animating = false,
|
711 |
+
animationTime = 0;
|
712 |
+
animationStates.forEach(function (state) {
|
713 |
+
var time = 0,
|
714 |
+
target = state.target,
|
715 |
+
fromRect = target.fromRect,
|
716 |
+
toRect = getRect(target),
|
717 |
+
prevFromRect = target.prevFromRect,
|
718 |
+
prevToRect = target.prevToRect,
|
719 |
+
animatingRect = state.rect,
|
720 |
+
targetMatrix = matrix(target, true);
|
721 |
+
|
722 |
+
if (targetMatrix) {
|
723 |
+
// Compensate for current animation
|
724 |
+
toRect.top -= targetMatrix.f;
|
725 |
+
toRect.left -= targetMatrix.e;
|
726 |
+
}
|
727 |
+
|
728 |
+
target.toRect = toRect;
|
729 |
+
|
730 |
+
if (target.thisAnimationDuration) {
|
731 |
+
// Could also check if animatingRect is between fromRect and toRect
|
732 |
+
if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && // Make sure animatingRect is on line between toRect & fromRect
|
733 |
+
(animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {
|
734 |
+
// If returning to same place as started from animation and on same axis
|
735 |
+
time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);
|
736 |
+
}
|
737 |
+
} // if fromRect != toRect: animate
|
738 |
+
|
739 |
+
|
740 |
+
if (!isRectEqual(toRect, fromRect)) {
|
741 |
+
target.prevFromRect = fromRect;
|
742 |
+
target.prevToRect = toRect;
|
743 |
+
|
744 |
+
if (!time) {
|
745 |
+
time = _this.options.animation;
|
746 |
+
}
|
747 |
+
|
748 |
+
_this.animate(target, animatingRect, toRect, time);
|
749 |
+
}
|
750 |
+
|
751 |
+
if (time) {
|
752 |
+
animating = true;
|
753 |
+
animationTime = Math.max(animationTime, time);
|
754 |
+
clearTimeout(target.animationResetTimer);
|
755 |
+
target.animationResetTimer = setTimeout(function () {
|
756 |
+
target.animationTime = 0;
|
757 |
+
target.prevFromRect = null;
|
758 |
+
target.fromRect = null;
|
759 |
+
target.prevToRect = null;
|
760 |
+
target.thisAnimationDuration = null;
|
761 |
+
}, time);
|
762 |
+
target.thisAnimationDuration = time;
|
763 |
+
}
|
764 |
+
});
|
765 |
+
clearTimeout(animationCallbackId);
|
766 |
+
|
767 |
+
if (!animating) {
|
768 |
+
if (typeof callback === 'function') callback();
|
769 |
+
} else {
|
770 |
+
animationCallbackId = setTimeout(function () {
|
771 |
+
if (typeof callback === 'function') callback();
|
772 |
+
}, animationTime);
|
773 |
+
}
|
774 |
+
|
775 |
+
animationStates = [];
|
776 |
+
},
|
777 |
+
animate: function animate(target, currentRect, toRect, duration) {
|
778 |
+
if (duration) {
|
779 |
+
css(target, 'transition', '');
|
780 |
+
css(target, 'transform', '');
|
781 |
+
var elMatrix = matrix(this.el),
|
782 |
+
scaleX = elMatrix && elMatrix.a,
|
783 |
+
scaleY = elMatrix && elMatrix.d,
|
784 |
+
translateX = (currentRect.left - toRect.left) / (scaleX || 1),
|
785 |
+
translateY = (currentRect.top - toRect.top) / (scaleY || 1);
|
786 |
+
target.animatingX = !!translateX;
|
787 |
+
target.animatingY = !!translateY;
|
788 |
+
css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');
|
789 |
+
this.forRepaintDummy = repaint(target); // repaint
|
790 |
+
|
791 |
+
css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));
|
792 |
+
css(target, 'transform', 'translate3d(0,0,0)');
|
793 |
+
typeof target.animated === 'number' && clearTimeout(target.animated);
|
794 |
+
target.animated = setTimeout(function () {
|
795 |
+
css(target, 'transition', '');
|
796 |
+
css(target, 'transform', '');
|
797 |
+
target.animated = false;
|
798 |
+
target.animatingX = false;
|
799 |
+
target.animatingY = false;
|
800 |
+
}, duration);
|
801 |
+
}
|
802 |
+
}
|
803 |
+
};
|
804 |
+
}
|
805 |
+
|
806 |
+
function repaint(target) {
|
807 |
+
return target.offsetWidth;
|
808 |
+
}
|
809 |
+
|
810 |
+
function calculateRealTime(animatingRect, fromRect, toRect, options) {
|
811 |
+
return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;
|
812 |
+
}
|
813 |
+
|
814 |
+
var plugins = [];
|
815 |
+
var defaults = {
|
816 |
+
initializeByDefault: true
|
817 |
+
};
|
818 |
+
var PluginManager = {
|
819 |
+
mount: function mount(plugin) {
|
820 |
+
// Set default static properties
|
821 |
+
for (var option in defaults) {
|
822 |
+
if (defaults.hasOwnProperty(option) && !(option in plugin)) {
|
823 |
+
plugin[option] = defaults[option];
|
824 |
+
}
|
825 |
+
}
|
826 |
+
|
827 |
+
plugins.forEach(function (p) {
|
828 |
+
if (p.pluginName === plugin.pluginName) {
|
829 |
+
throw "Sortable: Cannot mount plugin ".concat(plugin.pluginName, " more than once");
|
830 |
+
}
|
831 |
+
});
|
832 |
+
plugins.push(plugin);
|
833 |
+
},
|
834 |
+
pluginEvent: function pluginEvent(eventName, sortable, evt) {
|
835 |
+
var _this = this;
|
836 |
+
|
837 |
+
this.eventCanceled = false;
|
838 |
+
|
839 |
+
evt.cancel = function () {
|
840 |
+
_this.eventCanceled = true;
|
841 |
+
};
|
842 |
+
|
843 |
+
var eventNameGlobal = eventName + 'Global';
|
844 |
+
plugins.forEach(function (plugin) {
|
845 |
+
if (!sortable[plugin.pluginName]) return; // Fire global events if it exists in this sortable
|
846 |
+
|
847 |
+
if (sortable[plugin.pluginName][eventNameGlobal]) {
|
848 |
+
sortable[plugin.pluginName][eventNameGlobal](_objectSpread2({
|
849 |
+
sortable: sortable
|
850 |
+
}, evt));
|
851 |
+
} // Only fire plugin event if plugin is enabled in this sortable,
|
852 |
+
// and plugin has event defined
|
853 |
+
|
854 |
+
|
855 |
+
if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {
|
856 |
+
sortable[plugin.pluginName][eventName](_objectSpread2({
|
857 |
+
sortable: sortable
|
858 |
+
}, evt));
|
859 |
+
}
|
860 |
+
});
|
861 |
+
},
|
862 |
+
initializePlugins: function initializePlugins(sortable, el, defaults, options) {
|
863 |
+
plugins.forEach(function (plugin) {
|
864 |
+
var pluginName = plugin.pluginName;
|
865 |
+
if (!sortable.options[pluginName] && !plugin.initializeByDefault) return;
|
866 |
+
var initialized = new plugin(sortable, el, sortable.options);
|
867 |
+
initialized.sortable = sortable;
|
868 |
+
initialized.options = sortable.options;
|
869 |
+
sortable[pluginName] = initialized; // Add default options from plugin
|
870 |
+
|
871 |
+
_extends(defaults, initialized.defaults);
|
872 |
+
});
|
873 |
+
|
874 |
+
for (var option in sortable.options) {
|
875 |
+
if (!sortable.options.hasOwnProperty(option)) continue;
|
876 |
+
var modified = this.modifyOption(sortable, option, sortable.options[option]);
|
877 |
+
|
878 |
+
if (typeof modified !== 'undefined') {
|
879 |
+
sortable.options[option] = modified;
|
880 |
+
}
|
881 |
+
}
|
882 |
+
},
|
883 |
+
getEventProperties: function getEventProperties(name, sortable) {
|
884 |
+
var eventProperties = {};
|
885 |
+
plugins.forEach(function (plugin) {
|
886 |
+
if (typeof plugin.eventProperties !== 'function') return;
|
887 |
+
|
888 |
+
_extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name));
|
889 |
+
});
|
890 |
+
return eventProperties;
|
891 |
+
},
|
892 |
+
modifyOption: function modifyOption(sortable, name, value) {
|
893 |
+
var modifiedValue;
|
894 |
+
plugins.forEach(function (plugin) {
|
895 |
+
// Plugin must exist on the Sortable
|
896 |
+
if (!sortable[plugin.pluginName]) return; // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin
|
897 |
+
|
898 |
+
if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') {
|
899 |
+
modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value);
|
900 |
+
}
|
901 |
+
});
|
902 |
+
return modifiedValue;
|
903 |
+
}
|
904 |
+
};
|
905 |
+
|
906 |
+
function dispatchEvent(_ref) {
|
907 |
+
var sortable = _ref.sortable,
|
908 |
+
rootEl = _ref.rootEl,
|
909 |
+
name = _ref.name,
|
910 |
+
targetEl = _ref.targetEl,
|
911 |
+
cloneEl = _ref.cloneEl,
|
912 |
+
toEl = _ref.toEl,
|
913 |
+
fromEl = _ref.fromEl,
|
914 |
+
oldIndex = _ref.oldIndex,
|
915 |
+
newIndex = _ref.newIndex,
|
916 |
+
oldDraggableIndex = _ref.oldDraggableIndex,
|
917 |
+
newDraggableIndex = _ref.newDraggableIndex,
|
918 |
+
originalEvent = _ref.originalEvent,
|
919 |
+
putSortable = _ref.putSortable,
|
920 |
+
extraEventProperties = _ref.extraEventProperties;
|
921 |
+
sortable = sortable || rootEl && rootEl[expando];
|
922 |
+
if (!sortable) return;
|
923 |
+
var evt,
|
924 |
+
options = sortable.options,
|
925 |
+
onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1); // Support for new CustomEvent feature
|
926 |
+
|
927 |
+
if (window.CustomEvent && !IE11OrLess && !Edge) {
|
928 |
+
evt = new CustomEvent(name, {
|
929 |
+
bubbles: true,
|
930 |
+
cancelable: true
|
931 |
+
});
|
932 |
+
} else {
|
933 |
+
evt = document.createEvent('Event');
|
934 |
+
evt.initEvent(name, true, true);
|
935 |
+
}
|
936 |
+
|
937 |
+
evt.to = toEl || rootEl;
|
938 |
+
evt.from = fromEl || rootEl;
|
939 |
+
evt.item = targetEl || rootEl;
|
940 |
+
evt.clone = cloneEl;
|
941 |
+
evt.oldIndex = oldIndex;
|
942 |
+
evt.newIndex = newIndex;
|
943 |
+
evt.oldDraggableIndex = oldDraggableIndex;
|
944 |
+
evt.newDraggableIndex = newDraggableIndex;
|
945 |
+
evt.originalEvent = originalEvent;
|
946 |
+
evt.pullMode = putSortable ? putSortable.lastPutMode : undefined;
|
947 |
+
|
948 |
+
var allEventProperties = _objectSpread2(_objectSpread2({}, extraEventProperties), PluginManager.getEventProperties(name, sortable));
|
949 |
+
|
950 |
+
for (var option in allEventProperties) {
|
951 |
+
evt[option] = allEventProperties[option];
|
952 |
+
}
|
953 |
+
|
954 |
+
if (rootEl) {
|
955 |
+
rootEl.dispatchEvent(evt);
|
956 |
+
}
|
957 |
+
|
958 |
+
if (options[onName]) {
|
959 |
+
options[onName].call(sortable, evt);
|
960 |
+
}
|
961 |
+
}
|
962 |
+
|
963 |
+
var _excluded = ["evt"];
|
964 |
+
|
965 |
+
var pluginEvent = function pluginEvent(eventName, sortable) {
|
966 |
+
var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
967 |
+
originalEvent = _ref.evt,
|
968 |
+
data = _objectWithoutProperties(_ref, _excluded);
|
969 |
+
|
970 |
+
PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread2({
|
971 |
+
dragEl: dragEl,
|
972 |
+
parentEl: parentEl,
|
973 |
+
ghostEl: ghostEl,
|
974 |
+
rootEl: rootEl,
|
975 |
+
nextEl: nextEl,
|
976 |
+
lastDownEl: lastDownEl,
|
977 |
+
cloneEl: cloneEl,
|
978 |
+
cloneHidden: cloneHidden,
|
979 |
+
dragStarted: moved,
|
980 |
+
putSortable: putSortable,
|
981 |
+
activeSortable: Sortable.active,
|
982 |
+
originalEvent: originalEvent,
|
983 |
+
oldIndex: oldIndex,
|
984 |
+
oldDraggableIndex: oldDraggableIndex,
|
985 |
+
newIndex: newIndex,
|
986 |
+
newDraggableIndex: newDraggableIndex,
|
987 |
+
hideGhostForTarget: _hideGhostForTarget,
|
988 |
+
unhideGhostForTarget: _unhideGhostForTarget,
|
989 |
+
cloneNowHidden: function cloneNowHidden() {
|
990 |
+
cloneHidden = true;
|
991 |
+
},
|
992 |
+
cloneNowShown: function cloneNowShown() {
|
993 |
+
cloneHidden = false;
|
994 |
+
},
|
995 |
+
dispatchSortableEvent: function dispatchSortableEvent(name) {
|
996 |
+
_dispatchEvent({
|
997 |
+
sortable: sortable,
|
998 |
+
name: name,
|
999 |
+
originalEvent: originalEvent
|
1000 |
+
});
|
1001 |
+
}
|
1002 |
+
}, data));
|
1003 |
+
};
|
1004 |
+
|
1005 |
+
function _dispatchEvent(info) {
|
1006 |
+
dispatchEvent(_objectSpread2({
|
1007 |
+
putSortable: putSortable,
|
1008 |
+
cloneEl: cloneEl,
|
1009 |
+
targetEl: dragEl,
|
1010 |
+
rootEl: rootEl,
|
1011 |
+
oldIndex: oldIndex,
|
1012 |
+
oldDraggableIndex: oldDraggableIndex,
|
1013 |
+
newIndex: newIndex,
|
1014 |
+
newDraggableIndex: newDraggableIndex
|
1015 |
+
}, info));
|
1016 |
+
}
|
1017 |
+
|
1018 |
+
var dragEl,
|
1019 |
+
parentEl,
|
1020 |
+
ghostEl,
|
1021 |
+
rootEl,
|
1022 |
+
nextEl,
|
1023 |
+
lastDownEl,
|
1024 |
+
cloneEl,
|
1025 |
+
cloneHidden,
|
1026 |
+
oldIndex,
|
1027 |
+
newIndex,
|
1028 |
+
oldDraggableIndex,
|
1029 |
+
newDraggableIndex,
|
1030 |
+
activeGroup,
|
1031 |
+
putSortable,
|
1032 |
+
awaitingDragStarted = false,
|
1033 |
+
ignoreNextClick = false,
|
1034 |
+
sortables = [],
|
1035 |
+
tapEvt,
|
1036 |
+
touchEvt,
|
1037 |
+
lastDx,
|
1038 |
+
lastDy,
|
1039 |
+
tapDistanceLeft,
|
1040 |
+
tapDistanceTop,
|
1041 |
+
moved,
|
1042 |
+
lastTarget,
|
1043 |
+
lastDirection,
|
1044 |
+
pastFirstInvertThresh = false,
|
1045 |
+
isCircumstantialInvert = false,
|
1046 |
+
targetMoveDistance,
|
1047 |
+
// For positioning ghost absolutely
|
1048 |
+
ghostRelativeParent,
|
1049 |
+
ghostRelativeParentInitialScroll = [],
|
1050 |
+
// (left, top)
|
1051 |
+
_silent = false,
|
1052 |
+
savedInputChecked = [];
|
1053 |
+
/** @const */
|
1054 |
+
|
1055 |
+
var documentExists = typeof document !== 'undefined',
|
1056 |
+
PositionGhostAbsolutely = IOS,
|
1057 |
+
CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float',
|
1058 |
+
// This will not pass for IE9, because IE9 DnD only works on anchors
|
1059 |
+
supportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'),
|
1060 |
+
supportCssPointerEvents = function () {
|
1061 |
+
if (!documentExists) return; // false when <= IE11
|
1062 |
+
|
1063 |
+
if (IE11OrLess) {
|
1064 |
+
return false;
|
1065 |
+
}
|
1066 |
+
|
1067 |
+
var el = document.createElement('x');
|
1068 |
+
el.style.cssText = 'pointer-events:auto';
|
1069 |
+
return el.style.pointerEvents === 'auto';
|
1070 |
+
}(),
|
1071 |
+
_detectDirection = function _detectDirection(el, options) {
|
1072 |
+
var elCSS = css(el),
|
1073 |
+
elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),
|
1074 |
+
child1 = getChild(el, 0, options),
|
1075 |
+
child2 = getChild(el, 1, options),
|
1076 |
+
firstChildCSS = child1 && css(child1),
|
1077 |
+
secondChildCSS = child2 && css(child2),
|
1078 |
+
firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,
|
1079 |
+
secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;
|
1080 |
+
|
1081 |
+
if (elCSS.display === 'flex') {
|
1082 |
+
return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal';
|
1083 |
+
}
|
1084 |
+
|
1085 |
+
if (elCSS.display === 'grid') {
|
1086 |
+
return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal';
|
1087 |
+
}
|
1088 |
+
|
1089 |
+
if (child1 && firstChildCSS["float"] && firstChildCSS["float"] !== 'none') {
|
1090 |
+
var touchingSideChild2 = firstChildCSS["float"] === 'left' ? 'left' : 'right';
|
1091 |
+
return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal';
|
1092 |
+
}
|
1093 |
+
|
1094 |
+
return child1 && (firstChildCSS.display === 'block' || firstChildCSS.display === 'flex' || firstChildCSS.display === 'table' || firstChildCSS.display === 'grid' || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === 'none' || child2 && elCSS[CSSFloatProperty] === 'none' && firstChildWidth + secondChildWidth > elWidth) ? 'vertical' : 'horizontal';
|
1095 |
+
},
|
1096 |
+
_dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) {
|
1097 |
+
var dragElS1Opp = vertical ? dragRect.left : dragRect.top,
|
1098 |
+
dragElS2Opp = vertical ? dragRect.right : dragRect.bottom,
|
1099 |
+
dragElOppLength = vertical ? dragRect.width : dragRect.height,
|
1100 |
+
targetS1Opp = vertical ? targetRect.left : targetRect.top,
|
1101 |
+
targetS2Opp = vertical ? targetRect.right : targetRect.bottom,
|
1102 |
+
targetOppLength = vertical ? targetRect.width : targetRect.height;
|
1103 |
+
return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;
|
1104 |
+
},
|
1105 |
+
|
1106 |
+
/**
|
1107 |
+
* Detects first nearest empty sortable to X and Y position using emptyInsertThreshold.
|
1108 |
+
* @param {Number} x X position
|
1109 |
+
* @param {Number} y Y position
|
1110 |
+
* @return {HTMLElement} Element of the first found nearest Sortable
|
1111 |
+
*/
|
1112 |
+
_detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {
|
1113 |
+
var ret;
|
1114 |
+
sortables.some(function (sortable) {
|
1115 |
+
var threshold = sortable[expando].options.emptyInsertThreshold;
|
1116 |
+
if (!threshold || lastChild(sortable)) return;
|
1117 |
+
var rect = getRect(sortable),
|
1118 |
+
insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold,
|
1119 |
+
insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;
|
1120 |
+
|
1121 |
+
if (insideHorizontally && insideVertically) {
|
1122 |
+
return ret = sortable;
|
1123 |
+
}
|
1124 |
+
});
|
1125 |
+
return ret;
|
1126 |
+
},
|
1127 |
+
_prepareGroup = function _prepareGroup(options) {
|
1128 |
+
function toFn(value, pull) {
|
1129 |
+
return function (to, from, dragEl, evt) {
|
1130 |
+
var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;
|
1131 |
+
|
1132 |
+
if (value == null && (pull || sameGroup)) {
|
1133 |
+
// Default pull value
|
1134 |
+
// Default pull and put value if same group
|
1135 |
+
return true;
|
1136 |
+
} else if (value == null || value === false) {
|
1137 |
+
return false;
|
1138 |
+
} else if (pull && value === 'clone') {
|
1139 |
+
return value;
|
1140 |
+
} else if (typeof value === 'function') {
|
1141 |
+
return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt);
|
1142 |
+
} else {
|
1143 |
+
var otherGroup = (pull ? to : from).options.group.name;
|
1144 |
+
return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;
|
1145 |
+
}
|
1146 |
+
};
|
1147 |
+
}
|
1148 |
+
|
1149 |
+
var group = {};
|
1150 |
+
var originalGroup = options.group;
|
1151 |
+
|
1152 |
+
if (!originalGroup || _typeof(originalGroup) != 'object') {
|
1153 |
+
originalGroup = {
|
1154 |
+
name: originalGroup
|
1155 |
+
};
|
1156 |
+
}
|
1157 |
+
|
1158 |
+
group.name = originalGroup.name;
|
1159 |
+
group.checkPull = toFn(originalGroup.pull, true);
|
1160 |
+
group.checkPut = toFn(originalGroup.put);
|
1161 |
+
group.revertClone = originalGroup.revertClone;
|
1162 |
+
options.group = group;
|
1163 |
+
},
|
1164 |
+
_hideGhostForTarget = function _hideGhostForTarget() {
|
1165 |
+
if (!supportCssPointerEvents && ghostEl) {
|
1166 |
+
css(ghostEl, 'display', 'none');
|
1167 |
+
}
|
1168 |
+
},
|
1169 |
+
_unhideGhostForTarget = function _unhideGhostForTarget() {
|
1170 |
+
if (!supportCssPointerEvents && ghostEl) {
|
1171 |
+
css(ghostEl, 'display', '');
|
1172 |
+
}
|
1173 |
+
}; // #1184 fix - Prevent click event on fallback if dragged but item not changed position
|
1174 |
+
|
1175 |
+
|
1176 |
+
if (documentExists) {
|
1177 |
+
document.addEventListener('click', function (evt) {
|
1178 |
+
if (ignoreNextClick) {
|
1179 |
+
evt.preventDefault();
|
1180 |
+
evt.stopPropagation && evt.stopPropagation();
|
1181 |
+
evt.stopImmediatePropagation && evt.stopImmediatePropagation();
|
1182 |
+
ignoreNextClick = false;
|
1183 |
+
return false;
|
1184 |
+
}
|
1185 |
+
}, true);
|
1186 |
+
}
|
1187 |
+
|
1188 |
+
var nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) {
|
1189 |
+
if (dragEl) {
|
1190 |
+
evt = evt.touches ? evt.touches[0] : evt;
|
1191 |
+
|
1192 |
+
var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);
|
1193 |
+
|
1194 |
+
if (nearest) {
|
1195 |
+
// Create imitation event
|
1196 |
+
var event = {};
|
1197 |
+
|
1198 |
+
for (var i in evt) {
|
1199 |
+
if (evt.hasOwnProperty(i)) {
|
1200 |
+
event[i] = evt[i];
|
1201 |
+
}
|
1202 |
+
}
|
1203 |
+
|
1204 |
+
event.target = event.rootEl = nearest;
|
1205 |
+
event.preventDefault = void 0;
|
1206 |
+
event.stopPropagation = void 0;
|
1207 |
+
|
1208 |
+
nearest[expando]._onDragOver(event);
|
1209 |
+
}
|
1210 |
+
}
|
1211 |
+
};
|
1212 |
+
|
1213 |
+
var _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) {
|
1214 |
+
if (dragEl) {
|
1215 |
+
dragEl.parentNode[expando]._isOutsideThisEl(evt.target);
|
1216 |
+
}
|
1217 |
+
};
|
1218 |
+
/**
|
1219 |
+
* @class Sortable
|
1220 |
+
* @param {HTMLElement} el
|
1221 |
+
* @param {Object} [options]
|
1222 |
+
*/
|
1223 |
+
|
1224 |
+
|
1225 |
+
function Sortable(el, options) {
|
1226 |
+
if (!(el && el.nodeType && el.nodeType === 1)) {
|
1227 |
+
throw "Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(el));
|
1228 |
+
}
|
1229 |
+
|
1230 |
+
this.el = el; // root element
|
1231 |
+
|
1232 |
+
this.options = options = _extends({}, options); // Export instance
|
1233 |
+
|
1234 |
+
el[expando] = this;
|
1235 |
+
var defaults = {
|
1236 |
+
group: null,
|
1237 |
+
sort: true,
|
1238 |
+
disabled: false,
|
1239 |
+
store: null,
|
1240 |
+
handle: null,
|
1241 |
+
draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*',
|
1242 |
+
swapThreshold: 1,
|
1243 |
+
// percentage; 0 <= x <= 1
|
1244 |
+
invertSwap: false,
|
1245 |
+
// invert always
|
1246 |
+
invertedSwapThreshold: null,
|
1247 |
+
// will be set to same as swapThreshold if default
|
1248 |
+
removeCloneOnHide: true,
|
1249 |
+
direction: function direction() {
|
1250 |
+
return _detectDirection(el, this.options);
|
1251 |
+
},
|
1252 |
+
ghostClass: 'sortable-ghost',
|
1253 |
+
chosenClass: 'sortable-chosen',
|
1254 |
+
dragClass: 'sortable-drag',
|
1255 |
+
ignore: 'a, img',
|
1256 |
+
filter: null,
|
1257 |
+
preventOnFilter: true,
|
1258 |
+
animation: 0,
|
1259 |
+
easing: null,
|
1260 |
+
setData: function setData(dataTransfer, dragEl) {
|
1261 |
+
dataTransfer.setData('Text', dragEl.textContent);
|
1262 |
+
},
|
1263 |
+
dropBubble: false,
|
1264 |
+
dragoverBubble: false,
|
1265 |
+
dataIdAttr: 'data-id',
|
1266 |
+
delay: 0,
|
1267 |
+
delayOnTouchOnly: false,
|
1268 |
+
touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,
|
1269 |
+
forceFallback: false,
|
1270 |
+
fallbackClass: 'sortable-fallback',
|
1271 |
+
fallbackOnBody: false,
|
1272 |
+
fallbackTolerance: 0,
|
1273 |
+
fallbackOffset: {
|
1274 |
+
x: 0,
|
1275 |
+
y: 0
|
1276 |
+
},
|
1277 |
+
supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window && !Safari,
|
1278 |
+
emptyInsertThreshold: 5
|
1279 |
+
};
|
1280 |
+
PluginManager.initializePlugins(this, el, defaults); // Set default options
|
1281 |
+
|
1282 |
+
for (var name in defaults) {
|
1283 |
+
!(name in options) && (options[name] = defaults[name]);
|
1284 |
+
}
|
1285 |
+
|
1286 |
+
_prepareGroup(options); // Bind all private methods
|
1287 |
+
|
1288 |
+
|
1289 |
+
for (var fn in this) {
|
1290 |
+
if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {
|
1291 |
+
this[fn] = this[fn].bind(this);
|
1292 |
+
}
|
1293 |
+
} // Setup drag mode
|
1294 |
+
|
1295 |
+
|
1296 |
+
this.nativeDraggable = options.forceFallback ? false : supportDraggable;
|
1297 |
+
|
1298 |
+
if (this.nativeDraggable) {
|
1299 |
+
// Touch start threshold cannot be greater than the native dragstart threshold
|
1300 |
+
this.options.touchStartThreshold = 1;
|
1301 |
+
} // Bind events
|
1302 |
+
|
1303 |
+
|
1304 |
+
if (options.supportPointer) {
|
1305 |
+
on(el, 'pointerdown', this._onTapStart);
|
1306 |
+
} else {
|
1307 |
+
on(el, 'mousedown', this._onTapStart);
|
1308 |
+
on(el, 'touchstart', this._onTapStart);
|
1309 |
+
}
|
1310 |
+
|
1311 |
+
if (this.nativeDraggable) {
|
1312 |
+
on(el, 'dragover', this);
|
1313 |
+
on(el, 'dragenter', this);
|
1314 |
+
}
|
1315 |
+
|
1316 |
+
sortables.push(this.el); // Restore sorting
|
1317 |
+
|
1318 |
+
options.store && options.store.get && this.sort(options.store.get(this) || []); // Add animation state manager
|
1319 |
+
|
1320 |
+
_extends(this, AnimationStateManager());
|
1321 |
+
}
|
1322 |
+
|
1323 |
+
Sortable.prototype =
|
1324 |
+
/** @lends Sortable.prototype */
|
1325 |
+
{
|
1326 |
+
constructor: Sortable,
|
1327 |
+
_isOutsideThisEl: function _isOutsideThisEl(target) {
|
1328 |
+
if (!this.el.contains(target) && target !== this.el) {
|
1329 |
+
lastTarget = null;
|
1330 |
+
}
|
1331 |
+
},
|
1332 |
+
_getDirection: function _getDirection(evt, target) {
|
1333 |
+
return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;
|
1334 |
+
},
|
1335 |
+
_onTapStart: function _onTapStart(
|
1336 |
+
/** Event|TouchEvent */
|
1337 |
+
evt) {
|
1338 |
+
if (!evt.cancelable) return;
|
1339 |
+
|
1340 |
+
var _this = this,
|
1341 |
+
el = this.el,
|
1342 |
+
options = this.options,
|
1343 |
+
preventOnFilter = options.preventOnFilter,
|
1344 |
+
type = evt.type,
|
1345 |
+
touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt,
|
1346 |
+
target = (touch || evt).target,
|
1347 |
+
originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target,
|
1348 |
+
filter = options.filter;
|
1349 |
+
|
1350 |
+
_saveInputCheckedState(el); // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.
|
1351 |
+
|
1352 |
+
|
1353 |
+
if (dragEl) {
|
1354 |
+
return;
|
1355 |
+
}
|
1356 |
+
|
1357 |
+
if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {
|
1358 |
+
return; // only left button and enabled
|
1359 |
+
} // cancel dnd if original target is content editable
|
1360 |
+
|
1361 |
+
|
1362 |
+
if (originalTarget.isContentEditable) {
|
1363 |
+
return;
|
1364 |
+
} // Safari ignores further event handling after mousedown
|
1365 |
+
|
1366 |
+
|
1367 |
+
if (!this.nativeDraggable && Safari && target && target.tagName.toUpperCase() === 'SELECT') {
|
1368 |
+
return;
|
1369 |
+
}
|
1370 |
+
|
1371 |
+
target = closest(target, options.draggable, el, false);
|
1372 |
+
|
1373 |
+
if (target && target.animated) {
|
1374 |
+
return;
|
1375 |
+
}
|
1376 |
+
|
1377 |
+
if (lastDownEl === target) {
|
1378 |
+
// Ignoring duplicate `down`
|
1379 |
+
return;
|
1380 |
+
} // Get the index of the dragged element within its parent
|
1381 |
+
|
1382 |
+
|
1383 |
+
oldIndex = index(target);
|
1384 |
+
oldDraggableIndex = index(target, options.draggable); // Check filter
|
1385 |
+
|
1386 |
+
if (typeof filter === 'function') {
|
1387 |
+
if (filter.call(this, evt, target, this)) {
|
1388 |
+
_dispatchEvent({
|
1389 |
+
sortable: _this,
|
1390 |
+
rootEl: originalTarget,
|
1391 |
+
name: 'filter',
|
1392 |
+
targetEl: target,
|
1393 |
+
toEl: el,
|
1394 |
+
fromEl: el
|
1395 |
+
});
|
1396 |
+
|
1397 |
+
pluginEvent('filter', _this, {
|
1398 |
+
evt: evt
|
1399 |
+
});
|
1400 |
+
preventOnFilter && evt.cancelable && evt.preventDefault();
|
1401 |
+
return; // cancel dnd
|
1402 |
+
}
|
1403 |
+
} else if (filter) {
|
1404 |
+
filter = filter.split(',').some(function (criteria) {
|
1405 |
+
criteria = closest(originalTarget, criteria.trim(), el, false);
|
1406 |
+
|
1407 |
+
if (criteria) {
|
1408 |
+
_dispatchEvent({
|
1409 |
+
sortable: _this,
|
1410 |
+
rootEl: criteria,
|
1411 |
+
name: 'filter',
|
1412 |
+
targetEl: target,
|
1413 |
+
fromEl: el,
|
1414 |
+
toEl: el
|
1415 |
+
});
|
1416 |
+
|
1417 |
+
pluginEvent('filter', _this, {
|
1418 |
+
evt: evt
|
1419 |
+
});
|
1420 |
+
return true;
|
1421 |
+
}
|
1422 |
+
});
|
1423 |
+
|
1424 |
+
if (filter) {
|
1425 |
+
preventOnFilter && evt.cancelable && evt.preventDefault();
|
1426 |
+
return; // cancel dnd
|
1427 |
+
}
|
1428 |
+
}
|
1429 |
+
|
1430 |
+
if (options.handle && !closest(originalTarget, options.handle, el, false)) {
|
1431 |
+
return;
|
1432 |
+
} // Prepare `dragstart`
|
1433 |
+
|
1434 |
+
|
1435 |
+
this._prepareDragStart(evt, touch, target);
|
1436 |
+
},
|
1437 |
+
_prepareDragStart: function _prepareDragStart(
|
1438 |
+
/** Event */
|
1439 |
+
evt,
|
1440 |
+
/** Touch */
|
1441 |
+
touch,
|
1442 |
+
/** HTMLElement */
|
1443 |
+
target) {
|
1444 |
+
var _this = this,
|
1445 |
+
el = _this.el,
|
1446 |
+
options = _this.options,
|
1447 |
+
ownerDocument = el.ownerDocument,
|
1448 |
+
dragStartFn;
|
1449 |
+
|
1450 |
+
if (target && !dragEl && target.parentNode === el) {
|
1451 |
+
var dragRect = getRect(target);
|
1452 |
+
rootEl = el;
|
1453 |
+
dragEl = target;
|
1454 |
+
parentEl = dragEl.parentNode;
|
1455 |
+
nextEl = dragEl.nextSibling;
|
1456 |
+
lastDownEl = target;
|
1457 |
+
activeGroup = options.group;
|
1458 |
+
Sortable.dragged = dragEl;
|
1459 |
+
tapEvt = {
|
1460 |
+
target: dragEl,
|
1461 |
+
clientX: (touch || evt).clientX,
|
1462 |
+
clientY: (touch || evt).clientY
|
1463 |
+
};
|
1464 |
+
tapDistanceLeft = tapEvt.clientX - dragRect.left;
|
1465 |
+
tapDistanceTop = tapEvt.clientY - dragRect.top;
|
1466 |
+
this._lastX = (touch || evt).clientX;
|
1467 |
+
this._lastY = (touch || evt).clientY;
|
1468 |
+
dragEl.style['will-change'] = 'all';
|
1469 |
+
|
1470 |
+
dragStartFn = function dragStartFn() {
|
1471 |
+
pluginEvent('delayEnded', _this, {
|
1472 |
+
evt: evt
|
1473 |
+
});
|
1474 |
+
|
1475 |
+
if (Sortable.eventCanceled) {
|
1476 |
+
_this._onDrop();
|
1477 |
+
|
1478 |
+
return;
|
1479 |
+
} // Delayed drag has been triggered
|
1480 |
+
// we can re-enable the events: touchmove/mousemove
|
1481 |
+
|
1482 |
+
|
1483 |
+
_this._disableDelayedDragEvents();
|
1484 |
+
|
1485 |
+
if (!FireFox && _this.nativeDraggable) {
|
1486 |
+
dragEl.draggable = true;
|
1487 |
+
} // Bind the events: dragstart/dragend
|
1488 |
+
|
1489 |
+
|
1490 |
+
_this._triggerDragStart(evt, touch); // Drag start event
|
1491 |
+
|
1492 |
+
|
1493 |
+
_dispatchEvent({
|
1494 |
+
sortable: _this,
|
1495 |
+
name: 'choose',
|
1496 |
+
originalEvent: evt
|
1497 |
+
}); // Chosen item
|
1498 |
+
|
1499 |
+
|
1500 |
+
toggleClass(dragEl, options.chosenClass, true);
|
1501 |
+
}; // Disable "draggable"
|
1502 |
+
|
1503 |
+
|
1504 |
+
options.ignore.split(',').forEach(function (criteria) {
|
1505 |
+
find(dragEl, criteria.trim(), _disableDraggable);
|
1506 |
+
});
|
1507 |
+
on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent);
|
1508 |
+
on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent);
|
1509 |
+
on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent);
|
1510 |
+
on(ownerDocument, 'mouseup', _this._onDrop);
|
1511 |
+
on(ownerDocument, 'touchend', _this._onDrop);
|
1512 |
+
on(ownerDocument, 'touchcancel', _this._onDrop); // Make dragEl draggable (must be before delay for FireFox)
|
1513 |
+
|
1514 |
+
if (FireFox && this.nativeDraggable) {
|
1515 |
+
this.options.touchStartThreshold = 4;
|
1516 |
+
dragEl.draggable = true;
|
1517 |
+
}
|
1518 |
+
|
1519 |
+
pluginEvent('delayStart', this, {
|
1520 |
+
evt: evt
|
1521 |
+
}); // Delay is impossible for native DnD in Edge or IE
|
1522 |
+
|
1523 |
+
if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {
|
1524 |
+
if (Sortable.eventCanceled) {
|
1525 |
+
this._onDrop();
|
1526 |
+
|
1527 |
+
return;
|
1528 |
+
} // If the user moves the pointer or let go the click or touch
|
1529 |
+
// before the delay has been reached:
|
1530 |
+
// disable the delayed drag
|
1531 |
+
|
1532 |
+
|
1533 |
+
on(ownerDocument, 'mouseup', _this._disableDelayedDrag);
|
1534 |
+
on(ownerDocument, 'touchend', _this._disableDelayedDrag);
|
1535 |
+
on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);
|
1536 |
+
on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler);
|
1537 |
+
on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler);
|
1538 |
+
options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler);
|
1539 |
+
_this._dragStartTimer = setTimeout(dragStartFn, options.delay);
|
1540 |
+
} else {
|
1541 |
+
dragStartFn();
|
1542 |
+
}
|
1543 |
+
}
|
1544 |
+
},
|
1545 |
+
_delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(
|
1546 |
+
/** TouchEvent|PointerEvent **/
|
1547 |
+
e) {
|
1548 |
+
var touch = e.touches ? e.touches[0] : e;
|
1549 |
+
|
1550 |
+
if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {
|
1551 |
+
this._disableDelayedDrag();
|
1552 |
+
}
|
1553 |
+
},
|
1554 |
+
_disableDelayedDrag: function _disableDelayedDrag() {
|
1555 |
+
dragEl && _disableDraggable(dragEl);
|
1556 |
+
clearTimeout(this._dragStartTimer);
|
1557 |
+
|
1558 |
+
this._disableDelayedDragEvents();
|
1559 |
+
},
|
1560 |
+
_disableDelayedDragEvents: function _disableDelayedDragEvents() {
|
1561 |
+
var ownerDocument = this.el.ownerDocument;
|
1562 |
+
off(ownerDocument, 'mouseup', this._disableDelayedDrag);
|
1563 |
+
off(ownerDocument, 'touchend', this._disableDelayedDrag);
|
1564 |
+
off(ownerDocument, 'touchcancel', this._disableDelayedDrag);
|
1565 |
+
off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler);
|
1566 |
+
off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler);
|
1567 |
+
off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler);
|
1568 |
+
},
|
1569 |
+
_triggerDragStart: function _triggerDragStart(
|
1570 |
+
/** Event */
|
1571 |
+
evt,
|
1572 |
+
/** Touch */
|
1573 |
+
touch) {
|
1574 |
+
touch = touch || evt.pointerType == 'touch' && evt;
|
1575 |
+
|
1576 |
+
if (!this.nativeDraggable || touch) {
|
1577 |
+
if (this.options.supportPointer) {
|
1578 |
+
on(document, 'pointermove', this._onTouchMove);
|
1579 |
+
} else if (touch) {
|
1580 |
+
on(document, 'touchmove', this._onTouchMove);
|
1581 |
+
} else {
|
1582 |
+
on(document, 'mousemove', this._onTouchMove);
|
1583 |
+
}
|
1584 |
+
} else {
|
1585 |
+
on(dragEl, 'dragend', this);
|
1586 |
+
on(rootEl, 'dragstart', this._onDragStart);
|
1587 |
+
}
|
1588 |
+
|
1589 |
+
try {
|
1590 |
+
if (document.selection) {
|
1591 |
+
// Timeout neccessary for IE9
|
1592 |
+
_nextTick(function () {
|
1593 |
+
document.selection.empty();
|
1594 |
+
});
|
1595 |
+
} else {
|
1596 |
+
window.getSelection().removeAllRanges();
|
1597 |
+
}
|
1598 |
+
} catch (err) {}
|
1599 |
+
},
|
1600 |
+
_dragStarted: function _dragStarted(fallback, evt) {
|
1601 |
+
|
1602 |
+
awaitingDragStarted = false;
|
1603 |
+
|
1604 |
+
if (rootEl && dragEl) {
|
1605 |
+
pluginEvent('dragStarted', this, {
|
1606 |
+
evt: evt
|
1607 |
+
});
|
1608 |
+
|
1609 |
+
if (this.nativeDraggable) {
|
1610 |
+
on(document, 'dragover', _checkOutsideTargetEl);
|
1611 |
+
}
|
1612 |
+
|
1613 |
+
var options = this.options; // Apply effect
|
1614 |
+
|
1615 |
+
!fallback && toggleClass(dragEl, options.dragClass, false);
|
1616 |
+
toggleClass(dragEl, options.ghostClass, true);
|
1617 |
+
Sortable.active = this;
|
1618 |
+
fallback && this._appendGhost(); // Drag start event
|
1619 |
+
|
1620 |
+
_dispatchEvent({
|
1621 |
+
sortable: this,
|
1622 |
+
name: 'start',
|
1623 |
+
originalEvent: evt
|
1624 |
+
});
|
1625 |
+
} else {
|
1626 |
+
this._nulling();
|
1627 |
+
}
|
1628 |
+
},
|
1629 |
+
_emulateDragOver: function _emulateDragOver() {
|
1630 |
+
if (touchEvt) {
|
1631 |
+
this._lastX = touchEvt.clientX;
|
1632 |
+
this._lastY = touchEvt.clientY;
|
1633 |
+
|
1634 |
+
_hideGhostForTarget();
|
1635 |
+
|
1636 |
+
var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);
|
1637 |
+
var parent = target;
|
1638 |
+
|
1639 |
+
while (target && target.shadowRoot) {
|
1640 |
+
target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);
|
1641 |
+
if (target === parent) break;
|
1642 |
+
parent = target;
|
1643 |
+
}
|
1644 |
+
|
1645 |
+
dragEl.parentNode[expando]._isOutsideThisEl(target);
|
1646 |
+
|
1647 |
+
if (parent) {
|
1648 |
+
do {
|
1649 |
+
if (parent[expando]) {
|
1650 |
+
var inserted = void 0;
|
1651 |
+
inserted = parent[expando]._onDragOver({
|
1652 |
+
clientX: touchEvt.clientX,
|
1653 |
+
clientY: touchEvt.clientY,
|
1654 |
+
target: target,
|
1655 |
+
rootEl: parent
|
1656 |
+
});
|
1657 |
+
|
1658 |
+
if (inserted && !this.options.dragoverBubble) {
|
1659 |
+
break;
|
1660 |
+
}
|
1661 |
+
}
|
1662 |
+
|
1663 |
+
target = parent; // store last element
|
1664 |
+
}
|
1665 |
+
/* jshint boss:true */
|
1666 |
+
while (parent = parent.parentNode);
|
1667 |
+
}
|
1668 |
+
|
1669 |
+
_unhideGhostForTarget();
|
1670 |
+
}
|
1671 |
+
},
|
1672 |
+
_onTouchMove: function _onTouchMove(
|
1673 |
+
/**TouchEvent*/
|
1674 |
+
evt) {
|
1675 |
+
if (tapEvt) {
|
1676 |
+
var options = this.options,
|
1677 |
+
fallbackTolerance = options.fallbackTolerance,
|
1678 |
+
fallbackOffset = options.fallbackOffset,
|
1679 |
+
touch = evt.touches ? evt.touches[0] : evt,
|
1680 |
+
ghostMatrix = ghostEl && matrix(ghostEl, true),
|
1681 |
+
scaleX = ghostEl && ghostMatrix && ghostMatrix.a,
|
1682 |
+
scaleY = ghostEl && ghostMatrix && ghostMatrix.d,
|
1683 |
+
relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent),
|
1684 |
+
dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1),
|
1685 |
+
dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1); // only set the status to dragging, when we are actually dragging
|
1686 |
+
|
1687 |
+
if (!Sortable.active && !awaitingDragStarted) {
|
1688 |
+
if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {
|
1689 |
+
return;
|
1690 |
+
}
|
1691 |
+
|
1692 |
+
this._onDragStart(evt, true);
|
1693 |
+
}
|
1694 |
+
|
1695 |
+
if (ghostEl) {
|
1696 |
+
if (ghostMatrix) {
|
1697 |
+
ghostMatrix.e += dx - (lastDx || 0);
|
1698 |
+
ghostMatrix.f += dy - (lastDy || 0);
|
1699 |
+
} else {
|
1700 |
+
ghostMatrix = {
|
1701 |
+
a: 1,
|
1702 |
+
b: 0,
|
1703 |
+
c: 0,
|
1704 |
+
d: 1,
|
1705 |
+
e: dx,
|
1706 |
+
f: dy
|
1707 |
+
};
|
1708 |
+
}
|
1709 |
+
|
1710 |
+
var cssMatrix = "matrix(".concat(ghostMatrix.a, ",").concat(ghostMatrix.b, ",").concat(ghostMatrix.c, ",").concat(ghostMatrix.d, ",").concat(ghostMatrix.e, ",").concat(ghostMatrix.f, ")");
|
1711 |
+
css(ghostEl, 'webkitTransform', cssMatrix);
|
1712 |
+
css(ghostEl, 'mozTransform', cssMatrix);
|
1713 |
+
css(ghostEl, 'msTransform', cssMatrix);
|
1714 |
+
css(ghostEl, 'transform', cssMatrix);
|
1715 |
+
lastDx = dx;
|
1716 |
+
lastDy = dy;
|
1717 |
+
touchEvt = touch;
|
1718 |
+
}
|
1719 |
+
|
1720 |
+
evt.cancelable && evt.preventDefault();
|
1721 |
+
}
|
1722 |
+
},
|
1723 |
+
_appendGhost: function _appendGhost() {
|
1724 |
+
// Bug if using scale(): https://stackoverflow.com/questions/2637058
|
1725 |
+
// Not being adjusted for
|
1726 |
+
if (!ghostEl) {
|
1727 |
+
var container = this.options.fallbackOnBody ? document.body : rootEl,
|
1728 |
+
rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container),
|
1729 |
+
options = this.options; // Position absolutely
|
1730 |
+
|
1731 |
+
if (PositionGhostAbsolutely) {
|
1732 |
+
// Get relatively positioned parent
|
1733 |
+
ghostRelativeParent = container;
|
1734 |
+
|
1735 |
+
while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {
|
1736 |
+
ghostRelativeParent = ghostRelativeParent.parentNode;
|
1737 |
+
}
|
1738 |
+
|
1739 |
+
if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {
|
1740 |
+
if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement();
|
1741 |
+
rect.top += ghostRelativeParent.scrollTop;
|
1742 |
+
rect.left += ghostRelativeParent.scrollLeft;
|
1743 |
+
} else {
|
1744 |
+
ghostRelativeParent = getWindowScrollingElement();
|
1745 |
+
}
|
1746 |
+
|
1747 |
+
ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);
|
1748 |
+
}
|
1749 |
+
|
1750 |
+
ghostEl = dragEl.cloneNode(true);
|
1751 |
+
toggleClass(ghostEl, options.ghostClass, false);
|
1752 |
+
toggleClass(ghostEl, options.fallbackClass, true);
|
1753 |
+
toggleClass(ghostEl, options.dragClass, true);
|
1754 |
+
css(ghostEl, 'transition', '');
|
1755 |
+
css(ghostEl, 'transform', '');
|
1756 |
+
css(ghostEl, 'box-sizing', 'border-box');
|
1757 |
+
css(ghostEl, 'margin', 0);
|
1758 |
+
css(ghostEl, 'top', rect.top);
|
1759 |
+
css(ghostEl, 'left', rect.left);
|
1760 |
+
css(ghostEl, 'width', rect.width);
|
1761 |
+
css(ghostEl, 'height', rect.height);
|
1762 |
+
css(ghostEl, 'opacity', '0.8');
|
1763 |
+
css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');
|
1764 |
+
css(ghostEl, 'zIndex', '100000');
|
1765 |
+
css(ghostEl, 'pointerEvents', 'none');
|
1766 |
+
Sortable.ghost = ghostEl;
|
1767 |
+
container.appendChild(ghostEl); // Set transform-origin
|
1768 |
+
|
1769 |
+
css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');
|
1770 |
+
}
|
1771 |
+
},
|
1772 |
+
_onDragStart: function _onDragStart(
|
1773 |
+
/**Event*/
|
1774 |
+
evt,
|
1775 |
+
/**boolean*/
|
1776 |
+
fallback) {
|
1777 |
+
var _this = this;
|
1778 |
+
|
1779 |
+
var dataTransfer = evt.dataTransfer;
|
1780 |
+
var options = _this.options;
|
1781 |
+
pluginEvent('dragStart', this, {
|
1782 |
+
evt: evt
|
1783 |
+
});
|
1784 |
+
|
1785 |
+
if (Sortable.eventCanceled) {
|
1786 |
+
this._onDrop();
|
1787 |
+
|
1788 |
+
return;
|
1789 |
+
}
|
1790 |
+
|
1791 |
+
pluginEvent('setupClone', this);
|
1792 |
+
|
1793 |
+
if (!Sortable.eventCanceled) {
|
1794 |
+
cloneEl = clone(dragEl);
|
1795 |
+
cloneEl.draggable = false;
|
1796 |
+
cloneEl.style['will-change'] = '';
|
1797 |
+
|
1798 |
+
this._hideClone();
|
1799 |
+
|
1800 |
+
toggleClass(cloneEl, this.options.chosenClass, false);
|
1801 |
+
Sortable.clone = cloneEl;
|
1802 |
+
} // #1143: IFrame support workaround
|
1803 |
+
|
1804 |
+
|
1805 |
+
_this.cloneId = _nextTick(function () {
|
1806 |
+
pluginEvent('clone', _this);
|
1807 |
+
if (Sortable.eventCanceled) return;
|
1808 |
+
|
1809 |
+
if (!_this.options.removeCloneOnHide) {
|
1810 |
+
rootEl.insertBefore(cloneEl, dragEl);
|
1811 |
+
}
|
1812 |
+
|
1813 |
+
_this._hideClone();
|
1814 |
+
|
1815 |
+
_dispatchEvent({
|
1816 |
+
sortable: _this,
|
1817 |
+
name: 'clone'
|
1818 |
+
});
|
1819 |
+
});
|
1820 |
+
!fallback && toggleClass(dragEl, options.dragClass, true); // Set proper drop events
|
1821 |
+
|
1822 |
+
if (fallback) {
|
1823 |
+
ignoreNextClick = true;
|
1824 |
+
_this._loopId = setInterval(_this._emulateDragOver, 50);
|
1825 |
+
} else {
|
1826 |
+
// Undo what was set in _prepareDragStart before drag started
|
1827 |
+
off(document, 'mouseup', _this._onDrop);
|
1828 |
+
off(document, 'touchend', _this._onDrop);
|
1829 |
+
off(document, 'touchcancel', _this._onDrop);
|
1830 |
+
|
1831 |
+
if (dataTransfer) {
|
1832 |
+
dataTransfer.effectAllowed = 'move';
|
1833 |
+
options.setData && options.setData.call(_this, dataTransfer, dragEl);
|
1834 |
+
}
|
1835 |
+
|
1836 |
+
on(document, 'drop', _this); // #1276 fix:
|
1837 |
+
|
1838 |
+
css(dragEl, 'transform', 'translateZ(0)');
|
1839 |
+
}
|
1840 |
+
|
1841 |
+
awaitingDragStarted = true;
|
1842 |
+
_this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));
|
1843 |
+
on(document, 'selectstart', _this);
|
1844 |
+
moved = true;
|
1845 |
+
|
1846 |
+
if (Safari) {
|
1847 |
+
css(document.body, 'user-select', 'none');
|
1848 |
+
}
|
1849 |
+
},
|
1850 |
+
// Returns true - if no further action is needed (either inserted or another condition)
|
1851 |
+
_onDragOver: function _onDragOver(
|
1852 |
+
/**Event*/
|
1853 |
+
evt) {
|
1854 |
+
var el = this.el,
|
1855 |
+
target = evt.target,
|
1856 |
+
dragRect,
|
1857 |
+
targetRect,
|
1858 |
+
revert,
|
1859 |
+
options = this.options,
|
1860 |
+
group = options.group,
|
1861 |
+
activeSortable = Sortable.active,
|
1862 |
+
isOwner = activeGroup === group,
|
1863 |
+
canSort = options.sort,
|
1864 |
+
fromSortable = putSortable || activeSortable,
|
1865 |
+
vertical,
|
1866 |
+
_this = this,
|
1867 |
+
completedFired = false;
|
1868 |
+
|
1869 |
+
if (_silent) return;
|
1870 |
+
|
1871 |
+
function dragOverEvent(name, extra) {
|
1872 |
+
pluginEvent(name, _this, _objectSpread2({
|
1873 |
+
evt: evt,
|
1874 |
+
isOwner: isOwner,
|
1875 |
+
axis: vertical ? 'vertical' : 'horizontal',
|
1876 |
+
revert: revert,
|
1877 |
+
dragRect: dragRect,
|
1878 |
+
targetRect: targetRect,
|
1879 |
+
canSort: canSort,
|
1880 |
+
fromSortable: fromSortable,
|
1881 |
+
target: target,
|
1882 |
+
completed: completed,
|
1883 |
+
onMove: function onMove(target, after) {
|
1884 |
+
return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after);
|
1885 |
+
},
|
1886 |
+
changed: changed
|
1887 |
+
}, extra));
|
1888 |
+
} // Capture animation state
|
1889 |
+
|
1890 |
+
|
1891 |
+
function capture() {
|
1892 |
+
dragOverEvent('dragOverAnimationCapture');
|
1893 |
+
|
1894 |
+
_this.captureAnimationState();
|
1895 |
+
|
1896 |
+
if (_this !== fromSortable) {
|
1897 |
+
fromSortable.captureAnimationState();
|
1898 |
+
}
|
1899 |
+
} // Return invocation when dragEl is inserted (or completed)
|
1900 |
+
|
1901 |
+
|
1902 |
+
function completed(insertion) {
|
1903 |
+
dragOverEvent('dragOverCompleted', {
|
1904 |
+
insertion: insertion
|
1905 |
+
});
|
1906 |
+
|
1907 |
+
if (insertion) {
|
1908 |
+
// Clones must be hidden before folding animation to capture dragRectAbsolute properly
|
1909 |
+
if (isOwner) {
|
1910 |
+
activeSortable._hideClone();
|
1911 |
+
} else {
|
1912 |
+
activeSortable._showClone(_this);
|
1913 |
+
}
|
1914 |
+
|
1915 |
+
if (_this !== fromSortable) {
|
1916 |
+
// Set ghost class to new sortable's ghost class
|
1917 |
+
toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);
|
1918 |
+
toggleClass(dragEl, options.ghostClass, true);
|
1919 |
+
}
|
1920 |
+
|
1921 |
+
if (putSortable !== _this && _this !== Sortable.active) {
|
1922 |
+
putSortable = _this;
|
1923 |
+
} else if (_this === Sortable.active && putSortable) {
|
1924 |
+
putSortable = null;
|
1925 |
+
} // Animation
|
1926 |
+
|
1927 |
+
|
1928 |
+
if (fromSortable === _this) {
|
1929 |
+
_this._ignoreWhileAnimating = target;
|
1930 |
+
}
|
1931 |
+
|
1932 |
+
_this.animateAll(function () {
|
1933 |
+
dragOverEvent('dragOverAnimationComplete');
|
1934 |
+
_this._ignoreWhileAnimating = null;
|
1935 |
+
});
|
1936 |
+
|
1937 |
+
if (_this !== fromSortable) {
|
1938 |
+
fromSortable.animateAll();
|
1939 |
+
fromSortable._ignoreWhileAnimating = null;
|
1940 |
+
}
|
1941 |
+
} // Null lastTarget if it is not inside a previously swapped element
|
1942 |
+
|
1943 |
+
|
1944 |
+
if (target === dragEl && !dragEl.animated || target === el && !target.animated) {
|
1945 |
+
lastTarget = null;
|
1946 |
+
} // no bubbling and not fallback
|
1947 |
+
|
1948 |
+
|
1949 |
+
if (!options.dragoverBubble && !evt.rootEl && target !== document) {
|
1950 |
+
dragEl.parentNode[expando]._isOutsideThisEl(evt.target); // Do not detect for empty insert if already inserted
|
1951 |
+
|
1952 |
+
|
1953 |
+
!insertion && nearestEmptyInsertDetectEvent(evt);
|
1954 |
+
}
|
1955 |
+
|
1956 |
+
!options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();
|
1957 |
+
return completedFired = true;
|
1958 |
+
} // Call when dragEl has been inserted
|
1959 |
+
|
1960 |
+
|
1961 |
+
function changed() {
|
1962 |
+
newIndex = index(dragEl);
|
1963 |
+
newDraggableIndex = index(dragEl, options.draggable);
|
1964 |
+
|
1965 |
+
_dispatchEvent({
|
1966 |
+
sortable: _this,
|
1967 |
+
name: 'change',
|
1968 |
+
toEl: el,
|
1969 |
+
newIndex: newIndex,
|
1970 |
+
newDraggableIndex: newDraggableIndex,
|
1971 |
+
originalEvent: evt
|
1972 |
+
});
|
1973 |
+
}
|
1974 |
+
|
1975 |
+
if (evt.preventDefault !== void 0) {
|
1976 |
+
evt.cancelable && evt.preventDefault();
|
1977 |
+
}
|
1978 |
+
|
1979 |
+
target = closest(target, options.draggable, el, true);
|
1980 |
+
dragOverEvent('dragOver');
|
1981 |
+
if (Sortable.eventCanceled) return completedFired;
|
1982 |
+
|
1983 |
+
if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {
|
1984 |
+
return completed(false);
|
1985 |
+
}
|
1986 |
+
|
1987 |
+
ignoreNextClick = false;
|
1988 |
+
|
1989 |
+
if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = parentEl !== rootEl) // Reverting item into the original list
|
1990 |
+
: putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {
|
1991 |
+
vertical = this._getDirection(evt, target) === 'vertical';
|
1992 |
+
dragRect = getRect(dragEl);
|
1993 |
+
dragOverEvent('dragOverValid');
|
1994 |
+
if (Sortable.eventCanceled) return completedFired;
|
1995 |
+
|
1996 |
+
if (revert) {
|
1997 |
+
parentEl = rootEl; // actualization
|
1998 |
+
|
1999 |
+
capture();
|
2000 |
+
|
2001 |
+
this._hideClone();
|
2002 |
+
|
2003 |
+
dragOverEvent('revert');
|
2004 |
+
|
2005 |
+
if (!Sortable.eventCanceled) {
|
2006 |
+
if (nextEl) {
|
2007 |
+
rootEl.insertBefore(dragEl, nextEl);
|
2008 |
+
} else {
|
2009 |
+
rootEl.appendChild(dragEl);
|
2010 |
+
}
|
2011 |
+
}
|
2012 |
+
|
2013 |
+
return completed(true);
|
2014 |
+
}
|
2015 |
+
|
2016 |
+
var elLastChild = lastChild(el, options.draggable);
|
2017 |
+
|
2018 |
+
if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {
|
2019 |
+
// Insert to end of list
|
2020 |
+
// If already at end of list: Do not insert
|
2021 |
+
if (elLastChild === dragEl) {
|
2022 |
+
return completed(false);
|
2023 |
+
} // if there is a last element, it is the target
|
2024 |
+
|
2025 |
+
|
2026 |
+
if (elLastChild && el === evt.target) {
|
2027 |
+
target = elLastChild;
|
2028 |
+
}
|
2029 |
+
|
2030 |
+
if (target) {
|
2031 |
+
targetRect = getRect(target);
|
2032 |
+
}
|
2033 |
+
|
2034 |
+
if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {
|
2035 |
+
capture();
|
2036 |
+
el.appendChild(dragEl);
|
2037 |
+
parentEl = el; // actualization
|
2038 |
+
|
2039 |
+
changed();
|
2040 |
+
return completed(true);
|
2041 |
+
}
|
2042 |
+
} else if (elLastChild && _ghostIsFirst(evt, vertical, this)) {
|
2043 |
+
// Insert to start of list
|
2044 |
+
var firstChild = getChild(el, 0, options, true);
|
2045 |
+
|
2046 |
+
if (firstChild === dragEl) {
|
2047 |
+
return completed(false);
|
2048 |
+
}
|
2049 |
+
|
2050 |
+
target = firstChild;
|
2051 |
+
targetRect = getRect(target);
|
2052 |
+
|
2053 |
+
if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, false) !== false) {
|
2054 |
+
capture();
|
2055 |
+
el.insertBefore(dragEl, firstChild);
|
2056 |
+
parentEl = el; // actualization
|
2057 |
+
|
2058 |
+
changed();
|
2059 |
+
return completed(true);
|
2060 |
+
}
|
2061 |
+
} else if (target.parentNode === el) {
|
2062 |
+
targetRect = getRect(target);
|
2063 |
+
var direction = 0,
|
2064 |
+
targetBeforeFirstSwap,
|
2065 |
+
differentLevel = dragEl.parentNode !== el,
|
2066 |
+
differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical),
|
2067 |
+
side1 = vertical ? 'top' : 'left',
|
2068 |
+
scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'),
|
2069 |
+
scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;
|
2070 |
+
|
2071 |
+
if (lastTarget !== target) {
|
2072 |
+
targetBeforeFirstSwap = targetRect[side1];
|
2073 |
+
pastFirstInvertThresh = false;
|
2074 |
+
isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;
|
2075 |
+
}
|
2076 |
+
|
2077 |
+
direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);
|
2078 |
+
var sibling;
|
2079 |
+
|
2080 |
+
if (direction !== 0) {
|
2081 |
+
// Check if target is beside dragEl in respective direction (ignoring hidden elements)
|
2082 |
+
var dragIndex = index(dragEl);
|
2083 |
+
|
2084 |
+
do {
|
2085 |
+
dragIndex -= direction;
|
2086 |
+
sibling = parentEl.children[dragIndex];
|
2087 |
+
} while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl));
|
2088 |
+
} // If dragEl is already beside target: Do not insert
|
2089 |
+
|
2090 |
+
|
2091 |
+
if (direction === 0 || sibling === target) {
|
2092 |
+
return completed(false);
|
2093 |
+
}
|
2094 |
+
|
2095 |
+
lastTarget = target;
|
2096 |
+
lastDirection = direction;
|
2097 |
+
var nextSibling = target.nextElementSibling,
|
2098 |
+
after = false;
|
2099 |
+
after = direction === 1;
|
2100 |
+
|
2101 |
+
var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);
|
2102 |
+
|
2103 |
+
if (moveVector !== false) {
|
2104 |
+
if (moveVector === 1 || moveVector === -1) {
|
2105 |
+
after = moveVector === 1;
|
2106 |
+
}
|
2107 |
+
|
2108 |
+
_silent = true;
|
2109 |
+
setTimeout(_unsilent, 30);
|
2110 |
+
capture();
|
2111 |
+
|
2112 |
+
if (after && !nextSibling) {
|
2113 |
+
el.appendChild(dragEl);
|
2114 |
+
} else {
|
2115 |
+
target.parentNode.insertBefore(dragEl, after ? nextSibling : target);
|
2116 |
+
} // Undo chrome's scroll adjustment (has no effect on other browsers)
|
2117 |
+
|
2118 |
+
|
2119 |
+
if (scrolledPastTop) {
|
2120 |
+
scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);
|
2121 |
+
}
|
2122 |
+
|
2123 |
+
parentEl = dragEl.parentNode; // actualization
|
2124 |
+
// must be done before animation
|
2125 |
+
|
2126 |
+
if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) {
|
2127 |
+
targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);
|
2128 |
+
}
|
2129 |
+
|
2130 |
+
changed();
|
2131 |
+
return completed(true);
|
2132 |
+
}
|
2133 |
+
}
|
2134 |
+
|
2135 |
+
if (el.contains(dragEl)) {
|
2136 |
+
return completed(false);
|
2137 |
+
}
|
2138 |
+
}
|
2139 |
+
|
2140 |
+
return false;
|
2141 |
+
},
|
2142 |
+
_ignoreWhileAnimating: null,
|
2143 |
+
_offMoveEvents: function _offMoveEvents() {
|
2144 |
+
off(document, 'mousemove', this._onTouchMove);
|
2145 |
+
off(document, 'touchmove', this._onTouchMove);
|
2146 |
+
off(document, 'pointermove', this._onTouchMove);
|
2147 |
+
off(document, 'dragover', nearestEmptyInsertDetectEvent);
|
2148 |
+
off(document, 'mousemove', nearestEmptyInsertDetectEvent);
|
2149 |
+
off(document, 'touchmove', nearestEmptyInsertDetectEvent);
|
2150 |
+
},
|
2151 |
+
_offUpEvents: function _offUpEvents() {
|
2152 |
+
var ownerDocument = this.el.ownerDocument;
|
2153 |
+
off(ownerDocument, 'mouseup', this._onDrop);
|
2154 |
+
off(ownerDocument, 'touchend', this._onDrop);
|
2155 |
+
off(ownerDocument, 'pointerup', this._onDrop);
|
2156 |
+
off(ownerDocument, 'touchcancel', this._onDrop);
|
2157 |
+
off(document, 'selectstart', this);
|
2158 |
+
},
|
2159 |
+
_onDrop: function _onDrop(
|
2160 |
+
/**Event*/
|
2161 |
+
evt) {
|
2162 |
+
var el = this.el,
|
2163 |
+
options = this.options; // Get the index of the dragged element within its parent
|
2164 |
+
|
2165 |
+
newIndex = index(dragEl);
|
2166 |
+
newDraggableIndex = index(dragEl, options.draggable);
|
2167 |
+
pluginEvent('drop', this, {
|
2168 |
+
evt: evt
|
2169 |
+
});
|
2170 |
+
parentEl = dragEl && dragEl.parentNode; // Get again after plugin event
|
2171 |
+
|
2172 |
+
newIndex = index(dragEl);
|
2173 |
+
newDraggableIndex = index(dragEl, options.draggable);
|
2174 |
+
|
2175 |
+
if (Sortable.eventCanceled) {
|
2176 |
+
this._nulling();
|
2177 |
+
|
2178 |
+
return;
|
2179 |
+
}
|
2180 |
+
|
2181 |
+
awaitingDragStarted = false;
|
2182 |
+
isCircumstantialInvert = false;
|
2183 |
+
pastFirstInvertThresh = false;
|
2184 |
+
clearInterval(this._loopId);
|
2185 |
+
clearTimeout(this._dragStartTimer);
|
2186 |
+
|
2187 |
+
_cancelNextTick(this.cloneId);
|
2188 |
+
|
2189 |
+
_cancelNextTick(this._dragStartId); // Unbind events
|
2190 |
+
|
2191 |
+
|
2192 |
+
if (this.nativeDraggable) {
|
2193 |
+
off(document, 'drop', this);
|
2194 |
+
off(el, 'dragstart', this._onDragStart);
|
2195 |
+
}
|
2196 |
+
|
2197 |
+
this._offMoveEvents();
|
2198 |
+
|
2199 |
+
this._offUpEvents();
|
2200 |
+
|
2201 |
+
if (Safari) {
|
2202 |
+
css(document.body, 'user-select', '');
|
2203 |
+
}
|
2204 |
+
|
2205 |
+
css(dragEl, 'transform', '');
|
2206 |
+
|
2207 |
+
if (evt) {
|
2208 |
+
if (moved) {
|
2209 |
+
evt.cancelable && evt.preventDefault();
|
2210 |
+
!options.dropBubble && evt.stopPropagation();
|
2211 |
+
}
|
2212 |
+
|
2213 |
+
ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);
|
2214 |
+
|
2215 |
+
if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {
|
2216 |
+
// Remove clone(s)
|
2217 |
+
cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);
|
2218 |
+
}
|
2219 |
+
|
2220 |
+
if (dragEl) {
|
2221 |
+
if (this.nativeDraggable) {
|
2222 |
+
off(dragEl, 'dragend', this);
|
2223 |
+
}
|
2224 |
+
|
2225 |
+
_disableDraggable(dragEl);
|
2226 |
+
|
2227 |
+
dragEl.style['will-change'] = ''; // Remove classes
|
2228 |
+
// ghostClass is added in dragStarted
|
2229 |
+
|
2230 |
+
if (moved && !awaitingDragStarted) {
|
2231 |
+
toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);
|
2232 |
+
}
|
2233 |
+
|
2234 |
+
toggleClass(dragEl, this.options.chosenClass, false); // Drag stop event
|
2235 |
+
|
2236 |
+
_dispatchEvent({
|
2237 |
+
sortable: this,
|
2238 |
+
name: 'unchoose',
|
2239 |
+
toEl: parentEl,
|
2240 |
+
newIndex: null,
|
2241 |
+
newDraggableIndex: null,
|
2242 |
+
originalEvent: evt
|
2243 |
+
});
|
2244 |
+
|
2245 |
+
if (rootEl !== parentEl) {
|
2246 |
+
if (newIndex >= 0) {
|
2247 |
+
// Add event
|
2248 |
+
_dispatchEvent({
|
2249 |
+
rootEl: parentEl,
|
2250 |
+
name: 'add',
|
2251 |
+
toEl: parentEl,
|
2252 |
+
fromEl: rootEl,
|
2253 |
+
originalEvent: evt
|
2254 |
+
}); // Remove event
|
2255 |
+
|
2256 |
+
|
2257 |
+
_dispatchEvent({
|
2258 |
+
sortable: this,
|
2259 |
+
name: 'remove',
|
2260 |
+
toEl: parentEl,
|
2261 |
+
originalEvent: evt
|
2262 |
+
}); // drag from one list and drop into another
|
2263 |
+
|
2264 |
+
|
2265 |
+
_dispatchEvent({
|
2266 |
+
rootEl: parentEl,
|
2267 |
+
name: 'sort',
|
2268 |
+
toEl: parentEl,
|
2269 |
+
fromEl: rootEl,
|
2270 |
+
originalEvent: evt
|
2271 |
+
});
|
2272 |
+
|
2273 |
+
_dispatchEvent({
|
2274 |
+
sortable: this,
|
2275 |
+
name: 'sort',
|
2276 |
+
toEl: parentEl,
|
2277 |
+
originalEvent: evt
|
2278 |
+
});
|
2279 |
+
}
|
2280 |
+
|
2281 |
+
putSortable && putSortable.save();
|
2282 |
+
} else {
|
2283 |
+
if (newIndex !== oldIndex) {
|
2284 |
+
if (newIndex >= 0) {
|
2285 |
+
// drag & drop within the same list
|
2286 |
+
_dispatchEvent({
|
2287 |
+
sortable: this,
|
2288 |
+
name: 'update',
|
2289 |
+
toEl: parentEl,
|
2290 |
+
originalEvent: evt
|
2291 |
+
});
|
2292 |
+
|
2293 |
+
_dispatchEvent({
|
2294 |
+
sortable: this,
|
2295 |
+
name: 'sort',
|
2296 |
+
toEl: parentEl,
|
2297 |
+
originalEvent: evt
|
2298 |
+
});
|
2299 |
+
}
|
2300 |
+
}
|
2301 |
+
}
|
2302 |
+
|
2303 |
+
if (Sortable.active) {
|
2304 |
+
/* jshint eqnull:true */
|
2305 |
+
if (newIndex == null || newIndex === -1) {
|
2306 |
+
newIndex = oldIndex;
|
2307 |
+
newDraggableIndex = oldDraggableIndex;
|
2308 |
+
}
|
2309 |
+
|
2310 |
+
_dispatchEvent({
|
2311 |
+
sortable: this,
|
2312 |
+
name: 'end',
|
2313 |
+
toEl: parentEl,
|
2314 |
+
originalEvent: evt
|
2315 |
+
}); // Save sorting
|
2316 |
+
|
2317 |
+
|
2318 |
+
this.save();
|
2319 |
+
}
|
2320 |
+
}
|
2321 |
+
}
|
2322 |
+
|
2323 |
+
this._nulling();
|
2324 |
+
},
|
2325 |
+
_nulling: function _nulling() {
|
2326 |
+
pluginEvent('nulling', this);
|
2327 |
+
rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;
|
2328 |
+
savedInputChecked.forEach(function (el) {
|
2329 |
+
el.checked = true;
|
2330 |
+
});
|
2331 |
+
savedInputChecked.length = lastDx = lastDy = 0;
|
2332 |
+
},
|
2333 |
+
handleEvent: function handleEvent(
|
2334 |
+
/**Event*/
|
2335 |
+
evt) {
|
2336 |
+
switch (evt.type) {
|
2337 |
+
case 'drop':
|
2338 |
+
case 'dragend':
|
2339 |
+
this._onDrop(evt);
|
2340 |
+
|
2341 |
+
break;
|
2342 |
+
|
2343 |
+
case 'dragenter':
|
2344 |
+
case 'dragover':
|
2345 |
+
if (dragEl) {
|
2346 |
+
this._onDragOver(evt);
|
2347 |
+
|
2348 |
+
_globalDragOver(evt);
|
2349 |
+
}
|
2350 |
+
|
2351 |
+
break;
|
2352 |
+
|
2353 |
+
case 'selectstart':
|
2354 |
+
evt.preventDefault();
|
2355 |
+
break;
|
2356 |
+
}
|
2357 |
+
},
|
2358 |
+
|
2359 |
+
/**
|
2360 |
+
* Serializes the item into an array of string.
|
2361 |
+
* @returns {String[]}
|
2362 |
+
*/
|
2363 |
+
toArray: function toArray() {
|
2364 |
+
var order = [],
|
2365 |
+
el,
|
2366 |
+
children = this.el.children,
|
2367 |
+
i = 0,
|
2368 |
+
n = children.length,
|
2369 |
+
options = this.options;
|
2370 |
+
|
2371 |
+
for (; i < n; i++) {
|
2372 |
+
el = children[i];
|
2373 |
+
|
2374 |
+
if (closest(el, options.draggable, this.el, false)) {
|
2375 |
+
order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));
|
2376 |
+
}
|
2377 |
+
}
|
2378 |
+
|
2379 |
+
return order;
|
2380 |
+
},
|
2381 |
+
|
2382 |
+
/**
|
2383 |
+
* Sorts the elements according to the array.
|
2384 |
+
* @param {String[]} order order of the items
|
2385 |
+
*/
|
2386 |
+
sort: function sort(order, useAnimation) {
|
2387 |
+
var items = {},
|
2388 |
+
rootEl = this.el;
|
2389 |
+
this.toArray().forEach(function (id, i) {
|
2390 |
+
var el = rootEl.children[i];
|
2391 |
+
|
2392 |
+
if (closest(el, this.options.draggable, rootEl, false)) {
|
2393 |
+
items[id] = el;
|
2394 |
+
}
|
2395 |
+
}, this);
|
2396 |
+
useAnimation && this.captureAnimationState();
|
2397 |
+
order.forEach(function (id) {
|
2398 |
+
if (items[id]) {
|
2399 |
+
rootEl.removeChild(items[id]);
|
2400 |
+
rootEl.appendChild(items[id]);
|
2401 |
+
}
|
2402 |
+
});
|
2403 |
+
useAnimation && this.animateAll();
|
2404 |
+
},
|
2405 |
+
|
2406 |
+
/**
|
2407 |
+
* Save the current sorting
|
2408 |
+
*/
|
2409 |
+
save: function save() {
|
2410 |
+
var store = this.options.store;
|
2411 |
+
store && store.set && store.set(this);
|
2412 |
+
},
|
2413 |
+
|
2414 |
+
/**
|
2415 |
+
* For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.
|
2416 |
+
* @param {HTMLElement} el
|
2417 |
+
* @param {String} [selector] default: `options.draggable`
|
2418 |
+
* @returns {HTMLElement|null}
|
2419 |
+
*/
|
2420 |
+
closest: function closest$1(el, selector) {
|
2421 |
+
return closest(el, selector || this.options.draggable, this.el, false);
|
2422 |
+
},
|
2423 |
+
|
2424 |
+
/**
|
2425 |
+
* Set/get option
|
2426 |
+
* @param {string} name
|
2427 |
+
* @param {*} [value]
|
2428 |
+
* @returns {*}
|
2429 |
+
*/
|
2430 |
+
option: function option(name, value) {
|
2431 |
+
var options = this.options;
|
2432 |
+
|
2433 |
+
if (value === void 0) {
|
2434 |
+
return options[name];
|
2435 |
+
} else {
|
2436 |
+
var modifiedValue = PluginManager.modifyOption(this, name, value);
|
2437 |
+
|
2438 |
+
if (typeof modifiedValue !== 'undefined') {
|
2439 |
+
options[name] = modifiedValue;
|
2440 |
+
} else {
|
2441 |
+
options[name] = value;
|
2442 |
+
}
|
2443 |
+
|
2444 |
+
if (name === 'group') {
|
2445 |
+
_prepareGroup(options);
|
2446 |
+
}
|
2447 |
+
}
|
2448 |
+
},
|
2449 |
+
|
2450 |
+
/**
|
2451 |
+
* Destroy
|
2452 |
+
*/
|
2453 |
+
destroy: function destroy() {
|
2454 |
+
pluginEvent('destroy', this);
|
2455 |
+
var el = this.el;
|
2456 |
+
el[expando] = null;
|
2457 |
+
off(el, 'mousedown', this._onTapStart);
|
2458 |
+
off(el, 'touchstart', this._onTapStart);
|
2459 |
+
off(el, 'pointerdown', this._onTapStart);
|
2460 |
+
|
2461 |
+
if (this.nativeDraggable) {
|
2462 |
+
off(el, 'dragover', this);
|
2463 |
+
off(el, 'dragenter', this);
|
2464 |
+
} // Remove draggable attributes
|
2465 |
+
|
2466 |
+
|
2467 |
+
Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {
|
2468 |
+
el.removeAttribute('draggable');
|
2469 |
+
});
|
2470 |
+
|
2471 |
+
this._onDrop();
|
2472 |
+
|
2473 |
+
this._disableDelayedDragEvents();
|
2474 |
+
|
2475 |
+
sortables.splice(sortables.indexOf(this.el), 1);
|
2476 |
+
this.el = el = null;
|
2477 |
+
},
|
2478 |
+
_hideClone: function _hideClone() {
|
2479 |
+
if (!cloneHidden) {
|
2480 |
+
pluginEvent('hideClone', this);
|
2481 |
+
if (Sortable.eventCanceled) return;
|
2482 |
+
css(cloneEl, 'display', 'none');
|
2483 |
+
|
2484 |
+
if (this.options.removeCloneOnHide && cloneEl.parentNode) {
|
2485 |
+
cloneEl.parentNode.removeChild(cloneEl);
|
2486 |
+
}
|
2487 |
+
|
2488 |
+
cloneHidden = true;
|
2489 |
+
}
|
2490 |
+
},
|
2491 |
+
_showClone: function _showClone(putSortable) {
|
2492 |
+
if (putSortable.lastPutMode !== 'clone') {
|
2493 |
+
this._hideClone();
|
2494 |
+
|
2495 |
+
return;
|
2496 |
+
}
|
2497 |
+
|
2498 |
+
if (cloneHidden) {
|
2499 |
+
pluginEvent('showClone', this);
|
2500 |
+
if (Sortable.eventCanceled) return; // show clone at dragEl or original position
|
2501 |
+
|
2502 |
+
if (dragEl.parentNode == rootEl && !this.options.group.revertClone) {
|
2503 |
+
rootEl.insertBefore(cloneEl, dragEl);
|
2504 |
+
} else if (nextEl) {
|
2505 |
+
rootEl.insertBefore(cloneEl, nextEl);
|
2506 |
+
} else {
|
2507 |
+
rootEl.appendChild(cloneEl);
|
2508 |
+
}
|
2509 |
+
|
2510 |
+
if (this.options.group.revertClone) {
|
2511 |
+
this.animate(dragEl, cloneEl);
|
2512 |
+
}
|
2513 |
+
|
2514 |
+
css(cloneEl, 'display', '');
|
2515 |
+
cloneHidden = false;
|
2516 |
+
}
|
2517 |
+
}
|
2518 |
+
};
|
2519 |
+
|
2520 |
+
function _globalDragOver(
|
2521 |
+
/**Event*/
|
2522 |
+
evt) {
|
2523 |
+
if (evt.dataTransfer) {
|
2524 |
+
evt.dataTransfer.dropEffect = 'move';
|
2525 |
+
}
|
2526 |
+
|
2527 |
+
evt.cancelable && evt.preventDefault();
|
2528 |
+
}
|
2529 |
+
|
2530 |
+
function _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {
|
2531 |
+
var evt,
|
2532 |
+
sortable = fromEl[expando],
|
2533 |
+
onMoveFn = sortable.options.onMove,
|
2534 |
+
retVal; // Support for new CustomEvent feature
|
2535 |
+
|
2536 |
+
if (window.CustomEvent && !IE11OrLess && !Edge) {
|
2537 |
+
evt = new CustomEvent('move', {
|
2538 |
+
bubbles: true,
|
2539 |
+
cancelable: true
|
2540 |
+
});
|
2541 |
+
} else {
|
2542 |
+
evt = document.createEvent('Event');
|
2543 |
+
evt.initEvent('move', true, true);
|
2544 |
+
}
|
2545 |
+
|
2546 |
+
evt.to = toEl;
|
2547 |
+
evt.from = fromEl;
|
2548 |
+
evt.dragged = dragEl;
|
2549 |
+
evt.draggedRect = dragRect;
|
2550 |
+
evt.related = targetEl || toEl;
|
2551 |
+
evt.relatedRect = targetRect || getRect(toEl);
|
2552 |
+
evt.willInsertAfter = willInsertAfter;
|
2553 |
+
evt.originalEvent = originalEvent;
|
2554 |
+
fromEl.dispatchEvent(evt);
|
2555 |
+
|
2556 |
+
if (onMoveFn) {
|
2557 |
+
retVal = onMoveFn.call(sortable, evt, originalEvent);
|
2558 |
+
}
|
2559 |
+
|
2560 |
+
return retVal;
|
2561 |
+
}
|
2562 |
+
|
2563 |
+
function _disableDraggable(el) {
|
2564 |
+
el.draggable = false;
|
2565 |
+
}
|
2566 |
+
|
2567 |
+
function _unsilent() {
|
2568 |
+
_silent = false;
|
2569 |
+
}
|
2570 |
+
|
2571 |
+
function _ghostIsFirst(evt, vertical, sortable) {
|
2572 |
+
var rect = getRect(getChild(sortable.el, 0, sortable.options, true));
|
2573 |
+
var spacer = 10;
|
2574 |
+
return vertical ? evt.clientX < rect.left - spacer || evt.clientY < rect.top && evt.clientX < rect.right : evt.clientY < rect.top - spacer || evt.clientY < rect.bottom && evt.clientX < rect.left;
|
2575 |
+
}
|
2576 |
+
|
2577 |
+
function _ghostIsLast(evt, vertical, sortable) {
|
2578 |
+
var rect = getRect(lastChild(sortable.el, sortable.options.draggable));
|
2579 |
+
var spacer = 10;
|
2580 |
+
return vertical ? evt.clientX > rect.right + spacer || evt.clientX <= rect.right && evt.clientY > rect.bottom && evt.clientX >= rect.left : evt.clientX > rect.right && evt.clientY > rect.top || evt.clientX <= rect.right && evt.clientY > rect.bottom + spacer;
|
2581 |
+
}
|
2582 |
+
|
2583 |
+
function _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {
|
2584 |
+
var mouseOnAxis = vertical ? evt.clientY : evt.clientX,
|
2585 |
+
targetLength = vertical ? targetRect.height : targetRect.width,
|
2586 |
+
targetS1 = vertical ? targetRect.top : targetRect.left,
|
2587 |
+
targetS2 = vertical ? targetRect.bottom : targetRect.right,
|
2588 |
+
invert = false;
|
2589 |
+
|
2590 |
+
if (!invertSwap) {
|
2591 |
+
// Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold
|
2592 |
+
if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {
|
2593 |
+
// multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2
|
2594 |
+
// check if past first invert threshold on side opposite of lastDirection
|
2595 |
+
if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {
|
2596 |
+
// past first invert threshold, do not restrict inverted threshold to dragEl shadow
|
2597 |
+
pastFirstInvertThresh = true;
|
2598 |
+
}
|
2599 |
+
|
2600 |
+
if (!pastFirstInvertThresh) {
|
2601 |
+
// dragEl shadow (target move distance shadow)
|
2602 |
+
if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow
|
2603 |
+
: mouseOnAxis > targetS2 - targetMoveDistance) {
|
2604 |
+
return -lastDirection;
|
2605 |
+
}
|
2606 |
+
} else {
|
2607 |
+
invert = true;
|
2608 |
+
}
|
2609 |
+
} else {
|
2610 |
+
// Regular
|
2611 |
+
if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {
|
2612 |
+
return _getInsertDirection(target);
|
2613 |
+
}
|
2614 |
+
}
|
2615 |
+
}
|
2616 |
+
|
2617 |
+
invert = invert || invertSwap;
|
2618 |
+
|
2619 |
+
if (invert) {
|
2620 |
+
// Invert of regular
|
2621 |
+
if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {
|
2622 |
+
return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;
|
2623 |
+
}
|
2624 |
+
}
|
2625 |
+
|
2626 |
+
return 0;
|
2627 |
+
}
|
2628 |
+
/**
|
2629 |
+
* Gets the direction dragEl must be swapped relative to target in order to make it
|
2630 |
+
* seem that dragEl has been "inserted" into that element's position
|
2631 |
+
* @param {HTMLElement} target The target whose position dragEl is being inserted at
|
2632 |
+
* @return {Number} Direction dragEl must be swapped
|
2633 |
+
*/
|
2634 |
+
|
2635 |
+
|
2636 |
+
function _getInsertDirection(target) {
|
2637 |
+
if (index(dragEl) < index(target)) {
|
2638 |
+
return 1;
|
2639 |
+
} else {
|
2640 |
+
return -1;
|
2641 |
+
}
|
2642 |
+
}
|
2643 |
+
/**
|
2644 |
+
* Generate id
|
2645 |
+
* @param {HTMLElement} el
|
2646 |
+
* @returns {String}
|
2647 |
+
* @private
|
2648 |
+
*/
|
2649 |
+
|
2650 |
+
|
2651 |
+
function _generateId(el) {
|
2652 |
+
var str = el.tagName + el.className + el.src + el.href + el.textContent,
|
2653 |
+
i = str.length,
|
2654 |
+
sum = 0;
|
2655 |
+
|
2656 |
+
while (i--) {
|
2657 |
+
sum += str.charCodeAt(i);
|
2658 |
+
}
|
2659 |
+
|
2660 |
+
return sum.toString(36);
|
2661 |
+
}
|
2662 |
+
|
2663 |
+
function _saveInputCheckedState(root) {
|
2664 |
+
savedInputChecked.length = 0;
|
2665 |
+
var inputs = root.getElementsByTagName('input');
|
2666 |
+
var idx = inputs.length;
|
2667 |
+
|
2668 |
+
while (idx--) {
|
2669 |
+
var el = inputs[idx];
|
2670 |
+
el.checked && savedInputChecked.push(el);
|
2671 |
+
}
|
2672 |
+
}
|
2673 |
+
|
2674 |
+
function _nextTick(fn) {
|
2675 |
+
return setTimeout(fn, 0);
|
2676 |
+
}
|
2677 |
+
|
2678 |
+
function _cancelNextTick(id) {
|
2679 |
+
return clearTimeout(id);
|
2680 |
+
} // Fixed #973:
|
2681 |
+
|
2682 |
+
|
2683 |
+
if (documentExists) {
|
2684 |
+
on(document, 'touchmove', function (evt) {
|
2685 |
+
if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {
|
2686 |
+
evt.preventDefault();
|
2687 |
+
}
|
2688 |
+
});
|
2689 |
+
} // Export utils
|
2690 |
+
|
2691 |
+
|
2692 |
+
Sortable.utils = {
|
2693 |
+
on: on,
|
2694 |
+
off: off,
|
2695 |
+
css: css,
|
2696 |
+
find: find,
|
2697 |
+
is: function is(el, selector) {
|
2698 |
+
return !!closest(el, selector, el, false);
|
2699 |
+
},
|
2700 |
+
extend: extend,
|
2701 |
+
throttle: throttle,
|
2702 |
+
closest: closest,
|
2703 |
+
toggleClass: toggleClass,
|
2704 |
+
clone: clone,
|
2705 |
+
index: index,
|
2706 |
+
nextTick: _nextTick,
|
2707 |
+
cancelNextTick: _cancelNextTick,
|
2708 |
+
detectDirection: _detectDirection,
|
2709 |
+
getChild: getChild
|
2710 |
+
};
|
2711 |
+
/**
|
2712 |
+
* Get the Sortable instance of an element
|
2713 |
+
* @param {HTMLElement} element The element
|
2714 |
+
* @return {Sortable|undefined} The instance of Sortable
|
2715 |
+
*/
|
2716 |
+
|
2717 |
+
Sortable.get = function (element) {
|
2718 |
+
return element[expando];
|
2719 |
+
};
|
2720 |
+
/**
|
2721 |
+
* Mount a plugin to Sortable
|
2722 |
+
* @param {...SortablePlugin|SortablePlugin[]} plugins Plugins being mounted
|
2723 |
+
*/
|
2724 |
+
|
2725 |
+
|
2726 |
+
Sortable.mount = function () {
|
2727 |
+
for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {
|
2728 |
+
plugins[_key] = arguments[_key];
|
2729 |
+
}
|
2730 |
+
|
2731 |
+
if (plugins[0].constructor === Array) plugins = plugins[0];
|
2732 |
+
plugins.forEach(function (plugin) {
|
2733 |
+
if (!plugin.prototype || !plugin.prototype.constructor) {
|
2734 |
+
throw "Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(plugin));
|
2735 |
+
}
|
2736 |
+
|
2737 |
+
if (plugin.utils) Sortable.utils = _objectSpread2(_objectSpread2({}, Sortable.utils), plugin.utils);
|
2738 |
+
PluginManager.mount(plugin);
|
2739 |
+
});
|
2740 |
+
};
|
2741 |
+
/**
|
2742 |
+
* Create sortable instance
|
2743 |
+
* @param {HTMLElement} el
|
2744 |
+
* @param {Object} [options]
|
2745 |
+
*/
|
2746 |
+
|
2747 |
+
|
2748 |
+
Sortable.create = function (el, options) {
|
2749 |
+
return new Sortable(el, options);
|
2750 |
+
}; // Export
|
2751 |
+
|
2752 |
+
|
2753 |
+
Sortable.version = version;
|
2754 |
+
|
2755 |
+
var autoScrolls = [],
|
2756 |
+
scrollEl,
|
2757 |
+
scrollRootEl,
|
2758 |
+
scrolling = false,
|
2759 |
+
lastAutoScrollX,
|
2760 |
+
lastAutoScrollY,
|
2761 |
+
touchEvt$1,
|
2762 |
+
pointerElemChangedInterval;
|
2763 |
+
|
2764 |
+
function AutoScrollPlugin() {
|
2765 |
+
function AutoScroll() {
|
2766 |
+
this.defaults = {
|
2767 |
+
scroll: true,
|
2768 |
+
forceAutoScrollFallback: false,
|
2769 |
+
scrollSensitivity: 30,
|
2770 |
+
scrollSpeed: 10,
|
2771 |
+
bubbleScroll: true
|
2772 |
+
}; // Bind all private methods
|
2773 |
+
|
2774 |
+
for (var fn in this) {
|
2775 |
+
if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {
|
2776 |
+
this[fn] = this[fn].bind(this);
|
2777 |
+
}
|
2778 |
+
}
|
2779 |
+
}
|
2780 |
+
|
2781 |
+
AutoScroll.prototype = {
|
2782 |
+
dragStarted: function dragStarted(_ref) {
|
2783 |
+
var originalEvent = _ref.originalEvent;
|
2784 |
+
|
2785 |
+
if (this.sortable.nativeDraggable) {
|
2786 |
+
on(document, 'dragover', this._handleAutoScroll);
|
2787 |
+
} else {
|
2788 |
+
if (this.options.supportPointer) {
|
2789 |
+
on(document, 'pointermove', this._handleFallbackAutoScroll);
|
2790 |
+
} else if (originalEvent.touches) {
|
2791 |
+
on(document, 'touchmove', this._handleFallbackAutoScroll);
|
2792 |
+
} else {
|
2793 |
+
on(document, 'mousemove', this._handleFallbackAutoScroll);
|
2794 |
+
}
|
2795 |
+
}
|
2796 |
+
},
|
2797 |
+
dragOverCompleted: function dragOverCompleted(_ref2) {
|
2798 |
+
var originalEvent = _ref2.originalEvent;
|
2799 |
+
|
2800 |
+
// For when bubbling is canceled and using fallback (fallback 'touchmove' always reached)
|
2801 |
+
if (!this.options.dragOverBubble && !originalEvent.rootEl) {
|
2802 |
+
this._handleAutoScroll(originalEvent);
|
2803 |
+
}
|
2804 |
+
},
|
2805 |
+
drop: function drop() {
|
2806 |
+
if (this.sortable.nativeDraggable) {
|
2807 |
+
off(document, 'dragover', this._handleAutoScroll);
|
2808 |
+
} else {
|
2809 |
+
off(document, 'pointermove', this._handleFallbackAutoScroll);
|
2810 |
+
off(document, 'touchmove', this._handleFallbackAutoScroll);
|
2811 |
+
off(document, 'mousemove', this._handleFallbackAutoScroll);
|
2812 |
+
}
|
2813 |
+
|
2814 |
+
clearPointerElemChangedInterval();
|
2815 |
+
clearAutoScrolls();
|
2816 |
+
cancelThrottle();
|
2817 |
+
},
|
2818 |
+
nulling: function nulling() {
|
2819 |
+
touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;
|
2820 |
+
autoScrolls.length = 0;
|
2821 |
+
},
|
2822 |
+
_handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {
|
2823 |
+
this._handleAutoScroll(evt, true);
|
2824 |
+
},
|
2825 |
+
_handleAutoScroll: function _handleAutoScroll(evt, fallback) {
|
2826 |
+
var _this = this;
|
2827 |
+
|
2828 |
+
var x = (evt.touches ? evt.touches[0] : evt).clientX,
|
2829 |
+
y = (evt.touches ? evt.touches[0] : evt).clientY,
|
2830 |
+
elem = document.elementFromPoint(x, y);
|
2831 |
+
touchEvt$1 = evt; // IE does not seem to have native autoscroll,
|
2832 |
+
// Edge's autoscroll seems too conditional,
|
2833 |
+
// MACOS Safari does not have autoscroll,
|
2834 |
+
// Firefox and Chrome are good
|
2835 |
+
|
2836 |
+
if (fallback || this.options.forceAutoScrollFallback || Edge || IE11OrLess || Safari) {
|
2837 |
+
autoScroll(evt, this.options, elem, fallback); // Listener for pointer element change
|
2838 |
+
|
2839 |
+
var ogElemScroller = getParentAutoScrollElement(elem, true);
|
2840 |
+
|
2841 |
+
if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {
|
2842 |
+
pointerElemChangedInterval && clearPointerElemChangedInterval(); // Detect for pointer elem change, emulating native DnD behaviour
|
2843 |
+
|
2844 |
+
pointerElemChangedInterval = setInterval(function () {
|
2845 |
+
var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);
|
2846 |
+
|
2847 |
+
if (newElem !== ogElemScroller) {
|
2848 |
+
ogElemScroller = newElem;
|
2849 |
+
clearAutoScrolls();
|
2850 |
+
}
|
2851 |
+
|
2852 |
+
autoScroll(evt, _this.options, newElem, fallback);
|
2853 |
+
}, 10);
|
2854 |
+
lastAutoScrollX = x;
|
2855 |
+
lastAutoScrollY = y;
|
2856 |
+
}
|
2857 |
+
} else {
|
2858 |
+
// if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll
|
2859 |
+
if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {
|
2860 |
+
clearAutoScrolls();
|
2861 |
+
return;
|
2862 |
+
}
|
2863 |
+
|
2864 |
+
autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);
|
2865 |
+
}
|
2866 |
+
}
|
2867 |
+
};
|
2868 |
+
return _extends(AutoScroll, {
|
2869 |
+
pluginName: 'scroll',
|
2870 |
+
initializeByDefault: true
|
2871 |
+
});
|
2872 |
+
}
|
2873 |
+
|
2874 |
+
function clearAutoScrolls() {
|
2875 |
+
autoScrolls.forEach(function (autoScroll) {
|
2876 |
+
clearInterval(autoScroll.pid);
|
2877 |
+
});
|
2878 |
+
autoScrolls = [];
|
2879 |
+
}
|
2880 |
+
|
2881 |
+
function clearPointerElemChangedInterval() {
|
2882 |
+
clearInterval(pointerElemChangedInterval);
|
2883 |
+
}
|
2884 |
+
|
2885 |
+
var autoScroll = throttle(function (evt, options, rootEl, isFallback) {
|
2886 |
+
// Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521
|
2887 |
+
if (!options.scroll) return;
|
2888 |
+
var x = (evt.touches ? evt.touches[0] : evt).clientX,
|
2889 |
+
y = (evt.touches ? evt.touches[0] : evt).clientY,
|
2890 |
+
sens = options.scrollSensitivity,
|
2891 |
+
speed = options.scrollSpeed,
|
2892 |
+
winScroller = getWindowScrollingElement();
|
2893 |
+
var scrollThisInstance = false,
|
2894 |
+
scrollCustomFn; // New scroll root, set scrollEl
|
2895 |
+
|
2896 |
+
if (scrollRootEl !== rootEl) {
|
2897 |
+
scrollRootEl = rootEl;
|
2898 |
+
clearAutoScrolls();
|
2899 |
+
scrollEl = options.scroll;
|
2900 |
+
scrollCustomFn = options.scrollFn;
|
2901 |
+
|
2902 |
+
if (scrollEl === true) {
|
2903 |
+
scrollEl = getParentAutoScrollElement(rootEl, true);
|
2904 |
+
}
|
2905 |
+
}
|
2906 |
+
|
2907 |
+
var layersOut = 0;
|
2908 |
+
var currentParent = scrollEl;
|
2909 |
+
|
2910 |
+
do {
|
2911 |
+
var el = currentParent,
|
2912 |
+
rect = getRect(el),
|
2913 |
+
top = rect.top,
|
2914 |
+
bottom = rect.bottom,
|
2915 |
+
left = rect.left,
|
2916 |
+
right = rect.right,
|
2917 |
+
width = rect.width,
|
2918 |
+
height = rect.height,
|
2919 |
+
canScrollX = void 0,
|
2920 |
+
canScrollY = void 0,
|
2921 |
+
scrollWidth = el.scrollWidth,
|
2922 |
+
scrollHeight = el.scrollHeight,
|
2923 |
+
elCSS = css(el),
|
2924 |
+
scrollPosX = el.scrollLeft,
|
2925 |
+
scrollPosY = el.scrollTop;
|
2926 |
+
|
2927 |
+
if (el === winScroller) {
|
2928 |
+
canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible');
|
2929 |
+
canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible');
|
2930 |
+
} else {
|
2931 |
+
canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll');
|
2932 |
+
canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll');
|
2933 |
+
}
|
2934 |
+
|
2935 |
+
var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);
|
2936 |
+
var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);
|
2937 |
+
|
2938 |
+
if (!autoScrolls[layersOut]) {
|
2939 |
+
for (var i = 0; i <= layersOut; i++) {
|
2940 |
+
if (!autoScrolls[i]) {
|
2941 |
+
autoScrolls[i] = {};
|
2942 |
+
}
|
2943 |
+
}
|
2944 |
+
}
|
2945 |
+
|
2946 |
+
if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {
|
2947 |
+
autoScrolls[layersOut].el = el;
|
2948 |
+
autoScrolls[layersOut].vx = vx;
|
2949 |
+
autoScrolls[layersOut].vy = vy;
|
2950 |
+
clearInterval(autoScrolls[layersOut].pid);
|
2951 |
+
|
2952 |
+
if (vx != 0 || vy != 0) {
|
2953 |
+
scrollThisInstance = true;
|
2954 |
+
/* jshint loopfunc:true */
|
2955 |
+
|
2956 |
+
autoScrolls[layersOut].pid = setInterval(function () {
|
2957 |
+
// emulate drag over during autoscroll (fallback), emulating native DnD behaviour
|
2958 |
+
if (isFallback && this.layer === 0) {
|
2959 |
+
Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely
|
2960 |
+
|
2961 |
+
}
|
2962 |
+
|
2963 |
+
var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;
|
2964 |
+
var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;
|
2965 |
+
|
2966 |
+
if (typeof scrollCustomFn === 'function') {
|
2967 |
+
if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') {
|
2968 |
+
return;
|
2969 |
+
}
|
2970 |
+
}
|
2971 |
+
|
2972 |
+
scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);
|
2973 |
+
}.bind({
|
2974 |
+
layer: layersOut
|
2975 |
+
}), 24);
|
2976 |
+
}
|
2977 |
+
}
|
2978 |
+
|
2979 |
+
layersOut++;
|
2980 |
+
} while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));
|
2981 |
+
|
2982 |
+
scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not
|
2983 |
+
}, 30);
|
2984 |
+
|
2985 |
+
var drop = function drop(_ref) {
|
2986 |
+
var originalEvent = _ref.originalEvent,
|
2987 |
+
putSortable = _ref.putSortable,
|
2988 |
+
dragEl = _ref.dragEl,
|
2989 |
+
activeSortable = _ref.activeSortable,
|
2990 |
+
dispatchSortableEvent = _ref.dispatchSortableEvent,
|
2991 |
+
hideGhostForTarget = _ref.hideGhostForTarget,
|
2992 |
+
unhideGhostForTarget = _ref.unhideGhostForTarget;
|
2993 |
+
if (!originalEvent) return;
|
2994 |
+
var toSortable = putSortable || activeSortable;
|
2995 |
+
hideGhostForTarget();
|
2996 |
+
var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;
|
2997 |
+
var target = document.elementFromPoint(touch.clientX, touch.clientY);
|
2998 |
+
unhideGhostForTarget();
|
2999 |
+
|
3000 |
+
if (toSortable && !toSortable.el.contains(target)) {
|
3001 |
+
dispatchSortableEvent('spill');
|
3002 |
+
this.onSpill({
|
3003 |
+
dragEl: dragEl,
|
3004 |
+
putSortable: putSortable
|
3005 |
+
});
|
3006 |
+
}
|
3007 |
+
};
|
3008 |
+
|
3009 |
+
function Revert() {}
|
3010 |
+
|
3011 |
+
Revert.prototype = {
|
3012 |
+
startIndex: null,
|
3013 |
+
dragStart: function dragStart(_ref2) {
|
3014 |
+
var oldDraggableIndex = _ref2.oldDraggableIndex;
|
3015 |
+
this.startIndex = oldDraggableIndex;
|
3016 |
+
},
|
3017 |
+
onSpill: function onSpill(_ref3) {
|
3018 |
+
var dragEl = _ref3.dragEl,
|
3019 |
+
putSortable = _ref3.putSortable;
|
3020 |
+
this.sortable.captureAnimationState();
|
3021 |
+
|
3022 |
+
if (putSortable) {
|
3023 |
+
putSortable.captureAnimationState();
|
3024 |
+
}
|
3025 |
+
|
3026 |
+
var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);
|
3027 |
+
|
3028 |
+
if (nextSibling) {
|
3029 |
+
this.sortable.el.insertBefore(dragEl, nextSibling);
|
3030 |
+
} else {
|
3031 |
+
this.sortable.el.appendChild(dragEl);
|
3032 |
+
}
|
3033 |
+
|
3034 |
+
this.sortable.animateAll();
|
3035 |
+
|
3036 |
+
if (putSortable) {
|
3037 |
+
putSortable.animateAll();
|
3038 |
+
}
|
3039 |
+
},
|
3040 |
+
drop: drop
|
3041 |
+
};
|
3042 |
+
|
3043 |
+
_extends(Revert, {
|
3044 |
+
pluginName: 'revertOnSpill'
|
3045 |
+
});
|
3046 |
+
|
3047 |
+
function Remove() {}
|
3048 |
+
|
3049 |
+
Remove.prototype = {
|
3050 |
+
onSpill: function onSpill(_ref4) {
|
3051 |
+
var dragEl = _ref4.dragEl,
|
3052 |
+
putSortable = _ref4.putSortable;
|
3053 |
+
var parentSortable = putSortable || this.sortable;
|
3054 |
+
parentSortable.captureAnimationState();
|
3055 |
+
dragEl.parentNode && dragEl.parentNode.removeChild(dragEl);
|
3056 |
+
parentSortable.animateAll();
|
3057 |
+
},
|
3058 |
+
drop: drop
|
3059 |
+
};
|
3060 |
+
|
3061 |
+
_extends(Remove, {
|
3062 |
+
pluginName: 'removeOnSpill'
|
3063 |
+
});
|
3064 |
+
|
3065 |
+
var lastSwapEl;
|
3066 |
+
|
3067 |
+
function SwapPlugin() {
|
3068 |
+
function Swap() {
|
3069 |
+
this.defaults = {
|
3070 |
+
swapClass: 'sortable-swap-highlight'
|
3071 |
+
};
|
3072 |
+
}
|
3073 |
+
|
3074 |
+
Swap.prototype = {
|
3075 |
+
dragStart: function dragStart(_ref) {
|
3076 |
+
var dragEl = _ref.dragEl;
|
3077 |
+
lastSwapEl = dragEl;
|
3078 |
+
},
|
3079 |
+
dragOverValid: function dragOverValid(_ref2) {
|
3080 |
+
var completed = _ref2.completed,
|
3081 |
+
target = _ref2.target,
|
3082 |
+
onMove = _ref2.onMove,
|
3083 |
+
activeSortable = _ref2.activeSortable,
|
3084 |
+
changed = _ref2.changed,
|
3085 |
+
cancel = _ref2.cancel;
|
3086 |
+
if (!activeSortable.options.swap) return;
|
3087 |
+
var el = this.sortable.el,
|
3088 |
+
options = this.options;
|
3089 |
+
|
3090 |
+
if (target && target !== el) {
|
3091 |
+
var prevSwapEl = lastSwapEl;
|
3092 |
+
|
3093 |
+
if (onMove(target) !== false) {
|
3094 |
+
toggleClass(target, options.swapClass, true);
|
3095 |
+
lastSwapEl = target;
|
3096 |
+
} else {
|
3097 |
+
lastSwapEl = null;
|
3098 |
+
}
|
3099 |
+
|
3100 |
+
if (prevSwapEl && prevSwapEl !== lastSwapEl) {
|
3101 |
+
toggleClass(prevSwapEl, options.swapClass, false);
|
3102 |
+
}
|
3103 |
+
}
|
3104 |
+
|
3105 |
+
changed();
|
3106 |
+
completed(true);
|
3107 |
+
cancel();
|
3108 |
+
},
|
3109 |
+
drop: function drop(_ref3) {
|
3110 |
+
var activeSortable = _ref3.activeSortable,
|
3111 |
+
putSortable = _ref3.putSortable,
|
3112 |
+
dragEl = _ref3.dragEl;
|
3113 |
+
var toSortable = putSortable || this.sortable;
|
3114 |
+
var options = this.options;
|
3115 |
+
lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false);
|
3116 |
+
|
3117 |
+
if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) {
|
3118 |
+
if (dragEl !== lastSwapEl) {
|
3119 |
+
toSortable.captureAnimationState();
|
3120 |
+
if (toSortable !== activeSortable) activeSortable.captureAnimationState();
|
3121 |
+
swapNodes(dragEl, lastSwapEl);
|
3122 |
+
toSortable.animateAll();
|
3123 |
+
if (toSortable !== activeSortable) activeSortable.animateAll();
|
3124 |
+
}
|
3125 |
+
}
|
3126 |
+
},
|
3127 |
+
nulling: function nulling() {
|
3128 |
+
lastSwapEl = null;
|
3129 |
+
}
|
3130 |
+
};
|
3131 |
+
return _extends(Swap, {
|
3132 |
+
pluginName: 'swap',
|
3133 |
+
eventProperties: function eventProperties() {
|
3134 |
+
return {
|
3135 |
+
swapItem: lastSwapEl
|
3136 |
+
};
|
3137 |
+
}
|
3138 |
+
});
|
3139 |
+
}
|
3140 |
+
|
3141 |
+
function swapNodes(n1, n2) {
|
3142 |
+
var p1 = n1.parentNode,
|
3143 |
+
p2 = n2.parentNode,
|
3144 |
+
i1,
|
3145 |
+
i2;
|
3146 |
+
if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return;
|
3147 |
+
i1 = index(n1);
|
3148 |
+
i2 = index(n2);
|
3149 |
+
|
3150 |
+
if (p1.isEqualNode(p2) && i1 < i2) {
|
3151 |
+
i2++;
|
3152 |
+
}
|
3153 |
+
|
3154 |
+
p1.insertBefore(n2, p1.children[i1]);
|
3155 |
+
p2.insertBefore(n1, p2.children[i2]);
|
3156 |
+
}
|
3157 |
+
|
3158 |
+
var multiDragElements = [],
|
3159 |
+
multiDragClones = [],
|
3160 |
+
lastMultiDragSelect,
|
3161 |
+
// for selection with modifier key down (SHIFT)
|
3162 |
+
multiDragSortable,
|
3163 |
+
initialFolding = false,
|
3164 |
+
// Initial multi-drag fold when drag started
|
3165 |
+
folding = false,
|
3166 |
+
// Folding any other time
|
3167 |
+
dragStarted = false,
|
3168 |
+
dragEl$1,
|
3169 |
+
clonesFromRect,
|
3170 |
+
clonesHidden;
|
3171 |
+
|
3172 |
+
function MultiDragPlugin() {
|
3173 |
+
function MultiDrag(sortable) {
|
3174 |
+
// Bind all private methods
|
3175 |
+
for (var fn in this) {
|
3176 |
+
if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {
|
3177 |
+
this[fn] = this[fn].bind(this);
|
3178 |
+
}
|
3179 |
+
}
|
3180 |
+
|
3181 |
+
if (sortable.options.supportPointer) {
|
3182 |
+
on(document, 'pointerup', this._deselectMultiDrag);
|
3183 |
+
} else {
|
3184 |
+
on(document, 'mouseup', this._deselectMultiDrag);
|
3185 |
+
on(document, 'touchend', this._deselectMultiDrag);
|
3186 |
+
}
|
3187 |
+
|
3188 |
+
on(document, 'keydown', this._checkKeyDown);
|
3189 |
+
on(document, 'keyup', this._checkKeyUp);
|
3190 |
+
this.defaults = {
|
3191 |
+
selectedClass: 'sortable-selected',
|
3192 |
+
multiDragKey: null,
|
3193 |
+
setData: function setData(dataTransfer, dragEl) {
|
3194 |
+
var data = '';
|
3195 |
+
|
3196 |
+
if (multiDragElements.length && multiDragSortable === sortable) {
|
3197 |
+
multiDragElements.forEach(function (multiDragElement, i) {
|
3198 |
+
data += (!i ? '' : ', ') + multiDragElement.textContent;
|
3199 |
+
});
|
3200 |
+
} else {
|
3201 |
+
data = dragEl.textContent;
|
3202 |
+
}
|
3203 |
+
|
3204 |
+
dataTransfer.setData('Text', data);
|
3205 |
+
}
|
3206 |
+
};
|
3207 |
+
}
|
3208 |
+
|
3209 |
+
MultiDrag.prototype = {
|
3210 |
+
multiDragKeyDown: false,
|
3211 |
+
isMultiDrag: false,
|
3212 |
+
delayStartGlobal: function delayStartGlobal(_ref) {
|
3213 |
+
var dragged = _ref.dragEl;
|
3214 |
+
dragEl$1 = dragged;
|
3215 |
+
},
|
3216 |
+
delayEnded: function delayEnded() {
|
3217 |
+
this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1);
|
3218 |
+
},
|
3219 |
+
setupClone: function setupClone(_ref2) {
|
3220 |
+
var sortable = _ref2.sortable,
|
3221 |
+
cancel = _ref2.cancel;
|
3222 |
+
if (!this.isMultiDrag) return;
|
3223 |
+
|
3224 |
+
for (var i = 0; i < multiDragElements.length; i++) {
|
3225 |
+
multiDragClones.push(clone(multiDragElements[i]));
|
3226 |
+
multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex;
|
3227 |
+
multiDragClones[i].draggable = false;
|
3228 |
+
multiDragClones[i].style['will-change'] = '';
|
3229 |
+
toggleClass(multiDragClones[i], this.options.selectedClass, false);
|
3230 |
+
multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false);
|
3231 |
+
}
|
3232 |
+
|
3233 |
+
sortable._hideClone();
|
3234 |
+
|
3235 |
+
cancel();
|
3236 |
+
},
|
3237 |
+
clone: function clone(_ref3) {
|
3238 |
+
var sortable = _ref3.sortable,
|
3239 |
+
rootEl = _ref3.rootEl,
|
3240 |
+
dispatchSortableEvent = _ref3.dispatchSortableEvent,
|
3241 |
+
cancel = _ref3.cancel;
|
3242 |
+
if (!this.isMultiDrag) return;
|
3243 |
+
|
3244 |
+
if (!this.options.removeCloneOnHide) {
|
3245 |
+
if (multiDragElements.length && multiDragSortable === sortable) {
|
3246 |
+
insertMultiDragClones(true, rootEl);
|
3247 |
+
dispatchSortableEvent('clone');
|
3248 |
+
cancel();
|
3249 |
+
}
|
3250 |
+
}
|
3251 |
+
},
|
3252 |
+
showClone: function showClone(_ref4) {
|
3253 |
+
var cloneNowShown = _ref4.cloneNowShown,
|
3254 |
+
rootEl = _ref4.rootEl,
|
3255 |
+
cancel = _ref4.cancel;
|
3256 |
+
if (!this.isMultiDrag) return;
|
3257 |
+
insertMultiDragClones(false, rootEl);
|
3258 |
+
multiDragClones.forEach(function (clone) {
|
3259 |
+
css(clone, 'display', '');
|
3260 |
+
});
|
3261 |
+
cloneNowShown();
|
3262 |
+
clonesHidden = false;
|
3263 |
+
cancel();
|
3264 |
+
},
|
3265 |
+
hideClone: function hideClone(_ref5) {
|
3266 |
+
var _this = this;
|
3267 |
+
|
3268 |
+
var sortable = _ref5.sortable,
|
3269 |
+
cloneNowHidden = _ref5.cloneNowHidden,
|
3270 |
+
cancel = _ref5.cancel;
|
3271 |
+
if (!this.isMultiDrag) return;
|
3272 |
+
multiDragClones.forEach(function (clone) {
|
3273 |
+
css(clone, 'display', 'none');
|
3274 |
+
|
3275 |
+
if (_this.options.removeCloneOnHide && clone.parentNode) {
|
3276 |
+
clone.parentNode.removeChild(clone);
|
3277 |
+
}
|
3278 |
+
});
|
3279 |
+
cloneNowHidden();
|
3280 |
+
clonesHidden = true;
|
3281 |
+
cancel();
|
3282 |
+
},
|
3283 |
+
dragStartGlobal: function dragStartGlobal(_ref6) {
|
3284 |
+
var sortable = _ref6.sortable;
|
3285 |
+
|
3286 |
+
if (!this.isMultiDrag && multiDragSortable) {
|
3287 |
+
multiDragSortable.multiDrag._deselectMultiDrag();
|
3288 |
+
}
|
3289 |
+
|
3290 |
+
multiDragElements.forEach(function (multiDragElement) {
|
3291 |
+
multiDragElement.sortableIndex = index(multiDragElement);
|
3292 |
+
}); // Sort multi-drag elements
|
3293 |
+
|
3294 |
+
multiDragElements = multiDragElements.sort(function (a, b) {
|
3295 |
+
return a.sortableIndex - b.sortableIndex;
|
3296 |
+
});
|
3297 |
+
dragStarted = true;
|
3298 |
+
},
|
3299 |
+
dragStarted: function dragStarted(_ref7) {
|
3300 |
+
var _this2 = this;
|
3301 |
+
|
3302 |
+
var sortable = _ref7.sortable;
|
3303 |
+
if (!this.isMultiDrag) return;
|
3304 |
+
|
3305 |
+
if (this.options.sort) {
|
3306 |
+
// Capture rects,
|
3307 |
+
// hide multi drag elements (by positioning them absolute),
|
3308 |
+
// set multi drag elements rects to dragRect,
|
3309 |
+
// show multi drag elements,
|
3310 |
+
// animate to rects,
|
3311 |
+
// unset rects & remove from DOM
|
3312 |
+
sortable.captureAnimationState();
|
3313 |
+
|
3314 |
+
if (this.options.animation) {
|
3315 |
+
multiDragElements.forEach(function (multiDragElement) {
|
3316 |
+
if (multiDragElement === dragEl$1) return;
|
3317 |
+
css(multiDragElement, 'position', 'absolute');
|
3318 |
+
});
|
3319 |
+
var dragRect = getRect(dragEl$1, false, true, true);
|
3320 |
+
multiDragElements.forEach(function (multiDragElement) {
|
3321 |
+
if (multiDragElement === dragEl$1) return;
|
3322 |
+
setRect(multiDragElement, dragRect);
|
3323 |
+
});
|
3324 |
+
folding = true;
|
3325 |
+
initialFolding = true;
|
3326 |
+
}
|
3327 |
+
}
|
3328 |
+
|
3329 |
+
sortable.animateAll(function () {
|
3330 |
+
folding = false;
|
3331 |
+
initialFolding = false;
|
3332 |
+
|
3333 |
+
if (_this2.options.animation) {
|
3334 |
+
multiDragElements.forEach(function (multiDragElement) {
|
3335 |
+
unsetRect(multiDragElement);
|
3336 |
+
});
|
3337 |
+
} // Remove all auxiliary multidrag items from el, if sorting enabled
|
3338 |
+
|
3339 |
+
|
3340 |
+
if (_this2.options.sort) {
|
3341 |
+
removeMultiDragElements();
|
3342 |
+
}
|
3343 |
+
});
|
3344 |
+
},
|
3345 |
+
dragOver: function dragOver(_ref8) {
|
3346 |
+
var target = _ref8.target,
|
3347 |
+
completed = _ref8.completed,
|
3348 |
+
cancel = _ref8.cancel;
|
3349 |
+
|
3350 |
+
if (folding && ~multiDragElements.indexOf(target)) {
|
3351 |
+
completed(false);
|
3352 |
+
cancel();
|
3353 |
+
}
|
3354 |
+
},
|
3355 |
+
revert: function revert(_ref9) {
|
3356 |
+
var fromSortable = _ref9.fromSortable,
|
3357 |
+
rootEl = _ref9.rootEl,
|
3358 |
+
sortable = _ref9.sortable,
|
3359 |
+
dragRect = _ref9.dragRect;
|
3360 |
+
|
3361 |
+
if (multiDragElements.length > 1) {
|
3362 |
+
// Setup unfold animation
|
3363 |
+
multiDragElements.forEach(function (multiDragElement) {
|
3364 |
+
sortable.addAnimationState({
|
3365 |
+
target: multiDragElement,
|
3366 |
+
rect: folding ? getRect(multiDragElement) : dragRect
|
3367 |
+
});
|
3368 |
+
unsetRect(multiDragElement);
|
3369 |
+
multiDragElement.fromRect = dragRect;
|
3370 |
+
fromSortable.removeAnimationState(multiDragElement);
|
3371 |
+
});
|
3372 |
+
folding = false;
|
3373 |
+
insertMultiDragElements(!this.options.removeCloneOnHide, rootEl);
|
3374 |
+
}
|
3375 |
+
},
|
3376 |
+
dragOverCompleted: function dragOverCompleted(_ref10) {
|
3377 |
+
var sortable = _ref10.sortable,
|
3378 |
+
isOwner = _ref10.isOwner,
|
3379 |
+
insertion = _ref10.insertion,
|
3380 |
+
activeSortable = _ref10.activeSortable,
|
3381 |
+
parentEl = _ref10.parentEl,
|
3382 |
+
putSortable = _ref10.putSortable;
|
3383 |
+
var options = this.options;
|
3384 |
+
|
3385 |
+
if (insertion) {
|
3386 |
+
// Clones must be hidden before folding animation to capture dragRectAbsolute properly
|
3387 |
+
if (isOwner) {
|
3388 |
+
activeSortable._hideClone();
|
3389 |
+
}
|
3390 |
+
|
3391 |
+
initialFolding = false; // If leaving sort:false root, or already folding - Fold to new location
|
3392 |
+
|
3393 |
+
if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) {
|
3394 |
+
// Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible
|
3395 |
+
var dragRectAbsolute = getRect(dragEl$1, false, true, true);
|
3396 |
+
multiDragElements.forEach(function (multiDragElement) {
|
3397 |
+
if (multiDragElement === dragEl$1) return;
|
3398 |
+
setRect(multiDragElement, dragRectAbsolute); // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted
|
3399 |
+
// while folding, and so that we can capture them again because old sortable will no longer be fromSortable
|
3400 |
+
|
3401 |
+
parentEl.appendChild(multiDragElement);
|
3402 |
+
});
|
3403 |
+
folding = true;
|
3404 |
+
} // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out
|
3405 |
+
|
3406 |
+
|
3407 |
+
if (!isOwner) {
|
3408 |
+
// Only remove if not folding (folding will remove them anyways)
|
3409 |
+
if (!folding) {
|
3410 |
+
removeMultiDragElements();
|
3411 |
+
}
|
3412 |
+
|
3413 |
+
if (multiDragElements.length > 1) {
|
3414 |
+
var clonesHiddenBefore = clonesHidden;
|
3415 |
+
|
3416 |
+
activeSortable._showClone(sortable); // Unfold animation for clones if showing from hidden
|
3417 |
+
|
3418 |
+
|
3419 |
+
if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) {
|
3420 |
+
multiDragClones.forEach(function (clone) {
|
3421 |
+
activeSortable.addAnimationState({
|
3422 |
+
target: clone,
|
3423 |
+
rect: clonesFromRect
|
3424 |
+
});
|
3425 |
+
clone.fromRect = clonesFromRect;
|
3426 |
+
clone.thisAnimationDuration = null;
|
3427 |
+
});
|
3428 |
+
}
|
3429 |
+
} else {
|
3430 |
+
activeSortable._showClone(sortable);
|
3431 |
+
}
|
3432 |
+
}
|
3433 |
+
}
|
3434 |
+
},
|
3435 |
+
dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) {
|
3436 |
+
var dragRect = _ref11.dragRect,
|
3437 |
+
isOwner = _ref11.isOwner,
|
3438 |
+
activeSortable = _ref11.activeSortable;
|
3439 |
+
multiDragElements.forEach(function (multiDragElement) {
|
3440 |
+
multiDragElement.thisAnimationDuration = null;
|
3441 |
+
});
|
3442 |
+
|
3443 |
+
if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) {
|
3444 |
+
clonesFromRect = _extends({}, dragRect);
|
3445 |
+
var dragMatrix = matrix(dragEl$1, true);
|
3446 |
+
clonesFromRect.top -= dragMatrix.f;
|
3447 |
+
clonesFromRect.left -= dragMatrix.e;
|
3448 |
+
}
|
3449 |
+
},
|
3450 |
+
dragOverAnimationComplete: function dragOverAnimationComplete() {
|
3451 |
+
if (folding) {
|
3452 |
+
folding = false;
|
3453 |
+
removeMultiDragElements();
|
3454 |
+
}
|
3455 |
+
},
|
3456 |
+
drop: function drop(_ref12) {
|
3457 |
+
var evt = _ref12.originalEvent,
|
3458 |
+
rootEl = _ref12.rootEl,
|
3459 |
+
parentEl = _ref12.parentEl,
|
3460 |
+
sortable = _ref12.sortable,
|
3461 |
+
dispatchSortableEvent = _ref12.dispatchSortableEvent,
|
3462 |
+
oldIndex = _ref12.oldIndex,
|
3463 |
+
putSortable = _ref12.putSortable;
|
3464 |
+
var toSortable = putSortable || this.sortable;
|
3465 |
+
if (!evt) return;
|
3466 |
+
var options = this.options,
|
3467 |
+
children = parentEl.children; // Multi-drag selection
|
3468 |
+
|
3469 |
+
if (!dragStarted) {
|
3470 |
+
if (options.multiDragKey && !this.multiDragKeyDown) {
|
3471 |
+
this._deselectMultiDrag();
|
3472 |
+
}
|
3473 |
+
|
3474 |
+
toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1));
|
3475 |
+
|
3476 |
+
if (!~multiDragElements.indexOf(dragEl$1)) {
|
3477 |
+
multiDragElements.push(dragEl$1);
|
3478 |
+
dispatchEvent({
|
3479 |
+
sortable: sortable,
|
3480 |
+
rootEl: rootEl,
|
3481 |
+
name: 'select',
|
3482 |
+
targetEl: dragEl$1,
|
3483 |
+
originalEvt: evt
|
3484 |
+
}); // Modifier activated, select from last to dragEl
|
3485 |
+
|
3486 |
+
if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) {
|
3487 |
+
var lastIndex = index(lastMultiDragSelect),
|
3488 |
+
currentIndex = index(dragEl$1);
|
3489 |
+
|
3490 |
+
if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) {
|
3491 |
+
// Must include lastMultiDragSelect (select it), in case modified selection from no selection
|
3492 |
+
// (but previous selection existed)
|
3493 |
+
var n, i;
|
3494 |
+
|
3495 |
+
if (currentIndex > lastIndex) {
|
3496 |
+
i = lastIndex;
|
3497 |
+
n = currentIndex;
|
3498 |
+
} else {
|
3499 |
+
i = currentIndex;
|
3500 |
+
n = lastIndex + 1;
|
3501 |
+
}
|
3502 |
+
|
3503 |
+
for (; i < n; i++) {
|
3504 |
+
if (~multiDragElements.indexOf(children[i])) continue;
|
3505 |
+
toggleClass(children[i], options.selectedClass, true);
|
3506 |
+
multiDragElements.push(children[i]);
|
3507 |
+
dispatchEvent({
|
3508 |
+
sortable: sortable,
|
3509 |
+
rootEl: rootEl,
|
3510 |
+
name: 'select',
|
3511 |
+
targetEl: children[i],
|
3512 |
+
originalEvt: evt
|
3513 |
+
});
|
3514 |
+
}
|
3515 |
+
}
|
3516 |
+
} else {
|
3517 |
+
lastMultiDragSelect = dragEl$1;
|
3518 |
+
}
|
3519 |
+
|
3520 |
+
multiDragSortable = toSortable;
|
3521 |
+
} else {
|
3522 |
+
multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1);
|
3523 |
+
lastMultiDragSelect = null;
|
3524 |
+
dispatchEvent({
|
3525 |
+
sortable: sortable,
|
3526 |
+
rootEl: rootEl,
|
3527 |
+
name: 'deselect',
|
3528 |
+
targetEl: dragEl$1,
|
3529 |
+
originalEvt: evt
|
3530 |
+
});
|
3531 |
+
}
|
3532 |
+
} // Multi-drag drop
|
3533 |
+
|
3534 |
+
|
3535 |
+
if (dragStarted && this.isMultiDrag) {
|
3536 |
+
folding = false; // Do not "unfold" after around dragEl if reverted
|
3537 |
+
|
3538 |
+
if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) {
|
3539 |
+
var dragRect = getRect(dragEl$1),
|
3540 |
+
multiDragIndex = index(dragEl$1, ':not(.' + this.options.selectedClass + ')');
|
3541 |
+
if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null;
|
3542 |
+
toSortable.captureAnimationState();
|
3543 |
+
|
3544 |
+
if (!initialFolding) {
|
3545 |
+
if (options.animation) {
|
3546 |
+
dragEl$1.fromRect = dragRect;
|
3547 |
+
multiDragElements.forEach(function (multiDragElement) {
|
3548 |
+
multiDragElement.thisAnimationDuration = null;
|
3549 |
+
|
3550 |
+
if (multiDragElement !== dragEl$1) {
|
3551 |
+
var rect = folding ? getRect(multiDragElement) : dragRect;
|
3552 |
+
multiDragElement.fromRect = rect; // Prepare unfold animation
|
3553 |
+
|
3554 |
+
toSortable.addAnimationState({
|
3555 |
+
target: multiDragElement,
|
3556 |
+
rect: rect
|
3557 |
+
});
|
3558 |
+
}
|
3559 |
+
});
|
3560 |
+
} // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert
|
3561 |
+
// properly they must all be removed
|
3562 |
+
|
3563 |
+
|
3564 |
+
removeMultiDragElements();
|
3565 |
+
multiDragElements.forEach(function (multiDragElement) {
|
3566 |
+
if (children[multiDragIndex]) {
|
3567 |
+
parentEl.insertBefore(multiDragElement, children[multiDragIndex]);
|
3568 |
+
} else {
|
3569 |
+
parentEl.appendChild(multiDragElement);
|
3570 |
+
}
|
3571 |
+
|
3572 |
+
multiDragIndex++;
|
3573 |
+
}); // If initial folding is done, the elements may have changed position because they are now
|
3574 |
+
// unfolding around dragEl, even though dragEl may not have his index changed, so update event
|
3575 |
+
// must be fired here as Sortable will not.
|
3576 |
+
|
3577 |
+
if (oldIndex === index(dragEl$1)) {
|
3578 |
+
var update = false;
|
3579 |
+
multiDragElements.forEach(function (multiDragElement) {
|
3580 |
+
if (multiDragElement.sortableIndex !== index(multiDragElement)) {
|
3581 |
+
update = true;
|
3582 |
+
return;
|
3583 |
+
}
|
3584 |
+
});
|
3585 |
+
|
3586 |
+
if (update) {
|
3587 |
+
dispatchSortableEvent('update');
|
3588 |
+
}
|
3589 |
+
}
|
3590 |
+
} // Must be done after capturing individual rects (scroll bar)
|
3591 |
+
|
3592 |
+
|
3593 |
+
multiDragElements.forEach(function (multiDragElement) {
|
3594 |
+
unsetRect(multiDragElement);
|
3595 |
+
});
|
3596 |
+
toSortable.animateAll();
|
3597 |
+
}
|
3598 |
+
|
3599 |
+
multiDragSortable = toSortable;
|
3600 |
+
} // Remove clones if necessary
|
3601 |
+
|
3602 |
+
|
3603 |
+
if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {
|
3604 |
+
multiDragClones.forEach(function (clone) {
|
3605 |
+
clone.parentNode && clone.parentNode.removeChild(clone);
|
3606 |
+
});
|
3607 |
+
}
|
3608 |
+
},
|
3609 |
+
nullingGlobal: function nullingGlobal() {
|
3610 |
+
this.isMultiDrag = dragStarted = false;
|
3611 |
+
multiDragClones.length = 0;
|
3612 |
+
},
|
3613 |
+
destroyGlobal: function destroyGlobal() {
|
3614 |
+
this._deselectMultiDrag();
|
3615 |
+
|
3616 |
+
off(document, 'pointerup', this._deselectMultiDrag);
|
3617 |
+
off(document, 'mouseup', this._deselectMultiDrag);
|
3618 |
+
off(document, 'touchend', this._deselectMultiDrag);
|
3619 |
+
off(document, 'keydown', this._checkKeyDown);
|
3620 |
+
off(document, 'keyup', this._checkKeyUp);
|
3621 |
+
},
|
3622 |
+
_deselectMultiDrag: function _deselectMultiDrag(evt) {
|
3623 |
+
if (typeof dragStarted !== "undefined" && dragStarted) return; // Only deselect if selection is in this sortable
|
3624 |
+
|
3625 |
+
if (multiDragSortable !== this.sortable) return; // Only deselect if target is not item in this sortable
|
3626 |
+
|
3627 |
+
if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return; // Only deselect if left click
|
3628 |
+
|
3629 |
+
if (evt && evt.button !== 0) return;
|
3630 |
+
|
3631 |
+
while (multiDragElements.length) {
|
3632 |
+
var el = multiDragElements[0];
|
3633 |
+
toggleClass(el, this.options.selectedClass, false);
|
3634 |
+
multiDragElements.shift();
|
3635 |
+
dispatchEvent({
|
3636 |
+
sortable: this.sortable,
|
3637 |
+
rootEl: this.sortable.el,
|
3638 |
+
name: 'deselect',
|
3639 |
+
targetEl: el,
|
3640 |
+
originalEvt: evt
|
3641 |
+
});
|
3642 |
+
}
|
3643 |
+
},
|
3644 |
+
_checkKeyDown: function _checkKeyDown(evt) {
|
3645 |
+
if (evt.key === this.options.multiDragKey) {
|
3646 |
+
this.multiDragKeyDown = true;
|
3647 |
+
}
|
3648 |
+
},
|
3649 |
+
_checkKeyUp: function _checkKeyUp(evt) {
|
3650 |
+
if (evt.key === this.options.multiDragKey) {
|
3651 |
+
this.multiDragKeyDown = false;
|
3652 |
+
}
|
3653 |
+
}
|
3654 |
+
};
|
3655 |
+
return _extends(MultiDrag, {
|
3656 |
+
// Static methods & properties
|
3657 |
+
pluginName: 'multiDrag',
|
3658 |
+
utils: {
|
3659 |
+
/**
|
3660 |
+
* Selects the provided multi-drag item
|
3661 |
+
* @param {HTMLElement} el The element to be selected
|
3662 |
+
*/
|
3663 |
+
select: function select(el) {
|
3664 |
+
var sortable = el.parentNode[expando];
|
3665 |
+
if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return;
|
3666 |
+
|
3667 |
+
if (multiDragSortable && multiDragSortable !== sortable) {
|
3668 |
+
multiDragSortable.multiDrag._deselectMultiDrag();
|
3669 |
+
|
3670 |
+
multiDragSortable = sortable;
|
3671 |
+
}
|
3672 |
+
|
3673 |
+
toggleClass(el, sortable.options.selectedClass, true);
|
3674 |
+
multiDragElements.push(el);
|
3675 |
+
},
|
3676 |
+
|
3677 |
+
/**
|
3678 |
+
* Deselects the provided multi-drag item
|
3679 |
+
* @param {HTMLElement} el The element to be deselected
|
3680 |
+
*/
|
3681 |
+
deselect: function deselect(el) {
|
3682 |
+
var sortable = el.parentNode[expando],
|
3683 |
+
index = multiDragElements.indexOf(el);
|
3684 |
+
if (!sortable || !sortable.options.multiDrag || !~index) return;
|
3685 |
+
toggleClass(el, sortable.options.selectedClass, false);
|
3686 |
+
multiDragElements.splice(index, 1);
|
3687 |
+
}
|
3688 |
+
},
|
3689 |
+
eventProperties: function eventProperties() {
|
3690 |
+
var _this3 = this;
|
3691 |
+
|
3692 |
+
var oldIndicies = [],
|
3693 |
+
newIndicies = [];
|
3694 |
+
multiDragElements.forEach(function (multiDragElement) {
|
3695 |
+
oldIndicies.push({
|
3696 |
+
multiDragElement: multiDragElement,
|
3697 |
+
index: multiDragElement.sortableIndex
|
3698 |
+
}); // multiDragElements will already be sorted if folding
|
3699 |
+
|
3700 |
+
var newIndex;
|
3701 |
+
|
3702 |
+
if (folding && multiDragElement !== dragEl$1) {
|
3703 |
+
newIndex = -1;
|
3704 |
+
} else if (folding) {
|
3705 |
+
newIndex = index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')');
|
3706 |
+
} else {
|
3707 |
+
newIndex = index(multiDragElement);
|
3708 |
+
}
|
3709 |
+
|
3710 |
+
newIndicies.push({
|
3711 |
+
multiDragElement: multiDragElement,
|
3712 |
+
index: newIndex
|
3713 |
+
});
|
3714 |
+
});
|
3715 |
+
return {
|
3716 |
+
items: _toConsumableArray(multiDragElements),
|
3717 |
+
clones: [].concat(multiDragClones),
|
3718 |
+
oldIndicies: oldIndicies,
|
3719 |
+
newIndicies: newIndicies
|
3720 |
+
};
|
3721 |
+
},
|
3722 |
+
optionListeners: {
|
3723 |
+
multiDragKey: function multiDragKey(key) {
|
3724 |
+
key = key.toLowerCase();
|
3725 |
+
|
3726 |
+
if (key === 'ctrl') {
|
3727 |
+
key = 'Control';
|
3728 |
+
} else if (key.length > 1) {
|
3729 |
+
key = key.charAt(0).toUpperCase() + key.substr(1);
|
3730 |
+
}
|
3731 |
+
|
3732 |
+
return key;
|
3733 |
+
}
|
3734 |
+
}
|
3735 |
+
});
|
3736 |
+
}
|
3737 |
+
|
3738 |
+
function insertMultiDragElements(clonesInserted, rootEl) {
|
3739 |
+
multiDragElements.forEach(function (multiDragElement, i) {
|
3740 |
+
var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)];
|
3741 |
+
|
3742 |
+
if (target) {
|
3743 |
+
rootEl.insertBefore(multiDragElement, target);
|
3744 |
+
} else {
|
3745 |
+
rootEl.appendChild(multiDragElement);
|
3746 |
+
}
|
3747 |
+
});
|
3748 |
+
}
|
3749 |
+
/**
|
3750 |
+
* Insert multi-drag clones
|
3751 |
+
* @param {[Boolean]} elementsInserted Whether the multi-drag elements are inserted
|
3752 |
+
* @param {HTMLElement} rootEl
|
3753 |
+
*/
|
3754 |
+
|
3755 |
+
|
3756 |
+
function insertMultiDragClones(elementsInserted, rootEl) {
|
3757 |
+
multiDragClones.forEach(function (clone, i) {
|
3758 |
+
var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)];
|
3759 |
+
|
3760 |
+
if (target) {
|
3761 |
+
rootEl.insertBefore(clone, target);
|
3762 |
+
} else {
|
3763 |
+
rootEl.appendChild(clone);
|
3764 |
+
}
|
3765 |
+
});
|
3766 |
+
}
|
3767 |
+
|
3768 |
+
function removeMultiDragElements() {
|
3769 |
+
multiDragElements.forEach(function (multiDragElement) {
|
3770 |
+
if (multiDragElement === dragEl$1) return;
|
3771 |
+
multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement);
|
3772 |
+
});
|
3773 |
+
}
|
3774 |
+
|
3775 |
+
Sortable.mount(new AutoScrollPlugin());
|
3776 |
+
Sortable.mount(Remove, Revert);
|
3777 |
+
|
3778 |
+
Sortable.mount(new SwapPlugin());
|
3779 |
+
Sortable.mount(new MultiDragPlugin());
|
3780 |
+
|
3781 |
+
return Sortable;
|
3782 |
+
|
3783 |
+
})));
|
app/extensions/fields/asset/sortablejs/sortable.min.js
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
/*! Sortable 1.14.0 - MIT | git://github.com/SortableJS/Sortable.git */
|
2 |
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).Sortable=e()}(this,function(){"use strict";function e(e,t){var n,o=Object.keys(e);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(e),t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),o.push.apply(o,n)),o}function A(o){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?e(Object(i),!0).forEach(function(t){var e,n;e=o,t=i[n=t],n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t}):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(i)):e(Object(i)).forEach(function(t){Object.defineProperty(o,t,Object.getOwnPropertyDescriptor(i,t))})}return o}function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function a(){return(a=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n,o=arguments[e];for(n in o)Object.prototype.hasOwnProperty.call(o,n)&&(t[n]=o[n])}return t}).apply(this,arguments)}function i(t,e){if(null==t)return{};var n,o=function(t,e){if(null==t)return{};for(var n,o={},i=Object.keys(t),r=0;r<i.length;r++)n=i[r],0<=e.indexOf(n)||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols)for(var i=Object.getOwnPropertySymbols(t),r=0;r<i.length;r++)n=i[r],0<=e.indexOf(n)||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n]);return o}function r(t){return function(t){if(Array.isArray(t))return l(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return l(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Map"===(n="Object"===n&&t.constructor?t.constructor.name:n)||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n<e;n++)o[n]=t[n];return o}function t(t){if("undefined"!=typeof window&&window.navigator)return!!navigator.userAgent.match(t)}var y=t(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),w=t(/Edge/i),s=t(/firefox/i),u=t(/safari/i)&&!t(/chrome/i)&&!t(/android/i),n=t(/iP(ad|od|hone)/i),c=t(/chrome/i)&&t(/android/i),d={capture:!1,passive:!1};function h(t,e,n){t.addEventListener(e,n,!y&&d)}function f(t,e,n){t.removeEventListener(e,n,!y&&d)}function p(t,e){if(e&&(">"===e[0]&&(e=e.substring(1)),t))try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(t){return}}function N(t,e,n,o){if(t){n=n||document;do{if(null!=e&&(">"!==e[0]||t.parentNode===n)&&p(t,e)||o&&t===n)return t}while(t!==n&&(t=(i=t).host&&i!==document&&i.host.nodeType?i.host:i.parentNode))}var i;return null}var g,m=/\s+/g;function I(t,e,n){var o;t&&e&&(t.classList?t.classList[n?"add":"remove"](e):(o=(" "+t.className+" ").replace(m," ").replace(" "+e+" "," "),t.className=(o+(n?" "+e:"")).replace(m," ")))}function P(t,e,n){var o=t&&t.style;if(o){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(n=t.currentStyle),void 0===e?n:n[e];o[e=!(e in o||-1!==e.indexOf("webkit"))?"-webkit-"+e:e]=n+("string"==typeof n?"":"px")}}function v(t,e){var n="";if("string"==typeof t)n=t;else do{var o=P(t,"transform")}while(o&&"none"!==o&&(n=o+" "+n),!e&&(t=t.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(n)}function b(t,e,n){if(t){var o=t.getElementsByTagName(e),i=0,r=o.length;if(n)for(;i<r;i++)n(o[i],i);return o}return[]}function O(){var t=document.scrollingElement;return t||document.documentElement}function k(t,e,n,o,i){if(t.getBoundingClientRect||t===window){var r,a,l,s,c,u,d=t!==window&&t.parentNode&&t!==O()?(a=(r=t.getBoundingClientRect()).top,l=r.left,s=r.bottom,c=r.right,u=r.height,r.width):(l=a=0,s=window.innerHeight,c=window.innerWidth,u=window.innerHeight,window.innerWidth);if((e||n)&&t!==window&&(i=i||t.parentNode,!y))do{if(i&&i.getBoundingClientRect&&("none"!==P(i,"transform")||n&&"static"!==P(i,"position"))){var h=i.getBoundingClientRect();a-=h.top+parseInt(P(i,"border-top-width")),l-=h.left+parseInt(P(i,"border-left-width")),s=a+r.height,c=l+r.width;break}}while(i=i.parentNode);return o&&t!==window&&(o=(e=v(i||t))&&e.a,t=e&&e.d,e&&(s=(a/=t)+(u/=t),c=(l/=o)+(d/=o))),{top:a,left:l,bottom:s,right:c,width:d,height:u}}}function R(t,e,n){for(var o=M(t,!0),i=k(t)[e];o;){var r=k(o)[n];if(!("top"===n||"left"===n?r<=i:i<=r))return o;if(o===O())break;o=M(o,!1)}return!1}function X(t,e,n,o){for(var i=0,r=0,a=t.children;r<a.length;){if("none"!==a[r].style.display&&a[r]!==Bt.ghost&&(o||a[r]!==Bt.dragged)&&N(a[r],n.draggable,t,!1)){if(i===e)return a[r];i++}r++}return null}function Y(t,e){for(var n=t.lastElementChild;n&&(n===Bt.ghost||"none"===P(n,"display")||e&&!p(n,e));)n=n.previousElementSibling;return n||null}function B(t,e){var n=0;if(!t||!t.parentNode)return-1;for(;t=t.previousElementSibling;)"TEMPLATE"===t.nodeName.toUpperCase()||t===Bt.clone||e&&!p(t,e)||n++;return n}function E(t){var e=0,n=0,o=O();if(t)do{var i=v(t),r=i.a,i=i.d}while(e+=t.scrollLeft*r,n+=t.scrollTop*i,t!==o&&(t=t.parentNode));return[e,n]}function M(t,e){if(!t||!t.getBoundingClientRect)return O();var n=t,o=!1;do{if(n.clientWidth<n.scrollWidth||n.clientHeight<n.scrollHeight){var i=P(n);if(n.clientWidth<n.scrollWidth&&("auto"==i.overflowX||"scroll"==i.overflowX)||n.clientHeight<n.scrollHeight&&("auto"==i.overflowY||"scroll"==i.overflowY)){if(!n.getBoundingClientRect||n===document.body)return O();if(o||e)return n;o=!0}}}while(n=n.parentNode);return O()}function D(t,e){return Math.round(t.top)===Math.round(e.top)&&Math.round(t.left)===Math.round(e.left)&&Math.round(t.height)===Math.round(e.height)&&Math.round(t.width)===Math.round(e.width)}function S(e,n){return function(){var t;g||(1===(t=arguments).length?e.call(this,t[0]):e.apply(this,t),g=setTimeout(function(){g=void 0},n))}}function F(t,e,n){t.scrollLeft+=e,t.scrollTop+=n}function _(t){var e=window.Polymer,n=window.jQuery||window.Zepto;return e&&e.dom?e.dom(t).cloneNode(!0):n?n(t).clone(!0)[0]:t.cloneNode(!0)}function C(t,e){P(t,"position","absolute"),P(t,"top",e.top),P(t,"left",e.left),P(t,"width",e.width),P(t,"height",e.height)}function T(t){P(t,"position",""),P(t,"top",""),P(t,"left",""),P(t,"width",""),P(t,"height","")}var j="Sortable"+(new Date).getTime();function x(){var e,o=[];return{captureAnimationState:function(){o=[],this.options.animation&&[].slice.call(this.el.children).forEach(function(t){var e,n;"none"!==P(t,"display")&&t!==Bt.ghost&&(o.push({target:t,rect:k(t)}),e=A({},o[o.length-1].rect),!t.thisAnimationDuration||(n=v(t,!0))&&(e.top-=n.f,e.left-=n.e),t.fromRect=e)})},addAnimationState:function(t){o.push(t)},removeAnimationState:function(t){o.splice(function(t,e){for(var n in t)if(t.hasOwnProperty(n))for(var o in e)if(e.hasOwnProperty(o)&&e[o]===t[n][o])return Number(n);return-1}(o,{target:t}),1)},animateAll:function(t){var c=this;if(!this.options.animation)return clearTimeout(e),void("function"==typeof t&&t());var u=!1,d=0;o.forEach(function(t){var e=0,n=t.target,o=n.fromRect,i=k(n),r=n.prevFromRect,a=n.prevToRect,l=t.rect,s=v(n,!0);s&&(i.top-=s.f,i.left-=s.e),n.toRect=i,n.thisAnimationDuration&&D(r,i)&&!D(o,i)&&(l.top-i.top)/(l.left-i.left)==(o.top-i.top)/(o.left-i.left)&&(t=l,s=r,r=a,a=c.options,e=Math.sqrt(Math.pow(s.top-t.top,2)+Math.pow(s.left-t.left,2))/Math.sqrt(Math.pow(s.top-r.top,2)+Math.pow(s.left-r.left,2))*a.animation),D(i,o)||(n.prevFromRect=o,n.prevToRect=i,e=e||c.options.animation,c.animate(n,l,i,e)),e&&(u=!0,d=Math.max(d,e),clearTimeout(n.animationResetTimer),n.animationResetTimer=setTimeout(function(){n.animationTime=0,n.prevFromRect=null,n.fromRect=null,n.prevToRect=null,n.thisAnimationDuration=null},e),n.thisAnimationDuration=e)}),clearTimeout(e),u?e=setTimeout(function(){"function"==typeof t&&t()},d):"function"==typeof t&&t(),o=[]},animate:function(t,e,n,o){var i,r;o&&(P(t,"transition",""),P(t,"transform",""),i=(r=v(this.el))&&r.a,r=r&&r.d,i=(e.left-n.left)/(i||1),r=(e.top-n.top)/(r||1),t.animatingX=!!i,t.animatingY=!!r,P(t,"transform","translate3d("+i+"px,"+r+"px,0)"),this.forRepaintDummy=t.offsetWidth,P(t,"transition","transform "+o+"ms"+(this.options.easing?" "+this.options.easing:"")),P(t,"transform","translate3d(0,0,0)"),"number"==typeof t.animated&&clearTimeout(t.animated),t.animated=setTimeout(function(){P(t,"transition",""),P(t,"transform",""),t.animated=!1,t.animatingX=!1,t.animatingY=!1},o))}}}var H=[],L={initializeByDefault:!0},K={mount:function(e){for(var t in L)!L.hasOwnProperty(t)||t in e||(e[t]=L[t]);H.forEach(function(t){if(t.pluginName===e.pluginName)throw"Sortable: Cannot mount plugin ".concat(e.pluginName," more than once")}),H.push(e)},pluginEvent:function(e,n,o){var t=this;this.eventCanceled=!1,o.cancel=function(){t.eventCanceled=!0};var i=e+"Global";H.forEach(function(t){n[t.pluginName]&&(n[t.pluginName][i]&&n[t.pluginName][i](A({sortable:n},o)),n.options[t.pluginName]&&n[t.pluginName][e]&&n[t.pluginName][e](A({sortable:n},o)))})},initializePlugins:function(n,o,i,t){for(var e in H.forEach(function(t){var e=t.pluginName;(n.options[e]||t.initializeByDefault)&&((t=new t(n,o,n.options)).sortable=n,t.options=n.options,n[e]=t,a(i,t.defaults))}),n.options){var r;n.options.hasOwnProperty(e)&&(void 0!==(r=this.modifyOption(n,e,n.options[e]))&&(n.options[e]=r))}},getEventProperties:function(e,n){var o={};return H.forEach(function(t){"function"==typeof t.eventProperties&&a(o,t.eventProperties.call(n[t.pluginName],e))}),o},modifyOption:function(e,n,o){var i;return H.forEach(function(t){e[t.pluginName]&&t.optionListeners&&"function"==typeof t.optionListeners[n]&&(i=t.optionListeners[n].call(e[t.pluginName],o))}),i}};function W(t){var e=t.sortable,n=t.rootEl,o=t.name,i=t.targetEl,r=t.cloneEl,a=t.toEl,l=t.fromEl,s=t.oldIndex,c=t.newIndex,u=t.oldDraggableIndex,d=t.newDraggableIndex,h=t.originalEvent,f=t.putSortable,p=t.extraEventProperties;if(e=e||n&&n[j]){var g,m=e.options,t="on"+o.charAt(0).toUpperCase()+o.substr(1);!window.CustomEvent||y||w?(g=document.createEvent("Event")).initEvent(o,!0,!0):g=new CustomEvent(o,{bubbles:!0,cancelable:!0}),g.to=a||n,g.from=l||n,g.item=i||n,g.clone=r,g.oldIndex=s,g.newIndex=c,g.oldDraggableIndex=u,g.newDraggableIndex=d,g.originalEvent=h,g.pullMode=f?f.lastPutMode:void 0;var v,b=A(A({},p),K.getEventProperties(o,e));for(v in b)g[v]=b[v];n&&n.dispatchEvent(g),m[t]&&m[t].call(e,g)}}function z(t,e){var n=(o=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{}).evt,o=i(o,G);K.pluginEvent.bind(Bt)(t,e,A({dragEl:q,parentEl:V,ghostEl:Z,rootEl:$,nextEl:Q,lastDownEl:J,cloneEl:tt,cloneHidden:et,dragStarted:pt,putSortable:lt,activeSortable:Bt.active,originalEvent:n,oldIndex:nt,oldDraggableIndex:it,newIndex:ot,newDraggableIndex:rt,hideGhostForTarget:kt,unhideGhostForTarget:Rt,cloneNowHidden:function(){et=!0},cloneNowShown:function(){et=!1},dispatchSortableEvent:function(t){U({sortable:e,name:t,originalEvent:n})}},o))}var G=["evt"];function U(t){W(A({putSortable:lt,cloneEl:tt,targetEl:q,rootEl:$,oldIndex:nt,oldDraggableIndex:it,newIndex:ot,newDraggableIndex:rt},t))}var q,V,Z,$,Q,J,tt,et,nt,ot,it,rt,at,lt,st,ct,ut,dt,ht,ft,pt,gt,mt,vt,bt,yt=!1,wt=!1,Et=[],Dt=!1,St=!1,_t=[],Ct=!1,Tt=[],xt="undefined"!=typeof document,Ot=n,Mt=w||y?"cssFloat":"float",At=xt&&!c&&!n&&"draggable"in document.createElement("div"),Nt=function(){if(xt){if(y)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto","auto"===t.style.pointerEvents}}(),It=function(t,e){var n=P(t),o=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),i=X(t,0,e),r=X(t,1,e),a=i&&P(i),l=r&&P(r),s=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+k(i).width,t=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+k(r).width;if("flex"===n.display)return"column"===n.flexDirection||"column-reverse"===n.flexDirection?"vertical":"horizontal";if("grid"===n.display)return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(i&&a.float&&"none"!==a.float){e="left"===a.float?"left":"right";return!r||"both"!==l.clear&&l.clear!==e?"horizontal":"vertical"}return i&&("block"===a.display||"flex"===a.display||"table"===a.display||"grid"===a.display||o<=s&&"none"===n[Mt]||r&&"none"===n[Mt]&&o<s+t)?"vertical":"horizontal"},Pt=function(t){function l(r,a){return function(t,e,n,o){var i=t.options.group.name&&e.options.group.name&&t.options.group.name===e.options.group.name;if(null==r&&(a||i))return!0;if(null==r||!1===r)return!1;if(a&&"clone"===r)return r;if("function"==typeof r)return l(r(t,e,n,o),a)(t,e,n,o);e=(a?t:e).options.group.name;return!0===r||"string"==typeof r&&r===e||r.join&&-1<r.indexOf(e)}}var e={},n=t.group;n&&"object"==o(n)||(n={name:n}),e.name=n.name,e.checkPull=l(n.pull,!0),e.checkPut=l(n.put),e.revertClone=n.revertClone,t.group=e},kt=function(){!Nt&&Z&&P(Z,"display","none")},Rt=function(){!Nt&&Z&&P(Z,"display","")};xt&&document.addEventListener("click",function(t){if(wt)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),wt=!1},!0);function Xt(t){if(q){t=t.touches?t.touches[0]:t;var e=(i=t.clientX,r=t.clientY,Et.some(function(t){var e=t[j].options.emptyInsertThreshold;if(e&&!Y(t)){var n=k(t),o=i>=n.left-e&&i<=n.right+e,e=r>=n.top-e&&r<=n.bottom+e;return o&&e?a=t:void 0}}),a);if(e){var n,o={};for(n in t)t.hasOwnProperty(n)&&(o[n]=t[n]);o.target=o.rootEl=e,o.preventDefault=void 0,o.stopPropagation=void 0,e[j]._onDragOver(o)}}var i,r,a}function Yt(t){q&&q.parentNode[j]._isOutsideThisEl(t.target)}function Bt(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=a({},e),t[j]=this;var n,o,i={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return It(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,e){t.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Bt.supportPointer&&"PointerEvent"in window&&!u,emptyInsertThreshold:5};for(n in K.initializePlugins(this,t,i),i)n in e||(e[n]=i[n]);for(o in Pt(e),this)"_"===o.charAt(0)&&"function"==typeof this[o]&&(this[o]=this[o].bind(this));this.nativeDraggable=!e.forceFallback&&At,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?h(t,"pointerdown",this._onTapStart):(h(t,"mousedown",this._onTapStart),h(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(h(t,"dragover",this),h(t,"dragenter",this)),Et.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),a(this,x())}function Ft(t,e,n,o,i,r,a,l){var s,c,u=t[j],d=u.options.onMove;return!window.CustomEvent||y||w?(s=document.createEvent("Event")).initEvent("move",!0,!0):s=new CustomEvent("move",{bubbles:!0,cancelable:!0}),s.to=e,s.from=t,s.dragged=n,s.draggedRect=o,s.related=i||e,s.relatedRect=r||k(e),s.willInsertAfter=l,s.originalEvent=a,t.dispatchEvent(s),c=d?d.call(u,s,a):c}function jt(t){t.draggable=!1}function Ht(){Ct=!1}function Lt(t){return setTimeout(t,0)}function Kt(t){return clearTimeout(t)}Bt.prototype={constructor:Bt,_isOutsideThisEl:function(t){this.el.contains(t)||t===this.el||(gt=null)},_getDirection:function(t,e){return"function"==typeof this.options.direction?this.options.direction.call(this,t,e,q):this.options.direction},_onTapStart:function(e){if(e.cancelable){var n=this,o=this.el,t=this.options,i=t.preventOnFilter,r=e.type,a=e.touches&&e.touches[0]||e.pointerType&&"touch"===e.pointerType&&e,l=(a||e).target,s=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||l,c=t.filter;if(!function(t){Tt.length=0;var e=t.getElementsByTagName("input"),n=e.length;for(;n--;){var o=e[n];o.checked&&Tt.push(o)}}(o),!q&&!(/mousedown|pointerdown/.test(r)&&0!==e.button||t.disabled)&&!s.isContentEditable&&(this.nativeDraggable||!u||!l||"SELECT"!==l.tagName.toUpperCase())&&!((l=N(l,t.draggable,o,!1))&&l.animated||J===l)){if(nt=B(l),it=B(l,t.draggable),"function"==typeof c){if(c.call(this,e,l,this))return U({sortable:n,rootEl:s,name:"filter",targetEl:l,toEl:o,fromEl:o}),z("filter",n,{evt:e}),void(i&&e.cancelable&&e.preventDefault())}else if(c=c&&c.split(",").some(function(t){if(t=N(s,t.trim(),o,!1))return U({sortable:n,rootEl:t,name:"filter",targetEl:l,fromEl:o,toEl:o}),z("filter",n,{evt:e}),!0}))return void(i&&e.cancelable&&e.preventDefault());t.handle&&!N(s,t.handle,o,!1)||this._prepareDragStart(e,a,l)}}},_prepareDragStart:function(t,e,n){var o,i=this,r=i.el,a=i.options,l=r.ownerDocument;n&&!q&&n.parentNode===r&&(o=k(n),$=r,V=(q=n).parentNode,Q=q.nextSibling,J=n,at=a.group,st={target:Bt.dragged=q,clientX:(e||t).clientX,clientY:(e||t).clientY},ht=st.clientX-o.left,ft=st.clientY-o.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,q.style["will-change"]="all",o=function(){z("delayEnded",i,{evt:t}),Bt.eventCanceled?i._onDrop():(i._disableDelayedDragEvents(),!s&&i.nativeDraggable&&(q.draggable=!0),i._triggerDragStart(t,e),U({sortable:i,name:"choose",originalEvent:t}),I(q,a.chosenClass,!0))},a.ignore.split(",").forEach(function(t){b(q,t.trim(),jt)}),h(l,"dragover",Xt),h(l,"mousemove",Xt),h(l,"touchmove",Xt),h(l,"mouseup",i._onDrop),h(l,"touchend",i._onDrop),h(l,"touchcancel",i._onDrop),s&&this.nativeDraggable&&(this.options.touchStartThreshold=4,q.draggable=!0),z("delayStart",this,{evt:t}),!a.delay||a.delayOnTouchOnly&&!e||this.nativeDraggable&&(w||y)?o():Bt.eventCanceled?this._onDrop():(h(l,"mouseup",i._disableDelayedDrag),h(l,"touchend",i._disableDelayedDrag),h(l,"touchcancel",i._disableDelayedDrag),h(l,"mousemove",i._delayedDragTouchMoveHandler),h(l,"touchmove",i._delayedDragTouchMoveHandler),a.supportPointer&&h(l,"pointermove",i._delayedDragTouchMoveHandler),i._dragStartTimer=setTimeout(o,a.delay)))},_delayedDragTouchMoveHandler:function(t){t=t.touches?t.touches[0]:t;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){q&&jt(q),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;f(t,"mouseup",this._disableDelayedDrag),f(t,"touchend",this._disableDelayedDrag),f(t,"touchcancel",this._disableDelayedDrag),f(t,"mousemove",this._delayedDragTouchMoveHandler),f(t,"touchmove",this._delayedDragTouchMoveHandler),f(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||"touch"==t.pointerType&&t,!this.nativeDraggable||e?this.options.supportPointer?h(document,"pointermove",this._onTouchMove):h(document,e?"touchmove":"mousemove",this._onTouchMove):(h(q,"dragend",this),h($,"dragstart",this._onDragStart));try{document.selection?Lt(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch(t){}},_dragStarted:function(t,e){var n;yt=!1,$&&q?(z("dragStarted",this,{evt:e}),this.nativeDraggable&&h(document,"dragover",Yt),n=this.options,t||I(q,n.dragClass,!1),I(q,n.ghostClass,!0),Bt.active=this,t&&this._appendGhost(),U({sortable:this,name:"start",originalEvent:e})):this._nulling()},_emulateDragOver:function(){if(ct){this._lastX=ct.clientX,this._lastY=ct.clientY,kt();for(var t=document.elementFromPoint(ct.clientX,ct.clientY),e=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(ct.clientX,ct.clientY))!==e;)e=t;if(q.parentNode[j]._isOutsideThisEl(t),e)do{if(e[j])if(e[j]._onDragOver({clientX:ct.clientX,clientY:ct.clientY,target:t,rootEl:e})&&!this.options.dragoverBubble)break}while(e=(t=e).parentNode);Rt()}},_onTouchMove:function(t){if(st){var e=this.options,n=e.fallbackTolerance,o=e.fallbackOffset,i=t.touches?t.touches[0]:t,r=Z&&v(Z,!0),a=Z&&r&&r.a,l=Z&&r&&r.d,e=Ot&&bt&&E(bt),a=(i.clientX-st.clientX+o.x)/(a||1)+(e?e[0]-_t[0]:0)/(a||1),l=(i.clientY-st.clientY+o.y)/(l||1)+(e?e[1]-_t[1]:0)/(l||1);if(!Bt.active&&!yt){if(n&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))<n)return;this._onDragStart(t,!0)}Z&&(r?(r.e+=a-(ut||0),r.f+=l-(dt||0)):r={a:1,b:0,c:0,d:1,e:a,f:l},r="matrix(".concat(r.a,",").concat(r.b,",").concat(r.c,",").concat(r.d,",").concat(r.e,",").concat(r.f,")"),P(Z,"webkitTransform",r),P(Z,"mozTransform",r),P(Z,"msTransform",r),P(Z,"transform",r),ut=a,dt=l,ct=i),t.cancelable&&t.preventDefault()}},_appendGhost:function(){if(!Z){var t=this.options.fallbackOnBody?document.body:$,e=k(q,!0,Ot,!0,t),n=this.options;if(Ot){for(bt=t;"static"===P(bt,"position")&&"none"===P(bt,"transform")&&bt!==document;)bt=bt.parentNode;bt!==document.body&&bt!==document.documentElement?(bt===document&&(bt=O()),e.top+=bt.scrollTop,e.left+=bt.scrollLeft):bt=O(),_t=E(bt)}I(Z=q.cloneNode(!0),n.ghostClass,!1),I(Z,n.fallbackClass,!0),I(Z,n.dragClass,!0),P(Z,"transition",""),P(Z,"transform",""),P(Z,"box-sizing","border-box"),P(Z,"margin",0),P(Z,"top",e.top),P(Z,"left",e.left),P(Z,"width",e.width),P(Z,"height",e.height),P(Z,"opacity","0.8"),P(Z,"position",Ot?"absolute":"fixed"),P(Z,"zIndex","100000"),P(Z,"pointerEvents","none"),Bt.ghost=Z,t.appendChild(Z),P(Z,"transform-origin",ht/parseInt(Z.style.width)*100+"% "+ft/parseInt(Z.style.height)*100+"%")}},_onDragStart:function(t,e){var n=this,o=t.dataTransfer,i=n.options;z("dragStart",this,{evt:t}),Bt.eventCanceled?this._onDrop():(z("setupClone",this),Bt.eventCanceled||((tt=_(q)).draggable=!1,tt.style["will-change"]="",this._hideClone(),I(tt,this.options.chosenClass,!1),Bt.clone=tt),n.cloneId=Lt(function(){z("clone",n),Bt.eventCanceled||(n.options.removeCloneOnHide||$.insertBefore(tt,q),n._hideClone(),U({sortable:n,name:"clone"}))}),e||I(q,i.dragClass,!0),e?(wt=!0,n._loopId=setInterval(n._emulateDragOver,50)):(f(document,"mouseup",n._onDrop),f(document,"touchend",n._onDrop),f(document,"touchcancel",n._onDrop),o&&(o.effectAllowed="move",i.setData&&i.setData.call(n,o,q)),h(document,"drop",n),P(q,"transform","translateZ(0)")),yt=!0,n._dragStartId=Lt(n._dragStarted.bind(n,e,t)),h(document,"selectstart",n),pt=!0,u&&P(document.body,"user-select","none"))},_onDragOver:function(n){var o,i,r,t,a=this.el,l=n.target,e=this.options,s=e.group,c=Bt.active,u=at===s,d=e.sort,h=lt||c,f=this,p=!1;if(!Ct){if(void 0!==n.preventDefault&&n.cancelable&&n.preventDefault(),l=N(l,e.draggable,a,!0),T("dragOver"),Bt.eventCanceled)return p;if(q.contains(n.target)||l.animated&&l.animatingX&&l.animatingY||f._ignoreWhileAnimating===l)return O(!1);if(wt=!1,c&&!e.disabled&&(u?d||(i=V!==$):lt===this||(this.lastPutMode=at.checkPull(this,c,q,n))&&s.checkPut(this,c,q,n))){if(r="vertical"===this._getDirection(n,l),o=k(q),T("dragOverValid"),Bt.eventCanceled)return p;if(i)return V=$,x(),this._hideClone(),T("revert"),Bt.eventCanceled||(Q?$.insertBefore(q,Q):$.appendChild(q)),O(!0);var g=Y(a,e.draggable);if(!g||function(t,e,n){n=k(Y(n.el,n.options.draggable));return e?t.clientX>n.right+10||t.clientX<=n.right&&t.clientY>n.bottom&&t.clientX>=n.left:t.clientX>n.right&&t.clientY>n.top||t.clientX<=n.right&&t.clientY>n.bottom+10}(n,r,this)&&!g.animated){if(g===q)return O(!1);if((l=g&&a===n.target?g:l)&&(w=k(l)),!1!==Ft($,a,q,o,l,w,n,!!l))return x(),a.appendChild(q),V=a,M(),O(!0)}else if(g&&function(t,e,n){n=k(X(n.el,0,n.options,!0));return e?t.clientX<n.left-10||t.clientY<n.top&&t.clientX<n.right:t.clientY<n.top-10||t.clientY<n.bottom&&t.clientX<n.left}(n,r,this)){var m=X(a,0,e,!0);if(m===q)return O(!1);if(w=k(l=m),!1!==Ft($,a,q,o,l,w,n,!1))return x(),a.insertBefore(q,m),V=a,M(),O(!0)}else if(l.parentNode===a){var v,b,y,w=k(l),E=q.parentNode!==a,D=(D=q.animated&&q.toRect||o,C=l.animated&&l.toRect||w,S=(t=r)?D.left:D.top,s=t?D.right:D.bottom,g=t?D.width:D.height,m=t?C.left:C.top,D=t?C.right:C.bottom,C=t?C.width:C.height,!(S===m||s===D||S+g/2===m+C/2)),S=r?"top":"left",g=R(l,"top","top")||R(q,"top","top"),m=g?g.scrollTop:void 0;if(gt!==l&&(b=w[S],Dt=!1,St=!D&&e.invertSwap||E),0!==(v=function(t,e,n,o,i,r,a,l){var s=o?t.clientY:t.clientX,c=o?n.height:n.width,t=o?n.top:n.left,o=o?n.bottom:n.right,n=!1;if(!a)if(l&&vt<c*i){if(Dt=!Dt&&(1===mt?t+c*r/2<s:s<o-c*r/2)?!0:Dt)n=!0;else if(1===mt?s<t+vt:o-vt<s)return-mt}else if(t+c*(1-i)/2<s&&s<o-c*(1-i)/2)return function(t){return B(q)<B(t)?1:-1}(e);if((n=n||a)&&(s<t+c*r/2||o-c*r/2<s))return t+c/2<s?1:-1;return 0}(n,l,w,r,D?1:e.swapThreshold,null==e.invertedSwapThreshold?e.swapThreshold:e.invertedSwapThreshold,St,gt===l)))for(var _=B(q);(y=V.children[_-=v])&&("none"===P(y,"display")||y===Z););if(0===v||y===l)return O(!1);mt=v;var C=(gt=l).nextElementSibling,E=!1,D=Ft($,a,q,o,l,w,n,E=1===v);if(!1!==D)return 1!==D&&-1!==D||(E=1===D),Ct=!0,setTimeout(Ht,30),x(),E&&!C?a.appendChild(q):l.parentNode.insertBefore(q,E?C:l),g&&F(g,0,m-g.scrollTop),V=q.parentNode,void 0===b||St||(vt=Math.abs(b-k(l)[S])),M(),O(!0)}if(a.contains(q))return O(!1)}return!1}function T(t,e){z(t,f,A({evt:n,isOwner:u,axis:r?"vertical":"horizontal",revert:i,dragRect:o,targetRect:w,canSort:d,fromSortable:h,target:l,completed:O,onMove:function(t,e){return Ft($,a,q,o,t,k(t),n,e)},changed:M},e))}function x(){T("dragOverAnimationCapture"),f.captureAnimationState(),f!==h&&h.captureAnimationState()}function O(t){return T("dragOverCompleted",{insertion:t}),t&&(u?c._hideClone():c._showClone(f),f!==h&&(I(q,(lt||c).options.ghostClass,!1),I(q,e.ghostClass,!0)),lt!==f&&f!==Bt.active?lt=f:f===Bt.active&<&&(lt=null),h===f&&(f._ignoreWhileAnimating=l),f.animateAll(function(){T("dragOverAnimationComplete"),f._ignoreWhileAnimating=null}),f!==h&&(h.animateAll(),h._ignoreWhileAnimating=null)),(l===q&&!q.animated||l===a&&!l.animated)&&(gt=null),e.dragoverBubble||n.rootEl||l===document||(q.parentNode[j]._isOutsideThisEl(n.target),t||Xt(n)),!e.dragoverBubble&&n.stopPropagation&&n.stopPropagation(),p=!0}function M(){ot=B(q),rt=B(q,e.draggable),U({sortable:f,name:"change",toEl:a,newIndex:ot,newDraggableIndex:rt,originalEvent:n})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){f(document,"mousemove",this._onTouchMove),f(document,"touchmove",this._onTouchMove),f(document,"pointermove",this._onTouchMove),f(document,"dragover",Xt),f(document,"mousemove",Xt),f(document,"touchmove",Xt)},_offUpEvents:function(){var t=this.el.ownerDocument;f(t,"mouseup",this._onDrop),f(t,"touchend",this._onDrop),f(t,"pointerup",this._onDrop),f(t,"touchcancel",this._onDrop),f(document,"selectstart",this)},_onDrop:function(t){var e=this.el,n=this.options;ot=B(q),rt=B(q,n.draggable),z("drop",this,{evt:t}),V=q&&q.parentNode,ot=B(q),rt=B(q,n.draggable),Bt.eventCanceled||(Dt=St=yt=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),Kt(this.cloneId),Kt(this._dragStartId),this.nativeDraggable&&(f(document,"drop",this),f(e,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),u&&P(document.body,"user-select",""),P(q,"transform",""),t&&(pt&&(t.cancelable&&t.preventDefault(),n.dropBubble||t.stopPropagation()),Z&&Z.parentNode&&Z.parentNode.removeChild(Z),($===V||lt&&"clone"!==lt.lastPutMode)&&tt&&tt.parentNode&&tt.parentNode.removeChild(tt),q&&(this.nativeDraggable&&f(q,"dragend",this),jt(q),q.style["will-change"]="",pt&&!yt&&I(q,(lt||this).options.ghostClass,!1),I(q,this.options.chosenClass,!1),U({sortable:this,name:"unchoose",toEl:V,newIndex:null,newDraggableIndex:null,originalEvent:t}),$!==V?(0<=ot&&(U({rootEl:V,name:"add",toEl:V,fromEl:$,originalEvent:t}),U({sortable:this,name:"remove",toEl:V,originalEvent:t}),U({rootEl:V,name:"sort",toEl:V,fromEl:$,originalEvent:t}),U({sortable:this,name:"sort",toEl:V,originalEvent:t})),lt&<.save()):ot!==nt&&0<=ot&&(U({sortable:this,name:"update",toEl:V,originalEvent:t}),U({sortable:this,name:"sort",toEl:V,originalEvent:t})),Bt.active&&(null!=ot&&-1!==ot||(ot=nt,rt=it),U({sortable:this,name:"end",toEl:V,originalEvent:t}),this.save())))),this._nulling()},_nulling:function(){z("nulling",this),$=q=V=Z=Q=tt=J=et=st=ct=pt=ot=rt=nt=it=gt=mt=lt=at=Bt.dragged=Bt.ghost=Bt.clone=Bt.active=null,Tt.forEach(function(t){t.checked=!0}),Tt.length=ut=dt=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":q&&(this._onDragOver(t),function(t){t.dataTransfer&&(t.dataTransfer.dropEffect="move");t.cancelable&&t.preventDefault()}(t));break;case"selectstart":t.preventDefault()}},toArray:function(){for(var t,e=[],n=this.el.children,o=0,i=n.length,r=this.options;o<i;o++)N(t=n[o],r.draggable,this.el,!1)&&e.push(t.getAttribute(r.dataIdAttr)||function(t){var e=t.tagName+t.className+t.src+t.href+t.textContent,n=e.length,o=0;for(;n--;)o+=e.charCodeAt(n);return o.toString(36)}(t));return e},sort:function(t,e){var n={},o=this.el;this.toArray().forEach(function(t,e){e=o.children[e];N(e,this.options.draggable,o,!1)&&(n[t]=e)},this),e&&this.captureAnimationState(),t.forEach(function(t){n[t]&&(o.removeChild(n[t]),o.appendChild(n[t]))}),e&&this.animateAll()},save:function(){var t=this.options.store;t&&t.set&&t.set(this)},closest:function(t,e){return N(t,e||this.options.draggable,this.el,!1)},option:function(t,e){var n=this.options;if(void 0===e)return n[t];var o=K.modifyOption(this,t,e);n[t]=void 0!==o?o:e,"group"===t&&Pt(n)},destroy:function(){z("destroy",this);var t=this.el;t[j]=null,f(t,"mousedown",this._onTapStart),f(t,"touchstart",this._onTapStart),f(t,"pointerdown",this._onTapStart),this.nativeDraggable&&(f(t,"dragover",this),f(t,"dragenter",this)),Array.prototype.forEach.call(t.querySelectorAll("[draggable]"),function(t){t.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),Et.splice(Et.indexOf(this.el),1),this.el=t=null},_hideClone:function(){et||(z("hideClone",this),Bt.eventCanceled||(P(tt,"display","none"),this.options.removeCloneOnHide&&tt.parentNode&&tt.parentNode.removeChild(tt),et=!0))},_showClone:function(t){"clone"===t.lastPutMode?et&&(z("showClone",this),Bt.eventCanceled||(q.parentNode!=$||this.options.group.revertClone?Q?$.insertBefore(tt,Q):$.appendChild(tt):$.insertBefore(tt,q),this.options.group.revertClone&&this.animate(q,tt),P(tt,"display",""),et=!1)):this._hideClone()}},xt&&h(document,"touchmove",function(t){(Bt.active||yt)&&t.cancelable&&t.preventDefault()}),Bt.utils={on:h,off:f,css:P,find:b,is:function(t,e){return!!N(t,e,t,!1)},extend:function(t,e){if(t&&e)for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t},throttle:S,closest:N,toggleClass:I,clone:_,index:B,nextTick:Lt,cancelNextTick:Kt,detectDirection:It,getChild:X},Bt.get=function(t){return t[j]},Bt.mount=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];(e=e[0].constructor===Array?e[0]:e).forEach(function(t){if(!t.prototype||!t.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(t));t.utils&&(Bt.utils=A(A({},Bt.utils),t.utils)),K.mount(t)})},Bt.create=function(t,e){return new Bt(t,e)};var Wt,zt,Gt,Ut,qt,Vt,Zt=[],$t=!(Bt.version="1.14.0");function Qt(){Zt.forEach(function(t){clearInterval(t.pid)}),Zt=[]}function Jt(){clearInterval(Vt)}var te,ee=S(function(n,t,e,o){if(t.scroll){var i,r=(n.touches?n.touches[0]:n).clientX,a=(n.touches?n.touches[0]:n).clientY,l=t.scrollSensitivity,s=t.scrollSpeed,c=O(),u=!1;zt!==e&&(zt=e,Qt(),Wt=t.scroll,i=t.scrollFn,!0===Wt&&(Wt=M(e,!0)));var d=0,h=Wt;do{var f=h,p=k(f),g=p.top,m=p.bottom,v=p.left,b=p.right,y=p.width,w=p.height,E=void 0,D=void 0,S=f.scrollWidth,_=f.scrollHeight,C=P(f),T=f.scrollLeft,p=f.scrollTop,D=f===c?(E=y<S&&("auto"===C.overflowX||"scroll"===C.overflowX||"visible"===C.overflowX),w<_&&("auto"===C.overflowY||"scroll"===C.overflowY||"visible"===C.overflowY)):(E=y<S&&("auto"===C.overflowX||"scroll"===C.overflowX),w<_&&("auto"===C.overflowY||"scroll"===C.overflowY)),T=E&&(Math.abs(b-r)<=l&&T+y<S)-(Math.abs(v-r)<=l&&!!T),p=D&&(Math.abs(m-a)<=l&&p+w<_)-(Math.abs(g-a)<=l&&!!p);if(!Zt[d])for(var x=0;x<=d;x++)Zt[x]||(Zt[x]={});Zt[d].vx==T&&Zt[d].vy==p&&Zt[d].el===f||(Zt[d].el=f,Zt[d].vx=T,Zt[d].vy=p,clearInterval(Zt[d].pid),0==T&&0==p||(u=!0,Zt[d].pid=setInterval(function(){o&&0===this.layer&&Bt.active._onTouchMove(qt);var t=Zt[this.layer].vy?Zt[this.layer].vy*s:0,e=Zt[this.layer].vx?Zt[this.layer].vx*s:0;"function"==typeof i&&"continue"!==i.call(Bt.dragged.parentNode[j],e,t,n,qt,Zt[this.layer].el)||F(Zt[this.layer].el,e,t)}.bind({layer:d}),24))),d++}while(t.bubbleScroll&&h!==c&&(h=M(h,!1)));$t=u}},30),n=function(t){var e=t.originalEvent,n=t.putSortable,o=t.dragEl,i=t.activeSortable,r=t.dispatchSortableEvent,a=t.hideGhostForTarget,t=t.unhideGhostForTarget;e&&(i=n||i,a(),e=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e,e=document.elementFromPoint(e.clientX,e.clientY),t(),i&&!i.el.contains(e)&&(r("spill"),this.onSpill({dragEl:o,putSortable:n})))};function ne(){}function oe(){}ne.prototype={startIndex:null,dragStart:function(t){t=t.oldDraggableIndex;this.startIndex=t},onSpill:function(t){var e=t.dragEl,n=t.putSortable;this.sortable.captureAnimationState(),n&&n.captureAnimationState();t=X(this.sortable.el,this.startIndex,this.options);t?this.sortable.el.insertBefore(e,t):this.sortable.el.appendChild(e),this.sortable.animateAll(),n&&n.animateAll()},drop:n},a(ne,{pluginName:"revertOnSpill"}),oe.prototype={onSpill:function(t){var e=t.dragEl,t=t.putSortable||this.sortable;t.captureAnimationState(),e.parentNode&&e.parentNode.removeChild(e),t.animateAll()},drop:n},a(oe,{pluginName:"removeOnSpill"});var ie,re,ae,le,se,ce=[],ue=[],de=!1,he=!1,fe=!1;function pe(n,o){ue.forEach(function(t,e){e=o.children[t.sortableIndex+(n?Number(e):0)];e?o.insertBefore(t,e):o.appendChild(t)})}function ge(){ce.forEach(function(t){t!==ae&&t.parentNode&&t.parentNode.removeChild(t)})}return Bt.mount(new function(){function t(){for(var t in this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0},this)"_"===t.charAt(0)&&"function"==typeof this[t]&&(this[t]=this[t].bind(this))}return t.prototype={dragStarted:function(t){t=t.originalEvent;this.sortable.nativeDraggable?h(document,"dragover",this._handleAutoScroll):this.options.supportPointer?h(document,"pointermove",this._handleFallbackAutoScroll):t.touches?h(document,"touchmove",this._handleFallbackAutoScroll):h(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(t){t=t.originalEvent;this.options.dragOverBubble||t.rootEl||this._handleAutoScroll(t)},drop:function(){this.sortable.nativeDraggable?f(document,"dragover",this._handleAutoScroll):(f(document,"pointermove",this._handleFallbackAutoScroll),f(document,"touchmove",this._handleFallbackAutoScroll),f(document,"mousemove",this._handleFallbackAutoScroll)),Jt(),Qt(),clearTimeout(g),g=void 0},nulling:function(){qt=zt=Wt=$t=Vt=Gt=Ut=null,Zt.length=0},_handleFallbackAutoScroll:function(t){this._handleAutoScroll(t,!0)},_handleAutoScroll:function(e,n){var o,i=this,r=(e.touches?e.touches[0]:e).clientX,a=(e.touches?e.touches[0]:e).clientY,t=document.elementFromPoint(r,a);qt=e,n||this.options.forceAutoScrollFallback||w||y||u?(ee(e,this.options,t,n),o=M(t,!0),!$t||Vt&&r===Gt&&a===Ut||(Vt&&Jt(),Vt=setInterval(function(){var t=M(document.elementFromPoint(r,a),!0);t!==o&&(o=t,Qt()),ee(e,i.options,t,n)},10),Gt=r,Ut=a)):this.options.bubbleScroll&&M(t,!0)!==O()?ee(e,this.options,M(t,!1),!1):Qt()}},a(t,{pluginName:"scroll",initializeByDefault:!0})}),Bt.mount(oe,ne),Bt.mount(new function(){function t(){this.defaults={swapClass:"sortable-swap-highlight"}}return t.prototype={dragStart:function(t){t=t.dragEl;te=t},dragOverValid:function(t){var e=t.completed,n=t.target,o=t.onMove,i=t.activeSortable,r=t.changed,a=t.cancel;i.options.swap&&(t=this.sortable.el,i=this.options,n&&n!==t&&(t=te,te=!1!==o(n)?(I(n,i.swapClass,!0),n):null,t&&t!==te&&I(t,i.swapClass,!1)),r(),e(!0),a())},drop:function(t){var e,n,o=t.activeSortable,i=t.putSortable,r=t.dragEl,a=i||this.sortable,l=this.options;te&&I(te,l.swapClass,!1),te&&(l.swap||i&&i.options.swap)&&r!==te&&(a.captureAnimationState(),a!==o&&o.captureAnimationState(),n=te,t=(e=r).parentNode,l=n.parentNode,t&&l&&!t.isEqualNode(n)&&!l.isEqualNode(e)&&(i=B(e),r=B(n),t.isEqualNode(l)&&i<r&&r++,t.insertBefore(n,t.children[i]),l.insertBefore(e,l.children[r])),a.animateAll(),a!==o&&o.animateAll())},nulling:function(){te=null}},a(t,{pluginName:"swap",eventProperties:function(){return{swapItem:te}}})}),Bt.mount(new function(){function t(o){for(var t in this)"_"===t.charAt(0)&&"function"==typeof this[t]&&(this[t]=this[t].bind(this));o.options.supportPointer?h(document,"pointerup",this._deselectMultiDrag):(h(document,"mouseup",this._deselectMultiDrag),h(document,"touchend",this._deselectMultiDrag)),h(document,"keydown",this._checkKeyDown),h(document,"keyup",this._checkKeyUp),this.defaults={selectedClass:"sortable-selected",multiDragKey:null,setData:function(t,e){var n="";ce.length&&re===o?ce.forEach(function(t,e){n+=(e?", ":"")+t.textContent}):n=e.textContent,t.setData("Text",n)}}}return t.prototype={multiDragKeyDown:!1,isMultiDrag:!1,delayStartGlobal:function(t){t=t.dragEl;ae=t},delayEnded:function(){this.isMultiDrag=~ce.indexOf(ae)},setupClone:function(t){var e=t.sortable,t=t.cancel;if(this.isMultiDrag){for(var n=0;n<ce.length;n++)ue.push(_(ce[n])),ue[n].sortableIndex=ce[n].sortableIndex,ue[n].draggable=!1,ue[n].style["will-change"]="",I(ue[n],this.options.selectedClass,!1),ce[n]===ae&&I(ue[n],this.options.chosenClass,!1);e._hideClone(),t()}},clone:function(t){var e=t.sortable,n=t.rootEl,o=t.dispatchSortableEvent,t=t.cancel;this.isMultiDrag&&(this.options.removeCloneOnHide||ce.length&&re===e&&(pe(!0,n),o("clone"),t()))},showClone:function(t){var e=t.cloneNowShown,n=t.rootEl,t=t.cancel;this.isMultiDrag&&(pe(!1,n),ue.forEach(function(t){P(t,"display","")}),e(),se=!1,t())},hideClone:function(t){var e=this,n=(t.sortable,t.cloneNowHidden),t=t.cancel;this.isMultiDrag&&(ue.forEach(function(t){P(t,"display","none"),e.options.removeCloneOnHide&&t.parentNode&&t.parentNode.removeChild(t)}),n(),se=!0,t())},dragStartGlobal:function(t){t.sortable;!this.isMultiDrag&&re&&re.multiDrag._deselectMultiDrag(),ce.forEach(function(t){t.sortableIndex=B(t)}),ce=ce.sort(function(t,e){return t.sortableIndex-e.sortableIndex}),fe=!0},dragStarted:function(t){var e,n=this,t=t.sortable;this.isMultiDrag&&(this.options.sort&&(t.captureAnimationState(),this.options.animation&&(ce.forEach(function(t){t!==ae&&P(t,"position","absolute")}),e=k(ae,!1,!0,!0),ce.forEach(function(t){t!==ae&&C(t,e)}),de=he=!0)),t.animateAll(function(){de=he=!1,n.options.animation&&ce.forEach(function(t){T(t)}),n.options.sort&&ge()}))},dragOver:function(t){var e=t.target,n=t.completed,t=t.cancel;he&&~ce.indexOf(e)&&(n(!1),t())},revert:function(t){var n,o,e=t.fromSortable,i=t.rootEl,r=t.sortable,a=t.dragRect;1<ce.length&&(ce.forEach(function(t){r.addAnimationState({target:t,rect:he?k(t):a}),T(t),t.fromRect=a,e.removeAnimationState(t)}),he=!1,n=!this.options.removeCloneOnHide,o=i,ce.forEach(function(t,e){e=o.children[t.sortableIndex+(n?Number(e):0)];e?o.insertBefore(t,e):o.appendChild(t)}))},dragOverCompleted:function(t){var e,n=t.sortable,o=t.isOwner,i=t.insertion,r=t.activeSortable,a=t.parentEl,l=t.putSortable,t=this.options;i&&(o&&r._hideClone(),de=!1,t.animation&&1<ce.length&&(he||!o&&!r.options.sort&&!l)&&(e=k(ae,!1,!0,!0),ce.forEach(function(t){t!==ae&&(C(t,e),a.appendChild(t))}),he=!0),o||(he||ge(),1<ce.length?(o=se,r._showClone(n),r.options.animation&&!se&&o&&ue.forEach(function(t){r.addAnimationState({target:t,rect:le}),t.fromRect=le,t.thisAnimationDuration=null})):r._showClone(n)))},dragOverAnimationCapture:function(t){var e=t.dragRect,n=t.isOwner,t=t.activeSortable;ce.forEach(function(t){t.thisAnimationDuration=null}),t.options.animation&&!n&&t.multiDrag.isMultiDrag&&(le=a({},e),e=v(ae,!0),le.top-=e.f,le.left-=e.e)},dragOverAnimationComplete:function(){he&&(he=!1,ge())},drop:function(t){var e=t.originalEvent,n=t.rootEl,o=t.parentEl,i=t.sortable,r=t.dispatchSortableEvent,a=t.oldIndex,l=t.putSortable,s=l||this.sortable;if(e){var c,u,d,h=this.options,f=o.children;if(!fe)if(h.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),I(ae,h.selectedClass,!~ce.indexOf(ae)),~ce.indexOf(ae))ce.splice(ce.indexOf(ae),1),ie=null,W({sortable:i,rootEl:n,name:"deselect",targetEl:ae,originalEvt:e});else{if(ce.push(ae),W({sortable:i,rootEl:n,name:"select",targetEl:ae,originalEvt:e}),e.shiftKey&&ie&&i.el.contains(ie)){var p=B(ie),t=B(ae);if(~p&&~t&&p!==t)for(var g,m=p<t?(g=p,t):(g=t,p+1);g<m;g++)~ce.indexOf(f[g])||(I(f[g],h.selectedClass,!0),ce.push(f[g]),W({sortable:i,rootEl:n,name:"select",targetEl:f[g],originalEvt:e}))}else ie=ae;re=s}fe&&this.isMultiDrag&&(he=!1,(o[j].options.sort||o!==n)&&1<ce.length&&(c=k(ae),u=B(ae,":not(."+this.options.selectedClass+")"),!de&&h.animation&&(ae.thisAnimationDuration=null),s.captureAnimationState(),de||(h.animation&&(ae.fromRect=c,ce.forEach(function(t){var e;t.thisAnimationDuration=null,t!==ae&&(e=he?k(t):c,t.fromRect=e,s.addAnimationState({target:t,rect:e}))})),ge(),ce.forEach(function(t){f[u]?o.insertBefore(t,f[u]):o.appendChild(t),u++}),a===B(ae)&&(d=!1,ce.forEach(function(t){t.sortableIndex!==B(t)&&(d=!0)}),d&&r("update"))),ce.forEach(function(t){T(t)}),s.animateAll()),re=s),(n===o||l&&"clone"!==l.lastPutMode)&&ue.forEach(function(t){t.parentNode&&t.parentNode.removeChild(t)})}},nullingGlobal:function(){this.isMultiDrag=fe=!1,ue.length=0},destroyGlobal:function(){this._deselectMultiDrag(),f(document,"pointerup",this._deselectMultiDrag),f(document,"mouseup",this._deselectMultiDrag),f(document,"touchend",this._deselectMultiDrag),f(document,"keydown",this._checkKeyDown),f(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(t){if(!(void 0!==fe&&fe||re!==this.sortable||t&&N(t.target,this.options.draggable,this.sortable.el,!1)||t&&0!==t.button))for(;ce.length;){var e=ce[0];I(e,this.options.selectedClass,!1),ce.shift(),W({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:e,originalEvt:t})}},_checkKeyDown:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},a(t,{pluginName:"multiDrag",utils:{select:function(t){var e=t.parentNode[j];e&&e.options.multiDrag&&!~ce.indexOf(t)&&(re&&re!==e&&(re.multiDrag._deselectMultiDrag(),re=e),I(t,e.options.selectedClass,!0),ce.push(t))},deselect:function(t){var e=t.parentNode[j],n=ce.indexOf(t);e&&e.options.multiDrag&&~n&&(I(t,e.options.selectedClass,!1),ce.splice(n,1))}},eventProperties:function(){var n=this,o=[],i=[];return ce.forEach(function(t){var e;o.push({multiDragElement:t,index:t.sortableIndex}),e=he&&t!==ae?-1:he?B(t,":not(."+n.options.selectedClass+")"):B(t),i.push({multiDragElement:t,index:e})}),{items:r(ce),clones:[].concat(ue),oldIndicies:o,newIndicies:i}},optionListeners:{multiDragKey:function(t){return"ctrl"===(t=t.toLowerCase())?t="Control":1<t.length&&(t=t.charAt(0).toUpperCase()+t.substr(1)),t}}})}),Bt});
|
app/extensions/fields/asset/vanilla-picker-master/README.md
DELETED
@@ -1,77 +0,0 @@
|
|
1 |
-
# vanilla-picker
|
2 |
-
|
3 |
-
[![License](https://img.shields.io/npm/l/vanilla-picker.svg)](https://github.com/Sphinxxxx/vanilla-picker/blob/master/LICENSE.md)
|
4 |
-
[![Version](https://img.shields.io/npm/v/vanilla-picker.svg)](https://npmjs.com/vanilla-picker)
|
5 |
-
[![Size](https://badgen.net/badgesize/gzip/sphinxxxx/vanilla-picker/master/dist/vanilla-picker.min.js?label=min%2Bgzip)](https://unpkg.com/vanilla-picker)
|
6 |
-
[![Downloads](https://img.shields.io/npm/dm/vanilla-picker.svg)](https://npmjs.com/vanilla-picker)
|
7 |
-
|
8 |
-
A simple, easy to use vanilla JS (no dependencies) color picker with alpha selection.
|
9 |
-
|
10 |
-
#### Demo
|
11 |
-
|
12 |
-
https://codepen.io/Sphinxxxx/pen/zRmKBX
|
13 |
-
|
14 |
-
|
15 |
-
## Getting Started
|
16 |
-
|
17 |
-
#### Installing
|
18 |
-
|
19 |
-
* For the pros:
|
20 |
-
|
21 |
-
+ ```npm install vanilla-picker --save```
|
22 |
-
+ ```import Picker from 'vanilla-picker';```
|
23 |
-
|
24 |
-
* For the rest of us:
|
25 |
-
|
26 |
-
```
|
27 |
-
<script src="https://unpkg.com/vanilla-picker@2"></script>
|
28 |
-
```
|
29 |
-
|
30 |
-
#### Usage
|
31 |
-
|
32 |
-
```html
|
33 |
-
<div id="parent">Click me</div>
|
34 |
-
|
35 |
-
<script>
|
36 |
-
|
37 |
-
/*
|
38 |
-
Create a new Picker instance and set the parent element.
|
39 |
-
By default, the color picker is a popup which appears when you click the parent.
|
40 |
-
*/
|
41 |
-
var parent = document.querySelector('#parent');
|
42 |
-
var picker = new Picker(parent);
|
43 |
-
|
44 |
-
/*
|
45 |
-
You can do what you want with the chosen color using two callbacks: onChange and onDone.
|
46 |
-
*/
|
47 |
-
picker.onChange = function(color) {
|
48 |
-
parent.style.background = color.rgbaString;
|
49 |
-
};
|
50 |
-
|
51 |
-
/* onDone is similar to onChange, but only called when you click 'Ok' */
|
52 |
-
|
53 |
-
</script>
|
54 |
-
```
|
55 |
-
|
56 |
-
|
57 |
-
## API and advanced options
|
58 |
-
|
59 |
-
https://vanilla-picker.js.org/gen/Picker.html
|
60 |
-
|
61 |
-
|
62 |
-
## Accessibility
|
63 |
-
|
64 |
-
The color picker is built to support basic keyboard navigation and use with screen readers.
|
65 |
-
I would be very interested in feedback on improvements that could be done here!
|
66 |
-
|
67 |
-
|
68 |
-
## Credits
|
69 |
-
|
70 |
-
* Based on https://github.com/dissimulate/Picker by **Adam Brooks**
|
71 |
-
* Built with https://github.com/Joudee/color-conversion by **Joudee**
|
72 |
-
* Built with https://gist.github.com/mjackson/5311256 by **Michael Jackson**
|
73 |
-
|
74 |
-
|
75 |
-
## License
|
76 |
-
|
77 |
-
The ISC license - see the [LICENSE.md](LICENSE.md) file for details.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/extensions/fields/asset/vanilla-picker-master/dist/vanilla-picker.csp.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.picker_wrapper.no_alpha .picker_alpha{display:none}.picker_wrapper.no_editor .picker_editor{position:absolute;z-index:-1;opacity:0}.picker_wrapper.no_cancel .picker_cancel{display:none}.layout_default.picker_wrapper{display:flex;flex-flow:row wrap;justify-content:space-between;align-items:stretch;font-size:10px;width:25em;padding:.5em}.layout_default.picker_wrapper input,.layout_default.picker_wrapper button{font-size:1rem}.layout_default.picker_wrapper>*{margin:.5em}.layout_default.picker_wrapper::before{content:"";display:block;width:100%;height:0;order:1}.layout_default .picker_slider,.layout_default .picker_selector{padding:1em}.layout_default .picker_hue{width:100%}.layout_default .picker_sl{flex:1 1 auto}.layout_default .picker_sl::before{content:"";display:block;padding-bottom:100%}.layout_default .picker_editor{order:1;width:6.5rem}.layout_default .picker_editor input{width:100%;height:100%}.layout_default .picker_sample{order:1;flex:1 1 auto}.layout_default .picker_done,.layout_default .picker_cancel{order:1}.picker_wrapper{box-sizing:border-box;background:#f2f2f2;box-shadow:0 0 0 1px silver;cursor:default;font-family:sans-serif;color:#444;pointer-events:auto}.picker_wrapper:focus{outline:none}.picker_wrapper button,.picker_wrapper input{box-sizing:border-box;border:none;box-shadow:0 0 0 1px silver;outline:none}.picker_wrapper button:focus,.picker_wrapper button:active,.picker_wrapper input:focus,.picker_wrapper input:active{box-shadow:0 0 2px 1px #1e90ff}.picker_wrapper button{padding:.4em .6em;cursor:pointer;background-color:#f5f5f5;background-image:linear-gradient(0deg, gainsboro, transparent)}.picker_wrapper button:active{background-image:linear-gradient(0deg, transparent, gainsboro)}.picker_wrapper button:hover{background-color:#fff}.picker_selector{position:absolute;z-index:1;display:block;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);border:2px solid #fff;border-radius:100%;box-shadow:0 0 3px 1px #67b9ff;background:currentColor;cursor:pointer}.picker_slider .picker_selector{border-radius:2px}.picker_hue{position:relative;background-image:linear-gradient(90deg, red, yellow, lime, cyan, blue, magenta, red);box-shadow:0 0 0 1px silver}.picker_sl{position:relative;box-shadow:0 0 0 1px silver;background-image:linear-gradient(180deg, white, rgba(255, 255, 255, 0) 50%),linear-gradient(0deg, black, rgba(0, 0, 0, 0) 50%),linear-gradient(90deg, #808080, rgba(128, 128, 128, 0))}.picker_alpha,.picker_sample{position:relative;background:linear-gradient(45deg, lightgrey 25%, transparent 25%, transparent 75%, lightgrey 75%) 0 0/2em 2em,linear-gradient(45deg, lightgrey 25%, white 25%, white 75%, lightgrey 75%) 1em 1em/2em 2em;box-shadow:0 0 0 1px silver}.picker_alpha .picker_selector,.picker_sample .picker_selector{background:none}.picker_editor input{font-family:monospace;padding:.2em .4em}.picker_sample::before{content:"";position:absolute;display:block;width:100%;height:100%;background:currentColor}.picker_arrow{position:absolute;z-index:-1}.picker_wrapper.popup{position:absolute;z-index:2;margin:1.5em}.picker_wrapper.popup,.picker_wrapper.popup .picker_arrow::before,.picker_wrapper.popup .picker_arrow::after{background:#f2f2f2;box-shadow:0 0 10px 1px rgba(0,0,0,.4)}.picker_wrapper.popup .picker_arrow{width:3em;height:3em;margin:0}.picker_wrapper.popup .picker_arrow::before,.picker_wrapper.popup .picker_arrow::after{content:"";display:block;position:absolute;top:0;left:0;z-index:-99}.picker_wrapper.popup .picker_arrow::before{width:100%;height:100%;-webkit-transform:skew(45deg);transform:skew(45deg);-webkit-transform-origin:0 100%;transform-origin:0 100%}.picker_wrapper.popup .picker_arrow::after{width:150%;height:150%;box-shadow:none}.popup.popup_top{bottom:100%;left:0}.popup.popup_top .picker_arrow{bottom:0;left:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.popup.popup_bottom{top:100%;left:0}.popup.popup_bottom .picker_arrow{top:0;left:0;-webkit-transform:rotate(90deg) scale(1, -1);transform:rotate(90deg) scale(1, -1)}.popup.popup_left{top:0;right:100%}.popup.popup_left .picker_arrow{top:0;right:0;-webkit-transform:scale(-1, 1);transform:scale(-1, 1)}.popup.popup_right{top:0;left:100%}.popup.popup_right .picker_arrow{top:0;left:0}
|
app/extensions/fields/asset/vanilla-picker-master/dist/vanilla-picker.csp.js
ADDED
@@ -0,0 +1,1001 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* vanilla-picker v2.12.1
|
3 |
+
* https://vanilla-picker.js.org
|
4 |
+
*
|
5 |
+
* Copyright 2017-2021 Andreas Borgen (https://github.com/Sphinxxxx), Adam Brooks (https://github.com/dissimulate)
|
6 |
+
* Released under the ISC license.
|
7 |
+
*/
|
8 |
+
(function (global, factory) {
|
9 |
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
10 |
+
typeof define === 'function' && define.amd ? define(factory) :
|
11 |
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Picker = factory());
|
12 |
+
})(this, (function () { 'use strict';
|
13 |
+
|
14 |
+
var classCallCheck = function (instance, Constructor) {
|
15 |
+
if (!(instance instanceof Constructor)) {
|
16 |
+
throw new TypeError("Cannot call a class as a function");
|
17 |
+
}
|
18 |
+
};
|
19 |
+
|
20 |
+
var createClass = function () {
|
21 |
+
function defineProperties(target, props) {
|
22 |
+
for (var i = 0; i < props.length; i++) {
|
23 |
+
var descriptor = props[i];
|
24 |
+
descriptor.enumerable = descriptor.enumerable || false;
|
25 |
+
descriptor.configurable = true;
|
26 |
+
if ("value" in descriptor) descriptor.writable = true;
|
27 |
+
Object.defineProperty(target, descriptor.key, descriptor);
|
28 |
+
}
|
29 |
+
}
|
30 |
+
|
31 |
+
return function (Constructor, protoProps, staticProps) {
|
32 |
+
if (protoProps) defineProperties(Constructor.prototype, protoProps);
|
33 |
+
if (staticProps) defineProperties(Constructor, staticProps);
|
34 |
+
return Constructor;
|
35 |
+
};
|
36 |
+
}();
|
37 |
+
|
38 |
+
var slicedToArray = function () {
|
39 |
+
function sliceIterator(arr, i) {
|
40 |
+
var _arr = [];
|
41 |
+
var _n = true;
|
42 |
+
var _d = false;
|
43 |
+
var _e = undefined;
|
44 |
+
|
45 |
+
try {
|
46 |
+
for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
|
47 |
+
_arr.push(_s.value);
|
48 |
+
|
49 |
+
if (i && _arr.length === i) break;
|
50 |
+
}
|
51 |
+
} catch (err) {
|
52 |
+
_d = true;
|
53 |
+
_e = err;
|
54 |
+
} finally {
|
55 |
+
try {
|
56 |
+
if (!_n && _i["return"]) _i["return"]();
|
57 |
+
} finally {
|
58 |
+
if (_d) throw _e;
|
59 |
+
}
|
60 |
+
}
|
61 |
+
|
62 |
+
return _arr;
|
63 |
+
}
|
64 |
+
|
65 |
+
return function (arr, i) {
|
66 |
+
if (Array.isArray(arr)) {
|
67 |
+
return arr;
|
68 |
+
} else if (Symbol.iterator in Object(arr)) {
|
69 |
+
return sliceIterator(arr, i);
|
70 |
+
} else {
|
71 |
+
throw new TypeError("Invalid attempt to destructure non-iterable instance");
|
72 |
+
}
|
73 |
+
};
|
74 |
+
}();
|
75 |
+
|
76 |
+
String.prototype.startsWith = String.prototype.startsWith || function (needle) {
|
77 |
+
return this.indexOf(needle) === 0;
|
78 |
+
};
|
79 |
+
String.prototype.padStart = String.prototype.padStart || function (len, pad) {
|
80 |
+
var str = this;while (str.length < len) {
|
81 |
+
str = pad + str;
|
82 |
+
}return str;
|
83 |
+
};
|
84 |
+
|
85 |
+
var colorNames = { cb: '0f8ff', tqw: 'aebd7', q: '-ffff', qmrn: '7fffd4', zr: '0ffff', bg: '5f5dc', bsq: 'e4c4', bck: '---', nch: 'ebcd', b: '--ff', bvt: '8a2be2', brwn: 'a52a2a', brw: 'deb887', ctb: '5f9ea0', hrt: '7fff-', chcT: 'd2691e', cr: '7f50', rnw: '6495ed', crns: '8dc', crms: 'dc143c', cn: '-ffff', Db: '--8b', Dcn: '-8b8b', Dgnr: 'b8860b', Dgr: 'a9a9a9', Dgrn: '-64-', Dkhk: 'bdb76b', Dmgn: '8b-8b', Dvgr: '556b2f', Drng: '8c-', Drch: '9932cc', Dr: '8b--', Dsmn: 'e9967a', Dsgr: '8fbc8f', DsTb: '483d8b', DsTg: '2f4f4f', Dtrq: '-ced1', Dvt: '94-d3', ppnk: '1493', pskb: '-bfff', mgr: '696969', grb: '1e90ff', rbrc: 'b22222', rwht: 'af0', stg: '228b22', chs: '-ff', gnsb: 'dcdcdc', st: '8f8ff', g: 'd7-', gnr: 'daa520', gr: '808080', grn: '-8-0', grnw: 'adff2f', hnw: '0fff0', htpn: '69b4', nnr: 'cd5c5c', ng: '4b-82', vr: '0', khk: '0e68c', vnr: 'e6e6fa', nrb: '0f5', wngr: '7cfc-', mnch: 'acd', Lb: 'add8e6', Lcr: '08080', Lcn: 'e0ffff', Lgnr: 'afad2', Lgr: 'd3d3d3', Lgrn: '90ee90', Lpnk: 'b6c1', Lsmn: 'a07a', Lsgr: '20b2aa', Lskb: '87cefa', LsTg: '778899', Lstb: 'b0c4de', Lw: 'e0', m: '-ff-', mgrn: '32cd32', nn: 'af0e6', mgnt: '-ff', mrn: '8--0', mqm: '66cdaa', mmb: '--cd', mmrc: 'ba55d3', mmpr: '9370db', msg: '3cb371', mmsT: '7b68ee', '': '-fa9a', mtr: '48d1cc', mmvt: 'c71585', mnLb: '191970', ntc: '5fffa', mstr: 'e4e1', mccs: 'e4b5', vjw: 'dead', nv: '--80', c: 'df5e6', v: '808-0', vrb: '6b8e23', rng: 'a5-', rngr: '45-', rch: 'da70d6', pgnr: 'eee8aa', pgrn: '98fb98', ptrq: 'afeeee', pvtr: 'db7093', ppwh: 'efd5', pchp: 'dab9', pr: 'cd853f', pnk: 'c0cb', pm: 'dda0dd', pwrb: 'b0e0e6', prp: '8-080', cc: '663399', r: '--', sbr: 'bc8f8f', rb: '4169e1', sbrw: '8b4513', smn: 'a8072', nbr: '4a460', sgrn: '2e8b57', ssh: '5ee', snn: 'a0522d', svr: 'c0c0c0', skb: '87ceeb', sTb: '6a5acd', sTgr: '708090', snw: 'afa', n: '-ff7f', stb: '4682b4', tn: 'd2b48c', t: '-8080', thst: 'd8bfd8', tmT: '6347', trqs: '40e0d0', vt: 'ee82ee', whT: '5deb3', wht: '', hts: '5f5f5', w: '-', wgrn: '9acd32' };
|
86 |
+
|
87 |
+
function printNum(num) {
|
88 |
+
var decs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
89 |
+
|
90 |
+
var str = decs > 0 ? num.toFixed(decs).replace(/0+$/, '').replace(/\.$/, '') : num.toString();
|
91 |
+
return str || '0';
|
92 |
+
}
|
93 |
+
|
94 |
+
var Color = function () {
|
95 |
+
function Color(r, g, b, a) {
|
96 |
+
classCallCheck(this, Color);
|
97 |
+
|
98 |
+
|
99 |
+
var that = this;
|
100 |
+
function parseString(input) {
|
101 |
+
|
102 |
+
if (input.startsWith('hsl')) {
|
103 |
+
var _input$match$map = input.match(/([\-\d\.e]+)/g).map(Number),
|
104 |
+
_input$match$map2 = slicedToArray(_input$match$map, 4),
|
105 |
+
h = _input$match$map2[0],
|
106 |
+
s = _input$match$map2[1],
|
107 |
+
l = _input$match$map2[2],
|
108 |
+
_a = _input$match$map2[3];
|
109 |
+
|
110 |
+
if (_a === undefined) {
|
111 |
+
_a = 1;
|
112 |
+
}
|
113 |
+
|
114 |
+
h /= 360;
|
115 |
+
s /= 100;
|
116 |
+
l /= 100;
|
117 |
+
that.hsla = [h, s, l, _a];
|
118 |
+
} else if (input.startsWith('rgb')) {
|
119 |
+
var _input$match$map3 = input.match(/([\-\d\.e]+)/g).map(Number),
|
120 |
+
_input$match$map4 = slicedToArray(_input$match$map3, 4),
|
121 |
+
_r = _input$match$map4[0],
|
122 |
+
_g = _input$match$map4[1],
|
123 |
+
_b = _input$match$map4[2],
|
124 |
+
_a2 = _input$match$map4[3];
|
125 |
+
|
126 |
+
if (_a2 === undefined) {
|
127 |
+
_a2 = 1;
|
128 |
+
}
|
129 |
+
|
130 |
+
that.rgba = [_r, _g, _b, _a2];
|
131 |
+
} else {
|
132 |
+
if (input.startsWith('#')) {
|
133 |
+
that.rgba = Color.hexToRgb(input);
|
134 |
+
} else {
|
135 |
+
that.rgba = Color.nameToRgb(input) || Color.hexToRgb(input);
|
136 |
+
}
|
137 |
+
}
|
138 |
+
}
|
139 |
+
|
140 |
+
if (r === undefined) ; else if (Array.isArray(r)) {
|
141 |
+
this.rgba = r;
|
142 |
+
} else if (b === undefined) {
|
143 |
+
var color = r && '' + r;
|
144 |
+
if (color) {
|
145 |
+
parseString(color.toLowerCase());
|
146 |
+
}
|
147 |
+
} else {
|
148 |
+
this.rgba = [r, g, b, a === undefined ? 1 : a];
|
149 |
+
}
|
150 |
+
}
|
151 |
+
|
152 |
+
createClass(Color, [{
|
153 |
+
key: 'printRGB',
|
154 |
+
value: function printRGB(alpha) {
|
155 |
+
var rgb = alpha ? this.rgba : this.rgba.slice(0, 3),
|
156 |
+
vals = rgb.map(function (x, i) {
|
157 |
+
return printNum(x, i === 3 ? 3 : 0);
|
158 |
+
});
|
159 |
+
|
160 |
+
return alpha ? 'rgba(' + vals + ')' : 'rgb(' + vals + ')';
|
161 |
+
}
|
162 |
+
}, {
|
163 |
+
key: 'printHSL',
|
164 |
+
value: function printHSL(alpha) {
|
165 |
+
var mults = [360, 100, 100, 1],
|
166 |
+
suff = ['', '%', '%', ''];
|
167 |
+
|
168 |
+
var hsl = alpha ? this.hsla : this.hsla.slice(0, 3),
|
169 |
+
vals = hsl.map(function (x, i) {
|
170 |
+
return printNum(x * mults[i], i === 3 ? 3 : 1) + suff[i];
|
171 |
+
});
|
172 |
+
|
173 |
+
return alpha ? 'hsla(' + vals + ')' : 'hsl(' + vals + ')';
|
174 |
+
}
|
175 |
+
}, {
|
176 |
+
key: 'printHex',
|
177 |
+
value: function printHex(alpha) {
|
178 |
+
var hex = this.hex;
|
179 |
+
return alpha ? hex : hex.substring(0, 7);
|
180 |
+
}
|
181 |
+
}, {
|
182 |
+
key: 'rgba',
|
183 |
+
get: function get() {
|
184 |
+
if (this._rgba) {
|
185 |
+
return this._rgba;
|
186 |
+
}
|
187 |
+
if (!this._hsla) {
|
188 |
+
throw new Error('No color is set');
|
189 |
+
}
|
190 |
+
|
191 |
+
return this._rgba = Color.hslToRgb(this._hsla);
|
192 |
+
},
|
193 |
+
set: function set(rgb) {
|
194 |
+
if (rgb.length === 3) {
|
195 |
+
rgb[3] = 1;
|
196 |
+
}
|
197 |
+
|
198 |
+
this._rgba = rgb;
|
199 |
+
this._hsla = null;
|
200 |
+
}
|
201 |
+
}, {
|
202 |
+
key: 'rgbString',
|
203 |
+
get: function get() {
|
204 |
+
return this.printRGB();
|
205 |
+
}
|
206 |
+
}, {
|
207 |
+
key: 'rgbaString',
|
208 |
+
get: function get() {
|
209 |
+
return this.printRGB(true);
|
210 |
+
}
|
211 |
+
}, {
|
212 |
+
key: 'hsla',
|
213 |
+
get: function get() {
|
214 |
+
if (this._hsla) {
|
215 |
+
return this._hsla;
|
216 |
+
}
|
217 |
+
if (!this._rgba) {
|
218 |
+
throw new Error('No color is set');
|
219 |
+
}
|
220 |
+
|
221 |
+
return this._hsla = Color.rgbToHsl(this._rgba);
|
222 |
+
},
|
223 |
+
set: function set(hsl) {
|
224 |
+
if (hsl.length === 3) {
|
225 |
+
hsl[3] = 1;
|
226 |
+
}
|
227 |
+
|
228 |
+
this._hsla = hsl;
|
229 |
+
this._rgba = null;
|
230 |
+
}
|
231 |
+
}, {
|
232 |
+
key: 'hslString',
|
233 |
+
get: function get() {
|
234 |
+
return this.printHSL();
|
235 |
+
}
|
236 |
+
}, {
|
237 |
+
key: 'hslaString',
|
238 |
+
get: function get() {
|
239 |
+
return this.printHSL(true);
|
240 |
+
}
|
241 |
+
}, {
|
242 |
+
key: 'hex',
|
243 |
+
get: function get() {
|
244 |
+
var rgb = this.rgba,
|
245 |
+
hex = rgb.map(function (x, i) {
|
246 |
+
return i < 3 ? x.toString(16) : Math.round(x * 255).toString(16);
|
247 |
+
});
|
248 |
+
|
249 |
+
return '#' + hex.map(function (x) {
|
250 |
+
return x.padStart(2, '0');
|
251 |
+
}).join('');
|
252 |
+
},
|
253 |
+
set: function set(hex) {
|
254 |
+
this.rgba = Color.hexToRgb(hex);
|
255 |
+
}
|
256 |
+
}], [{
|
257 |
+
key: 'hexToRgb',
|
258 |
+
value: function hexToRgb(input) {
|
259 |
+
|
260 |
+
var hex = (input.startsWith('#') ? input.slice(1) : input).replace(/^(\w{3})$/, '$1F').replace(/^(\w)(\w)(\w)(\w)$/, '$1$1$2$2$3$3$4$4').replace(/^(\w{6})$/, '$1FF');
|
261 |
+
|
262 |
+
if (!hex.match(/^([0-9a-fA-F]{8})$/)) {
|
263 |
+
throw new Error('Unknown hex color; ' + input);
|
264 |
+
}
|
265 |
+
|
266 |
+
var rgba = hex.match(/^(\w\w)(\w\w)(\w\w)(\w\w)$/).slice(1).map(function (x) {
|
267 |
+
return parseInt(x, 16);
|
268 |
+
});
|
269 |
+
|
270 |
+
rgba[3] = rgba[3] / 255;
|
271 |
+
return rgba;
|
272 |
+
}
|
273 |
+
}, {
|
274 |
+
key: 'nameToRgb',
|
275 |
+
value: function nameToRgb(input) {
|
276 |
+
|
277 |
+
var hash = input.toLowerCase().replace('at', 'T').replace(/[aeiouyldf]/g, '').replace('ght', 'L').replace('rk', 'D').slice(-5, 4),
|
278 |
+
hex = colorNames[hash];
|
279 |
+
return hex === undefined ? hex : Color.hexToRgb(hex.replace(/\-/g, '00').padStart(6, 'f'));
|
280 |
+
}
|
281 |
+
}, {
|
282 |
+
key: 'rgbToHsl',
|
283 |
+
value: function rgbToHsl(_ref) {
|
284 |
+
var _ref2 = slicedToArray(_ref, 4),
|
285 |
+
r = _ref2[0],
|
286 |
+
g = _ref2[1],
|
287 |
+
b = _ref2[2],
|
288 |
+
a = _ref2[3];
|
289 |
+
|
290 |
+
r /= 255;
|
291 |
+
g /= 255;
|
292 |
+
b /= 255;
|
293 |
+
|
294 |
+
var max = Math.max(r, g, b),
|
295 |
+
min = Math.min(r, g, b);
|
296 |
+
var h = void 0,
|
297 |
+
s = void 0,
|
298 |
+
l = (max + min) / 2;
|
299 |
+
|
300 |
+
if (max === min) {
|
301 |
+
h = s = 0;
|
302 |
+
} else {
|
303 |
+
var d = max - min;
|
304 |
+
s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
|
305 |
+
switch (max) {
|
306 |
+
case r:
|
307 |
+
h = (g - b) / d + (g < b ? 6 : 0);break;
|
308 |
+
case g:
|
309 |
+
h = (b - r) / d + 2;break;
|
310 |
+
case b:
|
311 |
+
h = (r - g) / d + 4;break;
|
312 |
+
}
|
313 |
+
|
314 |
+
h /= 6;
|
315 |
+
}
|
316 |
+
|
317 |
+
return [h, s, l, a];
|
318 |
+
}
|
319 |
+
}, {
|
320 |
+
key: 'hslToRgb',
|
321 |
+
value: function hslToRgb(_ref3) {
|
322 |
+
var _ref4 = slicedToArray(_ref3, 4),
|
323 |
+
h = _ref4[0],
|
324 |
+
s = _ref4[1],
|
325 |
+
l = _ref4[2],
|
326 |
+
a = _ref4[3];
|
327 |
+
|
328 |
+
var r = void 0,
|
329 |
+
g = void 0,
|
330 |
+
b = void 0;
|
331 |
+
|
332 |
+
if (s === 0) {
|
333 |
+
r = g = b = l;
|
334 |
+
} else {
|
335 |
+
var hue2rgb = function hue2rgb(p, q, t) {
|
336 |
+
if (t < 0) t += 1;
|
337 |
+
if (t > 1) t -= 1;
|
338 |
+
if (t < 1 / 6) return p + (q - p) * 6 * t;
|
339 |
+
if (t < 1 / 2) return q;
|
340 |
+
if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
|
341 |
+
return p;
|
342 |
+
};
|
343 |
+
|
344 |
+
var q = l < 0.5 ? l * (1 + s) : l + s - l * s,
|
345 |
+
p = 2 * l - q;
|
346 |
+
|
347 |
+
r = hue2rgb(p, q, h + 1 / 3);
|
348 |
+
g = hue2rgb(p, q, h);
|
349 |
+
b = hue2rgb(p, q, h - 1 / 3);
|
350 |
+
}
|
351 |
+
|
352 |
+
var rgba = [r * 255, g * 255, b * 255].map(Math.round);
|
353 |
+
rgba[3] = a;
|
354 |
+
|
355 |
+
return rgba;
|
356 |
+
}
|
357 |
+
}]);
|
358 |
+
return Color;
|
359 |
+
}();
|
360 |
+
|
361 |
+
var EventBucket = function () {
|
362 |
+
function EventBucket() {
|
363 |
+
classCallCheck(this, EventBucket);
|
364 |
+
|
365 |
+
this._events = [];
|
366 |
+
}
|
367 |
+
|
368 |
+
createClass(EventBucket, [{
|
369 |
+
key: 'add',
|
370 |
+
value: function add(target, type, handler) {
|
371 |
+
target.addEventListener(type, handler, false);
|
372 |
+
this._events.push({
|
373 |
+
target: target,
|
374 |
+
type: type,
|
375 |
+
handler: handler
|
376 |
+
});
|
377 |
+
}
|
378 |
+
}, {
|
379 |
+
key: 'remove',
|
380 |
+
value: function remove(target, type, handler) {
|
381 |
+
this._events = this._events.filter(function (e) {
|
382 |
+
var isMatch = true;
|
383 |
+
if (target && target !== e.target) {
|
384 |
+
isMatch = false;
|
385 |
+
}
|
386 |
+
if (type && type !== e.type) {
|
387 |
+
isMatch = false;
|
388 |
+
}
|
389 |
+
if (handler && handler !== e.handler) {
|
390 |
+
isMatch = false;
|
391 |
+
}
|
392 |
+
|
393 |
+
if (isMatch) {
|
394 |
+
EventBucket._doRemove(e.target, e.type, e.handler);
|
395 |
+
}
|
396 |
+
return !isMatch;
|
397 |
+
});
|
398 |
+
}
|
399 |
+
}, {
|
400 |
+
key: 'destroy',
|
401 |
+
value: function destroy() {
|
402 |
+
this._events.forEach(function (e) {
|
403 |
+
return EventBucket._doRemove(e.target, e.type, e.handler);
|
404 |
+
});
|
405 |
+
this._events = [];
|
406 |
+
}
|
407 |
+
}], [{
|
408 |
+
key: '_doRemove',
|
409 |
+
value: function _doRemove(target, type, handler) {
|
410 |
+
target.removeEventListener(type, handler, false);
|
411 |
+
}
|
412 |
+
}]);
|
413 |
+
return EventBucket;
|
414 |
+
}();
|
415 |
+
|
416 |
+
function parseHTML(htmlString) {
|
417 |
+
|
418 |
+
var div = document.createElement('div');
|
419 |
+
div.innerHTML = htmlString;
|
420 |
+
return div.firstElementChild;
|
421 |
+
}
|
422 |
+
|
423 |
+
function dragTrack(eventBucket, area, callback) {
|
424 |
+
var dragging = false;
|
425 |
+
|
426 |
+
function clamp(val, min, max) {
|
427 |
+
return Math.max(min, Math.min(val, max));
|
428 |
+
}
|
429 |
+
|
430 |
+
function onMove(e, info, starting) {
|
431 |
+
if (starting) {
|
432 |
+
dragging = true;
|
433 |
+
}
|
434 |
+
if (!dragging) {
|
435 |
+
return;
|
436 |
+
}
|
437 |
+
|
438 |
+
e.preventDefault();
|
439 |
+
|
440 |
+
var bounds = area.getBoundingClientRect(),
|
441 |
+
w = bounds.width,
|
442 |
+
h = bounds.height,
|
443 |
+
x = info.clientX,
|
444 |
+
y = info.clientY;
|
445 |
+
|
446 |
+
var relX = clamp(x - bounds.left, 0, w),
|
447 |
+
relY = clamp(y - bounds.top, 0, h);
|
448 |
+
|
449 |
+
callback(relX / w, relY / h);
|
450 |
+
}
|
451 |
+
|
452 |
+
function onMouse(e, starting) {
|
453 |
+
var button = e.buttons === undefined ? e.which : e.buttons;
|
454 |
+
if (button === 1) {
|
455 |
+
onMove(e, e, starting);
|
456 |
+
} else {
|
457 |
+
dragging = false;
|
458 |
+
}
|
459 |
+
}
|
460 |
+
|
461 |
+
function onTouch(e, starting) {
|
462 |
+
if (e.touches.length === 1) {
|
463 |
+
onMove(e, e.touches[0], starting);
|
464 |
+
} else {
|
465 |
+
dragging = false;
|
466 |
+
}
|
467 |
+
}
|
468 |
+
|
469 |
+
eventBucket.add(area, 'mousedown', function (e) {
|
470 |
+
onMouse(e, true);
|
471 |
+
});
|
472 |
+
eventBucket.add(area, 'touchstart', function (e) {
|
473 |
+
onTouch(e, true);
|
474 |
+
});
|
475 |
+
eventBucket.add(window, 'mousemove', onMouse);
|
476 |
+
eventBucket.add(area, 'touchmove', onTouch);
|
477 |
+
eventBucket.add(window, 'mouseup', function (e) {
|
478 |
+
dragging = false;
|
479 |
+
});
|
480 |
+
eventBucket.add(area, 'touchend', function (e) {
|
481 |
+
dragging = false;
|
482 |
+
});
|
483 |
+
eventBucket.add(area, 'touchcancel', function (e) {
|
484 |
+
dragging = false;
|
485 |
+
});
|
486 |
+
}
|
487 |
+
|
488 |
+
var BG_TRANSP = 'linear-gradient(45deg, lightgrey 25%, transparent 25%, transparent 75%, lightgrey 75%) 0 0 / 2em 2em,\n linear-gradient(45deg, lightgrey 25%, white 25%, white 75%, lightgrey 75%) 1em 1em / 2em 2em';
|
489 |
+
var HUES = 360;
|
490 |
+
|
491 |
+
var EVENT_KEY = 'keydown',
|
492 |
+
EVENT_CLICK_OUTSIDE = 'mousedown',
|
493 |
+
EVENT_TAB_MOVE = 'focusin';
|
494 |
+
|
495 |
+
function $(selector, context) {
|
496 |
+
return (context || document).querySelector(selector);
|
497 |
+
}
|
498 |
+
|
499 |
+
function stopEvent(e) {
|
500 |
+
|
501 |
+
e.preventDefault();
|
502 |
+
e.stopPropagation();
|
503 |
+
}
|
504 |
+
function onKey(bucket, target, keys, handler, stop) {
|
505 |
+
bucket.add(target, EVENT_KEY, function (e) {
|
506 |
+
if (keys.indexOf(e.key) >= 0) {
|
507 |
+
if (stop) {
|
508 |
+
stopEvent(e);
|
509 |
+
}
|
510 |
+
handler(e);
|
511 |
+
}
|
512 |
+
});
|
513 |
+
}
|
514 |
+
|
515 |
+
var Picker = function () {
|
516 |
+
function Picker(options) {
|
517 |
+
classCallCheck(this, Picker);
|
518 |
+
|
519 |
+
|
520 |
+
this.settings = {
|
521 |
+
|
522 |
+
popup: 'right',
|
523 |
+
layout: 'default',
|
524 |
+
alpha: true,
|
525 |
+
editor: true,
|
526 |
+
editorFormat: 'hex',
|
527 |
+
cancelButton: false,
|
528 |
+
defaultColor: '#0cf'
|
529 |
+
};
|
530 |
+
|
531 |
+
this._events = new EventBucket();
|
532 |
+
|
533 |
+
this.onChange = null;
|
534 |
+
|
535 |
+
this.onDone = null;
|
536 |
+
|
537 |
+
this.onOpen = null;
|
538 |
+
|
539 |
+
this.onClose = null;
|
540 |
+
|
541 |
+
this.setOptions(options);
|
542 |
+
}
|
543 |
+
|
544 |
+
createClass(Picker, [{
|
545 |
+
key: 'setOptions',
|
546 |
+
value: function setOptions(options) {
|
547 |
+
var _this = this;
|
548 |
+
|
549 |
+
if (!options) {
|
550 |
+
return;
|
551 |
+
}
|
552 |
+
var settings = this.settings;
|
553 |
+
|
554 |
+
function transfer(source, target, skipKeys) {
|
555 |
+
for (var key in source) {
|
556 |
+
if (skipKeys && skipKeys.indexOf(key) >= 0) {
|
557 |
+
continue;
|
558 |
+
}
|
559 |
+
|
560 |
+
target[key] = source[key];
|
561 |
+
}
|
562 |
+
}
|
563 |
+
|
564 |
+
if (options instanceof HTMLElement) {
|
565 |
+
settings.parent = options;
|
566 |
+
} else {
|
567 |
+
|
568 |
+
if (settings.parent && options.parent && settings.parent !== options.parent) {
|
569 |
+
this._events.remove(settings.parent);
|
570 |
+
this._popupInited = false;
|
571 |
+
}
|
572 |
+
|
573 |
+
transfer(options, settings);
|
574 |
+
|
575 |
+
if (options.onChange) {
|
576 |
+
this.onChange = options.onChange;
|
577 |
+
}
|
578 |
+
if (options.onDone) {
|
579 |
+
this.onDone = options.onDone;
|
580 |
+
}
|
581 |
+
if (options.onOpen) {
|
582 |
+
this.onOpen = options.onOpen;
|
583 |
+
}
|
584 |
+
if (options.onClose) {
|
585 |
+
this.onClose = options.onClose;
|
586 |
+
}
|
587 |
+
|
588 |
+
var col = options.color || options.colour;
|
589 |
+
if (col) {
|
590 |
+
this._setColor(col);
|
591 |
+
}
|
592 |
+
}
|
593 |
+
|
594 |
+
var parent = settings.parent;
|
595 |
+
if (parent && settings.popup && !this._popupInited) {
|
596 |
+
|
597 |
+
var openProxy = function openProxy(e) {
|
598 |
+
return _this.openHandler(e);
|
599 |
+
};
|
600 |
+
|
601 |
+
this._events.add(parent, 'click', openProxy);
|
602 |
+
|
603 |
+
onKey(this._events, parent, [' ', 'Spacebar', 'Enter'], openProxy);
|
604 |
+
|
605 |
+
this._popupInited = true;
|
606 |
+
} else if (options.parent && !settings.popup) {
|
607 |
+
this.show();
|
608 |
+
}
|
609 |
+
}
|
610 |
+
}, {
|
611 |
+
key: 'openHandler',
|
612 |
+
value: function openHandler(e) {
|
613 |
+
if (this.show()) {
|
614 |
+
|
615 |
+
e && e.preventDefault();
|
616 |
+
|
617 |
+
this.settings.parent.style.pointerEvents = 'none';
|
618 |
+
|
619 |
+
var toFocus = e && e.type === EVENT_KEY ? this._domEdit : this.domElement;
|
620 |
+
setTimeout(function () {
|
621 |
+
return toFocus.focus();
|
622 |
+
}, 100);
|
623 |
+
|
624 |
+
if (this.onOpen) {
|
625 |
+
this.onOpen(this.colour);
|
626 |
+
}
|
627 |
+
}
|
628 |
+
}
|
629 |
+
}, {
|
630 |
+
key: 'closeHandler',
|
631 |
+
value: function closeHandler(e) {
|
632 |
+
var event = e && e.type;
|
633 |
+
var doHide = false;
|
634 |
+
|
635 |
+
if (!e) {
|
636 |
+
doHide = true;
|
637 |
+
} else if (event === EVENT_CLICK_OUTSIDE || event === EVENT_TAB_MOVE) {
|
638 |
+
|
639 |
+
var knownTime = (this.__containedEvent || 0) + 100;
|
640 |
+
if (e.timeStamp > knownTime) {
|
641 |
+
doHide = true;
|
642 |
+
}
|
643 |
+
} else {
|
644 |
+
|
645 |
+
stopEvent(e);
|
646 |
+
|
647 |
+
doHide = true;
|
648 |
+
}
|
649 |
+
|
650 |
+
if (doHide && this.hide()) {
|
651 |
+
this.settings.parent.style.pointerEvents = '';
|
652 |
+
|
653 |
+
if (event !== EVENT_CLICK_OUTSIDE) {
|
654 |
+
this.settings.parent.focus();
|
655 |
+
}
|
656 |
+
|
657 |
+
if (this.onClose) {
|
658 |
+
this.onClose(this.colour);
|
659 |
+
}
|
660 |
+
}
|
661 |
+
}
|
662 |
+
}, {
|
663 |
+
key: 'movePopup',
|
664 |
+
value: function movePopup(options, open) {
|
665 |
+
|
666 |
+
this.closeHandler();
|
667 |
+
|
668 |
+
this.setOptions(options);
|
669 |
+
if (open) {
|
670 |
+
this.openHandler();
|
671 |
+
}
|
672 |
+
}
|
673 |
+
}, {
|
674 |
+
key: 'setColor',
|
675 |
+
value: function setColor(color, silent) {
|
676 |
+
this._setColor(color, { silent: silent });
|
677 |
+
}
|
678 |
+
}, {
|
679 |
+
key: '_setColor',
|
680 |
+
value: function _setColor(color, flags) {
|
681 |
+
if (typeof color === 'string') {
|
682 |
+
color = color.trim();
|
683 |
+
}
|
684 |
+
if (!color) {
|
685 |
+
return;
|
686 |
+
}
|
687 |
+
|
688 |
+
flags = flags || {};
|
689 |
+
var c = void 0;
|
690 |
+
try {
|
691 |
+
|
692 |
+
c = new Color(color);
|
693 |
+
} catch (ex) {
|
694 |
+
if (flags.failSilently) {
|
695 |
+
return;
|
696 |
+
}
|
697 |
+
throw ex;
|
698 |
+
}
|
699 |
+
|
700 |
+
if (!this.settings.alpha) {
|
701 |
+
var hsla = c.hsla;
|
702 |
+
hsla[3] = 1;
|
703 |
+
c.hsla = hsla;
|
704 |
+
}
|
705 |
+
this.colour = this.color = c;
|
706 |
+
this._setHSLA(null, null, null, null, flags);
|
707 |
+
}
|
708 |
+
}, {
|
709 |
+
key: 'setColour',
|
710 |
+
value: function setColour(colour, silent) {
|
711 |
+
this.setColor(colour, silent);
|
712 |
+
}
|
713 |
+
}, {
|
714 |
+
key: 'show',
|
715 |
+
value: function show() {
|
716 |
+
var parent = this.settings.parent;
|
717 |
+
if (!parent) {
|
718 |
+
return false;
|
719 |
+
}
|
720 |
+
|
721 |
+
if (this.domElement) {
|
722 |
+
var toggled = this._toggleDOM(true);
|
723 |
+
|
724 |
+
this._setPosition();
|
725 |
+
|
726 |
+
return toggled;
|
727 |
+
}
|
728 |
+
|
729 |
+
var html = this.settings.template || '<div class="picker_wrapper" tabindex="-1"><div class="picker_arrow"></div><div class="picker_hue picker_slider"><div class="picker_selector"></div></div><div class="picker_sl"><div class="picker_selector"></div></div><div class="picker_alpha picker_slider"><div class="picker_selector"></div></div><div class="picker_editor"><input aria-label="Type a color name or hex value"/></div><div class="picker_sample"></div><div class="picker_done"><button>Ok</button></div><div class="picker_cancel"><button>Cancel</button></div></div>';
|
730 |
+
var wrapper = parseHTML(html);
|
731 |
+
|
732 |
+
this.domElement = wrapper;
|
733 |
+
this._domH = $('.picker_hue', wrapper);
|
734 |
+
this._domSL = $('.picker_sl', wrapper);
|
735 |
+
this._domA = $('.picker_alpha', wrapper);
|
736 |
+
this._domEdit = $('.picker_editor input', wrapper);
|
737 |
+
this._domSample = $('.picker_sample', wrapper);
|
738 |
+
this._domOkay = $('.picker_done button', wrapper);
|
739 |
+
this._domCancel = $('.picker_cancel button', wrapper);
|
740 |
+
|
741 |
+
wrapper.classList.add('layout_' + this.settings.layout);
|
742 |
+
if (!this.settings.alpha) {
|
743 |
+
wrapper.classList.add('no_alpha');
|
744 |
+
}
|
745 |
+
if (!this.settings.editor) {
|
746 |
+
wrapper.classList.add('no_editor');
|
747 |
+
}
|
748 |
+
if (!this.settings.cancelButton) {
|
749 |
+
wrapper.classList.add('no_cancel');
|
750 |
+
}
|
751 |
+
this._ifPopup(function () {
|
752 |
+
return wrapper.classList.add('popup');
|
753 |
+
});
|
754 |
+
|
755 |
+
this._setPosition();
|
756 |
+
|
757 |
+
if (this.colour) {
|
758 |
+
this._updateUI();
|
759 |
+
} else {
|
760 |
+
this._setColor(this.settings.defaultColor);
|
761 |
+
}
|
762 |
+
this._bindEvents();
|
763 |
+
|
764 |
+
return true;
|
765 |
+
}
|
766 |
+
}, {
|
767 |
+
key: 'hide',
|
768 |
+
value: function hide() {
|
769 |
+
return this._toggleDOM(false);
|
770 |
+
}
|
771 |
+
}, {
|
772 |
+
key: 'destroy',
|
773 |
+
value: function destroy() {
|
774 |
+
this._events.destroy();
|
775 |
+
if (this.domElement) {
|
776 |
+
this.settings.parent.removeChild(this.domElement);
|
777 |
+
}
|
778 |
+
}
|
779 |
+
}, {
|
780 |
+
key: '_bindEvents',
|
781 |
+
value: function _bindEvents() {
|
782 |
+
var _this2 = this;
|
783 |
+
|
784 |
+
var that = this,
|
785 |
+
dom = this.domElement,
|
786 |
+
events = this._events;
|
787 |
+
|
788 |
+
function addEvent(target, type, handler) {
|
789 |
+
events.add(target, type, handler);
|
790 |
+
}
|
791 |
+
|
792 |
+
addEvent(dom, 'click', function (e) {
|
793 |
+
return e.preventDefault();
|
794 |
+
});
|
795 |
+
|
796 |
+
dragTrack(events, this._domH, function (x, y) {
|
797 |
+
return that._setHSLA(x);
|
798 |
+
});
|
799 |
+
|
800 |
+
dragTrack(events, this._domSL, function (x, y) {
|
801 |
+
return that._setHSLA(null, x, 1 - y);
|
802 |
+
});
|
803 |
+
|
804 |
+
if (this.settings.alpha) {
|
805 |
+
dragTrack(events, this._domA, function (x, y) {
|
806 |
+
return that._setHSLA(null, null, null, 1 - y);
|
807 |
+
});
|
808 |
+
}
|
809 |
+
|
810 |
+
var editInput = this._domEdit;
|
811 |
+
{
|
812 |
+
addEvent(editInput, 'input', function (e) {
|
813 |
+
that._setColor(this.value, { fromEditor: true, failSilently: true });
|
814 |
+
});
|
815 |
+
|
816 |
+
addEvent(editInput, 'focus', function (e) {
|
817 |
+
var input = this;
|
818 |
+
|
819 |
+
if (input.selectionStart === input.selectionEnd) {
|
820 |
+
input.select();
|
821 |
+
}
|
822 |
+
});
|
823 |
+
}
|
824 |
+
|
825 |
+
this._ifPopup(function () {
|
826 |
+
|
827 |
+
var popupCloseProxy = function popupCloseProxy(e) {
|
828 |
+
return _this2.closeHandler(e);
|
829 |
+
};
|
830 |
+
|
831 |
+
addEvent(window, EVENT_CLICK_OUTSIDE, popupCloseProxy);
|
832 |
+
addEvent(window, EVENT_TAB_MOVE, popupCloseProxy);
|
833 |
+
onKey(events, dom, ['Esc', 'Escape'], popupCloseProxy);
|
834 |
+
|
835 |
+
var timeKeeper = function timeKeeper(e) {
|
836 |
+
_this2.__containedEvent = e.timeStamp;
|
837 |
+
};
|
838 |
+
addEvent(dom, EVENT_CLICK_OUTSIDE, timeKeeper);
|
839 |
+
|
840 |
+
addEvent(dom, EVENT_TAB_MOVE, timeKeeper);
|
841 |
+
|
842 |
+
addEvent(_this2._domCancel, 'click', popupCloseProxy);
|
843 |
+
});
|
844 |
+
|
845 |
+
var onDoneProxy = function onDoneProxy(e) {
|
846 |
+
_this2._ifPopup(function () {
|
847 |
+
return _this2.closeHandler(e);
|
848 |
+
});
|
849 |
+
if (_this2.onDone) {
|
850 |
+
_this2.onDone(_this2.colour);
|
851 |
+
}
|
852 |
+
};
|
853 |
+
addEvent(this._domOkay, 'click', onDoneProxy);
|
854 |
+
onKey(events, dom, ['Enter'], onDoneProxy);
|
855 |
+
}
|
856 |
+
}, {
|
857 |
+
key: '_setPosition',
|
858 |
+
value: function _setPosition() {
|
859 |
+
var parent = this.settings.parent,
|
860 |
+
elm = this.domElement;
|
861 |
+
|
862 |
+
if (parent !== elm.parentNode) {
|
863 |
+
parent.appendChild(elm);
|
864 |
+
}
|
865 |
+
|
866 |
+
this._ifPopup(function (popup) {
|
867 |
+
|
868 |
+
if (getComputedStyle(parent).position === 'static') {
|
869 |
+
parent.style.position = 'relative';
|
870 |
+
}
|
871 |
+
|
872 |
+
var cssClass = popup === true ? 'popup_right' : 'popup_' + popup;
|
873 |
+
|
874 |
+
['popup_top', 'popup_bottom', 'popup_left', 'popup_right'].forEach(function (c) {
|
875 |
+
|
876 |
+
if (c === cssClass) {
|
877 |
+
elm.classList.add(c);
|
878 |
+
} else {
|
879 |
+
elm.classList.remove(c);
|
880 |
+
}
|
881 |
+
});
|
882 |
+
|
883 |
+
elm.classList.add(cssClass);
|
884 |
+
});
|
885 |
+
}
|
886 |
+
}, {
|
887 |
+
key: '_setHSLA',
|
888 |
+
value: function _setHSLA(h, s, l, a, flags) {
|
889 |
+
flags = flags || {};
|
890 |
+
|
891 |
+
var col = this.colour,
|
892 |
+
hsla = col.hsla;
|
893 |
+
|
894 |
+
[h, s, l, a].forEach(function (x, i) {
|
895 |
+
if (x || x === 0) {
|
896 |
+
hsla[i] = x;
|
897 |
+
}
|
898 |
+
});
|
899 |
+
col.hsla = hsla;
|
900 |
+
|
901 |
+
this._updateUI(flags);
|
902 |
+
|
903 |
+
if (this.onChange && !flags.silent) {
|
904 |
+
this.onChange(col);
|
905 |
+
}
|
906 |
+
}
|
907 |
+
}, {
|
908 |
+
key: '_updateUI',
|
909 |
+
value: function _updateUI(flags) {
|
910 |
+
if (!this.domElement) {
|
911 |
+
return;
|
912 |
+
}
|
913 |
+
flags = flags || {};
|
914 |
+
|
915 |
+
var col = this.colour,
|
916 |
+
hsl = col.hsla,
|
917 |
+
cssHue = 'hsl(' + hsl[0] * HUES + ', 100%, 50%)',
|
918 |
+
cssHSL = col.hslString,
|
919 |
+
cssHSLA = col.hslaString;
|
920 |
+
|
921 |
+
var uiH = this._domH,
|
922 |
+
uiSL = this._domSL,
|
923 |
+
uiA = this._domA,
|
924 |
+
thumbH = $('.picker_selector', uiH),
|
925 |
+
thumbSL = $('.picker_selector', uiSL),
|
926 |
+
thumbA = $('.picker_selector', uiA);
|
927 |
+
|
928 |
+
function posX(parent, child, relX) {
|
929 |
+
child.style.left = relX * 100 + '%';
|
930 |
+
}
|
931 |
+
function posY(parent, child, relY) {
|
932 |
+
child.style.top = relY * 100 + '%';
|
933 |
+
}
|
934 |
+
|
935 |
+
posX(uiH, thumbH, hsl[0]);
|
936 |
+
|
937 |
+
this._domSL.style.backgroundColor = this._domH.style.color = cssHue;
|
938 |
+
|
939 |
+
posX(uiSL, thumbSL, hsl[1]);
|
940 |
+
posY(uiSL, thumbSL, 1 - hsl[2]);
|
941 |
+
|
942 |
+
uiSL.style.color = cssHSL;
|
943 |
+
|
944 |
+
posY(uiA, thumbA, 1 - hsl[3]);
|
945 |
+
|
946 |
+
var opaque = cssHSL,
|
947 |
+
transp = opaque.replace('hsl', 'hsla').replace(')', ', 0)'),
|
948 |
+
bg = 'linear-gradient(' + [opaque, transp] + ')';
|
949 |
+
|
950 |
+
this._domA.style.background = bg + ', ' + BG_TRANSP;
|
951 |
+
|
952 |
+
if (!flags.fromEditor) {
|
953 |
+
var format = this.settings.editorFormat,
|
954 |
+
alpha = this.settings.alpha;
|
955 |
+
|
956 |
+
var value = void 0;
|
957 |
+
switch (format) {
|
958 |
+
case 'rgb':
|
959 |
+
value = col.printRGB(alpha);break;
|
960 |
+
case 'hsl':
|
961 |
+
value = col.printHSL(alpha);break;
|
962 |
+
default:
|
963 |
+
value = col.printHex(alpha);
|
964 |
+
}
|
965 |
+
this._domEdit.value = value;
|
966 |
+
}
|
967 |
+
|
968 |
+
this._domSample.style.color = cssHSLA;
|
969 |
+
}
|
970 |
+
}, {
|
971 |
+
key: '_ifPopup',
|
972 |
+
value: function _ifPopup(actionIf, actionElse) {
|
973 |
+
if (this.settings.parent && this.settings.popup) {
|
974 |
+
actionIf && actionIf(this.settings.popup);
|
975 |
+
} else {
|
976 |
+
actionElse && actionElse();
|
977 |
+
}
|
978 |
+
}
|
979 |
+
}, {
|
980 |
+
key: '_toggleDOM',
|
981 |
+
value: function _toggleDOM(toVisible) {
|
982 |
+
var dom = this.domElement;
|
983 |
+
if (!dom) {
|
984 |
+
return false;
|
985 |
+
}
|
986 |
+
|
987 |
+
var displayStyle = toVisible ? '' : 'none',
|
988 |
+
toggle = dom.style.display !== displayStyle;
|
989 |
+
|
990 |
+
if (toggle) {
|
991 |
+
dom.style.display = displayStyle;
|
992 |
+
}
|
993 |
+
return toggle;
|
994 |
+
}
|
995 |
+
}]);
|
996 |
+
return Picker;
|
997 |
+
}();
|
998 |
+
|
999 |
+
return Picker;
|
1000 |
+
|
1001 |
+
}));
|
app/extensions/fields/asset/vanilla-picker-master/dist/vanilla-picker.csp.min.js
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* vanilla-picker v2.12.1
|
3 |
+
* https://vanilla-picker.js.org
|
4 |
+
*
|
5 |
+
* Copyright 2017-2021 Andreas Borgen (https://github.com/Sphinxxxx), Adam Brooks (https://github.com/dissimulate)
|
6 |
+
* Released under the ISC license.
|
7 |
+
*/
|
8 |
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Picker=e()}(this,function(){"use strict";function u(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var t=function(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t};function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}var d=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var n=[],i=!0,r=!1,s=void 0;try{for(var o,a=t[Symbol.iterator]();!(i=(o=a.next()).done)&&(n.push(o.value),!e||n.length!==e);i=!0);}catch(t){r=!0,s=t}finally{try{!i&&a.return&&a.return()}finally{if(r)throw s}}return n}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")};String.prototype.startsWith=String.prototype.startsWith||function(t){return 0===this.indexOf(t)},String.prototype.padStart=String.prototype.padStart||function(t,e){for(var n=this;n.length<t;)n=e+n;return n};var e={cb:"0f8ff",tqw:"aebd7",q:"-ffff",qmrn:"7fffd4",zr:"0ffff",bg:"5f5dc",bsq:"e4c4",bck:"---",nch:"ebcd",b:"--ff",bvt:"8a2be2",brwn:"a52a2a",brw:"deb887",ctb:"5f9ea0",hrt:"7fff-",chcT:"d2691e",cr:"7f50",rnw:"6495ed",crns:"8dc",crms:"dc143c",cn:"-ffff",Db:"--8b",Dcn:"-8b8b",Dgnr:"b8860b",Dgr:"a9a9a9",Dgrn:"-64-",Dkhk:"bdb76b",Dmgn:"8b-8b",Dvgr:"556b2f",Drng:"8c-",Drch:"9932cc",Dr:"8b--",Dsmn:"e9967a",Dsgr:"8fbc8f",DsTb:"483d8b",DsTg:"2f4f4f",Dtrq:"-ced1",Dvt:"94-d3",ppnk:"1493",pskb:"-bfff",mgr:"696969",grb:"1e90ff",rbrc:"b22222",rwht:"af0",stg:"228b22",chs:"-ff",gnsb:"dcdcdc",st:"8f8ff",g:"d7-",gnr:"daa520",gr:"808080",grn:"-8-0",grnw:"adff2f",hnw:"0fff0",htpn:"69b4",nnr:"cd5c5c",ng:"4b-82",vr:"0",khk:"0e68c",vnr:"e6e6fa",nrb:"0f5",wngr:"7cfc-",mnch:"acd",Lb:"add8e6",Lcr:"08080",Lcn:"e0ffff",Lgnr:"afad2",Lgr:"d3d3d3",Lgrn:"90ee90",Lpnk:"b6c1",Lsmn:"a07a",Lsgr:"20b2aa",Lskb:"87cefa",LsTg:"778899",Lstb:"b0c4de",Lw:"e0",m:"-ff-",mgrn:"32cd32",nn:"af0e6",mgnt:"-ff",mrn:"8--0",mqm:"66cdaa",mmb:"--cd",mmrc:"ba55d3",mmpr:"9370db",msg:"3cb371",mmsT:"7b68ee","":"-fa9a",mtr:"48d1cc",mmvt:"c71585",mnLb:"191970",ntc:"5fffa",mstr:"e4e1",mccs:"e4b5",vjw:"dead",nv:"--80",c:"df5e6",v:"808-0",vrb:"6b8e23",rng:"a5-",rngr:"45-",rch:"da70d6",pgnr:"eee8aa",pgrn:"98fb98",ptrq:"afeeee",pvtr:"db7093",ppwh:"efd5",pchp:"dab9",pr:"cd853f",pnk:"c0cb",pm:"dda0dd",pwrb:"b0e0e6",prp:"8-080",cc:"663399",r:"--",sbr:"bc8f8f",rb:"4169e1",sbrw:"8b4513",smn:"a8072",nbr:"4a460",sgrn:"2e8b57",ssh:"5ee",snn:"a0522d",svr:"c0c0c0",skb:"87ceeb",sTb:"6a5acd",sTgr:"708090",snw:"afa",n:"-ff7f",stb:"4682b4",tn:"d2b48c",t:"-8080",thst:"d8bfd8",tmT:"6347",trqs:"40e0d0",vt:"ee82ee",whT:"5deb3",wht:"",hts:"5f5f5",w:"-",wgrn:"9acd32"};function r(t,e){e=1<arguments.length&&void 0!==e?e:1;return(0<e?t.toFixed(e).replace(/0+$/,"").replace(/\.$/,""):t.toString())||"0"}var s=(t(f,[{key:"printRGB",value:function(t){var e=(t?this.rgba:this.rgba.slice(0,3)).map(function(t,e){return r(t,3===e?3:0)});return t?"rgba("+e+")":"rgb("+e+")"}},{key:"printHSL",value:function(t){var n=[360,100,100,1],i=["","%","%",""],e=(t?this.hsla:this.hsla.slice(0,3)).map(function(t,e){return r(t*n[e],3===e?3:1)+i[e]});return t?"hsla("+e+")":"hsl("+e+")"}},{key:"printHex",value:function(t){var e=this.hex;return t?e:e.substring(0,7)}},{key:"rgba",get:function(){if(this._rgba)return this._rgba;if(!this._hsla)throw new Error("No color is set");return this._rgba=f.hslToRgb(this._hsla)},set:function(t){3===t.length&&(t[3]=1),this._rgba=t,this._hsla=null}},{key:"rgbString",get:function(){return this.printRGB()}},{key:"rgbaString",get:function(){return this.printRGB(!0)}},{key:"hsla",get:function(){if(this._hsla)return this._hsla;if(!this._rgba)throw new Error("No color is set");return this._hsla=f.rgbToHsl(this._rgba)},set:function(t){3===t.length&&(t[3]=1),this._hsla=t,this._rgba=null}},{key:"hslString",get:function(){return this.printHSL()}},{key:"hslaString",get:function(){return this.printHSL(!0)}},{key:"hex",get:function(){return"#"+this.rgba.map(function(t,e){return(e<3?t:Math.round(255*t)).toString(16)}).map(function(t){return t.padStart(2,"0")}).join("")},set:function(t){this.rgba=f.hexToRgb(t)}}],[{key:"hexToRgb",value:function(t){var e=(t.startsWith("#")?t.slice(1):t).replace(/^(\w{3})$/,"$1F").replace(/^(\w)(\w)(\w)(\w)$/,"$1$1$2$2$3$3$4$4").replace(/^(\w{6})$/,"$1FF");if(!e.match(/^([0-9a-fA-F]{8})$/))throw new Error("Unknown hex color; "+t);e=e.match(/^(\w\w)(\w\w)(\w\w)(\w\w)$/).slice(1).map(function(t){return parseInt(t,16)});return e[3]=e[3]/255,e}},{key:"nameToRgb",value:function(t){t=t.toLowerCase().replace("at","T").replace(/[aeiouyldf]/g,"").replace("ght","L").replace("rk","D").slice(-5,4),t=e[t];return void 0===t?t:f.hexToRgb(t.replace(/\-/g,"00").padStart(6,"f"))}},{key:"rgbToHsl",value:function(t){var e=d(t,4),n=e[0],i=e[1],r=e[2],s=e[3];n/=255,i/=255,r/=255;var o=Math.max(n,i,r),a=Math.min(n,i,r),c=void 0,t=void 0,e=(o+a)/2;if(o===a)c=t=0;else{var l=o-a,t=.5<e?l/(2-o-a):l/(o+a);switch(o){case n:c=(i-r)/l+(i<r?6:0);break;case i:c=(r-n)/l+2;break;case r:c=(n-i)/l+4}c/=6}return[c,t,e,s]}},{key:"hslToRgb",value:function(t){var e=d(t,4),n=e[0],i=e[1],r=e[2],s=e[3],o=void 0,a=void 0,t=void 0;0===i?o=a=t=r:(o=(e=function(t,e,n){return n<0&&(n+=1),1<n&&--n,n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t})(i=2*r-(r=r<.5?r*(1+i):r+i-r*i),r,n+1/3),a=e(i,r,n),t=e(i,r,n-1/3));t=[255*o,255*a,255*t].map(Math.round);return t[3]=s,t}}]),f);function f(t,e,n,i){u(this,f);var r,s,o,a,c,l,h=this;void 0===t||(Array.isArray(t)?this.rgba=t:void 0===n?(r=t&&""+t)&&((s=r.toLowerCase()).startsWith("hsl")?(o=s.match(/([\-\d\.e]+)/g).map(Number),c=(a=d(o,4))[0],l=a[1],o=a[2],a=a[3],h.hsla=[c/=360,l/=100,o/=100,a=void 0===a?1:a]):s.startsWith("rgb")?(c=s.match(/([\-\d\.e]+)/g).map(Number),o=(l=d(c,4))[0],a=l[1],c=l[2],l=l[3],h.rgba=[o,a,c,l=void 0===l?1:l]):s.startsWith("#")?h.rgba=f.hexToRgb(s):h.rgba=f.nameToRgb(s)||f.hexToRgb(s)):this.rgba=[t,e,n,void 0===i?1:i])}var n=(t(o,[{key:"add",value:function(t,e,n){t.addEventListener(e,n,!1),this._events.push({target:t,type:e,handler:n})}},{key:"remove",value:function(n,i,r){this._events=this._events.filter(function(t){var e=!0;return n&&n!==t.target&&(e=!1),i&&i!==t.type&&(e=!1),(e=r&&r!==t.handler?!1:e)&&o._doRemove(t.target,t.type,t.handler),!e})}},{key:"destroy",value:function(){this._events.forEach(function(t){return o._doRemove(t.target,t.type,t.handler)}),this._events=[]}}],[{key:"_doRemove",value:function(t,e,n){t.removeEventListener(e,n,!1)}}]),o);function o(){u(this,o),this._events=[]}function a(t,s,o){var a=!1;function c(t,e,n){return Math.max(e,Math.min(t,n))}function n(t,e,n){var i,r;(a=n?!0:a)&&(t.preventDefault(),i=(r=s.getBoundingClientRect()).width,n=r.height,t=e.clientX,e=e.clientY,t=c(t-r.left,0,i),r=c(e-r.top,0,n),o(t/i,r/n))}function e(t,e){1===(void 0===t.buttons?t.which:t.buttons)?n(t,t,e):a=!1}function i(t,e){1===t.touches.length?n(t,t.touches[0],e):a=!1}t.add(s,"mousedown",function(t){e(t,!0)}),t.add(s,"touchstart",function(t){i(t,!0)}),t.add(window,"mousemove",e),t.add(s,"touchmove",i),t.add(window,"mouseup",function(t){a=!1}),t.add(s,"touchend",function(t){a=!1}),t.add(s,"touchcancel",function(t){a=!1})}var c="keydown",l="mousedown",h="focusin";function p(t,e){return(e||document).querySelector(t)}function g(t){t.preventDefault(),t.stopPropagation()}function v(t,e,n,i,r){t.add(e,c,function(t){0<=n.indexOf(t.key)&&(r&&g(t),i(t))})}function b(t){u(this,b),this.settings={popup:"right",layout:"default",alpha:!0,editor:!0,editorFormat:"hex",cancelButton:!1,defaultColor:"#0cf"},this._events=new n,this.onChange=null,this.onDone=null,this.onOpen=null,this.onClose=null,this.setOptions(t)}return t(b,[{key:"setOptions",value:function(t){var e,n,i,r=this;t&&(e=this.settings,t instanceof HTMLElement?e.parent=t:(e.parent&&t.parent&&e.parent!==t.parent&&(this._events.remove(e.parent),this._popupInited=!1),function(t,e,n){for(var i in t)n&&0<=n.indexOf(i)||(e[i]=t[i])}(t,e),t.onChange&&(this.onChange=t.onChange),t.onDone&&(this.onDone=t.onDone),t.onOpen&&(this.onOpen=t.onOpen),t.onClose&&(this.onClose=t.onClose),(i=t.color||t.colour)&&this._setColor(i)),(n=e.parent)&&e.popup&&!this._popupInited?(this._events.add(n,"click",i=function(t){return r.openHandler(t)}),v(this._events,n,[" ","Spacebar","Enter"],i),this._popupInited=!0):t.parent&&!e.popup&&this.show())}},{key:"openHandler",value:function(t){var e;this.show()&&(t&&t.preventDefault(),this.settings.parent.style.pointerEvents="none",e=t&&t.type===c?this._domEdit:this.domElement,setTimeout(function(){return e.focus()},100),this.onOpen&&this.onOpen(this.colour))}},{key:"closeHandler",value:function(t){var e,n=t&&t.type,i=!1;t?n===l||n===h?(e=(this.__containedEvent||0)+100,t.timeStamp>e&&(i=!0)):(g(t),i=!0):i=!0,i&&this.hide()&&(this.settings.parent.style.pointerEvents="",n!==l&&this.settings.parent.focus(),this.onClose&&this.onClose(this.colour))}},{key:"movePopup",value:function(t,e){this.closeHandler(),this.setOptions(t),e&&this.openHandler()}},{key:"setColor",value:function(t,e){this._setColor(t,{silent:e})}},{key:"_setColor",value:function(t,e){if(t="string"==typeof t?t.trim():t){e=e||{};var n=void 0;try{n=new s(t)}catch(t){if(e.failSilently)return;throw t}this.settings.alpha||((t=n.hsla)[3]=1,n.hsla=t),this.colour=this.color=n,this._setHSLA(null,null,null,null,e)}}},{key:"setColour",value:function(t,e){this.setColor(t,e)}},{key:"show",value:function(){if(!this.settings.parent)return!1;if(this.domElement){var t=this._toggleDOM(!0);return this._setPosition(),t}var e=this.settings.template||'<div class="picker_wrapper" tabindex="-1"><div class="picker_arrow"></div><div class="picker_hue picker_slider"><div class="picker_selector"></div></div><div class="picker_sl"><div class="picker_selector"></div></div><div class="picker_alpha picker_slider"><div class="picker_selector"></div></div><div class="picker_editor"><input aria-label="Type a color name or hex value"/></div><div class="picker_sample"></div><div class="picker_done"><button>Ok</button></div><div class="picker_cancel"><button>Cancel</button></div></div>',n=(t=e,(e=document.createElement("div")).innerHTML=t,e.firstElementChild);return this.domElement=n,this._domH=p(".picker_hue",n),this._domSL=p(".picker_sl",n),this._domA=p(".picker_alpha",n),this._domEdit=p(".picker_editor input",n),this._domSample=p(".picker_sample",n),this._domOkay=p(".picker_done button",n),this._domCancel=p(".picker_cancel button",n),n.classList.add("layout_"+this.settings.layout),this.settings.alpha||n.classList.add("no_alpha"),this.settings.editor||n.classList.add("no_editor"),this.settings.cancelButton||n.classList.add("no_cancel"),this._ifPopup(function(){return n.classList.add("popup")}),this._setPosition(),this.colour?this._updateUI():this._setColor(this.settings.defaultColor),this._bindEvents(),!0}},{key:"hide",value:function(){return this._toggleDOM(!1)}},{key:"destroy",value:function(){this._events.destroy(),this.domElement&&this.settings.parent.removeChild(this.domElement)}},{key:"_bindEvents",value:function(){var n=this,i=this,r=this.domElement,s=this._events;function o(t,e,n){s.add(t,e,n)}o(r,"click",function(t){return t.preventDefault()}),a(s,this._domH,function(t,e){return i._setHSLA(t)}),a(s,this._domSL,function(t,e){return i._setHSLA(null,t,1-e)}),this.settings.alpha&&a(s,this._domA,function(t,e){return i._setHSLA(null,null,null,1-e)});var t=this._domEdit;o(t,"input",function(t){i._setColor(this.value,{fromEditor:!0,failSilently:!0})}),o(t,"focus",function(t){this.selectionStart===this.selectionEnd&&this.select()}),this._ifPopup(function(){function t(t){return n.closeHandler(t)}o(window,l,t),o(window,h,t),v(s,r,["Esc","Escape"],t);function e(t){n.__containedEvent=t.timeStamp}o(r,l,e),o(r,h,e),o(n._domCancel,"click",t)});t=function(t){n._ifPopup(function(){return n.closeHandler(t)}),n.onDone&&n.onDone(n.colour)};o(this._domOkay,"click",t),v(s,r,["Enter"],t)}},{key:"_setPosition",value:function(){var n=this.settings.parent,i=this.domElement;n!==i.parentNode&&n.appendChild(i),this._ifPopup(function(t){"static"===getComputedStyle(n).position&&(n.style.position="relative");var e=!0===t?"popup_right":"popup_"+t;["popup_top","popup_bottom","popup_left","popup_right"].forEach(function(t){t===e?i.classList.add(t):i.classList.remove(t)}),i.classList.add(e)})}},{key:"_setHSLA",value:function(t,e,n,i,r){r=r||{};var s=this.colour,o=s.hsla;[t,e,n,i].forEach(function(t,e){!t&&0!==t||(o[e]=t)}),s.hsla=o,this._updateUI(r),this.onChange&&!r.silent&&this.onChange(s)}},{key:"_updateUI",value:function(t){if(this.domElement){t=t||{};var e=this.colour,n=e.hsla,i="hsl("+360*n[0]+", 100%, 50%)",r=e.hslString,s=e.hslaString,o=this._domH,a=this._domSL,c=this._domA,l=p(".picker_selector",o),o=p(".picker_selector",a),c=p(".picker_selector",c);d(0,l,n[0]),this._domSL.style.backgroundColor=this._domH.style.color=i,d(0,o,n[1]),f(0,o,1-n[2]),a.style.color=r,f(0,c,1-n[3]);n=r,r=n.replace("hsl","hsla").replace(")",", 0)");if(this._domA.style.background="linear-gradient("+[n,r]+")"+", linear-gradient(45deg, lightgrey 25%, transparent 25%, transparent 75%, lightgrey 75%) 0 0 / 2em 2em,\n linear-gradient(45deg, lightgrey 25%, white 25%, white 75%, lightgrey 75%) 1em 1em / 2em 2em",!t.fromEditor){var t=this.settings.editorFormat,h=this.settings.alpha,u=void 0;switch(t){case"rgb":u=e.printRGB(h);break;case"hsl":u=e.printHSL(h);break;default:u=e.printHex(h)}this._domEdit.value=u}this._domSample.style.color=s}function d(t,e,n){e.style.left=100*n+"%"}function f(t,e,n){e.style.top=100*n+"%"}}},{key:"_ifPopup",value:function(t,e){this.settings.parent&&this.settings.popup?t&&t(this.settings.popup):e&&e()}},{key:"_toggleDOM",value:function(t){var e=this.domElement;if(!e)return!1;var n=t?"":"none",t=e.style.display!==n;return t&&(e.style.display=n),t}}]),b});
|
app/extensions/fields/asset/vanilla-picker-master/dist/vanilla-picker.csp.mjs
ADDED
@@ -0,0 +1,993 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* vanilla-picker v2.12.1
|
3 |
+
* https://vanilla-picker.js.org
|
4 |
+
*
|
5 |
+
* Copyright 2017-2021 Andreas Borgen (https://github.com/Sphinxxxx), Adam Brooks (https://github.com/dissimulate)
|
6 |
+
* Released under the ISC license.
|
7 |
+
*/
|
8 |
+
var classCallCheck = function (instance, Constructor) {
|
9 |
+
if (!(instance instanceof Constructor)) {
|
10 |
+
throw new TypeError("Cannot call a class as a function");
|
11 |
+
}
|
12 |
+
};
|
13 |
+
|
14 |
+
var createClass = function () {
|
15 |
+
function defineProperties(target, props) {
|
16 |
+
for (var i = 0; i < props.length; i++) {
|
17 |
+
var descriptor = props[i];
|
18 |
+
descriptor.enumerable = descriptor.enumerable || false;
|
19 |
+
descriptor.configurable = true;
|
20 |
+
if ("value" in descriptor) descriptor.writable = true;
|
21 |
+
Object.defineProperty(target, descriptor.key, descriptor);
|
22 |
+
}
|
23 |
+
}
|
24 |
+
|
25 |
+
return function (Constructor, protoProps, staticProps) {
|
26 |
+
if (protoProps) defineProperties(Constructor.prototype, protoProps);
|
27 |
+
if (staticProps) defineProperties(Constructor, staticProps);
|
28 |
+
return Constructor;
|
29 |
+
};
|
30 |
+
}();
|
31 |
+
|
32 |
+
var slicedToArray = function () {
|
33 |
+
function sliceIterator(arr, i) {
|
34 |
+
var _arr = [];
|
35 |
+
var _n = true;
|
36 |
+
var _d = false;
|
37 |
+
var _e = undefined;
|
38 |
+
|
39 |
+
try {
|
40 |
+
for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
|
41 |
+
_arr.push(_s.value);
|
42 |
+
|
43 |
+
if (i && _arr.length === i) break;
|
44 |
+
}
|
45 |
+
} catch (err) {
|
46 |
+
_d = true;
|
47 |
+
_e = err;
|
48 |
+
} finally {
|
49 |
+
try {
|
50 |
+
if (!_n && _i["return"]) _i["return"]();
|
51 |
+
} finally {
|
52 |
+
if (_d) throw _e;
|
53 |
+
}
|
54 |
+
}
|
55 |
+
|
56 |
+
return _arr;
|
57 |
+
}
|
58 |
+
|
59 |
+
return function (arr, i) {
|
60 |
+
if (Array.isArray(arr)) {
|
61 |
+
return arr;
|
62 |
+
} else if (Symbol.iterator in Object(arr)) {
|
63 |
+
return sliceIterator(arr, i);
|
64 |
+
} else {
|
65 |
+
throw new TypeError("Invalid attempt to destructure non-iterable instance");
|
66 |
+
}
|
67 |
+
};
|
68 |
+
}();
|
69 |
+
|
70 |
+
String.prototype.startsWith = String.prototype.startsWith || function (needle) {
|
71 |
+
return this.indexOf(needle) === 0;
|
72 |
+
};
|
73 |
+
String.prototype.padStart = String.prototype.padStart || function (len, pad) {
|
74 |
+
var str = this;while (str.length < len) {
|
75 |
+
str = pad + str;
|
76 |
+
}return str;
|
77 |
+
};
|
78 |
+
|
79 |
+
var colorNames = { cb: '0f8ff', tqw: 'aebd7', q: '-ffff', qmrn: '7fffd4', zr: '0ffff', bg: '5f5dc', bsq: 'e4c4', bck: '---', nch: 'ebcd', b: '--ff', bvt: '8a2be2', brwn: 'a52a2a', brw: 'deb887', ctb: '5f9ea0', hrt: '7fff-', chcT: 'd2691e', cr: '7f50', rnw: '6495ed', crns: '8dc', crms: 'dc143c', cn: '-ffff', Db: '--8b', Dcn: '-8b8b', Dgnr: 'b8860b', Dgr: 'a9a9a9', Dgrn: '-64-', Dkhk: 'bdb76b', Dmgn: '8b-8b', Dvgr: '556b2f', Drng: '8c-', Drch: '9932cc', Dr: '8b--', Dsmn: 'e9967a', Dsgr: '8fbc8f', DsTb: '483d8b', DsTg: '2f4f4f', Dtrq: '-ced1', Dvt: '94-d3', ppnk: '1493', pskb: '-bfff', mgr: '696969', grb: '1e90ff', rbrc: 'b22222', rwht: 'af0', stg: '228b22', chs: '-ff', gnsb: 'dcdcdc', st: '8f8ff', g: 'd7-', gnr: 'daa520', gr: '808080', grn: '-8-0', grnw: 'adff2f', hnw: '0fff0', htpn: '69b4', nnr: 'cd5c5c', ng: '4b-82', vr: '0', khk: '0e68c', vnr: 'e6e6fa', nrb: '0f5', wngr: '7cfc-', mnch: 'acd', Lb: 'add8e6', Lcr: '08080', Lcn: 'e0ffff', Lgnr: 'afad2', Lgr: 'd3d3d3', Lgrn: '90ee90', Lpnk: 'b6c1', Lsmn: 'a07a', Lsgr: '20b2aa', Lskb: '87cefa', LsTg: '778899', Lstb: 'b0c4de', Lw: 'e0', m: '-ff-', mgrn: '32cd32', nn: 'af0e6', mgnt: '-ff', mrn: '8--0', mqm: '66cdaa', mmb: '--cd', mmrc: 'ba55d3', mmpr: '9370db', msg: '3cb371', mmsT: '7b68ee', '': '-fa9a', mtr: '48d1cc', mmvt: 'c71585', mnLb: '191970', ntc: '5fffa', mstr: 'e4e1', mccs: 'e4b5', vjw: 'dead', nv: '--80', c: 'df5e6', v: '808-0', vrb: '6b8e23', rng: 'a5-', rngr: '45-', rch: 'da70d6', pgnr: 'eee8aa', pgrn: '98fb98', ptrq: 'afeeee', pvtr: 'db7093', ppwh: 'efd5', pchp: 'dab9', pr: 'cd853f', pnk: 'c0cb', pm: 'dda0dd', pwrb: 'b0e0e6', prp: '8-080', cc: '663399', r: '--', sbr: 'bc8f8f', rb: '4169e1', sbrw: '8b4513', smn: 'a8072', nbr: '4a460', sgrn: '2e8b57', ssh: '5ee', snn: 'a0522d', svr: 'c0c0c0', skb: '87ceeb', sTb: '6a5acd', sTgr: '708090', snw: 'afa', n: '-ff7f', stb: '4682b4', tn: 'd2b48c', t: '-8080', thst: 'd8bfd8', tmT: '6347', trqs: '40e0d0', vt: 'ee82ee', whT: '5deb3', wht: '', hts: '5f5f5', w: '-', wgrn: '9acd32' };
|
80 |
+
|
81 |
+
function printNum(num) {
|
82 |
+
var decs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
83 |
+
|
84 |
+
var str = decs > 0 ? num.toFixed(decs).replace(/0+$/, '').replace(/\.$/, '') : num.toString();
|
85 |
+
return str || '0';
|
86 |
+
}
|
87 |
+
|
88 |
+
var Color = function () {
|
89 |
+
function Color(r, g, b, a) {
|
90 |
+
classCallCheck(this, Color);
|
91 |
+
|
92 |
+
|
93 |
+
var that = this;
|
94 |
+
function parseString(input) {
|
95 |
+
|
96 |
+
if (input.startsWith('hsl')) {
|
97 |
+
var _input$match$map = input.match(/([\-\d\.e]+)/g).map(Number),
|
98 |
+
_input$match$map2 = slicedToArray(_input$match$map, 4),
|
99 |
+
h = _input$match$map2[0],
|
100 |
+
s = _input$match$map2[1],
|
101 |
+
l = _input$match$map2[2],
|
102 |
+
_a = _input$match$map2[3];
|
103 |
+
|
104 |
+
if (_a === undefined) {
|
105 |
+
_a = 1;
|
106 |
+
}
|
107 |
+
|
108 |
+
h /= 360;
|
109 |
+
s /= 100;
|
110 |
+
l /= 100;
|
111 |
+
that.hsla = [h, s, l, _a];
|
112 |
+
} else if (input.startsWith('rgb')) {
|
113 |
+
var _input$match$map3 = input.match(/([\-\d\.e]+)/g).map(Number),
|
114 |
+
_input$match$map4 = slicedToArray(_input$match$map3, 4),
|
115 |
+
_r = _input$match$map4[0],
|
116 |
+
_g = _input$match$map4[1],
|
117 |
+
_b = _input$match$map4[2],
|
118 |
+
_a2 = _input$match$map4[3];
|
119 |
+
|
120 |
+
if (_a2 === undefined) {
|
121 |
+
_a2 = 1;
|
122 |
+
}
|
123 |
+
|
124 |
+
that.rgba = [_r, _g, _b, _a2];
|
125 |
+
} else {
|
126 |
+
if (input.startsWith('#')) {
|
127 |
+
that.rgba = Color.hexToRgb(input);
|
128 |
+
} else {
|
129 |
+
that.rgba = Color.nameToRgb(input) || Color.hexToRgb(input);
|
130 |
+
}
|
131 |
+
}
|
132 |
+
}
|
133 |
+
|
134 |
+
if (r === undefined) ; else if (Array.isArray(r)) {
|
135 |
+
this.rgba = r;
|
136 |
+
} else if (b === undefined) {
|
137 |
+
var color = r && '' + r;
|
138 |
+
if (color) {
|
139 |
+
parseString(color.toLowerCase());
|
140 |
+
}
|
141 |
+
} else {
|
142 |
+
this.rgba = [r, g, b, a === undefined ? 1 : a];
|
143 |
+
}
|
144 |
+
}
|
145 |
+
|
146 |
+
createClass(Color, [{
|
147 |
+
key: 'printRGB',
|
148 |
+
value: function printRGB(alpha) {
|
149 |
+
var rgb = alpha ? this.rgba : this.rgba.slice(0, 3),
|
150 |
+
vals = rgb.map(function (x, i) {
|
151 |
+
return printNum(x, i === 3 ? 3 : 0);
|
152 |
+
});
|
153 |
+
|
154 |
+
return alpha ? 'rgba(' + vals + ')' : 'rgb(' + vals + ')';
|
155 |
+
}
|
156 |
+
}, {
|
157 |
+
key: 'printHSL',
|
158 |
+
value: function printHSL(alpha) {
|
159 |
+
var mults = [360, 100, 100, 1],
|
160 |
+
suff = ['', '%', '%', ''];
|
161 |
+
|
162 |
+
var hsl = alpha ? this.hsla : this.hsla.slice(0, 3),
|
163 |
+
vals = hsl.map(function (x, i) {
|
164 |
+
return printNum(x * mults[i], i === 3 ? 3 : 1) + suff[i];
|
165 |
+
});
|
166 |
+
|
167 |
+
return alpha ? 'hsla(' + vals + ')' : 'hsl(' + vals + ')';
|
168 |
+
}
|
169 |
+
}, {
|
170 |
+
key: 'printHex',
|
171 |
+
value: function printHex(alpha) {
|
172 |
+
var hex = this.hex;
|
173 |
+
return alpha ? hex : hex.substring(0, 7);
|
174 |
+
}
|
175 |
+
}, {
|
176 |
+
key: 'rgba',
|
177 |
+
get: function get() {
|
178 |
+
if (this._rgba) {
|
179 |
+
return this._rgba;
|
180 |
+
}
|
181 |
+
if (!this._hsla) {
|
182 |
+
throw new Error('No color is set');
|
183 |
+
}
|
184 |
+
|
185 |
+
return this._rgba = Color.hslToRgb(this._hsla);
|
186 |
+
},
|
187 |
+
set: function set(rgb) {
|
188 |
+
if (rgb.length === 3) {
|
189 |
+
rgb[3] = 1;
|
190 |
+
}
|
191 |
+
|
192 |
+
this._rgba = rgb;
|
193 |
+
this._hsla = null;
|
194 |
+
}
|
195 |
+
}, {
|
196 |
+
key: 'rgbString',
|
197 |
+
get: function get() {
|
198 |
+
return this.printRGB();
|
199 |
+
}
|
200 |
+
}, {
|
201 |
+
key: 'rgbaString',
|
202 |
+
get: function get() {
|
203 |
+
return this.printRGB(true);
|
204 |
+
}
|
205 |
+
}, {
|
206 |
+
key: 'hsla',
|
207 |
+
get: function get() {
|
208 |
+
if (this._hsla) {
|
209 |
+
return this._hsla;
|
210 |
+
}
|
211 |
+
if (!this._rgba) {
|
212 |
+
throw new Error('No color is set');
|
213 |
+
}
|
214 |
+
|
215 |
+
return this._hsla = Color.rgbToHsl(this._rgba);
|
216 |
+
},
|
217 |
+
set: function set(hsl) {
|
218 |
+
if (hsl.length === 3) {
|
219 |
+
hsl[3] = 1;
|
220 |
+
}
|
221 |
+
|
222 |
+
this._hsla = hsl;
|
223 |
+
this._rgba = null;
|
224 |
+
}
|
225 |
+
}, {
|
226 |
+
key: 'hslString',
|
227 |
+
get: function get() {
|
228 |
+
return this.printHSL();
|
229 |
+
}
|
230 |
+
}, {
|
231 |
+
key: 'hslaString',
|
232 |
+
get: function get() {
|
233 |
+
return this.printHSL(true);
|
234 |
+
}
|
235 |
+
}, {
|
236 |
+
key: 'hex',
|
237 |
+
get: function get() {
|
238 |
+
var rgb = this.rgba,
|
239 |
+
hex = rgb.map(function (x, i) {
|
240 |
+
return i < 3 ? x.toString(16) : Math.round(x * 255).toString(16);
|
241 |
+
});
|
242 |
+
|
243 |
+
return '#' + hex.map(function (x) {
|
244 |
+
return x.padStart(2, '0');
|
245 |
+
}).join('');
|
246 |
+
},
|
247 |
+
set: function set(hex) {
|
248 |
+
this.rgba = Color.hexToRgb(hex);
|
249 |
+
}
|
250 |
+
}], [{
|
251 |
+
key: 'hexToRgb',
|
252 |
+
value: function hexToRgb(input) {
|
253 |
+
|
254 |
+
var hex = (input.startsWith('#') ? input.slice(1) : input).replace(/^(\w{3})$/, '$1F').replace(/^(\w)(\w)(\w)(\w)$/, '$1$1$2$2$3$3$4$4').replace(/^(\w{6})$/, '$1FF');
|
255 |
+
|
256 |
+
if (!hex.match(/^([0-9a-fA-F]{8})$/)) {
|
257 |
+
throw new Error('Unknown hex color; ' + input);
|
258 |
+
}
|
259 |
+
|
260 |
+
var rgba = hex.match(/^(\w\w)(\w\w)(\w\w)(\w\w)$/).slice(1).map(function (x) {
|
261 |
+
return parseInt(x, 16);
|
262 |
+
});
|
263 |
+
|
264 |
+
rgba[3] = rgba[3] / 255;
|
265 |
+
return rgba;
|
266 |
+
}
|
267 |
+
}, {
|
268 |
+
key: 'nameToRgb',
|
269 |
+
value: function nameToRgb(input) {
|
270 |
+
|
271 |
+
var hash = input.toLowerCase().replace('at', 'T').replace(/[aeiouyldf]/g, '').replace('ght', 'L').replace('rk', 'D').slice(-5, 4),
|
272 |
+
hex = colorNames[hash];
|
273 |
+
return hex === undefined ? hex : Color.hexToRgb(hex.replace(/\-/g, '00').padStart(6, 'f'));
|
274 |
+
}
|
275 |
+
}, {
|
276 |
+
key: 'rgbToHsl',
|
277 |
+
value: function rgbToHsl(_ref) {
|
278 |
+
var _ref2 = slicedToArray(_ref, 4),
|
279 |
+
r = _ref2[0],
|
280 |
+
g = _ref2[1],
|
281 |
+
b = _ref2[2],
|
282 |
+
a = _ref2[3];
|
283 |
+
|
284 |
+
r /= 255;
|
285 |
+
g /= 255;
|
286 |
+
b /= 255;
|
287 |
+
|
288 |
+
var max = Math.max(r, g, b),
|
289 |
+
min = Math.min(r, g, b);
|
290 |
+
var h = void 0,
|
291 |
+
s = void 0,
|
292 |
+
l = (max + min) / 2;
|
293 |
+
|
294 |
+
if (max === min) {
|
295 |
+
h = s = 0;
|
296 |
+
} else {
|
297 |
+
var d = max - min;
|
298 |
+
s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
|
299 |
+
switch (max) {
|
300 |
+
case r:
|
301 |
+
h = (g - b) / d + (g < b ? 6 : 0);break;
|
302 |
+
case g:
|
303 |
+
h = (b - r) / d + 2;break;
|
304 |
+
case b:
|
305 |
+
h = (r - g) / d + 4;break;
|
306 |
+
}
|
307 |
+
|
308 |
+
h /= 6;
|
309 |
+
}
|
310 |
+
|
311 |
+
return [h, s, l, a];
|
312 |
+
}
|
313 |
+
}, {
|
314 |
+
key: 'hslToRgb',
|
315 |
+
value: function hslToRgb(_ref3) {
|
316 |
+
var _ref4 = slicedToArray(_ref3, 4),
|
317 |
+
h = _ref4[0],
|
318 |
+
s = _ref4[1],
|
319 |
+
l = _ref4[2],
|
320 |
+
a = _ref4[3];
|
321 |
+
|
322 |
+
var r = void 0,
|
323 |
+
g = void 0,
|
324 |
+
b = void 0;
|
325 |
+
|
326 |
+
if (s === 0) {
|
327 |
+
r = g = b = l;
|
328 |
+
} else {
|
329 |
+
var hue2rgb = function hue2rgb(p, q, t) {
|
330 |
+
if (t < 0) t += 1;
|
331 |
+
if (t > 1) t -= 1;
|
332 |
+
if (t < 1 / 6) return p + (q - p) * 6 * t;
|
333 |
+
if (t < 1 / 2) return q;
|
334 |
+
if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
|
335 |
+
return p;
|
336 |
+
};
|
337 |
+
|
338 |
+
var q = l < 0.5 ? l * (1 + s) : l + s - l * s,
|
339 |
+
p = 2 * l - q;
|
340 |
+
|
341 |
+
r = hue2rgb(p, q, h + 1 / 3);
|
342 |
+
g = hue2rgb(p, q, h);
|
343 |
+
b = hue2rgb(p, q, h - 1 / 3);
|
344 |
+
}
|
345 |
+
|
346 |
+
var rgba = [r * 255, g * 255, b * 255].map(Math.round);
|
347 |
+
rgba[3] = a;
|
348 |
+
|
349 |
+
return rgba;
|
350 |
+
}
|
351 |
+
}]);
|
352 |
+
return Color;
|
353 |
+
}();
|
354 |
+
|
355 |
+
var EventBucket = function () {
|
356 |
+
function EventBucket() {
|
357 |
+
classCallCheck(this, EventBucket);
|
358 |
+
|
359 |
+
this._events = [];
|
360 |
+
}
|
361 |
+
|
362 |
+
createClass(EventBucket, [{
|
363 |
+
key: 'add',
|
364 |
+
value: function add(target, type, handler) {
|
365 |
+
target.addEventListener(type, handler, false);
|
366 |
+
this._events.push({
|
367 |
+
target: target,
|
368 |
+
type: type,
|
369 |
+
handler: handler
|
370 |
+
});
|
371 |
+
}
|
372 |
+
}, {
|
373 |
+
key: 'remove',
|
374 |
+
value: function remove(target, type, handler) {
|
375 |
+
this._events = this._events.filter(function (e) {
|
376 |
+
var isMatch = true;
|
377 |
+
if (target && target !== e.target) {
|
378 |
+
isMatch = false;
|
379 |
+
}
|
380 |
+
if (type && type !== e.type) {
|
381 |
+
isMatch = false;
|
382 |
+
}
|
383 |
+
if (handler && handler !== e.handler) {
|
384 |
+
isMatch = false;
|
385 |
+
}
|
386 |
+
|
387 |
+
if (isMatch) {
|
388 |
+
EventBucket._doRemove(e.target, e.type, e.handler);
|
389 |
+
}
|
390 |
+
return !isMatch;
|
391 |
+
});
|
392 |
+
}
|
393 |
+
}, {
|
394 |
+
key: 'destroy',
|
395 |
+
value: function destroy() {
|
396 |
+
this._events.forEach(function (e) {
|
397 |
+
return EventBucket._doRemove(e.target, e.type, e.handler);
|
398 |
+
});
|
399 |
+
this._events = [];
|
400 |
+
}
|
401 |
+
}], [{
|
402 |
+
key: '_doRemove',
|
403 |
+
value: function _doRemove(target, type, handler) {
|
404 |
+
target.removeEventListener(type, handler, false);
|
405 |
+
}
|
406 |
+
}]);
|
407 |
+
return EventBucket;
|
408 |
+
}();
|
409 |
+
|
410 |
+
function parseHTML(htmlString) {
|
411 |
+
|
412 |
+
var div = document.createElement('div');
|
413 |
+
div.innerHTML = htmlString;
|
414 |
+
return div.firstElementChild;
|
415 |
+
}
|
416 |
+
|
417 |
+
function dragTrack(eventBucket, area, callback) {
|
418 |
+
var dragging = false;
|
419 |
+
|
420 |
+
function clamp(val, min, max) {
|
421 |
+
return Math.max(min, Math.min(val, max));
|
422 |
+
}
|
423 |
+
|
424 |
+
function onMove(e, info, starting) {
|
425 |
+
if (starting) {
|
426 |
+
dragging = true;
|
427 |
+
}
|
428 |
+
if (!dragging) {
|
429 |
+
return;
|
430 |
+
}
|
431 |
+
|
432 |
+
e.preventDefault();
|
433 |
+
|
434 |
+
var bounds = area.getBoundingClientRect(),
|
435 |
+
w = bounds.width,
|
436 |
+
h = bounds.height,
|
437 |
+
x = info.clientX,
|
438 |
+
y = info.clientY;
|
439 |
+
|
440 |
+
var relX = clamp(x - bounds.left, 0, w),
|
441 |
+
relY = clamp(y - bounds.top, 0, h);
|
442 |
+
|
443 |
+
callback(relX / w, relY / h);
|
444 |
+
}
|
445 |
+
|
446 |
+
function onMouse(e, starting) {
|
447 |
+
var button = e.buttons === undefined ? e.which : e.buttons;
|
448 |
+
if (button === 1) {
|
449 |
+
onMove(e, e, starting);
|
450 |
+
} else {
|
451 |
+
dragging = false;
|
452 |
+
}
|
453 |
+
}
|
454 |
+
|
455 |
+
function onTouch(e, starting) {
|
456 |
+
if (e.touches.length === 1) {
|
457 |
+
onMove(e, e.touches[0], starting);
|
458 |
+
} else {
|
459 |
+
dragging = false;
|
460 |
+
}
|
461 |
+
}
|
462 |
+
|
463 |
+
eventBucket.add(area, 'mousedown', function (e) {
|
464 |
+
onMouse(e, true);
|
465 |
+
});
|
466 |
+
eventBucket.add(area, 'touchstart', function (e) {
|
467 |
+
onTouch(e, true);
|
468 |
+
});
|
469 |
+
eventBucket.add(window, 'mousemove', onMouse);
|
470 |
+
eventBucket.add(area, 'touchmove', onTouch);
|
471 |
+
eventBucket.add(window, 'mouseup', function (e) {
|
472 |
+
dragging = false;
|
473 |
+
});
|
474 |
+
eventBucket.add(area, 'touchend', function (e) {
|
475 |
+
dragging = false;
|
476 |
+
});
|
477 |
+
eventBucket.add(area, 'touchcancel', function (e) {
|
478 |
+
dragging = false;
|
479 |
+
});
|
480 |
+
}
|
481 |
+
|
482 |
+
var BG_TRANSP = 'linear-gradient(45deg, lightgrey 25%, transparent 25%, transparent 75%, lightgrey 75%) 0 0 / 2em 2em,\n linear-gradient(45deg, lightgrey 25%, white 25%, white 75%, lightgrey 75%) 1em 1em / 2em 2em';
|
483 |
+
var HUES = 360;
|
484 |
+
|
485 |
+
var EVENT_KEY = 'keydown',
|
486 |
+
EVENT_CLICK_OUTSIDE = 'mousedown',
|
487 |
+
EVENT_TAB_MOVE = 'focusin';
|
488 |
+
|
489 |
+
function $(selector, context) {
|
490 |
+
return (context || document).querySelector(selector);
|
491 |
+
}
|
492 |
+
|
493 |
+
function stopEvent(e) {
|
494 |
+
|
495 |
+
e.preventDefault();
|
496 |
+
e.stopPropagation();
|
497 |
+
}
|
498 |
+
function onKey(bucket, target, keys, handler, stop) {
|
499 |
+
bucket.add(target, EVENT_KEY, function (e) {
|
500 |
+
if (keys.indexOf(e.key) >= 0) {
|
501 |
+
if (stop) {
|
502 |
+
stopEvent(e);
|
503 |
+
}
|
504 |
+
handler(e);
|
505 |
+
}
|
506 |
+
});
|
507 |
+
}
|
508 |
+
|
509 |
+
var Picker = function () {
|
510 |
+
function Picker(options) {
|
511 |
+
classCallCheck(this, Picker);
|
512 |
+
|
513 |
+
|
514 |
+
this.settings = {
|
515 |
+
|
516 |
+
popup: 'right',
|
517 |
+
layout: 'default',
|
518 |
+
alpha: true,
|
519 |
+
editor: true,
|
520 |
+
editorFormat: 'hex',
|
521 |
+
cancelButton: false,
|
522 |
+
defaultColor: '#0cf'
|
523 |
+
};
|
524 |
+
|
525 |
+
this._events = new EventBucket();
|
526 |
+
|
527 |
+
this.onChange = null;
|
528 |
+
|
529 |
+
this.onDone = null;
|
530 |
+
|
531 |
+
this.onOpen = null;
|
532 |
+
|
533 |
+
this.onClose = null;
|
534 |
+
|
535 |
+
this.setOptions(options);
|
536 |
+
}
|
537 |
+
|
538 |
+
createClass(Picker, [{
|
539 |
+
key: 'setOptions',
|
540 |
+
value: function setOptions(options) {
|
541 |
+
var _this = this;
|
542 |
+
|
543 |
+
if (!options) {
|
544 |
+
return;
|
545 |
+
}
|
546 |
+
var settings = this.settings;
|
547 |
+
|
548 |
+
function transfer(source, target, skipKeys) {
|
549 |
+
for (var key in source) {
|
550 |
+
if (skipKeys && skipKeys.indexOf(key) >= 0) {
|
551 |
+
continue;
|
552 |
+
}
|
553 |
+
|
554 |
+
target[key] = source[key];
|
555 |
+
}
|
556 |
+
}
|
557 |
+
|
558 |
+
if (options instanceof HTMLElement) {
|
559 |
+
settings.parent = options;
|
560 |
+
} else {
|
561 |
+
|
562 |
+
if (settings.parent && options.parent && settings.parent !== options.parent) {
|
563 |
+
this._events.remove(settings.parent);
|
564 |
+
this._popupInited = false;
|
565 |
+
}
|
566 |
+
|
567 |
+
transfer(options, settings);
|
568 |
+
|
569 |
+
if (options.onChange) {
|
570 |
+
this.onChange = options.onChange;
|
571 |
+
}
|
572 |
+
if (options.onDone) {
|
573 |
+
this.onDone = options.onDone;
|
574 |
+
}
|
575 |
+
if (options.onOpen) {
|
576 |
+
this.onOpen = options.onOpen;
|
577 |
+
}
|
578 |
+
if (options.onClose) {
|
579 |
+
this.onClose = options.onClose;
|
580 |
+
}
|
581 |
+
|
582 |
+
var col = options.color || options.colour;
|
583 |
+
if (col) {
|
584 |
+
this._setColor(col);
|
585 |
+
}
|
586 |
+
}
|
587 |
+
|
588 |
+
var parent = settings.parent;
|
589 |
+
if (parent && settings.popup && !this._popupInited) {
|
590 |
+
|
591 |
+
var openProxy = function openProxy(e) {
|
592 |
+
return _this.openHandler(e);
|
593 |
+
};
|
594 |
+
|
595 |
+
this._events.add(parent, 'click', openProxy);
|
596 |
+
|
597 |
+
onKey(this._events, parent, [' ', 'Spacebar', 'Enter'], openProxy);
|
598 |
+
|
599 |
+
this._popupInited = true;
|
600 |
+
} else if (options.parent && !settings.popup) {
|
601 |
+
this.show();
|
602 |
+
}
|
603 |
+
}
|
604 |
+
}, {
|
605 |
+
key: 'openHandler',
|
606 |
+
value: function openHandler(e) {
|
607 |
+
if (this.show()) {
|
608 |
+
|
609 |
+
e && e.preventDefault();
|
610 |
+
|
611 |
+
this.settings.parent.style.pointerEvents = 'none';
|
612 |
+
|
613 |
+
var toFocus = e && e.type === EVENT_KEY ? this._domEdit : this.domElement;
|
614 |
+
setTimeout(function () {
|
615 |
+
return toFocus.focus();
|
616 |
+
}, 100);
|
617 |
+
|
618 |
+
if (this.onOpen) {
|
619 |
+
this.onOpen(this.colour);
|
620 |
+
}
|
621 |
+
}
|
622 |
+
}
|
623 |
+
}, {
|
624 |
+
key: 'closeHandler',
|
625 |
+
value: function closeHandler(e) {
|
626 |
+
var event = e && e.type;
|
627 |
+
var doHide = false;
|
628 |
+
|
629 |
+
if (!e) {
|
630 |
+
doHide = true;
|
631 |
+
} else if (event === EVENT_CLICK_OUTSIDE || event === EVENT_TAB_MOVE) {
|
632 |
+
|
633 |
+
var knownTime = (this.__containedEvent || 0) + 100;
|
634 |
+
if (e.timeStamp > knownTime) {
|
635 |
+
doHide = true;
|
636 |
+
}
|
637 |
+
} else {
|
638 |
+
|
639 |
+
stopEvent(e);
|
640 |
+
|
641 |
+
doHide = true;
|
642 |
+
}
|
643 |
+
|
644 |
+
if (doHide && this.hide()) {
|
645 |
+
this.settings.parent.style.pointerEvents = '';
|
646 |
+
|
647 |
+
if (event !== EVENT_CLICK_OUTSIDE) {
|
648 |
+
this.settings.parent.focus();
|
649 |
+
}
|
650 |
+
|
651 |
+
if (this.onClose) {
|
652 |
+
this.onClose(this.colour);
|
653 |
+
}
|
654 |
+
}
|
655 |
+
}
|
656 |
+
}, {
|
657 |
+
key: 'movePopup',
|
658 |
+
value: function movePopup(options, open) {
|
659 |
+
|
660 |
+
this.closeHandler();
|
661 |
+
|
662 |
+
this.setOptions(options);
|
663 |
+
if (open) {
|
664 |
+
this.openHandler();
|
665 |
+
}
|
666 |
+
}
|
667 |
+
}, {
|
668 |
+
key: 'setColor',
|
669 |
+
value: function setColor(color, silent) {
|
670 |
+
this._setColor(color, { silent: silent });
|
671 |
+
}
|
672 |
+
}, {
|
673 |
+
key: '_setColor',
|
674 |
+
value: function _setColor(color, flags) {
|
675 |
+
if (typeof color === 'string') {
|
676 |
+
color = color.trim();
|
677 |
+
}
|
678 |
+
if (!color) {
|
679 |
+
return;
|
680 |
+
}
|
681 |
+
|
682 |
+
flags = flags || {};
|
683 |
+
var c = void 0;
|
684 |
+
try {
|
685 |
+
|
686 |
+
c = new Color(color);
|
687 |
+
} catch (ex) {
|
688 |
+
if (flags.failSilently) {
|
689 |
+
return;
|
690 |
+
}
|
691 |
+
throw ex;
|
692 |
+
}
|
693 |
+
|
694 |
+
if (!this.settings.alpha) {
|
695 |
+
var hsla = c.hsla;
|
696 |
+
hsla[3] = 1;
|
697 |
+
c.hsla = hsla;
|
698 |
+
}
|
699 |
+
this.colour = this.color = c;
|
700 |
+
this._setHSLA(null, null, null, null, flags);
|
701 |
+
}
|
702 |
+
}, {
|
703 |
+
key: 'setColour',
|
704 |
+
value: function setColour(colour, silent) {
|
705 |
+
this.setColor(colour, silent);
|
706 |
+
}
|
707 |
+
}, {
|
708 |
+
key: 'show',
|
709 |
+
value: function show() {
|
710 |
+
var parent = this.settings.parent;
|
711 |
+
if (!parent) {
|
712 |
+
return false;
|
713 |
+
}
|
714 |
+
|
715 |
+
if (this.domElement) {
|
716 |
+
var toggled = this._toggleDOM(true);
|
717 |
+
|
718 |
+
this._setPosition();
|
719 |
+
|
720 |
+
return toggled;
|
721 |
+
}
|
722 |
+
|
723 |
+
var html = this.settings.template || '<div class="picker_wrapper" tabindex="-1"><div class="picker_arrow"></div><div class="picker_hue picker_slider"><div class="picker_selector"></div></div><div class="picker_sl"><div class="picker_selector"></div></div><div class="picker_alpha picker_slider"><div class="picker_selector"></div></div><div class="picker_editor"><input aria-label="Type a color name or hex value"/></div><div class="picker_sample"></div><div class="picker_done"><button>Ok</button></div><div class="picker_cancel"><button>Cancel</button></div></div>';
|
724 |
+
var wrapper = parseHTML(html);
|
725 |
+
|
726 |
+
this.domElement = wrapper;
|
727 |
+
this._domH = $('.picker_hue', wrapper);
|
728 |
+
this._domSL = $('.picker_sl', wrapper);
|
729 |
+
this._domA = $('.picker_alpha', wrapper);
|
730 |
+
this._domEdit = $('.picker_editor input', wrapper);
|
731 |
+
this._domSample = $('.picker_sample', wrapper);
|
732 |
+
this._domOkay = $('.picker_done button', wrapper);
|
733 |
+
this._domCancel = $('.picker_cancel button', wrapper);
|
734 |
+
|
735 |
+
wrapper.classList.add('layout_' + this.settings.layout);
|
736 |
+
if (!this.settings.alpha) {
|
737 |
+
wrapper.classList.add('no_alpha');
|
738 |
+
}
|
739 |
+
if (!this.settings.editor) {
|
740 |
+
wrapper.classList.add('no_editor');
|
741 |
+
}
|
742 |
+
if (!this.settings.cancelButton) {
|
743 |
+
wrapper.classList.add('no_cancel');
|
744 |
+
}
|
745 |
+
this._ifPopup(function () {
|
746 |
+
return wrapper.classList.add('popup');
|
747 |
+
});
|
748 |
+
|
749 |
+
this._setPosition();
|
750 |
+
|
751 |
+
if (this.colour) {
|
752 |
+
this._updateUI();
|
753 |
+
} else {
|
754 |
+
this._setColor(this.settings.defaultColor);
|
755 |
+
}
|
756 |
+
this._bindEvents();
|
757 |
+
|
758 |
+
return true;
|
759 |
+
}
|
760 |
+
}, {
|
761 |
+
key: 'hide',
|
762 |
+
value: function hide() {
|
763 |
+
return this._toggleDOM(false);
|
764 |
+
}
|
765 |
+
}, {
|
766 |
+
key: 'destroy',
|
767 |
+
value: function destroy() {
|
768 |
+
this._events.destroy();
|
769 |
+
if (this.domElement) {
|
770 |
+
this.settings.parent.removeChild(this.domElement);
|
771 |
+
}
|
772 |
+
}
|
773 |
+
}, {
|
774 |
+
key: '_bindEvents',
|
775 |
+
value: function _bindEvents() {
|
776 |
+
var _this2 = this;
|
777 |
+
|
778 |
+
var that = this,
|
779 |
+
dom = this.domElement,
|
780 |
+
events = this._events;
|
781 |
+
|
782 |
+
function addEvent(target, type, handler) {
|
783 |
+
events.add(target, type, handler);
|
784 |
+
}
|
785 |
+
|
786 |
+
addEvent(dom, 'click', function (e) {
|
787 |
+
return e.preventDefault();
|
788 |
+
});
|
789 |
+
|
790 |
+
dragTrack(events, this._domH, function (x, y) {
|
791 |
+
return that._setHSLA(x);
|
792 |
+
});
|
793 |
+
|
794 |
+
dragTrack(events, this._domSL, function (x, y) {
|
795 |
+
return that._setHSLA(null, x, 1 - y);
|
796 |
+
});
|
797 |
+
|
798 |
+
if (this.settings.alpha) {
|
799 |
+
dragTrack(events, this._domA, function (x, y) {
|
800 |
+
return that._setHSLA(null, null, null, 1 - y);
|
801 |
+
});
|
802 |
+
}
|
803 |
+
|
804 |
+
var editInput = this._domEdit;
|
805 |
+
{
|
806 |
+
addEvent(editInput, 'input', function (e) {
|
807 |
+
that._setColor(this.value, { fromEditor: true, failSilently: true });
|
808 |
+
});
|
809 |
+
|
810 |
+
addEvent(editInput, 'focus', function (e) {
|
811 |
+
var input = this;
|
812 |
+
|
813 |
+
if (input.selectionStart === input.selectionEnd) {
|
814 |
+
input.select();
|
815 |
+
}
|
816 |
+
});
|
817 |
+
}
|
818 |
+
|
819 |
+
this._ifPopup(function () {
|
820 |
+
|
821 |
+
var popupCloseProxy = function popupCloseProxy(e) {
|
822 |
+
return _this2.closeHandler(e);
|
823 |
+
};
|
824 |
+
|
825 |
+
addEvent(window, EVENT_CLICK_OUTSIDE, popupCloseProxy);
|
826 |
+
addEvent(window, EVENT_TAB_MOVE, popupCloseProxy);
|
827 |
+
onKey(events, dom, ['Esc', 'Escape'], popupCloseProxy);
|
828 |
+
|
829 |
+
var timeKeeper = function timeKeeper(e) {
|
830 |
+
_this2.__containedEvent = e.timeStamp;
|
831 |
+
};
|
832 |
+
addEvent(dom, EVENT_CLICK_OUTSIDE, timeKeeper);
|
833 |
+
|
834 |
+
addEvent(dom, EVENT_TAB_MOVE, timeKeeper);
|
835 |
+
|
836 |
+
addEvent(_this2._domCancel, 'click', popupCloseProxy);
|
837 |
+
});
|
838 |
+
|
839 |
+
var onDoneProxy = function onDoneProxy(e) {
|
840 |
+
_this2._ifPopup(function () {
|
841 |
+
return _this2.closeHandler(e);
|
842 |
+
});
|
843 |
+
if (_this2.onDone) {
|
844 |
+
_this2.onDone(_this2.colour);
|
845 |
+
}
|
846 |
+
};
|
847 |
+
addEvent(this._domOkay, 'click', onDoneProxy);
|
848 |
+
onKey(events, dom, ['Enter'], onDoneProxy);
|
849 |
+
}
|
850 |
+
}, {
|
851 |
+
key: '_setPosition',
|
852 |
+
value: function _setPosition() {
|
853 |
+
var parent = this.settings.parent,
|
854 |
+
elm = this.domElement;
|
855 |
+
|
856 |
+
if (parent !== elm.parentNode) {
|
857 |
+
parent.appendChild(elm);
|
858 |
+
}
|
859 |
+
|
860 |
+
this._ifPopup(function (popup) {
|
861 |
+
|
862 |
+
if (getComputedStyle(parent).position === 'static') {
|
863 |
+
parent.style.position = 'relative';
|
864 |
+
}
|
865 |
+
|
866 |
+
var cssClass = popup === true ? 'popup_right' : 'popup_' + popup;
|
867 |
+
|
868 |
+
['popup_top', 'popup_bottom', 'popup_left', 'popup_right'].forEach(function (c) {
|
869 |
+
|
870 |
+
if (c === cssClass) {
|
871 |
+
elm.classList.add(c);
|
872 |
+
} else {
|
873 |
+
elm.classList.remove(c);
|
874 |
+
}
|
875 |
+
});
|
876 |
+
|
877 |
+
elm.classList.add(cssClass);
|
878 |
+
});
|
879 |
+
}
|
880 |
+
}, {
|
881 |
+
key: '_setHSLA',
|
882 |
+
value: function _setHSLA(h, s, l, a, flags) {
|
883 |
+
flags = flags || {};
|
884 |
+
|
885 |
+
var col = this.colour,
|
886 |
+
hsla = col.hsla;
|
887 |
+
|
888 |
+
[h, s, l, a].forEach(function (x, i) {
|
889 |
+
if (x || x === 0) {
|
890 |
+
hsla[i] = x;
|
891 |
+
}
|
892 |
+
});
|
893 |
+
col.hsla = hsla;
|
894 |
+
|
895 |
+
this._updateUI(flags);
|
896 |
+
|
897 |
+
if (this.onChange && !flags.silent) {
|
898 |
+
this.onChange(col);
|
899 |
+
}
|
900 |
+
}
|
901 |
+
}, {
|
902 |
+
key: '_updateUI',
|
903 |
+
value: function _updateUI(flags) {
|
904 |
+
if (!this.domElement) {
|
905 |
+
return;
|
906 |
+
}
|
907 |
+
flags = flags || {};
|
908 |
+
|
909 |
+
var col = this.colour,
|
910 |
+
hsl = col.hsla,
|
911 |
+
cssHue = 'hsl(' + hsl[0] * HUES + ', 100%, 50%)',
|
912 |
+
cssHSL = col.hslString,
|
913 |
+
cssHSLA = col.hslaString;
|
914 |
+
|
915 |
+
var uiH = this._domH,
|
916 |
+
uiSL = this._domSL,
|
917 |
+
uiA = this._domA,
|
918 |
+
thumbH = $('.picker_selector', uiH),
|
919 |
+
thumbSL = $('.picker_selector', uiSL),
|
920 |
+
thumbA = $('.picker_selector', uiA);
|
921 |
+
|
922 |
+
function posX(parent, child, relX) {
|
923 |
+
child.style.left = relX * 100 + '%';
|
924 |
+
}
|
925 |
+
function posY(parent, child, relY) {
|
926 |
+
child.style.top = relY * 100 + '%';
|
927 |
+
}
|
928 |
+
|
929 |
+
posX(uiH, thumbH, hsl[0]);
|
930 |
+
|
931 |
+
this._domSL.style.backgroundColor = this._domH.style.color = cssHue;
|
932 |
+
|
933 |
+
posX(uiSL, thumbSL, hsl[1]);
|
934 |
+
posY(uiSL, thumbSL, 1 - hsl[2]);
|
935 |
+
|
936 |
+
uiSL.style.color = cssHSL;
|
937 |
+
|
938 |
+
posY(uiA, thumbA, 1 - hsl[3]);
|
939 |
+
|
940 |
+
var opaque = cssHSL,
|
941 |
+
transp = opaque.replace('hsl', 'hsla').replace(')', ', 0)'),
|
942 |
+
bg = 'linear-gradient(' + [opaque, transp] + ')';
|
943 |
+
|
944 |
+
this._domA.style.background = bg + ', ' + BG_TRANSP;
|
945 |
+
|
946 |
+
if (!flags.fromEditor) {
|
947 |
+
var format = this.settings.editorFormat,
|
948 |
+
alpha = this.settings.alpha;
|
949 |
+
|
950 |
+
var value = void 0;
|
951 |
+
switch (format) {
|
952 |
+
case 'rgb':
|
953 |
+
value = col.printRGB(alpha);break;
|
954 |
+
case 'hsl':
|
955 |
+
value = col.printHSL(alpha);break;
|
956 |
+
default:
|
957 |
+
value = col.printHex(alpha);
|
958 |
+
}
|
959 |
+
this._domEdit.value = value;
|
960 |
+
}
|
961 |
+
|
962 |
+
this._domSample.style.color = cssHSLA;
|
963 |
+
}
|
964 |
+
}, {
|
965 |
+
key: '_ifPopup',
|
966 |
+
value: function _ifPopup(actionIf, actionElse) {
|
967 |
+
if (this.settings.parent && this.settings.popup) {
|
968 |
+
actionIf && actionIf(this.settings.popup);
|
969 |
+
} else {
|
970 |
+
actionElse && actionElse();
|
971 |
+
}
|
972 |
+
}
|
973 |
+
}, {
|
974 |
+
key: '_toggleDOM',
|
975 |
+
value: function _toggleDOM(toVisible) {
|
976 |
+
var dom = this.domElement;
|
977 |
+
if (!dom) {
|
978 |
+
return false;
|
979 |
+
}
|
980 |
+
|
981 |
+
var displayStyle = toVisible ? '' : 'none',
|
982 |
+
toggle = dom.style.display !== displayStyle;
|
983 |
+
|
984 |
+
if (toggle) {
|
985 |
+
dom.style.display = displayStyle;
|
986 |
+
}
|
987 |
+
return toggle;
|
988 |
+
}
|
989 |
+
}]);
|
990 |
+
return Picker;
|
991 |
+
}();
|
992 |
+
|
993 |
+
export { Picker as default };
|
app/extensions/fields/asset/vanilla-picker-master/dist/vanilla-picker.js
CHANGED
@@ -1,15 +1,15 @@
|
|
1 |
/*!
|
2 |
-
* vanilla-picker v2.
|
3 |
* https://vanilla-picker.js.org
|
4 |
*
|
5 |
-
* Copyright 2017-
|
6 |
* Released under the ISC license.
|
7 |
*/
|
8 |
(function (global, factory) {
|
9 |
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
10 |
typeof define === 'function' && define.amd ? define(factory) :
|
11 |
-
(global.Picker = factory());
|
12 |
-
}(this, (function () { 'use strict';
|
13 |
|
14 |
var classCallCheck = function (instance, Constructor) {
|
15 |
if (!(instance instanceof Constructor)) {
|
@@ -74,529 +74,435 @@
|
|
74 |
}();
|
75 |
|
76 |
String.prototype.startsWith = String.prototype.startsWith || function (needle) {
|
77 |
-
|
78 |
};
|
79 |
String.prototype.padStart = String.prototype.padStart || function (len, pad) {
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
};
|
84 |
|
85 |
-
var colorNames = '
|
86 |
-
var colorNamesDeser = void 0;
|
87 |
|
88 |
-
|
89 |
-
|
90 |
-
classCallCheck(this, Color);
|
91 |
-
|
92 |
-
|
93 |
-
var that = this;
|
94 |
-
function parseString(input) {
|
95 |
-
|
96 |
-
if (input.startsWith('hsl')) {
|
97 |
-
var _input$match$map = input.match(/([\-\d\.e]+)/g).map(Number),
|
98 |
-
_input$match$map2 = slicedToArray(_input$match$map, 4),
|
99 |
-
h = _input$match$map2[0],
|
100 |
-
s = _input$match$map2[1],
|
101 |
-
l = _input$match$map2[2],
|
102 |
-
_a = _input$match$map2[3];
|
103 |
-
|
104 |
-
if (_a === undefined) {
|
105 |
-
_a = 1;
|
106 |
-
}
|
107 |
-
|
108 |
-
h /= 360;
|
109 |
-
s /= 100;
|
110 |
-
l /= 100;
|
111 |
-
that.hsla = [h, s, l, _a];
|
112 |
-
}
|
113 |
-
|
114 |
-
else if (input.startsWith('rgb')) {
|
115 |
-
var _input$match$map3 = input.match(/([\-\d\.e]+)/g).map(Number),
|
116 |
-
_input$match$map4 = slicedToArray(_input$match$map3, 4),
|
117 |
-
_r = _input$match$map4[0],
|
118 |
-
_g = _input$match$map4[1],
|
119 |
-
_b = _input$match$map4[2],
|
120 |
-
_a2 = _input$match$map4[3];
|
121 |
-
|
122 |
-
if (_a2 === undefined) {
|
123 |
-
_a2 = 1;
|
124 |
-
}
|
125 |
-
|
126 |
-
that.rgba = [_r, _g, _b, _a2];
|
127 |
-
}
|
128 |
-
|
129 |
-
else {
|
130 |
-
if (input.startsWith('#')) {
|
131 |
-
that.rgba = Color.hexToRgb(input);
|
132 |
-
} else {
|
133 |
-
that.rgba = Color.nameToRgb(input) || Color.hexToRgb(input);
|
134 |
-
}
|
135 |
-
}
|
136 |
-
}
|
137 |
-
|
138 |
-
if (r === undefined) ;
|
139 |
-
|
140 |
-
|
141 |
-
else if (Array.isArray(r)) {
|
142 |
-
this.rgba = r;
|
143 |
-
}
|
144 |
-
|
145 |
-
else if (b === undefined) {
|
146 |
-
var color = r && ('' + r).trim();
|
147 |
-
if (color) {
|
148 |
-
parseString(color.toLowerCase());
|
149 |
-
}
|
150 |
-
} else {
|
151 |
-
this.rgba = [r, g, b, a === undefined ? 1 : a];
|
152 |
-
}
|
153 |
-
}
|
154 |
-
|
155 |
-
|
156 |
-
createClass(Color, [{
|
157 |
-
key: 'rgba',
|
158 |
-
get: function get$$1() {
|
159 |
-
if (this._rgba) {
|
160 |
-
return this._rgba;
|
161 |
-
}
|
162 |
-
if (!this._hsla) {
|
163 |
-
throw new Error('No color is set');
|
164 |
-
}
|
165 |
-
return this._rgba = Color.hslToRgb(this._hsla);
|
166 |
-
},
|
167 |
-
set: function set$$1(rgb) {
|
168 |
-
if (rgb.length === 3) {
|
169 |
-
rgb[3] = 1;
|
170 |
-
}
|
171 |
-
|
172 |
-
this._rgba = rgb;
|
173 |
-
this._hsla = null;
|
174 |
-
}
|
175 |
-
|
176 |
-
|
177 |
-
}, {
|
178 |
-
key: 'rgbString',
|
179 |
-
get: function get$$1() {
|
180 |
-
return 'rgb(' + this.rgba.slice(0, 3) + ')';
|
181 |
-
}
|
182 |
-
}, {
|
183 |
-
key: 'rgbaString',
|
184 |
-
get: function get$$1() {
|
185 |
-
return 'rgba(' + this.rgba + ')';
|
186 |
-
}
|
187 |
-
}, {
|
188 |
-
key: 'hsla',
|
189 |
-
get: function get$$1() {
|
190 |
-
if (this._hsla) {
|
191 |
-
return this._hsla;
|
192 |
-
}
|
193 |
-
if (!this._rgba) {
|
194 |
-
throw new Error('No color is set');
|
195 |
-
}
|
196 |
-
|
197 |
-
return this._hsla = Color.rgbToHsl(this._rgba);
|
198 |
-
},
|
199 |
-
set: function set$$1(hsl) {
|
200 |
-
if (hsl.length === 3) {
|
201 |
-
hsl[3] = 1;
|
202 |
-
}
|
203 |
-
|
204 |
-
this._hsla = hsl;
|
205 |
-
this._rgba = null;
|
206 |
-
}
|
207 |
-
|
208 |
-
|
209 |
-
}, {
|
210 |
-
key: 'hslString',
|
211 |
-
get: function get$$1() {
|
212 |
-
var c = this.hsla;
|
213 |
-
return 'hsl(' + c[0] * 360 + ',' + c[1] * 100 + '%,' + c[2] * 100 + '%)';
|
214 |
-
}
|
215 |
-
}, {
|
216 |
-
key: 'hslaString',
|
217 |
-
get: function get$$1() {
|
218 |
-
var c = this.hsla;
|
219 |
-
return 'hsla(' + c[0] * 360 + ',' + c[1] * 100 + '%,' + c[2] * 100 + '%,' + c[3] + ')';
|
220 |
-
}
|
221 |
-
}, {
|
222 |
-
key: 'hex',
|
223 |
-
get: function get$$1() {
|
224 |
-
var rgb = this.rgba,
|
225 |
-
hex = rgb.map(function (x, i) {
|
226 |
-
return i < 3 ? x.toString(16) : Math.round(x * 255).toString(16);
|
227 |
-
});
|
228 |
-
|
229 |
-
return '#' + hex.map(function (x) {
|
230 |
-
return x.padStart(2, '0');
|
231 |
-
}).join('');
|
232 |
-
},
|
233 |
-
set: function set$$1(hex) {
|
234 |
-
this.rgba = Color.hexToRgb(hex);
|
235 |
-
}
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
}], [{
|
240 |
-
key: 'hexToRgb',
|
241 |
-
value: function hexToRgb(input) {
|
242 |
-
var hex = (input.startsWith('#') ? input.slice(1) : input).replace(/^(\w{3})$/, '$1F')
|
243 |
-
.replace(/^(\w)(\w)(\w)(\w)$/, '$1$1$2$2$3$3$4$4')
|
244 |
-
.replace(/^(\w{6})$/, '$1FF');
|
245 |
-
|
246 |
-
if (!hex.match(/^([0-9a-fA-F]{8})$/)) {
|
247 |
-
throw new Error('Unknown hex color; ' + input);
|
248 |
-
}
|
249 |
-
|
250 |
-
var rgba = hex.match(/^(\w\w)(\w\w)(\w\w)(\w\w)$/).slice(1)
|
251 |
-
.map(function (x) {
|
252 |
-
return parseInt(x, 16);
|
253 |
-
});
|
254 |
-
|
255 |
-
rgba[3] = rgba[3] / 255;
|
256 |
-
return rgba;
|
257 |
-
}
|
258 |
-
|
259 |
-
|
260 |
-
}, {
|
261 |
-
key: 'nameToRgb',
|
262 |
-
value: function nameToRgb(input) {
|
263 |
-
|
264 |
-
if (!colorNamesDeser) {
|
265 |
-
colorNamesDeser = {};
|
266 |
-
colorNames.match(/.{7}/g).forEach(function (x) {
|
267 |
-
return colorNamesDeser[x.slice(0, 3)] = atob(x.slice(-4)).split('').map(function (b) {
|
268 |
-
return b.charCodeAt(0);
|
269 |
-
});
|
270 |
-
});
|
271 |
-
}
|
272 |
-
var hash = [].reduce.call(input.replace('ey', 'ay'), function (h, c) {
|
273 |
-
return (h << 2) + c.charCodeAt(0);
|
274 |
-
}, 0).toString(36).slice(-3);
|
275 |
-
|
276 |
-
return colorNamesDeser[hash];
|
277 |
-
}
|
278 |
-
|
279 |
-
|
280 |
-
}, {
|
281 |
-
key: 'rgbToHsl',
|
282 |
-
value: function rgbToHsl(_ref) {
|
283 |
-
var _ref2 = slicedToArray(_ref, 4),
|
284 |
-
r = _ref2[0],
|
285 |
-
g = _ref2[1],
|
286 |
-
b = _ref2[2],
|
287 |
-
a = _ref2[3];
|
288 |
-
|
289 |
-
r /= 255;
|
290 |
-
g /= 255;
|
291 |
-
b /= 255;
|
292 |
-
|
293 |
-
var max = Math.max(r, g, b),
|
294 |
-
min = Math.min(r, g, b);
|
295 |
-
var h = void 0,
|
296 |
-
s = void 0,
|
297 |
-
l = (max + min) / 2;
|
298 |
-
|
299 |
-
if (max === min) {
|
300 |
-
h = s = 0;
|
301 |
-
} else {
|
302 |
-
var d = max - min;
|
303 |
-
s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
|
304 |
-
switch (max) {
|
305 |
-
case r:
|
306 |
-
h = (g - b) / d + (g < b ? 6 : 0);break;
|
307 |
-
case g:
|
308 |
-
h = (b - r) / d + 2;break;
|
309 |
-
case b:
|
310 |
-
h = (r - g) / d + 4;break;
|
311 |
-
}
|
312 |
-
|
313 |
-
h /= 6;
|
314 |
-
}
|
315 |
-
|
316 |
-
return [h, s, l, a];
|
317 |
-
}
|
318 |
-
|
319 |
-
|
320 |
-
}, {
|
321 |
-
key: 'hslToRgb',
|
322 |
-
value: function hslToRgb(_ref3) {
|
323 |
-
var _ref4 = slicedToArray(_ref3, 4),
|
324 |
-
h = _ref4[0],
|
325 |
-
s = _ref4[1],
|
326 |
-
l = _ref4[2],
|
327 |
-
a = _ref4[3];
|
328 |
-
|
329 |
-
var r = void 0,
|
330 |
-
g = void 0,
|
331 |
-
b = void 0;
|
332 |
-
|
333 |
-
if (s === 0) {
|
334 |
-
r = g = b = l;
|
335 |
-
} else {
|
336 |
-
var hue2rgb = function hue2rgb(p, q, t) {
|
337 |
-
if (t < 0) t += 1;
|
338 |
-
if (t > 1) t -= 1;
|
339 |
-
if (t < 1 / 6) return p + (q - p) * 6 * t;
|
340 |
-
if (t < 1 / 2) return q;
|
341 |
-
if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
|
342 |
-
return p;
|
343 |
-
};
|
344 |
-
|
345 |
-
var q = l < 0.5 ? l * (1 + s) : l + s - l * s,
|
346 |
-
p = 2 * l - q;
|
347 |
-
|
348 |
-
r = hue2rgb(p, q, h + 1 / 3);
|
349 |
-
g = hue2rgb(p, q, h);
|
350 |
-
b = hue2rgb(p, q, h - 1 / 3);
|
351 |
-
}
|
352 |
-
|
353 |
-
var rgba = [r * 255, g * 255, b * 255].map(Math.round);
|
354 |
-
|
355 |
-
rgba[3] = parseFloat(a).toFixed(2);
|
356 |
-
if( rgba[3]=='1.00' ) rgba[3] = '1';
|
357 |
-
return rgba;
|
358 |
-
}
|
359 |
-
}]);
|
360 |
-
return Color;
|
361 |
-
}();
|
362 |
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
var ep = Element.prototype;
|
369 |
-
if (!ep.matches) ep.matches = ep.msMatchesSelector || ep.webkitMatchesSelector;
|
370 |
-
if (!ep.closest) ep.closest = function (s) {
|
371 |
-
var node = this;
|
372 |
-
do {
|
373 |
-
if (node.matches(s)) return node;
|
374 |
-
node = node.tagName === 'svg' ? node.parentNode : node.parentElement;
|
375 |
-
} while (node);
|
376 |
-
|
377 |
-
return null;
|
378 |
-
};
|
379 |
-
|
380 |
-
options = options || {};
|
381 |
-
var container = options.container || document.documentElement,
|
382 |
-
selector = options.selector,
|
383 |
-
callback = options.callback || console.log,
|
384 |
-
callbackStart = options.callbackDragStart,
|
385 |
-
callbackEnd = options.callbackDragEnd,
|
386 |
-
|
387 |
-
callbackClick = options.callbackClick,
|
388 |
-
propagate = options.propagateEvents,
|
389 |
-
roundCoords = options.roundCoords !== false,
|
390 |
-
dragOutside = options.dragOutside !== false,
|
391 |
-
|
392 |
-
handleOffset = options.handleOffset || options.handleOffset !== false;
|
393 |
-
var offsetToCenter = null;
|
394 |
-
switch (handleOffset) {
|
395 |
-
case 'center':
|
396 |
-
offsetToCenter = true;break;
|
397 |
-
case 'topleft':
|
398 |
-
case 'top-left':
|
399 |
-
offsetToCenter = false;break;
|
400 |
-
}
|
401 |
|
402 |
-
|
|
|
|
|
403 |
|
404 |
-
function getMousePos(e, elm, offset, stayWithin) {
|
405 |
-
var x = e.clientX,
|
406 |
-
y = e.clientY;
|
407 |
|
408 |
-
|
409 |
-
|
410 |
-
}
|
411 |
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
|
|
|
|
|
|
416 |
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
}
|
421 |
-
if (stayWithin) {
|
422 |
-
x = respectBounds(x, 0, bounds.width);
|
423 |
-
y = respectBounds(y, 0, bounds.height);
|
424 |
-
}
|
425 |
|
426 |
-
|
427 |
-
|
428 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
429 |
|
430 |
-
|
431 |
-
|
432 |
-
|
|
|
|
|
|
|
433 |
}
|
434 |
}
|
435 |
}
|
436 |
-
return roundCoords ? [Math.round(x), Math.round(y)] : [x, y];
|
437 |
-
}
|
438 |
|
439 |
-
|
440 |
-
|
441 |
-
if (
|
442 |
-
|
|
|
|
|
|
|
|
|
|
|
443 |
}
|
444 |
}
|
445 |
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
|
|
|
|
|
|
452 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
453 |
|
454 |
-
|
455 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
456 |
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
465 |
|
466 |
-
|
467 |
-
|
|
|
|
|
|
|
468 |
}
|
|
|
|
|
|
|
469 |
}
|
470 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
471 |
|
472 |
-
|
473 |
-
|
474 |
-
|
|
|
|
|
|
|
475 |
}
|
476 |
-
|
|
|
|
|
477 |
|
478 |
-
|
479 |
-
pos = getMousePos(e, container, dragState.mouseOffset, !dragOutside);
|
480 |
|
481 |
-
|
|
|
|
|
482 |
|
483 |
-
|
484 |
-
|
|
|
485 |
|
486 |
-
|
487 |
-
|
488 |
-
return;
|
489 |
}
|
|
|
|
|
|
|
490 |
|
491 |
-
|
492 |
-
|
493 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
494 |
|
495 |
-
|
496 |
-
callbackClick(dragState.target, pos);
|
497 |
-
}
|
498 |
-
if (callbackEnd) {
|
499 |
-
callbackEnd(dragState.target, pos, dragState.startPos, cancelled || isClick && callbackClick);
|
500 |
}
|
|
|
|
|
501 |
}
|
502 |
-
|
503 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
504 |
|
|
|
|
|
505 |
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
onEnd(e, true);
|
511 |
-
}
|
512 |
-
});
|
513 |
-
addEvent(container, 'touchstart', function (e) {
|
514 |
-
return relayTouch(e, onDown);
|
515 |
-
});
|
516 |
|
517 |
-
|
518 |
-
|
519 |
-
|
|
|
520 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
521 |
|
522 |
-
|
523 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
524 |
}
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
532 |
|
533 |
-
|
534 |
-
|
535 |
-
|
|
|
|
|
536 |
}
|
537 |
-
}
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
547 |
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
554 |
}
|
555 |
-
|
556 |
-
|
557 |
-
|
|
|
558 |
}
|
|
|
|
|
|
|
|
|
|
|
559 |
|
560 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
561 |
}
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
|
|
|
|
|
|
566 |
}
|
|
|
567 |
|
568 |
-
|
569 |
-
|
570 |
-
|
|
|
|
|
|
|
571 |
}
|
572 |
-
}
|
573 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
574 |
|
575 |
-
var BG_TRANSP = '
|
576 |
var HUES = 360;
|
|
|
577 |
var EVENT_KEY = 'keydown',
|
578 |
-
|
579 |
EVENT_TAB_MOVE = 'focusin';
|
580 |
|
581 |
-
function parseHTML(htmlString) {
|
582 |
-
var div = document.createElement('div');
|
583 |
-
div.innerHTML = htmlString;
|
584 |
-
return div.firstElementChild;
|
585 |
-
}
|
586 |
-
|
587 |
function $(selector, context) {
|
588 |
return (context || document).querySelector(selector);
|
589 |
}
|
590 |
|
591 |
-
function addEvent(target, type, handler) {
|
592 |
-
target.addEventListener(type, handler, false);
|
593 |
-
}
|
594 |
function stopEvent(e) {
|
|
|
595 |
e.preventDefault();
|
596 |
e.stopPropagation();
|
597 |
}
|
598 |
-
function onKey(target, keys, handler, stop) {
|
599 |
-
|
600 |
if (keys.indexOf(e.key) >= 0) {
|
601 |
if (stop) {
|
602 |
stopEvent(e);
|
@@ -606,42 +512,40 @@
|
|
606 |
});
|
607 |
}
|
608 |
|
609 |
-
|
610 |
-
|
611 |
var Picker = function () {
|
612 |
-
|
613 |
-
|
614 |
function Picker(options) {
|
615 |
-
var _this = this;
|
616 |
-
|
617 |
classCallCheck(this, Picker);
|
618 |
|
619 |
|
620 |
this.settings = {
|
|
|
621 |
popup: 'right',
|
622 |
layout: 'default',
|
623 |
alpha: true,
|
624 |
editor: true,
|
625 |
-
|
|
|
|
|
626 |
};
|
627 |
|
628 |
-
this.
|
629 |
-
return _this.openHandler(e);
|
630 |
-
};
|
631 |
|
632 |
this.onChange = null;
|
|
|
633 |
this.onDone = null;
|
|
|
634 |
this.onOpen = null;
|
|
|
635 |
this.onClose = null;
|
636 |
|
637 |
this.setOptions(options);
|
638 |
}
|
639 |
|
640 |
-
|
641 |
-
|
642 |
createClass(Picker, [{
|
643 |
key: 'setOptions',
|
644 |
value: function setOptions(options) {
|
|
|
|
|
645 |
if (!options) {
|
646 |
return;
|
647 |
}
|
@@ -661,13 +565,12 @@
|
|
661 |
settings.parent = options;
|
662 |
} else {
|
663 |
|
664 |
-
|
665 |
if (settings.parent && options.parent && settings.parent !== options.parent) {
|
666 |
-
|
667 |
this._popupInited = false;
|
668 |
}
|
669 |
|
670 |
-
transfer(options, settings
|
671 |
|
672 |
if (options.onChange) {
|
673 |
this.onChange = options.onChange;
|
@@ -691,22 +594,24 @@
|
|
691 |
var parent = settings.parent;
|
692 |
if (parent && settings.popup && !this._popupInited) {
|
693 |
|
694 |
-
|
|
|
|
|
695 |
|
696 |
-
|
697 |
|
|
|
698 |
|
699 |
this._popupInited = true;
|
700 |
} else if (options.parent && !settings.popup) {
|
701 |
this.show();
|
702 |
}
|
703 |
}
|
704 |
-
|
705 |
-
|
706 |
}, {
|
707 |
key: 'openHandler',
|
708 |
value: function openHandler(e) {
|
709 |
if (this.show()) {
|
|
|
710 |
e && e.preventDefault();
|
711 |
|
712 |
this.settings.parent.style.pointerEvents = 'none';
|
@@ -721,8 +626,6 @@
|
|
721 |
}
|
722 |
}
|
723 |
}
|
724 |
-
|
725 |
-
|
726 |
}, {
|
727 |
key: 'closeHandler',
|
728 |
value: function closeHandler(e) {
|
@@ -731,18 +634,18 @@
|
|
731 |
|
732 |
if (!e) {
|
733 |
doHide = true;
|
734 |
-
}
|
735 |
-
else if (event === EVENT_CLICK_OUTSIDE || event === EVENT_TAB_MOVE) {
|
736 |
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
}
|
741 |
-
|
742 |
-
stopEvent(e);
|
743 |
|
744 |
-
|
745 |
-
|
|
|
|
|
746 |
|
747 |
if (doHide && this.hide()) {
|
748 |
this.settings.parent.style.pointerEvents = '';
|
@@ -756,11 +659,10 @@
|
|
756 |
}
|
757 |
}
|
758 |
}
|
759 |
-
|
760 |
-
|
761 |
}, {
|
762 |
key: 'movePopup',
|
763 |
value: function movePopup(options, open) {
|
|
|
764 |
this.closeHandler();
|
765 |
|
766 |
this.setOptions(options);
|
@@ -768,8 +670,6 @@
|
|
768 |
this.openHandler();
|
769 |
}
|
770 |
}
|
771 |
-
|
772 |
-
|
773 |
}, {
|
774 |
key: 'setColor',
|
775 |
value: function setColor(color, silent) {
|
@@ -788,6 +688,7 @@
|
|
788 |
flags = flags || {};
|
789 |
var c = void 0;
|
790 |
try {
|
|
|
791 |
c = new Color(color);
|
792 |
} catch (ex) {
|
793 |
if (flags.failSilently) {
|
@@ -804,14 +705,11 @@
|
|
804 |
this.colour = this.color = c;
|
805 |
this._setHSLA(null, null, null, null, flags);
|
806 |
}
|
807 |
-
|
808 |
}, {
|
809 |
key: 'setColour',
|
810 |
value: function setColour(colour, silent) {
|
811 |
this.setColor(colour, silent);
|
812 |
}
|
813 |
-
|
814 |
-
|
815 |
}, {
|
816 |
key: 'show',
|
817 |
value: function show() {
|
@@ -828,7 +726,7 @@
|
|
828 |
return toggled;
|
829 |
}
|
830 |
|
831 |
-
var html = this.settings.template || '<div class="picker_wrapper" tabindex="-1"><div class="picker_arrow"></div><div class="picker_hue picker_slider"><div class="picker_selector"></div></div><div class="picker_sl"><div class="picker_selector"></div></div><div class="picker_alpha picker_slider"><div class="picker_selector"></div></div><div class="picker_editor"><input aria-label="Type a color name or hex value"/></div><div class="picker_sample"></div><div class="picker_done"><button class="
|
832 |
var wrapper = parseHTML(html);
|
833 |
|
834 |
this.domElement = wrapper;
|
@@ -838,6 +736,7 @@
|
|
838 |
this._domEdit = $('.picker_editor input', wrapper);
|
839 |
this._domSample = $('.picker_sample', wrapper);
|
840 |
this._domOkay = $('.picker_done button', wrapper);
|
|
|
841 |
|
842 |
wrapper.classList.add('layout_' + this.settings.layout);
|
843 |
if (!this.settings.alpha) {
|
@@ -846,6 +745,9 @@
|
|
846 |
if (!this.settings.editor) {
|
847 |
wrapper.classList.add('no_editor');
|
848 |
}
|
|
|
|
|
|
|
849 |
this._ifPopup(function () {
|
850 |
return wrapper.classList.add('popup');
|
851 |
});
|
@@ -855,87 +757,91 @@
|
|
855 |
if (this.colour) {
|
856 |
this._updateUI();
|
857 |
} else {
|
858 |
-
this._setColor(
|
859 |
}
|
860 |
this._bindEvents();
|
861 |
|
862 |
return true;
|
863 |
}
|
864 |
-
|
865 |
-
|
866 |
}, {
|
867 |
key: 'hide',
|
868 |
value: function hide() {
|
869 |
return this._toggleDOM(false);
|
870 |
}
|
871 |
-
|
872 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
873 |
}, {
|
874 |
key: '_bindEvents',
|
875 |
value: function _bindEvents() {
|
876 |
var _this2 = this;
|
877 |
|
878 |
var that = this,
|
879 |
-
dom = this.domElement
|
|
|
|
|
|
|
|
|
|
|
880 |
|
881 |
addEvent(dom, 'click', function (e) {
|
882 |
return e.preventDefault();
|
883 |
});
|
884 |
|
885 |
-
|
886 |
-
function createDragConfig(container, callbackRelative) {
|
887 |
-
|
888 |
-
function relayDrag(_, pos) {
|
889 |
-
var relX = pos[0] / container.clientWidth,
|
890 |
-
relY = pos[1] / container.clientHeight;
|
891 |
-
callbackRelative(relX, relY);
|
892 |
-
}
|
893 |
-
|
894 |
-
var config = {
|
895 |
-
container: container,
|
896 |
-
dragOutside: false,
|
897 |
-
callback: relayDrag,
|
898 |
-
callbackClick: relayDrag,
|
899 |
-
callbackDragStart: relayDrag,
|
900 |
-
propagateEvents: true
|
901 |
-
};
|
902 |
-
return config;
|
903 |
-
}
|
904 |
-
|
905 |
-
dragTracker(createDragConfig(this._domH, function (x, y) {
|
906 |
return that._setHSLA(x);
|
907 |
-
})
|
908 |
|
909 |
-
|
910 |
return that._setHSLA(null, x, 1 - y);
|
911 |
-
})
|
912 |
|
913 |
if (this.settings.alpha) {
|
914 |
-
|
915 |
return that._setHSLA(null, null, null, 1 - y);
|
916 |
-
})
|
917 |
}
|
918 |
|
919 |
-
|
920 |
var editInput = this._domEdit;
|
921 |
-
{
|
922 |
addEvent(editInput, 'input', function (e) {
|
923 |
that._setColor(this.value, { fromEditor: true, failSilently: true });
|
924 |
});
|
|
|
925 |
addEvent(editInput, 'focus', function (e) {
|
926 |
var input = this;
|
|
|
927 |
if (input.selectionStart === input.selectionEnd) {
|
928 |
input.select();
|
929 |
}
|
930 |
});
|
931 |
}
|
932 |
|
|
|
933 |
|
934 |
-
|
935 |
-
_this2._ifPopup(function () {
|
936 |
return _this2.closeHandler(e);
|
937 |
-
}
|
938 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
939 |
var onDoneProxy = function onDoneProxy(e) {
|
940 |
_this2._ifPopup(function () {
|
941 |
return _this2.closeHandler(e);
|
@@ -944,16 +850,9 @@
|
|
944 |
_this2.onDone(_this2.colour);
|
945 |
}
|
946 |
};
|
947 |
-
|
948 |
-
addEvent(window, EVENT_CLICK_OUTSIDE, popupCloseProxy);
|
949 |
-
addEvent(window, EVENT_TAB_MOVE, popupCloseProxy);
|
950 |
-
onKey(dom, ['Esc', 'Escape'], popupCloseProxy);
|
951 |
-
|
952 |
addEvent(this._domOkay, 'click', onDoneProxy);
|
953 |
-
onKey(dom, ['Enter'], onDoneProxy);
|
954 |
}
|
955 |
-
|
956 |
-
|
957 |
}, {
|
958 |
key: '_setPosition',
|
959 |
value: function _setPosition() {
|
@@ -973,6 +872,7 @@
|
|
973 |
var cssClass = popup === true ? 'popup_right' : 'popup_' + popup;
|
974 |
|
975 |
['popup_top', 'popup_bottom', 'popup_left', 'popup_right'].forEach(function (c) {
|
|
|
976 |
if (c === cssClass) {
|
977 |
elm.classList.add(c);
|
978 |
} else {
|
@@ -983,8 +883,6 @@
|
|
983 |
elm.classList.add(cssClass);
|
984 |
});
|
985 |
}
|
986 |
-
|
987 |
-
|
988 |
}, {
|
989 |
key: '_setHSLA',
|
990 |
value: function _setHSLA(h, s, l, a, flags) {
|
@@ -999,6 +897,7 @@
|
|
999 |
}
|
1000 |
});
|
1001 |
col.hsla = hsla;
|
|
|
1002 |
this._updateUI(flags);
|
1003 |
|
1004 |
if (this.onChange && !flags.silent) {
|
@@ -1027,40 +926,45 @@
|
|
1027 |
thumbA = $('.picker_selector', uiA);
|
1028 |
|
1029 |
function posX(parent, child, relX) {
|
1030 |
-
child.style.left = relX * 100 + '%';
|
1031 |
}
|
1032 |
function posY(parent, child, relY) {
|
1033 |
-
child.style.top = relY * 100 + '%';
|
1034 |
}
|
1035 |
|
1036 |
-
|
1037 |
posX(uiH, thumbH, hsl[0]);
|
1038 |
|
1039 |
this._domSL.style.backgroundColor = this._domH.style.color = cssHue;
|
1040 |
|
1041 |
-
|
1042 |
posX(uiSL, thumbSL, hsl[1]);
|
1043 |
posY(uiSL, thumbSL, 1 - hsl[2]);
|
1044 |
|
1045 |
uiSL.style.color = cssHSL;
|
1046 |
|
1047 |
-
|
1048 |
posY(uiA, thumbA, 1 - hsl[3]);
|
1049 |
|
1050 |
var opaque = cssHSL,
|
1051 |
transp = opaque.replace('hsl', 'hsla').replace(')', ', 0)'),
|
1052 |
bg = 'linear-gradient(' + [opaque, transp] + ')';
|
1053 |
|
1054 |
-
this._domA.style.
|
1055 |
-
|
1056 |
|
1057 |
if (!flags.fromEditor) {
|
1058 |
-
var
|
1059 |
-
|
1060 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1061 |
}
|
1062 |
|
1063 |
-
|
1064 |
this._domSample.style.color = cssHSLA;
|
1065 |
}
|
1066 |
}, {
|
@@ -1088,12 +992,18 @@
|
|
1088 |
}
|
1089 |
return toggle;
|
1090 |
}
|
1091 |
-
|
1092 |
-
|
1093 |
}]);
|
1094 |
return Picker;
|
1095 |
}();
|
1096 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1097 |
return Picker;
|
1098 |
|
1099 |
-
}))
|
1 |
/*!
|
2 |
+
* vanilla-picker v2.12.1
|
3 |
* https://vanilla-picker.js.org
|
4 |
*
|
5 |
+
* Copyright 2017-2021 Andreas Borgen (https://github.com/Sphinxxxx), Adam Brooks (https://github.com/dissimulate)
|
6 |
* Released under the ISC license.
|
7 |
*/
|
8 |
(function (global, factory) {
|
9 |
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
10 |
typeof define === 'function' && define.amd ? define(factory) :
|
11 |
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Picker = factory());
|
12 |
+
})(this, (function () { 'use strict';
|
13 |
|
14 |
var classCallCheck = function (instance, Constructor) {
|
15 |
if (!(instance instanceof Constructor)) {
|
74 |
}();
|
75 |
|
76 |
String.prototype.startsWith = String.prototype.startsWith || function (needle) {
|
77 |
+
return this.indexOf(needle) === 0;
|
78 |
};
|
79 |
String.prototype.padStart = String.prototype.padStart || function (len, pad) {
|
80 |
+
var str = this;while (str.length < len) {
|
81 |
+
str = pad + str;
|
82 |
+
}return str;
|
83 |
};
|
84 |
|
85 |
+
var colorNames = { cb: '0f8ff', tqw: 'aebd7', q: '-ffff', qmrn: '7fffd4', zr: '0ffff', bg: '5f5dc', bsq: 'e4c4', bck: '---', nch: 'ebcd', b: '--ff', bvt: '8a2be2', brwn: 'a52a2a', brw: 'deb887', ctb: '5f9ea0', hrt: '7fff-', chcT: 'd2691e', cr: '7f50', rnw: '6495ed', crns: '8dc', crms: 'dc143c', cn: '-ffff', Db: '--8b', Dcn: '-8b8b', Dgnr: 'b8860b', Dgr: 'a9a9a9', Dgrn: '-64-', Dkhk: 'bdb76b', Dmgn: '8b-8b', Dvgr: '556b2f', Drng: '8c-', Drch: '9932cc', Dr: '8b--', Dsmn: 'e9967a', Dsgr: '8fbc8f', DsTb: '483d8b', DsTg: '2f4f4f', Dtrq: '-ced1', Dvt: '94-d3', ppnk: '1493', pskb: '-bfff', mgr: '696969', grb: '1e90ff', rbrc: 'b22222', rwht: 'af0', stg: '228b22', chs: '-ff', gnsb: 'dcdcdc', st: '8f8ff', g: 'd7-', gnr: 'daa520', gr: '808080', grn: '-8-0', grnw: 'adff2f', hnw: '0fff0', htpn: '69b4', nnr: 'cd5c5c', ng: '4b-82', vr: '0', khk: '0e68c', vnr: 'e6e6fa', nrb: '0f5', wngr: '7cfc-', mnch: 'acd', Lb: 'add8e6', Lcr: '08080', Lcn: 'e0ffff', Lgnr: 'afad2', Lgr: 'd3d3d3', Lgrn: '90ee90', Lpnk: 'b6c1', Lsmn: 'a07a', Lsgr: '20b2aa', Lskb: '87cefa', LsTg: '778899', Lstb: 'b0c4de', Lw: 'e0', m: '-ff-', mgrn: '32cd32', nn: 'af0e6', mgnt: '-ff', mrn: '8--0', mqm: '66cdaa', mmb: '--cd', mmrc: 'ba55d3', mmpr: '9370db', msg: '3cb371', mmsT: '7b68ee', '': '-fa9a', mtr: '48d1cc', mmvt: 'c71585', mnLb: '191970', ntc: '5fffa', mstr: 'e4e1', mccs: 'e4b5', vjw: 'dead', nv: '--80', c: 'df5e6', v: '808-0', vrb: '6b8e23', rng: 'a5-', rngr: '45-', rch: 'da70d6', pgnr: 'eee8aa', pgrn: '98fb98', ptrq: 'afeeee', pvtr: 'db7093', ppwh: 'efd5', pchp: 'dab9', pr: 'cd853f', pnk: 'c0cb', pm: 'dda0dd', pwrb: 'b0e0e6', prp: '8-080', cc: '663399', r: '--', sbr: 'bc8f8f', rb: '4169e1', sbrw: '8b4513', smn: 'a8072', nbr: '4a460', sgrn: '2e8b57', ssh: '5ee', snn: 'a0522d', svr: 'c0c0c0', skb: '87ceeb', sTb: '6a5acd', sTgr: '708090', snw: 'afa', n: '-ff7f', stb: '4682b4', tn: 'd2b48c', t: '-8080', thst: 'd8bfd8', tmT: '6347', trqs: '40e0d0', vt: 'ee82ee', whT: '5deb3', wht: '', hts: '5f5f5', w: '-', wgrn: '9acd32' };
|
|
|
86 |
|
87 |
+
function printNum(num) {
|
88 |
+
var decs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
|
90 |
+
var str = decs > 0 ? num.toFixed(decs).replace(/0+$/, '').replace(/\.$/, '') : num.toString();
|
91 |
+
return str || '0';
|
92 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
|
94 |
+
var Color = function () {
|
95 |
+
function Color(r, g, b, a) {
|
96 |
+
classCallCheck(this, Color);
|
97 |
|
|
|
|
|
|
|
98 |
|
99 |
+
var that = this;
|
100 |
+
function parseString(input) {
|
|
|
101 |
|
102 |
+
if (input.startsWith('hsl')) {
|
103 |
+
var _input$match$map = input.match(/([\-\d\.e]+)/g).map(Number),
|
104 |
+
_input$match$map2 = slicedToArray(_input$match$map, 4),
|
105 |
+
h = _input$match$map2[0],
|
106 |
+
s = _input$match$map2[1],
|
107 |
+
l = _input$match$map2[2],
|
108 |
+
_a = _input$match$map2[3];
|
109 |
|
110 |
+
if (_a === undefined) {
|
111 |
+
_a = 1;
|
112 |
+
}
|
|
|
|
|
|
|
|
|
|
|
113 |
|
114 |
+
h /= 360;
|
115 |
+
s /= 100;
|
116 |
+
l /= 100;
|
117 |
+
that.hsla = [h, s, l, _a];
|
118 |
+
} else if (input.startsWith('rgb')) {
|
119 |
+
var _input$match$map3 = input.match(/([\-\d\.e]+)/g).map(Number),
|
120 |
+
_input$match$map4 = slicedToArray(_input$match$map3, 4),
|
121 |
+
_r = _input$match$map4[0],
|
122 |
+
_g = _input$match$map4[1],
|
123 |
+
_b = _input$match$map4[2],
|
124 |
+
_a2 = _input$match$map4[3];
|
125 |
+
|
126 |
+
if (_a2 === undefined) {
|
127 |
+
_a2 = 1;
|
128 |
+
}
|
129 |
|
130 |
+
that.rgba = [_r, _g, _b, _a2];
|
131 |
+
} else {
|
132 |
+
if (input.startsWith('#')) {
|
133 |
+
that.rgba = Color.hexToRgb(input);
|
134 |
+
} else {
|
135 |
+
that.rgba = Color.nameToRgb(input) || Color.hexToRgb(input);
|
136 |
}
|
137 |
}
|
138 |
}
|
|
|
|
|
139 |
|
140 |
+
if (r === undefined) ; else if (Array.isArray(r)) {
|
141 |
+
this.rgba = r;
|
142 |
+
} else if (b === undefined) {
|
143 |
+
var color = r && '' + r;
|
144 |
+
if (color) {
|
145 |
+
parseString(color.toLowerCase());
|
146 |
+
}
|
147 |
+
} else {
|
148 |
+
this.rgba = [r, g, b, a === undefined ? 1 : a];
|
149 |
}
|
150 |
}
|
151 |
|
152 |
+
createClass(Color, [{
|
153 |
+
key: 'printRGB',
|
154 |
+
value: function printRGB(alpha) {
|
155 |
+
var rgb = alpha ? this.rgba : this.rgba.slice(0, 3),
|
156 |
+
vals = rgb.map(function (x, i) {
|
157 |
+
return printNum(x, i === 3 ? 3 : 0);
|
158 |
+
});
|
159 |
+
|
160 |
+
return alpha ? 'rgba(' + vals + ')' : 'rgb(' + vals + ')';
|
161 |
}
|
162 |
+
}, {
|
163 |
+
key: 'printHSL',
|
164 |
+
value: function printHSL(alpha) {
|
165 |
+
var mults = [360, 100, 100, 1],
|
166 |
+
suff = ['', '%', '%', ''];
|
167 |
+
|
168 |
+
var hsl = alpha ? this.hsla : this.hsla.slice(0, 3),
|
169 |
+
vals = hsl.map(function (x, i) {
|
170 |
+
return printNum(x * mults[i], i === 3 ? 3 : 1) + suff[i];
|
171 |
+
});
|
172 |
|
173 |
+
return alpha ? 'hsla(' + vals + ')' : 'hsl(' + vals + ')';
|
174 |
+
}
|
175 |
+
}, {
|
176 |
+
key: 'printHex',
|
177 |
+
value: function printHex(alpha) {
|
178 |
+
var hex = this.hex;
|
179 |
+
return alpha ? hex : hex.substring(0, 7);
|
180 |
+
}
|
181 |
+
}, {
|
182 |
+
key: 'rgba',
|
183 |
+
get: function get() {
|
184 |
+
if (this._rgba) {
|
185 |
+
return this._rgba;
|
186 |
+
}
|
187 |
+
if (!this._hsla) {
|
188 |
+
throw new Error('No color is set');
|
189 |
+
}
|
190 |
|
191 |
+
return this._rgba = Color.hslToRgb(this._hsla);
|
192 |
+
},
|
193 |
+
set: function set(rgb) {
|
194 |
+
if (rgb.length === 3) {
|
195 |
+
rgb[3] = 1;
|
196 |
+
}
|
197 |
+
|
198 |
+
this._rgba = rgb;
|
199 |
+
this._hsla = null;
|
200 |
+
}
|
201 |
+
}, {
|
202 |
+
key: 'rgbString',
|
203 |
+
get: function get() {
|
204 |
+
return this.printRGB();
|
205 |
+
}
|
206 |
+
}, {
|
207 |
+
key: 'rgbaString',
|
208 |
+
get: function get() {
|
209 |
+
return this.printRGB(true);
|
210 |
+
}
|
211 |
+
}, {
|
212 |
+
key: 'hsla',
|
213 |
+
get: function get() {
|
214 |
+
if (this._hsla) {
|
215 |
+
return this._hsla;
|
216 |
+
}
|
217 |
+
if (!this._rgba) {
|
218 |
+
throw new Error('No color is set');
|
219 |
+
}
|
220 |
|
221 |
+
return this._hsla = Color.rgbToHsl(this._rgba);
|
222 |
+
},
|
223 |
+
set: function set(hsl) {
|
224 |
+
if (hsl.length === 3) {
|
225 |
+
hsl[3] = 1;
|
226 |
}
|
227 |
+
|
228 |
+
this._hsla = hsl;
|
229 |
+
this._rgba = null;
|
230 |
}
|
231 |
+
}, {
|
232 |
+
key: 'hslString',
|
233 |
+
get: function get() {
|
234 |
+
return this.printHSL();
|
235 |
+
}
|
236 |
+
}, {
|
237 |
+
key: 'hslaString',
|
238 |
+
get: function get() {
|
239 |
+
return this.printHSL(true);
|
240 |
+
}
|
241 |
+
}, {
|
242 |
+
key: 'hex',
|
243 |
+
get: function get() {
|
244 |
+
var rgb = this.rgba,
|
245 |
+
hex = rgb.map(function (x, i) {
|
246 |
+
return i < 3 ? x.toString(16) : Math.round(x * 255).toString(16);
|
247 |
+
});
|
248 |
|
249 |
+
return '#' + hex.map(function (x) {
|
250 |
+
return x.padStart(2, '0');
|
251 |
+
}).join('');
|
252 |
+
},
|
253 |
+
set: function set(hex) {
|
254 |
+
this.rgba = Color.hexToRgb(hex);
|
255 |
}
|
256 |
+
}], [{
|
257 |
+
key: 'hexToRgb',
|
258 |
+
value: function hexToRgb(input) {
|
259 |
|
260 |
+
var hex = (input.startsWith('#') ? input.slice(1) : input).replace(/^(\w{3})$/, '$1F').replace(/^(\w)(\w)(\w)(\w)$/, '$1$1$2$2$3$3$4$4').replace(/^(\w{6})$/, '$1FF');
|
|
|
261 |
|
262 |
+
if (!hex.match(/^([0-9a-fA-F]{8})$/)) {
|
263 |
+
throw new Error('Unknown hex color; ' + input);
|
264 |
+
}
|
265 |
|
266 |
+
var rgba = hex.match(/^(\w\w)(\w\w)(\w\w)(\w\w)$/).slice(1).map(function (x) {
|
267 |
+
return parseInt(x, 16);
|
268 |
+
});
|
269 |
|
270 |
+
rgba[3] = rgba[3] / 255;
|
271 |
+
return rgba;
|
|
|
272 |
}
|
273 |
+
}, {
|
274 |
+
key: 'nameToRgb',
|
275 |
+
value: function nameToRgb(input) {
|
276 |
|
277 |
+
var hash = input.toLowerCase().replace('at', 'T').replace(/[aeiouyldf]/g, '').replace('ght', 'L').replace('rk', 'D').slice(-5, 4),
|
278 |
+
hex = colorNames[hash];
|
279 |
+
return hex === undefined ? hex : Color.hexToRgb(hex.replace(/\-/g, '00').padStart(6, 'f'));
|
280 |
+
}
|
281 |
+
}, {
|
282 |
+
key: 'rgbToHsl',
|
283 |
+
value: function rgbToHsl(_ref) {
|
284 |
+
var _ref2 = slicedToArray(_ref, 4),
|
285 |
+
r = _ref2[0],
|
286 |
+
g = _ref2[1],
|
287 |
+
b = _ref2[2],
|
288 |
+
a = _ref2[3];
|
289 |
+
|
290 |
+
r /= 255;
|
291 |
+
g /= 255;
|
292 |
+
b /= 255;
|
293 |
+
|
294 |
+
var max = Math.max(r, g, b),
|
295 |
+
min = Math.min(r, g, b);
|
296 |
+
var h = void 0,
|
297 |
+
s = void 0,
|
298 |
+
l = (max + min) / 2;
|
299 |
+
|
300 |
+
if (max === min) {
|
301 |
+
h = s = 0;
|
302 |
+
} else {
|
303 |
+
var d = max - min;
|
304 |
+
s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
|
305 |
+
switch (max) {
|
306 |
+
case r:
|
307 |
+
h = (g - b) / d + (g < b ? 6 : 0);break;
|
308 |
+
case g:
|
309 |
+
h = (b - r) / d + 2;break;
|
310 |
+
case b:
|
311 |
+
h = (r - g) / d + 4;break;
|
312 |
+
}
|
313 |
|
314 |
+
h /= 6;
|
|
|
|
|
|
|
|
|
315 |
}
|
316 |
+
|
317 |
+
return [h, s, l, a];
|
318 |
}
|
319 |
+
}, {
|
320 |
+
key: 'hslToRgb',
|
321 |
+
value: function hslToRgb(_ref3) {
|
322 |
+
var _ref4 = slicedToArray(_ref3, 4),
|
323 |
+
h = _ref4[0],
|
324 |
+
s = _ref4[1],
|
325 |
+
l = _ref4[2],
|
326 |
+
a = _ref4[3];
|
327 |
+
|
328 |
+
var r = void 0,
|
329 |
+
g = void 0,
|
330 |
+
b = void 0;
|
331 |
+
|
332 |
+
if (s === 0) {
|
333 |
+
r = g = b = l;
|
334 |
+
} else {
|
335 |
+
var hue2rgb = function hue2rgb(p, q, t) {
|
336 |
+
if (t < 0) t += 1;
|
337 |
+
if (t > 1) t -= 1;
|
338 |
+
if (t < 1 / 6) return p + (q - p) * 6 * t;
|
339 |
+
if (t < 1 / 2) return q;
|
340 |
+
if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
|
341 |
+
return p;
|
342 |
+
};
|
343 |
|
344 |
+
var q = l < 0.5 ? l * (1 + s) : l + s - l * s,
|
345 |
+
p = 2 * l - q;
|
346 |
|
347 |
+
r = hue2rgb(p, q, h + 1 / 3);
|
348 |
+
g = hue2rgb(p, q, h);
|
349 |
+
b = hue2rgb(p, q, h - 1 / 3);
|
350 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
351 |
|
352 |
+
var rgba = [r * 255, g * 255, b * 255].map(Math.round);
|
353 |
+
rgba[3] = a;
|
354 |
+
|
355 |
+
return rgba;
|
356 |
}
|
357 |
+
}]);
|
358 |
+
return Color;
|
359 |
+
}();
|
360 |
+
|
361 |
+
var EventBucket = function () {
|
362 |
+
function EventBucket() {
|
363 |
+
classCallCheck(this, EventBucket);
|
364 |
+
|
365 |
+
this._events = [];
|
366 |
+
}
|
367 |
|
368 |
+
createClass(EventBucket, [{
|
369 |
+
key: 'add',
|
370 |
+
value: function add(target, type, handler) {
|
371 |
+
target.addEventListener(type, handler, false);
|
372 |
+
this._events.push({
|
373 |
+
target: target,
|
374 |
+
type: type,
|
375 |
+
handler: handler
|
376 |
+
});
|
377 |
}
|
378 |
+
}, {
|
379 |
+
key: 'remove',
|
380 |
+
value: function remove(target, type, handler) {
|
381 |
+
this._events = this._events.filter(function (e) {
|
382 |
+
var isMatch = true;
|
383 |
+
if (target && target !== e.target) {
|
384 |
+
isMatch = false;
|
385 |
+
}
|
386 |
+
if (type && type !== e.type) {
|
387 |
+
isMatch = false;
|
388 |
+
}
|
389 |
+
if (handler && handler !== e.handler) {
|
390 |
+
isMatch = false;
|
391 |
+
}
|
392 |
|
393 |
+
if (isMatch) {
|
394 |
+
EventBucket._doRemove(e.target, e.type, e.handler);
|
395 |
+
}
|
396 |
+
return !isMatch;
|
397 |
+
});
|
398 |
}
|
399 |
+
}, {
|
400 |
+
key: 'destroy',
|
401 |
+
value: function destroy() {
|
402 |
+
this._events.forEach(function (e) {
|
403 |
+
return EventBucket._doRemove(e.target, e.type, e.handler);
|
404 |
+
});
|
405 |
+
this._events = [];
|
406 |
+
}
|
407 |
+
}], [{
|
408 |
+
key: '_doRemove',
|
409 |
+
value: function _doRemove(target, type, handler) {
|
410 |
+
target.removeEventListener(type, handler, false);
|
411 |
+
}
|
412 |
+
}]);
|
413 |
+
return EventBucket;
|
414 |
+
}();
|
415 |
|
416 |
+
function parseHTML(htmlString) {
|
417 |
+
|
418 |
+
var div = document.createElement('div');
|
419 |
+
div.innerHTML = htmlString;
|
420 |
+
return div.firstElementChild;
|
421 |
+
}
|
422 |
+
|
423 |
+
function dragTrack(eventBucket, area, callback) {
|
424 |
+
var dragging = false;
|
425 |
+
|
426 |
+
function clamp(val, min, max) {
|
427 |
+
return Math.max(min, Math.min(val, max));
|
428 |
}
|
429 |
+
|
430 |
+
function onMove(e, info, starting) {
|
431 |
+
if (starting) {
|
432 |
+
dragging = true;
|
433 |
}
|
434 |
+
if (!dragging) {
|
435 |
+
return;
|
436 |
+
}
|
437 |
+
|
438 |
+
e.preventDefault();
|
439 |
|
440 |
+
var bounds = area.getBoundingClientRect(),
|
441 |
+
w = bounds.width,
|
442 |
+
h = bounds.height,
|
443 |
+
x = info.clientX,
|
444 |
+
y = info.clientY;
|
445 |
+
|
446 |
+
var relX = clamp(x - bounds.left, 0, w),
|
447 |
+
relY = clamp(y - bounds.top, 0, h);
|
448 |
+
|
449 |
+
callback(relX / w, relY / h);
|
450 |
}
|
451 |
+
|
452 |
+
function onMouse(e, starting) {
|
453 |
+
var button = e.buttons === undefined ? e.which : e.buttons;
|
454 |
+
if (button === 1) {
|
455 |
+
onMove(e, e, starting);
|
456 |
+
} else {
|
457 |
+
dragging = false;
|
458 |
}
|
459 |
+
}
|
460 |
|
461 |
+
function onTouch(e, starting) {
|
462 |
+
if (e.touches.length === 1) {
|
463 |
+
onMove(e, e.touches[0], starting);
|
464 |
+
} else {
|
465 |
+
dragging = false;
|
466 |
+
}
|
467 |
}
|
|
|
468 |
|
469 |
+
eventBucket.add(area, 'mousedown', function (e) {
|
470 |
+
onMouse(e, true);
|
471 |
+
});
|
472 |
+
eventBucket.add(area, 'touchstart', function (e) {
|
473 |
+
onTouch(e, true);
|
474 |
+
});
|
475 |
+
eventBucket.add(window, 'mousemove', onMouse);
|
476 |
+
eventBucket.add(area, 'touchmove', onTouch);
|
477 |
+
eventBucket.add(window, 'mouseup', function (e) {
|
478 |
+
dragging = false;
|
479 |
+
});
|
480 |
+
eventBucket.add(area, 'touchend', function (e) {
|
481 |
+
dragging = false;
|
482 |
+
});
|
483 |
+
eventBucket.add(area, 'touchcancel', function (e) {
|
484 |
+
dragging = false;
|
485 |
+
});
|
486 |
+
}
|
487 |
|
488 |
+
var BG_TRANSP = 'linear-gradient(45deg, lightgrey 25%, transparent 25%, transparent 75%, lightgrey 75%) 0 0 / 2em 2em,\n linear-gradient(45deg, lightgrey 25%, white 25%, white 75%, lightgrey 75%) 1em 1em / 2em 2em';
|
489 |
var HUES = 360;
|
490 |
+
|
491 |
var EVENT_KEY = 'keydown',
|
492 |
+
EVENT_CLICK_OUTSIDE = 'mousedown',
|
493 |
EVENT_TAB_MOVE = 'focusin';
|
494 |
|
|
|
|
|
|
|
|
|
|
|
|
|
495 |
function $(selector, context) {
|
496 |
return (context || document).querySelector(selector);
|
497 |
}
|
498 |
|
|
|
|
|
|
|
499 |
function stopEvent(e) {
|
500 |
+
|
501 |
e.preventDefault();
|
502 |
e.stopPropagation();
|
503 |
}
|
504 |
+
function onKey(bucket, target, keys, handler, stop) {
|
505 |
+
bucket.add(target, EVENT_KEY, function (e) {
|
506 |
if (keys.indexOf(e.key) >= 0) {
|
507 |
if (stop) {
|
508 |
stopEvent(e);
|
512 |
});
|
513 |
}
|
514 |
|
|
|
|
|
515 |
var Picker = function () {
|
|
|
|
|
516 |
function Picker(options) {
|
|
|
|
|
517 |
classCallCheck(this, Picker);
|
518 |
|
519 |
|
520 |
this.settings = {
|
521 |
+
|
522 |
popup: 'right',
|
523 |
layout: 'default',
|
524 |
alpha: true,
|
525 |
editor: true,
|
526 |
+
editorFormat: 'hex',
|
527 |
+
cancelButton: false,
|
528 |
+
defaultColor: '#0cf'
|
529 |
};
|
530 |
|
531 |
+
this._events = new EventBucket();
|
|
|
|
|
532 |
|
533 |
this.onChange = null;
|
534 |
+
|
535 |
this.onDone = null;
|
536 |
+
|
537 |
this.onOpen = null;
|
538 |
+
|
539 |
this.onClose = null;
|
540 |
|
541 |
this.setOptions(options);
|
542 |
}
|
543 |
|
|
|
|
|
544 |
createClass(Picker, [{
|
545 |
key: 'setOptions',
|
546 |
value: function setOptions(options) {
|
547 |
+
var _this = this;
|
548 |
+
|
549 |
if (!options) {
|
550 |
return;
|
551 |
}
|
565 |
settings.parent = options;
|
566 |
} else {
|
567 |
|
|
|
568 |
if (settings.parent && options.parent && settings.parent !== options.parent) {
|
569 |
+
this._events.remove(settings.parent);
|
570 |
this._popupInited = false;
|
571 |
}
|
572 |
|
573 |
+
transfer(options, settings);
|
574 |
|
575 |
if (options.onChange) {
|
576 |
this.onChange = options.onChange;
|
594 |
var parent = settings.parent;
|
595 |
if (parent && settings.popup && !this._popupInited) {
|
596 |
|
597 |
+
var openProxy = function openProxy(e) {
|
598 |
+
return _this.openHandler(e);
|
599 |
+
};
|
600 |
|
601 |
+
this._events.add(parent, 'click', openProxy);
|
602 |
|
603 |
+
onKey(this._events, parent, [' ', 'Spacebar', 'Enter'], openProxy);
|
604 |
|
605 |
this._popupInited = true;
|
606 |
} else if (options.parent && !settings.popup) {
|
607 |
this.show();
|
608 |
}
|
609 |
}
|
|
|
|
|
610 |
}, {
|
611 |
key: 'openHandler',
|
612 |
value: function openHandler(e) {
|
613 |
if (this.show()) {
|
614 |
+
|
615 |
e && e.preventDefault();
|
616 |
|
617 |
this.settings.parent.style.pointerEvents = 'none';
|
626 |
}
|
627 |
}
|
628 |
}
|
|
|
|
|
629 |
}, {
|
630 |
key: 'closeHandler',
|
631 |
value: function closeHandler(e) {
|
634 |
|
635 |
if (!e) {
|
636 |
doHide = true;
|
637 |
+
} else if (event === EVENT_CLICK_OUTSIDE || event === EVENT_TAB_MOVE) {
|
|
|
638 |
|
639 |
+
var knownTime = (this.__containedEvent || 0) + 100;
|
640 |
+
if (e.timeStamp > knownTime) {
|
641 |
+
doHide = true;
|
642 |
}
|
643 |
+
} else {
|
|
|
644 |
|
645 |
+
stopEvent(e);
|
646 |
+
|
647 |
+
doHide = true;
|
648 |
+
}
|
649 |
|
650 |
if (doHide && this.hide()) {
|
651 |
this.settings.parent.style.pointerEvents = '';
|
659 |
}
|
660 |
}
|
661 |
}
|
|
|
|
|
662 |
}, {
|
663 |
key: 'movePopup',
|
664 |
value: function movePopup(options, open) {
|
665 |
+
|
666 |
this.closeHandler();
|
667 |
|
668 |
this.setOptions(options);
|
670 |
this.openHandler();
|
671 |
}
|
672 |
}
|
|
|
|
|
673 |
}, {
|
674 |
key: 'setColor',
|
675 |
value: function setColor(color, silent) {
|
688 |
flags = flags || {};
|
689 |
var c = void 0;
|
690 |
try {
|
691 |
+
|
692 |
c = new Color(color);
|
693 |
} catch (ex) {
|
694 |
if (flags.failSilently) {
|
705 |
this.colour = this.color = c;
|
706 |
this._setHSLA(null, null, null, null, flags);
|
707 |
}
|
|
|
708 |
}, {
|
709 |
key: 'setColour',
|
710 |
value: function setColour(colour, silent) {
|
711 |
this.setColor(colour, silent);
|
712 |
}
|
|
|
|
|
713 |
}, {
|
714 |
key: 'show',
|
715 |
value: function show() {
|
726 |
return toggled;
|
727 |
}
|
728 |
|
729 |
+
var html = this.settings.template || '<div class="picker_wrapper" tabindex="-1"><div class="picker_arrow"></div><div class="picker_hue picker_slider"><div class="picker_selector"></div></div><div class="picker_sl"><div class="picker_selector"></div></div><div class="picker_alpha picker_slider"><div class="picker_selector"></div></div><div class="picker_editor"><input aria-label="Type a color name or hex value"/></div><div class="picker_sample"></div><div class="picker_done"><button>Ok</button></div><div class="picker_cancel"><button>Cancel</button></div></div>';
|
730 |
var wrapper = parseHTML(html);
|
731 |
|
732 |
this.domElement = wrapper;
|
736 |
this._domEdit = $('.picker_editor input', wrapper);
|
737 |
this._domSample = $('.picker_sample', wrapper);
|
738 |
this._domOkay = $('.picker_done button', wrapper);
|
739 |
+
this._domCancel = $('.picker_cancel button', wrapper);
|
740 |
|
741 |
wrapper.classList.add('layout_' + this.settings.layout);
|
742 |
if (!this.settings.alpha) {
|
745 |
if (!this.settings.editor) {
|
746 |
wrapper.classList.add('no_editor');
|
747 |
}
|
748 |
+
if (!this.settings.cancelButton) {
|
749 |
+
wrapper.classList.add('no_cancel');
|
750 |
+
}
|
751 |
this._ifPopup(function () {
|
752 |
return wrapper.classList.add('popup');
|
753 |
});
|
757 |
if (this.colour) {
|
758 |
this._updateUI();
|
759 |
} else {
|
760 |
+
this._setColor(this.settings.defaultColor);
|
761 |
}
|
762 |
this._bindEvents();
|
763 |
|
764 |
return true;
|
765 |
}
|
|
|
|
|
766 |
}, {
|
767 |
key: 'hide',
|
768 |
value: function hide() {
|
769 |
return this._toggleDOM(false);
|
770 |
}
|
771 |
+
}, {
|
772 |
+
key: 'destroy',
|
773 |
+
value: function destroy() {
|
774 |
+
this._events.destroy();
|
775 |
+
if (this.domElement) {
|
776 |
+
this.settings.parent.removeChild(this.domElement);
|
777 |
+
}
|
778 |
+
}
|
779 |
}, {
|
780 |
key: '_bindEvents',
|
781 |
value: function _bindEvents() {
|
782 |
var _this2 = this;
|
783 |
|
784 |
var that = this,
|
785 |
+
dom = this.domElement,
|
786 |
+
events = this._events;
|
787 |
+
|
788 |
+
function addEvent(target, type, handler) {
|
789 |
+
events.add(target, type, handler);
|
790 |
+
}
|
791 |
|
792 |
addEvent(dom, 'click', function (e) {
|
793 |
return e.preventDefault();
|
794 |
});
|
795 |
|
796 |
+
dragTrack(events, this._domH, function (x, y) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
797 |
return that._setHSLA(x);
|
798 |
+
});
|
799 |
|
800 |
+
dragTrack(events, this._domSL, function (x, y) {
|
801 |
return that._setHSLA(null, x, 1 - y);
|
802 |
+
});
|
803 |
|
804 |
if (this.settings.alpha) {
|
805 |
+
dragTrack(events, this._domA, function (x, y) {
|
806 |
return that._setHSLA(null, null, null, 1 - y);
|
807 |
+
});
|
808 |
}
|
809 |
|
|
|
810 |
var editInput = this._domEdit;
|
811 |
+
{
|
812 |
addEvent(editInput, 'input', function (e) {
|
813 |
that._setColor(this.value, { fromEditor: true, failSilently: true });
|
814 |
});
|
815 |
+
|
816 |
addEvent(editInput, 'focus', function (e) {
|
817 |
var input = this;
|
818 |
+
|
819 |
if (input.selectionStart === input.selectionEnd) {
|
820 |
input.select();
|
821 |
}
|
822 |
});
|
823 |
}
|
824 |
|
825 |
+
this._ifPopup(function () {
|
826 |
|
827 |
+
var popupCloseProxy = function popupCloseProxy(e) {
|
|
|
828 |
return _this2.closeHandler(e);
|
829 |
+
};
|
830 |
+
|
831 |
+
addEvent(window, EVENT_CLICK_OUTSIDE, popupCloseProxy);
|
832 |
+
addEvent(window, EVENT_TAB_MOVE, popupCloseProxy);
|
833 |
+
onKey(events, dom, ['Esc', 'Escape'], popupCloseProxy);
|
834 |
+
|
835 |
+
var timeKeeper = function timeKeeper(e) {
|
836 |
+
_this2.__containedEvent = e.timeStamp;
|
837 |
+
};
|
838 |
+
addEvent(dom, EVENT_CLICK_OUTSIDE, timeKeeper);
|
839 |
+
|
840 |
+
addEvent(dom, EVENT_TAB_MOVE, timeKeeper);
|
841 |
+
|
842 |
+
addEvent(_this2._domCancel, 'click', popupCloseProxy);
|
843 |
+
});
|
844 |
+
|
845 |
var onDoneProxy = function onDoneProxy(e) {
|
846 |
_this2._ifPopup(function () {
|
847 |
return _this2.closeHandler(e);
|
850 |
_this2.onDone(_this2.colour);
|
851 |
}
|
852 |
};
|
|
|
|
|
|
|
|
|
|
|
853 |
addEvent(this._domOkay, 'click', onDoneProxy);
|
854 |
+
onKey(events, dom, ['Enter'], onDoneProxy);
|
855 |
}
|
|
|
|
|
856 |
}, {
|
857 |
key: '_setPosition',
|
858 |
value: function _setPosition() {
|
872 |
var cssClass = popup === true ? 'popup_right' : 'popup_' + popup;
|
873 |
|
874 |
['popup_top', 'popup_bottom', 'popup_left', 'popup_right'].forEach(function (c) {
|
875 |
+
|
876 |
if (c === cssClass) {
|
877 |
elm.classList.add(c);
|
878 |
} else {
|
883 |
elm.classList.add(cssClass);
|
884 |
});
|
885 |
}
|
|
|
|
|
886 |
}, {
|
887 |
key: '_setHSLA',
|
888 |
value: function _setHSLA(h, s, l, a, flags) {
|
897 |
}
|
898 |
});
|
899 |
col.hsla = hsla;
|
900 |
+
|
901 |
this._updateUI(flags);
|
902 |
|
903 |
if (this.onChange && !flags.silent) {
|
926 |
thumbA = $('.picker_selector', uiA);
|
927 |
|
928 |
function posX(parent, child, relX) {
|
929 |
+
child.style.left = relX * 100 + '%';
|
930 |
}
|
931 |
function posY(parent, child, relY) {
|
932 |
+
child.style.top = relY * 100 + '%';
|
933 |
}
|
934 |
|
|
|
935 |
posX(uiH, thumbH, hsl[0]);
|
936 |
|
937 |
this._domSL.style.backgroundColor = this._domH.style.color = cssHue;
|
938 |
|
|
|
939 |
posX(uiSL, thumbSL, hsl[1]);
|
940 |
posY(uiSL, thumbSL, 1 - hsl[2]);
|
941 |
|
942 |
uiSL.style.color = cssHSL;
|
943 |
|
|
|
944 |
posY(uiA, thumbA, 1 - hsl[3]);
|
945 |
|
946 |
var opaque = cssHSL,
|
947 |
transp = opaque.replace('hsl', 'hsla').replace(')', ', 0)'),
|
948 |
bg = 'linear-gradient(' + [opaque, transp] + ')';
|
949 |
|
950 |
+
this._domA.style.background = bg + ', ' + BG_TRANSP;
|
|
|
951 |
|
952 |
if (!flags.fromEditor) {
|
953 |
+
var format = this.settings.editorFormat,
|
954 |
+
alpha = this.settings.alpha;
|
955 |
+
|
956 |
+
var value = void 0;
|
957 |
+
switch (format) {
|
958 |
+
case 'rgb':
|
959 |
+
value = col.printRGB(alpha);break;
|
960 |
+
case 'hsl':
|
961 |
+
value = col.printHSL(alpha);break;
|
962 |
+
default:
|
963 |
+
value = col.printHex(alpha);
|
964 |
+
}
|
965 |
+
this._domEdit.value = value;
|
966 |
}
|
967 |
|
|
|
968 |
this._domSample.style.color = cssHSLA;
|
969 |
}
|
970 |
}, {
|
992 |
}
|
993 |
return toggle;
|
994 |
}
|
|
|
|
|
995 |
}]);
|
996 |
return Picker;
|
997 |
}();
|
998 |
|
999 |
+
{
|
1000 |
+
var style = document.createElement('style');
|
1001 |
+
style.textContent = '.picker_wrapper.no_alpha .picker_alpha{display:none}.picker_wrapper.no_editor .picker_editor{position:absolute;z-index:-1;opacity:0}.picker_wrapper.no_cancel .picker_cancel{display:none}.layout_default.picker_wrapper{display:flex;flex-flow:row wrap;justify-content:space-between;align-items:stretch;font-size:10px;width:25em;padding:.5em}.layout_default.picker_wrapper input,.layout_default.picker_wrapper button{font-size:1rem}.layout_default.picker_wrapper>*{margin:.5em}.layout_default.picker_wrapper::before{content:"";display:block;width:100%;height:0;order:1}.layout_default .picker_slider,.layout_default .picker_selector{padding:1em}.layout_default .picker_hue{width:100%}.layout_default .picker_sl{flex:1 1 auto}.layout_default .picker_sl::before{content:"";display:block;padding-bottom:100%}.layout_default .picker_editor{order:1;width:6.5rem}.layout_default .picker_editor input{width:100%;height:100%}.layout_default .picker_sample{order:1;flex:1 1 auto}.layout_default .picker_done,.layout_default .picker_cancel{order:1}.picker_wrapper{box-sizing:border-box;background:#f2f2f2;box-shadow:0 0 0 1px silver;cursor:default;font-family:sans-serif;color:#444;pointer-events:auto}.picker_wrapper:focus{outline:none}.picker_wrapper button,.picker_wrapper input{box-sizing:border-box;border:none;box-shadow:0 0 0 1px silver;outline:none}.picker_wrapper button:focus,.picker_wrapper button:active,.picker_wrapper input:focus,.picker_wrapper input:active{box-shadow:0 0 2px 1px #1e90ff}.picker_wrapper button{padding:.4em .6em;cursor:pointer;background-color:#f5f5f5;background-image:linear-gradient(0deg, gainsboro, transparent)}.picker_wrapper button:active{background-image:linear-gradient(0deg, transparent, gainsboro)}.picker_wrapper button:hover{background-color:#fff}.picker_selector{position:absolute;z-index:1;display:block;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);border:2px solid #fff;border-radius:100%;box-shadow:0 0 3px 1px #67b9ff;background:currentColor;cursor:pointer}.picker_slider .picker_selector{border-radius:2px}.picker_hue{position:relative;background-image:linear-gradient(90deg, red, yellow, lime, cyan, blue, magenta, red);box-shadow:0 0 0 1px silver}.picker_sl{position:relative;box-shadow:0 0 0 1px silver;background-image:linear-gradient(180deg, white, rgba(255, 255, 255, 0) 50%),linear-gradient(0deg, black, rgba(0, 0, 0, 0) 50%),linear-gradient(90deg, #808080, rgba(128, 128, 128, 0))}.picker_alpha,.picker_sample{position:relative;background:linear-gradient(45deg, lightgrey 25%, transparent 25%, transparent 75%, lightgrey 75%) 0 0/2em 2em,linear-gradient(45deg, lightgrey 25%, white 25%, white 75%, lightgrey 75%) 1em 1em/2em 2em;box-shadow:0 0 0 1px silver}.picker_alpha .picker_selector,.picker_sample .picker_selector{background:none}.picker_editor input{font-family:monospace;padding:.2em .4em}.picker_sample::before{content:"";position:absolute;display:block;width:100%;height:100%;background:currentColor}.picker_arrow{position:absolute;z-index:-1}.picker_wrapper.popup{position:absolute;z-index:2;margin:1.5em}.picker_wrapper.popup,.picker_wrapper.popup .picker_arrow::before,.picker_wrapper.popup .picker_arrow::after{background:#f2f2f2;box-shadow:0 0 10px 1px rgba(0,0,0,.4)}.picker_wrapper.popup .picker_arrow{width:3em;height:3em;margin:0}.picker_wrapper.popup .picker_arrow::before,.picker_wrapper.popup .picker_arrow::after{content:"";display:block;position:absolute;top:0;left:0;z-index:-99}.picker_wrapper.popup .picker_arrow::before{width:100%;height:100%;-webkit-transform:skew(45deg);transform:skew(45deg);-webkit-transform-origin:0 100%;transform-origin:0 100%}.picker_wrapper.popup .picker_arrow::after{width:150%;height:150%;box-shadow:none}.popup.popup_top{bottom:100%;left:0}.popup.popup_top .picker_arrow{bottom:0;left:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.popup.popup_bottom{top:100%;left:0}.popup.popup_bottom .picker_arrow{top:0;left:0;-webkit-transform:rotate(90deg) scale(1, -1);transform:rotate(90deg) scale(1, -1)}.popup.popup_left{top:0;right:100%}.popup.popup_left .picker_arrow{top:0;right:0;-webkit-transform:scale(-1, 1);transform:scale(-1, 1)}.popup.popup_right{top:0;left:100%}.popup.popup_right .picker_arrow{top:0;left:0}';
|
1002 |
+
document.documentElement.firstElementChild.appendChild(style);
|
1003 |
+
|
1004 |
+
Picker.StyleElement = style;
|
1005 |
+
}
|
1006 |
+
|
1007 |
return Picker;
|
1008 |
|
1009 |
+
}));
|
app/extensions/fields/asset/vanilla-picker-master/dist/vanilla-picker.min.js
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
/*!
|
2 |
-
* vanilla-picker v2.
|
3 |
* https://vanilla-picker.js.org
|
4 |
*
|
5 |
-
* Copyright 2017-
|
6 |
* Released under the ISC license.
|
7 |
*/
|
8 |
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.Picker=e()}(this,function(){"use strict";var n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},t=function(){function i(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(t,e,r){return e&&i(t.prototype,e),r&&i(t,r),t}}(),g=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],i=!0,o=!1,n=void 0;try{for(var a,s=t[Symbol.iterator]();!(i=(a=s.next()).done)&&(r.push(a.value),!e||r.length!==e);i=!0);}catch(t){o=!0,n=t}finally{try{!i&&s.return&&s.return()}finally{if(o)throw n}}return r}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")};String.prototype.startsWith=String.prototype.startsWith||function(t){return 0===this.indexOf(t)},String.prototype.padStart=String.prototype.padStart||function(t,e){for(var r=this;r.length<t;)r=e+r;return r};var r=void 0;function o(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:1;return(0<e?t.toFixed(e).replace(/0+$/,"").replace(/\.$/,""):t.toString())||"0"}var a=function(){function f(t,e,r,i){n(this,f);var d=this;if(void 0===t);else if(Array.isArray(t))this.rgba=t;else if(void 0===r){var o=t&&""+t;o&&function(t){if(t.startsWith("hsl")){var e=t.match(/([\-\d\.e]+)/g).map(Number),r=g(e,4),i=r[0],o=r[1],n=r[2],a=r[3];void 0===a&&(a=1),i/=360,o/=100,n/=100,d.hsla=[i,o,n,a]}else if(t.startsWith("rgb")){var s=t.match(/([\-\d\.e]+)/g).map(Number),l=g(s,4),p=l[0],u=l[1],c=l[2],h=l[3];void 0===h&&(h=1),d.rgba=[p,u,c,h]}else t.startsWith("#")?d.rgba=f.hexToRgb(t):d.rgba=f.nameToRgb(t)||f.hexToRgb(t)}(o.toLowerCase())}else this.rgba=[t,e,r,void 0===i?1:i]}return t(f,[{key:"printRGB",value:function(t){var e=(t?this.rgba:this.rgba.slice(0,3)).map(function(t,e){return o(t,3===e?3:0)});return t?"rgba("+e+")":"rgb("+e+")"}},{key:"printHSL",value:function(t){var r=[360,100,100,1],i=["","%","%",""],e=(t?this.hsla:this.hsla.slice(0,3)).map(function(t,e){return o(t*r[e],3===e?3:1)+i[e]});return t?"hsla("+e+")":"hsl("+e+")"}},{key:"printHex",value:function(t){var e=this.hex;return t?e:e.substring(0,7)}},{key:"rgba",get:function(){if(this._rgba)return this._rgba;if(!this._hsla)throw new Error("No color is set");return this._rgba=f.hslToRgb(this._hsla)},set:function(t){3===t.length&&(t[3]=1),this._rgba=t,this._hsla=null}},{key:"rgbString",get:function(){return this.printRGB()}},{key:"rgbaString",get:function(){return this.printRGB(!0)}},{key:"hsla",get:function(){if(this._hsla)return this._hsla;if(!this._rgba)throw new Error("No color is set");return this._hsla=f.rgbToHsl(this._rgba)},set:function(t){3===t.length&&(t[3]=1),this._hsla=t,this._rgba=null}},{key:"hslString",get:function(){return this.printHSL()}},{key:"hslaString",get:function(){return this.printHSL(!0)}},{key:"hex",get:function(){return"#"+this.rgba.map(function(t,e){return e<3?t.toString(16):Math.round(255*t).toString(16)}).map(function(t){return t.padStart(2,"0")}).join("")},set:function(t){this.rgba=f.hexToRgb(t)}}],[{key:"hexToRgb",value:function(t){var e=(t.startsWith("#")?t.slice(1):t).replace(/^(\w{3})$/,"$1F").replace(/^(\w)(\w)(\w)(\w)$/,"$1$1$2$2$3$3$4$4").replace(/^(\w{6})$/,"$1FF");if(!e.match(/^([0-9a-fA-F]{8})$/))throw new Error("Unknown hex color; "+t);var r=e.match(/^(\w\w)(\w\w)(\w\w)(\w\w)$/).slice(1).map(function(t){return parseInt(t,16)});return r[3]=r[3]/255,r}},{key:"nameToRgb",value:function(t){r||(r={},"735AACA770//Xub218Pj/mo5+uvX6mdAP//gtpf//Ur258P//q1d9fXcxop/+TEq9zAAAAqfg/+vN6m1AAD/ngoiiviqt6pSoqzyo3riHxvdX56grk1f/8Aax10mkeqts/39QxbtZJXttkb//jcyxm3BQ86rmAP//wl5AACLwqqAIuL3y8uIYLwv1qampniqAGQAns5vbdrmohiwCLw5uVWsvsdd/4wAsegmTLMqagiwAAsqi6ZZ6uz6j7yPxtzSD2Lxk3L09PudbAM7RwsolADT0kz/xSTfuhAL//vfhaWlpyuxHpD/43rsiIiwn9//rw39uIosi9bp/wD/6w73Nzc9s5+Pj/6v8/9cA3b42qUg6vxgICArmaAIAAtdfrf8vf9n8P/wek3/2m0xnczVxc3bvSwCCsdt///wrvp8OaMs5i5ub6iyk//D1e8ifPwAoui//rNpyxrdjmw9c8ICAq4i4P//mx9+vrSq8t09PTx1ukO6Qqlv/7bBuuy/6B690uILKqpfdh876sd9d4iZnehsMTe0dv///g71lAP8A4nmMs0ys9u+vDmg9d/wD/4pmgAAAcurZs2qzllAADN4lkulXT6txk3Db66qPLNxozre2juokuAPqalj3SNHMgdkxxWF60pGRlwxfl9f/6hr5/+Thx6q/+S1m85/96tutd/fXmszxgIAAe4ma44j8rl/6UAmu0/0UA8so2nDWji87uiqumqmPuY9xbr+7u4rs23CTsb8/+/V95a/9q577xzYU/78z/8DL7b53aDdsu1sODmb11gACAy5nZjOZ1so/wAAlvevI+Pn09QWnhm7ui0UT94q+oBy7ei9KRg5aqLotXad5oFItasmwMDAaihh87r9fdalrN9p9cICQ7gz//r6k5uAP9/4qhRoK01te0rSM7cwAICA91x2L/Yclr/2NHcw1QODQd6w7oLuua09d6zudh////t359fX1enn//8Ao0ims0y".match(/.{7}/g).forEach(function(t){return r[t.slice(0,3)]=atob(t.slice(-4)).split("").map(function(t){return t.charCodeAt(0)})}));var e=[].reduce.call(t.replace("ey","ay"),function(t,e){return(t<<2)+e.charCodeAt(0)},0).toString(36).slice(-3);return r[e]}},{key:"rgbToHsl",value:function(t){var e=g(t,4),r=e[0],i=e[1],o=e[2],n=e[3];r/=255,i/=255,o/=255;var a=Math.max(r,i,o),s=Math.min(r,i,o),l=void 0,p=void 0,u=(a+s)/2;if(a===s)l=p=0;else{var c=a-s;switch(p=.5<u?c/(2-a-s):c/(a+s),a){case r:l=(i-o)/c+(i<o?6:0);break;case i:l=(o-r)/c+2;break;case o:l=(r-i)/c+4}l/=6}return[l,p,u,n]}},{key:"hslToRgb",value:function(t){var e=g(t,4),r=e[0],i=e[1],o=e[2],n=e[3],a=void 0,s=void 0,l=void 0;if(0===i)a=s=l=o;else{var p=function(t,e,r){return r<0&&(r+=1),1<r&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t},u=o<.5?o*(1+i):o+i-o*i,c=2*o-u;a=p(c,u,r+1/3),s=p(c,u,r),l=p(c,u,r-1/3)}var h=[255*a,255*s,255*l].map(Math.round);return h[3]=n,h}}]),f}(),A=window;function s(t){var e=Element.prototype;e.matches||(e.matches=e.msMatchesSelector||e.webkitMatchesSelector),e.closest||(e.closest=function(t){var e=this;do{if(e.matches(t))return e;e="svg"===e.tagName?e.parentNode:e.parentElement}while(e);return null});var l=(t=t||{}).container||document.documentElement,o=t.selector,i=t.callback||console.log,n=t.callbackDragStart,a=t.callbackDragEnd,s=t.callbackClick,r=t.propagateEvents,p=!1!==t.roundCoords,u=!1!==t.dragOutside,c=t.handleOffset||!1!==t.handleOffset,h=null;switch(c){case"center":h=!0;break;case"topleft":case"top-left":h=!1}var d=void 0;function f(t,e,r,i){var o=t.clientX,n=t.clientY;function a(t,e,r){return Math.max(e,Math.min(t,r))}if(e){var s=e.getBoundingClientRect();if(o-=s.left,n-=s.top,r&&(o-=r[0],n-=r[1]),i&&(o=a(o,0,s.width),n=a(n,0,s.height)),e!==l)(null!==h?h:"circle"===e.nodeName||"ellipse"===e.nodeName)&&(o-=s.width/2,n-=s.height/2)}return p?[Math.round(o),Math.round(n)]:[o,n]}function g(t){t.preventDefault(),r||t.stopPropagation()}function m(t){var e=void 0;if(e=o?o instanceof Element?o.contains(t.target)?o:null:t.target.closest(o):{}){g(t);var r=o&&c?f(t,e):[0,0],i=f(t,l,r);d={target:e,mouseOffset:r,startPos:i,actuallyDragged:!1},n&&n(e,i)}}function v(t){if(d){g(t);var e=d.startPos,r=f(t,l,d.mouseOffset,!u);d.actuallyDragged=d.actuallyDragged||e[0]!==r[0]||e[1]!==r[1],i(d.target,r,e)}}function _(t,e){if(d){if(a||s){var r=!d.actuallyDragged,i=r?d.startPos:f(t,l,d.mouseOffset,!u);s&&r&&!e&&s(d.target,i),a&&a(d.target,i,d.startPos,e||r&&s)}d=null}}function k(t,e){_(x(t),e)}function b(t,e,r){t.addEventListener(e,r)}function w(t){return void 0!==t.buttons?1===t.buttons:1===t.which}function y(t,e){1===t.touches.length?e(x(t)):_(t,!0)}function x(t){var e=t.targetTouches[0];return e||(e=t.changedTouches[0]),e.preventDefault=t.preventDefault.bind(t),e.stopPropagation=t.stopPropagation.bind(t),e}b(l,"mousedown",function(t){w(t)?m(t):_(t,!0)}),b(l,"touchstart",function(t){return y(t,m)}),b(A,"mousemove",function(t){d&&(w(t)?v(t):_(t))}),b(A,"touchmove",function(t){return y(t,v)}),b(l,"mouseup",function(t){d&&!w(t)&&_(t)}),b(l,"touchend",function(t){return k(t)}),b(l,"touchcancel",function(t){return k(t,!0)})}var l="keydown",p="mousedown",u="focusin";function b(t,e){return(e||document).querySelector(t)}function c(t,e,r){t.addEventListener(e,r,!1)}function h(t){t.preventDefault(),t.stopPropagation()}function d(t,e,r,i){c(t,l,function(t){0<=e.indexOf(t.key)&&(i&&h(t),r(t))})}return document.documentElement.firstElementChild.appendChild(document.createElement("style")).textContent=".picker_wrapper.no_alpha .picker_alpha{display:none}.picker_wrapper.no_editor .picker_editor{position:absolute;z-index:-1;opacity:0}.layout_default.picker_wrapper{display:flex;flex-flow:row wrap;justify-content:space-between;align-items:stretch;font-size:10px;width:25em;padding:.5em}.layout_default.picker_wrapper input,.layout_default.picker_wrapper button{font-size:1rem}.layout_default.picker_wrapper>*{margin:.5em}.layout_default.picker_wrapper::before{content:'';display:block;width:100%;height:0;order:1}.layout_default .picker_slider,.layout_default .picker_selector{padding:1em}.layout_default .picker_hue{width:100%}.layout_default .picker_sl{flex:1 1 auto}.layout_default .picker_sl::before{content:'';display:block;padding-bottom:100%}.layout_default .picker_editor{order:1;width:6rem}.layout_default .picker_editor input{width:calc(100% + 2px);height:calc(100% + 2px)}.layout_default .picker_sample{order:1;flex:1 1 auto}.layout_default .picker_done{order:1}.picker_wrapper{box-sizing:border-box;background:#f2f2f2;box-shadow:0 0 0 1px silver;cursor:default;font-family:sans-serif;color:#444;pointer-events:auto}.picker_wrapper:focus{outline:none}.picker_wrapper button,.picker_wrapper input{margin:-1px}.picker_selector{position:absolute;z-index:1;display:block;transform:translate(-50%, -50%);border:2px solid white;border-radius:100%;box-shadow:0 0 3px 1px #67b9ff;background:currentColor;cursor:pointer}.picker_slider .picker_selector{border-radius:2px}.picker_hue{position:relative;background-image:linear-gradient(90deg, red, yellow, lime, cyan, blue, magenta, red);box-shadow:0 0 0 1px silver}.picker_sl{position:relative;box-shadow:0 0 0 1px silver;background-image:linear-gradient(180deg, white, rgba(255,255,255,0) 50%),linear-gradient(0deg, black, rgba(0,0,0,0) 50%),linear-gradient(90deg, gray, rgba(128,128,128,0))}.picker_alpha,.picker_sample{position:relative;background:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2' height='2'%3E%3Cpath d='M1,0H0V1H2V2H1' fill='lightgrey'/%3E%3C/svg%3E\") left top/contain white;box-shadow:0 0 0 1px silver}.picker_alpha .picker_selector,.picker_sample .picker_selector{background:none}.picker_editor input{box-sizing:border-box;font-family:monospace;padding:.1em .2em}.picker_sample::before{content:'';position:absolute;display:block;width:100%;height:100%;background:currentColor}.picker_done button{box-sizing:border-box;padding:.2em .5em;cursor:pointer}.picker_arrow{position:absolute;z-index:-1}.picker_wrapper.popup{position:absolute;z-index:2;margin:1.5em}.picker_wrapper.popup,.picker_wrapper.popup .picker_arrow::before,.picker_wrapper.popup .picker_arrow::after{background:#f2f2f2;box-shadow:0 0 10px 1px rgba(0,0,0,0.4)}.picker_wrapper.popup .picker_arrow{width:3em;height:3em;margin:0}.picker_wrapper.popup .picker_arrow::before,.picker_wrapper.popup .picker_arrow::after{content:\"\";display:block;position:absolute;top:0;left:0;z-index:-99}.picker_wrapper.popup .picker_arrow::before{width:100%;height:100%;transform:skew(45deg);transform-origin:0 100%}.picker_wrapper.popup .picker_arrow::after{width:150%;height:150%;box-shadow:none}.popup.popup_top{bottom:100%;left:0}.popup.popup_top .picker_arrow{bottom:0;left:0;transform:rotate(-90deg)}.popup.popup_bottom{top:100%;left:0}.popup.popup_bottom .picker_arrow{top:0;left:0;transform:rotate(90deg) scale(1, -1)}.popup.popup_left{top:0;right:100%}.popup.popup_left .picker_arrow{top:0;right:0;transform:scale(-1, 1)}.popup.popup_right{top:0;left:100%}.popup.popup_right .picker_arrow{top:0;left:0}",function(){function r(t){var e=this;n(this,r),this.settings={popup:"right",layout:"default",alpha:!0,editor:!0,editorFormat:"hex"},this._openProxy=function(t){return e.openHandler(t)},this.onChange=null,this.onDone=null,this.onOpen=null,this.onClose=null,this.setOptions(t)}return t(r,[{key:"setOptions",value:function(t){if(t){var e=this.settings;if(t instanceof HTMLElement)e.parent=t;else{e.parent&&t.parent&&e.parent!==t.parent&&(e.parent.removeEventListener("click",this._openProxy,!1),this._popupInited=!1),function(t,e,r){for(var i in t)r&&0<=r.indexOf(i)||(e[i]=t[i])}(t,e),t.onChange&&(this.onChange=t.onChange),t.onDone&&(this.onDone=t.onDone),t.onOpen&&(this.onOpen=t.onOpen),t.onClose&&(this.onClose=t.onClose);var r=t.color||t.colour;r&&this._setColor(r)}var i=e.parent;i&&e.popup&&!this._popupInited?(c(i,"click",this._openProxy),d(i,[" ","Spacebar","Enter"],this._openProxy),this._popupInited=!0):t.parent&&!e.popup&&this.show()}}},{key:"openHandler",value:function(t){if(this.show()){t&&t.preventDefault(),this.settings.parent.style.pointerEvents="none";var e=t&&t.type===l?this._domEdit:this.domElement;setTimeout(function(){return e.focus()},100),this.onOpen&&this.onOpen(this.colour)}}},{key:"closeHandler",value:function(t){var e=t&&t.type,r=!1;t?e===p||e===u?this.domElement.contains(t.target)||(r=!0):(h(t),r=!0):r=!0,r&&this.hide()&&(this.settings.parent.style.pointerEvents="",e!==p&&this.settings.parent.focus(),this.onClose&&this.onClose(this.colour))}},{key:"movePopup",value:function(t,e){this.closeHandler(),this.setOptions(t),e&&this.openHandler()}},{key:"setColor",value:function(t,e){this._setColor(t,{silent:e})}},{key:"_setColor",value:function(t,e){if("string"==typeof t&&(t=t.trim()),t){e=e||{};var r=void 0;try{r=new a(t)}catch(t){if(e.failSilently)return;throw t}if(!this.settings.alpha){var i=r.hsla;i[3]=1,r.hsla=i}this.colour=this.color=r,this._setHSLA(null,null,null,null,e)}}},{key:"setColour",value:function(t,e){this.setColor(t,e)}},{key:"show",value:function(){if(!this.settings.parent)return!1;if(this.domElement){var t=this._toggleDOM(!0);return this._setPosition(),t}var e,r,i=this.settings.template||'<div class="picker_wrapper" tabindex="-1"><div class="picker_arrow"></div><div class="picker_hue picker_slider"><div class="picker_selector"></div></div><div class="picker_sl"><div class="picker_selector"></div></div><div class="picker_alpha picker_slider"><div class="picker_selector"></div></div><div class="picker_editor"><input aria-label="Type a color name or hex value"/></div><div class="picker_sample"></div><div class="picker_done"><button>Ok</button></div></div>',o=(e=i,(r=document.createElement("div")).innerHTML=e,r.firstElementChild);return this.domElement=o,this._domH=b(".picker_hue",o),this._domSL=b(".picker_sl",o),this._domA=b(".picker_alpha",o),this._domEdit=b(".picker_editor input",o),this._domSample=b(".picker_sample",o),this._domOkay=b(".picker_done button",o),o.classList.add("layout_"+this.settings.layout),this.settings.alpha||o.classList.add("no_alpha"),this.settings.editor||o.classList.add("no_editor"),this._ifPopup(function(){return o.classList.add("popup")}),this._setPosition(),this.colour?this._updateUI():this._setColor("#0cf"),this._bindEvents(),!0}},{key:"hide",value:function(){return this._toggleDOM(!1)}},{key:"_bindEvents",value:function(){var e=this,r=this,t=this.domElement;function i(o,n){function t(t,e){var r=e[0]/o.clientWidth,i=e[1]/o.clientHeight;n(r,i)}return{container:o,dragOutside:!1,callback:t,callbackClick:t,callbackDragStart:t,propagateEvents:!0}}c(t,"click",function(t){return t.preventDefault()}),s(i(this._domH,function(t,e){return r._setHSLA(t)})),s(i(this._domSL,function(t,e){return r._setHSLA(null,t,1-e)})),this.settings.alpha&&s(i(this._domA,function(t,e){return r._setHSLA(null,null,null,1-e)}));var o=this._domEdit;c(o,"input",function(t){r._setColor(this.value,{fromEditor:!0,failSilently:!0})}),c(o,"focus",function(t){this.selectionStart===this.selectionEnd&&this.select()});var n=function(t){e._ifPopup(function(){return e.closeHandler(t)})},a=function(t){e._ifPopup(function(){return e.closeHandler(t)}),e.onDone&&e.onDone(e.colour)};c(window,p,n),c(window,u,n),d(t,["Esc","Escape"],n),c(this._domOkay,"click",a),d(t,["Enter"],a)}},{key:"_setPosition",value:function(){var r=this.settings.parent,i=this.domElement;r!==i.parentNode&&r.appendChild(i),this._ifPopup(function(t){"static"===getComputedStyle(r).position&&(r.style.position="relative");var e=!0===t?"popup_right":"popup_"+t;["popup_top","popup_bottom","popup_left","popup_right"].forEach(function(t){t===e?i.classList.add(t):i.classList.remove(t)}),i.classList.add(e)})}},{key:"_setHSLA",value:function(t,e,r,i,o){o=o||{};var n=this.colour,a=n.hsla;[t,e,r,i].forEach(function(t,e){(t||0===t)&&(a[e]=t)}),n.hsla=a,this._updateUI(o),this.onChange&&!o.silent&&this.onChange(n)}},{key:"_updateUI",value:function(t){if(this.domElement){t=t||{};var e=this.colour,r=e.hsla,i="hsl("+360*r[0]+", 100%, 50%)",o=e.hslString,n=e.hslaString,a=this._domH,s=this._domSL,l=this._domA,p=b(".picker_selector",a),u=b(".picker_selector",s),c=b(".picker_selector",l);_(0,p,r[0]),this._domSL.style.backgroundColor=this._domH.style.color=i,_(0,u,r[1]),k(0,u,1-r[2]),s.style.color=o,k(0,c,1-r[3]);var h=o,d=h.replace("hsl","hsla").replace(")",", 0)"),f="linear-gradient("+[h,d]+")";if(this._domA.style.backgroundImage=f+", url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2' height='2'%3E%3Cpath d='M1,0H0V1H2V2H1' fill='lightgrey'/%3E%3C/svg%3E\")",!t.fromEditor){var g=this.settings.editorFormat,m=this.settings.alpha,v=void 0;switch(g){case"rgb":v=e.printRGB(m);break;case"hsl":v=e.printHSL(m);break;default:v=e.printHex(m)}this._domEdit.value=v}this._domSample.style.color=n}function _(t,e,r){e.style.left=100*r+"%"}function k(t,e,r){e.style.top=100*r+"%"}}},{key:"_ifPopup",value:function(t,e){this.settings.parent&&this.settings.popup?t&&t(this.settings.popup):e&&e()}},{key:"_toggleDOM",value:function(t){var e=this.domElement;if(!e)return!1;var r=t?"":"none",i=e.style.display!==r;return i&&(e.style.display=r),i}}]),r}()});
|
1 |
/*!
|
2 |
+
* vanilla-picker v2.12.1
|
3 |
* https://vanilla-picker.js.org
|
4 |
*
|
5 |
+
* Copyright 2017-2021 Andreas Borgen (https://github.com/Sphinxxxx), Adam Brooks (https://github.com/dissimulate)
|
6 |
* Released under the ISC license.
|
7 |
*/
|
8 |
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Picker=t()}(this,function(){"use strict";function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var e=function(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e};function n(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var d=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(n=(a=s.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){i=!0,o=e}finally{try{!n&&s.return&&s.return()}finally{if(i)throw o}}return r}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")};String.prototype.startsWith=String.prototype.startsWith||function(e){return 0===this.indexOf(e)},String.prototype.padStart=String.prototype.padStart||function(e,t){for(var r=this;r.length<e;)r=t+r;return r};var t={cb:"0f8ff",tqw:"aebd7",q:"-ffff",qmrn:"7fffd4",zr:"0ffff",bg:"5f5dc",bsq:"e4c4",bck:"---",nch:"ebcd",b:"--ff",bvt:"8a2be2",brwn:"a52a2a",brw:"deb887",ctb:"5f9ea0",hrt:"7fff-",chcT:"d2691e",cr:"7f50",rnw:"6495ed",crns:"8dc",crms:"dc143c",cn:"-ffff",Db:"--8b",Dcn:"-8b8b",Dgnr:"b8860b",Dgr:"a9a9a9",Dgrn:"-64-",Dkhk:"bdb76b",Dmgn:"8b-8b",Dvgr:"556b2f",Drng:"8c-",Drch:"9932cc",Dr:"8b--",Dsmn:"e9967a",Dsgr:"8fbc8f",DsTb:"483d8b",DsTg:"2f4f4f",Dtrq:"-ced1",Dvt:"94-d3",ppnk:"1493",pskb:"-bfff",mgr:"696969",grb:"1e90ff",rbrc:"b22222",rwht:"af0",stg:"228b22",chs:"-ff",gnsb:"dcdcdc",st:"8f8ff",g:"d7-",gnr:"daa520",gr:"808080",grn:"-8-0",grnw:"adff2f",hnw:"0fff0",htpn:"69b4",nnr:"cd5c5c",ng:"4b-82",vr:"0",khk:"0e68c",vnr:"e6e6fa",nrb:"0f5",wngr:"7cfc-",mnch:"acd",Lb:"add8e6",Lcr:"08080",Lcn:"e0ffff",Lgnr:"afad2",Lgr:"d3d3d3",Lgrn:"90ee90",Lpnk:"b6c1",Lsmn:"a07a",Lsgr:"20b2aa",Lskb:"87cefa",LsTg:"778899",Lstb:"b0c4de",Lw:"e0",m:"-ff-",mgrn:"32cd32",nn:"af0e6",mgnt:"-ff",mrn:"8--0",mqm:"66cdaa",mmb:"--cd",mmrc:"ba55d3",mmpr:"9370db",msg:"3cb371",mmsT:"7b68ee","":"-fa9a",mtr:"48d1cc",mmvt:"c71585",mnLb:"191970",ntc:"5fffa",mstr:"e4e1",mccs:"e4b5",vjw:"dead",nv:"--80",c:"df5e6",v:"808-0",vrb:"6b8e23",rng:"a5-",rngr:"45-",rch:"da70d6",pgnr:"eee8aa",pgrn:"98fb98",ptrq:"afeeee",pvtr:"db7093",ppwh:"efd5",pchp:"dab9",pr:"cd853f",pnk:"c0cb",pm:"dda0dd",pwrb:"b0e0e6",prp:"8-080",cc:"663399",r:"--",sbr:"bc8f8f",rb:"4169e1",sbrw:"8b4513",smn:"a8072",nbr:"4a460",sgrn:"2e8b57",ssh:"5ee",snn:"a0522d",svr:"c0c0c0",skb:"87ceeb",sTb:"6a5acd",sTgr:"708090",snw:"afa",n:"-ff7f",stb:"4682b4",tn:"d2b48c",t:"-8080",thst:"d8bfd8",tmT:"6347",trqs:"40e0d0",vt:"ee82ee",whT:"5deb3",wht:"",hts:"5f5f5",w:"-",wgrn:"9acd32"};function i(e,t){t=1<arguments.length&&void 0!==t?t:1;return(0<t?e.toFixed(t).replace(/0+$/,"").replace(/\.$/,""):e.toString())||"0"}var o=(e(h,[{key:"printRGB",value:function(e){var t=(e?this.rgba:this.rgba.slice(0,3)).map(function(e,t){return i(e,3===t?3:0)});return e?"rgba("+t+")":"rgb("+t+")"}},{key:"printHSL",value:function(e){var r=[360,100,100,1],n=["","%","%",""],t=(e?this.hsla:this.hsla.slice(0,3)).map(function(e,t){return i(e*r[t],3===t?3:1)+n[t]});return e?"hsla("+t+")":"hsl("+t+")"}},{key:"printHex",value:function(e){var t=this.hex;return e?t:t.substring(0,7)}},{key:"rgba",get:function(){if(this._rgba)return this._rgba;if(!this._hsla)throw new Error("No color is set");return this._rgba=h.hslToRgb(this._hsla)},set:function(e){3===e.length&&(e[3]=1),this._rgba=e,this._hsla=null}},{key:"rgbString",get:function(){return this.printRGB()}},{key:"rgbaString",get:function(){return this.printRGB(!0)}},{key:"hsla",get:function(){if(this._hsla)return this._hsla;if(!this._rgba)throw new Error("No color is set");return this._hsla=h.rgbToHsl(this._rgba)},set:function(e){3===e.length&&(e[3]=1),this._hsla=e,this._rgba=null}},{key:"hslString",get:function(){return this.printHSL()}},{key:"hslaString",get:function(){return this.printHSL(!0)}},{key:"hex",get:function(){return"#"+this.rgba.map(function(e,t){return(t<3?e:Math.round(255*e)).toString(16)}).map(function(e){return e.padStart(2,"0")}).join("")},set:function(e){this.rgba=h.hexToRgb(e)}}],[{key:"hexToRgb",value:function(e){var t=(e.startsWith("#")?e.slice(1):e).replace(/^(\w{3})$/,"$1F").replace(/^(\w)(\w)(\w)(\w)$/,"$1$1$2$2$3$3$4$4").replace(/^(\w{6})$/,"$1FF");if(!t.match(/^([0-9a-fA-F]{8})$/))throw new Error("Unknown hex color; "+e);t=t.match(/^(\w\w)(\w\w)(\w\w)(\w\w)$/).slice(1).map(function(e){return parseInt(e,16)});return t[3]=t[3]/255,t}},{key:"nameToRgb",value:function(e){e=e.toLowerCase().replace("at","T").replace(/[aeiouyldf]/g,"").replace("ght","L").replace("rk","D").slice(-5,4),e=t[e];return void 0===e?e:h.hexToRgb(e.replace(/\-/g,"00").padStart(6,"f"))}},{key:"rgbToHsl",value:function(e){var t=d(e,4),r=t[0],n=t[1],i=t[2],o=t[3];r/=255,n/=255,i/=255;var a=Math.max(r,n,i),s=Math.min(r,n,i),p=void 0,e=void 0,t=(a+s)/2;if(a===s)p=e=0;else{var c=a-s,e=.5<t?c/(2-a-s):c/(a+s);switch(a){case r:p=(n-i)/c+(n<i?6:0);break;case n:p=(i-r)/c+2;break;case i:p=(r-n)/c+4}p/=6}return[p,e,t,o]}},{key:"hslToRgb",value:function(e){var t=d(e,4),r=t[0],n=t[1],i=t[2],o=t[3],a=void 0,s=void 0,e=void 0;0===n?a=s=e=i:(a=(t=function(e,t,r){return r<0&&(r+=1),1<r&&--r,r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e})(n=2*i-(i=i<.5?i*(1+n):i+n-i*n),i,r+1/3),s=t(n,i,r),e=t(n,i,r-1/3));e=[255*a,255*s,255*e].map(Math.round);return e[3]=o,e}}]),h);function h(e,t,r,n){u(this,h);var i,o,a,s,p,c,l=this;void 0===e||(Array.isArray(e)?this.rgba=e:void 0===r?(i=e&&""+e)&&((o=i.toLowerCase()).startsWith("hsl")?(a=o.match(/([\-\d\.e]+)/g).map(Number),p=(s=d(a,4))[0],c=s[1],a=s[2],s=s[3],l.hsla=[p/=360,c/=100,a/=100,s=void 0===s?1:s]):o.startsWith("rgb")?(p=o.match(/([\-\d\.e]+)/g).map(Number),a=(c=d(p,4))[0],s=c[1],p=c[2],c=c[3],l.rgba=[a,s,p,c=void 0===c?1:c]):o.startsWith("#")?l.rgba=h.hexToRgb(o):l.rgba=h.nameToRgb(o)||h.hexToRgb(o)):this.rgba=[e,t,r,void 0===n?1:n])}var r=(e(a,[{key:"add",value:function(e,t,r){e.addEventListener(t,r,!1),this._events.push({target:e,type:t,handler:r})}},{key:"remove",value:function(r,n,i){this._events=this._events.filter(function(e){var t=!0;return r&&r!==e.target&&(t=!1),n&&n!==e.type&&(t=!1),(t=i&&i!==e.handler?!1:t)&&a._doRemove(e.target,e.type,e.handler),!t})}},{key:"destroy",value:function(){this._events.forEach(function(e){return a._doRemove(e.target,e.type,e.handler)}),this._events=[]}}],[{key:"_doRemove",value:function(e,t,r){e.removeEventListener(t,r,!1)}}]),a);function a(){u(this,a),this._events=[]}function s(e,o,a){var s=!1;function p(e,t,r){return Math.max(t,Math.min(e,r))}function r(e,t,r){var n,i;(s=r?!0:s)&&(e.preventDefault(),n=(i=o.getBoundingClientRect()).width,r=i.height,e=t.clientX,t=t.clientY,e=p(e-i.left,0,n),i=p(t-i.top,0,r),a(e/n,i/r))}function t(e,t){1===(void 0===e.buttons?e.which:e.buttons)?r(e,e,t):s=!1}function n(e,t){1===e.touches.length?r(e,e.touches[0],t):s=!1}e.add(o,"mousedown",function(e){t(e,!0)}),e.add(o,"touchstart",function(e){n(e,!0)}),e.add(window,"mousemove",t),e.add(o,"touchmove",n),e.add(window,"mouseup",function(e){s=!1}),e.add(o,"touchend",function(e){s=!1}),e.add(o,"touchcancel",function(e){s=!1})}var p="keydown",c="mousedown",l="focusin";function f(e,t){return(t||document).querySelector(e)}function g(e){e.preventDefault(),e.stopPropagation()}function b(e,t,r,n,i){e.add(t,p,function(e){0<=r.indexOf(e.key)&&(i&&g(e),n(e))})}var _=(e(m,[{key:"setOptions",value:function(e){var t,r,n,i=this;e&&(t=this.settings,e instanceof HTMLElement?t.parent=e:(t.parent&&e.parent&&t.parent!==e.parent&&(this._events.remove(t.parent),this._popupInited=!1),function(e,t,r){for(var n in e)r&&0<=r.indexOf(n)||(t[n]=e[n])}(e,t),e.onChange&&(this.onChange=e.onChange),e.onDone&&(this.onDone=e.onDone),e.onOpen&&(this.onOpen=e.onOpen),e.onClose&&(this.onClose=e.onClose),(n=e.color||e.colour)&&this._setColor(n)),(r=t.parent)&&t.popup&&!this._popupInited?(this._events.add(r,"click",n=function(e){return i.openHandler(e)}),b(this._events,r,[" ","Spacebar","Enter"],n),this._popupInited=!0):e.parent&&!t.popup&&this.show())}},{key:"openHandler",value:function(e){var t;this.show()&&(e&&e.preventDefault(),this.settings.parent.style.pointerEvents="none",t=e&&e.type===p?this._domEdit:this.domElement,setTimeout(function(){return t.focus()},100),this.onOpen&&this.onOpen(this.colour))}},{key:"closeHandler",value:function(e){var t,r=e&&e.type,n=!1;e?r===c||r===l?(t=(this.__containedEvent||0)+100,e.timeStamp>t&&(n=!0)):(g(e),n=!0):n=!0,n&&this.hide()&&(this.settings.parent.style.pointerEvents="",r!==c&&this.settings.parent.focus(),this.onClose&&this.onClose(this.colour))}},{key:"movePopup",value:function(e,t){this.closeHandler(),this.setOptions(e),t&&this.openHandler()}},{key:"setColor",value:function(e,t){this._setColor(e,{silent:t})}},{key:"_setColor",value:function(e,t){if(e="string"==typeof e?e.trim():e){t=t||{};var r=void 0;try{r=new o(e)}catch(e){if(t.failSilently)return;throw e}this.settings.alpha||((e=r.hsla)[3]=1,r.hsla=e),this.colour=this.color=r,this._setHSLA(null,null,null,null,t)}}},{key:"setColour",value:function(e,t){this.setColor(e,t)}},{key:"show",value:function(){if(!this.settings.parent)return!1;if(this.domElement){var e=this._toggleDOM(!0);return this._setPosition(),e}var t=this.settings.template||'<div class="picker_wrapper" tabindex="-1"><div class="picker_arrow"></div><div class="picker_hue picker_slider"><div class="picker_selector"></div></div><div class="picker_sl"><div class="picker_selector"></div></div><div class="picker_alpha picker_slider"><div class="picker_selector"></div></div><div class="picker_editor"><input aria-label="Type a color name or hex value"/></div><div class="picker_sample"></div><div class="picker_done"><button>Ok</button></div><div class="picker_cancel"><button>Cancel</button></div></div>',r=(e=t,(t=document.createElement("div")).innerHTML=e,t.firstElementChild);return this.domElement=r,this._domH=f(".picker_hue",r),this._domSL=f(".picker_sl",r),this._domA=f(".picker_alpha",r),this._domEdit=f(".picker_editor input",r),this._domSample=f(".picker_sample",r),this._domOkay=f(".picker_done button",r),this._domCancel=f(".picker_cancel button",r),r.classList.add("layout_"+this.settings.layout),this.settings.alpha||r.classList.add("no_alpha"),this.settings.editor||r.classList.add("no_editor"),this.settings.cancelButton||r.classList.add("no_cancel"),this._ifPopup(function(){return r.classList.add("popup")}),this._setPosition(),this.colour?this._updateUI():this._setColor(this.settings.defaultColor),this._bindEvents(),!0}},{key:"hide",value:function(){return this._toggleDOM(!1)}},{key:"destroy",value:function(){this._events.destroy(),this.domElement&&this.settings.parent.removeChild(this.domElement)}},{key:"_bindEvents",value:function(){var r=this,n=this,i=this.domElement,o=this._events;function a(e,t,r){o.add(e,t,r)}a(i,"click",function(e){return e.preventDefault()}),s(o,this._domH,function(e,t){return n._setHSLA(e)}),s(o,this._domSL,function(e,t){return n._setHSLA(null,e,1-t)}),this.settings.alpha&&s(o,this._domA,function(e,t){return n._setHSLA(null,null,null,1-t)});var e=this._domEdit;a(e,"input",function(e){n._setColor(this.value,{fromEditor:!0,failSilently:!0})}),a(e,"focus",function(e){this.selectionStart===this.selectionEnd&&this.select()}),this._ifPopup(function(){function e(e){return r.closeHandler(e)}a(window,c,e),a(window,l,e),b(o,i,["Esc","Escape"],e);function t(e){r.__containedEvent=e.timeStamp}a(i,c,t),a(i,l,t),a(r._domCancel,"click",e)});e=function(e){r._ifPopup(function(){return r.closeHandler(e)}),r.onDone&&r.onDone(r.colour)};a(this._domOkay,"click",e),b(o,i,["Enter"],e)}},{key:"_setPosition",value:function(){var r=this.settings.parent,n=this.domElement;r!==n.parentNode&&r.appendChild(n),this._ifPopup(function(e){"static"===getComputedStyle(r).position&&(r.style.position="relative");var t=!0===e?"popup_right":"popup_"+e;["popup_top","popup_bottom","popup_left","popup_right"].forEach(function(e){e===t?n.classList.add(e):n.classList.remove(e)}),n.classList.add(t)})}},{key:"_setHSLA",value:function(e,t,r,n,i){i=i||{};var o=this.colour,a=o.hsla;[e,t,r,n].forEach(function(e,t){!e&&0!==e||(a[t]=e)}),o.hsla=a,this._updateUI(i),this.onChange&&!i.silent&&this.onChange(o)}},{key:"_updateUI",value:function(e){if(this.domElement){e=e||{};var t=this.colour,r=t.hsla,n="hsl("+360*r[0]+", 100%, 50%)",i=t.hslString,o=t.hslaString,a=this._domH,s=this._domSL,p=this._domA,c=f(".picker_selector",a),a=f(".picker_selector",s),p=f(".picker_selector",p);d(0,c,r[0]),this._domSL.style.backgroundColor=this._domH.style.color=n,d(0,a,r[1]),h(0,a,1-r[2]),s.style.color=i,h(0,p,1-r[3]);r=i,i=r.replace("hsl","hsla").replace(")",", 0)");if(this._domA.style.background="linear-gradient("+[r,i]+")"+", linear-gradient(45deg, lightgrey 25%, transparent 25%, transparent 75%, lightgrey 75%) 0 0 / 2em 2em,\n linear-gradient(45deg, lightgrey 25%, white 25%, white 75%, lightgrey 75%) 1em 1em / 2em 2em",!e.fromEditor){var e=this.settings.editorFormat,l=this.settings.alpha,u=void 0;switch(e){case"rgb":u=t.printRGB(l);break;case"hsl":u=t.printHSL(l);break;default:u=t.printHex(l)}this._domEdit.value=u}this._domSample.style.color=o}function d(e,t,r){t.style.left=100*r+"%"}function h(e,t,r){t.style.top=100*r+"%"}}},{key:"_ifPopup",value:function(e,t){this.settings.parent&&this.settings.popup?e&&e(this.settings.popup):t&&t()}},{key:"_toggleDOM",value:function(e){var t=this.domElement;if(!t)return!1;var r=e?"":"none",e=t.style.display!==r;return e&&(t.style.display=r),e}}]),m);function m(e){u(this,m),this.settings={popup:"right",layout:"default",alpha:!0,editor:!0,editorFormat:"hex",cancelButton:!1,defaultColor:"#0cf"},this._events=new r,this.onChange=null,this.onDone=null,this.onOpen=null,this.onClose=null,this.setOptions(e)}e=document.createElement("style");return e.textContent='.picker_wrapper.no_alpha .picker_alpha{display:none}.picker_wrapper.no_editor .picker_editor{position:absolute;z-index:-1;opacity:0}.picker_wrapper.no_cancel .picker_cancel{display:none}.layout_default.picker_wrapper{display:flex;flex-flow:row wrap;justify-content:space-between;align-items:stretch;font-size:10px;width:25em;padding:.5em}.layout_default.picker_wrapper input,.layout_default.picker_wrapper button{font-size:1rem}.layout_default.picker_wrapper>*{margin:.5em}.layout_default.picker_wrapper::before{content:"";display:block;width:100%;height:0;order:1}.layout_default .picker_slider,.layout_default .picker_selector{padding:1em}.layout_default .picker_hue{width:100%}.layout_default .picker_sl{flex:1 1 auto}.layout_default .picker_sl::before{content:"";display:block;padding-bottom:100%}.layout_default .picker_editor{order:1;width:6.5rem}.layout_default .picker_editor input{width:100%;height:100%}.layout_default .picker_sample{order:1;flex:1 1 auto}.layout_default .picker_done,.layout_default .picker_cancel{order:1}.picker_wrapper{box-sizing:border-box;background:#f2f2f2;box-shadow:0 0 0 1px silver;cursor:default;font-family:sans-serif;color:#444;pointer-events:auto}.picker_wrapper:focus{outline:none}.picker_wrapper button,.picker_wrapper input{box-sizing:border-box;border:none;box-shadow:0 0 0 1px silver;outline:none}.picker_wrapper button:focus,.picker_wrapper button:active,.picker_wrapper input:focus,.picker_wrapper input:active{box-shadow:0 0 2px 1px #1e90ff}.picker_wrapper button{padding:.4em .6em;cursor:pointer;background-color:#f5f5f5;background-image:linear-gradient(0deg, gainsboro, transparent)}.picker_wrapper button:active{background-image:linear-gradient(0deg, transparent, gainsboro)}.picker_wrapper button:hover{background-color:#fff}.picker_selector{position:absolute;z-index:1;display:block;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);border:2px solid #fff;border-radius:100%;box-shadow:0 0 3px 1px #67b9ff;background:currentColor;cursor:pointer}.picker_slider .picker_selector{border-radius:2px}.picker_hue{position:relative;background-image:linear-gradient(90deg, red, yellow, lime, cyan, blue, magenta, red);box-shadow:0 0 0 1px silver}.picker_sl{position:relative;box-shadow:0 0 0 1px silver;background-image:linear-gradient(180deg, white, rgba(255, 255, 255, 0) 50%),linear-gradient(0deg, black, rgba(0, 0, 0, 0) 50%),linear-gradient(90deg, #808080, rgba(128, 128, 128, 0))}.picker_alpha,.picker_sample{position:relative;background:linear-gradient(45deg, lightgrey 25%, transparent 25%, transparent 75%, lightgrey 75%) 0 0/2em 2em,linear-gradient(45deg, lightgrey 25%, white 25%, white 75%, lightgrey 75%) 1em 1em/2em 2em;box-shadow:0 0 0 1px silver}.picker_alpha .picker_selector,.picker_sample .picker_selector{background:none}.picker_editor input{font-family:monospace;padding:.2em .4em}.picker_sample::before{content:"";position:absolute;display:block;width:100%;height:100%;background:currentColor}.picker_arrow{position:absolute;z-index:-1}.picker_wrapper.popup{position:absolute;z-index:2;margin:1.5em}.picker_wrapper.popup,.picker_wrapper.popup .picker_arrow::before,.picker_wrapper.popup .picker_arrow::after{background:#f2f2f2;box-shadow:0 0 10px 1px rgba(0,0,0,.4)}.picker_wrapper.popup .picker_arrow{width:3em;height:3em;margin:0}.picker_wrapper.popup .picker_arrow::before,.picker_wrapper.popup .picker_arrow::after{content:"";display:block;position:absolute;top:0;left:0;z-index:-99}.picker_wrapper.popup .picker_arrow::before{width:100%;height:100%;-webkit-transform:skew(45deg);transform:skew(45deg);-webkit-transform-origin:0 100%;transform-origin:0 100%}.picker_wrapper.popup .picker_arrow::after{width:150%;height:150%;box-shadow:none}.popup.popup_top{bottom:100%;left:0}.popup.popup_top .picker_arrow{bottom:0;left:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.popup.popup_bottom{top:100%;left:0}.popup.popup_bottom .picker_arrow{top:0;left:0;-webkit-transform:rotate(90deg) scale(1, -1);transform:rotate(90deg) scale(1, -1)}.popup.popup_left{top:0;right:100%}.popup.popup_left .picker_arrow{top:0;right:0;-webkit-transform:scale(-1, 1);transform:scale(-1, 1)}.popup.popup_right{top:0;left:100%}.popup.popup_right .picker_arrow{top:0;left:0}',document.documentElement.firstElementChild.appendChild(e),_.StyleElement=e,_});
|
app/extensions/fields/asset/vanilla-picker-master/dist/vanilla-picker.mjs
ADDED
@@ -0,0 +1,1001 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* vanilla-picker v2.12.1
|
3 |
+
* https://vanilla-picker.js.org
|
4 |
+
*
|
5 |
+
* Copyright 2017-2021 Andreas Borgen (https://github.com/Sphinxxxx), Adam Brooks (https://github.com/dissimulate)
|
6 |
+
* Released under the ISC license.
|
7 |
+
*/
|
8 |
+
var classCallCheck = function (instance, Constructor) {
|
9 |
+
if (!(instance instanceof Constructor)) {
|
10 |
+
throw new TypeError("Cannot call a class as a function");
|
11 |
+
}
|
12 |
+
};
|
13 |
+
|
14 |
+
var createClass = function () {
|
15 |
+
function defineProperties(target, props) {
|
16 |
+
for (var i = 0; i < props.length; i++) {
|
17 |
+
var descriptor = props[i];
|
18 |
+
descriptor.enumerable = descriptor.enumerable || false;
|
19 |
+
descriptor.configurable = true;
|
20 |
+
if ("value" in descriptor) descriptor.writable = true;
|
21 |
+
Object.defineProperty(target, descriptor.key, descriptor);
|
22 |
+
}
|
23 |
+
}
|
24 |
+
|
25 |
+
return function (Constructor, protoProps, staticProps) {
|
26 |
+
if (protoProps) defineProperties(Constructor.prototype, protoProps);
|
27 |
+
if (staticProps) defineProperties(Constructor, staticProps);
|
28 |
+
return Constructor;
|
29 |
+
};
|
30 |
+
}();
|
31 |
+
|
32 |
+
var slicedToArray = function () {
|
33 |
+
function sliceIterator(arr, i) {
|
34 |
+
var _arr = [];
|
35 |
+
var _n = true;
|
36 |
+
var _d = false;
|
37 |
+
var _e = undefined;
|
38 |
+
|
39 |
+
try {
|
40 |
+
for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
|
41 |
+
_arr.push(_s.value);
|
42 |
+
|
43 |
+
if (i && _arr.length === i) break;
|
44 |
+
}
|
45 |
+
} catch (err) {
|
46 |
+
_d = true;
|
47 |
+
_e = err;
|
48 |
+
} finally {
|
49 |
+
try {
|
50 |
+
if (!_n && _i["return"]) _i["return"]();
|
51 |
+
} finally {
|
52 |
+
if (_d) throw _e;
|
53 |
+
}
|
54 |
+
}
|
55 |
+
|
56 |
+
return _arr;
|
57 |
+
}
|
58 |
+
|
59 |
+
return function (arr, i) {
|
60 |
+
if (Array.isArray(arr)) {
|
61 |
+
return arr;
|
62 |
+
} else if (Symbol.iterator in Object(arr)) {
|
63 |
+
return sliceIterator(arr, i);
|
64 |
+
} else {
|
65 |
+
throw new TypeError("Invalid attempt to destructure non-iterable instance");
|
66 |
+
}
|
67 |
+
};
|
68 |
+
}();
|
69 |
+
|
70 |
+
String.prototype.startsWith = String.prototype.startsWith || function (needle) {
|
71 |
+
return this.indexOf(needle) === 0;
|
72 |
+
};
|
73 |
+
String.prototype.padStart = String.prototype.padStart || function (len, pad) {
|
74 |
+
var str = this;while (str.length < len) {
|
75 |
+
str = pad + str;
|
76 |
+
}return str;
|
77 |
+
};
|
78 |
+
|
79 |
+
var colorNames = { cb: '0f8ff', tqw: 'aebd7', q: '-ffff', qmrn: '7fffd4', zr: '0ffff', bg: '5f5dc', bsq: 'e4c4', bck: '---', nch: 'ebcd', b: '--ff', bvt: '8a2be2', brwn: 'a52a2a', brw: 'deb887', ctb: '5f9ea0', hrt: '7fff-', chcT: 'd2691e', cr: '7f50', rnw: '6495ed', crns: '8dc', crms: 'dc143c', cn: '-ffff', Db: '--8b', Dcn: '-8b8b', Dgnr: 'b8860b', Dgr: 'a9a9a9', Dgrn: '-64-', Dkhk: 'bdb76b', Dmgn: '8b-8b', Dvgr: '556b2f', Drng: '8c-', Drch: '9932cc', Dr: '8b--', Dsmn: 'e9967a', Dsgr: '8fbc8f', DsTb: '483d8b', DsTg: '2f4f4f', Dtrq: '-ced1', Dvt: '94-d3', ppnk: '1493', pskb: '-bfff', mgr: '696969', grb: '1e90ff', rbrc: 'b22222', rwht: 'af0', stg: '228b22', chs: '-ff', gnsb: 'dcdcdc', st: '8f8ff', g: 'd7-', gnr: 'daa520', gr: '808080', grn: '-8-0', grnw: 'adff2f', hnw: '0fff0', htpn: '69b4', nnr: 'cd5c5c', ng: '4b-82', vr: '0', khk: '0e68c', vnr: 'e6e6fa', nrb: '0f5', wngr: '7cfc-', mnch: 'acd', Lb: 'add8e6', Lcr: '08080', Lcn: 'e0ffff', Lgnr: 'afad2', Lgr: 'd3d3d3', Lgrn: '90ee90', Lpnk: 'b6c1', Lsmn: 'a07a', Lsgr: '20b2aa', Lskb: '87cefa', LsTg: '778899', Lstb: 'b0c4de', Lw: 'e0', m: '-ff-', mgrn: '32cd32', nn: 'af0e6', mgnt: '-ff', mrn: '8--0', mqm: '66cdaa', mmb: '--cd', mmrc: 'ba55d3', mmpr: '9370db', msg: '3cb371', mmsT: '7b68ee', '': '-fa9a', mtr: '48d1cc', mmvt: 'c71585', mnLb: '191970', ntc: '5fffa', mstr: 'e4e1', mccs: 'e4b5', vjw: 'dead', nv: '--80', c: 'df5e6', v: '808-0', vrb: '6b8e23', rng: 'a5-', rngr: '45-', rch: 'da70d6', pgnr: 'eee8aa', pgrn: '98fb98', ptrq: 'afeeee', pvtr: 'db7093', ppwh: 'efd5', pchp: 'dab9', pr: 'cd853f', pnk: 'c0cb', pm: 'dda0dd', pwrb: 'b0e0e6', prp: '8-080', cc: '663399', r: '--', sbr: 'bc8f8f', rb: '4169e1', sbrw: '8b4513', smn: 'a8072', nbr: '4a460', sgrn: '2e8b57', ssh: '5ee', snn: 'a0522d', svr: 'c0c0c0', skb: '87ceeb', sTb: '6a5acd', sTgr: '708090', snw: 'afa', n: '-ff7f', stb: '4682b4', tn: 'd2b48c', t: '-8080', thst: 'd8bfd8', tmT: '6347', trqs: '40e0d0', vt: 'ee82ee', whT: '5deb3', wht: '', hts: '5f5f5', w: '-', wgrn: '9acd32' };
|
80 |
+
|
81 |
+
function printNum(num) {
|
82 |
+
var decs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
83 |
+
|
84 |
+
var str = decs > 0 ? num.toFixed(decs).replace(/0+$/, '').replace(/\.$/, '') : num.toString();
|
85 |
+
return str || '0';
|
86 |
+
}
|
87 |
+
|
88 |
+
var Color = function () {
|
89 |
+
function Color(r, g, b, a) {
|
90 |
+
classCallCheck(this, Color);
|
91 |
+
|
92 |
+
|
93 |
+
var that = this;
|
94 |
+
function parseString(input) {
|
95 |
+
|
96 |
+
if (input.startsWith('hsl')) {
|
97 |
+
var _input$match$map = input.match(/([\-\d\.e]+)/g).map(Number),
|
98 |
+
_input$match$map2 = slicedToArray(_input$match$map, 4),
|
99 |
+
h = _input$match$map2[0],
|
100 |
+
s = _input$match$map2[1],
|
101 |
+
l = _input$match$map2[2],
|
102 |
+
_a = _input$match$map2[3];
|
103 |
+
|
104 |
+
if (_a === undefined) {
|
105 |
+
_a = 1;
|
106 |
+
}
|
107 |
+
|
108 |
+
h /= 360;
|
109 |
+
s /= 100;
|
110 |
+
l /= 100;
|
111 |
+
that.hsla = [h, s, l, _a];
|
112 |
+
} else if (input.startsWith('rgb')) {
|
113 |
+
var _input$match$map3 = input.match(/([\-\d\.e]+)/g).map(Number),
|
114 |
+
_input$match$map4 = slicedToArray(_input$match$map3, 4),
|
115 |
+
_r = _input$match$map4[0],
|
116 |
+
_g = _input$match$map4[1],
|
117 |
+
_b = _input$match$map4[2],
|
118 |
+
_a2 = _input$match$map4[3];
|
119 |
+
|
120 |
+
if (_a2 === undefined) {
|
121 |
+
_a2 = 1;
|
122 |
+
}
|
123 |
+
|
124 |
+
that.rgba = [_r, _g, _b, _a2];
|
125 |
+
} else {
|
126 |
+
if (input.startsWith('#')) {
|
127 |
+
that.rgba = Color.hexToRgb(input);
|
128 |
+
} else {
|
129 |
+
that.rgba = Color.nameToRgb(input) || Color.hexToRgb(input);
|
130 |
+
}
|
131 |
+
}
|
132 |
+
}
|
133 |
+
|
134 |
+
if (r === undefined) ; else if (Array.isArray(r)) {
|
135 |
+
this.rgba = r;
|
136 |
+
} else if (b === undefined) {
|
137 |
+
var color = r && '' + r;
|
138 |
+
if (color) {
|
139 |
+
parseString(color.toLowerCase());
|
140 |
+
}
|
141 |
+
} else {
|
142 |
+
this.rgba = [r, g, b, a === undefined ? 1 : a];
|
143 |
+
}
|
144 |
+
}
|
145 |
+
|
146 |
+
createClass(Color, [{
|
147 |
+
key: 'printRGB',
|
148 |
+
value: function printRGB(alpha) {
|
149 |
+
var rgb = alpha ? this.rgba : this.rgba.slice(0, 3),
|
150 |
+
vals = rgb.map(function (x, i) {
|
151 |
+
return printNum(x, i === 3 ? 3 : 0);
|
152 |
+
});
|
153 |
+
|
154 |
+
return alpha ? 'rgba(' + vals + ')' : 'rgb(' + vals + ')';
|
155 |
+
}
|
156 |
+
}, {
|
157 |
+
key: 'printHSL',
|
158 |
+
value: function printHSL(alpha) {
|
159 |
+
var mults = [360, 100, 100, 1],
|
160 |
+
suff = ['', '%', '%', ''];
|
161 |
+
|
162 |
+
var hsl = alpha ? this.hsla : this.hsla.slice(0, 3),
|
163 |
+
vals = hsl.map(function (x, i) {
|
164 |
+
return printNum(x * mults[i], i === 3 ? 3 : 1) + suff[i];
|
165 |
+
});
|
166 |
+
|
167 |
+
return alpha ? 'hsla(' + vals + ')' : 'hsl(' + vals + ')';
|
168 |
+
}
|
169 |
+
}, {
|
170 |
+
key: 'printHex',
|
171 |
+
value: function printHex(alpha) {
|
172 |
+
var hex = this.hex;
|
173 |
+
return alpha ? hex : hex.substring(0, 7);
|
174 |
+
}
|
175 |
+
}, {
|
176 |
+
key: 'rgba',
|
177 |
+
get: function get() {
|
178 |
+
if (this._rgba) {
|
179 |
+
return this._rgba;
|
180 |
+
}
|
181 |
+
if (!this._hsla) {
|
182 |
+
throw new Error('No color is set');
|
183 |
+
}
|
184 |
+
|
185 |
+
return this._rgba = Color.hslToRgb(this._hsla);
|
186 |
+
},
|
187 |
+
set: function set(rgb) {
|
188 |
+
if (rgb.length === 3) {
|
189 |
+
rgb[3] = 1;
|
190 |
+
}
|
191 |
+
|
192 |
+
this._rgba = rgb;
|
193 |
+
this._hsla = null;
|
194 |
+
}
|
195 |
+
}, {
|
196 |
+
key: 'rgbString',
|
197 |
+
get: function get() {
|
198 |
+
return this.printRGB();
|
199 |
+
}
|
200 |
+
}, {
|
201 |
+
key: 'rgbaString',
|
202 |
+
get: function get() {
|
203 |
+
return this.printRGB(true);
|
204 |
+
}
|
205 |
+
}, {
|
206 |
+
key: 'hsla',
|
207 |
+
get: function get() {
|
208 |
+
if (this._hsla) {
|
209 |
+
return this._hsla;
|
210 |
+
}
|
211 |
+
if (!this._rgba) {
|
212 |
+
throw new Error('No color is set');
|
213 |
+
}
|
214 |
+
|
215 |
+
return this._hsla = Color.rgbToHsl(this._rgba);
|
216 |
+
},
|
217 |
+
set: function set(hsl) {
|
218 |
+
if (hsl.length === 3) {
|
219 |
+
hsl[3] = 1;
|
220 |
+
}
|
221 |
+
|
222 |
+
this._hsla = hsl;
|
223 |
+
this._rgba = null;
|
224 |
+
}
|
225 |
+
}, {
|
226 |
+
key: 'hslString',
|
227 |
+
get: function get() {
|
228 |
+
return this.printHSL();
|
229 |
+
}
|
230 |
+
}, {
|
231 |
+
key: 'hslaString',
|
232 |
+
get: function get() {
|
233 |
+
return this.printHSL(true);
|
234 |
+
}
|
235 |
+
}, {
|
236 |
+
key: 'hex',
|
237 |
+
get: function get() {
|
238 |
+
var rgb = this.rgba,
|
239 |
+
hex = rgb.map(function (x, i) {
|
240 |
+
return i < 3 ? x.toString(16) : Math.round(x * 255).toString(16);
|
241 |
+
});
|
242 |
+
|
243 |
+
return '#' + hex.map(function (x) {
|
244 |
+
return x.padStart(2, '0');
|
245 |
+
}).join('');
|
246 |
+
},
|
247 |
+
set: function set(hex) {
|
248 |
+
this.rgba = Color.hexToRgb(hex);
|
249 |
+
}
|
250 |
+
}], [{
|
251 |
+
key: 'hexToRgb',
|
252 |
+
value: function hexToRgb(input) {
|
253 |
+
|
254 |
+
var hex = (input.startsWith('#') ? input.slice(1) : input).replace(/^(\w{3})$/, '$1F').replace(/^(\w)(\w)(\w)(\w)$/, '$1$1$2$2$3$3$4$4').replace(/^(\w{6})$/, '$1FF');
|
255 |
+
|
256 |
+
if (!hex.match(/^([0-9a-fA-F]{8})$/)) {
|
257 |
+
throw new Error('Unknown hex color; ' + input);
|
258 |
+
}
|
259 |
+
|
260 |
+
var rgba = hex.match(/^(\w\w)(\w\w)(\w\w)(\w\w)$/).slice(1).map(function (x) {
|
261 |
+
return parseInt(x, 16);
|
262 |
+
});
|
263 |
+
|
264 |
+
rgba[3] = rgba[3] / 255;
|
265 |
+
return rgba;
|
266 |
+
}
|
267 |
+
}, {
|
268 |
+
key: 'nameToRgb',
|
269 |
+
value: function nameToRgb(input) {
|
270 |
+
|
271 |
+
var hash = input.toLowerCase().replace('at', 'T').replace(/[aeiouyldf]/g, '').replace('ght', 'L').replace('rk', 'D').slice(-5, 4),
|
272 |
+
hex = colorNames[hash];
|
273 |
+
return hex === undefined ? hex : Color.hexToRgb(hex.replace(/\-/g, '00').padStart(6, 'f'));
|
274 |
+
}
|
275 |
+
}, {
|
276 |
+
key: 'rgbToHsl',
|
277 |
+
value: function rgbToHsl(_ref) {
|
278 |
+
var _ref2 = slicedToArray(_ref, 4),
|
279 |
+
r = _ref2[0],
|
280 |
+
g = _ref2[1],
|
281 |
+
b = _ref2[2],
|
282 |
+
a = _ref2[3];
|
283 |
+
|
284 |
+
r /= 255;
|
285 |
+
g /= 255;
|
286 |
+
b /= 255;
|
287 |
+
|
288 |
+
var max = Math.max(r, g, b),
|
289 |
+
min = Math.min(r, g, b);
|
290 |
+
var h = void 0,
|
291 |
+
s = void 0,
|
292 |
+
l = (max + min) / 2;
|
293 |
+
|
294 |
+
if (max === min) {
|
295 |
+
h = s = 0;
|
296 |
+
} else {
|
297 |
+
var d = max - min;
|
298 |
+
s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
|
299 |
+
switch (max) {
|
300 |
+
case r:
|
301 |
+
h = (g - b) / d + (g < b ? 6 : 0);break;
|
302 |
+
case g:
|
303 |
+
h = (b - r) / d + 2;break;
|
304 |
+
case b:
|
305 |
+
h = (r - g) / d + 4;break;
|
306 |
+
}
|
307 |
+
|
308 |
+
h /= 6;
|
309 |
+
}
|
310 |
+
|
311 |
+
return [h, s, l, a];
|
312 |
+
}
|
313 |
+
}, {
|
314 |
+
key: 'hslToRgb',
|
315 |
+
value: function hslToRgb(_ref3) {
|
316 |
+
var _ref4 = slicedToArray(_ref3, 4),
|
317 |
+
h = _ref4[0],
|
318 |
+
s = _ref4[1],
|
319 |
+
l = _ref4[2],
|
320 |
+
a = _ref4[3];
|
321 |
+
|
322 |
+
var r = void 0,
|
323 |
+
g = void 0,
|
324 |
+
b = void 0;
|
325 |
+
|
326 |
+
if (s === 0) {
|
327 |
+
r = g = b = l;
|
328 |
+
} else {
|
329 |
+
var hue2rgb = function hue2rgb(p, q, t) {
|
330 |
+
if (t < 0) t += 1;
|
331 |
+
if (t > 1) t -= 1;
|
332 |
+
if (t < 1 / 6) return p + (q - p) * 6 * t;
|
333 |
+
if (t < 1 / 2) return q;
|
334 |
+
if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
|
335 |
+
return p;
|
336 |
+
};
|
337 |
+
|
338 |
+
var q = l < 0.5 ? l * (1 + s) : l + s - l * s,
|
339 |
+
p = 2 * l - q;
|
340 |
+
|
341 |
+
r = hue2rgb(p, q, h + 1 / 3);
|
342 |
+
g = hue2rgb(p, q, h);
|
343 |
+
b = hue2rgb(p, q, h - 1 / 3);
|
344 |
+
}
|
345 |
+
|
346 |
+
var rgba = [r * 255, g * 255, b * 255].map(Math.round);
|
347 |
+
rgba[3] = a;
|
348 |
+
|
349 |
+
return rgba;
|
350 |
+
}
|
351 |
+
}]);
|
352 |
+
return Color;
|
353 |
+
}();
|
354 |
+
|
355 |
+
var EventBucket = function () {
|
356 |
+
function EventBucket() {
|
357 |
+
classCallCheck(this, EventBucket);
|
358 |
+
|
359 |
+
this._events = [];
|
360 |
+
}
|
361 |
+
|
362 |
+
createClass(EventBucket, [{
|
363 |
+
key: 'add',
|
364 |
+
value: function add(target, type, handler) {
|
365 |
+
target.addEventListener(type, handler, false);
|
366 |
+
this._events.push({
|
367 |
+
target: target,
|
368 |
+
type: type,
|
369 |
+
handler: handler
|
370 |
+
});
|
371 |
+
}
|
372 |
+
}, {
|
373 |
+
key: 'remove',
|
374 |
+
value: function remove(target, type, handler) {
|
375 |
+
this._events = this._events.filter(function (e) {
|
376 |
+
var isMatch = true;
|
377 |
+
if (target && target !== e.target) {
|
378 |
+
isMatch = false;
|
379 |
+
}
|
380 |
+
if (type && type !== e.type) {
|
381 |
+
isMatch = false;
|
382 |
+
}
|
383 |
+
if (handler && handler !== e.handler) {
|
384 |
+
isMatch = false;
|
385 |
+
}
|
386 |
+
|
387 |
+
if (isMatch) {
|
388 |
+
EventBucket._doRemove(e.target, e.type, e.handler);
|
389 |
+
}
|
390 |
+
return !isMatch;
|
391 |
+
});
|
392 |
+
}
|
393 |
+
}, {
|
394 |
+
key: 'destroy',
|
395 |
+
value: function destroy() {
|
396 |
+
this._events.forEach(function (e) {
|
397 |
+
return EventBucket._doRemove(e.target, e.type, e.handler);
|
398 |
+
});
|
399 |
+
this._events = [];
|
400 |
+
}
|
401 |
+
}], [{
|
402 |
+
key: '_doRemove',
|
403 |
+
value: function _doRemove(target, type, handler) {
|
404 |
+
target.removeEventListener(type, handler, false);
|
405 |
+
}
|
406 |
+
}]);
|
407 |
+
return EventBucket;
|
408 |
+
}();
|
409 |
+
|
410 |
+
function parseHTML(htmlString) {
|
411 |
+
|
412 |
+
var div = document.createElement('div');
|
413 |
+
div.innerHTML = htmlString;
|
414 |
+
return div.firstElementChild;
|
415 |
+
}
|
416 |
+
|
417 |
+
function dragTrack(eventBucket, area, callback) {
|
418 |
+
var dragging = false;
|
419 |
+
|
420 |
+
function clamp(val, min, max) {
|
421 |
+
return Math.max(min, Math.min(val, max));
|
422 |
+
}
|
423 |
+
|
424 |
+
function onMove(e, info, starting) {
|
425 |
+
if (starting) {
|
426 |
+
dragging = true;
|
427 |
+
}
|
428 |
+
if (!dragging) {
|
429 |
+
return;
|
430 |
+
}
|
431 |
+
|
432 |
+
e.preventDefault();
|
433 |
+
|
434 |
+
var bounds = area.getBoundingClientRect(),
|
435 |
+
w = bounds.width,
|
436 |
+
h = bounds.height,
|
437 |
+
x = info.clientX,
|
438 |
+
y = info.clientY;
|
439 |
+
|
440 |
+
var relX = clamp(x - bounds.left, 0, w),
|
441 |
+
relY = clamp(y - bounds.top, 0, h);
|
442 |
+
|
443 |
+
callback(relX / w, relY / h);
|
444 |
+
}
|
445 |
+
|
446 |
+
function onMouse(e, starting) {
|
447 |
+
var button = e.buttons === undefined ? e.which : e.buttons;
|
448 |
+
if (button === 1) {
|
449 |
+
onMove(e, e, starting);
|
450 |
+
} else {
|
451 |
+
dragging = false;
|
452 |
+
}
|
453 |
+
}
|
454 |
+
|
455 |
+
function onTouch(e, starting) {
|
456 |
+
if (e.touches.length === 1) {
|
457 |
+
onMove(e, e.touches[0], starting);
|
458 |
+
} else {
|
459 |
+
dragging = false;
|
460 |
+
}
|
461 |
+
}
|
462 |
+
|
463 |
+
eventBucket.add(area, 'mousedown', function (e) {
|
464 |
+
onMouse(e, true);
|
465 |
+
});
|
466 |
+
eventBucket.add(area, 'touchstart', function (e) {
|
467 |
+
onTouch(e, true);
|
468 |
+
});
|
469 |
+
eventBucket.add(window, 'mousemove', onMouse);
|
470 |
+
eventBucket.add(area, 'touchmove', onTouch);
|
471 |
+
eventBucket.add(window, 'mouseup', function (e) {
|
472 |
+
dragging = false;
|
473 |
+
});
|
474 |
+
eventBucket.add(area, 'touchend', function (e) {
|
475 |
+
dragging = false;
|
476 |
+
});
|
477 |
+
eventBucket.add(area, 'touchcancel', function (e) {
|
478 |
+
dragging = false;
|
479 |
+
});
|
480 |
+
}
|
481 |
+
|
482 |
+
var BG_TRANSP = 'linear-gradient(45deg, lightgrey 25%, transparent 25%, transparent 75%, lightgrey 75%) 0 0 / 2em 2em,\n linear-gradient(45deg, lightgrey 25%, white 25%, white 75%, lightgrey 75%) 1em 1em / 2em 2em';
|
483 |
+
var HUES = 360;
|
484 |
+
|
485 |
+
var EVENT_KEY = 'keydown',
|
486 |
+
EVENT_CLICK_OUTSIDE = 'mousedown',
|
487 |
+
EVENT_TAB_MOVE = 'focusin';
|
488 |
+
|
489 |
+
function $(selector, context) {
|
490 |
+
return (context || document).querySelector(selector);
|
491 |
+
}
|
492 |
+
|
493 |
+
function stopEvent(e) {
|
494 |
+
|
495 |
+
e.preventDefault();
|
496 |
+
e.stopPropagation();
|
497 |
+
}
|
498 |
+
function onKey(bucket, target, keys, handler, stop) {
|
499 |
+
bucket.add(target, EVENT_KEY, function (e) {
|
500 |
+
if (keys.indexOf(e.key) >= 0) {
|
501 |
+
if (stop) {
|
502 |
+
stopEvent(e);
|
503 |
+
}
|
504 |
+
handler(e);
|
505 |
+
}
|
506 |
+
});
|
507 |
+
}
|
508 |
+
|
509 |
+
var Picker = function () {
|
510 |
+
function Picker(options) {
|
511 |
+
classCallCheck(this, Picker);
|
512 |
+
|
513 |
+
|
514 |
+
this.settings = {
|
515 |
+
|
516 |
+
popup: 'right',
|
517 |
+
layout: 'default',
|
518 |
+
alpha: true,
|
519 |
+
editor: true,
|
520 |
+
editorFormat: 'hex',
|
521 |
+
cancelButton: false,
|
522 |
+
defaultColor: '#0cf'
|
523 |
+
};
|
524 |
+
|
525 |
+
this._events = new EventBucket();
|
526 |
+
|
527 |
+
this.onChange = null;
|
528 |
+
|
529 |
+
this.onDone = null;
|
530 |
+
|
531 |
+
this.onOpen = null;
|
532 |
+
|
533 |
+
this.onClose = null;
|
534 |
+
|
535 |
+
this.setOptions(options);
|
536 |
+
}
|
537 |
+
|
538 |
+
createClass(Picker, [{
|
539 |
+
key: 'setOptions',
|
540 |
+
value: function setOptions(options) {
|
541 |
+
var _this = this;
|
542 |
+
|
543 |
+
if (!options) {
|
544 |
+
return;
|
545 |
+
}
|
546 |
+
var settings = this.settings;
|
547 |
+
|
548 |
+
function transfer(source, target, skipKeys) {
|
549 |
+
for (var key in source) {
|
550 |
+
if (skipKeys && skipKeys.indexOf(key) >= 0) {
|
551 |
+
continue;
|
552 |
+
}
|
553 |
+
|
554 |
+
target[key] = source[key];
|
555 |
+
}
|
556 |
+
}
|
557 |
+
|
558 |
+
if (options instanceof HTMLElement) {
|
559 |
+
settings.parent = options;
|
560 |
+
} else {
|
561 |
+
|
562 |
+
if (settings.parent && options.parent && settings.parent !== options.parent) {
|
563 |
+
this._events.remove(settings.parent);
|
564 |
+
this._popupInited = false;
|
565 |
+
}
|
566 |
+
|
567 |
+
transfer(options, settings);
|
568 |
+
|
569 |
+
if (options.onChange) {
|
570 |
+
this.onChange = options.onChange;
|
571 |
+
}
|
572 |
+
if (options.onDone) {
|
573 |
+
this.onDone = options.onDone;
|
574 |
+
}
|
575 |
+
if (options.onOpen) {
|
576 |
+
this.onOpen = options.onOpen;
|
577 |
+
}
|
578 |
+
if (options.onClose) {
|
579 |
+
this.onClose = options.onClose;
|
580 |
+
}
|
581 |
+
|
582 |
+
var col = options.color || options.colour;
|
583 |
+
if (col) {
|
584 |
+
this._setColor(col);
|
585 |
+
}
|
586 |
+
}
|
587 |
+
|
588 |
+
var parent = settings.parent;
|
589 |
+
if (parent && settings.popup && !this._popupInited) {
|
590 |
+
|
591 |
+
var openProxy = function openProxy(e) {
|
592 |
+
return _this.openHandler(e);
|
593 |
+
};
|
594 |
+
|
595 |
+
this._events.add(parent, 'click', openProxy);
|
596 |
+
|
597 |
+
onKey(this._events, parent, [' ', 'Spacebar', 'Enter'], openProxy);
|
598 |
+
|
599 |
+
this._popupInited = true;
|
600 |
+
} else if (options.parent && !settings.popup) {
|
601 |
+
this.show();
|
602 |
+
}
|
603 |
+
}
|
604 |
+
}, {
|
605 |
+
key: 'openHandler',
|
606 |
+
value: function openHandler(e) {
|
607 |
+
if (this.show()) {
|
608 |
+
|
609 |
+
e && e.preventDefault();
|
610 |
+
|
611 |
+
this.settings.parent.style.pointerEvents = 'none';
|
612 |
+
|
613 |
+
var toFocus = e && e.type === EVENT_KEY ? this._domEdit : this.domElement;
|
614 |
+
setTimeout(function () {
|
615 |
+
return toFocus.focus();
|
616 |
+
}, 100);
|
617 |
+
|
618 |
+
if (this.onOpen) {
|
619 |
+
this.onOpen(this.colour);
|
620 |
+
}
|
621 |
+
}
|
622 |
+
}
|
623 |
+
}, {
|
624 |
+
key: 'closeHandler',
|
625 |
+
value: function closeHandler(e) {
|
626 |
+
var event = e && e.type;
|
627 |
+
var doHide = false;
|
628 |
+
|
629 |
+
if (!e) {
|
630 |
+
doHide = true;
|
631 |
+
} else if (event === EVENT_CLICK_OUTSIDE || event === EVENT_TAB_MOVE) {
|
632 |
+
|
633 |
+
var knownTime = (this.__containedEvent || 0) + 100;
|
634 |
+
if (e.timeStamp > knownTime) {
|
635 |
+
doHide = true;
|
636 |
+
}
|
637 |
+
} else {
|
638 |
+
|
639 |
+
stopEvent(e);
|
640 |
+
|
641 |
+
doHide = true;
|
642 |
+
}
|
643 |
+
|
644 |
+
if (doHide && this.hide()) {
|
645 |
+
this.settings.parent.style.pointerEvents = '';
|
646 |
+
|
647 |
+
if (event !== EVENT_CLICK_OUTSIDE) {
|
648 |
+
this.settings.parent.focus();
|
649 |
+
}
|
650 |
+
|
651 |
+
if (this.onClose) {
|
652 |
+
this.onClose(this.colour);
|
653 |
+
}
|
654 |
+
}
|
655 |
+
}
|
656 |
+
}, {
|
657 |
+
key: 'movePopup',
|
658 |
+
value: function movePopup(options, open) {
|
659 |
+
|
660 |
+
this.closeHandler();
|
661 |
+
|
662 |
+
this.setOptions(options);
|
663 |
+
if (open) {
|
664 |
+
this.openHandler();
|
665 |
+
}
|
666 |
+
}
|
667 |
+
}, {
|
668 |
+
key: 'setColor',
|
669 |
+
value: function setColor(color, silent) {
|
670 |
+
this._setColor(color, { silent: silent });
|
671 |
+
}
|
672 |
+
}, {
|
673 |
+
key: '_setColor',
|
674 |
+
value: function _setColor(color, flags) {
|
675 |
+
if (typeof color === 'string') {
|
676 |
+
color = color.trim();
|
677 |
+
}
|
678 |
+
if (!color) {
|
679 |
+
return;
|
680 |
+
}
|
681 |
+
|
682 |
+
flags = flags || {};
|
683 |
+
var c = void 0;
|
684 |
+
try {
|
685 |
+
|
686 |
+
c = new Color(color);
|
687 |
+
} catch (ex) {
|
688 |
+
if (flags.failSilently) {
|
689 |
+
return;
|
690 |
+
}
|
691 |
+
throw ex;
|
692 |
+
}
|
693 |
+
|
694 |
+
if (!this.settings.alpha) {
|
695 |
+
var hsla = c.hsla;
|
696 |
+
hsla[3] = 1;
|
697 |
+
c.hsla = hsla;
|
698 |
+
}
|
699 |
+
this.colour = this.color = c;
|
700 |
+
this._setHSLA(null, null, null, null, flags);
|
701 |
+
}
|
702 |
+
}, {
|
703 |
+
key: 'setColour',
|
704 |
+
value: function setColour(colour, silent) {
|
705 |
+
this.setColor(colour, silent);
|
706 |
+
}
|
707 |
+
}, {
|
708 |
+
key: 'show',
|
709 |
+
value: function show() {
|
710 |
+
var parent = this.settings.parent;
|
711 |
+
if (!parent) {
|
712 |
+
return false;
|
713 |
+
}
|
714 |
+
|
715 |
+
if (this.domElement) {
|
716 |
+
var toggled = this._toggleDOM(true);
|
717 |
+
|
718 |
+
this._setPosition();
|
719 |
+
|
720 |
+
return toggled;
|
721 |
+
}
|
722 |
+
|
723 |
+
var html = this.settings.template || '<div class="picker_wrapper" tabindex="-1"><div class="picker_arrow"></div><div class="picker_hue picker_slider"><div class="picker_selector"></div></div><div class="picker_sl"><div class="picker_selector"></div></div><div class="picker_alpha picker_slider"><div class="picker_selector"></div></div><div class="picker_editor"><input aria-label="Type a color name or hex value"/></div><div class="picker_sample"></div><div class="picker_done"><button>Ok</button></div><div class="picker_cancel"><button>Cancel</button></div></div>';
|
724 |
+
var wrapper = parseHTML(html);
|
725 |
+
|
726 |
+
this.domElement = wrapper;
|
727 |
+
this._domH = $('.picker_hue', wrapper);
|
728 |
+
this._domSL = $('.picker_sl', wrapper);
|
729 |
+
this._domA = $('.picker_alpha', wrapper);
|
730 |
+
this._domEdit = $('.picker_editor input', wrapper);
|
731 |
+
this._domSample = $('.picker_sample', wrapper);
|
732 |
+
this._domOkay = $('.picker_done button', wrapper);
|
733 |
+
this._domCancel = $('.picker_cancel button', wrapper);
|
734 |
+
|
735 |
+
wrapper.classList.add('layout_' + this.settings.layout);
|
736 |
+
if (!this.settings.alpha) {
|
737 |
+
wrapper.classList.add('no_alpha');
|
738 |
+
}
|
739 |
+
if (!this.settings.editor) {
|
740 |
+
wrapper.classList.add('no_editor');
|
741 |
+
}
|
742 |
+
if (!this.settings.cancelButton) {
|
743 |
+
wrapper.classList.add('no_cancel');
|
744 |
+
}
|
745 |
+
this._ifPopup(function () {
|
746 |
+
return wrapper.classList.add('popup');
|
747 |
+
});
|
748 |
+
|
749 |
+
this._setPosition();
|
750 |
+
|
751 |
+
if (this.colour) {
|
752 |
+
this._updateUI();
|
753 |
+
} else {
|
754 |
+
this._setColor(this.settings.defaultColor);
|
755 |
+
}
|
756 |
+
this._bindEvents();
|
757 |
+
|
758 |
+
return true;
|
759 |
+
}
|
760 |
+
}, {
|
761 |
+
key: 'hide',
|
762 |
+
value: function hide() {
|
763 |
+
return this._toggleDOM(false);
|
764 |
+
}
|
765 |
+
}, {
|
766 |
+
key: 'destroy',
|
767 |
+
value: function destroy() {
|
768 |
+
this._events.destroy();
|
769 |
+
if (this.domElement) {
|
770 |
+
this.settings.parent.removeChild(this.domElement);
|
771 |
+
}
|
772 |
+
}
|
773 |
+
}, {
|
774 |
+
key: '_bindEvents',
|
775 |
+
value: function _bindEvents() {
|
776 |
+
var _this2 = this;
|
777 |
+
|
778 |
+
var that = this,
|
779 |
+
dom = this.domElement,
|
780 |
+
events = this._events;
|
781 |
+
|
782 |
+
function addEvent(target, type, handler) {
|
783 |
+
events.add(target, type, handler);
|
784 |
+
}
|
785 |
+
|
786 |
+
addEvent(dom, 'click', function (e) {
|
787 |
+
return e.preventDefault();
|
788 |
+
});
|
789 |
+
|
790 |
+
dragTrack(events, this._domH, function (x, y) {
|
791 |
+
return that._setHSLA(x);
|
792 |
+
});
|
793 |
+
|
794 |
+
dragTrack(events, this._domSL, function (x, y) {
|
795 |
+
return that._setHSLA(null, x, 1 - y);
|
796 |
+
});
|
797 |
+
|
798 |
+
if (this.settings.alpha) {
|
799 |
+
dragTrack(events, this._domA, function (x, y) {
|
800 |
+
return that._setHSLA(null, null, null, 1 - y);
|
801 |
+
});
|
802 |
+
}
|
803 |
+
|
804 |
+
var editInput = this._domEdit;
|
805 |
+
{
|
806 |
+
addEvent(editInput, 'input', function (e) {
|
807 |
+
that._setColor(this.value, { fromEditor: true, failSilently: true });
|
808 |
+
});
|
809 |
+
|
810 |
+
addEvent(editInput, 'focus', function (e) {
|
811 |
+
var input = this;
|
812 |
+
|
813 |
+
if (input.selectionStart === input.selectionEnd) {
|
814 |
+
input.select();
|
815 |
+
}
|
816 |
+
});
|
817 |
+
}
|
818 |
+
|
819 |
+
this._ifPopup(function () {
|
820 |
+
|
821 |
+
var popupCloseProxy = function popupCloseProxy(e) {
|
822 |
+
return _this2.closeHandler(e);
|
823 |
+
};
|
824 |
+
|
825 |
+
addEvent(window, EVENT_CLICK_OUTSIDE, popupCloseProxy);
|
826 |
+
addEvent(window, EVENT_TAB_MOVE, popupCloseProxy);
|
827 |
+
onKey(events, dom, ['Esc', 'Escape'], popupCloseProxy);
|
828 |
+
|
829 |
+
var timeKeeper = function timeKeeper(e) {
|
830 |
+
_this2.__containedEvent = e.timeStamp;
|
831 |
+
};
|
832 |
+
addEvent(dom, EVENT_CLICK_OUTSIDE, timeKeeper);
|
833 |
+
|
834 |
+
addEvent(dom, EVENT_TAB_MOVE, timeKeeper);
|
835 |
+
|
836 |
+
addEvent(_this2._domCancel, 'click', popupCloseProxy);
|
837 |
+
});
|
838 |
+
|
839 |
+
var onDoneProxy = function onDoneProxy(e) {
|
840 |
+
_this2._ifPopup(function () {
|
841 |
+
return _this2.closeHandler(e);
|
842 |
+
});
|
843 |
+
if (_this2.onDone) {
|
844 |
+
_this2.onDone(_this2.colour);
|
845 |
+
}
|
846 |
+
};
|
847 |
+
addEvent(this._domOkay, 'click', onDoneProxy);
|
848 |
+
onKey(events, dom, ['Enter'], onDoneProxy);
|
849 |
+
}
|
850 |
+
}, {
|
851 |
+
key: '_setPosition',
|
852 |
+
value: function _setPosition() {
|
853 |
+
var parent = this.settings.parent,
|
854 |
+
elm = this.domElement;
|
855 |
+
|
856 |
+
if (parent !== elm.parentNode) {
|
857 |
+
parent.appendChild(elm);
|
858 |
+
}
|
859 |
+
|
860 |
+
this._ifPopup(function (popup) {
|
861 |
+
|
862 |
+
if (getComputedStyle(parent).position === 'static') {
|
863 |
+
parent.style.position = 'relative';
|
864 |
+
}
|
865 |
+
|
866 |
+
var cssClass = popup === true ? 'popup_right' : 'popup_' + popup;
|
867 |
+
|
868 |
+
['popup_top', 'popup_bottom', 'popup_left', 'popup_right'].forEach(function (c) {
|
869 |
+
|
870 |
+
if (c === cssClass) {
|
871 |
+
elm.classList.add(c);
|
872 |
+
} else {
|
873 |
+
elm.classList.remove(c);
|
874 |
+
}
|
875 |
+
});
|
876 |
+
|
877 |
+
elm.classList.add(cssClass);
|
878 |
+
});
|
879 |
+
}
|
880 |
+
}, {
|
881 |
+
key: '_setHSLA',
|
882 |
+
value: function _setHSLA(h, s, l, a, flags) {
|
883 |
+
flags = flags || {};
|
884 |
+
|
885 |
+
var col = this.colour,
|
886 |
+
hsla = col.hsla;
|
887 |
+
|
888 |
+
[h, s, l, a].forEach(function (x, i) {
|
889 |
+
if (x || x === 0) {
|
890 |
+
hsla[i] = x;
|
891 |
+
}
|
892 |
+
});
|
893 |
+
col.hsla = hsla;
|
894 |
+
|
895 |
+
this._updateUI(flags);
|
896 |
+
|
897 |
+
if (this.onChange && !flags.silent) {
|
898 |
+
this.onChange(col);
|
899 |
+
}
|
900 |
+
}
|
901 |
+
}, {
|
902 |
+
key: '_updateUI',
|
903 |
+
value: function _updateUI(flags) {
|
904 |
+
if (!this.domElement) {
|
905 |
+
return;
|
906 |
+
}
|
907 |
+
flags = flags || {};
|
908 |
+
|
909 |
+
var col = this.colour,
|
910 |
+
hsl = col.hsla,
|
911 |
+
cssHue = 'hsl(' + hsl[0] * HUES + ', 100%, 50%)',
|
912 |
+
cssHSL = col.hslString,
|
913 |
+
cssHSLA = col.hslaString;
|
914 |
+
|
915 |
+
var uiH = this._domH,
|
916 |
+
uiSL = this._domSL,
|
917 |
+
uiA = this._domA,
|
918 |
+
thumbH = $('.picker_selector', uiH),
|
919 |
+
thumbSL = $('.picker_selector', uiSL),
|
920 |
+
thumbA = $('.picker_selector', uiA);
|
921 |
+
|
922 |
+
function posX(parent, child, relX) {
|
923 |
+
child.style.left = relX * 100 + '%';
|
924 |
+
}
|
925 |
+
function posY(parent, child, relY) {
|
926 |
+
child.style.top = relY * 100 + '%';
|
927 |
+
}
|
928 |
+
|
929 |
+
posX(uiH, thumbH, hsl[0]);
|
930 |
+
|
931 |
+
this._domSL.style.backgroundColor = this._domH.style.color = cssHue;
|
932 |
+
|
933 |
+
posX(uiSL, thumbSL, hsl[1]);
|
934 |
+
posY(uiSL, thumbSL, 1 - hsl[2]);
|
935 |
+
|
936 |
+
uiSL.style.color = cssHSL;
|
937 |
+
|
938 |
+
posY(uiA, thumbA, 1 - hsl[3]);
|
939 |
+
|
940 |
+
var opaque = cssHSL,
|
941 |
+
transp = opaque.replace('hsl', 'hsla').replace(')', ', 0)'),
|
942 |
+
bg = 'linear-gradient(' + [opaque, transp] + ')';
|
943 |
+
|
944 |
+
this._domA.style.background = bg + ', ' + BG_TRANSP;
|
945 |
+
|
946 |
+
if (!flags.fromEditor) {
|
947 |
+
var format = this.settings.editorFormat,
|
948 |
+
alpha = this.settings.alpha;
|
949 |
+
|
950 |
+
var value = void 0;
|
951 |
+
switch (format) {
|
952 |
+
case 'rgb':
|
953 |
+
value = col.printRGB(alpha);break;
|
954 |
+
case 'hsl':
|
955 |
+
value = col.printHSL(alpha);break;
|
956 |
+
default:
|
957 |
+
value = col.printHex(alpha);
|
958 |
+
}
|
959 |
+
this._domEdit.value = value;
|
960 |
+
}
|
961 |
+
|
962 |
+
this._domSample.style.color = cssHSLA;
|
963 |
+
}
|
964 |
+
}, {
|
965 |
+
key: '_ifPopup',
|
966 |
+
value: function _ifPopup(actionIf, actionElse) {
|
967 |
+
if (this.settings.parent && this.settings.popup) {
|
968 |
+
actionIf && actionIf(this.settings.popup);
|
969 |
+
} else {
|
970 |
+
actionElse && actionElse();
|
971 |
+
}
|
972 |
+
}
|
973 |
+
}, {
|
974 |
+
key: '_toggleDOM',
|
975 |
+
value: function _toggleDOM(toVisible) {
|
976 |
+
var dom = this.domElement;
|
977 |
+
if (!dom) {
|
978 |
+
return false;
|
979 |
+
}
|
980 |
+
|
981 |
+
var displayStyle = toVisible ? '' : 'none',
|
982 |
+
toggle = dom.style.display !== displayStyle;
|
983 |
+
|
984 |
+
if (toggle) {
|
985 |
+
dom.style.display = displayStyle;
|
986 |
+
}
|
987 |
+
return toggle;
|
988 |
+
}
|
989 |
+
}]);
|
990 |
+
return Picker;
|
991 |
+
}();
|
992 |
+
|
993 |
+
{
|
994 |
+
var style = document.createElement('style');
|
995 |
+
style.textContent = '.picker_wrapper.no_alpha .picker_alpha{display:none}.picker_wrapper.no_editor .picker_editor{position:absolute;z-index:-1;opacity:0}.picker_wrapper.no_cancel .picker_cancel{display:none}.layout_default.picker_wrapper{display:flex;flex-flow:row wrap;justify-content:space-between;align-items:stretch;font-size:10px;width:25em;padding:.5em}.layout_default.picker_wrapper input,.layout_default.picker_wrapper button{font-size:1rem}.layout_default.picker_wrapper>*{margin:.5em}.layout_default.picker_wrapper::before{content:"";display:block;width:100%;height:0;order:1}.layout_default .picker_slider,.layout_default .picker_selector{padding:1em}.layout_default .picker_hue{width:100%}.layout_default .picker_sl{flex:1 1 auto}.layout_default .picker_sl::before{content:"";display:block;padding-bottom:100%}.layout_default .picker_editor{order:1;width:6.5rem}.layout_default .picker_editor input{width:100%;height:100%}.layout_default .picker_sample{order:1;flex:1 1 auto}.layout_default .picker_done,.layout_default .picker_cancel{order:1}.picker_wrapper{box-sizing:border-box;background:#f2f2f2;box-shadow:0 0 0 1px silver;cursor:default;font-family:sans-serif;color:#444;pointer-events:auto}.picker_wrapper:focus{outline:none}.picker_wrapper button,.picker_wrapper input{box-sizing:border-box;border:none;box-shadow:0 0 0 1px silver;outline:none}.picker_wrapper button:focus,.picker_wrapper button:active,.picker_wrapper input:focus,.picker_wrapper input:active{box-shadow:0 0 2px 1px #1e90ff}.picker_wrapper button{padding:.4em .6em;cursor:pointer;background-color:#f5f5f5;background-image:linear-gradient(0deg, gainsboro, transparent)}.picker_wrapper button:active{background-image:linear-gradient(0deg, transparent, gainsboro)}.picker_wrapper button:hover{background-color:#fff}.picker_selector{position:absolute;z-index:1;display:block;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);border:2px solid #fff;border-radius:100%;box-shadow:0 0 3px 1px #67b9ff;background:currentColor;cursor:pointer}.picker_slider .picker_selector{border-radius:2px}.picker_hue{position:relative;background-image:linear-gradient(90deg, red, yellow, lime, cyan, blue, magenta, red);box-shadow:0 0 0 1px silver}.picker_sl{position:relative;box-shadow:0 0 0 1px silver;background-image:linear-gradient(180deg, white, rgba(255, 255, 255, 0) 50%),linear-gradient(0deg, black, rgba(0, 0, 0, 0) 50%),linear-gradient(90deg, #808080, rgba(128, 128, 128, 0))}.picker_alpha,.picker_sample{position:relative;background:linear-gradient(45deg, lightgrey 25%, transparent 25%, transparent 75%, lightgrey 75%) 0 0/2em 2em,linear-gradient(45deg, lightgrey 25%, white 25%, white 75%, lightgrey 75%) 1em 1em/2em 2em;box-shadow:0 0 0 1px silver}.picker_alpha .picker_selector,.picker_sample .picker_selector{background:none}.picker_editor input{font-family:monospace;padding:.2em .4em}.picker_sample::before{content:"";position:absolute;display:block;width:100%;height:100%;background:currentColor}.picker_arrow{position:absolute;z-index:-1}.picker_wrapper.popup{position:absolute;z-index:2;margin:1.5em}.picker_wrapper.popup,.picker_wrapper.popup .picker_arrow::before,.picker_wrapper.popup .picker_arrow::after{background:#f2f2f2;box-shadow:0 0 10px 1px rgba(0,0,0,.4)}.picker_wrapper.popup .picker_arrow{width:3em;height:3em;margin:0}.picker_wrapper.popup .picker_arrow::before,.picker_wrapper.popup .picker_arrow::after{content:"";display:block;position:absolute;top:0;left:0;z-index:-99}.picker_wrapper.popup .picker_arrow::before{width:100%;height:100%;-webkit-transform:skew(45deg);transform:skew(45deg);-webkit-transform-origin:0 100%;transform-origin:0 100%}.picker_wrapper.popup .picker_arrow::after{width:150%;height:150%;box-shadow:none}.popup.popup_top{bottom:100%;left:0}.popup.popup_top .picker_arrow{bottom:0;left:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.popup.popup_bottom{top:100%;left:0}.popup.popup_bottom .picker_arrow{top:0;left:0;-webkit-transform:rotate(90deg) scale(1, -1);transform:rotate(90deg) scale(1, -1)}.popup.popup_left{top:0;right:100%}.popup.popup_left .picker_arrow{top:0;right:0;-webkit-transform:scale(-1, 1);transform:scale(-1, 1)}.popup.popup_right{top:0;left:100%}.popup.popup_right .picker_arrow{top:0;left:0}';
|
996 |
+
document.documentElement.firstElementChild.appendChild(style);
|
997 |
+
|
998 |
+
Picker.StyleElement = style;
|
999 |
+
}
|
1000 |
+
|
1001 |
+
export { Picker as default };
|
app/extensions/fields/asset/vanilla-picker-master/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
{
|
2 |
"name": "vanilla-picker",
|
3 |
-
"version": "2.
|
4 |
"description": "A simple, easy to use vanilla JS color picker with alpha selection.",
|
5 |
"keywords": [
|
6 |
"ux",
|
@@ -33,36 +33,55 @@
|
|
33 |
"main": "dist/vanilla-picker.js",
|
34 |
"unpkg": "dist/vanilla-picker.min.js",
|
35 |
"module": "dist/vanilla-picker.mjs",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
"files": [
|
37 |
"src/",
|
38 |
"dist/"
|
39 |
],
|
40 |
"scripts": {
|
41 |
-
"
|
42 |
"postpublish": "bash ./scripts/postpub.sh",
|
43 |
"test": "echo \"Error: no test specified\" && exit 1"
|
44 |
},
|
45 |
"devDependencies": {
|
|
|
46 |
"babel-core": "^6.26.3",
|
47 |
"babel-plugin-external-helpers": "^6.22.0",
|
48 |
"babel-preset-env": "^1.7.0",
|
49 |
"babel-register": "^6.26.0",
|
50 |
-
"gulp": "^4.0.
|
51 |
"gulp-file": "^0.4.0",
|
52 |
-
"gulp-header": "^2.0.
|
53 |
"gulp-jsdoc3": "^2.0.0",
|
54 |
-
"gulp-rename": "^1.
|
55 |
"gulp-replace": "^1.0.0",
|
56 |
"gulp-strip-comments": "^2.5.2",
|
57 |
-
"gulp-uglify": "^3.0.
|
58 |
-
"
|
59 |
-
"pug": "^
|
60 |
-
"rollup": "^
|
61 |
-
"rollup-plugin-babel": "^3.0.
|
62 |
-
"rollup-plugin-
|
|
|
|
|
|
|
63 |
},
|
64 |
"dependencies": {
|
65 |
-
"@sphinxxxx/color-conversion": "^2.
|
66 |
-
|
67 |
-
|
|
|
68 |
}
|
1 |
{
|
2 |
"name": "vanilla-picker",
|
3 |
+
"version": "2.12.1",
|
4 |
"description": "A simple, easy to use vanilla JS color picker with alpha selection.",
|
5 |
"keywords": [
|
6 |
"ux",
|
33 |
"main": "dist/vanilla-picker.js",
|
34 |
"unpkg": "dist/vanilla-picker.min.js",
|
35 |
"module": "dist/vanilla-picker.mjs",
|
36 |
+
"exports": {
|
37 |
+
".": {
|
38 |
+
"require": "./dist/vanilla-picker.js",
|
39 |
+
"import": "./dist/vanilla-picker.mjs",
|
40 |
+
"default": "./dist/vanilla-picker.mjs"
|
41 |
+
},
|
42 |
+
"./csp": {
|
43 |
+
"require": "./dist/vanilla-picker.csp.js",
|
44 |
+
"import": "./dist/vanilla-picker.csp.mjs",
|
45 |
+
"default": "./dist/vanilla-picker.csp.mjs"
|
46 |
+
},
|
47 |
+
"./dist/": "./dist/",
|
48 |
+
"./dist/*": "./dist/*"
|
49 |
+
},
|
50 |
"files": [
|
51 |
"src/",
|
52 |
"dist/"
|
53 |
],
|
54 |
"scripts": {
|
55 |
+
"prepublishOnly": "bash ./scripts/prepub.sh",
|
56 |
"postpublish": "bash ./scripts/postpub.sh",
|
57 |
"test": "echo \"Error: no test specified\" && exit 1"
|
58 |
},
|
59 |
"devDependencies": {
|
60 |
+
"autoprefixer": "^9.6.0",
|
61 |
"babel-core": "^6.26.3",
|
62 |
"babel-plugin-external-helpers": "^6.22.0",
|
63 |
"babel-preset-env": "^1.7.0",
|
64 |
"babel-register": "^6.26.0",
|
65 |
+
"gulp": "^4.0.2",
|
66 |
"gulp-file": "^0.4.0",
|
67 |
+
"gulp-header": "^2.0.7",
|
68 |
"gulp-jsdoc3": "^2.0.0",
|
69 |
+
"gulp-rename": "^1.4.0",
|
70 |
"gulp-replace": "^1.0.0",
|
71 |
"gulp-strip-comments": "^2.5.2",
|
72 |
+
"gulp-uglify": "^3.0.2",
|
73 |
+
"postcss-cli": "^6.1.2",
|
74 |
+
"pug": "^3.0.2",
|
75 |
+
"rollup": "^2.58.0",
|
76 |
+
"rollup-plugin-babel": "^3.0.7",
|
77 |
+
"rollup-plugin-cleanup": "^3.1.1",
|
78 |
+
"rollup-plugin-node-resolve": "^3.4.0",
|
79 |
+
"rollup-plugin-replace": "^2.2.0",
|
80 |
+
"sass": "^1.43.3"
|
81 |
},
|
82 |
"dependencies": {
|
83 |
+
"@sphinxxxx/color-conversion": "^2.2.2"
|
84 |
+
},
|
85 |
+
"browserslist": ">.1%, last 2 versions, Firefox ESR, not dead",
|
86 |
+
"typings": "src/index.d.ts"
|
87 |
}
|
app/extensions/fields/asset/vanilla-picker-master/src/css/_components.scss
CHANGED
@@ -14,9 +14,29 @@
|
|
14 |
//However, we don't want all the decoration:
|
15 |
&:focus { outline: none; }
|
16 |
|
17 |
-
//
|
18 |
button, input {
|
19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
}
|
21 |
}
|
22 |
|
@@ -84,7 +104,11 @@
|
|
84 |
.picker_alpha, .picker_sample {
|
85 |
position: relative;
|
86 |
|
87 |
-
|
|
|
|
|
|
|
|
|
88 |
@include border-deco();
|
89 |
|
90 |
.picker_selector {
|
@@ -95,9 +119,8 @@
|
|
95 |
|
96 |
.picker_editor {
|
97 |
input {
|
98 |
-
box-sizing: border-box;
|
99 |
font-family: monospace;
|
100 |
-
padding: .
|
101 |
}
|
102 |
}
|
103 |
|
@@ -113,10 +136,3 @@
|
|
113 |
background: currentColor;
|
114 |
}
|
115 |
}
|
116 |
-
|
117 |
-
|
118 |
-
.picker_done button {
|
119 |
-
box-sizing: border-box;
|
120 |
-
padding: .2em .5em;
|
121 |
-
cursor: pointer;
|
122 |
-
}
|
14 |
//However, we don't want all the decoration:
|
15 |
&:focus { outline: none; }
|
16 |
|
17 |
+
//Reset custom styles on certain Firefox installs (#21)
|
18 |
button, input {
|
19 |
+
box-sizing: border-box;
|
20 |
+
border: none;
|
21 |
+
@include border-deco();
|
22 |
+
|
23 |
+
outline: none;
|
24 |
+
&:focus, &:active {
|
25 |
+
box-shadow: 0 0 2px 1px dodgerblue;
|
26 |
+
}
|
27 |
+
}
|
28 |
+
button {
|
29 |
+
padding: .4em .6em;
|
30 |
+
cursor: pointer;
|
31 |
+
|
32 |
+
background-color: whitesmoke;
|
33 |
+
background-image: linear-gradient(0deg, gainsboro, transparent);
|
34 |
+
&:active {
|
35 |
+
background-image: linear-gradient(0deg, transparent, gainsboro);
|
36 |
+
}
|
37 |
+
&:hover {
|
38 |
+
background-color: white;
|
39 |
+
}
|
40 |
}
|
41 |
}
|
42 |
|
104 |
.picker_alpha, .picker_sample {
|
105 |
position: relative;
|
106 |
|
107 |
+
//Fails on strict CSP settings..
|
108 |
+
// background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2' height='2'%3E%3Cpath d='M1,0H0V1H2V2H1' fill='lightgrey'/%3E%3C/svg%3E") left top / contain white;
|
109 |
+
$checker-dark: lightgrey;
|
110 |
+
background: linear-gradient(45deg, $checker-dark 25%, transparent 25%, transparent 75%, $checker-dark 75%) 0 0 / 2em 2em,
|
111 |
+
linear-gradient(45deg, $checker-dark 25%, white 25%, white 75%, $checker-dark 75%) 1em 1em / 2em 2em;
|
112 |
@include border-deco();
|
113 |
|
114 |
.picker_selector {
|
119 |
|
120 |
.picker_editor {
|
121 |
input {
|
|
|
122 |
font-family: monospace;
|
123 |
+
padding: .2em .4em;
|
124 |
}
|
125 |
}
|
126 |
|
136 |
background: currentColor;
|
137 |
}
|
138 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/extensions/fields/asset/vanilla-picker-master/src/css/_layout.scss
CHANGED
@@ -1,3 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
1 |
.picker_wrapper.no_alpha .picker_alpha {
|
2 |
display: none;
|
3 |
}
|
@@ -7,6 +12,9 @@
|
|
7 |
z-index: -1;
|
8 |
opacity: 0;
|
9 |
}
|
|
|
|
|
|
|
10 |
|
11 |
|
12 |
.layout_default {
|
@@ -28,9 +36,9 @@
|
|
28 |
font-size: 1rem;
|
29 |
}
|
30 |
|
31 |
-
padding: $width-gutter
|
32 |
> * {
|
33 |
-
margin: $width-gutter
|
34 |
}
|
35 |
|
36 |
//https://stackoverflow.com/questions/29732575/line-break-in-multi-line-flexbox
|
@@ -48,7 +56,7 @@
|
|
48 |
|
49 |
|
50 |
.picker_slider, .picker_selector {
|
51 |
-
padding: $width-slider
|
52 |
}
|
53 |
|
54 |
|
@@ -73,11 +81,11 @@
|
|
73 |
.picker_editor {
|
74 |
order: 1;
|
75 |
//width: 100%;
|
76 |
-
width:
|
77 |
|
78 |
input {
|
79 |
-
width:
|
80 |
-
height:
|
81 |
}
|
82 |
}
|
83 |
|
@@ -90,7 +98,7 @@
|
|
90 |
}
|
91 |
|
92 |
|
93 |
-
.picker_done {
|
94 |
order: 1;
|
95 |
}
|
96 |
|
1 |
+
//https://sass-lang.com/documentation/breaking-changes/slash-div
|
2 |
+
//https://stackoverflow.com/questions/61330432/sasserror-there-is-no-module-with-the-namespace-math
|
3 |
+
@use 'sass:math';
|
4 |
+
|
5 |
+
|
6 |
.picker_wrapper.no_alpha .picker_alpha {
|
7 |
display: none;
|
8 |
}
|
12 |
z-index: -1;
|
13 |
opacity: 0;
|
14 |
}
|
15 |
+
.picker_wrapper.no_cancel .picker_cancel {
|
16 |
+
display: none;
|
17 |
+
}
|
18 |
|
19 |
|
20 |
.layout_default {
|
36 |
font-size: 1rem;
|
37 |
}
|
38 |
|
39 |
+
padding: math.div($width-gutter, 2);
|
40 |
> * {
|
41 |
+
margin: math.div($width-gutter, 2);
|
42 |
}
|
43 |
|
44 |
//https://stackoverflow.com/questions/29732575/line-break-in-multi-line-flexbox
|
56 |
|
57 |
|
58 |
.picker_slider, .picker_selector {
|
59 |
+
padding: math.div($width-slider, 2);
|
60 |
}
|
61 |
|
62 |
|
81 |
.picker_editor {
|
82 |
order: 1;
|
83 |
//width: 100%;
|
84 |
+
width: 6.5rem;
|
85 |
|
86 |
input {
|
87 |
+
width: 100%;
|
88 |
+
height: 100%;
|
89 |
}
|
90 |
}
|
91 |
|
98 |
}
|
99 |
|
100 |
|
101 |
+
.picker_done, .picker_cancel {
|
102 |
order: 1;
|
103 |
}
|
104 |
|
app/extensions/fields/asset/vanilla-picker-master/src/index.d.ts
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
declare module 'vanilla-picker' {
|
2 |
+
interface Color {
|
3 |
+
rgba: number[];
|
4 |
+
hsla: number[];
|
5 |
+
rgbString: string;
|
6 |
+
rgbaString: string;
|
7 |
+
hslString: string;
|
8 |
+
hslaString: string;
|
9 |
+
hex: string;
|
10 |
+
}
|
11 |
+
|
12 |
+
type ColorCallback = (color: Color) => void;
|
13 |
+
|
14 |
+
interface Options {
|
15 |
+
parent?: HTMLElement;
|
16 |
+
popup?: 'top' | 'bottom' | 'left' | 'right' | false;
|
17 |
+
template?: string;
|
18 |
+
layout?: string;
|
19 |
+
alpha?: boolean;
|
20 |
+
editor?: boolean;
|
21 |
+
editorFormat?: 'hex' | 'hsl' | 'rgb';
|
22 |
+
cancelButton?: boolean;
|
23 |
+
color?: string;
|
24 |
+
onChange?: ColorCallback;
|
25 |
+
onDone?: ColorCallback;
|
26 |
+
onOpen?: ColorCallback;
|
27 |
+
onClose?: ColorCallback;
|
28 |
+
}
|
29 |
+
|
30 |
+
type Configuration = Options | HTMLElement;
|
31 |
+
|
32 |
+
class Picker {
|
33 |
+
constructor(options: Configuration);
|
34 |
+
onChange: ColorCallback;
|
35 |
+
onDone: ColorCallback;
|
36 |
+
onOpen: ColorCallback;
|
37 |
+
onClose: ColorCallback;
|
38 |
+
setOptions(options: Configuration): void;
|
39 |
+
openHandler(e: Event): void;
|
40 |
+
closeHandler(e: Event): void;
|
41 |
+
movePopup(options: Options, open: boolean): void;
|
42 |
+
setColor(color: string | number[], silent: boolean): void;
|
43 |
+
setColour: Picker['setColor'];
|
44 |
+
show(): boolean;
|
45 |
+
hide(): boolean;
|
46 |
+
destroy(): void;
|
47 |
+
}
|
48 |
+
|
49 |
+
export default Picker;
|
50 |
+
}
|
app/extensions/fields/asset/vanilla-picker-master/src/index.js
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
import Picker from './js/picker.js';
|
2 |
+
|
3 |
+
export default Picker;
|
app/extensions/fields/asset/vanilla-picker-master/src/index.pug
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
//- tabindex: See comment on .picker_wrapper in _components.scss
|
2 |
+
.picker_wrapper(tabindex=-1)
|
3 |
+
|
4 |
+
.picker_arrow
|
5 |
+
|
6 |
+
.picker_hue.picker_slider
|
7 |
+
.picker_selector
|
8 |
+
|
9 |
+
.picker_sl
|
10 |
+
.picker_selector
|
11 |
+
|
12 |
+
.picker_alpha.picker_slider
|
13 |
+
.picker_selector
|
14 |
+
|
15 |
+
.picker_editor
|
16 |
+
input(aria-label='Type a color name or hex value')
|
17 |
+
|
18 |
+
.picker_sample
|
19 |
+
|
20 |
+
.picker_done
|
21 |
+
button Ok
|
22 |
+
|
23 |
+
.picker_cancel
|
24 |
+
button Cancel
|
app/extensions/fields/asset/vanilla-picker-master/src/index.scss
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
@import "css/globals";
|
2 |
+
@import "css/layout";
|
3 |
+
@import "css/components";
|
4 |
+
@import "css/popup";
|
app/extensions/fields/asset/vanilla-picker-master/src/js/picker.js
ADDED
@@ -0,0 +1,712 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*global HTMLElement*/
|
2 |
+
|
3 |
+
import Color from '@sphinxxxx/color-conversion';
|
4 |
+
import * as utils from './utils.js';
|
5 |
+
|
6 |
+
|
7 |
+
//https://stackoverflow.com/a/51117224/1869660
|
8 |
+
const BG_TRANSP = `linear-gradient(45deg, lightgrey 25%, transparent 25%, transparent 75%, lightgrey 75%) 0 0 / 2em 2em,
|
9 |
+
linear-gradient(45deg, lightgrey 25%, white 25%, white 75%, lightgrey 75%) 1em 1em / 2em 2em`;
|
10 |
+
const HUES = 360;
|
11 |
+
//We need to use keydown instead of keypress to handle Esc from the editor textbox:
|
12 |
+
const EVENT_KEY = 'keydown', //'keypress'
|
13 |
+
EVENT_CLICK_OUTSIDE = 'mousedown',
|
14 |
+
EVENT_TAB_MOVE = 'focusin';
|
15 |
+
|
16 |
+
|
17 |
+
function $(selector, context) {
|
18 |
+
return (context || document).querySelector(selector);
|
19 |
+
}
|
20 |
+
|
21 |
+
function stopEvent(e) {
|
22 |
+
//Stop an event from bubbling up to the parent:
|
23 |
+
e.preventDefault();
|
24 |
+
e.stopPropagation();
|
25 |
+
}
|
26 |
+
function onKey(bucket, target, keys, handler, stop) {
|
27 |
+
bucket.add(target, EVENT_KEY, function(e) {
|
28 |
+
if(keys.indexOf(e.key) >= 0) {
|
29 |
+
if(stop) { stopEvent(e); }
|
30 |
+
handler(e);
|
31 |
+
}
|
32 |
+
});
|
33 |
+
}
|
34 |
+
|
35 |
+
|
36 |
+
class Picker {
|
37 |
+
|
38 |
+
//https://stackoverflow.com/questions/24214962/whats-the-proper-way-to-document-callbacks-with-jsdoc
|
39 |
+
/**
|
40 |
+
* A callback that gets the picker's current color value.
|
41 |
+
*
|
42 |
+
* @callback Picker~colorCallback
|
43 |
+
* @param {Object} color
|
44 |
+
* @param {number[]} color.rgba - RGBA color components.
|
45 |
+
* @param {number[]} color.hsla - HSLA color components (all values between 0 and 1, inclusive).
|
46 |
+
* @param {string} color.rgbString - RGB CSS value (e.g. `rgb(255,215,0)`).
|
47 |
+
* @param {string} color.rgbaString - RGBA CSS value (e.g. `rgba(255,215,0, .5)`).
|
48 |
+
* @param {string} color.hslString - HSL CSS value (e.g. `hsl(50.6,100%,50%)`).
|
49 |
+
* @param {string} color.hslaString - HSLA CSS value (e.g. `hsla(50.6,100%,50%, .5)`).
|
50 |
+
* @param {string} color.hex - 8 digit #RRGGBBAA (not supported in all browsers).
|
51 |
+
*/
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Create a color picker.
|
55 |
+
*
|
56 |
+
* @example
|
57 |
+
* var picker = new Picker(myParentElement);
|
58 |
+
* picker.onDone = function(color) {
|
59 |
+
* myParentElement.style.backgroundColor = color.rgbaString;
|
60 |
+
* };
|
61 |
+
*
|
62 |
+
* @example
|
63 |
+
* var picker = new Picker({
|
64 |
+
* parent: myParentElement,
|
65 |
+
* color: 'gold',
|
66 |
+
* onChange: function(color) {
|
67 |
+
* myParentElement.style.backgroundColor = color.rgbaString;
|
68 |
+
* },
|
69 |
+
* });
|
70 |
+
*
|
71 |
+
* @param {Object} options - @see {@linkcode Picker#setOptions|setOptions()}
|
72 |
+
*/
|
73 |
+
constructor(options) {
|
74 |
+
|
75 |
+
//Default settings
|
76 |
+
this.settings = {
|
77 |
+
//Allow creating a popup without putting it on screen yet.
|
78 |
+
// parent: document.body,
|
79 |
+
popup: 'right',
|
80 |
+
layout: 'default',
|
81 |
+
alpha: true,
|
82 |
+
editor: true,
|
83 |
+
editorFormat: 'hex',
|
84 |
+
cancelButton: false,
|
85 |
+
defaultColor: '#0cf'
|
86 |
+
};
|
87 |
+
|
88 |
+
this._events = new utils.EventBucket();
|
89 |
+
|
90 |
+
/**
|
91 |
+
* Callback whenever the color changes.
|
92 |
+
* @member {Picker~colorCallback}
|
93 |
+
*/
|
94 |
+
this.onChange = null;
|
95 |
+
/**
|
96 |
+
* Callback when the user clicks "Ok".
|
97 |
+
* @member {Picker~colorCallback}
|
98 |
+
*/
|
99 |
+
this.onDone = null;
|
100 |
+
/**
|
101 |
+
* Callback when the popup opens.
|
102 |
+
* @member {Picker~colorCallback}
|
103 |
+
*/
|
104 |
+
this.onOpen = null;
|
105 |
+
/**
|
106 |
+
* Callback when the popup closes.
|
107 |
+
* @member {Picker~colorCallback}
|
108 |
+
*/
|
109 |
+
this.onClose = null;
|
110 |
+
|
111 |
+
this.setOptions(options);
|
112 |
+
}
|
113 |
+
|
114 |
+
|
115 |
+
/**
|
116 |
+
* Set the picker options.
|
117 |
+
*
|
118 |
+
* @param {Object} options
|
119 |
+
* @param {HTMLElement} options.parent - Which element the picker should be attached to.
|
120 |
+
* @param {('top'|'bottom'|'left'|'right'|false)}
|
121 |
+
* [options.popup=right] - If the picker is used as a popup, where to place it relative to the parent. `false` to add the picker as a normal child element of the parent.
|
122 |
+
* @param {string} [options.template] - Custom HTML string from which to build the picker. See /src/picker.pug for required elements and class names.
|
123 |
+
* @param {string} [options.layout=default] - Suffix of a custom "layout_..." CSS class to handle the overall arrangement of the picker elements.
|
124 |
+
* @param {boolean} [options.alpha=true] - Whether to enable adjusting the alpha channel.
|
125 |
+
* @param {boolean} [options.editor=true] - Whether to show a text field for color value editing.
|
126 |
+
* @param {('hex'|'hsl'|'rgb')}
|
127 |
+
* [options.editorFormat=hex] - How to display the selected color in the text field (the text field still supports *input* in any format).
|
128 |
+
* @param {boolean} [options.cancelButton=false] - Whether to have a "Cancel" button which closes the popup.
|
129 |
+
* @param {string} [options.color] - Initial color for the picker.
|
130 |
+
* @param {function} [options.onChange] - @see {@linkcode Picker#onChange|onChange}
|
131 |
+
* @param {function} [options.onDone] - @see {@linkcode Picker#onDone|onDone}
|
132 |
+
* @param {function} [options.onOpen] - @see {@linkcode Picker#onOpen|onOpen}
|
133 |
+
* @param {function} [options.onClose] - @see {@linkcode Picker#onClose|onClose}
|
134 |
+
*/
|
135 |
+
setOptions(options) {
|
136 |
+
if(!options) { return; }
|
137 |
+
const settings = this.settings;
|
138 |
+
|
139 |
+
function transfer(source, target, skipKeys) {
|
140 |
+
for (const key in source) {
|
141 |
+
if(skipKeys && (skipKeys.indexOf(key) >= 0)) { continue; }
|
142 |
+
|
143 |
+
target[key] = source[key];
|
144 |
+
}
|
145 |
+
}
|
146 |
+
|
147 |
+
if(options instanceof HTMLElement) {
|
148 |
+
settings.parent = options;
|
149 |
+
}
|
150 |
+
else {
|
151 |
+
//const skipKeys = [];
|
152 |
+
//
|
153 |
+
//if(options.popup instanceof Object) {
|
154 |
+
// transfer(options.popup, settings.popup);
|
155 |
+
// skipKeys.push('popup');
|
156 |
+
//}
|
157 |
+
|
158 |
+
/* //TODO: options.layout -> Object
|
159 |
+
{
|
160 |
+
mode: 'hsla', //'hsla', 'hasl', 'hsl'. Deprecate options.alpha
|
161 |
+
verticalHue: false,
|
162 |
+
verticalAlpha: true,
|
163 |
+
alphaOnSL: false,
|
164 |
+
editor: true, //Deprecate options.editor
|
165 |
+
css: undefined, //Same as old options.layout. Default from mode
|
166 |
+
//.template as well?
|
167 |
+
}
|
168 |
+
//*/
|
169 |
+
|
170 |
+
//New parent?
|
171 |
+
if(settings.parent && options.parent && (settings.parent !== options.parent)) {
|
172 |
+
this._events.remove(settings.parent); //.removeEventListener('click', this._openProxy, false);
|
173 |
+
this._popupInited = false;
|
174 |
+
}
|
175 |
+
|
176 |
+
transfer(options, settings/*, skipKeys*/);
|
177 |
+
|
178 |
+
//Event callbacks. Hook these up before setColor() below,
|
179 |
+
//because we'll need to fire onChange() if there is a color in the options
|
180 |
+
if(options.onChange) { this.onChange = options.onChange; }
|
181 |
+
if(options.onDone) { this.onDone = options.onDone; }
|
182 |
+
if(options.onOpen) { this.onOpen = options.onOpen; }
|
183 |
+
if(options.onClose) { this.onClose = options.onClose; }
|
184 |
+
|
185 |
+
//Note: Look for color in 'options', as a color value in 'settings' may be an old one we don't want to revert to.
|
186 |
+
const col = options.color || options.colour;
|
187 |
+
if(col) { this._setColor(col); }
|
188 |
+
}
|
189 |
+
|
190 |
+
//Init popup behavior once we have all the parts we need:
|
191 |
+
const parent = settings.parent;
|
192 |
+
if(parent && settings.popup && !this._popupInited) {
|
193 |
+
|
194 |
+
//Keep openHandler() pluggable, but call it in the right context:
|
195 |
+
const openProxy = (e) => this.openHandler(e);
|
196 |
+
|
197 |
+
this._events.add(parent, 'click', openProxy);
|
198 |
+
|
199 |
+
//Keyboard navigation: Open on [Space] or [Enter] (but stop the event to avoid typing a " " in the editor textbox).
|
200 |
+
//No, don't stop the event, as that would disable normal input behavior (typing a " " or clicking the Ok button with [Enter]).
|
201 |
+
//Fix: setTimeout() in openHandler()..
|
202 |
+
//
|
203 |
+
//https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values#Whitespace_keys
|
204 |
+
onKey(this._events, parent, [' ', 'Spacebar', 'Enter'], openProxy/*, true*/);
|
205 |
+
|
206 |
+
//This must wait until we have created our DOM..
|
207 |
+
// addEvent(window, 'mousedown', (e) => this.closeHandler(e));
|
208 |
+
// addEvent(this._domOkay, 'click', (e) => this.closeHandler(e));
|
209 |
+
|
210 |
+
this._popupInited = true;
|
211 |
+
}
|
212 |
+
else if(options.parent && !settings.popup) {
|
213 |
+
this.show();
|
214 |
+
}
|
215 |
+
}
|
216 |
+
|
217 |
+
|
218 |
+
/**
|
219 |
+
* Default behavior for opening the popup
|
220 |
+
*/
|
221 |
+
openHandler(e) {
|
222 |
+
if(this.show()) {
|
223 |
+
//If the parent is an <a href="#"> element, avoid scrolling to the top:
|
224 |
+
e && e.preventDefault();
|
225 |
+
|
226 |
+
//A trick to avoid re-opening the dialog if you click the parent element while the dialog is open:
|
227 |
+
this.settings.parent.style.pointerEvents = 'none';
|
228 |
+
|
229 |
+
//Recommended popup behavior with keyboard navigation from http://whatsock.com/tsg/Coding%20Arena/Popups/Popup%20(Internal%20Content)/demo.htm
|
230 |
+
//Wait a little before focusing the textbox, in case the dialog was just opened with [Space] (would overwrite the color value with a " "):
|
231 |
+
const toFocus = (e && (e.type === EVENT_KEY)) ? this._domEdit : this.domElement;
|
232 |
+
setTimeout(() => toFocus.focus(), 100);
|
233 |
+
|
234 |
+
if(this.onOpen) { this.onOpen(this.colour); }
|
235 |
+
}
|
236 |
+
}
|
237 |
+
|
238 |
+
|
239 |
+
/**
|
240 |
+
* Default behavior for closing the popup
|
241 |
+
*/
|
242 |
+
closeHandler(e) {
|
243 |
+
const event = e && e.type;
|
244 |
+
let doHide = false;
|
245 |
+
|
246 |
+
//Close programmatically:
|
247 |
+
if(!e) {
|
248 |
+
doHide = true;
|
249 |
+
}
|
250 |
+
//Close by clicking/tabbing outside the popup:
|
251 |
+
else if((event === EVENT_CLICK_OUTSIDE) || (event === EVENT_TAB_MOVE)) {
|
252 |
+
|
253 |
+
//See comments in `_bindEvents()`.
|
254 |
+
//Undesirable behavior in Firefox though: When clicking (mousedown) the [Ok] button or the textbox,
|
255 |
+
//a `focusout` is raised on `picker_wrapper`, followed by a `focusin` on the parent (if it is focusable).
|
256 |
+
//To keep that new event from closing the popup, we add 100ms to our time control:
|
257 |
+
const knownTime = (this.__containedEvent || 0) + 100;
|
258 |
+
if(e.timeStamp > knownTime) {
|
259 |
+
doHide = true;
|
260 |
+
}
|
261 |
+
}
|
262 |
+
//Close by mouse/touch or key events:
|
263 |
+
else {
|
264 |
+
//Don't bubble [Ok] clicks or [Enter] keys up to the parent, because that's the trigger to re-open the popup.
|
265 |
+
stopEvent(e);
|
266 |
+
|
267 |
+
doHide = true;
|
268 |
+
}
|
269 |
+
|
270 |
+
if(doHide && this.hide()) {
|
271 |
+
this.settings.parent.style.pointerEvents = '';
|
272 |
+
|
273 |
+
//Recommended popup behavior from http://whatsock.com/tsg/Coding%20Arena/Popups/Popup%20(Internal%20Content)/demo.htm
|
274 |
+
//However, we don't re-focus the parent if the user closes the popup by clicking somewhere else on the screen,
|
275 |
+
//because they may have scrolled to a different part of the page by then, and focusing would then inadvertently scroll the parent back into view:
|
276 |
+
if(event !== EVENT_CLICK_OUTSIDE) {
|
277 |
+
this.settings.parent.focus();
|
278 |
+
}
|
279 |
+
|
280 |
+
if(this.onClose) { this.onClose(this.colour); }
|
281 |
+
}
|
282 |
+
}
|
283 |
+
|
284 |
+
|
285 |
+
/**
|
286 |
+
* Move the popup to a different parent, optionally opening it at the same time.
|
287 |
+
*
|
288 |
+
* @param {Object} options - @see {@linkcode Picker#setOptions|setOptions()} (Usually a new `.parent` and `.color`).
|
289 |
+
* @param {boolean} open - Whether to open the popup immediately.
|
290 |
+
*/
|
291 |
+
movePopup(options, open) {
|
292 |
+
//Cleanup if the popup is currently open (at least revert the current parent's .pointerEvents);
|
293 |
+
this.closeHandler();
|
294 |
+
|
295 |
+
this.setOptions(options);
|
296 |
+
if(open) {
|
297 |
+
this.openHandler();
|
298 |
+
}
|
299 |
+
}
|
300 |
+
|
301 |
+
|
302 |
+
/**
|
303 |
+
* Set/initialize the picker's color.
|
304 |
+
*
|
305 |
+
* @param {string} color - Color name, RGBA/HSLA/HEX string, or RGBA array.
|
306 |
+
* @param {boolean} silent - If true, won't trigger onChange.
|
307 |
+
*/
|
308 |
+
setColor(color, silent) {
|
309 |
+
this._setColor(color, { silent: silent });
|
310 |
+
}
|
311 |
+
_setColor(color, flags) {
|
312 |
+
if(typeof color === 'string') { color = color.trim(); }
|
313 |
+
if (!color) { return; }
|
314 |
+
|
315 |
+
flags = flags || {};
|
316 |
+
let c;
|
317 |
+
try {
|
318 |
+
//Will throw on unknown colors:
|
319 |
+
c = new Color(color);
|
320 |
+
}
|
321 |
+
catch (ex) {
|
322 |
+
if(flags.failSilently) { return; }
|
323 |
+
throw ex;
|
324 |
+
}
|
325 |
+
|
326 |
+
if(!this.settings.alpha) {
|
327 |
+
const hsla = c.hsla;
|
328 |
+
hsla[3] = 1;
|
329 |
+
c.hsla = hsla;
|
330 |
+
}
|
331 |
+
this.colour = this.color = c;
|
332 |
+
this._setHSLA(null, null, null, null, flags);
|
333 |
+
}
|
334 |
+
/**
|
335 |
+
* @see {@linkcode Picker#setColor|setColor()}
|
336 |
+
*/
|
337 |
+
setColour(colour, silent) {
|
338 |
+
this.setColor(colour, silent);
|
339 |
+
}
|
340 |
+
|
341 |
+
|
342 |
+
/**
|
343 |
+
* Show/open the picker.
|
344 |
+
*/
|
345 |
+
show() {
|
346 |
+
const parent = this.settings.parent;
|
347 |
+
if(!parent) { return false; }
|
348 |
+
|
349 |
+
//Unhide html if it exists
|
350 |
+
if(this.domElement) {
|
351 |
+
const toggled = this._toggleDOM(true);
|
352 |
+
|
353 |
+
//Things could have changed through setOptions():
|
354 |
+
this._setPosition();
|
355 |
+
|
356 |
+
return toggled;
|
357 |
+
}
|
358 |
+
|
359 |
+
const html = this.settings.template || `## PLACEHOLDER-HTML ##`;
|
360 |
+
const wrapper = utils.parseHTML(html);
|
361 |
+
|
362 |
+
this.domElement = wrapper;
|
363 |
+
this._domH = $('.picker_hue', wrapper);
|
364 |
+
this._domSL = $('.picker_sl', wrapper);
|
365 |
+
this._domA = $('.picker_alpha', wrapper);
|
366 |
+
this._domEdit = $('.picker_editor input', wrapper);
|
367 |
+
this._domSample = $('.picker_sample', wrapper);
|
368 |
+
this._domOkay = $('.picker_done button', wrapper);
|
369 |
+
this._domCancel = $('.picker_cancel button', wrapper);
|
370 |
+
|
371 |
+
wrapper.classList.add('layout_' + this.settings.layout);
|
372 |
+
if(!this.settings.alpha) { wrapper.classList.add('no_alpha'); }
|
373 |
+
if(!this.settings.editor) { wrapper.classList.add('no_editor'); }
|
374 |
+
if(!this.settings.cancelButton) { wrapper.classList.add('no_cancel'); }
|
375 |
+
this._ifPopup(() => wrapper.classList.add('popup'));
|
376 |
+
|
377 |
+
this._setPosition();
|
378 |
+
|
379 |
+
|
380 |
+
if(this.colour) {
|
381 |
+
this._updateUI();
|
382 |
+
}
|
383 |
+
else {
|
384 |
+
this._setColor(this.settings.defaultColor);
|
385 |
+
}
|
386 |
+
this._bindEvents();
|
387 |
+
|
388 |
+
return true;
|
389 |
+
}
|
390 |
+
|
391 |
+
|
392 |
+
/**
|
393 |
+
* Hide the picker.
|
394 |
+
*/
|
395 |
+
hide() {
|
396 |
+
return this._toggleDOM(false);
|
397 |
+
}
|
398 |
+
|
399 |
+
|
400 |
+
/**
|
401 |
+
* Release all resources used by this picker instance.
|
402 |
+
*/
|
403 |
+
destroy() {
|
404 |
+
this._events.destroy();
|
405 |
+
if(this.domElement) {
|
406 |
+
this.settings.parent.removeChild(this.domElement);
|
407 |
+
}
|
408 |
+
}
|
409 |
+
|
410 |
+
|
411 |
+
/*
|
412 |
+
* Handle user input.
|
413 |
+
*
|
414 |
+
* @private
|
415 |
+
*/
|
416 |
+
_bindEvents() {
|
417 |
+
const that = this,
|
418 |
+
dom = this.domElement,
|
419 |
+
events = this._events;
|
420 |
+
|
421 |
+
function addEvent(target, type, handler) {
|
422 |
+
events.add(target, type, handler);
|
423 |
+
}
|
424 |
+
|
425 |
+
|
426 |
+
//Prevent clicks while dragging from bubbling up to the parent:
|
427 |
+
addEvent(dom, 'click', e => e.preventDefault());
|
428 |
+
|
429 |
+
|
430 |
+
/* Draggable color selection */
|
431 |
+
|
432 |
+
//Select hue
|
433 |
+
utils.dragTrack(events, this._domH, (x, y) => that._setHSLA(x));
|
434 |
+
|
435 |
+
//Select saturation/lightness
|
436 |
+
utils.dragTrack(events, this._domSL, (x, y) => that._setHSLA(null, x, 1 - y));
|
437 |
+
|
438 |
+
//Select alpha
|
439 |
+
if(this.settings.alpha) {
|
440 |
+
utils.dragTrack(events, this._domA, (x, y) => that._setHSLA(null, null, null, 1 - y));
|
441 |
+
}
|
442 |
+
|
443 |
+
|
444 |
+
/* Direct color value editing */
|
445 |
+
|
446 |
+
//Always init the editor, for accessibility and screen readers (we'll hide it with CSS if `!settings.editor`)
|
447 |
+
const editInput = this._domEdit;
|
448 |
+
/*if(this.settings.editor)*/ {
|
449 |
+
addEvent(editInput, 'input', function(e) {
|
450 |
+
that._setColor(this.value, { fromEditor: true, failSilently: true });
|
451 |
+
});
|
452 |
+
//Select all text on focus:
|
453 |
+
addEvent(editInput, 'focus', function(e) {
|
454 |
+
const input = this;
|
455 |
+
//If no current selection:
|
456 |
+
if(input.selectionStart === input.selectionEnd) {
|
457 |
+
input.select();
|
458 |
+
}
|
459 |
+
});
|
460 |
+
}
|
461 |
+
|
462 |
+
|
463 |
+
/* Close the dialog */
|
464 |
+
|
465 |
+
//onClose:
|
466 |
+
this._ifPopup(() => {
|
467 |
+
//Keep closeHandler() pluggable, but call it in the right context:
|
468 |
+
const popupCloseProxy = (e) => this.closeHandler(e);
|
469 |
+
|
470 |
+
addEvent(window, EVENT_CLICK_OUTSIDE, popupCloseProxy);
|
471 |
+
addEvent(window, EVENT_TAB_MOVE, popupCloseProxy);
|
472 |
+
onKey(events, dom, ['Esc', 'Escape'], popupCloseProxy);
|
473 |
+
|
474 |
+
//Above, we added events on `window` to close the popup if the user clicks outside or tabs away from the picker.
|
475 |
+
//Now, we must make sure that clicks and tabs within the picker don't cause the popup to close.
|
476 |
+
//Things we have tried:
|
477 |
+
// * Check `e.target` in `closeHandler()` and see if it's a child element of the picker.
|
478 |
+
// - That won't work if used in a shadow DOM, where the original `target` isn't available once the event reaches `window` (issue #15).
|
479 |
+
// * Stop the events from propagating past the popup element (using `e.stopPropagation()`).
|
480 |
+
// - ..but stopping mouse events interferes with text selection in the editor.
|
481 |
+
//
|
482 |
+
//So, next attempt: Note the `timeStamp` of the contained event, and check it in `closeHandler()`.
|
483 |
+
//That should be a unique identifier of the event, and the time seems to be preserved when retargeting shadow DOM events:
|
484 |
+
const timeKeeper = (e) => {
|
485 |
+
this.__containedEvent = e.timeStamp;
|
486 |
+
}
|
487 |
+
addEvent(dom, EVENT_CLICK_OUTSIDE, timeKeeper);
|
488 |
+
//Note: Now that we have added the 'focusin' event, this trick requires the picker wrapper to be focusable (via `tabindex` - see /src/picker.pug),
|
489 |
+
//or else the popup loses focus if you click anywhere on the picker's background.
|
490 |
+
addEvent(dom, EVENT_TAB_MOVE, timeKeeper);
|
491 |
+
|
492 |
+
//Cancel button:
|
493 |
+
addEvent(this._domCancel, 'click', popupCloseProxy);
|
494 |
+
});
|
495 |
+
|
496 |
+
//onDone:
|
497 |
+
const onDoneProxy = (e) => {
|
498 |
+
this._ifPopup(() => this.closeHandler(e));
|
499 |
+
if(this.onDone) { this.onDone(this.colour); }
|
500 |
+
};
|
501 |
+
addEvent(this._domOkay, 'click', onDoneProxy);
|
502 |
+
onKey(events, dom, ['Enter'], onDoneProxy);
|
503 |
+
}
|
504 |
+
|
505 |
+
|
506 |
+
/*
|
507 |
+
* Position the picker on screen.
|
508 |
+
*
|
509 |
+
* @private
|
510 |
+
*/
|
511 |
+
_setPosition() {
|
512 |
+
const parent = this.settings.parent,
|
513 |
+
elm = this.domElement;
|
514 |
+
|
515 |
+
if(parent !== elm.parentNode) { parent.appendChild(elm); }
|
516 |
+
|
517 |
+
this._ifPopup((popup) => {
|
518 |
+
|
519 |
+
//Allow for absolute positioning of the picker popup:
|
520 |
+
if(getComputedStyle(parent).position === 'static') {
|
521 |
+
parent.style.position = 'relative';
|
522 |
+
}
|
523 |
+
|
524 |
+
const cssClass = (popup === true) ? 'popup_right' : 'popup_' + popup;
|
525 |
+
|
526 |
+
['popup_top', 'popup_bottom', 'popup_left', 'popup_right'].forEach(c => {
|
527 |
+
//Because IE doesn't support .classList.toggle()'s second argument...
|
528 |
+
if(c === cssClass) {
|
529 |
+
elm.classList.add(c);
|
530 |
+
}
|
531 |
+
else {
|
532 |
+
elm.classList.remove(c);
|
533 |
+
}
|
534 |
+
});
|
535 |
+
|
536 |
+
//Allow for custom placement via CSS:
|
537 |
+
elm.classList.add(cssClass);
|
538 |
+
});
|
539 |
+
}
|
540 |
+
|
541 |
+
|
542 |
+
/*
|
543 |
+
* "Hub" for all color changes
|
544 |
+
*
|
545 |
+
* @private
|
546 |
+
*/
|
547 |
+
_setHSLA(h, s, l, a, flags) {
|
548 |
+
flags = flags || {};
|
549 |
+
|
550 |
+
const col = this.colour,
|
551 |
+
hsla = col.hsla;
|
552 |
+
|
553 |
+
[h, s, l, a].forEach((x, i) => {
|
554 |
+
if(x || (x === 0)) { hsla[i] = x; }
|
555 |
+
});
|
556 |
+
col.hsla = hsla;
|
557 |
+
|
558 |
+
this._updateUI(flags);
|
559 |
+
|
560 |
+
if(this.onChange && !flags.silent) { this.onChange(col); }
|
561 |
+
}
|
562 |
+
|
563 |
+
_updateUI(flags) {
|
564 |
+
if(!this.domElement) { return; }
|
565 |
+
flags = flags || {};
|
566 |
+
|
567 |
+
const col = this.colour,
|
568 |
+
hsl = col.hsla,
|
569 |
+
cssHue = `hsl(${hsl[0] * HUES}, 100%, 50%)`,
|
570 |
+
cssHSL = col.hslString,
|
571 |
+
cssHSLA = col.hslaString;
|
572 |
+
|
573 |
+
const uiH = this._domH,
|
574 |
+
uiSL = this._domSL,
|
575 |
+
uiA = this._domA,
|
576 |
+
thumbH = $('.picker_selector', uiH),
|
577 |
+
thumbSL = $('.picker_selector', uiSL),
|
578 |
+
thumbA = $('.picker_selector', uiA);
|
579 |
+
|
580 |
+
function posX(parent, child, relX) {
|
581 |
+
child.style.left = (relX * 100) + '%'; //(parent.clientWidth * relX) + 'px';
|
582 |
+
}
|
583 |
+
function posY(parent, child, relY) {
|
584 |
+
child.style.top = (relY * 100) + '%'; //(parent.clientHeight * relY) + 'px';
|
585 |
+
}
|
586 |
+
|
587 |
+
|
588 |
+
/* Hue */
|
589 |
+
|
590 |
+
posX(uiH, thumbH, hsl[0]);
|
591 |
+
|
592 |
+
//Use the fully saturated hue on the SL panel and Hue thumb:
|
593 |
+
this._domSL.style.backgroundColor = this._domH.style.color = cssHue;
|
594 |
+
|
595 |
+
|
596 |
+
/* S/L */
|
597 |
+
|
598 |
+
posX(uiSL, thumbSL, hsl[1]);
|
599 |
+
posY(uiSL, thumbSL, 1 - hsl[2]);
|
600 |
+
|
601 |
+
//Use the opaque HSL on the SL thumb:
|
602 |
+
uiSL.style.color = cssHSL;
|
603 |
+
|
604 |
+
|
605 |
+
/* Alpha */
|
606 |
+
|
607 |
+
posY(uiA, thumbA, 1 - hsl[3]);
|
608 |
+
|
609 |
+
const opaque = cssHSL,
|
610 |
+
transp = opaque.replace('hsl', 'hsla').replace(')', ', 0)'),
|
611 |
+
bg = `linear-gradient(${[opaque, transp]})`;
|
612 |
+
|
613 |
+
//Let the Alpha slider fade from opaque to transparent:
|
614 |
+
this._domA.style.background = bg + ', ' + BG_TRANSP;
|
615 |
+
|
616 |
+
|
617 |
+
/* Editable value */
|
618 |
+
|
619 |
+
//Don't update the editor if the user is typing.
|
620 |
+
//That creates too much noise because of our auto-expansion of 3/4/6 -> 8 digit hex codes.
|
621 |
+
if(!flags.fromEditor) {
|
622 |
+
const format = this.settings.editorFormat,
|
623 |
+
alpha = this.settings.alpha;
|
624 |
+
|
625 |
+
let value;
|
626 |
+
switch (format) {
|
627 |
+
case 'rgb': value = col.printRGB(alpha); break;
|
628 |
+
case 'hsl': value = col.printHSL(alpha); break;
|
629 |
+
default: value = col.printHex(alpha);
|
630 |
+
}
|
631 |
+
this._domEdit.value = value;
|
632 |
+
}
|
633 |
+
|
634 |
+
|
635 |
+
/* Sample swatch */
|
636 |
+
|
637 |
+
this._domSample.style.color = cssHSLA;
|
638 |
+
}
|
639 |
+
|
640 |
+
|
641 |
+
_ifPopup(actionIf, actionElse) {
|
642 |
+
if(this.settings.parent && this.settings.popup) {
|
643 |
+
actionIf && actionIf(this.settings.popup);
|
644 |
+
}
|
645 |
+
else {
|
646 |
+
actionElse && actionElse();
|
647 |
+
}
|
648 |
+
}
|
649 |
+
|
650 |
+
|
651 |
+
_toggleDOM(toVisible) {
|
652 |
+
const dom = this.domElement;
|
653 |
+
if(!dom) { return false; }
|
654 |
+
|
655 |
+
const displayStyle = toVisible ? '' : 'none',
|
656 |
+
toggle = (dom.style.display !== displayStyle);
|
657 |
+
|
658 |
+
if(toggle) { dom.style.display = displayStyle; }
|
659 |
+
return toggle;
|
660 |
+
}
|
661 |
+
|
662 |
+
|
663 |
+
/*
|
664 |
+
//Feature: settings to flip hue & alpha 90deg (i.e. vertical or horizontal mode)
|
665 |
+
|
666 |
+
|
667 |
+
function createDragConfig(container, callbackRelative) {
|
668 |
+
const flipped = true;
|
669 |
+
|
670 |
+
function capRel(val) {
|
671 |
+
return (val < 0) ? 0
|
672 |
+
: (val > 1) ? 1 : val;
|
673 |
+
}
|
674 |
+
|
675 |
+
//Convert the px coordinates to relative coordinates (0-1) before invoking the callback:
|
676 |
+
function relayDrag(_, pos) {
|
677 |
+
const w = container.clientWidth,
|
678 |
+
h = container.clientHeight;
|
679 |
+
|
680 |
+
const relX = pos[0]/(flipped ? h : w),
|
681 |
+
relY = pos[1]/(flipped ? w : h);
|
682 |
+
|
683 |
+
callbackRelative(capRel(relX), capRel(relY));
|
684 |
+
}
|
685 |
+
|
686 |
+
const config = {
|
687 |
+
container: container,
|
688 |
+
//dragOutside: false,
|
689 |
+
callback: relayDrag,
|
690 |
+
//Respond at once (mousedown), don't wait for click or drag:
|
691 |
+
callbackDragStart: relayDrag,
|
692 |
+
};
|
693 |
+
return config;
|
694 |
+
}
|
695 |
+
*/
|
696 |
+
}
|
697 |
+
|
698 |
+
/* Inject the default CSS (if we're not building for strict CSP settings) */
|
699 |
+
if ('## PLACEHOLDER-CSS-SECTION ##') {
|
700 |
+
const style = document.createElement('style');
|
701 |
+
style.textContent = `## PLACEHOLDER-CSS ##`;
|
702 |
+
document.documentElement.firstElementChild //<head>, or <body> if there is no <head>
|
703 |
+
.appendChild(style);
|
704 |
+
|
705 |
+
/**
|
706 |
+
* The `<style>` element for picker CSS which is added to the document.
|
707 |
+
*/
|
708 |
+
Picker.StyleElement = style;
|
709 |
+
}
|
710 |
+
|
711 |
+
|
712 |
+
export default Picker;
|
app/extensions/fields/asset/vanilla-picker-master/src/js/utils.js
ADDED
@@ -0,0 +1,107 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
class EventBucket {
|
2 |
+
constructor() {
|
3 |
+
this._events = [];
|
4 |
+
}
|
5 |
+
|
6 |
+
add(target, type, handler) {
|
7 |
+
target.addEventListener(type, handler, false);
|
8 |
+
this._events.push({
|
9 |
+
target,
|
10 |
+
type,
|
11 |
+
handler,
|
12 |
+
});
|
13 |
+
}
|
14 |
+
|
15 |
+
remove(target, type, handler) {
|
16 |
+
this._events = this._events.filter(e => {
|
17 |
+
let isMatch = true;
|
18 |
+
if(target && (target !== e.target)) { isMatch = false; }
|
19 |
+
if(type && (type !== e.type)) { isMatch = false; }
|
20 |
+
if(handler && (handler !== e.handler)) { isMatch = false; }
|
21 |
+
|
22 |
+
if(isMatch) {
|
23 |
+
EventBucket._doRemove(e.target, e.type, e.handler);
|
24 |
+
}
|
25 |
+
return !isMatch;
|
26 |
+
});
|
27 |
+
}
|
28 |
+
static _doRemove(target, type, handler) {
|
29 |
+
target.removeEventListener(type, handler, false);
|
30 |
+
}
|
31 |
+
|
32 |
+
destroy() {
|
33 |
+
this._events.forEach(e => EventBucket._doRemove(e.target, e.type, e.handler));
|
34 |
+
this._events = [];
|
35 |
+
}
|
36 |
+
}
|
37 |
+
|
38 |
+
function parseHTML(htmlString) {
|
39 |
+
//https://stackoverflow.com/questions/494143/creating-a-new-dom-element-from-an-html-string-using-built-in-dom-methods-or-pro
|
40 |
+
const div = document.createElement('div');
|
41 |
+
div.innerHTML = htmlString;
|
42 |
+
return div.firstElementChild;
|
43 |
+
}
|
44 |
+
|
45 |
+
function dragTrack(eventBucket, area, callback) {
|
46 |
+
var dragging = false;
|
47 |
+
|
48 |
+
function clamp(val, min, max) {
|
49 |
+
return Math.max(min, Math.min(val, max));
|
50 |
+
}
|
51 |
+
|
52 |
+
function onMove(e, info, starting) {
|
53 |
+
if (starting) { dragging = true; }
|
54 |
+
if (!dragging) { return; }
|
55 |
+
|
56 |
+
e.preventDefault();
|
57 |
+
|
58 |
+
var bounds = area.getBoundingClientRect(),
|
59 |
+
w = bounds.width,
|
60 |
+
h = bounds.height,
|
61 |
+
x = info.clientX,
|
62 |
+
y = info.clientY;
|
63 |
+
|
64 |
+
var relX = clamp(x - bounds.left, 0, w),
|
65 |
+
relY = clamp(y - bounds.top, 0, h);
|
66 |
+
|
67 |
+
callback(relX / w, relY / h);
|
68 |
+
}
|
69 |
+
|
70 |
+
function onMouse(e, starting) {
|
71 |
+
var button = (e.buttons === undefined) ? e.which : e.buttons;
|
72 |
+
if (button === 1) {
|
73 |
+
onMove(e, e, starting);
|
74 |
+
}
|
75 |
+
//`mouseup` outside of window:
|
76 |
+
else {
|
77 |
+
dragging = false;
|
78 |
+
}
|
79 |
+
}
|
80 |
+
|
81 |
+
function onTouch(e, starting) {
|
82 |
+
if (e.touches.length === 1) {
|
83 |
+
onMove(e, e.touches[0], starting);
|
84 |
+
}
|
85 |
+
//Don't interfere with pinch-to-zoom etc:
|
86 |
+
else {
|
87 |
+
dragging = false;
|
88 |
+
}
|
89 |
+
}
|
90 |
+
|
91 |
+
//Notice how we must listen on the whole window to really keep track of mouse movements,
|
92 |
+
//while touch movements "stick" to the original target from `touchstart` (which works well for our purposes here):
|
93 |
+
//
|
94 |
+
// https://stackoverflow.com/a/51750458/1869660
|
95 |
+
// "Mouse moves = *hover* like behavior. Touch moves = *drags* like behavior"
|
96 |
+
//
|
97 |
+
eventBucket.add(area, 'mousedown', function(e) { onMouse(e, true); });
|
98 |
+
eventBucket.add(area, 'touchstart', function(e) { onTouch(e, true); });
|
99 |
+
eventBucket.add(window, 'mousemove', onMouse);
|
100 |
+
eventBucket.add(area, 'touchmove', onTouch);
|
101 |
+
eventBucket.add(window, 'mouseup', function(e) { dragging = false; });
|
102 |
+
eventBucket.add(area, 'touchend', function(e) { dragging = false; });
|
103 |
+
eventBucket.add(area, 'touchcancel', function(e) { dragging = false; });
|
104 |
+
}
|
105 |
+
|
106 |
+
|
107 |
+
export { EventBucket, parseHTML, dragTrack };
|
app/extensions/fields/config/main.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/config/metabox/gallery_slider_animation.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/config/metabox/gallery_slider_content.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/config/metabox/gallery_slider_general.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/config/metabox/gallery_slider_interface.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
@@ -10,6 +10,8 @@
|
|
10 |
|
11 |
*/
|
12 |
|
|
|
|
|
13 |
return array(
|
14 |
'active' => true,
|
15 |
'order' => 3,
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
10 |
|
11 |
*/
|
12 |
|
13 |
+
|
14 |
+
|
15 |
return array(
|
16 |
'active' => true,
|
17 |
'order' => 3,
|
app/extensions/fields/config/metabox/gallery_slider_lazyload.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/config/metabox/gallery_type.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/config/metabox/gallery_youtube.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/config/metabox/image.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/config/metabox/shortcode.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/config/metabox/update_notice.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/include/roboGalleryFields.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
@@ -31,6 +31,7 @@ class roboGalleryFields{
|
|
31 |
add_action('init', array($this, 'addMetaBoxes'));
|
32 |
add_action('admin_enqueue_scripts', array($this, 'enqueueScripts'));
|
33 |
add_filter('admin_body_class', array($this, 'adminBodyClass'));
|
|
|
34 |
}
|
35 |
|
36 |
public function addMetaBoxes(){
|
@@ -58,7 +59,7 @@ class roboGalleryFields{
|
|
58 |
/* JS */
|
59 |
wp_enqueue_script( ROBO_GALLERY_ASSETS_PREFIX.'foundation', ROBO_GALLERY_FIELDS_URL . 'asset/foundation/foundation.min.js', array('jquery'), false, true);
|
60 |
|
61 |
-
wp_enqueue_script( ROBO_GALLERY_ASSETS_PREFIX.'tinycolor', ROBO_GALLERY_FIELDS_URL . 'asset/tinycolor/dist/tinycolor-min.js', array(), false, false);
|
62 |
wp_enqueue_script( ROBO_GALLERY_ASSETS_PREFIX.'color-pick', ROBO_GALLERY_FIELDS_URL . 'asset/vanilla-picker-master/dist/vanilla-picker.min.js', array( ROBO_GALLERY_ASSETS_PREFIX.'tinycolor' ), false, false);
|
63 |
|
64 |
wp_enqueue_script( ROBO_GALLERY_ASSETS_PREFIX.'app', ROBO_GALLERY_FIELDS_URL . 'asset/core/js/app.js', array(ROBO_GALLERY_ASSETS_PREFIX.'foundation'), false, true);
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
31 |
add_action('init', array($this, 'addMetaBoxes'));
|
32 |
add_action('admin_enqueue_scripts', array($this, 'enqueueScripts'));
|
33 |
add_filter('admin_body_class', array($this, 'adminBodyClass'));
|
34 |
+
#no comments
|
35 |
}
|
36 |
|
37 |
public function addMetaBoxes(){
|
59 |
/* JS */
|
60 |
wp_enqueue_script( ROBO_GALLERY_ASSETS_PREFIX.'foundation', ROBO_GALLERY_FIELDS_URL . 'asset/foundation/foundation.min.js', array('jquery'), false, true);
|
61 |
|
62 |
+
wp_enqueue_script( ROBO_GALLERY_ASSETS_PREFIX.'tinycolor', ROBO_GALLERY_FIELDS_URL . 'asset/tinycolor/dist/tinycolor-min.js', array(), false, false);
|
63 |
wp_enqueue_script( ROBO_GALLERY_ASSETS_PREFIX.'color-pick', ROBO_GALLERY_FIELDS_URL . 'asset/vanilla-picker-master/dist/vanilla-picker.min.js', array( ROBO_GALLERY_ASSETS_PREFIX.'tinycolor' ), false, false);
|
64 |
|
65 |
wp_enqueue_script( ROBO_GALLERY_ASSETS_PREFIX.'app', ROBO_GALLERY_FIELDS_URL . 'asset/core/js/app.js', array(ROBO_GALLERY_ASSETS_PREFIX.'foundation'), false, true);
|
app/extensions/fields/include/roboGalleryFieldsAjax.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
@@ -26,9 +26,47 @@ class roboGalleryFieldsAjax{
|
|
26 |
}
|
27 |
//delete_option( 'yo_gallery_fields_voting1' );
|
28 |
//delete_option( 'yo_gallery_fields_feedback' );
|
29 |
-
//add_action('wp_ajax_yo_gallery_fields_saveoption', array( $this, 'saveOption') );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
}
|
31 |
|
|
|
32 |
function get_images_tags_from_ids() {
|
33 |
$idStr = isset($_POST['idstring']) ? trim($_POST['idstring']) : '';
|
34 |
echo self::getImagesTagsFromIdsStr($idStr);;
|
@@ -53,13 +91,14 @@ class roboGalleryFieldsAjax{
|
|
53 |
return $returnHtml;
|
54 |
}
|
55 |
|
|
|
56 |
public static function getImageTag( $id = 0 ){
|
57 |
|
58 |
$attachment_id = (int)$id;
|
59 |
if( $attachment_id == 0 ) return 'Error::empty input id';
|
60 |
|
61 |
$url = wp_get_attachment_thumb_url( $attachment_id );
|
62 |
-
if( $url ) return '<img src="'.$url.'" />';
|
63 |
return '';
|
64 |
}
|
65 |
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
26 |
}
|
27 |
//delete_option( 'yo_gallery_fields_voting1' );
|
28 |
//delete_option( 'yo_gallery_fields_feedback' );
|
29 |
+
//add_action('wp_ajax_yo_gallery_fields_saveoption', array( $this, 'saveOption') );
|
30 |
+
|
31 |
+
add_action( 'rest_api_init', function () {
|
32 |
+
register_rest_route( 'robogallery/v1', '/images/(?P<ids>[0-9,]+)', array(
|
33 |
+
'methods' => 'GET',
|
34 |
+
'callback' => array($this, 'getImagesUrls' ),
|
35 |
+
'permission_callback' => '__return_true',
|
36 |
+
) );
|
37 |
+
} );
|
38 |
+
}
|
39 |
+
|
40 |
+
function getImagesUrls( WP_REST_Request $request ) {
|
41 |
+
$ids = trim($request->get_param( 'ids' ));
|
42 |
+
|
43 |
+
if(!$ids) return array();
|
44 |
+
|
45 |
+
$idsArray = explode(',', $ids);
|
46 |
+
|
47 |
+
if ( !is_array( $idsArray ) || !count($idsArray) ) {
|
48 |
+
return array();
|
49 |
+
}
|
50 |
+
|
51 |
+
$returnArray = array();
|
52 |
+
for ($i=0; $i < count($idsArray); $i++) {
|
53 |
+
$returnArray[] = self::getImage($idsArray[$i]);
|
54 |
+
}
|
55 |
+
return $returnArray;
|
56 |
+
}
|
57 |
+
|
58 |
+
|
59 |
+
public static function getImage( $id = 0 ){
|
60 |
+
|
61 |
+
$attachment_id = (int)$id;
|
62 |
+
if( $attachment_id == 0 ) return 'Error::empty input id';
|
63 |
+
|
64 |
+
$url = wp_get_attachment_thumb_url( $attachment_id );
|
65 |
+
if( $url ) return array( 'id'=> $id, 'url'=>$url );
|
66 |
+
return '';
|
67 |
}
|
68 |
|
69 |
+
|
70 |
function get_images_tags_from_ids() {
|
71 |
$idStr = isset($_POST['idstring']) ? trim($_POST['idstring']) : '';
|
72 |
echo self::getImagesTagsFromIdsStr($idStr);;
|
91 |
return $returnHtml;
|
92 |
}
|
93 |
|
94 |
+
|
95 |
public static function getImageTag( $id = 0 ){
|
96 |
|
97 |
$attachment_id = (int)$id;
|
98 |
if( $attachment_id == 0 ) return 'Error::empty input id';
|
99 |
|
100 |
$url = wp_get_attachment_thumb_url( $attachment_id );
|
101 |
+
if( $url ) return '<img data-id="'.$attachment_id.'" src="'.$url.'" />';
|
102 |
return '';
|
103 |
}
|
104 |
|
app/extensions/fields/include/roboGalleryFieldsConfig.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/include/roboGalleryFieldsConfig/roboGalleryFieldsConfigReader.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/include/roboGalleryFieldsConfig/roboGalleryFieldsConfigReaderInterface.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/include/roboGalleryFieldsConfig/roboGalleryFieldsConfigReaderPhp.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsField.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsFieldCheckbox.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsFieldCheckboxGroup.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsFieldCheckboxGroupButton.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsFieldCheckboxGroupSwitch.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsFieldGalleryType.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsFieldHtml.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsFieldSelectMultiple.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsFieldText.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsFieldTextColor.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsFieldTextSlider.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/include/roboGalleryFieldsField/roboGalleryFieldsFieldThemes.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/include/roboGalleryFieldsFieldFactory.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/include/roboGalleryFieldsHelper.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/include/roboGalleryFieldsMetaBoxClass.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/include/roboGalleryFieldsView.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/init.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/template/content/gallery_type/content.tpl.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/fields/template/field/text/images.tpl.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
@@ -16,18 +16,32 @@ wp_enqueue_media();
|
|
16 |
wp_enqueue_style('wp-jquery-ui-dialog');
|
17 |
wp_enqueue_script('jquery-ui-dialog');
|
18 |
|
19 |
-
wp_enqueue_script( ROBO_GALLERY_ASSETS_PREFIX.'-field-type-gallery-lib', ROBO_GALLERY_FIELDS_URL.'asset/fields/gallery/js/gallery.lib.min.js', array('jquery'), false, true);
|
20 |
|
21 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
wp_enqueue_script( ROBO_GALLERY_ASSETS_PREFIX.'-field-type-gallery' );
|
23 |
|
|
|
24 |
$translation_array = array(
|
25 |
-
'iconUrl' => admin_url('/images/spinner.gif')
|
|
|
26 |
);
|
27 |
|
28 |
wp_localize_script( ROBO_GALLERY_ASSETS_PREFIX.'-field-type-gallery', 'roboGalleryFieldGallery', $translation_array );
|
29 |
|
30 |
-
|
31 |
wp_enqueue_style ( ROBO_GALLERY_ASSETS_PREFIX.'-field-type-gallery', ROBO_GALLERY_FIELDS_URL.'asset/fields/gallery/style.css', array( ), '' );
|
32 |
|
33 |
if ( $value == null || empty( $value ) || $value == ' ' || $value == '' ) $value = '';
|
@@ -62,12 +76,18 @@ if ( $value == null || empty( $value ) || $value == ' ' || $value == '' ) $value
|
|
62 |
</p>
|
63 |
</div>
|
64 |
|
|
|
|
|
|
|
|
|
|
|
65 |
<div class="content small-12 columns small-centered text-center">
|
66 |
<div id="robo_gallery_images_preview" class="text-center">
|
67 |
<span class="spinner is-active" style="margin-right: 50%; margin-bottom: -25px;"></span>
|
68 |
</div>
|
69 |
</div>
|
70 |
|
|
|
71 |
<?php if (!ROBO_GALLERY_TYR) : ?>
|
72 |
<div class="content small-12 columns text-center" style="margin: 25px 0 -6px;">
|
73 |
<?php echo rbsGalleryUtils::getProButton( __('Add All Pro Features + Gallery Images Links', 'robo-gallery') ); ?>
|
@@ -84,4 +104,4 @@ if ( $value == null || empty( $value ) || $value == ' ' || $value == '' ) $value
|
|
84 |
<div class="rb-pro-desc"><span class="dashicons dashicons-insert"></span> Social Sharing in LightBox </div>
|
85 |
<div class="rb-pro-desc"><span class="dashicons dashicons-insert"></span> Mixed Gallery (Photos/Videos/Linked Images)</div>
|
86 |
</div>
|
87 |
-
<?php endif;
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
16 |
wp_enqueue_style('wp-jquery-ui-dialog');
|
17 |
wp_enqueue_script('jquery-ui-dialog');
|
18 |
|
|
|
19 |
|
20 |
+
if(ROBO_GALLERY_DEV){
|
21 |
+
wp_enqueue_script( ROBO_GALLERY_ASSETS_PREFIX.'-field-type-gallery-lib', ROBO_GALLERY_FIELDS_URL.'asset/fields/gallery/gallery.lib.js', array('jquery'), false, true);
|
22 |
+
|
23 |
+
wp_enqueue_script( ROBO_GALLERY_ASSETS_PREFIX.'-field-sortedjs-lib', ROBO_GALLERY_FIELDS_URL.'asset/sortablejs/sortable.js', array(), false, true);
|
24 |
+
|
25 |
+
wp_register_script( ROBO_GALLERY_ASSETS_PREFIX.'-field-type-gallery', ROBO_GALLERY_FIELDS_URL.'asset/fields/gallery/script.js', array('jquery', ROBO_GALLERY_ASSETS_PREFIX.'-field-sortedjs-lib'), false, true); //.min
|
26 |
+
} else {
|
27 |
+
wp_enqueue_script( ROBO_GALLERY_ASSETS_PREFIX.'-field-type-gallery-lib', ROBO_GALLERY_FIELDS_URL.'asset/fields/gallery/js/gallery.lib.min.js', array('jquery'), false, true);
|
28 |
+
|
29 |
+
wp_enqueue_script( ROBO_GALLERY_ASSETS_PREFIX.'-field-sortedjs-lib', ROBO_GALLERY_FIELDS_URL.'asset/sortablejs/sortable.min.js', array(), false, true);
|
30 |
+
|
31 |
+
wp_register_script( ROBO_GALLERY_ASSETS_PREFIX.'-field-type-gallery', ROBO_GALLERY_FIELDS_URL.'asset/fields/gallery/js/script.min.js', array('jquery', ROBO_GALLERY_ASSETS_PREFIX.'-field-sortedjs-lib'), false, true); //.min
|
32 |
+
}
|
33 |
+
|
34 |
+
|
35 |
wp_enqueue_script( ROBO_GALLERY_ASSETS_PREFIX.'-field-type-gallery' );
|
36 |
|
37 |
+
|
38 |
$translation_array = array(
|
39 |
+
'iconUrl' => admin_url('/images/spinner.gif'),
|
40 |
+
'endpoint' => get_rest_url(null, 'robogallery/v1')
|
41 |
);
|
42 |
|
43 |
wp_localize_script( ROBO_GALLERY_ASSETS_PREFIX.'-field-type-gallery', 'roboGalleryFieldGallery', $translation_array );
|
44 |
|
|
|
45 |
wp_enqueue_style ( ROBO_GALLERY_ASSETS_PREFIX.'-field-type-gallery', ROBO_GALLERY_FIELDS_URL.'asset/fields/gallery/style.css', array( ), '' );
|
46 |
|
47 |
if ( $value == null || empty( $value ) || $value == ' ' || $value == '' ) $value = '';
|
76 |
</p>
|
77 |
</div>
|
78 |
|
79 |
+
<div class="content small-12 columns small-centered text-center" style="margin-top: 20px;font-size: 16px;font-weight: 600;">
|
80 |
+
<span><?php _e('Drag and drop thumbnails to sort the gallery images', 'robo-gallery'); ?></span>
|
81 |
+
</div>
|
82 |
+
|
83 |
+
|
84 |
<div class="content small-12 columns small-centered text-center">
|
85 |
<div id="robo_gallery_images_preview" class="text-center">
|
86 |
<span class="spinner is-active" style="margin-right: 50%; margin-bottom: -25px;"></span>
|
87 |
</div>
|
88 |
</div>
|
89 |
|
90 |
+
|
91 |
<?php if (!ROBO_GALLERY_TYR) : ?>
|
92 |
<div class="content small-12 columns text-center" style="margin: 25px 0 -6px;">
|
93 |
<?php echo rbsGalleryUtils::getProButton( __('Add All Pro Features + Gallery Images Links', 'robo-gallery') ); ?>
|
104 |
<div class="rb-pro-desc"><span class="dashicons dashicons-insert"></span> Social Sharing in LightBox </div>
|
105 |
<div class="rb-pro-desc"><span class="dashicons dashicons-insert"></span> Mixed Gallery (Photos/Videos/Linked Images)</div>
|
106 |
</div>
|
107 |
+
<?php endif;
|
app/extensions/galleryType/css/theme.edit.css
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/*
|
2 |
* Robo Gallery
|
3 |
-
* Version: 3.1
|
4 |
* By Robosoft
|
5 |
*
|
6 |
* Contact: https://robogallery.co/
|
1 |
/*
|
2 |
* Robo Gallery
|
3 |
+
* Version: 3.2.1 - 52888
|
4 |
* By Robosoft
|
5 |
*
|
6 |
* Contact: https://robogallery.co/
|
app/extensions/galleryType/css/themes.listing.css
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/*
|
2 |
* Robo Gallery
|
3 |
-
* Version: 3.1
|
4 |
* By Robosoft
|
5 |
*
|
6 |
* Contact: https://robogallery.co/
|
1 |
/*
|
2 |
* Robo Gallery
|
3 |
+
* Version: 3.2.1 - 52888
|
4 |
* By Robosoft
|
5 |
*
|
6 |
* Contact: https://robogallery.co/
|
app/extensions/galleryType/init.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/galleryType/initThemeOptions.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
@@ -49,7 +49,7 @@ class roboGalleryClass_TypeThemeOptions extends roboGalleryClass{
|
|
49 |
}
|
50 |
|
51 |
public function hooks(){
|
52 |
-
add_filter('
|
53 |
}
|
54 |
|
55 |
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
49 |
}
|
50 |
|
51 |
public function hooks(){
|
52 |
+
add_filter('cmbre2_rbs_args_defaultvalue', array($this, 'initDefaultTheme'), 10 , 2);
|
53 |
}
|
54 |
|
55 |
|
app/extensions/imageResize/init.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/manager/class.addons.action.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/manager/class.addons.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/manager/css/style.css
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/*
|
2 |
* Robo Gallery
|
3 |
-
* Version: 3.1
|
4 |
* By Robosoft
|
5 |
*
|
6 |
* Contact: https://robogallery.co/
|
1 |
/*
|
2 |
* Robo Gallery
|
3 |
+
* Version: 3.2.1 - 52888
|
4 |
* By Robosoft
|
5 |
*
|
6 |
* Contact: https://robogallery.co/
|
app/extensions/manager/init.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
app/extensions/manager/js/script.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/*
|
2 |
* Robo Gallery
|
3 |
-
* Version: 3.1
|
4 |
* By Robosoft
|
5 |
*
|
6 |
* Contact: https://robogallery.co/
|
1 |
/*
|
2 |
* Robo Gallery
|
3 |
+
* Version: 3.2.1 - 52888
|
4 |
* By Robosoft
|
5 |
*
|
6 |
* Contact: https://robogallery.co/
|
cmb2/bootstrap.php
DELETED
@@ -1,50 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Bootstraps the CMB2 process
|
4 |
-
*
|
5 |
-
* @category WordPress_Plugin
|
6 |
-
* @package CMB2
|
7 |
-
* @author WebDevStudios
|
8 |
-
* @license GPL-2.0+
|
9 |
-
* @link http://webdevstudios.com
|
10 |
-
*/
|
11 |
-
if ( ! defined( 'WPINC' ) ) exit;
|
12 |
-
/**
|
13 |
-
* Fires when CMB2 is included/loaded
|
14 |
-
*
|
15 |
-
* Should be used to to add metaboxes. See example-functions.php
|
16 |
-
*/
|
17 |
-
do_action( 'cmb2_init' );
|
18 |
-
|
19 |
-
/**
|
20 |
-
* For back-compat. Does the dirtywork of instantiatiating all the
|
21 |
-
* CMB2 instances for the cmb2_meta_boxes filter
|
22 |
-
* @since 2.0.2
|
23 |
-
*/
|
24 |
-
$all_meta_boxes_config = apply_filters( 'cmb2_meta_boxes', array() );
|
25 |
-
foreach ( (array) $all_meta_boxes_config as $meta_box_config ) {
|
26 |
-
new CMB2( $meta_box_config );
|
27 |
-
}
|
28 |
-
|
29 |
-
/**
|
30 |
-
* Fires after all CMB2 instances are created
|
31 |
-
*/
|
32 |
-
do_action( 'cmb2_init_before_hookup' );
|
33 |
-
|
34 |
-
/**
|
35 |
-
* Get all created metaboxes, and instantiate CMB2_hookup
|
36 |
-
* on metaboxes which require it.
|
37 |
-
* @since 2.0.2
|
38 |
-
*/
|
39 |
-
foreach ( CMB2_Boxes::get_all() as $cmb ) {
|
40 |
-
if ( $cmb->prop( 'hookup' ) ) {
|
41 |
-
$hookup = new CMB2_hookup( $cmb );
|
42 |
-
}
|
43 |
-
}
|
44 |
-
|
45 |
-
/**
|
46 |
-
* Fires after CMB2 initiation process has been completed
|
47 |
-
*/
|
48 |
-
do_action( 'cmb2_after_init' );
|
49 |
-
|
50 |
-
// End. That's it, folks! //
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cmb2/css/cmb2.min.css
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
.cmb2-wrap{margin:0}.cmb2-wrap input,.cmb2-wrap textarea{font-size:14px;max-width:100%;padding:5px}.cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb2-wrap textarea{width:500px}.cmb2-wrap textarea.cmb2-textarea-code{font-family:"Courier 10 Pitch",Courier,monospace;line-height:16px}.cmb2-wrap input.cmb2-text-small,.cmb2-wrap input.cmb2-timepicker{width:100px}.cmb2-wrap input.cmb2-text-money{width:90px}.cmb2-wrap input.cmb2-text-medium{width:230px}.cmb2-wrap input.cmb2-upload-file{width:65%}.cmb2-wrap input.ed_button{padding:2px 4px}.cmb2-wrap input:not([type=hidden])+.button,.cmb2-wrap input:not([type=hidden])+input,.cmb2-wrap input:not([type=hidden])+select{margin-left:20px}.cmb2-wrap ul{margin:0}.cmb2-wrap li{font-size:14px;line-height:16px;margin:1px 0 5px}.cmb2-wrap select{font-size:14px;margin-top:3px}.cmb2-wrap input:focus,.cmb2-wrap textarea:focus{background:#fffff8}.cmb2-wrap input[type=checkbox],.cmb2-wrap input[type=radio]{margin:0 5px 0 0;padding:0}.cmb2-wrap .button,.cmb2-wrap button{white-space:nowrap}.cmb2-wrap .mceLayout{border:1px solid #e9e9e9!important}.cmb2-wrap .mceIframeContainer{background:#fff}.cmb2-wrap .meta_mce{width:97%}.cmb2-wrap .meta_mce textarea{width:100%}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-input-wrap{vertical-align:middle}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-container{margin:0 10px 0 0}.cmb2-wrap .cmb-row{margin:0}.cmb2-wrap .cmb-row:after{content:'';clear:both;display:block;width:100%}.cmb2-wrap .cmb-row.cmb-repeat-row{padding:1.8em 0 0}.cmb2-wrap .cmb-row.cmb-repeat-row:first-of-type{padding:0}.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description{padding-top:0;padding-bottom:1.8em}.cmb2-metabox{clear:both;margin:0}.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-th,.cmb2-metabox>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox>.cmb-row:first-of-type>.cmb-th{border:0}.cmb2-metabox>.cmb-row .cmb-repeat-table .cmb-row>.cmb-td{padding-right:20px;box-sizing:border-box;float:left}.cmb-add-row{margin:1.8em 0 0}.cmb-nested .cmb-td,.cmb-repeatable-group .cmb-th,.cmb-repeatable-group:first-of-type{border:0}.cmb-repeatable-group:last-of-type,.cmb-row:last-of-type,.cmb2-wrap .cmb-row:last-of-type{border-bottom:0}.cmb-repeatable-grouping{border:1px solid #e9e9e9;padding:0 1em;max-width:1000px}.cmb-repeatable-grouping.cmb-row{margin:0 0 .8em}.cmb-th{color:#222;float:left;font-weight:600;line-height:1.3;padding:20px 10px 20px 0;vertical-align:top;width:200px}.cmb-td{line-height:1.3;max-width:100%;padding:15px 10px;vertical-align:middle}.cmb-type-title .cmb-td{padding:0}.cmb-th label{display:block;padding:5px 0}.cmb-th+.cmb-td{float:left}.cmb-td .cmb-td{padding-bottom:1em}.cmb-remove-row{text-align:right}.empty-row.hidden{display:none}.cmb-repeatable-group .cmb-th{padding:5px}.cmb-repeatable-group .cmb-group-title{background-color:#e9e9e9;padding:8px 12px 8px 2.2em;margin:0 -1em;min-height:1.5em;font-size:14px;line-height:1.4}.cmb-repeatable-group .cmb-group-title h4{border:0;margin:0;font-size:1.2em;font-weight:500;padding:.5em .75em}.cmb-repeatable-group .cmb-group-title .cmb-th{display:block;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:left;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th label{display:block;margin-top:0;padding-bottom:5px}.cmb-repeatable-group .cmb-group-description .cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}.cmb-repeatable-group .cmb-shift-rows{font-size:1em;margin-right:1em;text-decoration:none}.cmb-repeatable-group .cmb-shift-rows .dashicons{font-size:1.5em;height:1.5em;line-height:1.2em;width:1em}.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2{line-height:1.3em}.cmb-repeatable-group .cmb2-upload-button{float:right}p.cmb2-metabox-description{color:#aaa;font-style:italic;margin:0;padding-top:.5em}span.cmb2-metabox-description{color:#aaa;font-style:italic}.cmb2-metabox-title{margin:0 0 5px;padding:5px 0 0;font-size:14px}.cmb-inline ul{padding:4px 0 0}.cmb-inline li{display:inline-block;padding-right:18px}.cmb-type-textarea-code pre{margin:0}.cmb2-media-status .img-status{clear:none;display:inline-block;float:left;margin-right:10px;width:auto}.cmb2-media-status .img-status img{max-width:350px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status img{background:#fff;border:1px solid #e9e9e9;border-radius:2px;-moz-border-radius:2px;margin:15px 0 0;padding:5px}.cmb2-media-status .embed-status{float:left;max-width:800px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status{position:relative}.cmb2-media-status .embed-status .cmb2-remove-file-button,.cmb2-media-status .img-status .cmb2-remove-file-button{background:url(../images/ico-delete.png);height:16px;left:-5px;position:absolute;text-indent:-9999px;top:-5px;width:16px}.cmb2-media-status .img-status .cmb2-remove-file-button{top:10px}.cmb2-media-status .file-status>span,.cmb2-media-status .img-status img{cursor:pointer}.cmb-type-file-list .cmb2-media-status .img-status{clear:none;float:left;margin-right:10px;width:auto}.cmb-attach-list li{clear:both;display:inline-block;margin-bottom:25px;width:100%}.cmb-attach-list li img{cursor:move;float:left;margin-right:10px}.cmb2-remove-wrapper{margin:0}.child-cmb2 .cmb-th{text-align:left}#poststuff .cmb-group-title{margin-left:-1em;margin-right:-1em;padding-left:2.2em;min-height:1.5em}.cmb-repeat-group-wrap .cmb2-wrap,.postbox-container .cmb2-wrap{margin:0}.cmb-repeat-group-wrap .cmb2-wrap>.cmb-field-list>.cmb-row,.postbox-container .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.8em 0}.cmb-repeat-group-wrap .cmb2-wrap input[type=text].cmb2-oembed,.postbox-container .cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb-repeat-group-wrap .cmb-row,.postbox-container .cmb-row{padding:0;margin:0 0 .8em}.cmb-repeat-group-wrap .cmb-row .cmbhandle,.postbox-container .cmb-row .cmbhandle{right:-1em;position:relative}.cmb-repeat-group-wrap .cmb-repeatable-grouping,.postbox-container .cmb-repeatable-grouping{padding:0 1em;max-width:100%;min-width:1px!important}.cmb-repeat-group-wrap .cmb-repeatable-group>.cmb-row,.postbox-container .cmb-repeatable-group>.cmb-row{padding-bottom:0}.cmb-repeat-group-wrap .cmb-th,.postbox-container .cmb-th{width:18%;padding:0 2% 0 0}.cmb-repeat-group-wrap .cmb-td,.postbox-container .cmb-td{margin-bottom:0;padding:0;line-height:1.3}.cmb-repeat-group-wrap .cmb-repeat-row .cmb-td,.postbox-container .cmb-repeat-row .cmb-td{padding-bottom:1.8em}.cmb-repeat-group-wrap .cmb-th+.cmb-td,.postbox-container .cmb-th+.cmb-td{width:80%;float:right}.cmb-repeat-group-wrap .cmb-repeatable-group:not(:last-of-type),.cmb-repeat-group-wrap .cmb-row:not(:last-of-type),.postbox-container .cmb-repeatable-group:not(:last-of-type),.postbox-container .cmb-row:not(:last-of-type){border-bottom:1px solid #e9e9e9}.cmb-repeat-group-wrap .cmb-remove-field-row,.cmb-repeat-group-wrap .cmb-repeat-group-field,.postbox-container .cmb-remove-field-row,.postbox-container .cmb-repeat-group-field{padding-top:1.8em}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody{display:table;width:100%}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text{width:100%}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row){display:table-row}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td{display:table-cell;float:none;width:100%}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td{padding-top:1.8em}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row{padding-right:0}#poststuff .cmb-repeatable-group h2{margin:0}.edit-tags-php .cmb2-metabox-title,.profile-php .cmb2-metabox-title,.user-edit-php .cmb2-metabox-title{font-size:1.4em}.cmb2-options-page .cmb2-metabox-title{font-size:1.3em;margin:1em 0}.cmb2-options-page .cmb2-metabox-title+p.cmb2-metabox-description{margin-top:-1.6em;margin-bottom:.8em}.postbox .cmb-spinner{float:left}#side-sortables .cmb2-wrap>.cmb-field-list>.cmb-row,.inner-sidebar .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.4em 0}#side-sortables .cmb2-wrap input[type=text]:not(.wp-color-picker),.inner-sidebar .cmb2-wrap input[type=text]:not(.wp-color-picker){width:100%}#side-sortables .cmb2-wrap input+input:not(.wp-picker-clear),#side-sortables .cmb2-wrap input+select,.inner-sidebar .cmb2-wrap input+input:not(.wp-picker-clear),.inner-sidebar .cmb2-wrap input+select{margin-left:0;margin-top:1em;display:block}#side-sortables .cmb2-wrap input.cmb2-text-money,.inner-sidebar .cmb2-wrap input.cmb2-text-money{max-width:70%}#side-sortables .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description,.inner-sidebar .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description{display:block}#side-sortables .cmb2-wrap label,.inner-sidebar .cmb2-wrap label{display:block;font-weight:700;padding:0 0 5px}#side-sortables textarea,.inner-sidebar textarea{max-width:99%}#side-sortables .cmb-repeatable-group,.inner-sidebar .cmb-repeatable-group{border-bottom:1px solid #e9e9e9}#side-sortables .cmb-repeat-group-wrap>.cmb-td>.cmb-repeatable-group,.inner-sidebar .cmb-repeat-group-wrap>.cmb-td>.cmb-repeatable-group{border-bottom:0;margin-bottom:-1.4em}#side-sortables .cmb-td,#side-sortables .cmb-th,#side-sortables .cmb-th+.cmb-td,.inner-sidebar .cmb-td,.inner-sidebar .cmb-th,.inner-sidebar .cmb-th+.cmb-td{width:100%;display:block;float:none}#side-sortables .closed .inside,.inner-sidebar .closed .inside{display:none}#side-sortables .cmb-td .cmb-td,.inner-sidebar .cmb-td .cmb-td{padding-bottom:1em}#side-sortables .cmb-th,.inner-sidebar .cmb-th{display:block;float:none;padding-bottom:1em;text-align:left;width:100%;padding-left:0;padding-right:0}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{display:block;margin-top:0;padding-bottom:5px}#side-sortables .cmb-th label:after,.inner-sidebar .cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{font-size:14px;line-height:1.4em}#side-sortables .cmb-group-description .cmb-th,.inner-sidebar .cmb-group-description .cmb-th{padding-top:0}#side-sortables .cmb-group-description .cmb2-metabox-description,#side-sortables .cmb-group-title .cmb-th,.inner-sidebar .cmb-group-description .cmb2-metabox-description,.inner-sidebar .cmb-group-title .cmb-th{padding:0}#side-sortables .cmb-repeatable-grouping+.cmb-repeatable-grouping,.inner-sidebar .cmb-repeatable-grouping+.cmb-repeatable-grouping{margin-top:1em}#side-sortables .cmb2-media-status .embed-status img,#side-sortables .cmb2-media-status .img-status img,.inner-sidebar .cmb2-media-status .embed-status img,.inner-sidebar .cmb2-media-status .img-status img{max-width:90%;height:auto}#side-sortables .cmb2-list label,.inner-sidebar .cmb2-list label{display:inline;font-weight:400}#side-sortables .cmb2-metabox-description,.inner-sidebar .cmb2-metabox-description{display:block;padding:7px 0 0}#side-sortables .cmb-type-checkbox .cmb-td label,#side-sortables .cmb-type-checkbox .cmb2-metabox-description,.inner-sidebar .cmb-type-checkbox .cmb-td label,.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description{font-weight:400;display:inline}#side-sortables .cmb-row .cmb2-metabox-description,.inner-sidebar .cmb-row .cmb2-metabox-description{padding-bottom:1.8em}#side-sortables .cmb2-metabox-title,.inner-sidebar .cmb2-metabox-title{font-size:1.2em;font-style:italic}#side-sortables .cmb-remove-row,.inner-sidebar .cmb-remove-row{clear:both;padding-top:12px;padding-bottom:0}#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td,.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td{width:auto;clear:none;float:left;padding-top:0}#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row,.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row{float:right;margin:0}#side-sortables .cmb2-upload-button,.inner-sidebar .cmb2-upload-button{clear:both;margin-top:12px}.cmb2-metabox .cmb-repeat-group-wrap{max-width:1000px}.cmb2-metabox .cmbhandle{color:#aaa;float:right;width:27px;height:30px;cursor:pointer;right:-1em;position:relative}.cmb2-metabox .cmbhandle:before{content:'\f142';right:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.cmb2-metabox .postbox.closed .cmbhandle:before{content:'\f140'}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row{-webkit-appearance:none!important;background:none!important;border:none!important;position:absolute;left:0;top:.5em;line-height:1em;cursor:pointer}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]){color:#a00}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover{color:red}.cmb2-element .ui-helper-hidden{display:none}.cmb2-element .ui-helper-hidden-accessible{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.cmb2-element .ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.cmb2-element .ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.cmb2-element * html .ui-helper-clearfix{height:1%}.cmb2-element .ui-helper-clearfix{display:block}.cmb2-element .ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.cmb2-element .ui-state-disabled{cursor:default!important}.cmb2-element .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.cmb2-element .ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.cmb2-element .ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.cmb2-element .ui-widget .ui-widget{font-size:1em}.cmb2-element .ui-widget button,.cmb2-element .ui-widget input,.cmb2-element .ui-widget select,.cmb2-element .ui-widget textarea{font-family:Verdana,Arial,sans-serif;font-size:1em}.cmb2-element .ui-widget-content{border:1px solid #aaa;background:#fff url(../images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222}.cmb2-element .ui-widget-content a{color:#222}.cmb2-element .ui-widget-header{border:1px solid #aaa;background:#ccc url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222;font-weight:700}.cmb2-element .ui-widget-header a{color:#222}.cmb2-element .ui-state-default,.cmb2-element .ui-widget-content .ui-state-default,.cmb2-element .ui-widget-header .ui-state-default{border:1px solid #d3d3d3;font-weight:400;color:#555}.cmb2-element .ui-state-default a,.cmb2-element .ui-state-default a:link,.cmb2-element .ui-state-default a:visited{color:#555;text-decoration:none}.cmb2-element .ui-state-focus,.cmb2-element .ui-state-hover,.cmb2-element .ui-widget-content .ui-state-focus,.cmb2-element .ui-widget-content .ui-state-hover,.cmb2-element .ui-widget-header .ui-state-focus,.cmb2-element .ui-widget-header .ui-state-hover{border:1px solid #999;background:#dadada url(../images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:400;color:#212121}.cmb2-element .ui-state-hover a,.cmb2-element .ui-state-hover a:hover{color:#212121;text-decoration:none}.cmb2-element .ui-state-active,.cmb2-element .ui-widget-content .ui-state-active,.cmb2-element .ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff url(../images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:400;color:#212121}.cmb2-element .ui-state-active a,.cmb2-element .ui-state-active a:link,.cmb2-element .ui-state-active a:visited{color:#212121;text-decoration:none}.cmb2-element .ui-widget :active{outline:0}.cmb2-element .ui-state-highlight,.cmb2-element .ui-widget-content .ui-state-highlight,.cmb2-element .ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url(../images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636}.cmb2-element .ui-state-highlight a,.cmb2-element .ui-widget-content .ui-state-highlight a,.cmb2-element .ui-widget-header .ui-state-highlight a{color:#363636}.cmb2-element .ui-state-error,.cmb2-element .ui-widget-content .ui-state-error,.cmb2-element .ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(../images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a}.cmb2-element .ui-state-error a,.cmb2-element .ui-state-error-text,.cmb2-element .ui-widget-content .ui-state-error a,.cmb2-element .ui-widget-content .ui-state-error-text,.cmb2-element .ui-widget-header .ui-state-error a,.cmb2-element .ui-widget-header .ui-state-error-text{color:#cd0a0a}.cmb2-element .ui-priority-primary,.cmb2-element .ui-widget-content .ui-priority-primary,.cmb2-element .ui-widget-header .ui-priority-primary{font-weight:700}.cmb2-element .ui-priority-secondary,.cmb2-element .ui-widget-content .ui-priority-secondary,.cmb2-element .ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.cmb2-element .ui-state-disabled,.cmb2-element .ui-widget-content .ui-state-disabled,.cmb2-element .ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.cmb2-element .ui-icon{width:16px;height:16px;background-image:url(../images/ui-icons_222222_256x240.png)}.cmb2-element .ui-widget-content .ui-icon,.cmb2-element .ui-widget-header .ui-icon{background-image:url(../images/ui-icons_222222_256x240.png)}.cmb2-element .ui-state-default .ui-icon{background-image:url(../images/ui-icons_888888_256x240.png)}.cmb2-element .ui-state-active .ui-icon,.cmb2-element .ui-state-focus .ui-icon,.cmb2-element .ui-state-hover .ui-icon{background-image:url(../images/ui-icons_454545_256x240.png)}.cmb2-element .ui-state-highlight .ui-icon{background-image:url(../images/ui-icons_2e83ff_256x240.png)}.cmb2-element .ui-state-error .ui-icon,.cmb2-element .ui-state-error-text .ui-icon{background-image:url(../images/ui-icons_cd0a0a_256x240.png)}.cmb2-element .ui-icon-carat-1-n{background-position:0 0}.cmb2-element .ui-icon-carat-1-ne{background-position:-16px 0}.cmb2-element .ui-icon-carat-1-e{background-position:-32px 0}.cmb2-element .ui-icon-carat-1-se{background-position:-48px 0}.cmb2-element .ui-icon-carat-1-s{background-position:-64px 0}.cmb2-element .ui-icon-carat-1-sw{background-position:-80px 0}.cmb2-element .ui-icon-carat-1-w{background-position:-96px 0}.cmb2-element .ui-icon-carat-1-nw{background-position:-112px 0}.cmb2-element .ui-icon-carat-2-n-s{background-position:-128px 0}.cmb2-element .ui-icon-carat-2-e-w{background-position:-144px 0}.cmb2-element .ui-icon-triangle-1-n{background-position:0 -16px}.cmb2-element .ui-icon-triangle-1-ne{background-position:-16px -16px}.cmb2-element .ui-icon-triangle-1-e{background-position:-32px -16px}.cmb2-element .ui-icon-triangle-1-se{background-position:-48px -16px}.cmb2-element .ui-icon-triangle-1-s{background-position:-64px -16px}.cmb2-element .ui-icon-triangle-1-sw{background-position:-80px -16px}.cmb2-element .ui-icon-triangle-1-w{background-position:-96px -16px}.cmb2-element .ui-icon-triangle-1-nw{background-position:-112px -16px}.cmb2-element .ui-icon-triangle-2-n-s{background-position:-128px -16px}.cmb2-element .ui-icon-triangle-2-e-w{background-position:-144px -16px}.cmb2-element .ui-icon-arrow-1-n{background-position:0 -32px}.cmb2-element .ui-icon-arrow-1-ne{background-position:-16px -32px}.cmb2-element .ui-icon-arrow-1-e{background-position:-32px -32px}.cmb2-element .ui-icon-arrow-1-se{background-position:-48px -32px}.cmb2-element .ui-icon-arrow-1-s{background-position:-64px -32px}.cmb2-element .ui-icon-arrow-1-sw{background-position:-80px -32px}.cmb2-element .ui-icon-arrow-1-w{background-position:-96px -32px}.cmb2-element .ui-icon-arrow-1-nw{background-position:-112px -32px}.cmb2-element .ui-icon-arrow-2-n-s{background-position:-128px -32px}.cmb2-element .ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.cmb2-element .ui-icon-arrow-2-e-w{background-position:-160px -32px}.cmb2-element .ui-icon-arrow-2-se-nw{background-position:-176px -32px}.cmb2-element .ui-icon-arrowstop-1-n{background-position:-192px -32px}.cmb2-element .ui-icon-arrowstop-1-e{background-position:-208px -32px}.cmb2-element .ui-icon-arrowstop-1-s{background-position:-224px -32px}.cmb2-element .ui-icon-arrowstop-1-w{background-position:-240px -32px}.cmb2-element .ui-icon-arrowthick-1-n{background-position:0 -48px}.cmb2-element .ui-icon-arrowthick-1-ne{background-position:-16px -48px}.cmb2-element .ui-icon-arrowthick-1-e{background-position:-32px -48px}.cmb2-element .ui-icon-arrowthick-1-se{background-position:-48px -48px}.cmb2-element .ui-icon-arrowthick-1-s{background-position:-64px -48px}.cmb2-element .ui-icon-arrowthick-1-sw{background-position:-80px -48px}.cmb2-element .ui-icon-arrowthick-1-w{background-position:-96px -48px}.cmb2-element .ui-icon-arrowthick-1-nw{background-position:-112px -48px}.cmb2-element .ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.cmb2-element .ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.cmb2-element .ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.cmb2-element .ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.cmb2-element .ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.cmb2-element .ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.cmb2-element .ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.cmb2-element .ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.cmb2-element .ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.cmb2-element .ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.cmb2-element .ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.cmb2-element .ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.cmb2-element .ui-icon-arrowreturn-1-w{background-position:-64px -64px}.cmb2-element .ui-icon-arrowreturn-1-n{background-position:-80px -64px}.cmb2-element .ui-icon-arrowreturn-1-e{background-position:-96px -64px}.cmb2-element .ui-icon-arrowreturn-1-s{background-position:-112px -64px}.cmb2-element .ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.cmb2-element .ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.cmb2-element .ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.cmb2-element .ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.cmb2-element .ui-icon-arrow-4{background-position:0 -80px}.cmb2-element .ui-icon-arrow-4-diag{background-position:-16px -80px}.cmb2-element .ui-icon-extlink{background-position:-32px -80px}.cmb2-element .ui-icon-newwin{background-position:-48px -80px}.cmb2-element .ui-icon-refresh{background-position:-64px -80px}.cmb2-element .ui-icon-shuffle{background-position:-80px -80px}.cmb2-element .ui-icon-transfer-e-w{background-position:-96px -80px}.cmb2-element .ui-icon-transferthick-e-w{background-position:-112px -80px}.cmb2-element .ui-icon-folder-collapsed{background-position:0 -96px}.cmb2-element .ui-icon-folder-open{background-position:-16px -96px}.cmb2-element .ui-icon-document{background-position:-32px -96px}.cmb2-element .ui-icon-document-b{background-position:-48px -96px}.cmb2-element .ui-icon-note{background-position:-64px -96px}.cmb2-element .ui-icon-mail-closed{background-position:-80px -96px}.cmb2-element .ui-icon-mail-open{background-position:-96px -96px}.cmb2-element .ui-icon-suitcase{background-position:-112px -96px}.cmb2-element .ui-icon-comment{background-position:-128px -96px}.cmb2-element .ui-icon-person{background-position:-144px -96px}.cmb2-element .ui-icon-print{background-position:-160px -96px}.cmb2-element .ui-icon-trash{background-position:-176px -96px}.cmb2-element .ui-icon-locked{background-position:-192px -96px}.cmb2-element .ui-icon-unlocked{background-position:-208px -96px}.cmb2-element .ui-icon-bookmark{background-position:-224px -96px}.cmb2-element .ui-icon-tag{background-position:-240px -96px}.cmb2-element .ui-icon-home{background-position:0 -112px}.cmb2-element .ui-icon-flag{background-position:-16px -112px}.cmb2-element .ui-icon-calendar{background-position:-32px -112px}.cmb2-element .ui-icon-cart{background-position:-48px -112px}.cmb2-element .ui-icon-pencil{background-position:-64px -112px}.cmb2-element .ui-icon-clock{background-position:-80px -112px}.cmb2-element .ui-icon-disk{background-position:-96px -112px}.cmb2-element .ui-icon-calculator{background-position:-112px -112px}.cmb2-element .ui-icon-zoomin{background-position:-128px -112px}.cmb2-element .ui-icon-zoomout{background-position:-144px -112px}.cmb2-element .ui-icon-search{background-position:-160px -112px}.cmb2-element .ui-icon-wrench{background-position:-176px -112px}.cmb2-element .ui-icon-gear{background-position:-192px -112px}.cmb2-element .ui-icon-heart{background-position:-208px -112px}.cmb2-element .ui-icon-star{background-position:-224px -112px}.cmb2-element .ui-icon-link{background-position:-240px -112px}.cmb2-element .ui-icon-cancel{background-position:0 -128px}.cmb2-element .ui-icon-plus{background-position:-16px -128px}.cmb2-element .ui-icon-plusthick{background-position:-32px -128px}.cmb2-element .ui-icon-minus{background-position:-48px -128px}.cmb2-element .ui-icon-minusthick{background-position:-64px -128px}.cmb2-element .ui-icon-close{background-position:-80px -128px}.cmb2-element .ui-icon-closethick{background-position:-96px -128px}.cmb2-element .ui-icon-key{background-position:-112px -128px}.cmb2-element .ui-icon-lightbulb{background-position:-128px -128px}.cmb2-element .ui-icon-scissors{background-position:-144px -128px}.cmb2-element .ui-icon-clipboard{background-position:-160px -128px}.cmb2-element .ui-icon-copy{background-position:-176px -128px}.cmb2-element .ui-icon-contact{background-position:-192px -128px}.cmb2-element .ui-icon-image{background-position:-208px -128px}.cmb2-element .ui-icon-video{background-position:-224px -128px}.cmb2-element .ui-icon-script{background-position:-240px -128px}.cmb2-element .ui-icon-alert{background-position:0 -144px}.cmb2-element .ui-icon-info{background-position:-16px -144px}.cmb2-element .ui-icon-notice{background-position:-32px -144px}.cmb2-element .ui-icon-help{background-position:-48px -144px}.cmb2-element .ui-icon-check{background-position:-64px -144px}.cmb2-element .ui-icon-bullet{background-position:-80px -144px}.cmb2-element .ui-icon-radio-off{background-position:-96px -144px}.cmb2-element .ui-icon-radio-on{background-position:-112px -144px}.cmb2-element .ui-icon-pin-w{background-position:-128px -144px}.cmb2-element .ui-icon-pin-s{background-position:-144px -144px}.cmb2-element .ui-icon-play{background-position:0 -160px}.cmb2-element .ui-icon-pause{background-position:-16px -160px}.cmb2-element .ui-icon-seek-next{background-position:-32px -160px}.cmb2-element .ui-icon-seek-prev{background-position:-48px -160px}.cmb2-element .ui-icon-seek-end{background-position:-64px -160px}.cmb2-element .ui-icon-seek-first,.cmb2-element .ui-icon-seek-start{background-position:-80px -160px}.cmb2-element .ui-icon-stop{background-position:-96px -160px}.cmb2-element .ui-icon-eject{background-position:-112px -160px}.cmb2-element .ui-icon-volume-off{background-position:-128px -160px}.cmb2-element .ui-icon-volume-on{background-position:-144px -160px}.cmb2-element .ui-icon-power{background-position:0 -176px}.cmb2-element .ui-icon-signal-diag{background-position:-16px -176px}.cmb2-element .ui-icon-signal{background-position:-32px -176px}.cmb2-element .ui-icon-battery-0{background-position:-48px -176px}.cmb2-element .ui-icon-battery-1{background-position:-64px -176px}.cmb2-element .ui-icon-battery-2{background-position:-80px -176px}.cmb2-element .ui-icon-battery-3{background-position:-96px -176px}.cmb2-element .ui-icon-circle-plus{background-position:0 -192px}.cmb2-element .ui-icon-circle-minus{background-position:-16px -192px}.cmb2-element .ui-icon-circle-close{background-position:-32px -192px}.cmb2-element .ui-icon-circle-triangle-e{background-position:-48px -192px}.cmb2-element .ui-icon-circle-triangle-s{background-position:-64px -192px}.cmb2-element .ui-icon-circle-triangle-w{background-position:-80px -192px}.cmb2-element .ui-icon-circle-triangle-n{background-position:-96px -192px}.cmb2-element .ui-icon-circle-arrow-e{background-position:-112px -192px}.cmb2-element .ui-icon-circle-arrow-s{background-position:-128px -192px}.cmb2-element .ui-icon-circle-arrow-w{background-position:-144px -192px}.cmb2-element .ui-icon-circle-arrow-n{background-position:-160px -192px}.cmb2-element .ui-icon-circle-zoomin{background-position:-176px -192px}.cmb2-element .ui-icon-circle-zoomout{background-position:-192px -192px}.cmb2-element .ui-icon-circle-check{background-position:-208px -192px}.cmb2-element .ui-icon-circlesmall-plus{background-position:0 -208px}.cmb2-element .ui-icon-circlesmall-minus{background-position:-16px -208px}.cmb2-element .ui-icon-circlesmall-close{background-position:-32px -208px}.cmb2-element .ui-icon-squaresmall-plus{background-position:-48px -208px}.cmb2-element .ui-icon-squaresmall-minus{background-position:-64px -208px}.cmb2-element .ui-icon-squaresmall-close{background-position:-80px -208px}.cmb2-element .ui-icon-grip-dotted-vertical{background-position:0 -224px}.cmb2-element .ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.cmb2-element .ui-icon-grip-solid-vertical{background-position:-32px -224px}.cmb2-element .ui-icon-grip-solid-horizontal{background-position:-48px -224px}.cmb2-element .ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.cmb2-element .ui-icon-grip-diagonal-se{background-position:-80px -224px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-left,.cmb2-element .ui-corner-tl,.cmb2-element .ui-corner-top{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-right,.cmb2-element .ui-corner-top,.cmb2-element .ui-corner-tr{-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-khtml-border-top-right-radius:4px;border-top-right-radius:4px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-bl,.cmb2-element .ui-corner-bottom,.cmb2-element .ui-corner-left{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-khtml-border-bottom-left-radius:4px;border-bottom-left-radius:4px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-bottom,.cmb2-element .ui-corner-br,.cmb2-element .ui-corner-right{-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-khtml-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.cmb2-element .ui-widget-overlay{background:#aaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.cmb2-element .ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);-moz-border-radius:8px;-khtml-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.cmb2-element .ui-datepicker{width:17em;display:none}.cmb2-element .ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-prev{position:absolute;width:1.8em}.cmb2-element .ui-datepicker .ui-datepicker-prev{left:2px}.cmb2-element .ui-datepicker .ui-datepicker-next{right:2px}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span{display:block;position:absolute;left:50%;margin-left:-8px}.cmb2-element .ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.cmb2-element .ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.cmb2-element .ui-datepicker select.ui-datepicker-month-year{width:100%}.cmb2-element .ui-datepicker select.ui-datepicker-month,.cmb2-element .ui-datepicker select.ui-datepicker-year{width:49%}.cmb2-element .ui-datepicker select.ui-datepicker-month{margin-right:1%}.cmb2-element .ui-datepicker select.ui-datepicker-year{margin-left:1%}.cmb2-element .ui-datepicker table{width:100%;border-collapse:collapse}.cmb2-element .ui-datepicker th{text-align:center}.cmb2-element .ui-datepicker td a,.cmb2-element .ui-datepicker td span{display:block;padding:.2em;text-align:right;text-decoration:none}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0;padding:0 .2em}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em;width:auto;overflow:visible}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.cmb2-element .ui-datepicker.ui-datepicker-multi{width:auto}.cmb2-element .ui-datepicker-multi .ui-datepicker-group{float:left}.cmb2-element .ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.cmb2-element .ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.cmb2-element .ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.cmb2-element .ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.cmb2-element .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.cmb2-element .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.cmb2-element .ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.cmb2-element .ui-datepicker-row-break{clear:both;width:100%;font-size:0}.cmb2-element .ui-datepicker-rtl{direction:rtl}.cmb2-element .ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.cmb2-element .ui-datepicker-rtl .ui-datepicker-group{float:right}.cmb2-element .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.cmb2-element .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.cmb2-element .ui-datepicker-cover{display:none;display:block;position:absolute;z-index:-1;filter:mask();top:-4px;left:-4px;width:200px;height:200px}.cmb2-element .ui-datepicker{padding:0;border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker *{padding:0;font-family:"Open Sans",sans-serif;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker table{font-size:13px;margin:0}.cmb2-element .ui-datepicker .ui-datepicker-header{border:none;background:#222;color:#fff;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover{background:#222;border-color:transparent;cursor:pointer;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker thead{background:#222;color:#fff}.cmb2-element .ui-datepicker .ui-datepicker-title{margin-top:.4em;margin-bottom:.3em;color:#fff;font-size:14px}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-next-hover,.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover{height:1em;top:.9em;border:none}.cmb2-element .ui-datepicker .ui-datepicker-prev-hover{left:2px}.cmb2-element .ui-datepicker .ui-datepicker-next-hover{right:2px}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span{background-image:url(data:image/png;base64,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);background-position:-32px 0;margin-top:0;top:0;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-prev span{background-position:-96px 0}.cmb2-element .ui-datepicker th{padding:.75em 0;color:#fff;font-weight:400;border:none;border-top:1px solid #333}.cmb2-element .ui-datepicker td{background:#f1f1f1;border:none;padding:0}.cmb2-element .ui-datepicker td .ui-state-default{background:0 0;border:none;text-align:center;padding:.5em;margin:0;font-weight:400;color:#333}.cmb2-element .ui-datepicker td .ui-state-active,.cmb2-element .ui-datepicker td .ui-state-hover{background:#0074a2;color:#fff}.cmb2-element .ui-datepicker td.ui-state-disabled,.cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default{opacity:1;color:#999}.cmb2-element .ui-datepicker{background:#f1f1f1}.cmb2-element .ui-datepicker .ui-datepicker-close,.cmb2-element .ui-datepicker .ui-datepicker-current{font-size:14px;font-weight:400;background-image:none;border:none}.cmb2-element .ui-datepicker .ui-datepicker-close:active,.cmb2-element .ui-datepicker .ui-datepicker-close:hover,.cmb2-element .ui-datepicker .ui-datepicker-current:active,.cmb2-element .ui-datepicker .ui-datepicker-current:hover{background:#096484;color:#fff}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane{border:none}.cmb2-element .ui-timepicker-div{font-size:14px}.cmb2-element .ui-timepicker-div .ui-widget-header{margin-bottom:8px;background:#222;border-color:#222}.cmb2-element .ui-timepicker-div dl{text-align:left}.cmb2-element .ui-timepicker-div dl dt{float:left;clear:left;padding:0 0 0 5px}.cmb2-element .ui-timepicker-div dl dd{margin:0 10px 10px 40%}.cmb2-element .ui-tpicker-grid-label{background:0 0;border:none;margin:0;padding:0}.cmb2-element .ui-timepicker-rtl{direction:rtl}.cmb2-element .ui-timepicker-rtl dl{text-align:right;padding:0 5px 0 0}.cmb2-element .ui-timepicker-rtl dl dt{float:right;clear:right}.cmb2-element .ui-timepicker-rtl dl dd{margin:0 40% 10px 10px}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-blue .cmb2-element .ui-datepicker thead,.admin-color-blue .cmb2-element .ui-timepicker-div .ui-widget-header{background:#4796b3}.admin-color-blue .cmb2-element .ui-timepicker-div .ui-widget-header{border-color:#4796b3}.admin-color-blue .cmb2-element .ui-datepicker th{border-color:#52accc}.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover{background:#096484}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-current:hover{background:#096484;color:#fff}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-coffee .cmb2-element .ui-datepicker thead,.admin-color-coffee .cmb2-element .ui-timepicker-div .ui-widget-header{background:#46403c}.admin-color-coffee .cmb2-element .ui-datepicker th{border-color:#59524c}.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover{background:#c7a589}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-current:hover{background:#c7a589;color:#fff}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-ectoplasm .cmb2-element .ui-datepicker thead,.admin-color-ectoplasm .cmb2-element .ui-timepicker-div .ui-widget-header{background:#413256}.admin-color-ectoplasm .cmb2-element .ui-timepicker-div .ui-widget-header{border-color:#413256}.admin-color-ectoplasm .cmb2-element .ui-datepicker th{border-color:#523f6d}.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover{background:#a3b745}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-current:hover{background:#a3b745;color:#fff}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-midnight .cmb2-element .ui-datepicker thead,.admin-color-midnight .cmb2-element .ui-timepicker-div .ui-widget-header{background:#26292c}.admin-color-midnight .cmb2-element .ui-datepicker th{border-color:#363b3f}.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover{background:#e14d43}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-current:hover{background:#e14d43;color:#fff}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-ocean .cmb2-element .ui-datepicker thead,.admin-color-ocean .cmb2-element .ui-timepicker-div .ui-widget-header{background:#627c83}.admin-color-ocean .cmb2-element .ui-timepicker-div .ui-widget-header{border-color:#627c83}.admin-color-ocean .cmb2-element .ui-datepicker th{border-color:#738e96}.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover{background:#9ebaa0}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-current:hover{background:#9ebaa0;color:#fff}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element .ui-datepicker thead,.admin-color-sunrise .cmb2-element .ui-timepicker-div .ui-widget-header{background:#be3631}.admin-color-sunrise .cmb2-element .ui-timepicker-div .ui-widget-header{border-color:#be3631}.admin-color-sunrise .cmb2-element .ui-datepicker th{border-color:#cf4944}.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover{background:#dd823b}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-current:hover{background:#dd823b;color:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-light .cmb2-element .ui-datepicker thead,.admin-color-light .cmb2-element .ui-timepicker-div .ui-widget-header{background:#e5e5e5}.admin-color-light .cmb2-element .ui-timepicker-div .ui-widget-header{border-color:#e5e5e5}.admin-color-light .cmb2-element .ui-datepicker,.admin-color-light .cmb2-element .ui-datepicker td{background:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next span,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAYAAADvl7rLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMUIxRjI2RjhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMUIxRjI3MDhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjExQjFGMjZEOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjExQjFGMjZFOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+kKfR4AAAHcRJREFUeNrsXWuM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)}.admin-color-light .cmb2-element .ui-datepicker th{border-color:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-default,.admin-color-light .cmb2-element .ui-datepicker th,.admin-color-light .cmb2-element .ui-timepicker-div .ui-widget-header{color:#555}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover{color:#fff;background:#888}.admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled,.admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default{color:#ccc}@media (max-width:450px){.cmb-th{font-size:1.2em;padding-bottom:1em;text-align:left}.cmb-th label{display:block;margin-top:0;padding-bottom:5px}.cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}.cmb-td,.cmb-th,.cmb-th+.cmb-td{display:block;float:none;width:100%}.cmb-repeat-group-wrap .cmb-repeatable-group:not(:last-of-type),.cmb-repeat-group-wrap .cmb-row:not(:last-of-type),.postbox-container .cmb-repeatable-group:not(:last-of-type),.postbox-container .cmb-row:not(:last-of-type){border-bottom:0}}
|
|
cmb2/includes/CMB2_Boxes.php
DELETED
@@ -1,65 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* A CMB2 object instance registry for storing every CMB2 instance.
|
4 |
-
*
|
5 |
-
* @category WordPress_Plugin
|
6 |
-
* @package CMB2
|
7 |
-
* @author WebDevStudios
|
8 |
-
* @license GPL-2.0+
|
9 |
-
* @link http://webdevstudios.com
|
10 |
-
*/
|
11 |
-
if ( ! defined( 'WPINC' ) ) exit;
|
12 |
-
class CMB2_Boxes {
|
13 |
-
|
14 |
-
/**
|
15 |
-
* Array of all metabox objects
|
16 |
-
* @var array
|
17 |
-
* @since 2.0.0
|
18 |
-
*/
|
19 |
-
protected static $cmb2_instances = array();
|
20 |
-
|
21 |
-
/**
|
22 |
-
* Add a CMB2 instance object to the registry
|
23 |
-
* @since 1.X.X
|
24 |
-
* @param CMB2 $cmb_instance CMB2 instance
|
25 |
-
*/
|
26 |
-
public static function add( CMB2 $cmb_instance ) {
|
27 |
-
self::$cmb2_instances[ $cmb_instance->cmb_id ] = $cmb_instance;
|
28 |
-
}
|
29 |
-
|
30 |
-
/**
|
31 |
-
* Remove a CMB2 instance object to the registry
|
32 |
-
* @since 1.X.X
|
33 |
-
* @param string $cmb_id A CMB2 instance id
|
34 |
-
*/
|
35 |
-
public static function remove( $cmb_id ) {
|
36 |
-
if ( array_key_exists( $cmb_id, self::$cmb2_instances ) ) {
|
37 |
-
unset( self::$cmb2_instances[ $cmb_id ] );
|
38 |
-
}
|
39 |
-
}
|
40 |
-
|
41 |
-
/**
|
42 |
-
* Retrieve a CMB2 instance by cmb id
|
43 |
-
* @since 1.X.X
|
44 |
-
* @param string $cmb_id A CMB2 instance id
|
45 |
-
*
|
46 |
-
* @return mixed False or CMB2 object instance
|
47 |
-
*/
|
48 |
-
public static function get( $cmb_id ) {
|
49 |
-
if ( empty( self::$cmb2_instances ) || empty( self::$cmb2_instances[ $cmb_id ] ) ) {
|
50 |
-
return false;
|
51 |
-
}
|
52 |
-
|
53 |
-
return self::$cmb2_instances[ $cmb_id ];
|
54 |
-
}
|
55 |
-
|
56 |
-
/**
|
57 |
-
* Retrieve all CMB2 instances registered
|
58 |
-
* @since 1.X.X
|
59 |
-
* @return array Array of all registered metaboxes
|
60 |
-
*/
|
61 |
-
public static function get_all() {
|
62 |
-
return self::$cmb2_instances;
|
63 |
-
}
|
64 |
-
|
65 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cmb2/js/cmb2.min.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
window.CMB2=function(window,document,$){"use strict";var l10n=window.cmb2_l10,setTimeout=window.setTimeout,cmb={formfield:"",idNumber:!1,file_frames:{},repeatEls:'input:not([type="button"]),select,textarea,.cmb2-media-status',styleBreakPoint:450,mediaHandlers:{},neweditor_id:[],defaults:{time_picker:l10n.defaults.time_picker,date_picker:l10n.defaults.date_picker,color_picker:l10n.defaults.color_picker||{}}},$id=function(selector){return $(document.getElementById(selector))};return cmb.metabox=function(){return cmb.$metabox?cmb.$metabox:(cmb.$metabox=$(".cmb2-wrap > .cmb2-metabox"),cmb.$metabox)},cmb.init=function(){cmb.log("CMB2 localized data",l10n);var $metabox=cmb.metabox(),$repeatGroup=$metabox.find(".cmb-repeatable-group");cmb.initPickers($metabox.find('input[type="text"].cmb2-timepicker'),$metabox.find('input[type="text"].cmb2-datepicker'),$metabox.find('input[type="text"].cmb2-colorpicker')),$id("ui-datepicker-div").wrap('<div class="cmb2-element" />'),$('<p><span class="button cmb-multicheck-toggle">'+l10n.strings.check_toggle+"</span></p>").insertBefore(".cmb2-checkbox-list:not(.no-select-all)"),cmb.makeListSortable(),$metabox.on("change",".cmb2_upload_file",function(){cmb.formfield=$(this).attr("id"),$id(cmb.formfield+"_id").val("")}).on("click",".cmb-multicheck-toggle",cmb.toggleCheckBoxes).on("click",".cmb2-upload-button",cmb.handleMedia).on("click",".cmb-attach-list li, .cmb2-media-status .img-status img, .cmb2-media-status .file-status > span",cmb.handleFileClick).on("click",".cmb2-remove-file-button",cmb.handleRemoveMedia).on("click",".cmb-add-group-row",cmb.addGroupRow).on("click",".cmb-add-row-button",cmb.addAjaxRow).on("click",".cmb-remove-group-row",cmb.removeGroupRow).on("click",".cmb-remove-row-button",cmb.removeAjaxRow).on("keyup paste focusout",".cmb2-oembed",cmb.maybeOembed).on("cmb2_remove_row",".cmb-repeatable-group",cmb.resetTitlesAndIterator).on("click",".cmbhandle, .cmbhandle + .cmbhandle-title",cmb.toggleHandle),$repeatGroup.length&&$repeatGroup.filter(".sortable").each(function(){$(this).find(".button.cmb-remove-group-row").before('<a class="button cmb-shift-rows move-up alignleft" href="#"><span class="'+l10n.up_arrow_class+'"></span></a> <a class="button cmb-shift-rows move-down alignleft" href="#"><span class="'+l10n.down_arrow_class+'"></span></a>')}).on("click",".cmb-shift-rows",cmb.shiftRows).on("cmb2_add_row",cmb.emptyValue),setTimeout(cmb.resizeoEmbeds,500),$(window).on("resize",cmb.resizeoEmbeds)},cmb.resetTitlesAndIterator=function(){$(".cmb-repeatable-group").each(function(){var $table=$(this);$table.find(".cmb-repeatable-grouping").each(function(rowindex){var $row=$(this);$row.data("iterator",rowindex),$row.find(".cmb-group-title h4").text($table.find(".cmb-add-group-row").data("grouptitle").replace("{#}",rowindex+1))})})},cmb.toggleHandle=function(evt){evt.preventDefault(),$(document).trigger("postbox-toggled",$(this).parent(".postbox").toggleClass("closed"))},cmb.toggleCheckBoxes=function(evt){evt.preventDefault();var $self=$(this),$multicheck=$self.closest(".cmb-td").find("input[type=checkbox]");$self.data("checked")?($multicheck.prop("checked",!1),$self.data("checked",!1)):($multicheck.prop("checked",!0),$self.data("checked",!0))},cmb.handleMedia=function(evt){evt.preventDefault();var $el=$(this);cmb.attach_id=$el.hasClass("cmb2-upload-list")?!1:$el.closest(".cmb-td").find(".cmb2-upload-file-id").val(),cmb.attach_id="0"!==cmb.attach_id?cmb.attach_id:!1,cmb._handleMedia($el.prev("input.cmb2-upload-file").attr("id"),$el.hasClass("cmb2-upload-list"))},cmb.handleFileClick=function(evt){evt.preventDefault();var $el=$(this),$td=$el.closest(".cmb-td"),isList=$td.find(".cmb2-upload-button").hasClass("cmb2-upload-list");cmb.attach_id=isList?$el.find('input[type="hidden"]').data("id"):$td.find(".cmb2-upload-file-id").val(),cmb.attach_id&&cmb._handleMedia($td.find("input.cmb2-upload-file").attr("id"),isList,cmb.attach_id)},cmb._handleMedia=function(formfield,isList){if(wp){var $metabox=cmb.metabox();cmb.formfield=formfield;var $formfield=$id(cmb.formfield),previewSize=$formfield.data("previewsize"),formName=$formfield.attr("name"),uploadStatus=!0,attachment=!0;if(cmb.formfield in cmb.file_frames)return void cmb.file_frames[cmb.formfield].open();cmb.file_frames[cmb.formfield]=wp.media({title:$metabox.find("label[for="+cmb.formfield+"]").text(),button:{text:l10n.strings.upload_file},multiple:isList?!0:!1}),cmb.mediaHandlers.list=function(selection,returnIt){attachment=selection.toJSON(),$formfield.val(attachment.url),$id(cmb.formfield+"_id").val(attachment.id);var fileGroup=[];return $(attachment).each(function(){if(this.type&&"image"===this.type){var width=previewSize[0]?previewSize[0]:50,height=previewSize[1]?previewSize[1]:50;uploadStatus='<li class="img-status"><img width="'+width+'" height="'+height+'" src="'+this.url+'" class="attachment-'+width+"px"+height+'px" alt="'+this.filename+'"><p><a href="#" class="cmb2-remove-file-button" rel="'+cmb.formfield+"["+this.id+']">'+l10n.strings.remove_image+'</a></p><input type="hidden" id="filelist-'+this.id+'" data-id="'+this.id+'" name="'+formName+"["+this.id+']" value="'+this.url+'"></li>'}else uploadStatus='<li class="file-status"><span>'+l10n.strings.file+" <strong>"+this.filename+'</strong></span> (<a href="'+this.url+'" target="_blank" rel="external">'+l10n.strings.download+'</a> / <a href="#" class="cmb2-remove-file-button" rel="'+cmb.formfield+"["+this.id+']">'+l10n.strings.remove_file+'</a>)<input type="hidden" id="filelist-'+this.id+'" data-id="'+this.id+'" name="'+formName+"["+this.id+']" value="'+this.url+'"></li>';fileGroup.push(uploadStatus)}),returnIt?fileGroup:void $(fileGroup).each(function(){$formfield.siblings(".cmb2-media-status").slideDown().append(this)})},cmb.mediaHandlers.single=function(selection){if(attachment=selection.first().toJSON(),$formfield.val(attachment.url),$id(cmb.formfield+"_id").val(attachment.id),attachment.type&&"image"===attachment.type){var width=previewSize[0]?previewSize[0]:350;uploadStatus='<div class="img-status"><img width="'+width+'px" style="max-width: '+width+'px; width: 100%; height: auto;" src="'+attachment.url+'" alt="'+attachment.filename+'" title="'+attachment.filename+'" /><p><a href="#" class="cmb2-remove-file-button" rel="'+cmb.formfield+'">'+l10n.strings.remove_image+"</a></p></div>"}else uploadStatus='<div class="file-status"><span>'+l10n.strings.file+" <strong>"+attachment.filename+'</strong></span> (<a href="'+attachment.url+'" target="_blank" rel="external">'+l10n.strings.download+'</a> / <a href="#" class="cmb2-remove-file-button" rel="'+cmb.formfield+'">'+l10n.strings.remove_file+"</a>)</div>";$formfield.siblings(".cmb2-media-status").slideDown().html(uploadStatus)},cmb.mediaHandlers.selectFile=function(){var selection=cmb.file_frames[cmb.formfield].state().get("selection"),type=isList?"list":"single";return cmb.attach_id&&isList?void $('[data-id="'+cmb.attach_id+'"]').parents("li").replaceWith(cmb.mediaHandlers.list(selection,!0)):void cmb.mediaHandlers[type](selection)},cmb.mediaHandlers.openModal=function(){var selection=cmb.file_frames[cmb.formfield].state().get("selection");if(!cmb.attach_id)return selection.reset();var attach=wp.media.attachment(cmb.attach_id);attach.fetch(),selection.set(attach?[attach]:[])},cmb.file_frames[cmb.formfield].on("select",cmb.mediaHandlers.selectFile).on("open",cmb.mediaHandlers.openModal),cmb.file_frames[cmb.formfield].open()}},cmb.handleRemoveMedia=function(evt){evt.preventDefault();var $self=$(this);return $self.is(".cmb-attach-list .cmb2-remove-file-button")?($self.parents("li").remove(),!1):(cmb.formfield=$self.attr("rel"),cmb.metabox().find("input#"+cmb.formfield).val(""),cmb.metabox().find("input#"+cmb.formfield+"_id").val(""),$self.parents(".cmb2-media-status").html(""),!1)},cmb.cleanRow=function($row,prevNum,group){var $inputs=$row.find('input:not([type="button"]), select, textarea, label'),$other=$row.find("[id]").not('input:not([type="button"]), select, textarea, label');return group&&($row.find(".cmb-repeat-table .cmb-repeat-row:not(:first-child)").remove(),$other.length&&$other.each(function(){var $_this=$(this),oldID=$_this.attr("id"),newID=oldID.replace("_"+prevNum,"_"+cmb.idNumber),$buttons=$row.find('[data-selector="'+oldID+'"]');$_this.attr("id",newID),$buttons.length&&$buttons.attr("data-selector",newID).data("selector",newID)})),cmb.neweditor_id=[],$inputs.filter(":checked").prop("checked",!1),$inputs.filter(":selected").prop("selected",!1),$row.find("h3.cmb-group-title").length&&$row.find("h3.cmb-group-title").text($row.data("title").replace("{#}",cmb.idNumber+1)),$inputs.each(function(){var newID,oldID,$newInput=$(this),isEditor=$newInput.hasClass("wp-editor-area"),oldFor=$newInput.attr("for"),attrs={};if(oldFor)attrs={"for":oldFor.replace("_"+prevNum,"_"+cmb.idNumber)};else{var oldName=$newInput.attr("name"),newName=oldName?oldName.replace("["+prevNum+"]","["+cmb.idNumber+"]"):"";oldID=$newInput.attr("id"),newID=oldID?oldID.replace("_"+prevNum,"_"+cmb.idNumber):"",attrs={id:newID,name:newName,"data-iterator":cmb.idNumber}}if($newInput.removeClass("hasDatepicker").attr(attrs).val(""),isEditor){newID=newID?oldID.replace("zx"+prevNum,"zx"+cmb.idNumber):"",$newInput.html("");var $wysiwyg=$newInput.parents(".cmb-type-wysiwyg");$wysiwyg.find(".mce-tinymce:not(:first-child)").remove();var html=$wysiwyg.html().replace(new RegExp(oldID,"g"),newID);$wysiwyg.html(html),cmb.neweditor_id.push({id:newID,old:oldID})}}),cmb},cmb.newRowHousekeeping=function($row){var $colorPicker=$row.find(".wp-picker-container"),$list=$row.find(".cmb2-media-status");return $colorPicker.length&&$colorPicker.each(function(){var $td=$(this).parent();$td.html($td.find('input[type="text"].cmb2-colorpicker').attr("style",""))}),$list.length&&$list.empty(),cmb},cmb.afterRowInsert=function($row){var _prop;if(cmb.neweditor_id.length){var i;for(i=cmb.neweditor_id.length-1;i>=0;i--){var id=cmb.neweditor_id[i].id,old=cmb.neweditor_id[i].old;if("undefined"==typeof tinyMCEPreInit.mceInit[id]){var newSettings=jQuery.extend({},tinyMCEPreInit.mceInit[old]);for(_prop in newSettings)"string"==typeof newSettings[_prop]&&(newSettings[_prop]=newSettings[_prop].replace(new RegExp(old,"g"),id));tinyMCEPreInit.mceInit[id]=newSettings}if("undefined"==typeof tinyMCEPreInit.qtInit[id]){var newQTS=jQuery.extend({},tinyMCEPreInit.qtInit[old]);for(_prop in newQTS)"string"==typeof newQTS[_prop]&&(newQTS[_prop]=newQTS[_prop].replace(new RegExp(old,"g"),id));tinyMCEPreInit.qtInit[id]=newQTS}tinyMCE.init({id:tinyMCEPreInit.mceInit[id]})}}cmb.initPickers($row.find('input[type="text"].cmb2-timepicker'),$row.find('input[type="text"].cmb2-datepicker'),$row.find('input[type="text"].cmb2-colorpicker'))},cmb.updateNameAttr=function(){var $this=$(this),name=$this.attr("name");if("undefined"==typeof name)return!1;var prevNum=parseInt($this.parents(".cmb-repeatable-grouping").data("iterator")),newNum=prevNum-1,$newName=name.replace("["+prevNum+"]","["+newNum+"]");$this.attr("name",$newName)},cmb.emptyValue=function(evt,row){$('input:not([type="button"]), textarea',row).val("")},cmb.addGroupRow=function(evt){evt.preventDefault();var $self=$(this);$self.trigger("cmb2_add_group_row_start",$self);var $table=$id($self.data("selector")),$oldRow=$table.find(".cmb-repeatable-grouping").last(),prevNum=parseInt($oldRow.data("iterator"));cmb.idNumber=prevNum+1;var $row=$oldRow.clone();cmb.newRowHousekeeping($row.data("title",$self.data("grouptitle"))).cleanRow($row,prevNum,!0),$row.find(".cmb-add-row-button").prop("disabled",!1);var $newRow=$('<div class="postbox cmb-row cmb-repeatable-grouping" data-iterator="'+cmb.idNumber+'">'+$row.html()+"</div>");$oldRow.after($newRow),cmb.afterRowInsert($newRow),$table.find(".cmb-repeatable-grouping").length<=1?$table.find(".cmb-remove-group-row").prop("disabled",!0):$table.find(".cmb-remove-group-row").prop("disabled",!1),$table.trigger("cmb2_add_row",$newRow)},cmb.addAjaxRow=function(evt){evt.preventDefault();var $self=$(this),$table=$id($self.data("selector")),$emptyrow=$table.find(".empty-row"),prevNum=parseInt($emptyrow.find("[data-iterator]").data("iterator"));cmb.idNumber=prevNum+1;var $row=$emptyrow.clone();cmb.newRowHousekeeping($row).cleanRow($row,prevNum),$emptyrow.removeClass("empty-row hidden").addClass("cmb-repeat-row"),$emptyrow.after($row),cmb.afterRowInsert($row),$table.trigger("cmb2_add_row",$row),$table.find(".cmb-remove-row-button").removeClass("button-disabled")},cmb.removeGroupRow=function(evt){evt.preventDefault();var $self=$(this),$table=$id($self.data("selector")),$parent=$self.parents(".cmb-repeatable-grouping"),number=$table.find(".cmb-repeatable-grouping").length;number>1&&($table.trigger("cmb2_remove_group_row_start",$self),$parent.nextAll(".cmb-repeatable-grouping").find(cmb.repeatEls).each(cmb.updateNameAttr),$parent.remove(),2>=number?$table.find(".cmb-remove-group-row").prop("disabled",!0):$table.find(".cmb-remove-group-row").prop("disabled",!1),$table.trigger("cmb2_remove_row"))},cmb.removeAjaxRow=function(evt){evt.preventDefault();var $self=$(this);if(!$self.hasClass("button-disabled")){var $parent=$self.parents(".cmb-row"),$table=$self.parents(".cmb-repeat-table"),number=$table.find(".cmb-row").length;number>2?($parent.hasClass("empty-row")&&$parent.prev().addClass("empty-row").removeClass("cmb-repeat-row"),$self.parents(".cmb-repeat-table .cmb-row").remove(),3===number&&$table.find(".cmb-remove-row-button").addClass("button-disabled"),$table.trigger("cmb2_remove_row")):$self.addClass("button-disabled")}},cmb.shiftRows=function(evt){evt.preventDefault();var $self=$(this);$self.trigger("cmb2_shift_rows_enter",$self);var $parent=$self.parents(".cmb-repeatable-grouping"),$goto=$self.hasClass("move-up")?$parent.prev(".cmb-repeatable-grouping"):$parent.next(".cmb-repeatable-grouping");if($goto.length){$self.trigger("cmb2_shift_rows_start",$self);var inputVals=[];$parent.find(cmb.repeatEls).each(function(){var val,$element=$(this);val=$element.hasClass("cmb2-media-status")?$element.html():"checkbox"===$element.attr("type")||"radio"===$element.attr("type")?$element.is(":checked"):"select"===$element.prop("tagName")?$element.is(":selected"):$element.val(),inputVals.push({val:val,$:$element})}),$goto.find(cmb.repeatEls).each(function(index){var val,$element=$(this);$element.hasClass("cmb2-media-status")?(val=$element.html(),$element.html(inputVals[index].val),inputVals[index].$.html(val)):"checkbox"===$element.attr("type")||"radio"===$element.attr("type")?(inputVals[index].$.prop("checked",$element.is(":checked")),$element.prop("checked",inputVals[index].val)):"select"===$element.prop("tagName")?(inputVals[index].$.prop("selected",$element.is(":selected")),$element.prop("selected",inputVals[index].val)):(inputVals[index].$.val($element.val()),$element.val(inputVals[index].val))}),$self.trigger("cmb2_shift_rows_complete",$self)}},cmb.initPickers=function($timePickers,$datePickers,$colorPickers){cmb.initTimePickers($timePickers),cmb.initDatePickers($datePickers),cmb.initColorPickers($colorPickers)},cmb.initTimePickers=function($selector){$selector.length&&($selector.timepicker("destroy"),$selector.timepicker(cmb.defaults.time_picker))},cmb.initDatePickers=function($selector){$selector.length&&($selector.datepicker("destroy"),$selector.datepicker(cmb.defaults.date_picker))},cmb.initColorPickers=function($selector){$selector.length&&("object"==typeof jQuery.wp&&"function"==typeof jQuery.wp.wpColorPicker?$selector.wpColorPicker(cmb.defaults.color_picker):$selector.each(function(i){$(this).after('<div id="picker-'+i+'" style="z-index: 1000; background: #EEE; border: 1px solid #CCC; position: absolute; display: block;"></div>'),$id("picker-"+i).hide().farbtastic($(this))}).focus(function(){$(this).next().show()}).blur(function(){$(this).next().hide()}))},cmb.makeListSortable=function(){var $filelist=cmb.metabox().find(".cmb2-media-status.cmb-attach-list");$filelist.length&&$filelist.sortable({cursor:"move"}).disableSelection()},cmb.maybeOembed=function(evt){var $self=$(this),type=evt.type,m={focusout:function(){setTimeout(function(){cmb.spinner(".postbox .cmb2-metabox",!0)},2e3)},keyup:function(){var betw=function(min,max){return evt.which<=max&&evt.which>=min};(betw(48,90)||betw(96,111)||betw(8,9)||187===evt.which||190===evt.which)&&cmb.doAjax($self,evt)},paste:function(){setTimeout(function(){cmb.doAjax($self)},100)}};m[type]()},cmb.resizeoEmbeds=function(){cmb.metabox().each(function(){var $self=$(this),$tableWrap=$self.parents(".inside"),isSide=$self.parents(".inner-sidebar").length||$self.parents("#side-sortables").length,isSmall=isSide,isSmallest=!1;if(!$tableWrap.length)return!0;var tableW=$tableWrap.width();cmb.styleBreakPoint>tableW&&(isSmall=!0,isSmallest=cmb.styleBreakPoint-62>tableW),tableW=isSmall?tableW:Math.round(.82*$tableWrap.width()*.97);var newWidth=tableW-30;if(!isSmall||isSide||isSmallest||(newWidth-=75),newWidth>639)return!0;var $embeds=$self.find(".cmb-type-oembed .embed-status"),$children=$embeds.children().not(".cmb2-remove-wrapper");return $children.length?void $children.each(function(){var $self=$(this),iwidth=$self.width(),iheight=$self.height(),_newWidth=newWidth;$self.parents(".cmb-repeat-row").length&&!isSmall&&(_newWidth=newWidth-91,_newWidth=785>tableW?_newWidth-15:_newWidth);var newHeight=Math.round(_newWidth*iheight/iwidth);$self.width(_newWidth).height(newHeight)}):!0})},cmb.log=function(){l10n.script_debug&&console&&"function"==typeof console.log&&console.log.apply(console,arguments)},cmb.spinner=function($context,hide){hide?$(".cmb-spinner",$context).hide():$(".cmb-spinner",$context).show()},cmb.doAjax=function($obj){var oembed_url=$obj.val();if(!(oembed_url.length<6)){var field_id=$obj.attr("id"),$context=$obj.closest(".cmb-td"),$embed_container=$context.find(".embed-status"),$embed_wrap=$context.find(".embed_wrap"),$child_el=$embed_container.find(":first-child"),oembed_width=$embed_container.length&&$child_el.length?$child_el.width():$obj.width();cmb.log("oembed_url",oembed_url,field_id),cmb.spinner($context),$embed_wrap.html(""),setTimeout(function(){$(".cmb2-oembed:focus").val()===oembed_url&&$.ajax({type:"post",dataType:"json",url:l10n.ajaxurl,data:{action:"cmb2_oembed_handler",oembed_url:oembed_url,oembed_width:oembed_width>300?oembed_width:300,field_id:field_id,object_id:$obj.data("objectid"),object_type:$obj.data("objecttype"),cmb2_ajax_nonce:l10n.ajax_nonce},success:function(response){cmb.log(response),cmb.spinner($context,!0),$embed_wrap.html(response.data)}})},500)}},$(document).ready(cmb.init),cmb}(window,document,jQuery);
|
|
cmbre2/bootstrap.php
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Bootstraps the CMBRE2 process
|
4 |
+
*
|
5 |
+
* @category WordPress_Plugin
|
6 |
+
* @package CMBRE2
|
7 |
+
* @author WebDevStudios
|
8 |
+
* @license GPL-2.0+
|
9 |
+
* @link http://webdevstudios.com
|
10 |
+
*/
|
11 |
+
if ( ! defined( 'WPINC' ) ) exit;
|
12 |
+
/**
|
13 |
+
* Fires when CMBRE2 is included/loaded
|
14 |
+
*
|
15 |
+
* Should be used to to add metaboxes. See example-functions.php
|
16 |
+
*/
|
17 |
+
do_action( 'cmbre2_init' );
|
18 |
+
|
19 |
+
/**
|
20 |
+
* For back-compat. Does the dirtywork of instantiatiating all the
|
21 |
+
* CMBRE2 instances for the cmbre2_meta_boxes filter
|
22 |
+
* @since 2.0.2
|
23 |
+
*/
|
24 |
+
$all_meta_boxes_config = apply_filters( 'cmbre2_meta_boxes', array() );
|
25 |
+
foreach ( (array) $all_meta_boxes_config as $meta_box_config ) {
|
26 |
+
new CMBRE2( $meta_box_config );
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Fires after all CMBRE2 instances are created
|
31 |
+
*/
|
32 |
+
do_action( 'cmbre2_init_before_hookup' );
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Get all created metaboxes, and instantiate CMBRE2_hookup
|
36 |
+
* on metaboxes which require it.
|
37 |
+
* @since 2.0.2
|
38 |
+
*/
|
39 |
+
foreach ( CMBRE2_Boxes::get_all() as $cmb ) {
|
40 |
+
if ( $cmb->prop( 'hookup' ) ) {
|
41 |
+
$hookup = new CMBRE2_hookup( $cmb );
|
42 |
+
}
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Fires after CMBRE2 initiation process has been completed
|
47 |
+
*/
|
48 |
+
do_action( 'cmbre2_after_init' );
|
49 |
+
|
50 |
+
// End. That's it, folks! //
|
cmb2/css/cmb2.css → cmbre2/css/cmbre2.css
RENAMED
@@ -8,14 +8,14 @@ Main Wrap
|
|
8 |
|
9 |
/* line 5, sass/partials/_main_wrap.scss */
|
10 |
|
11 |
-
.
|
12 |
margin: 0;
|
13 |
}
|
14 |
|
15 |
/* line 8, sass/partials/_main_wrap.scss */
|
16 |
|
17 |
-
.
|
18 |
-
.
|
19 |
font-size: 14px;
|
20 |
max-width: 100%;
|
21 |
padding: 5px;
|
@@ -23,71 +23,71 @@ Main Wrap
|
|
23 |
|
24 |
/* line 18, sass/partials/_main_wrap.scss */
|
25 |
|
26 |
-
.
|
27 |
width: 100%;
|
28 |
}
|
29 |
|
30 |
/* line 23, sass/partials/_main_wrap.scss */
|
31 |
|
32 |
-
.
|
33 |
width: 500px;
|
34 |
}
|
35 |
|
36 |
/* line 26, sass/partials/_main_wrap.scss */
|
37 |
|
38 |
-
.
|
39 |
font-family: "Courier 10 Pitch", Courier, monospace;
|
40 |
line-height: 16px;
|
41 |
}
|
42 |
|
43 |
/* line 34, sass/partials/_main_wrap.scss */
|
44 |
|
45 |
-
.
|
46 |
-
.
|
47 |
width: 100px;
|
48 |
}
|
49 |
|
50 |
/* line 40, sass/partials/_main_wrap.scss */
|
51 |
|
52 |
-
.
|
53 |
width: 90px;
|
54 |
}
|
55 |
|
56 |
/* line 45, sass/partials/_main_wrap.scss */
|
57 |
|
58 |
-
.
|
59 |
width: 230px;
|
60 |
}
|
61 |
|
62 |
/* line 50, sass/partials/_main_wrap.scss */
|
63 |
|
64 |
-
.
|
65 |
width: 65%;
|
66 |
}
|
67 |
|
68 |
/* line 54, sass/partials/_main_wrap.scss */
|
69 |
|
70 |
-
.
|
71 |
padding: 2px 4px;
|
72 |
}
|
73 |
|
74 |
/* line 59, sass/partials/_main_wrap.scss */
|
75 |
|
76 |
-
.
|
77 |
-
.
|
78 |
-
.
|
79 |
margin-left: 20px;
|
80 |
}
|
81 |
|
82 |
/* line 67, sass/partials/_main_wrap.scss */
|
83 |
|
84 |
-
.
|
85 |
margin: 0;
|
86 |
}
|
87 |
|
88 |
/* line 71, sass/partials/_main_wrap.scss */
|
89 |
|
90 |
-
.
|
91 |
font-size: 14px;
|
92 |
line-height: 16px;
|
93 |
margin: 1px 0 5px 0;
|
@@ -95,86 +95,86 @@ Main Wrap
|
|
95 |
|
96 |
/* line 82, sass/partials/_main_wrap.scss */
|
97 |
|
98 |
-
.
|
99 |
font-size: 14px;
|
100 |
margin-top: 3px;
|
101 |
}
|
102 |
|
103 |
/* line 87, sass/partials/_main_wrap.scss */
|
104 |
|
105 |
-
.
|
106 |
-
.
|
107 |
background: #fffff8;
|
108 |
}
|
109 |
|
110 |
/* line 92, sass/partials/_main_wrap.scss */
|
111 |
|
112 |
-
.
|
113 |
margin: 0 5px 0 0;
|
114 |
padding: 0;
|
115 |
}
|
116 |
|
117 |
/* line 97, sass/partials/_main_wrap.scss */
|
118 |
|
119 |
-
.
|
120 |
margin: 0 5px 0 0;
|
121 |
padding: 0;
|
122 |
}
|
123 |
|
124 |
/* line 102, sass/partials/_main_wrap.scss */
|
125 |
|
126 |
-
.
|
127 |
-
.
|
128 |
white-space: nowrap;
|
129 |
}
|
130 |
|
131 |
/* line 107, sass/partials/_main_wrap.scss */
|
132 |
|
133 |
-
.
|
134 |
border: 1px solid #e9e9e9 !important;
|
135 |
}
|
136 |
|
137 |
/* line 111, sass/partials/_main_wrap.scss */
|
138 |
|
139 |
-
.
|
140 |
background: #fff;
|
141 |
}
|
142 |
|
143 |
/* line 115, sass/partials/_main_wrap.scss */
|
144 |
|
145 |
-
.
|
146 |
width: 97%;
|
147 |
}
|
148 |
|
149 |
/* line 118, sass/partials/_main_wrap.scss */
|
150 |
|
151 |
-
.
|
152 |
width: 100%;
|
153 |
}
|
154 |
|
155 |
/* line 126, sass/partials/_main_wrap.scss */
|
156 |
|
157 |
-
.
|
158 |
-
.
|
159 |
vertical-align: middle;
|
160 |
}
|
161 |
|
162 |
/* line 131, sass/partials/_main_wrap.scss */
|
163 |
|
164 |
-
.
|
165 |
-
.
|
166 |
margin: 0 10px 0 0;
|
167 |
}
|
168 |
|
169 |
/* line 136, sass/partials/_main_wrap.scss */
|
170 |
|
171 |
-
.
|
172 |
margin: 0;
|
173 |
}
|
174 |
|
175 |
/* line 139, sass/partials/_main_wrap.scss */
|
176 |
|
177 |
-
.
|
178 |
content: '';
|
179 |
clear: both;
|
180 |
display: block;
|
@@ -183,42 +183,42 @@ Main Wrap
|
|
183 |
|
184 |
/* line 146, sass/partials/_main_wrap.scss */
|
185 |
|
186 |
-
.
|
187 |
padding: 1.8em 0 0;
|
188 |
}
|
189 |
|
190 |
/* line 149, sass/partials/_main_wrap.scss */
|
191 |
|
192 |
-
.
|
193 |
padding: 0;
|
194 |
}
|
195 |
|
196 |
/* line 154, sass/partials/_main_wrap.scss */
|
197 |
|
198 |
-
.
|
199 |
padding-top: 0;
|
200 |
padding-bottom: 1.8em;
|
201 |
}
|
202 |
|
203 |
/* line 161, sass/partials/_main_wrap.scss */
|
204 |
|
205 |
-
.
|
206 |
clear: both;
|
207 |
margin: 0;
|
208 |
}
|
209 |
|
210 |
/* line 167, sass/partials/_main_wrap.scss */
|
211 |
|
212 |
-
.
|
213 |
-
.
|
214 |
-
.
|
215 |
-
.
|
216 |
border: 0;
|
217 |
}
|
218 |
|
219 |
/* line 174, sass/partials/_main_wrap.scss */
|
220 |
|
221 |
-
.
|
222 |
padding-right: 20px;
|
223 |
box-sizing: border-box;
|
224 |
float: left;
|
@@ -241,7 +241,7 @@ Main Wrap
|
|
241 |
/* line 192, sass/partials/_main_wrap.scss */
|
242 |
|
243 |
.cmb-row:last-of-type,
|
244 |
-
.
|
245 |
.cmb-repeatable-group:last-of-type {
|
246 |
border-bottom: 0;
|
247 |
}
|
@@ -406,13 +406,13 @@ Main Wrap
|
|
406 |
|
407 |
/* line 308, sass/partials/_main_wrap.scss */
|
408 |
|
409 |
-
.cmb-repeatable-group .
|
410 |
float: right;
|
411 |
}
|
412 |
|
413 |
/* line 314, sass/partials/_main_wrap.scss */
|
414 |
|
415 |
-
p.
|
416 |
color: #aaaaaa;
|
417 |
font-style: italic;
|
418 |
margin: 0;
|
@@ -421,14 +421,14 @@ p.cmb2-metabox-description {
|
|
421 |
|
422 |
/* line 321, sass/partials/_main_wrap.scss */
|
423 |
|
424 |
-
span.
|
425 |
color: #aaaaaa;
|
426 |
font-style: italic;
|
427 |
}
|
428 |
|
429 |
/* line 326, sass/partials/_main_wrap.scss */
|
430 |
|
431 |
-
.
|
432 |
margin: 0 0 5px 0;
|
433 |
padding: 5px 0 0 0;
|
434 |
font-size: 14px;
|
@@ -455,7 +455,7 @@ span.cmb2-metabox-description {
|
|
455 |
|
456 |
/* line 347, sass/partials/_main_wrap.scss */
|
457 |
|
458 |
-
.
|
459 |
clear: none;
|
460 |
display: inline-block;
|
461 |
float: left;
|
@@ -465,14 +465,14 @@ span.cmb2-metabox-description {
|
|
465 |
|
466 |
/* line 354, sass/partials/_main_wrap.scss */
|
467 |
|
468 |
-
.
|
469 |
max-width: 350px;
|
470 |
}
|
471 |
|
472 |
/* line 359, sass/partials/_main_wrap.scss */
|
473 |
|
474 |
-
.
|
475 |
-
.
|
476 |
background: #ffffff;
|
477 |
border: 1px solid #e9e9e9;
|
478 |
border-radius: 2px;
|
@@ -483,22 +483,22 @@ span.cmb2-metabox-description {
|
|
483 |
|
484 |
/* line 369, sass/partials/_main_wrap.scss */
|
485 |
|
486 |
-
.
|
487 |
float: left;
|
488 |
max-width: 800px;
|
489 |
}
|
490 |
|
491 |
/* line 374, sass/partials/_main_wrap.scss */
|
492 |
|
493 |
-
.
|
494 |
-
.
|
495 |
position: relative;
|
496 |
}
|
497 |
|
498 |
/* line 377, sass/partials/_main_wrap.scss */
|
499 |
|
500 |
-
.
|
501 |
-
.
|
502 |
background: url(../images/ico-delete.png);
|
503 |
height: 16px;
|
504 |
left: -5px;
|
@@ -510,20 +510,20 @@ span.cmb2-metabox-description {
|
|
510 |
|
511 |
/* line 391, sass/partials/_main_wrap.scss */
|
512 |
|
513 |
-
.
|
514 |
top: 10px;
|
515 |
}
|
516 |
|
517 |
/* line 396, sass/partials/_main_wrap.scss */
|
518 |
|
519 |
-
.
|
520 |
-
.
|
521 |
cursor: pointer;
|
522 |
}
|
523 |
|
524 |
/* line 402, sass/partials/_main_wrap.scss */
|
525 |
|
526 |
-
.cmb-type-file-list .
|
527 |
clear: none;
|
528 |
float: left;
|
529 |
margin-right: 10px;
|
@@ -549,13 +549,13 @@ span.cmb2-metabox-description {
|
|
549 |
|
550 |
/* line 422, sass/partials/_main_wrap.scss */
|
551 |
|
552 |
-
.
|
553 |
margin: 0;
|
554 |
}
|
555 |
|
556 |
/* line 426, sass/partials/_main_wrap.scss */
|
557 |
|
558 |
-
.child-
|
559 |
text-align: left;
|
560 |
}
|
561 |
|
@@ -574,22 +574,22 @@ Post Metaboxes
|
|
574 |
|
575 |
/* line 14, sass/partials/_post_metaboxes.scss */
|
576 |
|
577 |
-
.postbox-container .
|
578 |
-
.cmb-repeat-group-wrap .
|
579 |
margin: 0;
|
580 |
}
|
581 |
|
582 |
/* line 17, sass/partials/_post_metaboxes.scss */
|
583 |
|
584 |
-
.postbox-container .
|
585 |
-
.cmb-repeat-group-wrap .
|
586 |
padding: 1.8em 0;
|
587 |
}
|
588 |
|
589 |
/* line 23, sass/partials/_post_metaboxes.scss */
|
590 |
|
591 |
-
.postbox-container .
|
592 |
-
.cmb-repeat-group-wrap .
|
593 |
width: 100%;
|
594 |
}
|
595 |
|
@@ -677,38 +677,38 @@ Post Metaboxes
|
|
677 |
|
678 |
/* line 86, sass/partials/_post_metaboxes.scss */
|
679 |
|
680 |
-
.postbox-container .
|
681 |
-
.postbox-container .
|
682 |
-
.cmb-repeat-group-wrap .
|
683 |
-
.cmb-repeat-group-wrap .
|
684 |
display: table;
|
685 |
width: 100%;
|
686 |
}
|
687 |
|
688 |
/* line 90, sass/partials/_post_metaboxes.scss */
|
689 |
|
690 |
-
.postbox-container .
|
691 |
-
.postbox-container .
|
692 |
-
.cmb-repeat-group-wrap .
|
693 |
-
.cmb-repeat-group-wrap .
|
694 |
width: 100%;
|
695 |
}
|
696 |
|
697 |
/* line 94, sass/partials/_post_metaboxes.scss */
|
698 |
|
699 |
-
.postbox-container .
|
700 |
-
.postbox-container .
|
701 |
-
.cmb-repeat-group-wrap .
|
702 |
-
.cmb-repeat-group-wrap .
|
703 |
display: table-row;
|
704 |
}
|
705 |
|
706 |
/* line 98, sass/partials/_post_metaboxes.scss */
|
707 |
|
708 |
-
.postbox-container .
|
709 |
-
.postbox-container .
|
710 |
-
.cmb-repeat-group-wrap .
|
711 |
-
.cmb-repeat-group-wrap .
|
712 |
display: table-cell;
|
713 |
float: none;
|
714 |
width: 100%;
|
@@ -716,19 +716,19 @@ Post Metaboxes
|
|
716 |
|
717 |
/* line 104, sass/partials/_post_metaboxes.scss */
|
718 |
|
719 |
-
.postbox-container .
|
720 |
-
.postbox-container .
|
721 |
-
.cmb-repeat-group-wrap .
|
722 |
-
.cmb-repeat-group-wrap .
|
723 |
padding-top: 1.8em;
|
724 |
}
|
725 |
|
726 |
/* line 108, sass/partials/_post_metaboxes.scss */
|
727 |
|
728 |
-
.postbox-container .
|
729 |
-
.postbox-container .
|
730 |
-
.cmb-repeat-group-wrap .
|
731 |
-
.cmb-repeat-group-wrap .
|
732 |
padding-right: 0;
|
733 |
}
|
734 |
|
@@ -744,22 +744,22 @@ Misc.
|
|
744 |
|
745 |
/* line 12, sass/partials/_misc.scss */
|
746 |
|
747 |
-
.edit-tags-php .
|
748 |
-
.profile-php .
|
749 |
-
.user-edit-php .
|
750 |
font-size: 1.4em;
|
751 |
}
|
752 |
|
753 |
/* line 18, sass/partials/_misc.scss */
|
754 |
|
755 |
-
.
|
756 |
font-size: 1.3em;
|
757 |
margin: 1em 0;
|
758 |
}
|
759 |
|
760 |
/* line 21, sass/partials/_misc.scss */
|
761 |
|
762 |
-
.
|
763 |
margin-top: -1.6em;
|
764 |
margin-bottom: .8em;
|
765 |
}
|
@@ -776,24 +776,24 @@ Sidebar Placement Adjustments
|
|
776 |
|
777 |
/* line 10, sass/partials/_sidebar_placements.scss */
|
778 |
|
779 |
-
.inner-sidebar .
|
780 |
-
#side-sortables .
|
781 |
padding: 1.4em 0;
|
782 |
}
|
783 |
|
784 |
/* line 16, sass/partials/_sidebar_placements.scss */
|
785 |
|
786 |
-
.inner-sidebar .
|
787 |
-
#side-sortables .
|
788 |
width: 100%;
|
789 |
}
|
790 |
|
791 |
/* line 20, sass/partials/_sidebar_placements.scss */
|
792 |
|
793 |
-
.inner-sidebar .
|
794 |
-
.inner-sidebar .
|
795 |
-
#side-sortables .
|
796 |
-
#side-sortables .
|
797 |
margin-left: 0;
|
798 |
margin-top: 1em;
|
799 |
display: block;
|
@@ -801,22 +801,22 @@ Sidebar Placement Adjustments
|
|
801 |
|
802 |
/* line 26, sass/partials/_sidebar_placements.scss */
|
803 |
|
804 |
-
.inner-sidebar .
|
805 |
-
#side-sortables .
|
806 |
max-width: 70%;
|
807 |
}
|
808 |
|
809 |
/* line 28, sass/partials/_sidebar_placements.scss */
|
810 |
|
811 |
-
.inner-sidebar .
|
812 |
-
#side-sortables .
|
813 |
display: block;
|
814 |
}
|
815 |
|
816 |
/* line 34, sass/partials/_sidebar_placements.scss */
|
817 |
|
818 |
-
.inner-sidebar .
|
819 |
-
#side-sortables .
|
820 |
display: block;
|
821 |
font-weight: 700;
|
822 |
padding: 0 0 5px;
|
@@ -921,8 +921,8 @@ Sidebar Placement Adjustments
|
|
921 |
|
922 |
/* line 81, sass/partials/_sidebar_placements.scss */
|
923 |
|
924 |
-
.inner-sidebar .cmb-group-description .
|
925 |
-
#side-sortables .cmb-group-description .
|
926 |
padding: 0;
|
927 |
}
|
928 |
|
@@ -942,26 +942,26 @@ Sidebar Placement Adjustments
|
|
942 |
|
943 |
/* line 103, sass/partials/_sidebar_placements.scss */
|
944 |
|
945 |
-
.inner-sidebar .
|
946 |
-
.inner-sidebar .
|
947 |
-
#side-sortables .
|
948 |
-
#side-sortables .
|
949 |
max-width: 90%;
|
950 |
height: auto;
|
951 |
}
|
952 |
|
953 |
/* line 111, sass/partials/_sidebar_placements.scss */
|
954 |
|
955 |
-
.inner-sidebar .
|
956 |
-
#side-sortables .
|
957 |
display: inline;
|
958 |
font-weight: normal;
|
959 |
}
|
960 |
|
961 |
/* line 116, sass/partials/_sidebar_placements.scss */
|
962 |
|
963 |
-
.inner-sidebar .
|
964 |
-
#side-sortables .
|
965 |
display: block;
|
966 |
padding: 7px 0 0;
|
967 |
}
|
@@ -969,24 +969,24 @@ Sidebar Placement Adjustments
|
|
969 |
/* line 123, sass/partials/_sidebar_placements.scss */
|
970 |
|
971 |
.inner-sidebar .cmb-type-checkbox .cmb-td label,
|
972 |
-
.inner-sidebar .cmb-type-checkbox .
|
973 |
#side-sortables .cmb-type-checkbox .cmb-td label,
|
974 |
-
#side-sortables .cmb-type-checkbox .
|
975 |
font-weight: normal;
|
976 |
display: inline;
|
977 |
}
|
978 |
|
979 |
/* line 130, sass/partials/_sidebar_placements.scss */
|
980 |
|
981 |
-
.inner-sidebar .cmb-row .
|
982 |
-
#side-sortables .cmb-row .
|
983 |
padding-bottom: 1.8em;
|
984 |
}
|
985 |
|
986 |
/* line 134, sass/partials/_sidebar_placements.scss */
|
987 |
|
988 |
-
.inner-sidebar .
|
989 |
-
#side-sortables .
|
990 |
font-size: 1.2em;
|
991 |
font-style: italic;
|
992 |
}
|
@@ -1020,21 +1020,21 @@ Sidebar Placement Adjustments
|
|
1020 |
|
1021 |
/* line 158, sass/partials/_sidebar_placements.scss */
|
1022 |
|
1023 |
-
.inner-sidebar .
|
1024 |
-
#side-sortables .
|
1025 |
clear: both;
|
1026 |
margin-top: 12px;
|
1027 |
}
|
1028 |
|
1029 |
/* line 2, sass/partials/_collapsible_ui.scss */
|
1030 |
|
1031 |
-
.
|
1032 |
max-width: 1000px;
|
1033 |
}
|
1034 |
|
1035 |
/* line 5, sass/partials/_collapsible_ui.scss */
|
1036 |
|
1037 |
-
.
|
1038 |
color: #aaa;
|
1039 |
float: right;
|
1040 |
width: 27px;
|
@@ -1046,7 +1046,7 @@ Sidebar Placement Adjustments
|
|
1046 |
|
1047 |
/* line 13, sass/partials/_collapsible_ui.scss */
|
1048 |
|
1049 |
-
.
|
1050 |
content: '\f142';
|
1051 |
right: 12px;
|
1052 |
font: normal 20px/1 'dashicons';
|
@@ -1062,13 +1062,13 @@ Sidebar Placement Adjustments
|
|
1062 |
|
1063 |
/* line 30, sass/partials/_collapsible_ui.scss */
|
1064 |
|
1065 |
-
.
|
1066 |
content: '\f140';
|
1067 |
}
|
1068 |
|
1069 |
/* line 36, sass/partials/_collapsible_ui.scss */
|
1070 |
|
1071 |
-
.
|
1072 |
-webkit-appearance: none !important;
|
1073 |
background: none !important;
|
1074 |
border: none !important;
|
@@ -1081,13 +1081,13 @@ Sidebar Placement Adjustments
|
|
1081 |
|
1082 |
/* line 45, sass/partials/_collapsible_ui.scss */
|
1083 |
|
1084 |
-
.
|
1085 |
color: #a00;
|
1086 |
}
|
1087 |
|
1088 |
/* line 47, sass/partials/_collapsible_ui.scss */
|
1089 |
|
1090 |
-
.
|
1091 |
color: #f00;
|
1092 |
}
|
1093 |
|
@@ -1103,18 +1103,18 @@ Sidebar Placement Adjustments
|
|
1103 |
|
1104 |
/* line 10, sass/partials/_jquery_ui.scss */
|
1105 |
|
1106 |
-
.
|
1107 |
}
|
1108 |
|
1109 |
/* line 11, sass/partials/_jquery_ui.scss */
|
1110 |
|
1111 |
-
.
|
1112 |
display: none;
|
1113 |
}
|
1114 |
|
1115 |
/* line 12, sass/partials/_jquery_ui.scss */
|
1116 |
|
1117 |
-
.
|
1118 |
position: absolute !important;
|
1119 |
clip: rect(1px 1px 1px 1px);
|
1120 |
clip: rect(1px, 1px, 1px, 1px);
|
@@ -1122,7 +1122,7 @@ Sidebar Placement Adjustments
|
|
1122 |
|
1123 |
/* line 13, sass/partials/_jquery_ui.scss */
|
1124 |
|
1125 |
-
.
|
1126 |
margin: 0;
|
1127 |
padding: 0;
|
1128 |
border: 0;
|
@@ -1135,7 +1135,7 @@ Sidebar Placement Adjustments
|
|
1135 |
|
1136 |
/* line 14, sass/partials/_jquery_ui.scss */
|
1137 |
|
1138 |
-
.
|
1139 |
content: ".";
|
1140 |
display: block;
|
1141 |
height: 0;
|
@@ -1145,25 +1145,25 @@ Sidebar Placement Adjustments
|
|
1145 |
|
1146 |
/* line 15, sass/partials/_jquery_ui.scss */
|
1147 |
|
1148 |
-
.
|
1149 |
display: inline-block;
|
1150 |
}
|
1151 |
|
1152 |
/* line 16, sass/partials/_jquery_ui.scss */
|
1153 |
|
1154 |
-
.
|
1155 |
height: 1%;
|
1156 |
}
|
1157 |
|
1158 |
/* line 17, sass/partials/_jquery_ui.scss */
|
1159 |
|
1160 |
-
.
|
1161 |
display: block;
|
1162 |
}
|
1163 |
|
1164 |
/* line 18, sass/partials/_jquery_ui.scss */
|
1165 |
|
1166 |
-
.
|
1167 |
width: 100%;
|
1168 |
height: 100%;
|
1169 |
top: 0;
|
@@ -1175,13 +1175,13 @@ Sidebar Placement Adjustments
|
|
1175 |
|
1176 |
/* line 19, sass/partials/_jquery_ui.scss */
|
1177 |
|
1178 |
-
.
|
1179 |
cursor: default !important;
|
1180 |
}
|
1181 |
|
1182 |
/* line 20, sass/partials/_jquery_ui.scss */
|
1183 |
|
1184 |
-
.
|
1185 |
display: block;
|
1186 |
text-indent: -99999px;
|
1187 |
overflow: hidden;
|
@@ -1190,7 +1190,7 @@ Sidebar Placement Adjustments
|
|
1190 |
|
1191 |
/* line 21, sass/partials/_jquery_ui.scss */
|
1192 |
|
1193 |
-
.
|
1194 |
position: absolute;
|
1195 |
top: 0;
|
1196 |
left: 0;
|
@@ -1200,30 +1200,30 @@ Sidebar Placement Adjustments
|
|
1200 |
|
1201 |
/* line 22, sass/partials/_jquery_ui.scss */
|
1202 |
|
1203 |
-
.
|
1204 |
font-family: Verdana,Arial,sans-serif;
|
1205 |
font-size: 1.1em;
|
1206 |
}
|
1207 |
|
1208 |
/* line 24, sass/partials/_jquery_ui.scss */
|
1209 |
|
1210 |
-
.
|
1211 |
font-size: 1em;
|
1212 |
}
|
1213 |
|
1214 |
/* line 25, sass/partials/_jquery_ui.scss */
|
1215 |
|
1216 |
-
.
|
1217 |
-
.
|
1218 |
-
.
|
1219 |
-
.
|
1220 |
font-family: Verdana,Arial,sans-serif;
|
1221 |
font-size: 1em;
|
1222 |
}
|
1223 |
|
1224 |
/* line 27, sass/partials/_jquery_ui.scss */
|
1225 |
|
1226 |
-
.
|
1227 |
border: 1px solid #aaaaaa;
|
1228 |
background: #ffffff url(../images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;
|
1229 |
color: #222222;
|
@@ -1231,13 +1231,13 @@ Sidebar Placement Adjustments
|
|
1231 |
|
1232 |
/* line 28, sass/partials/_jquery_ui.scss */
|
1233 |
|
1234 |
-
.
|
1235 |
color: #222222;
|
1236 |
}
|
1237 |
|
1238 |
/* line 29, sass/partials/_jquery_ui.scss */
|
1239 |
|
1240 |
-
.
|
1241 |
border: 1px solid #aaaaaa;
|
1242 |
background: #cccccc url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;
|
1243 |
color: #222222;
|
@@ -1246,15 +1246,15 @@ Sidebar Placement Adjustments
|
|
1246 |
|
1247 |
/* line 30, sass/partials/_jquery_ui.scss */
|
1248 |
|
1249 |
-
.
|
1250 |
color: #222222;
|
1251 |
}
|
1252 |
|
1253 |
/* line 31, sass/partials/_jquery_ui.scss */
|
1254 |
|
1255 |
-
.
|
1256 |
-
.
|
1257 |
-
.
|
1258 |
border: 1px solid #d3d3d3;
|
1259 |
font-weight: normal;
|
1260 |
color: #555555;
|
@@ -1262,21 +1262,21 @@ Sidebar Placement Adjustments
|
|
1262 |
|
1263 |
/* line 32, sass/partials/_jquery_ui.scss */
|
1264 |
|
1265 |
-
.
|
1266 |
-
.
|
1267 |
-
.
|
1268 |
color: #555555;
|
1269 |
text-decoration: none;
|
1270 |
}
|
1271 |
|
1272 |
/* line 33, sass/partials/_jquery_ui.scss */
|
1273 |
|
1274 |
-
.
|
1275 |
-
.
|
1276 |
-
.
|
1277 |
-
.
|
1278 |
-
.
|
1279 |
-
.
|
1280 |
border: 1px solid #999999;
|
1281 |
background: #dadada url(../images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;
|
1282 |
font-weight: normal;
|
@@ -1285,17 +1285,17 @@ Sidebar Placement Adjustments
|
|
1285 |
|
1286 |
/* line 34, sass/partials/_jquery_ui.scss */
|
1287 |
|
1288 |
-
.
|
1289 |
-
.
|
1290 |
color: #212121;
|
1291 |
text-decoration: none;
|
1292 |
}
|
1293 |
|
1294 |
/* line 35, sass/partials/_jquery_ui.scss */
|
1295 |
|
1296 |
-
.
|
1297 |
-
.
|
1298 |
-
.
|
1299 |
border: 1px solid #aaaaaa;
|
1300 |
background: #ffffff url(../images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;
|
1301 |
font-weight: normal;
|
@@ -1304,24 +1304,24 @@ Sidebar Placement Adjustments
|
|
1304 |
|
1305 |
/* line 36, sass/partials/_jquery_ui.scss */
|
1306 |
|
1307 |
-
.
|
1308 |
-
.
|
1309 |
-
.
|
1310 |
color: #212121;
|
1311 |
text-decoration: none;
|
1312 |
}
|
1313 |
|
1314 |
/* line 37, sass/partials/_jquery_ui.scss */
|
1315 |
|
1316 |
-
.
|
1317 |
outline: none;
|
1318 |
}
|
1319 |
|
1320 |
/* line 38, sass/partials/_jquery_ui.scss */
|
1321 |
|
1322 |
-
.
|
1323 |
-
.
|
1324 |
-
.
|
1325 |
border: 1px solid #fcefa1;
|
1326 |
background: #fbf9ee url(../images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;
|
1327 |
color: #363636;
|
@@ -1329,17 +1329,17 @@ Sidebar Placement Adjustments
|
|
1329 |
|
1330 |
/* line 39, sass/partials/_jquery_ui.scss */
|
1331 |
|
1332 |
-
.
|
1333 |
-
.
|
1334 |
-
.
|
1335 |
color: #363636;
|
1336 |
}
|
1337 |
|
1338 |
/* line 40, sass/partials/_jquery_ui.scss */
|
1339 |
|
1340 |
-
.
|
1341 |
-
.
|
1342 |
-
.
|
1343 |
border: 1px solid #cd0a0a;
|
1344 |
background: #fef1ec url(../images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;
|
1345 |
color: #cd0a0a;
|
@@ -1347,33 +1347,33 @@ Sidebar Placement Adjustments
|
|
1347 |
|
1348 |
/* line 41, sass/partials/_jquery_ui.scss */
|
1349 |
|
1350 |
-
.
|
1351 |
-
.
|
1352 |
-
.
|
1353 |
color: #cd0a0a;
|
1354 |
}
|
1355 |
|
1356 |
/* line 42, sass/partials/_jquery_ui.scss */
|
1357 |
|
1358 |
-
.
|
1359 |
-
.
|
1360 |
-
.
|
1361 |
color: #cd0a0a;
|
1362 |
}
|
1363 |
|
1364 |
/* line 43, sass/partials/_jquery_ui.scss */
|
1365 |
|
1366 |
-
.
|
1367 |
-
.
|
1368 |
-
.
|
1369 |
font-weight: bold;
|
1370 |
}
|
1371 |
|
1372 |
/* line 44, sass/partials/_jquery_ui.scss */
|
1373 |
|
1374 |
-
.
|
1375 |
-
.
|
1376 |
-
.
|
1377 |
opacity: .7;
|
1378 |
filter: Alpha(Opacity=70);
|
1379 |
font-weight: normal;
|
@@ -1381,9 +1381,9 @@ Sidebar Placement Adjustments
|
|
1381 |
|
1382 |
/* line 45, sass/partials/_jquery_ui.scss */
|
1383 |
|
1384 |
-
.
|
1385 |
-
.
|
1386 |
-
.
|
1387 |
opacity: .35;
|
1388 |
filter: Alpha(Opacity=35);
|
1389 |
background-image: none;
|
@@ -1391,7 +1391,7 @@ Sidebar Placement Adjustments
|
|
1391 |
|
1392 |
/* line 46, sass/partials/_jquery_ui.scss */
|
1393 |
|
1394 |
-
.
|
1395 |
width: 16px;
|
1396 |
height: 16px;
|
1397 |
background-image: url(../images/ui-icons_222222_256x240.png);
|
@@ -1399,1098 +1399,1098 @@ Sidebar Placement Adjustments
|
|
1399 |
|
1400 |
/* line 47, sass/partials/_jquery_ui.scss */
|
1401 |
|
1402 |
-
.
|
1403 |
background-image: url(../images/ui-icons_222222_256x240.png);
|
1404 |
}
|
1405 |
|
1406 |
/* line 48, sass/partials/_jquery_ui.scss */
|
1407 |
|
1408 |
-
.
|
1409 |
background-image: url(../images/ui-icons_222222_256x240.png);
|
1410 |
}
|
1411 |
|
1412 |
/* line 49, sass/partials/_jquery_ui.scss */
|
1413 |
|
1414 |
-
.
|
1415 |
background-image: url(../images/ui-icons_888888_256x240.png);
|
1416 |
}
|
1417 |
|
1418 |
/* line 50, sass/partials/_jquery_ui.scss */
|
1419 |
|
1420 |
-
.
|
1421 |
-
.
|
1422 |
background-image: url(../images/ui-icons_454545_256x240.png);
|
1423 |
}
|
1424 |
|
1425 |
/* line 51, sass/partials/_jquery_ui.scss */
|
1426 |
|
1427 |
-
.
|
1428 |
background-image: url(../images/ui-icons_454545_256x240.png);
|
1429 |
}
|
1430 |
|
1431 |
/* line 52, sass/partials/_jquery_ui.scss */
|
1432 |
|
1433 |
-
.
|
1434 |
background-image: url(../images/ui-icons_2e83ff_256x240.png);
|
1435 |
}
|
1436 |
|
1437 |
/* line 53, sass/partials/_jquery_ui.scss */
|
1438 |
|
1439 |
-
.
|
1440 |
-
.
|
1441 |
background-image: url(../images/ui-icons_cd0a0a_256x240.png);
|
1442 |
}
|
1443 |
|
1444 |
/* line 54, sass/partials/_jquery_ui.scss */
|
1445 |
|
1446 |
-
.
|
1447 |
background-position: 0 0;
|
1448 |
}
|
1449 |
|
1450 |
/* line 55, sass/partials/_jquery_ui.scss */
|
1451 |
|
1452 |
-
.
|
1453 |
background-position: -16px 0;
|
1454 |
}
|
1455 |
|
1456 |
/* line 56, sass/partials/_jquery_ui.scss */
|
1457 |
|
1458 |
-
.
|
1459 |
background-position: -32px 0;
|
1460 |
}
|
1461 |
|
1462 |
/* line 57, sass/partials/_jquery_ui.scss */
|
1463 |
|
1464 |
-
.
|
1465 |
background-position: -48px 0;
|
1466 |
}
|
1467 |
|
1468 |
/* line 58, sass/partials/_jquery_ui.scss */
|
1469 |
|
1470 |
-
.
|
1471 |
background-position: -64px 0;
|
1472 |
}
|
1473 |
|
1474 |
/* line 59, sass/partials/_jquery_ui.scss */
|
1475 |
|
1476 |
-
.
|
1477 |
background-position: -80px 0;
|
1478 |
}
|
1479 |
|
1480 |
/* line 60, sass/partials/_jquery_ui.scss */
|
1481 |
|
1482 |
-
.
|
1483 |
background-position: -96px 0;
|
1484 |
}
|
1485 |
|
1486 |
/* line 61, sass/partials/_jquery_ui.scss */
|
1487 |
|
1488 |
-
.
|
1489 |
background-position: -112px 0;
|
1490 |
}
|
1491 |
|
1492 |
/* line 62, sass/partials/_jquery_ui.scss */
|
1493 |
|
1494 |
-
.
|
1495 |
background-position: -128px 0;
|
1496 |
}
|
1497 |
|
1498 |
/* line 63, sass/partials/_jquery_ui.scss */
|
1499 |
|
1500 |
-
.
|
1501 |
background-position: -144px 0;
|
1502 |
}
|
1503 |
|
1504 |
/* line 64, sass/partials/_jquery_ui.scss */
|
1505 |
|
1506 |
-
.
|
1507 |
background-position: 0 -16px;
|
1508 |
}
|
1509 |
|
1510 |
/* line 65, sass/partials/_jquery_ui.scss */
|
1511 |
|
1512 |
-
.
|
1513 |
background-position: -16px -16px;
|
1514 |
}
|
1515 |
|
1516 |
/* line 66, sass/partials/_jquery_ui.scss */
|
1517 |
|
1518 |
-
.
|
1519 |
background-position: -32px -16px;
|
1520 |
}
|
1521 |
|
1522 |
/* line 67, sass/partials/_jquery_ui.scss */
|
1523 |
|
1524 |
-
.
|
1525 |
background-position: -48px -16px;
|
1526 |
}
|
1527 |
|
1528 |
/* line 68, sass/partials/_jquery_ui.scss */
|
1529 |
|
1530 |
-
.
|
1531 |
background-position: -64px -16px;
|
1532 |
}
|
1533 |
|
1534 |
/* line 69, sass/partials/_jquery_ui.scss */
|
1535 |
|
1536 |
-
.
|
1537 |
background-position: -80px -16px;
|
1538 |
}
|
1539 |
|
1540 |
/* line 70, sass/partials/_jquery_ui.scss */
|
1541 |
|
1542 |
-
.
|
1543 |
background-position: -96px -16px;
|
1544 |
}
|
1545 |
|
1546 |
/* line 71, sass/partials/_jquery_ui.scss */
|
1547 |
|
1548 |
-
.
|
1549 |
background-position: -112px -16px;
|
1550 |
}
|
1551 |
|
1552 |
/* line 72, sass/partials/_jquery_ui.scss */
|
1553 |
|
1554 |
-
.
|
1555 |
background-position: -128px -16px;
|
1556 |
}
|
1557 |
|
1558 |
/* line 73, sass/partials/_jquery_ui.scss */
|
1559 |
|
1560 |
-
.
|
1561 |
background-position: -144px -16px;
|
1562 |
}
|
1563 |
|
1564 |
/* line 74, sass/partials/_jquery_ui.scss */
|
1565 |
|
1566 |
-
.
|
1567 |
background-position: 0 -32px;
|
1568 |
}
|
1569 |
|
1570 |
/* line 75, sass/partials/_jquery_ui.scss */
|
1571 |
|
1572 |
-
.
|
1573 |
background-position: -16px -32px;
|
1574 |
}
|
1575 |
|
1576 |
/* line 76, sass/partials/_jquery_ui.scss */
|
1577 |
|
1578 |
-
.
|
1579 |
background-position: -32px -32px;
|
1580 |
}
|
1581 |
|
1582 |
/* line 77, sass/partials/_jquery_ui.scss */
|
1583 |
|
1584 |
-
.
|
1585 |
background-position: -48px -32px;
|
1586 |
}
|
1587 |
|
1588 |
/* line 78, sass/partials/_jquery_ui.scss */
|
1589 |
|
1590 |
-
.
|
1591 |
background-position: -64px -32px;
|
1592 |
}
|
1593 |
|
1594 |
/* line 79, sass/partials/_jquery_ui.scss */
|
1595 |
|
1596 |
-
.
|
1597 |
background-position: -80px -32px;
|
1598 |
}
|
1599 |
|
1600 |
/* line 80, sass/partials/_jquery_ui.scss */
|
1601 |
|
1602 |
-
.
|
1603 |
background-position: -96px -32px;
|
1604 |
}
|
1605 |
|
1606 |
/* line 81, sass/partials/_jquery_ui.scss */
|
1607 |
|
1608 |
-
.
|
1609 |
background-position: -112px -32px;
|
1610 |
}
|
1611 |
|
1612 |
/* line 82, sass/partials/_jquery_ui.scss */
|
1613 |
|
1614 |
-
.
|
1615 |
background-position: -128px -32px;
|
1616 |
}
|
1617 |
|
1618 |
/* line 83, sass/partials/_jquery_ui.scss */
|
1619 |
|
1620 |
-
.
|
1621 |
background-position: -144px -32px;
|
1622 |
}
|
1623 |
|
1624 |
/* line 84, sass/partials/_jquery_ui.scss */
|
1625 |
|
1626 |
-
.
|
1627 |
background-position: -160px -32px;
|
1628 |
}
|
1629 |
|
1630 |
/* line 85, sass/partials/_jquery_ui.scss */
|
1631 |
|
1632 |
-
.
|
1633 |
background-position: -176px -32px;
|
1634 |
}
|
1635 |
|
1636 |
/* line 86, sass/partials/_jquery_ui.scss */
|
1637 |
|
1638 |
-
.
|
1639 |
background-position: -192px -32px;
|
1640 |
}
|
1641 |
|
1642 |
/* line 87, sass/partials/_jquery_ui.scss */
|
1643 |
|
1644 |
-
.
|
1645 |
background-position: -208px -32px;
|
1646 |
}
|
1647 |
|
1648 |
/* line 88, sass/partials/_jquery_ui.scss */
|
1649 |
|
1650 |
-
.
|
1651 |
background-position: -224px -32px;
|
1652 |
}
|
1653 |
|
1654 |
/* line 89, sass/partials/_jquery_ui.scss */
|
1655 |
|
1656 |
-
.
|
1657 |
background-position: -240px -32px;
|
1658 |
}
|
1659 |
|
1660 |
/* line 90, sass/partials/_jquery_ui.scss */
|
1661 |
|
1662 |
-
.
|
1663 |
background-position: 0 -48px;
|
1664 |
}
|
1665 |
|
1666 |
/* line 91, sass/partials/_jquery_ui.scss */
|
1667 |
|
1668 |
-
.
|
1669 |
background-position: -16px -48px;
|
1670 |
}
|
1671 |
|
1672 |
/* line 92, sass/partials/_jquery_ui.scss */
|
1673 |
|
1674 |
-
.
|
1675 |
background-position: -32px -48px;
|
1676 |
}
|
1677 |
|
1678 |
/* line 93, sass/partials/_jquery_ui.scss */
|
1679 |
|
1680 |
-
.
|
1681 |
background-position: -48px -48px;
|
1682 |
}
|
1683 |
|
1684 |
/* line 94, sass/partials/_jquery_ui.scss */
|
1685 |
|
1686 |
-
.
|
1687 |
background-position: -64px -48px;
|
1688 |
}
|
1689 |
|
1690 |
/* line 95, sass/partials/_jquery_ui.scss */
|
1691 |
|
1692 |
-
.
|
1693 |
background-position: -80px -48px;
|
1694 |
}
|
1695 |
|
1696 |
/* line 96, sass/partials/_jquery_ui.scss */
|
1697 |
|
1698 |
-
.
|
1699 |
background-position: -96px -48px;
|
1700 |
}
|
1701 |
|
1702 |
/* line 97, sass/partials/_jquery_ui.scss */
|
1703 |
|
1704 |
-
.
|
1705 |
background-position: -112px -48px;
|
1706 |
}
|
1707 |
|
1708 |
/* line 98, sass/partials/_jquery_ui.scss */
|
1709 |
|
1710 |
-
.
|
1711 |
background-position: -128px -48px;
|
1712 |
}
|
1713 |
|
1714 |
/* line 99, sass/partials/_jquery_ui.scss */
|
1715 |
|
1716 |
-
.
|
1717 |
background-position: -144px -48px;
|
1718 |
}
|
1719 |
|
1720 |
/* line 100, sass/partials/_jquery_ui.scss */
|
1721 |
|
1722 |
-
.
|
1723 |
background-position: -160px -48px;
|
1724 |
}
|
1725 |
|
1726 |
/* line 101, sass/partials/_jquery_ui.scss */
|
1727 |
|
1728 |
-
.
|
1729 |
background-position: -176px -48px;
|
1730 |
}
|
1731 |
|
1732 |
/* line 102, sass/partials/_jquery_ui.scss */
|
1733 |
|
1734 |
-
.
|
1735 |
background-position: -192px -48px;
|
1736 |
}
|
1737 |
|
1738 |
/* line 103, sass/partials/_jquery_ui.scss */
|
1739 |
|
1740 |
-
.
|
1741 |
background-position: -208px -48px;
|
1742 |
}
|
1743 |
|
1744 |
/* line 104, sass/partials/_jquery_ui.scss */
|
1745 |
|
1746 |
-
.
|
1747 |
background-position: -224px -48px;
|
1748 |
}
|
1749 |
|
1750 |
/* line 105, sass/partials/_jquery_ui.scss */
|
1751 |
|
1752 |
-
.
|
1753 |
background-position: -240px -48px;
|
1754 |
}
|
1755 |
|
1756 |
/* line 106, sass/partials/_jquery_ui.scss */
|
1757 |
|
1758 |
-
.
|
1759 |
background-position: 0 -64px;
|
1760 |
}
|
1761 |
|
1762 |
/* line 107, sass/partials/_jquery_ui.scss */
|
1763 |
|
1764 |
-
.
|
1765 |
background-position: -16px -64px;
|
1766 |
}
|
1767 |
|
1768 |
/* line 108, sass/partials/_jquery_ui.scss */
|
1769 |
|
1770 |
-
.
|
1771 |
background-position: -32px -64px;
|
1772 |
}
|
1773 |
|
1774 |
/* line 109, sass/partials/_jquery_ui.scss */
|
1775 |
|
1776 |
-
.
|
1777 |
background-position: -48px -64px;
|
1778 |
}
|
1779 |
|
1780 |
/* line 110, sass/partials/_jquery_ui.scss */
|
1781 |
|
1782 |
-
.
|
1783 |
background-position: -64px -64px;
|
1784 |
}
|
1785 |
|
1786 |
/* line 111, sass/partials/_jquery_ui.scss */
|
1787 |
|
1788 |
-
.
|
1789 |
background-position: -80px -64px;
|
1790 |
}
|
1791 |
|
1792 |
/* line 112, sass/partials/_jquery_ui.scss */
|
1793 |
|
1794 |
-
.
|
1795 |
background-position: -96px -64px;
|
1796 |
}
|
1797 |
|
1798 |
/* line 113, sass/partials/_jquery_ui.scss */
|
1799 |
|
1800 |
-
.
|
1801 |
background-position: -112px -64px;
|
1802 |
}
|
1803 |
|
1804 |
/* line 114, sass/partials/_jquery_ui.scss */
|
1805 |
|
1806 |
-
.
|
1807 |
background-position: -128px -64px;
|
1808 |
}
|
1809 |
|
1810 |
/* line 115, sass/partials/_jquery_ui.scss */
|
1811 |
|
1812 |
-
.
|
1813 |
background-position: -144px -64px;
|
1814 |
}
|
1815 |
|
1816 |
/* line 116, sass/partials/_jquery_ui.scss */
|
1817 |
|
1818 |
-
.
|
1819 |
background-position: -160px -64px;
|
1820 |
}
|
1821 |
|
1822 |
/* line 117, sass/partials/_jquery_ui.scss */
|
1823 |
|
1824 |
-
.
|
1825 |
background-position: -176px -64px;
|
1826 |
}
|
1827 |
|
1828 |
/* line 118, sass/partials/_jquery_ui.scss */
|
1829 |
|
1830 |
-
.
|
1831 |
background-position: 0 -80px;
|
1832 |
}
|
1833 |
|
1834 |
/* line 119, sass/partials/_jquery_ui.scss */
|
1835 |
|
1836 |
-
.
|
1837 |
background-position: -16px -80px;
|
1838 |
}
|
1839 |
|
1840 |
/* line 120, sass/partials/_jquery_ui.scss */
|
1841 |
|
1842 |
-
.
|
1843 |
background-position: -32px -80px;
|
1844 |
}
|
1845 |
|
1846 |
/* line 121, sass/partials/_jquery_ui.scss */
|
1847 |
|
1848 |
-
.
|
1849 |
background-position: -48px -80px;
|
1850 |
}
|
1851 |
|
1852 |
/* line 122, sass/partials/_jquery_ui.scss */
|
1853 |
|
1854 |
-
.
|
1855 |
background-position: -64px -80px;
|
1856 |
}
|
1857 |
|
1858 |
/* line 123, sass/partials/_jquery_ui.scss */
|
1859 |
|
1860 |
-
.
|
1861 |
background-position: -80px -80px;
|
1862 |
}
|
1863 |
|
1864 |
/* line 124, sass/partials/_jquery_ui.scss */
|
1865 |
|
1866 |
-
.
|
1867 |
background-position: -96px -80px;
|
1868 |
}
|
1869 |
|
1870 |
/* line 125, sass/partials/_jquery_ui.scss */
|
1871 |
|
1872 |
-
.
|
1873 |
background-position: -112px -80px;
|
1874 |
}
|
1875 |
|
1876 |
/* line 126, sass/partials/_jquery_ui.scss */
|
1877 |
|
1878 |
-
.
|
1879 |
background-position: 0 -96px;
|
1880 |
}
|
1881 |
|
1882 |
/* line 127, sass/partials/_jquery_ui.scss */
|
1883 |
|
1884 |
-
.
|
1885 |
background-position: -16px -96px;
|
1886 |
}
|
1887 |
|
1888 |
/* line 128, sass/partials/_jquery_ui.scss */
|
1889 |
|
1890 |
-
.
|
1891 |
background-position: -32px -96px;
|
1892 |
}
|
1893 |
|
1894 |
/* line 129, sass/partials/_jquery_ui.scss */
|
1895 |
|
1896 |
-
.
|
1897 |
background-position: -48px -96px;
|
1898 |
}
|
1899 |
|
1900 |
/* line 130, sass/partials/_jquery_ui.scss */
|
1901 |
|
1902 |
-
.
|
1903 |
background-position: -64px -96px;
|
1904 |
}
|
1905 |
|
1906 |
/* line 131, sass/partials/_jquery_ui.scss */
|
1907 |
|
1908 |
-
.
|
1909 |
background-position: -80px -96px;
|
1910 |
}
|
1911 |
|
1912 |
/* line 132, sass/partials/_jquery_ui.scss */
|
1913 |
|
1914 |
-
.
|
1915 |
background-position: -96px -96px;
|
1916 |
}
|
1917 |
|
1918 |
/* line 133, sass/partials/_jquery_ui.scss */
|
1919 |
|
1920 |
-
.
|
1921 |
background-position: -112px -96px;
|
1922 |
}
|
1923 |
|
1924 |
/* line 134, sass/partials/_jquery_ui.scss */
|
1925 |
|
1926 |
-
.
|
1927 |
background-position: -128px -96px;
|
1928 |
}
|
1929 |
|
1930 |
/* line 135, sass/partials/_jquery_ui.scss */
|
1931 |
|
1932 |
-
.
|
1933 |
background-position: -144px -96px;
|
1934 |
}
|
1935 |
|
1936 |
/* line 136, sass/partials/_jquery_ui.scss */
|
1937 |
|
1938 |
-
.
|
1939 |
background-position: -160px -96px;
|
1940 |
}
|
1941 |
|
1942 |
/* line 137, sass/partials/_jquery_ui.scss */
|
1943 |
|
1944 |
-
.
|
1945 |
background-position: -176px -96px;
|
1946 |
}
|
1947 |
|
1948 |
/* line 138, sass/partials/_jquery_ui.scss */
|
1949 |
|
1950 |
-
.
|
1951 |
background-position: -192px -96px;
|
1952 |
}
|
1953 |
|
1954 |
/* line 139, sass/partials/_jquery_ui.scss */
|
1955 |
|
1956 |
-
.
|
1957 |
background-position: -208px -96px;
|
1958 |
}
|
1959 |
|
1960 |
/* line 140, sass/partials/_jquery_ui.scss */
|
1961 |
|
1962 |
-
.
|
1963 |
background-position: -224px -96px;
|
1964 |
}
|
1965 |
|
1966 |
/* line 141, sass/partials/_jquery_ui.scss */
|
1967 |
|
1968 |
-
.
|
1969 |
background-position: -240px -96px;
|
1970 |
}
|
1971 |
|
1972 |
/* line 142, sass/partials/_jquery_ui.scss */
|
1973 |
|
1974 |
-
.
|
1975 |
background-position: 0 -112px;
|
1976 |
}
|
1977 |
|
1978 |
/* line 143, sass/partials/_jquery_ui.scss */
|
1979 |
|
1980 |
-
.
|
1981 |
background-position: -16px -112px;
|
1982 |
}
|
1983 |
|
1984 |
/* line 144, sass/partials/_jquery_ui.scss */
|
1985 |
|
1986 |
-
.
|
1987 |
background-position: -32px -112px;
|
1988 |
}
|
1989 |
|
1990 |
/* line 145, sass/partials/_jquery_ui.scss */
|
1991 |
|
1992 |
-
.
|
1993 |
background-position: -48px -112px;
|
1994 |
}
|
1995 |
|
1996 |
/* line 146, sass/partials/_jquery_ui.scss */
|
1997 |
|
1998 |
-
.
|
1999 |
background-position: -64px -112px;
|
2000 |
}
|
2001 |
|
2002 |
/* line 147, sass/partials/_jquery_ui.scss */
|
2003 |
|
2004 |
-
.
|
2005 |
background-position: -80px -112px;
|
2006 |
}
|
2007 |
|
2008 |
/* line 148, sass/partials/_jquery_ui.scss */
|
2009 |
|
2010 |
-
.
|
2011 |
background-position: -96px -112px;
|
2012 |
}
|
2013 |
|
2014 |
/* line 149, sass/partials/_jquery_ui.scss */
|
2015 |
|
2016 |
-
.
|
2017 |
background-position: -112px -112px;
|
2018 |
}
|
2019 |
|
2020 |
/* line 150, sass/partials/_jquery_ui.scss */
|
2021 |
|
2022 |
-
.
|
2023 |
background-position: -128px -112px;
|
2024 |
}
|
2025 |
|
2026 |
/* line 151, sass/partials/_jquery_ui.scss */
|
2027 |
|
2028 |
-
.
|
2029 |
background-position: -144px -112px;
|
2030 |
}
|
2031 |
|
2032 |
/* line 152, sass/partials/_jquery_ui.scss */
|
2033 |
|
2034 |
-
.
|
2035 |
background-position: -160px -112px;
|
2036 |
}
|
2037 |
|
2038 |
/* line 153, sass/partials/_jquery_ui.scss */
|
2039 |
|
2040 |
-
.
|
2041 |
background-position: -176px -112px;
|
2042 |
}
|
2043 |
|
2044 |
/* line 154, sass/partials/_jquery_ui.scss */
|
2045 |
|
2046 |
-
.
|
2047 |
background-position: -192px -112px;
|
2048 |
}
|
2049 |
|
2050 |
/* line 155, sass/partials/_jquery_ui.scss */
|
2051 |
|
2052 |
-
.
|
2053 |
background-position: -208px -112px;
|
2054 |
}
|
2055 |
|
2056 |
/* line 156, sass/partials/_jquery_ui.scss */
|
2057 |
|
2058 |
-
.
|
2059 |
background-position: -224px -112px;
|
2060 |
}
|
2061 |
|
2062 |
/* line 157, sass/partials/_jquery_ui.scss */
|
2063 |
|
2064 |
-
.
|
2065 |
background-position: -240px -112px;
|
2066 |
}
|
2067 |
|
2068 |
/* line 158, sass/partials/_jquery_ui.scss */
|
2069 |
|
2070 |
-
.
|
2071 |
background-position: 0 -128px;
|
2072 |
}
|
2073 |
|
2074 |
/* line 159, sass/partials/_jquery_ui.scss */
|
2075 |
|
2076 |
-
.
|
2077 |
background-position: -16px -128px;
|
2078 |
}
|
2079 |
|
2080 |
/* line 160, sass/partials/_jquery_ui.scss */
|
2081 |
|
2082 |
-
.
|
2083 |
background-position: -32px -128px;
|
2084 |
}
|
2085 |
|
2086 |
/* line 161, sass/partials/_jquery_ui.scss */
|
2087 |
|
2088 |
-
.
|
2089 |
background-position: -48px -128px;
|
2090 |
}
|
2091 |
|
2092 |
/* line 162, sass/partials/_jquery_ui.scss */
|
2093 |
|
2094 |
-
.
|
2095 |
background-position: -64px -128px;
|
2096 |
}
|
2097 |
|
2098 |
/* line 163, sass/partials/_jquery_ui.scss */
|
2099 |
|
2100 |
-
.
|
2101 |
background-position: -80px -128px;
|
2102 |
}
|
2103 |
|
2104 |
/* line 164, sass/partials/_jquery_ui.scss */
|
2105 |
|
2106 |
-
.
|
2107 |
background-position: -96px -128px;
|
2108 |
}
|
2109 |
|
2110 |
/* line 165, sass/partials/_jquery_ui.scss */
|
2111 |
|
2112 |
-
.
|
2113 |
background-position: -112px -128px;
|
2114 |
}
|
2115 |
|
2116 |
/* line 166, sass/partials/_jquery_ui.scss */
|
2117 |
|
2118 |
-
.
|
2119 |
background-position: -128px -128px;
|
2120 |
}
|
2121 |
|
2122 |
/* line 167, sass/partials/_jquery_ui.scss */
|
2123 |
|
2124 |
-
.
|
2125 |
background-position: -144px -128px;
|
2126 |
}
|
2127 |
|
2128 |
/* line 168, sass/partials/_jquery_ui.scss */
|
2129 |
|
2130 |
-
.
|
2131 |
background-position: -160px -128px;
|
2132 |
}
|
2133 |
|
2134 |
/* line 169, sass/partials/_jquery_ui.scss */
|
2135 |
|
2136 |
-
.
|
2137 |
background-position: -176px -128px;
|
2138 |
}
|
2139 |
|
2140 |
/* line 170, sass/partials/_jquery_ui.scss */
|
2141 |
|
2142 |
-
.
|
2143 |
background-position: -192px -128px;
|
2144 |
}
|
2145 |
|
2146 |
/* line 171, sass/partials/_jquery_ui.scss */
|
2147 |
|
2148 |
-
.
|
2149 |
background-position: -208px -128px;
|
2150 |
}
|
2151 |
|
2152 |
/* line 172, sass/partials/_jquery_ui.scss */
|
2153 |
|
2154 |
-
.
|
2155 |
background-position: -224px -128px;
|
2156 |
}
|
2157 |
|
2158 |
/* line 173, sass/partials/_jquery_ui.scss */
|
2159 |
|
2160 |
-
.
|
2161 |
background-position: -240px -128px;
|
2162 |
}
|
2163 |
|
2164 |
/* line 174, sass/partials/_jquery_ui.scss */
|
2165 |
|
2166 |
-
.
|
2167 |
background-position: 0 -144px;
|
2168 |
}
|
2169 |
|
2170 |
/* line 175, sass/partials/_jquery_ui.scss */
|
2171 |
|
2172 |
-
.
|
2173 |
background-position: -16px -144px;
|
2174 |
}
|
2175 |
|
2176 |
/* line 176, sass/partials/_jquery_ui.scss */
|
2177 |
|
2178 |
-
.
|
2179 |
background-position: -32px -144px;
|
2180 |
}
|
2181 |
|
2182 |
/* line 177, sass/partials/_jquery_ui.scss */
|
2183 |
|
2184 |
-
.
|
2185 |
background-position: -48px -144px;
|
2186 |
}
|
2187 |
|
2188 |
/* line 178, sass/partials/_jquery_ui.scss */
|
2189 |
|
2190 |
-
.
|
2191 |
background-position: -64px -144px;
|
2192 |
}
|
2193 |
|
2194 |
/* line 179, sass/partials/_jquery_ui.scss */
|
2195 |
|
2196 |
-
.
|
2197 |
background-position: -80px -144px;
|
2198 |
}
|
2199 |
|
2200 |
/* line 180, sass/partials/_jquery_ui.scss */
|
2201 |
|
2202 |
-
.
|
2203 |
background-position: -96px -144px;
|
2204 |
}
|
2205 |
|
2206 |
/* line 181, sass/partials/_jquery_ui.scss */
|
2207 |
|
2208 |
-
.
|
2209 |
background-position: -112px -144px;
|
2210 |
}
|
2211 |
|
2212 |
/* line 182, sass/partials/_jquery_ui.scss */
|
2213 |
|
2214 |
-
.
|
2215 |
background-position: -128px -144px;
|
2216 |
}
|
2217 |
|
2218 |
/* line 183, sass/partials/_jquery_ui.scss */
|
2219 |
|
2220 |
-
.
|
2221 |
background-position: -144px -144px;
|
2222 |
}
|
2223 |
|
2224 |
/* line 184, sass/partials/_jquery_ui.scss */
|
2225 |
|
2226 |
-
.
|
2227 |
background-position: 0 -160px;
|
2228 |
}
|
2229 |
|
2230 |
/* line 185, sass/partials/_jquery_ui.scss */
|
2231 |
|
2232 |
-
.
|
2233 |
background-position: -16px -160px;
|
2234 |
}
|
2235 |
|
2236 |
/* line 186, sass/partials/_jquery_ui.scss */
|
2237 |
|
2238 |
-
.
|
2239 |
background-position: -32px -160px;
|
2240 |
}
|
2241 |
|
2242 |
/* line 187, sass/partials/_jquery_ui.scss */
|
2243 |
|
2244 |
-
.
|
2245 |
background-position: -48px -160px;
|
2246 |
}
|
2247 |
|
2248 |
/* line 188, sass/partials/_jquery_ui.scss */
|
2249 |
|
2250 |
-
.
|
2251 |
background-position: -64px -160px;
|
2252 |
}
|
2253 |
|
2254 |
/* line 189, sass/partials/_jquery_ui.scss */
|
2255 |
|
2256 |
-
.
|
2257 |
background-position: -80px -160px;
|
2258 |
}
|
2259 |
|
2260 |
/* line 190, sass/partials/_jquery_ui.scss */
|
2261 |
|
2262 |
-
.
|
2263 |
background-position: -80px -160px;
|
2264 |
}
|
2265 |
|
2266 |
/* line 191, sass/partials/_jquery_ui.scss */
|
2267 |
|
2268 |
-
.
|
2269 |
background-position: -96px -160px;
|
2270 |
}
|
2271 |
|
2272 |
/* line 192, sass/partials/_jquery_ui.scss */
|
2273 |
|
2274 |
-
.
|
2275 |
background-position: -112px -160px;
|
2276 |
}
|
2277 |
|
2278 |
/* line 193, sass/partials/_jquery_ui.scss */
|
2279 |
|
2280 |
-
.
|
2281 |
background-position: -128px -160px;
|
2282 |
}
|
2283 |
|
2284 |
/* line 194, sass/partials/_jquery_ui.scss */
|
2285 |
|
2286 |
-
.
|
2287 |
background-position: -144px -160px;
|
2288 |
}
|
2289 |
|
2290 |
/* line 195, sass/partials/_jquery_ui.scss */
|
2291 |
|
2292 |
-
.
|
2293 |
background-position: 0 -176px;
|
2294 |
}
|
2295 |
|
2296 |
/* line 196, sass/partials/_jquery_ui.scss */
|
2297 |
|
2298 |
-
.
|
2299 |
background-position: -16px -176px;
|
2300 |
}
|
2301 |
|
2302 |
/* line 197, sass/partials/_jquery_ui.scss */
|
2303 |
|
2304 |
-
.
|
2305 |
background-position: -32px -176px;
|
2306 |
}
|
2307 |
|
2308 |
/* line 198, sass/partials/_jquery_ui.scss */
|
2309 |
|
2310 |
-
.
|
2311 |
background-position: -48px -176px;
|
2312 |
}
|
2313 |
|
2314 |
/* line 199, sass/partials/_jquery_ui.scss */
|
2315 |
|
2316 |
-
.
|
2317 |
background-position: -64px -176px;
|
2318 |
}
|
2319 |
|
2320 |
/* line 200, sass/partials/_jquery_ui.scss */
|
2321 |
|
2322 |
-
.
|
2323 |
background-position: -80px -176px;
|
2324 |
}
|
2325 |
|
2326 |
/* line 201, sass/partials/_jquery_ui.scss */
|
2327 |
|
2328 |
-
.
|
2329 |
background-position: -96px -176px;
|
2330 |
}
|
2331 |
|
2332 |
/* line 202, sass/partials/_jquery_ui.scss */
|
2333 |
|
2334 |
-
.
|
2335 |
background-position: 0 -192px;
|
2336 |
}
|
2337 |
|
2338 |
/* line 203, sass/partials/_jquery_ui.scss */
|
2339 |
|
2340 |
-
.
|
2341 |
background-position: -16px -192px;
|
2342 |
}
|
2343 |
|
2344 |
/* line 204, sass/partials/_jquery_ui.scss */
|
2345 |
|
2346 |
-
.
|
2347 |
background-position: -32px -192px;
|
2348 |
}
|
2349 |
|
2350 |
/* line 205, sass/partials/_jquery_ui.scss */
|
2351 |
|
2352 |
-
.
|
2353 |
background-position: -48px -192px;
|
2354 |
}
|
2355 |
|
2356 |
/* line 206, sass/partials/_jquery_ui.scss */
|
2357 |
|
2358 |
-
.
|
2359 |
background-position: -64px -192px;
|
2360 |
}
|
2361 |
|
2362 |
/* line 207, sass/partials/_jquery_ui.scss */
|
2363 |
|
2364 |
-
.
|
2365 |
background-position: -80px -192px;
|
2366 |
}
|
2367 |
|
2368 |
/* line 208, sass/partials/_jquery_ui.scss */
|
2369 |
|
2370 |
-
.
|
2371 |
background-position: -96px -192px;
|
2372 |
}
|
2373 |
|
2374 |
/* line 209, sass/partials/_jquery_ui.scss */
|
2375 |
|
2376 |
-
.
|
2377 |
background-position: -112px -192px;
|
2378 |
}
|
2379 |
|
2380 |
/* line 210, sass/partials/_jquery_ui.scss */
|
2381 |
|
2382 |
-
.
|
2383 |
background-position: -128px -192px;
|
2384 |
}
|
2385 |
|
2386 |
/* line 211, sass/partials/_jquery_ui.scss */
|
2387 |
|
2388 |
-
.
|
2389 |
background-position: -144px -192px;
|
2390 |
}
|
2391 |
|
2392 |
/* line 212, sass/partials/_jquery_ui.scss */
|
2393 |
|
2394 |
-
.
|
2395 |
background-position: -160px -192px;
|
2396 |
}
|
2397 |
|
2398 |
/* line 213, sass/partials/_jquery_ui.scss */
|
2399 |
|
2400 |
-
.
|
2401 |
background-position: -176px -192px;
|
2402 |
}
|
2403 |
|
2404 |
/* line 214, sass/partials/_jquery_ui.scss */
|
2405 |
|
2406 |
-
.
|
2407 |
background-position: -192px -192px;
|
2408 |
}
|
2409 |
|
2410 |
/* line 215, sass/partials/_jquery_ui.scss */
|
2411 |
|
2412 |
-
.
|
2413 |
background-position: -208px -192px;
|
2414 |
}
|
2415 |
|
2416 |
/* line 216, sass/partials/_jquery_ui.scss */
|
2417 |
|
2418 |
-
.
|
2419 |
background-position: 0 -208px;
|
2420 |
}
|
2421 |
|
2422 |
/* line 217, sass/partials/_jquery_ui.scss */
|
2423 |
|
2424 |
-
.
|
2425 |
background-position: -16px -208px;
|
2426 |
}
|
2427 |
|
2428 |
/* line 218, sass/partials/_jquery_ui.scss */
|
2429 |
|
2430 |
-
.
|
2431 |
background-position: -32px -208px;
|
2432 |
}
|
2433 |
|
2434 |
/* line 219, sass/partials/_jquery_ui.scss */
|
2435 |
|
2436 |
-
.
|
2437 |
background-position: -48px -208px;
|
2438 |
}
|
2439 |
|
2440 |
/* line 220, sass/partials/_jquery_ui.scss */
|
2441 |
|
2442 |
-
.
|
2443 |
background-position: -64px -208px;
|
2444 |
}
|
2445 |
|
2446 |
/* line 221, sass/partials/_jquery_ui.scss */
|
2447 |
|
2448 |
-
.
|
2449 |
background-position: -80px -208px;
|
2450 |
}
|
2451 |
|
2452 |
/* line 222, sass/partials/_jquery_ui.scss */
|
2453 |
|
2454 |
-
.
|
2455 |
background-position: 0 -224px;
|
2456 |
}
|
2457 |
|
2458 |
/* line 223, sass/partials/_jquery_ui.scss */
|
2459 |
|
2460 |
-
.
|
2461 |
background-position: -16px -224px;
|
2462 |
}
|
2463 |
|
2464 |
/* line 224, sass/partials/_jquery_ui.scss */
|
2465 |
|
2466 |
-
.
|
2467 |
background-position: -32px -224px;
|
2468 |
}
|
2469 |
|
2470 |
/* line 225, sass/partials/_jquery_ui.scss */
|
2471 |
|
2472 |
-
.
|
2473 |
background-position: -48px -224px;
|
2474 |
}
|
2475 |
|
2476 |
/* line 226, sass/partials/_jquery_ui.scss */
|
2477 |
|
2478 |
-
.
|
2479 |
background-position: -64px -224px;
|
2480 |
}
|
2481 |
|
2482 |
/* line 227, sass/partials/_jquery_ui.scss */
|
2483 |
|
2484 |
-
.
|
2485 |
background-position: -80px -224px;
|
2486 |
}
|
2487 |
|
2488 |
/* line 228, sass/partials/_jquery_ui.scss */
|
2489 |
|
2490 |
-
.
|
2491 |
-
.
|
2492 |
-
.
|
2493 |
-
.
|
2494 |
-moz-border-radius-topleft: 4px;
|
2495 |
-webkit-border-top-left-radius: 4px;
|
2496 |
-khtml-border-top-left-radius: 4px;
|
@@ -2499,10 +2499,10 @@ Sidebar Placement Adjustments
|
|
2499 |
|
2500 |
/* line 229, sass/partials/_jquery_ui.scss */
|
2501 |
|
2502 |
-
.
|
2503 |
-
.
|
2504 |
-
.
|
2505 |
-
.
|
2506 |
-moz-border-radius-topright: 4px;
|
2507 |
-webkit-border-top-right-radius: 4px;
|
2508 |
-khtml-border-top-right-radius: 4px;
|
@@ -2511,10 +2511,10 @@ Sidebar Placement Adjustments
|
|
2511 |
|
2512 |
/* line 230, sass/partials/_jquery_ui.scss */
|
2513 |
|
2514 |
-
.
|
2515 |
-
.
|
2516 |
-
.
|
2517 |
-
.
|
2518 |
-moz-border-radius-bottomleft: 4px;
|
2519 |
-webkit-border-bottom-left-radius: 4px;
|
2520 |
-khtml-border-bottom-left-radius: 4px;
|
@@ -2523,10 +2523,10 @@ Sidebar Placement Adjustments
|
|
2523 |
|
2524 |
/* line 231, sass/partials/_jquery_ui.scss */
|
2525 |
|
2526 |
-
.
|
2527 |
-
.
|
2528 |
-
.
|
2529 |
-
.
|
2530 |
-moz-border-radius-bottomright: 4px;
|
2531 |
-webkit-border-bottom-right-radius: 4px;
|
2532 |
-khtml-border-bottom-right-radius: 4px;
|
@@ -2535,7 +2535,7 @@ Sidebar Placement Adjustments
|
|
2535 |
|
2536 |
/* line 232, sass/partials/_jquery_ui.scss */
|
2537 |
|
2538 |
-
.
|
2539 |
background: #aaaaaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
|
2540 |
opacity: .30;
|
2541 |
filter: Alpha(Opacity=30);
|
@@ -2543,7 +2543,7 @@ Sidebar Placement Adjustments
|
|
2543 |
|
2544 |
/* line 233, sass/partials/_jquery_ui.scss */
|
2545 |
|
2546 |
-
.
|
2547 |
margin: -8px 0 0 -8px;
|
2548 |
padding: 8px;
|
2549 |
background: #aaaaaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
|
@@ -2557,7 +2557,7 @@ Sidebar Placement Adjustments
|
|
2557 |
|
2558 |
/* line 234, sass/partials/_jquery_ui.scss */
|
2559 |
|
2560 |
-
.
|
2561 |
width: 17em;
|
2562 |
padding: .2em .2em 0;
|
2563 |
display: none;
|
@@ -2565,15 +2565,15 @@ Sidebar Placement Adjustments
|
|
2565 |
|
2566 |
/* line 235, sass/partials/_jquery_ui.scss */
|
2567 |
|
2568 |
-
.
|
2569 |
position: relative;
|
2570 |
padding: .2em 0;
|
2571 |
}
|
2572 |
|
2573 |
/* line 236, sass/partials/_jquery_ui.scss */
|
2574 |
|
2575 |
-
.
|
2576 |
-
.
|
2577 |
position: absolute;
|
2578 |
top: 2px;
|
2579 |
width: 1.8em;
|
@@ -2582,39 +2582,39 @@ Sidebar Placement Adjustments
|
|
2582 |
|
2583 |
/* line 237, sass/partials/_jquery_ui.scss */
|
2584 |
|
2585 |
-
.
|
2586 |
-
.
|
2587 |
top: 1px;
|
2588 |
}
|
2589 |
|
2590 |
/* line 238, sass/partials/_jquery_ui.scss */
|
2591 |
|
2592 |
-
.
|
2593 |
left: 2px;
|
2594 |
}
|
2595 |
|
2596 |
/* line 239, sass/partials/_jquery_ui.scss */
|
2597 |
|
2598 |
-
.
|
2599 |
right: 2px;
|
2600 |
}
|
2601 |
|
2602 |
/* line 240, sass/partials/_jquery_ui.scss */
|
2603 |
|
2604 |
-
.
|
2605 |
left: 1px;
|
2606 |
}
|
2607 |
|
2608 |
/* line 241, sass/partials/_jquery_ui.scss */
|
2609 |
|
2610 |
-
.
|
2611 |
right: 1px;
|
2612 |
}
|
2613 |
|
2614 |
/* line 242, sass/partials/_jquery_ui.scss */
|
2615 |
|
2616 |
-
.
|
2617 |
-
.
|
2618 |
display: block;
|
2619 |
position: absolute;
|
2620 |
left: 50%;
|
@@ -2625,7 +2625,7 @@ Sidebar Placement Adjustments
|
|
2625 |
|
2626 |
/* line 243, sass/partials/_jquery_ui.scss */
|
2627 |
|
2628 |
-
.
|
2629 |
margin: 0 2.3em;
|
2630 |
line-height: 1.8em;
|
2631 |
text-align: center;
|
@@ -2633,39 +2633,39 @@ Sidebar Placement Adjustments
|
|
2633 |
|
2634 |
/* line 244, sass/partials/_jquery_ui.scss */
|
2635 |
|
2636 |
-
.
|
2637 |
font-size: 1em;
|
2638 |
margin: 1px 0;
|
2639 |
}
|
2640 |
|
2641 |
/* line 245, sass/partials/_jquery_ui.scss */
|
2642 |
|
2643 |
-
.
|
2644 |
width: 100%;
|
2645 |
}
|
2646 |
|
2647 |
/* line 246, sass/partials/_jquery_ui.scss */
|
2648 |
|
2649 |
-
.
|
2650 |
-
.
|
2651 |
width: 49%;
|
2652 |
}
|
2653 |
|
2654 |
/* line 248, sass/partials/_jquery_ui.scss */
|
2655 |
|
2656 |
-
.
|
2657 |
margin-right: 1%;
|
2658 |
}
|
2659 |
|
2660 |
/* line 249, sass/partials/_jquery_ui.scss */
|
2661 |
|
2662 |
-
.
|
2663 |
margin-left: 1%;
|
2664 |
}
|
2665 |
|
2666 |
/* line 250, sass/partials/_jquery_ui.scss */
|
2667 |
|
2668 |
-
.
|
2669 |
width: 100%;
|
2670 |
font-size: .9em;
|
2671 |
border-collapse: collapse;
|
@@ -2674,7 +2674,7 @@ Sidebar Placement Adjustments
|
|
2674 |
|
2675 |
/* line 251, sass/partials/_jquery_ui.scss */
|
2676 |
|
2677 |
-
.
|
2678 |
padding: .7em .3em;
|
2679 |
text-align: center;
|
2680 |
font-weight: bold;
|
@@ -2683,15 +2683,15 @@ Sidebar Placement Adjustments
|
|
2683 |
|
2684 |
/* line 252, sass/partials/_jquery_ui.scss */
|
2685 |
|
2686 |
-
.
|
2687 |
border: 0;
|
2688 |
padding: 1px;
|
2689 |
}
|
2690 |
|
2691 |
/* line 253, sass/partials/_jquery_ui.scss */
|
2692 |
|
2693 |
-
.
|
2694 |
-
.
|
2695 |
display: block;
|
2696 |
padding: .2em;
|
2697 |
text-align: right;
|
@@ -2700,7 +2700,7 @@ Sidebar Placement Adjustments
|
|
2700 |
|
2701 |
/* line 254, sass/partials/_jquery_ui.scss */
|
2702 |
|
2703 |
-
.
|
2704 |
background-image: none;
|
2705 |
margin: .7em 0 0 0;
|
2706 |
padding: 0 .2em;
|
@@ -2711,7 +2711,7 @@ Sidebar Placement Adjustments
|
|
2711 |
|
2712 |
/* line 255, sass/partials/_jquery_ui.scss */
|
2713 |
|
2714 |
-
.
|
2715 |
float: right;
|
2716 |
margin: .5em .2em .4em;
|
2717 |
cursor: pointer;
|
@@ -2722,68 +2722,68 @@ Sidebar Placement Adjustments
|
|
2722 |
|
2723 |
/* line 256, sass/partials/_jquery_ui.scss */
|
2724 |
|
2725 |
-
.
|
2726 |
float: left;
|
2727 |
}
|
2728 |
|
2729 |
/* line 257, sass/partials/_jquery_ui.scss */
|
2730 |
|
2731 |
-
.
|
2732 |
width: auto;
|
2733 |
}
|
2734 |
|
2735 |
/* line 258, sass/partials/_jquery_ui.scss */
|
2736 |
|
2737 |
-
.
|
2738 |
float: left;
|
2739 |
}
|
2740 |
|
2741 |
/* line 259, sass/partials/_jquery_ui.scss */
|
2742 |
|
2743 |
-
.
|
2744 |
width: 95%;
|
2745 |
margin: 0 auto .4em;
|
2746 |
}
|
2747 |
|
2748 |
/* line 260, sass/partials/_jquery_ui.scss */
|
2749 |
|
2750 |
-
.
|
2751 |
width: 50%;
|
2752 |
}
|
2753 |
|
2754 |
/* line 261, sass/partials/_jquery_ui.scss */
|
2755 |
|
2756 |
-
.
|
2757 |
width: 33.3%;
|
2758 |
}
|
2759 |
|
2760 |
/* line 262, sass/partials/_jquery_ui.scss */
|
2761 |
|
2762 |
-
.
|
2763 |
width: 25%;
|
2764 |
}
|
2765 |
|
2766 |
/* line 263, sass/partials/_jquery_ui.scss */
|
2767 |
|
2768 |
-
.
|
2769 |
border-left-width: 0;
|
2770 |
}
|
2771 |
|
2772 |
/* line 264, sass/partials/_jquery_ui.scss */
|
2773 |
|
2774 |
-
.
|
2775 |
border-left-width: 0;
|
2776 |
}
|
2777 |
|
2778 |
/* line 265, sass/partials/_jquery_ui.scss */
|
2779 |
|
2780 |
-
.
|
2781 |
clear: left;
|
2782 |
}
|
2783 |
|
2784 |
/* line 266, sass/partials/_jquery_ui.scss */
|
2785 |
|
2786 |
-
.
|
2787 |
clear: both;
|
2788 |
width: 100%;
|
2789 |
font-size: 0em;
|
@@ -2791,79 +2791,79 @@ Sidebar Placement Adjustments
|
|
2791 |
|
2792 |
/* line 267, sass/partials/_jquery_ui.scss */
|
2793 |
|
2794 |
-
.
|
2795 |
direction: rtl;
|
2796 |
}
|
2797 |
|
2798 |
/* line 269, sass/partials/_jquery_ui.scss */
|
2799 |
|
2800 |
-
.
|
2801 |
right: 2px;
|
2802 |
left: auto;
|
2803 |
}
|
2804 |
|
2805 |
/* line 270, sass/partials/_jquery_ui.scss */
|
2806 |
|
2807 |
-
.
|
2808 |
left: 2px;
|
2809 |
right: auto;
|
2810 |
}
|
2811 |
|
2812 |
/* line 271, sass/partials/_jquery_ui.scss */
|
2813 |
|
2814 |
-
.
|
2815 |
right: 1px;
|
2816 |
left: auto;
|
2817 |
}
|
2818 |
|
2819 |
/* line 272, sass/partials/_jquery_ui.scss */
|
2820 |
|
2821 |
-
.
|
2822 |
left: 1px;
|
2823 |
right: auto;
|
2824 |
}
|
2825 |
|
2826 |
/* line 273, sass/partials/_jquery_ui.scss */
|
2827 |
|
2828 |
-
.
|
2829 |
clear: right;
|
2830 |
}
|
2831 |
|
2832 |
/* line 274, sass/partials/_jquery_ui.scss */
|
2833 |
|
2834 |
-
.
|
2835 |
float: left;
|
2836 |
}
|
2837 |
|
2838 |
/* line 275, sass/partials/_jquery_ui.scss */
|
2839 |
|
2840 |
-
.
|
2841 |
float: right;
|
2842 |
}
|
2843 |
|
2844 |
/* line 276, sass/partials/_jquery_ui.scss */
|
2845 |
|
2846 |
-
.
|
2847 |
float: right;
|
2848 |
}
|
2849 |
|
2850 |
/* line 277, sass/partials/_jquery_ui.scss */
|
2851 |
|
2852 |
-
.
|
2853 |
border-right-width: 0;
|
2854 |
border-left-width: 1px;
|
2855 |
}
|
2856 |
|
2857 |
/* line 278, sass/partials/_jquery_ui.scss */
|
2858 |
|
2859 |
-
.
|
2860 |
border-right-width: 0;
|
2861 |
border-left-width: 1px;
|
2862 |
}
|
2863 |
|
2864 |
/* line 280, sass/partials/_jquery_ui.scss */
|
2865 |
|
2866 |
-
.
|
2867 |
display: none; /*sorry for IE5*/
|
2868 |
display/**/: block; /*sorry for IE5*/
|
2869 |
position: absolute; /*must have*/
|
@@ -2877,7 +2877,7 @@ Sidebar Placement Adjustments
|
|
2877 |
|
2878 |
/* line 292, sass/partials/_jquery_ui.scss */
|
2879 |
|
2880 |
-
.
|
2881 |
padding: 0;
|
2882 |
border: 1px solid #ddd;
|
2883 |
-webkit-border-radius: 0;
|
@@ -2887,7 +2887,7 @@ Sidebar Placement Adjustments
|
|
2887 |
|
2888 |
/* line 293, sass/partials/_jquery_ui.scss */
|
2889 |
|
2890 |
-
.
|
2891 |
padding: 0;
|
2892 |
font-family: "Open Sans", sans-serif;
|
2893 |
-webkit-border-radius: 0;
|
@@ -2897,14 +2897,14 @@ Sidebar Placement Adjustments
|
|
2897 |
|
2898 |
/* line 294, sass/partials/_jquery_ui.scss */
|
2899 |
|
2900 |
-
.
|
2901 |
font-size: 13px;
|
2902 |
margin: 0;
|
2903 |
}
|
2904 |
|
2905 |
/* line 295, sass/partials/_jquery_ui.scss */
|
2906 |
|
2907 |
-
.
|
2908 |
border: none;
|
2909 |
background: #222;
|
2910 |
color: #fff;
|
@@ -2913,7 +2913,7 @@ Sidebar Placement Adjustments
|
|
2913 |
|
2914 |
/* line 296, sass/partials/_jquery_ui.scss */
|
2915 |
|
2916 |
-
.
|
2917 |
background: #222;
|
2918 |
border-color: transparent;
|
2919 |
cursor: pointer;
|
@@ -2924,14 +2924,14 @@ Sidebar Placement Adjustments
|
|
2924 |
|
2925 |
/* line 297, sass/partials/_jquery_ui.scss */
|
2926 |
|
2927 |
-
.
|
2928 |
background: #222;
|
2929 |
color: #fff;
|
2930 |
}
|
2931 |
|
2932 |
/* line 298, sass/partials/_jquery_ui.scss */
|
2933 |
|
2934 |
-
.
|
2935 |
margin-top: .4em;
|
2936 |
margin-bottom: .3em;
|
2937 |
color: #fff;
|
@@ -2940,10 +2940,10 @@ Sidebar Placement Adjustments
|
|
2940 |
|
2941 |
/* line 299, sass/partials/_jquery_ui.scss */
|
2942 |
|
2943 |
-
.
|
2944 |
-
.
|
2945 |
-
.
|
2946 |
-
.
|
2947 |
height: 1em;
|
2948 |
top: .9em;
|
2949 |
border: none;
|
@@ -2951,20 +2951,20 @@ Sidebar Placement Adjustments
|
|
2951 |
|
2952 |
/* line 300, sass/partials/_jquery_ui.scss */
|
2953 |
|
2954 |
-
.
|
2955 |
left: 2px;
|
2956 |
}
|
2957 |
|
2958 |
/* line 301, sass/partials/_jquery_ui.scss */
|
2959 |
|
2960 |
-
.
|
2961 |
right: 2px;
|
2962 |
}
|
2963 |
|
2964 |
/* line 302, sass/partials/_jquery_ui.scss */
|
2965 |
|
2966 |
-
.
|
2967 |
-
.
|
2968 |
background-image: url("data:image/png;base64,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");
|
2969 |
background-position: -32px 0;
|
2970 |
margin-top: 0;
|
@@ -2974,13 +2974,13 @@ Sidebar Placement Adjustments
|
|
2974 |
|
2975 |
/* line 303, sass/partials/_jquery_ui.scss */
|
2976 |
|
2977 |
-
.
|
2978 |
background-position: -96px 0;
|
2979 |
}
|
2980 |
|
2981 |
/* line 304, sass/partials/_jquery_ui.scss */
|
2982 |
|
2983 |
-
.
|
2984 |
padding: 0.75em 0;
|
2985 |
color: #fff;
|
2986 |
font-weight: normal;
|
@@ -2990,7 +2990,7 @@ Sidebar Placement Adjustments
|
|
2990 |
|
2991 |
/* line 305, sass/partials/_jquery_ui.scss */
|
2992 |
|
2993 |
-
.
|
2994 |
background: #f1f1f1;
|
2995 |
border: none;
|
2996 |
padding: 0;
|
@@ -2998,7 +2998,7 @@ Sidebar Placement Adjustments
|
|
2998 |
|
2999 |
/* line 306, sass/partials/_jquery_ui.scss */
|
3000 |
|
3001 |
-
.
|
3002 |
background: transparent;
|
3003 |
border: none;
|
3004 |
text-align: center;
|
@@ -3010,30 +3010,30 @@ Sidebar Placement Adjustments
|
|
3010 |
|
3011 |
/* line 307, sass/partials/_jquery_ui.scss */
|
3012 |
|
3013 |
-
.
|
3014 |
-
.
|
3015 |
background: #0074a2;
|
3016 |
color: #fff;
|
3017 |
}
|
3018 |
|
3019 |
/* line 308, sass/partials/_jquery_ui.scss */
|
3020 |
|
3021 |
-
.
|
3022 |
-
.
|
3023 |
opacity: 1;
|
3024 |
color: #999;
|
3025 |
}
|
3026 |
|
3027 |
/* line 309, sass/partials/_jquery_ui.scss */
|
3028 |
|
3029 |
-
.
|
3030 |
background: #f1f1f1;
|
3031 |
}
|
3032 |
|
3033 |
/* line 310, sass/partials/_jquery_ui.scss */
|
3034 |
|
3035 |
-
.
|
3036 |
-
.
|
3037 |
font-size: 14px;
|
3038 |
font-weight: normal;
|
3039 |
background-image: none;
|
@@ -3042,29 +3042,29 @@ Sidebar Placement Adjustments
|
|
3042 |
|
3043 |
/* line 311, sass/partials/_jquery_ui.scss */
|
3044 |
|
3045 |
-
.
|
3046 |
-
.
|
3047 |
-
.
|
3048 |
-
.
|
3049 |
background: #096484;
|
3050 |
color: #fff;
|
3051 |
}
|
3052 |
|
3053 |
/* line 312, sass/partials/_jquery_ui.scss */
|
3054 |
|
3055 |
-
.
|
3056 |
border: none;
|
3057 |
}
|
3058 |
|
3059 |
/* line 313, sass/partials/_jquery_ui.scss */
|
3060 |
|
3061 |
-
.
|
3062 |
font-size: 14px;
|
3063 |
}
|
3064 |
|
3065 |
/* line 314, sass/partials/_jquery_ui.scss */
|
3066 |
|
3067 |
-
.
|
3068 |
margin-bottom: 8px;
|
3069 |
background: #222;
|
3070 |
border-color: #222;
|
@@ -3072,13 +3072,13 @@ Sidebar Placement Adjustments
|
|
3072 |
|
3073 |
/* line 315, sass/partials/_jquery_ui.scss */
|
3074 |
|
3075 |
-
.
|
3076 |
text-align: left;
|
3077 |
}
|
3078 |
|
3079 |
/* line 316, sass/partials/_jquery_ui.scss */
|
3080 |
|
3081 |
-
.
|
3082 |
float: left;
|
3083 |
clear: left;
|
3084 |
padding: 0 0 0 5px;
|
@@ -3086,13 +3086,13 @@ Sidebar Placement Adjustments
|
|
3086 |
|
3087 |
/* line 317, sass/partials/_jquery_ui.scss */
|
3088 |
|
3089 |
-
.
|
3090 |
margin: 0 10px 10px 40%;
|
3091 |
}
|
3092 |
|
3093 |
/* line 318, sass/partials/_jquery_ui.scss */
|
3094 |
|
3095 |
-
.
|
3096 |
background: none;
|
3097 |
border: none;
|
3098 |
margin: 0;
|
@@ -3101,311 +3101,311 @@ Sidebar Placement Adjustments
|
|
3101 |
|
3102 |
/* line 319, sass/partials/_jquery_ui.scss */
|
3103 |
|
3104 |
-
.
|
3105 |
direction: rtl;
|
3106 |
}
|
3107 |
|
3108 |
/* line 320, sass/partials/_jquery_ui.scss */
|
3109 |
|
3110 |
-
.
|
3111 |
text-align: right;
|
3112 |
padding: 0 5px 0 0;
|
3113 |
}
|
3114 |
|
3115 |
/* line 321, sass/partials/_jquery_ui.scss */
|
3116 |
|
3117 |
-
.
|
3118 |
float: right;
|
3119 |
clear: right;
|
3120 |
}
|
3121 |
|
3122 |
/* line 322, sass/partials/_jquery_ui.scss */
|
3123 |
|
3124 |
-
.
|
3125 |
margin: 0 40% 10px 10px;
|
3126 |
}
|
3127 |
|
3128 |
/* line 326, sass/partials/_jquery_ui.scss */
|
3129 |
|
3130 |
-
.admin-color-blue .
|
3131 |
-
.admin-color-blue .
|
3132 |
-
.admin-color-blue .
|
3133 |
-
.admin-color-blue .
|
3134 |
background: #4796b3;
|
3135 |
}
|
3136 |
|
3137 |
/* line 327, sass/partials/_jquery_ui.scss */
|
3138 |
|
3139 |
-
.admin-color-blue .
|
3140 |
border-color: #4796b3;
|
3141 |
}
|
3142 |
|
3143 |
/* line 328, sass/partials/_jquery_ui.scss */
|
3144 |
|
3145 |
-
.admin-color-blue .
|
3146 |
border-color: #52accc;
|
3147 |
}
|
3148 |
|
3149 |
/* line 329, sass/partials/_jquery_ui.scss */
|
3150 |
|
3151 |
-
.admin-color-blue .
|
3152 |
-
.admin-color-blue .
|
3153 |
background: #096484;
|
3154 |
}
|
3155 |
|
3156 |
/* line 330, sass/partials/_jquery_ui.scss */
|
3157 |
|
3158 |
-
.admin-color-blue .
|
3159 |
-
.admin-color-blue .
|
3160 |
-
.admin-color-blue .
|
3161 |
-
.admin-color-blue .
|
3162 |
background: #096484;
|
3163 |
color: #fff;
|
3164 |
}
|
3165 |
|
3166 |
/* line 335, sass/partials/_jquery_ui.scss */
|
3167 |
|
3168 |
-
.admin-color-coffee .
|
3169 |
-
.admin-color-coffee .
|
3170 |
-
.admin-color-coffee .
|
3171 |
-
.admin-color-coffee .
|
3172 |
background: #46403c;
|
3173 |
}
|
3174 |
|
3175 |
/* line 336, sass/partials/_jquery_ui.scss */
|
3176 |
|
3177 |
-
.admin-color-coffee .
|
3178 |
border-color: #59524c;
|
3179 |
}
|
3180 |
|
3181 |
/* line 337, sass/partials/_jquery_ui.scss */
|
3182 |
|
3183 |
-
.admin-color-coffee .
|
3184 |
-
.admin-color-coffee .
|
3185 |
background: #c7a589;
|
3186 |
}
|
3187 |
|
3188 |
/* line 338, sass/partials/_jquery_ui.scss */
|
3189 |
|
3190 |
-
.admin-color-coffee .
|
3191 |
-
.admin-color-coffee .
|
3192 |
-
.admin-color-coffee .
|
3193 |
-
.admin-color-coffee .
|
3194 |
background: #c7a589;
|
3195 |
color: #fff;
|
3196 |
}
|
3197 |
|
3198 |
/* line 343, sass/partials/_jquery_ui.scss */
|
3199 |
|
3200 |
-
.admin-color-ectoplasm .
|
3201 |
-
.admin-color-ectoplasm .
|
3202 |
-
.admin-color-ectoplasm .
|
3203 |
-
.admin-color-ectoplasm .
|
3204 |
background: #413256;
|
3205 |
}
|
3206 |
|
3207 |
/* line 344, sass/partials/_jquery_ui.scss */
|
3208 |
|
3209 |
-
.admin-color-ectoplasm .
|
3210 |
border-color: #413256;
|
3211 |
}
|
3212 |
|
3213 |
/* line 345, sass/partials/_jquery_ui.scss */
|
3214 |
|
3215 |
-
.admin-color-ectoplasm .
|
3216 |
border-color: #523f6d;
|
3217 |
}
|
3218 |
|
3219 |
/* line 346, sass/partials/_jquery_ui.scss */
|
3220 |
|
3221 |
-
.admin-color-ectoplasm .
|
3222 |
-
.admin-color-ectoplasm .
|
3223 |
background: #a3b745;
|
3224 |
}
|
3225 |
|
3226 |
/* line 347, sass/partials/_jquery_ui.scss */
|
3227 |
|
3228 |
-
.admin-color-ectoplasm .
|
3229 |
-
.admin-color-ectoplasm .
|
3230 |
-
.admin-color-ectoplasm .
|
3231 |
-
.admin-color-ectoplasm .
|
3232 |
background: #a3b745;
|
3233 |
color: #fff;
|
3234 |
}
|
3235 |
|
3236 |
/* line 352, sass/partials/_jquery_ui.scss */
|
3237 |
|
3238 |
-
.admin-color-midnight .
|
3239 |
-
.admin-color-midnight .
|
3240 |
-
.admin-color-midnight .
|
3241 |
-
.admin-color-midnight .
|
3242 |
background: #26292c;
|
3243 |
}
|
3244 |
|
3245 |
/* line 353, sass/partials/_jquery_ui.scss */
|
3246 |
|
3247 |
-
.admin-color-midnight .
|
3248 |
border-color: #363b3f;
|
3249 |
}
|
3250 |
|
3251 |
/* line 354, sass/partials/_jquery_ui.scss */
|
3252 |
|
3253 |
-
.admin-color-midnight .
|
3254 |
-
.admin-color-midnight .
|
3255 |
background: #e14d43;
|
3256 |
}
|
3257 |
|
3258 |
/* line 355, sass/partials/_jquery_ui.scss */
|
3259 |
|
3260 |
-
.admin-color-midnight .
|
3261 |
-
.admin-color-midnight .
|
3262 |
-
.admin-color-midnight .
|
3263 |
-
.admin-color-midnight .
|
3264 |
background: #e14d43;
|
3265 |
color: #fff;
|
3266 |
}
|
3267 |
|
3268 |
/* line 360, sass/partials/_jquery_ui.scss */
|
3269 |
|
3270 |
-
.admin-color-ocean .
|
3271 |
-
.admin-color-ocean .
|
3272 |
-
.admin-color-ocean .
|
3273 |
-
.admin-color-ocean .
|
3274 |
background: #627c83;
|
3275 |
}
|
3276 |
|
3277 |
/* line 361, sass/partials/_jquery_ui.scss */
|
3278 |
|
3279 |
-
.admin-color-ocean .
|
3280 |
border-color: #627c83;
|
3281 |
}
|
3282 |
|
3283 |
/* line 362, sass/partials/_jquery_ui.scss */
|
3284 |
|
3285 |
-
.admin-color-ocean .
|
3286 |
border-color: #738e96;
|
3287 |
}
|
3288 |
|
3289 |
/* line 363, sass/partials/_jquery_ui.scss */
|
3290 |
|
3291 |
-
.admin-color-ocean .
|
3292 |
-
.admin-color-ocean .
|
3293 |
background: #9ebaa0;
|
3294 |
}
|
3295 |
|
3296 |
/* line 364, sass/partials/_jquery_ui.scss */
|
3297 |
|
3298 |
-
.admin-color-ocean .
|
3299 |
-
.admin-color-ocean .
|
3300 |
-
.admin-color-ocean .
|
3301 |
-
.admin-color-ocean .
|
3302 |
background: #9ebaa0;
|
3303 |
color: #fff;
|
3304 |
}
|
3305 |
|
3306 |
/* line 369, sass/partials/_jquery_ui.scss */
|
3307 |
|
3308 |
-
.admin-color-sunrise .
|
3309 |
-
.admin-color-sunrise .
|
3310 |
-
.admin-color-sunrise .
|
3311 |
-
.admin-color-sunrise .
|
3312 |
background: #be3631;
|
3313 |
}
|
3314 |
|
3315 |
/* line 370, sass/partials/_jquery_ui.scss */
|
3316 |
|
3317 |
-
.admin-color-sunrise .
|
3318 |
border-color: #be3631;
|
3319 |
}
|
3320 |
|
3321 |
/* line 371, sass/partials/_jquery_ui.scss */
|
3322 |
|
3323 |
-
.admin-color-sunrise .
|
3324 |
border-color: #cf4944;
|
3325 |
}
|
3326 |
|
3327 |
/* line 372, sass/partials/_jquery_ui.scss */
|
3328 |
|
3329 |
-
.admin-color-sunrise .
|
3330 |
-
.admin-color-sunrise .
|
3331 |
background: #dd823b;
|
3332 |
}
|
3333 |
|
3334 |
/* line 373, sass/partials/_jquery_ui.scss */
|
3335 |
|
3336 |
-
.admin-color-sunrise .
|
3337 |
-
.admin-color-sunrise .
|
3338 |
-
.admin-color-sunrise .
|
3339 |
-
.admin-color-sunrise .
|
3340 |
background: #dd823b;
|
3341 |
color: #fff;
|
3342 |
}
|
3343 |
|
3344 |
/* line 378, sass/partials/_jquery_ui.scss */
|
3345 |
|
3346 |
-
.admin-color-light .
|
3347 |
-
.admin-color-light .
|
3348 |
-
.admin-color-light .
|
3349 |
-
.admin-color-light .
|
3350 |
-
.admin-color-light .
|
3351 |
background: #e5e5e5;
|
3352 |
}
|
3353 |
|
3354 |
/* line 379, sass/partials/_jquery_ui.scss */
|
3355 |
|
3356 |
-
.admin-color-light .
|
3357 |
border-color: #e5e5e5;
|
3358 |
}
|
3359 |
|
3360 |
/* line 380, sass/partials/_jquery_ui.scss */
|
3361 |
|
3362 |
-
.admin-color-light .
|
3363 |
-
.admin-color-light .
|
3364 |
background: #fff;
|
3365 |
}
|
3366 |
|
3367 |
/* line 381, sass/partials/_jquery_ui.scss */
|
3368 |
|
3369 |
-
.admin-color-light .
|
3370 |
-
.admin-color-light .
|
3371 |
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAYAAADvl7rLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMUIxRjI2RjhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMUIxRjI3MDhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjExQjFGMjZEOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjExQjFGMjZFOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+kKfR4AAAHcRJREFUeNrsXWuM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");
|
3372 |
}
|
3373 |
|
3374 |
/* line 382, sass/partials/_jquery_ui.scss */
|
3375 |
|
3376 |
-
.admin-color-light .
|
3377 |
border-color: #fff;
|
3378 |
}
|
3379 |
|
3380 |
/* line 383, sass/partials/_jquery_ui.scss */
|
3381 |
|
3382 |
-
.admin-color-light .
|
3383 |
-
.admin-color-light .
|
3384 |
-
.admin-color-light .
|
3385 |
-
.admin-color-light .
|
3386 |
color: #555;
|
3387 |
}
|
3388 |
|
3389 |
/* line 384, sass/partials/_jquery_ui.scss */
|
3390 |
|
3391 |
-
.admin-color-light .
|
3392 |
-
.admin-color-light .
|
3393 |
-
.admin-color-light .
|
3394 |
-
.admin-color-light .
|
3395 |
-
.admin-color-light .
|
3396 |
-
.admin-color-light .
|
3397 |
color: #fff;
|
3398 |
background: #888;
|
3399 |
}
|
3400 |
|
3401 |
/* line 385, sass/partials/_jquery_ui.scss */
|
3402 |
|
3403 |
-
.admin-color-light .
|
3404 |
-
.admin-color-light .
|
3405 |
color: #ccc;
|
3406 |
}
|
3407 |
|
3408 |
-
/*# sourceMappingURL=
|
3409 |
|
3410 |
@media (max-width: 450px) {
|
3411 |
|
8 |
|
9 |
/* line 5, sass/partials/_main_wrap.scss */
|
10 |
|
11 |
+
.cmbre2-wrap {
|
12 |
margin: 0;
|
13 |
}
|
14 |
|
15 |
/* line 8, sass/partials/_main_wrap.scss */
|
16 |
|
17 |
+
.cmbre2-wrap input,
|
18 |
+
.cmbre2-wrap textarea {
|
19 |
font-size: 14px;
|
20 |
max-width: 100%;
|
21 |
padding: 5px;
|
23 |
|
24 |
/* line 18, sass/partials/_main_wrap.scss */
|
25 |
|
26 |
+
.cmbre2-wrap input[type=text].cmbre2-oembed {
|
27 |
width: 100%;
|
28 |
}
|
29 |
|
30 |
/* line 23, sass/partials/_main_wrap.scss */
|
31 |
|
32 |
+
.cmbre2-wrap textarea {
|
33 |
width: 500px;
|
34 |
}
|
35 |
|
36 |
/* line 26, sass/partials/_main_wrap.scss */
|
37 |
|
38 |
+
.cmbre2-wrap textarea.cmbre2-textarea-code {
|
39 |
font-family: "Courier 10 Pitch", Courier, monospace;
|
40 |
line-height: 16px;
|
41 |
}
|
42 |
|
43 |
/* line 34, sass/partials/_main_wrap.scss */
|
44 |
|
45 |
+
.cmbre2-wrap input.cmbre2-text-small,
|
46 |
+
.cmbre2-wrap input.cmbre2-timepicker {
|
47 |
width: 100px;
|
48 |
}
|
49 |
|
50 |
/* line 40, sass/partials/_main_wrap.scss */
|
51 |
|
52 |
+
.cmbre2-wrap input.cmbre2-text-money {
|
53 |
width: 90px;
|
54 |
}
|
55 |
|
56 |
/* line 45, sass/partials/_main_wrap.scss */
|
57 |
|
58 |
+
.cmbre2-wrap input.cmbre2-text-medium {
|
59 |
width: 230px;
|
60 |
}
|
61 |
|
62 |
/* line 50, sass/partials/_main_wrap.scss */
|
63 |
|
64 |
+
.cmbre2-wrap input.cmbre2-upload-file {
|
65 |
width: 65%;
|
66 |
}
|
67 |
|
68 |
/* line 54, sass/partials/_main_wrap.scss */
|
69 |
|
70 |
+
.cmbre2-wrap input.ed_button {
|
71 |
padding: 2px 4px;
|
72 |
}
|
73 |
|
74 |
/* line 59, sass/partials/_main_wrap.scss */
|
75 |
|
76 |
+
.cmbre2-wrap input:not([type="hidden"]) + input,
|
77 |
+
.cmbre2-wrap input:not([type="hidden"]) + .button,
|
78 |
+
.cmbre2-wrap input:not([type="hidden"]) + select {
|
79 |
margin-left: 20px;
|
80 |
}
|
81 |
|
82 |
/* line 67, sass/partials/_main_wrap.scss */
|
83 |
|
84 |
+
.cmbre2-wrap ul {
|
85 |
margin: 0;
|
86 |
}
|
87 |
|
88 |
/* line 71, sass/partials/_main_wrap.scss */
|
89 |
|
90 |
+
.cmbre2-wrap li {
|
91 |
font-size: 14px;
|
92 |
line-height: 16px;
|
93 |
margin: 1px 0 5px 0;
|
95 |
|
96 |
/* line 82, sass/partials/_main_wrap.scss */
|
97 |
|
98 |
+
.cmbre2-wrap select {
|
99 |
font-size: 14px;
|
100 |
margin-top: 3px;
|
101 |
}
|
102 |
|
103 |
/* line 87, sass/partials/_main_wrap.scss */
|
104 |
|
105 |
+
.cmbre2-wrap input:focus,
|
106 |
+
.cmbre2-wrap textarea:focus {
|
107 |
background: #fffff8;
|
108 |
}
|
109 |
|
110 |
/* line 92, sass/partials/_main_wrap.scss */
|
111 |
|
112 |
+
.cmbre2-wrap input[type="radio"] {
|
113 |
margin: 0 5px 0 0;
|
114 |
padding: 0;
|
115 |
}
|
116 |
|
117 |
/* line 97, sass/partials/_main_wrap.scss */
|
118 |
|
119 |
+
.cmbre2-wrap input[type="checkbox"] {
|
120 |
margin: 0 5px 0 0;
|
121 |
padding: 0;
|
122 |
}
|
123 |
|
124 |
/* line 102, sass/partials/_main_wrap.scss */
|
125 |
|
126 |
+
.cmbre2-wrap button,
|
127 |
+
.cmbre2-wrap .button {
|
128 |
white-space: nowrap;
|
129 |
}
|
130 |
|
131 |
/* line 107, sass/partials/_main_wrap.scss */
|
132 |
|
133 |
+
.cmbre2-wrap .mceLayout {
|
134 |
border: 1px solid #e9e9e9 !important;
|
135 |
}
|
136 |
|
137 |
/* line 111, sass/partials/_main_wrap.scss */
|
138 |
|
139 |
+
.cmbre2-wrap .mceIframeContainer {
|
140 |
background: #fff;
|
141 |
}
|
142 |
|
143 |
/* line 115, sass/partials/_main_wrap.scss */
|
144 |
|
145 |
+
.cmbre2-wrap .meta_mce {
|
146 |
width: 97%;
|
147 |
}
|
148 |
|
149 |
/* line 118, sass/partials/_main_wrap.scss */
|
150 |
|
151 |
+
.cmbre2-wrap .meta_mce textarea {
|
152 |
width: 100%;
|
153 |
}
|
154 |
|
155 |
/* line 126, sass/partials/_main_wrap.scss */
|
156 |
|
157 |
+
.cmbre2-wrap .wp-color-result,
|
158 |
+
.cmbre2-wrap .wp-picker-input-wrap {
|
159 |
vertical-align: middle;
|
160 |
}
|
161 |
|
162 |
/* line 131, sass/partials/_main_wrap.scss */
|
163 |
|
164 |
+
.cmbre2-wrap .wp-color-result,
|
165 |
+
.cmbre2-wrap .wp-picker-container {
|
166 |
margin: 0 10px 0 0;
|
167 |
}
|
168 |
|
169 |
/* line 136, sass/partials/_main_wrap.scss */
|
170 |
|
171 |
+
.cmbre2-wrap .cmb-row {
|
172 |
margin: 0;
|
173 |
}
|
174 |
|
175 |
/* line 139, sass/partials/_main_wrap.scss */
|
176 |
|
177 |
+
.cmbre2-wrap .cmb-row:after {
|
178 |
content: '';
|
179 |
clear: both;
|
180 |
display: block;
|
183 |
|
184 |
/* line 146, sass/partials/_main_wrap.scss */
|
185 |
|
186 |
+
.cmbre2-wrap .cmb-row.cmb-repeat-row {
|
187 |
padding: 1.8em 0 0;
|
188 |
}
|
189 |
|
190 |
/* line 149, sass/partials/_main_wrap.scss */
|
191 |
|
192 |
+
.cmbre2-wrap .cmb-row.cmb-repeat-row:first-of-type {
|
193 |
padding: 0;
|
194 |
}
|
195 |
|
196 |
/* line 154, sass/partials/_main_wrap.scss */
|
197 |
|
198 |
+
.cmbre2-wrap .cmb-row.cmb-repeat .cmbre2-metabox-description {
|
199 |
padding-top: 0;
|
200 |
padding-bottom: 1.8em;
|
201 |
}
|
202 |
|
203 |
/* line 161, sass/partials/_main_wrap.scss */
|
204 |
|
205 |
+
.cmbre2-metabox {
|
206 |
clear: both;
|
207 |
margin: 0;
|
208 |
}
|
209 |
|
210 |
/* line 167, sass/partials/_main_wrap.scss */
|
211 |
|
212 |
+
.cmbre2-metabox > .cmb-row:first-of-type > .cmb-td,
|
213 |
+
.cmbre2-metabox > .cmb-row:first-of-type > .cmb-th,
|
214 |
+
.cmbre2-metabox .cmb-field-list > .cmb-row:first-of-type > .cmb-td,
|
215 |
+
.cmbre2-metabox .cmb-field-list > .cmb-row:first-of-type > .cmb-th {
|
216 |
border: 0;
|
217 |
}
|
218 |
|
219 |
/* line 174, sass/partials/_main_wrap.scss */
|
220 |
|
221 |
+
.cmbre2-metabox > .cmb-row .cmb-repeat-table .cmb-row > .cmb-td {
|
222 |
padding-right: 20px;
|
223 |
box-sizing: border-box;
|
224 |
float: left;
|
241 |
/* line 192, sass/partials/_main_wrap.scss */
|
242 |
|
243 |
.cmb-row:last-of-type,
|
244 |
+
.cmbre2-wrap .cmb-row:last-of-type,
|
245 |
.cmb-repeatable-group:last-of-type {
|
246 |
border-bottom: 0;
|
247 |
}
|
406 |
|
407 |
/* line 308, sass/partials/_main_wrap.scss */
|
408 |
|
409 |
+
.cmb-repeatable-group .cmbre2-upload-button {
|
410 |
float: right;
|
411 |
}
|
412 |
|
413 |
/* line 314, sass/partials/_main_wrap.scss */
|
414 |
|
415 |
+
p.cmbre2-metabox-description {
|
416 |
color: #aaaaaa;
|
417 |
font-style: italic;
|
418 |
margin: 0;
|
421 |
|
422 |
/* line 321, sass/partials/_main_wrap.scss */
|
423 |
|
424 |
+
span.cmbre2-metabox-description {
|
425 |
color: #aaaaaa;
|
426 |
font-style: italic;
|
427 |
}
|
428 |
|
429 |
/* line 326, sass/partials/_main_wrap.scss */
|
430 |
|
431 |
+
.cmbre2-metabox-title {
|
432 |
margin: 0 0 5px 0;
|
433 |
padding: 5px 0 0 0;
|
434 |
font-size: 14px;
|
455 |
|
456 |
/* line 347, sass/partials/_main_wrap.scss */
|
457 |
|
458 |
+
.cmbre2-media-status .img-status {
|
459 |
clear: none;
|
460 |
display: inline-block;
|
461 |
float: left;
|
465 |
|
466 |
/* line 354, sass/partials/_main_wrap.scss */
|
467 |
|
468 |
+
.cmbre2-media-status .img-status img {
|
469 |
max-width: 350px;
|
470 |
}
|
471 |
|
472 |
/* line 359, sass/partials/_main_wrap.scss */
|
473 |
|
474 |
+
.cmbre2-media-status .img-status img,
|
475 |
+
.cmbre2-media-status .embed-status {
|
476 |
background: #ffffff;
|
477 |
border: 1px solid #e9e9e9;
|
478 |
border-radius: 2px;
|
483 |
|
484 |
/* line 369, sass/partials/_main_wrap.scss */
|
485 |
|
486 |
+
.cmbre2-media-status .embed-status {
|
487 |
float: left;
|
488 |
max-width: 800px;
|
489 |
}
|
490 |
|
491 |
/* line 374, sass/partials/_main_wrap.scss */
|
492 |
|
493 |
+
.cmbre2-media-status .img-status,
|
494 |
+
.cmbre2-media-status .embed-status {
|
495 |
position: relative;
|
496 |
}
|
497 |
|
498 |
/* line 377, sass/partials/_main_wrap.scss */
|
499 |
|
500 |
+
.cmbre2-media-status .img-status .cmbre2-remove-file-button,
|
501 |
+
.cmbre2-media-status .embed-status .cmbre2-remove-file-button {
|
502 |
background: url(../images/ico-delete.png);
|
503 |
height: 16px;
|
504 |
left: -5px;
|
510 |
|
511 |
/* line 391, sass/partials/_main_wrap.scss */
|
512 |
|
513 |
+
.cmbre2-media-status .img-status .cmbre2-remove-file-button {
|
514 |
top: 10px;
|
515 |
}
|
516 |
|
517 |
/* line 396, sass/partials/_main_wrap.scss */
|
518 |
|
519 |
+
.cmbre2-media-status .img-status img,
|
520 |
+
.cmbre2-media-status .file-status > span {
|
521 |
cursor: pointer;
|
522 |
}
|
523 |
|
524 |
/* line 402, sass/partials/_main_wrap.scss */
|
525 |
|
526 |
+
.cmb-type-file-list .cmbre2-media-status .img-status {
|
527 |
clear: none;
|
528 |
float: left;
|
529 |
margin-right: 10px;
|
549 |
|
550 |
/* line 422, sass/partials/_main_wrap.scss */
|
551 |
|
552 |
+
.cmbre2-remove-wrapper {
|
553 |
margin: 0;
|
554 |
}
|
555 |
|
556 |
/* line 426, sass/partials/_main_wrap.scss */
|
557 |
|
558 |
+
.child-cmbre2 .cmb-th {
|
559 |
text-align: left;
|
560 |
}
|
561 |
|
574 |
|
575 |
/* line 14, sass/partials/_post_metaboxes.scss */
|
576 |
|
577 |
+
.postbox-container .cmbre2-wrap,
|
578 |
+
.cmb-repeat-group-wrap .cmbre2-wrap {
|
579 |
margin: 0;
|
580 |
}
|
581 |
|
582 |
/* line 17, sass/partials/_post_metaboxes.scss */
|
583 |
|
584 |
+
.postbox-container .cmbre2-wrap > .cmb-field-list > .cmb-row,
|
585 |
+
.cmb-repeat-group-wrap .cmbre2-wrap > .cmb-field-list > .cmb-row {
|
586 |
padding: 1.8em 0;
|
587 |
}
|
588 |
|
589 |
/* line 23, sass/partials/_post_metaboxes.scss */
|
590 |
|
591 |
+
.postbox-container .cmbre2-wrap input[type=text].cmbre2-oembed,
|
592 |
+
.cmb-repeat-group-wrap .cmbre2-wrap input[type=text].cmbre2-oembed {
|
593 |
width: 100%;
|
594 |
}
|
595 |
|
677 |
|
678 |
/* line 86, sass/partials/_post_metaboxes.scss */
|
679 |
|
680 |
+
.postbox-container .cmbre2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,
|
681 |
+
.postbox-container .cmbre2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,
|
682 |
+
.cmb-repeat-group-wrap .cmbre2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,
|
683 |
+
.cmb-repeat-group-wrap .cmbre2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody {
|
684 |
display: table;
|
685 |
width: 100%;
|
686 |
}
|
687 |
|
688 |
/* line 90, sass/partials/_post_metaboxes.scss */
|
689 |
|
690 |
+
.postbox-container .cmbre2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,
|
691 |
+
.postbox-container .cmbre2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,
|
692 |
+
.cmb-repeat-group-wrap .cmbre2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,
|
693 |
+
.cmb-repeat-group-wrap .cmbre2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text {
|
694 |
width: 100%;
|
695 |
}
|
696 |
|
697 |
/* line 94, sass/partials/_post_metaboxes.scss */
|
698 |
|
699 |
+
.postbox-container .cmbre2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),
|
700 |
+
.postbox-container .cmbre2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),
|
701 |
+
.cmb-repeat-group-wrap .cmbre2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),
|
702 |
+
.cmb-repeat-group-wrap .cmbre2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row) {
|
703 |
display: table-row;
|
704 |
}
|
705 |
|
706 |
/* line 98, sass/partials/_post_metaboxes.scss */
|
707 |
|
708 |
+
.postbox-container .cmbre2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,
|
709 |
+
.postbox-container .cmbre2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,
|
710 |
+
.cmb-repeat-group-wrap .cmbre2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,
|
711 |
+
.cmb-repeat-group-wrap .cmbre2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td {
|
712 |
display: table-cell;
|
713 |
float: none;
|
714 |
width: 100%;
|
716 |
|
717 |
/* line 104, sass/partials/_post_metaboxes.scss */
|
718 |
|
719 |
+
.postbox-container .cmbre2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,
|
720 |
+
.postbox-container .cmbre2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,
|
721 |
+
.cmb-repeat-group-wrap .cmbre2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,
|
722 |
+
.cmb-repeat-group-wrap .cmbre2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td {
|
723 |
padding-top: 1.8em;
|
724 |
}
|
725 |
|
726 |
/* line 108, sass/partials/_post_metaboxes.scss */
|
727 |
|
728 |
+
.postbox-container .cmbre2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,
|
729 |
+
.postbox-container .cmbre2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,
|
730 |
+
.cmb-repeat-group-wrap .cmbre2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,
|
731 |
+
.cmb-repeat-group-wrap .cmbre2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row {
|
732 |
padding-right: 0;
|
733 |
}
|
734 |
|
744 |
|
745 |
/* line 12, sass/partials/_misc.scss */
|
746 |
|
747 |
+
.edit-tags-php .cmbre2-metabox-title,
|
748 |
+
.profile-php .cmbre2-metabox-title,
|
749 |
+
.user-edit-php .cmbre2-metabox-title {
|
750 |
font-size: 1.4em;
|
751 |
}
|
752 |
|
753 |
/* line 18, sass/partials/_misc.scss */
|
754 |
|
755 |
+
.cmbre2-options-page .cmbre2-metabox-title {
|
756 |
font-size: 1.3em;
|
757 |
margin: 1em 0;
|
758 |
}
|
759 |
|
760 |
/* line 21, sass/partials/_misc.scss */
|
761 |
|
762 |
+
.cmbre2-options-page .cmbre2-metabox-title + p.cmbre2-metabox-description {
|
763 |
margin-top: -1.6em;
|
764 |
margin-bottom: .8em;
|
765 |
}
|
776 |
|
777 |
/* line 10, sass/partials/_sidebar_placements.scss */
|
778 |
|
779 |
+
.inner-sidebar .cmbre2-wrap > .cmb-field-list > .cmb-row,
|
780 |
+
#side-sortables .cmbre2-wrap > .cmb-field-list > .cmb-row {
|
781 |
padding: 1.4em 0;
|
782 |
}
|
783 |
|
784 |
/* line 16, sass/partials/_sidebar_placements.scss */
|
785 |
|
786 |
+
.inner-sidebar .cmbre2-wrap input[type=text]:not(.wp-color-picker),
|
787 |
+
#side-sortables .cmbre2-wrap input[type=text]:not(.wp-color-picker) {
|
788 |
width: 100%;
|
789 |
}
|
790 |
|
791 |
/* line 20, sass/partials/_sidebar_placements.scss */
|
792 |
|
793 |
+
.inner-sidebar .cmbre2-wrap input + input:not(.wp-picker-clear),
|
794 |
+
.inner-sidebar .cmbre2-wrap input + select,
|
795 |
+
#side-sortables .cmbre2-wrap input + input:not(.wp-picker-clear),
|
796 |
+
#side-sortables .cmbre2-wrap input + select {
|
797 |
margin-left: 0;
|
798 |
margin-top: 1em;
|
799 |
display: block;
|
801 |
|
802 |
/* line 26, sass/partials/_sidebar_placements.scss */
|
803 |
|
804 |
+
.inner-sidebar .cmbre2-wrap input.cmbre2-text-money,
|
805 |
+
#side-sortables .cmbre2-wrap input.cmbre2-text-money {
|
806 |
max-width: 70%;
|
807 |
}
|
808 |
|
809 |
/* line 28, sass/partials/_sidebar_placements.scss */
|
810 |
|
811 |
+
.inner-sidebar .cmbre2-wrap input.cmbre2-text-money + .cmbre2-metabox-description,
|
812 |
+
#side-sortables .cmbre2-wrap input.cmbre2-text-money + .cmbre2-metabox-description {
|
813 |
display: block;
|
814 |
}
|
815 |
|
816 |
/* line 34, sass/partials/_sidebar_placements.scss */
|
817 |
|
818 |
+
.inner-sidebar .cmbre2-wrap label,
|
819 |
+
#side-sortables .cmbre2-wrap label {
|
820 |
display: block;
|
821 |
font-weight: 700;
|
822 |
padding: 0 0 5px;
|
921 |
|
922 |
/* line 81, sass/partials/_sidebar_placements.scss */
|
923 |
|
924 |
+
.inner-sidebar .cmb-group-description .cmbre2-metabox-description,
|
925 |
+
#side-sortables .cmb-group-description .cmbre2-metabox-description {
|
926 |
padding: 0;
|
927 |
}
|
928 |
|
942 |
|
943 |
/* line 103, sass/partials/_sidebar_placements.scss */
|
944 |
|
945 |
+
.inner-sidebar .cmbre2-media-status .img-status img,
|
946 |
+
.inner-sidebar .cmbre2-media-status .embed-status img,
|
947 |
+
#side-sortables .cmbre2-media-status .img-status img,
|
948 |
+
#side-sortables .cmbre2-media-status .embed-status img {
|
949 |
max-width: 90%;
|
950 |
height: auto;
|
951 |
}
|
952 |
|
953 |
/* line 111, sass/partials/_sidebar_placements.scss */
|
954 |
|
955 |
+
.inner-sidebar .cmbre2-list label,
|
956 |
+
#side-sortables .cmbre2-list label {
|
957 |
display: inline;
|
958 |
font-weight: normal;
|
959 |
}
|
960 |
|
961 |
/* line 116, sass/partials/_sidebar_placements.scss */
|
962 |
|
963 |
+
.inner-sidebar .cmbre2-metabox-description,
|
964 |
+
#side-sortables .cmbre2-metabox-description {
|
965 |
display: block;
|
966 |
padding: 7px 0 0;
|
967 |
}
|
969 |
/* line 123, sass/partials/_sidebar_placements.scss */
|
970 |
|
971 |
.inner-sidebar .cmb-type-checkbox .cmb-td label,
|
972 |
+
.inner-sidebar .cmb-type-checkbox .cmbre2-metabox-description,
|
973 |
#side-sortables .cmb-type-checkbox .cmb-td label,
|
974 |
+
#side-sortables .cmb-type-checkbox .cmbre2-metabox-description {
|
975 |
font-weight: normal;
|
976 |
display: inline;
|
977 |
}
|
978 |
|
979 |
/* line 130, sass/partials/_sidebar_placements.scss */
|
980 |
|
981 |
+
.inner-sidebar .cmb-row .cmbre2-metabox-description,
|
982 |
+
#side-sortables .cmb-row .cmbre2-metabox-description {
|
983 |
padding-bottom: 1.8em;
|
984 |
}
|
985 |
|
986 |
/* line 134, sass/partials/_sidebar_placements.scss */
|
987 |
|
988 |
+
.inner-sidebar .cmbre2-metabox-title,
|
989 |
+
#side-sortables .cmbre2-metabox-title {
|
990 |
font-size: 1.2em;
|
991 |
font-style: italic;
|
992 |
}
|
1020 |
|
1021 |
/* line 158, sass/partials/_sidebar_placements.scss */
|
1022 |
|
1023 |
+
.inner-sidebar .cmbre2-upload-button,
|
1024 |
+
#side-sortables .cmbre2-upload-button {
|
1025 |
clear: both;
|
1026 |
margin-top: 12px;
|
1027 |
}
|
1028 |
|
1029 |
/* line 2, sass/partials/_collapsible_ui.scss */
|
1030 |
|
1031 |
+
.cmbre2-metabox .cmb-repeat-group-wrap {
|
1032 |
max-width: 1000px;
|
1033 |
}
|
1034 |
|
1035 |
/* line 5, sass/partials/_collapsible_ui.scss */
|
1036 |
|
1037 |
+
.cmbre2-metabox .cmbhandle {
|
1038 |
color: #aaa;
|
1039 |
float: right;
|
1040 |
width: 27px;
|
1046 |
|
1047 |
/* line 13, sass/partials/_collapsible_ui.scss */
|
1048 |
|
1049 |
+
.cmbre2-metabox .cmbhandle:before {
|
1050 |
content: '\f142';
|
1051 |
right: 12px;
|
1052 |
font: normal 20px/1 'dashicons';
|
1062 |
|
1063 |
/* line 30, sass/partials/_collapsible_ui.scss */
|
1064 |
|
1065 |
+
.cmbre2-metabox .postbox.closed .cmbhandle:before {
|
1066 |
content: '\f140';
|
1067 |
}
|
1068 |
|
1069 |
/* line 36, sass/partials/_collapsible_ui.scss */
|
1070 |
|
1071 |
+
.cmbre2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row {
|
1072 |
-webkit-appearance: none !important;
|
1073 |
background: none !important;
|
1074 |
border: none !important;
|
1081 |
|
1082 |
/* line 45, sass/partials/_collapsible_ui.scss */
|
1083 |
|
1084 |
+
.cmbre2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]) {
|
1085 |
color: #a00;
|
1086 |
}
|
1087 |
|
1088 |
/* line 47, sass/partials/_collapsible_ui.scss */
|
1089 |
|
1090 |
+
.cmbre2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover {
|
1091 |
color: #f00;
|
1092 |
}
|
1093 |
|
1103 |
|
1104 |
/* line 10, sass/partials/_jquery_ui.scss */
|
1105 |
|
1106 |
+
.cmbre2-element { /* Customized Datepicker & Timepicker */
|
1107 |
}
|
1108 |
|
1109 |
/* line 11, sass/partials/_jquery_ui.scss */
|
1110 |
|
1111 |
+
.cmbre2-element .ui-helper-hidden {
|
1112 |
display: none;
|
1113 |
}
|
1114 |
|
1115 |
/* line 12, sass/partials/_jquery_ui.scss */
|
1116 |
|
1117 |
+
.cmbre2-element .ui-helper-hidden-accessible {
|
1118 |
position: absolute !important;
|
1119 |
clip: rect(1px 1px 1px 1px);
|
1120 |
clip: rect(1px, 1px, 1px, 1px);
|
1122 |
|
1123 |
/* line 13, sass/partials/_jquery_ui.scss */
|
1124 |
|
1125 |
+
.cmbre2-element .ui-helper-reset {
|
1126 |
margin: 0;
|
1127 |
padding: 0;
|
1128 |
border: 0;
|
1135 |
|
1136 |
/* line 14, sass/partials/_jquery_ui.scss */
|
1137 |
|
1138 |
+
.cmbre2-element .ui-helper-clearfix:after {
|
1139 |
content: ".";
|
1140 |
display: block;
|
1141 |
height: 0;
|
1145 |
|
1146 |
/* line 15, sass/partials/_jquery_ui.scss */
|
1147 |
|
1148 |
+
.cmbre2-element .ui-helper-clearfix {
|
1149 |
display: inline-block;
|
1150 |
}
|
1151 |
|
1152 |
/* line 16, sass/partials/_jquery_ui.scss */
|
1153 |
|
1154 |
+
.cmbre2-element * html .ui-helper-clearfix {
|
1155 |
height: 1%;
|
1156 |
}
|
1157 |
|
1158 |
/* line 17, sass/partials/_jquery_ui.scss */
|
1159 |
|
1160 |
+
.cmbre2-element .ui-helper-clearfix {
|
1161 |
display: block;
|
1162 |
}
|
1163 |
|
1164 |
/* line 18, sass/partials/_jquery_ui.scss */
|
1165 |
|
1166 |
+
.cmbre2-element .ui-helper-zfix {
|
1167 |
width: 100%;
|
1168 |
height: 100%;
|
1169 |
top: 0;
|
1175 |
|
1176 |
/* line 19, sass/partials/_jquery_ui.scss */
|
1177 |
|
1178 |
+
.cmbre2-element .ui-state-disabled {
|
1179 |
cursor: default !important;
|
1180 |
}
|
1181 |
|
1182 |
/* line 20, sass/partials/_jquery_ui.scss */
|
1183 |
|
1184 |
+
.cmbre2-element .ui-icon {
|
1185 |
display: block;
|
1186 |
text-indent: -99999px;
|
1187 |
overflow: hidden;
|
1190 |
|
1191 |
/* line 21, sass/partials/_jquery_ui.scss */
|
1192 |
|
1193 |
+
.cmbre2-element .ui-widget-overlay {
|
1194 |
position: absolute;
|
1195 |
top: 0;
|
1196 |
left: 0;
|
1200 |
|
1201 |
/* line 22, sass/partials/_jquery_ui.scss */
|
1202 |
|
1203 |
+
.cmbre2-element .ui-widget {
|
1204 |
font-family: Verdana,Arial,sans-serif;
|
1205 |
font-size: 1.1em;
|
1206 |
}
|
1207 |
|
1208 |
/* line 24, sass/partials/_jquery_ui.scss */
|
1209 |
|
1210 |
+
.cmbre2-element .ui-widget .ui-widget {
|
1211 |
font-size: 1em;
|
1212 |
}
|
1213 |
|
1214 |
/* line 25, sass/partials/_jquery_ui.scss */
|
1215 |
|
1216 |
+
.cmbre2-element .ui-widget input,
|
1217 |
+
.cmbre2-element .ui-widget select,
|
1218 |
+
.cmbre2-element .ui-widget textarea,
|
1219 |
+
.cmbre2-element .ui-widget button {
|
1220 |
font-family: Verdana,Arial,sans-serif;
|
1221 |
font-size: 1em;
|
1222 |
}
|
1223 |
|
1224 |
/* line 27, sass/partials/_jquery_ui.scss */
|
1225 |
|
1226 |
+
.cmbre2-element .ui-widget-content {
|
1227 |
border: 1px solid #aaaaaa;
|
1228 |
background: #ffffff url(../images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;
|
1229 |
color: #222222;
|
1231 |
|
1232 |
/* line 28, sass/partials/_jquery_ui.scss */
|
1233 |
|
1234 |
+
.cmbre2-element .ui-widget-content a {
|
1235 |
color: #222222;
|
1236 |
}
|
1237 |
|
1238 |
/* line 29, sass/partials/_jquery_ui.scss */
|
1239 |
|
1240 |
+
.cmbre2-element .ui-widget-header {
|
1241 |
border: 1px solid #aaaaaa;
|
1242 |
background: #cccccc url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;
|
1243 |
color: #222222;
|
1246 |
|
1247 |
/* line 30, sass/partials/_jquery_ui.scss */
|
1248 |
|
1249 |
+
.cmbre2-element .ui-widget-header a {
|
1250 |
color: #222222;
|
1251 |
}
|
1252 |
|
1253 |
/* line 31, sass/partials/_jquery_ui.scss */
|
1254 |
|
1255 |
+
.cmbre2-element .ui-state-default,
|
1256 |
+
.cmbre2-element .ui-widget-content .ui-state-default,
|
1257 |
+
.cmbre2-element .ui-widget-header .ui-state-default {
|
1258 |
border: 1px solid #d3d3d3;
|
1259 |
font-weight: normal;
|
1260 |
color: #555555;
|
1262 |
|
1263 |
/* line 32, sass/partials/_jquery_ui.scss */
|
1264 |
|
1265 |
+
.cmbre2-element .ui-state-default a,
|
1266 |
+
.cmbre2-element .ui-state-default a:link,
|
1267 |
+
.cmbre2-element .ui-state-default a:visited {
|
1268 |
color: #555555;
|
1269 |
text-decoration: none;
|
1270 |
}
|
1271 |
|
1272 |
/* line 33, sass/partials/_jquery_ui.scss */
|
1273 |
|
1274 |
+
.cmbre2-element .ui-state-hover,
|
1275 |
+
.cmbre2-element .ui-widget-content .ui-state-hover,
|
1276 |
+
.cmbre2-element .ui-widget-header .ui-state-hover,
|
1277 |
+
.cmbre2-element .ui-state-focus,
|
1278 |
+
.cmbre2-element .ui-widget-content .ui-state-focus,
|
1279 |
+
.cmbre2-element .ui-widget-header .ui-state-focus {
|
1280 |
border: 1px solid #999999;
|
1281 |
background: #dadada url(../images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;
|
1282 |
font-weight: normal;
|
1285 |
|
1286 |
/* line 34, sass/partials/_jquery_ui.scss */
|
1287 |
|
1288 |
+
.cmbre2-element .ui-state-hover a,
|
1289 |
+
.cmbre2-element .ui-state-hover a:hover {
|
1290 |
color: #212121;
|
1291 |
text-decoration: none;
|
1292 |
}
|
1293 |
|
1294 |
/* line 35, sass/partials/_jquery_ui.scss */
|
1295 |
|
1296 |
+
.cmbre2-element .ui-state-active,
|
1297 |
+
.cmbre2-element .ui-widget-content .ui-state-active,
|
1298 |
+
.cmbre2-element .ui-widget-header .ui-state-active {
|
1299 |
border: 1px solid #aaaaaa;
|
1300 |
background: #ffffff url(../images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;
|
1301 |
font-weight: normal;
|
1304 |
|
1305 |
/* line 36, sass/partials/_jquery_ui.scss */
|
1306 |
|
1307 |
+
.cmbre2-element .ui-state-active a,
|
1308 |
+
.cmbre2-element .ui-state-active a:link,
|
1309 |
+
.cmbre2-element .ui-state-active a:visited {
|
1310 |
color: #212121;
|
1311 |
text-decoration: none;
|
1312 |
}
|
1313 |
|
1314 |
/* line 37, sass/partials/_jquery_ui.scss */
|
1315 |
|
1316 |
+
.cmbre2-element .ui-widget :active {
|
1317 |
outline: none;
|
1318 |
}
|
1319 |
|
1320 |
/* line 38, sass/partials/_jquery_ui.scss */
|
1321 |
|
1322 |
+
.cmbre2-element .ui-state-highlight,
|
1323 |
+
.cmbre2-element .ui-widget-content .ui-state-highlight,
|
1324 |
+
.cmbre2-element .ui-widget-header .ui-state-highlight {
|
1325 |
border: 1px solid #fcefa1;
|
1326 |
background: #fbf9ee url(../images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;
|
1327 |
color: #363636;
|
1329 |
|
1330 |
/* line 39, sass/partials/_jquery_ui.scss */
|
1331 |
|
1332 |
+
.cmbre2-element .ui-state-highlight a,
|
1333 |
+
.cmbre2-element .ui-widget-content .ui-state-highlight a,
|
1334 |
+
.cmbre2-element .ui-widget-header .ui-state-highlight a {
|
1335 |
color: #363636;
|
1336 |
}
|
1337 |
|
1338 |
/* line 40, sass/partials/_jquery_ui.scss */
|
1339 |
|
1340 |
+
.cmbre2-element .ui-state-error,
|
1341 |
+
.cmbre2-element .ui-widget-content .ui-state-error,
|
1342 |
+
.cmbre2-element .ui-widget-header .ui-state-error {
|
1343 |
border: 1px solid #cd0a0a;
|
1344 |
background: #fef1ec url(../images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;
|
1345 |
color: #cd0a0a;
|
1347 |
|
1348 |
/* line 41, sass/partials/_jquery_ui.scss */
|
1349 |
|
1350 |
+
.cmbre2-element .ui-state-error a,
|
1351 |
+
.cmbre2-element .ui-widget-content .ui-state-error a,
|
1352 |
+
.cmbre2-element .ui-widget-header .ui-state-error a {
|
1353 |
color: #cd0a0a;
|
1354 |
}
|
1355 |
|
1356 |
/* line 42, sass/partials/_jquery_ui.scss */
|
1357 |
|
1358 |
+
.cmbre2-element .ui-state-error-text,
|
1359 |
+
.cmbre2-element .ui-widget-content .ui-state-error-text,
|
1360 |
+
.cmbre2-element .ui-widget-header .ui-state-error-text {
|
1361 |
color: #cd0a0a;
|
1362 |
}
|
1363 |
|
1364 |
/* line 43, sass/partials/_jquery_ui.scss */
|
1365 |
|
1366 |
+
.cmbre2-element .ui-priority-primary,
|
1367 |
+
.cmbre2-element .ui-widget-content .ui-priority-primary,
|
1368 |
+
.cmbre2-element .ui-widget-header .ui-priority-primary {
|
1369 |
font-weight: bold;
|
1370 |
}
|
1371 |
|
1372 |
/* line 44, sass/partials/_jquery_ui.scss */
|
1373 |
|
1374 |
+
.cmbre2-element .ui-priority-secondary,
|
1375 |
+
.cmbre2-element .ui-widget-content .ui-priority-secondary,
|
1376 |
+
.cmbre2-element .ui-widget-header .ui-priority-secondary {
|
1377 |
opacity: .7;
|
1378 |
filter: Alpha(Opacity=70);
|
1379 |
font-weight: normal;
|
1381 |
|
1382 |
/* line 45, sass/partials/_jquery_ui.scss */
|
1383 |
|
1384 |
+
.cmbre2-element .ui-state-disabled,
|
1385 |
+
.cmbre2-element .ui-widget-content .ui-state-disabled,
|
1386 |
+
.cmbre2-element .ui-widget-header .ui-state-disabled {
|
1387 |
opacity: .35;
|
1388 |
filter: Alpha(Opacity=35);
|
1389 |
background-image: none;
|
1391 |
|
1392 |
/* line 46, sass/partials/_jquery_ui.scss */
|
1393 |
|
1394 |
+
.cmbre2-element .ui-icon {
|
1395 |
width: 16px;
|
1396 |
height: 16px;
|
1397 |
background-image: url(../images/ui-icons_222222_256x240.png);
|
1399 |
|
1400 |
/* line 47, sass/partials/_jquery_ui.scss */
|
1401 |
|
1402 |
+
.cmbre2-element .ui-widget-content .ui-icon {
|
1403 |
background-image: url(../images/ui-icons_222222_256x240.png);
|
1404 |
}
|
1405 |
|
1406 |
/* line 48, sass/partials/_jquery_ui.scss */
|
1407 |
|
1408 |
+
.cmbre2-element .ui-widget-header .ui-icon {
|
1409 |
background-image: url(../images/ui-icons_222222_256x240.png);
|
1410 |
}
|
1411 |
|
1412 |
/* line 49, sass/partials/_jquery_ui.scss */
|
1413 |
|
1414 |
+
.cmbre2-element .ui-state-default .ui-icon {
|
1415 |
background-image: url(../images/ui-icons_888888_256x240.png);
|
1416 |
}
|
1417 |
|
1418 |
/* line 50, sass/partials/_jquery_ui.scss */
|
1419 |
|
1420 |
+
.cmbre2-element .ui-state-hover .ui-icon,
|
1421 |
+
.cmbre2-element .ui-state-focus .ui-icon {
|
1422 |
background-image: url(../images/ui-icons_454545_256x240.png);
|
1423 |
}
|
1424 |
|
1425 |
/* line 51, sass/partials/_jquery_ui.scss */
|
1426 |
|
1427 |
+
.cmbre2-element .ui-state-active .ui-icon {
|
1428 |
background-image: url(../images/ui-icons_454545_256x240.png);
|
1429 |
}
|
1430 |
|
1431 |
/* line 52, sass/partials/_jquery_ui.scss */
|
1432 |
|
1433 |
+
.cmbre2-element .ui-state-highlight .ui-icon {
|
1434 |
background-image: url(../images/ui-icons_2e83ff_256x240.png);
|
1435 |
}
|
1436 |
|
1437 |
/* line 53, sass/partials/_jquery_ui.scss */
|
1438 |
|
1439 |
+
.cmbre2-element .ui-state-error .ui-icon,
|
1440 |
+
.cmbre2-element .ui-state-error-text .ui-icon {
|
1441 |
background-image: url(../images/ui-icons_cd0a0a_256x240.png);
|
1442 |
}
|
1443 |
|
1444 |
/* line 54, sass/partials/_jquery_ui.scss */
|
1445 |
|
1446 |
+
.cmbre2-element .ui-icon-carat-1-n {
|
1447 |
background-position: 0 0;
|
1448 |
}
|
1449 |
|
1450 |
/* line 55, sass/partials/_jquery_ui.scss */
|
1451 |
|
1452 |
+
.cmbre2-element .ui-icon-carat-1-ne {
|
1453 |
background-position: -16px 0;
|
1454 |
}
|
1455 |
|
1456 |
/* line 56, sass/partials/_jquery_ui.scss */
|
1457 |
|
1458 |
+
.cmbre2-element .ui-icon-carat-1-e {
|
1459 |
background-position: -32px 0;
|
1460 |
}
|
1461 |
|
1462 |
/* line 57, sass/partials/_jquery_ui.scss */
|
1463 |
|
1464 |
+
.cmbre2-element .ui-icon-carat-1-se {
|
1465 |
background-position: -48px 0;
|
1466 |
}
|
1467 |
|
1468 |
/* line 58, sass/partials/_jquery_ui.scss */
|
1469 |
|
1470 |
+
.cmbre2-element .ui-icon-carat-1-s {
|
1471 |
background-position: -64px 0;
|
1472 |
}
|
1473 |
|
1474 |
/* line 59, sass/partials/_jquery_ui.scss */
|
1475 |
|
1476 |
+
.cmbre2-element .ui-icon-carat-1-sw {
|
1477 |
background-position: -80px 0;
|
1478 |
}
|
1479 |
|
1480 |
/* line 60, sass/partials/_jquery_ui.scss */
|
1481 |
|
1482 |
+
.cmbre2-element .ui-icon-carat-1-w {
|
1483 |
background-position: -96px 0;
|
1484 |
}
|
1485 |
|
1486 |
/* line 61, sass/partials/_jquery_ui.scss */
|
1487 |
|
1488 |
+
.cmbre2-element .ui-icon-carat-1-nw {
|
1489 |
background-position: -112px 0;
|
1490 |
}
|
1491 |
|
1492 |
/* line 62, sass/partials/_jquery_ui.scss */
|
1493 |
|
1494 |
+
.cmbre2-element .ui-icon-carat-2-n-s {
|
1495 |
background-position: -128px 0;
|
1496 |
}
|
1497 |
|
1498 |
/* line 63, sass/partials/_jquery_ui.scss */
|
1499 |
|
1500 |
+
.cmbre2-element .ui-icon-carat-2-e-w {
|
1501 |
background-position: -144px 0;
|
1502 |
}
|
1503 |
|
1504 |
/* line 64, sass/partials/_jquery_ui.scss */
|
1505 |
|
1506 |
+
.cmbre2-element .ui-icon-triangle-1-n {
|
1507 |
background-position: 0 -16px;
|
1508 |
}
|
1509 |
|
1510 |
/* line 65, sass/partials/_jquery_ui.scss */
|
1511 |
|
1512 |
+
.cmbre2-element .ui-icon-triangle-1-ne {
|
1513 |
background-position: -16px -16px;
|
1514 |
}
|
1515 |
|
1516 |
/* line 66, sass/partials/_jquery_ui.scss */
|
1517 |
|
1518 |
+
.cmbre2-element .ui-icon-triangle-1-e {
|
1519 |
background-position: -32px -16px;
|
1520 |
}
|
1521 |
|
1522 |
/* line 67, sass/partials/_jquery_ui.scss */
|
1523 |
|
1524 |
+
.cmbre2-element .ui-icon-triangle-1-se {
|
1525 |
background-position: -48px -16px;
|
1526 |
}
|
1527 |
|
1528 |
/* line 68, sass/partials/_jquery_ui.scss */
|
1529 |
|
1530 |
+
.cmbre2-element .ui-icon-triangle-1-s {
|
1531 |
background-position: -64px -16px;
|
1532 |
}
|
1533 |
|
1534 |
/* line 69, sass/partials/_jquery_ui.scss */
|
1535 |
|
1536 |
+
.cmbre2-element .ui-icon-triangle-1-sw {
|
1537 |
background-position: -80px -16px;
|
1538 |
}
|
1539 |
|
1540 |
/* line 70, sass/partials/_jquery_ui.scss */
|
1541 |
|
1542 |
+
.cmbre2-element .ui-icon-triangle-1-w {
|
1543 |
background-position: -96px -16px;
|
1544 |
}
|
1545 |
|
1546 |
/* line 71, sass/partials/_jquery_ui.scss */
|
1547 |
|
1548 |
+
.cmbre2-element .ui-icon-triangle-1-nw {
|
1549 |
background-position: -112px -16px;
|
1550 |
}
|
1551 |
|
1552 |
/* line 72, sass/partials/_jquery_ui.scss */
|
1553 |
|
1554 |
+
.cmbre2-element .ui-icon-triangle-2-n-s {
|
1555 |
background-position: -128px -16px;
|
1556 |
}
|
1557 |
|
1558 |
/* line 73, sass/partials/_jquery_ui.scss */
|
1559 |
|
1560 |
+
.cmbre2-element .ui-icon-triangle-2-e-w {
|
1561 |
background-position: -144px -16px;
|
1562 |
}
|
1563 |
|
1564 |
/* line 74, sass/partials/_jquery_ui.scss */
|
1565 |
|
1566 |
+
.cmbre2-element .ui-icon-arrow-1-n {
|
1567 |
background-position: 0 -32px;
|
1568 |
}
|
1569 |
|
1570 |
/* line 75, sass/partials/_jquery_ui.scss */
|
1571 |
|
1572 |
+
.cmbre2-element .ui-icon-arrow-1-ne {
|
1573 |
background-position: -16px -32px;
|
1574 |
}
|
1575 |
|
1576 |
/* line 76, sass/partials/_jquery_ui.scss */
|
1577 |
|
1578 |
+
.cmbre2-element .ui-icon-arrow-1-e {
|
1579 |
background-position: -32px -32px;
|
1580 |
}
|
1581 |
|
1582 |
/* line 77, sass/partials/_jquery_ui.scss */
|
1583 |
|
1584 |
+
.cmbre2-element .ui-icon-arrow-1-se {
|
1585 |
background-position: -48px -32px;
|
1586 |
}
|
1587 |
|
1588 |
/* line 78, sass/partials/_jquery_ui.scss */
|
1589 |
|
1590 |
+
.cmbre2-element .ui-icon-arrow-1-s {
|
1591 |
background-position: -64px -32px;
|
1592 |
}
|
1593 |
|
1594 |
/* line 79, sass/partials/_jquery_ui.scss */
|
1595 |
|
1596 |
+
.cmbre2-element .ui-icon-arrow-1-sw {
|
1597 |
background-position: -80px -32px;
|
1598 |
}
|
1599 |
|
1600 |
/* line 80, sass/partials/_jquery_ui.scss */
|
1601 |
|
1602 |
+
.cmbre2-element .ui-icon-arrow-1-w {
|
1603 |
background-position: -96px -32px;
|
1604 |
}
|
1605 |
|
1606 |
/* line 81, sass/partials/_jquery_ui.scss */
|
1607 |
|
1608 |
+
.cmbre2-element .ui-icon-arrow-1-nw {
|
1609 |
background-position: -112px -32px;
|
1610 |
}
|
1611 |
|
1612 |
/* line 82, sass/partials/_jquery_ui.scss */
|
1613 |
|
1614 |
+
.cmbre2-element .ui-icon-arrow-2-n-s {
|
1615 |
background-position: -128px -32px;
|
1616 |
}
|
1617 |
|
1618 |
/* line 83, sass/partials/_jquery_ui.scss */
|
1619 |
|
1620 |
+
.cmbre2-element .ui-icon-arrow-2-ne-sw {
|
1621 |
background-position: -144px -32px;
|
1622 |
}
|
1623 |
|
1624 |
/* line 84, sass/partials/_jquery_ui.scss */
|
1625 |
|
1626 |
+
.cmbre2-element .ui-icon-arrow-2-e-w {
|
1627 |
background-position: -160px -32px;
|
1628 |
}
|
1629 |
|
1630 |
/* line 85, sass/partials/_jquery_ui.scss */
|
1631 |
|
1632 |
+
.cmbre2-element .ui-icon-arrow-2-se-nw {
|
1633 |
background-position: -176px -32px;
|
1634 |
}
|
1635 |
|
1636 |
/* line 86, sass/partials/_jquery_ui.scss */
|
1637 |
|
1638 |
+
.cmbre2-element .ui-icon-arrowstop-1-n {
|
1639 |
background-position: -192px -32px;
|
1640 |
}
|
1641 |
|
1642 |
/* line 87, sass/partials/_jquery_ui.scss */
|
1643 |
|
1644 |
+
.cmbre2-element .ui-icon-arrowstop-1-e {
|
1645 |
background-position: -208px -32px;
|
1646 |
}
|
1647 |
|
1648 |
/* line 88, sass/partials/_jquery_ui.scss */
|
1649 |
|
1650 |
+
.cmbre2-element .ui-icon-arrowstop-1-s {
|
1651 |
background-position: -224px -32px;
|
1652 |
}
|
1653 |
|
1654 |
/* line 89, sass/partials/_jquery_ui.scss */
|
1655 |
|
1656 |
+
.cmbre2-element .ui-icon-arrowstop-1-w {
|
1657 |
background-position: -240px -32px;
|
1658 |
}
|
1659 |
|
1660 |
/* line 90, sass/partials/_jquery_ui.scss */
|
1661 |
|
1662 |
+
.cmbre2-element .ui-icon-arrowthick-1-n {
|
1663 |
background-position: 0 -48px;
|
1664 |
}
|
1665 |
|
1666 |
/* line 91, sass/partials/_jquery_ui.scss */
|
1667 |
|
1668 |
+
.cmbre2-element .ui-icon-arrowthick-1-ne {
|
1669 |
background-position: -16px -48px;
|
1670 |
}
|
1671 |
|
1672 |
/* line 92, sass/partials/_jquery_ui.scss */
|
1673 |
|
1674 |
+
.cmbre2-element .ui-icon-arrowthick-1-e {
|
1675 |
background-position: -32px -48px;
|
1676 |
}
|
1677 |
|
1678 |
/* line 93, sass/partials/_jquery_ui.scss */
|
1679 |
|
1680 |
+
.cmbre2-element .ui-icon-arrowthick-1-se {
|
1681 |
background-position: -48px -48px;
|
1682 |
}
|
1683 |
|
1684 |
/* line 94, sass/partials/_jquery_ui.scss */
|
1685 |
|
1686 |
+
.cmbre2-element .ui-icon-arrowthick-1-s {
|
1687 |
background-position: -64px -48px;
|
1688 |
}
|
1689 |
|
1690 |
/* line 95, sass/partials/_jquery_ui.scss */
|
1691 |
|
1692 |
+
.cmbre2-element .ui-icon-arrowthick-1-sw {
|
1693 |
background-position: -80px -48px;
|
1694 |
}
|
1695 |
|
1696 |
/* line 96, sass/partials/_jquery_ui.scss */
|
1697 |
|
1698 |
+
.cmbre2-element .ui-icon-arrowthick-1-w {
|
1699 |
background-position: -96px -48px;
|
1700 |
}
|
1701 |
|
1702 |
/* line 97, sass/partials/_jquery_ui.scss */
|
1703 |
|
1704 |
+
.cmbre2-element .ui-icon-arrowthick-1-nw {
|
1705 |
background-position: -112px -48px;
|
1706 |
}
|
1707 |
|
1708 |
/* line 98, sass/partials/_jquery_ui.scss */
|
1709 |
|
1710 |
+
.cmbre2-element .ui-icon-arrowthick-2-n-s {
|
1711 |
background-position: -128px -48px;
|
1712 |
}
|
1713 |
|
1714 |
/* line 99, sass/partials/_jquery_ui.scss */
|
1715 |
|
1716 |
+
.cmbre2-element .ui-icon-arrowthick-2-ne-sw {
|
1717 |
background-position: -144px -48px;
|
1718 |
}
|
1719 |
|
1720 |
/* line 100, sass/partials/_jquery_ui.scss */
|
1721 |
|
1722 |
+
.cmbre2-element .ui-icon-arrowthick-2-e-w {
|
1723 |
background-position: -160px -48px;
|
1724 |
}
|
1725 |
|
1726 |
/* line 101, sass/partials/_jquery_ui.scss */
|
1727 |
|
1728 |
+
.cmbre2-element .ui-icon-arrowthick-2-se-nw {
|
1729 |
background-position: -176px -48px;
|
1730 |
}
|
1731 |
|
1732 |
/* line 102, sass/partials/_jquery_ui.scss */
|
1733 |
|
1734 |
+
.cmbre2-element .ui-icon-arrowthickstop-1-n {
|
1735 |
background-position: -192px -48px;
|
1736 |
}
|
1737 |
|
1738 |
/* line 103, sass/partials/_jquery_ui.scss */
|
1739 |
|
1740 |
+
.cmbre2-element .ui-icon-arrowthickstop-1-e {
|
1741 |
background-position: -208px -48px;
|
1742 |
}
|
1743 |
|
1744 |
/* line 104, sass/partials/_jquery_ui.scss */
|
1745 |
|
1746 |
+
.cmbre2-element .ui-icon-arrowthickstop-1-s {
|
1747 |
background-position: -224px -48px;
|
1748 |
}
|
1749 |
|
1750 |
/* line 105, sass/partials/_jquery_ui.scss */
|
1751 |
|
1752 |
+
.cmbre2-element .ui-icon-arrowthickstop-1-w {
|
1753 |
background-position: -240px -48px;
|
1754 |
}
|
1755 |
|
1756 |
/* line 106, sass/partials/_jquery_ui.scss */
|
1757 |
|
1758 |
+
.cmbre2-element .ui-icon-arrowreturnthick-1-w {
|
1759 |
background-position: 0 -64px;
|
1760 |
}
|
1761 |
|
1762 |
/* line 107, sass/partials/_jquery_ui.scss */
|
1763 |
|
1764 |
+
.cmbre2-element .ui-icon-arrowreturnthick-1-n {
|
1765 |
background-position: -16px -64px;
|
1766 |
}
|
1767 |
|
1768 |
/* line 108, sass/partials/_jquery_ui.scss */
|
1769 |
|
1770 |
+
.cmbre2-element .ui-icon-arrowreturnthick-1-e {
|
1771 |
background-position: -32px -64px;
|
1772 |
}
|
1773 |
|
1774 |
/* line 109, sass/partials/_jquery_ui.scss */
|
1775 |
|
1776 |
+
.cmbre2-element .ui-icon-arrowreturnthick-1-s {
|
1777 |
background-position: -48px -64px;
|
1778 |
}
|
1779 |
|
1780 |
/* line 110, sass/partials/_jquery_ui.scss */
|
1781 |
|
1782 |
+
.cmbre2-element .ui-icon-arrowreturn-1-w {
|
1783 |
background-position: -64px -64px;
|
1784 |
}
|
1785 |
|
1786 |
/* line 111, sass/partials/_jquery_ui.scss */
|
1787 |
|
1788 |
+
.cmbre2-element .ui-icon-arrowreturn-1-n {
|
1789 |
background-position: -80px -64px;
|
1790 |
}
|
1791 |
|
1792 |
/* line 112, sass/partials/_jquery_ui.scss */
|
1793 |
|
1794 |
+
.cmbre2-element .ui-icon-arrowreturn-1-e {
|
1795 |
background-position: -96px -64px;
|
1796 |
}
|
1797 |
|
1798 |
/* line 113, sass/partials/_jquery_ui.scss */
|
1799 |
|
1800 |
+
.cmbre2-element .ui-icon-arrowreturn-1-s {
|
1801 |
background-position: -112px -64px;
|
1802 |
}
|
1803 |
|
1804 |
/* line 114, sass/partials/_jquery_ui.scss */
|
1805 |
|
1806 |
+
.cmbre2-element .ui-icon-arrowrefresh-1-w {
|
1807 |
background-position: -128px -64px;
|
1808 |
}
|
1809 |
|
1810 |
/* line 115, sass/partials/_jquery_ui.scss */
|
1811 |
|
1812 |
+
.cmbre2-element .ui-icon-arrowrefresh-1-n {
|
1813 |
background-position: -144px -64px;
|
1814 |
}
|
1815 |
|
1816 |
/* line 116, sass/partials/_jquery_ui.scss */
|
1817 |
|
1818 |
+
.cmbre2-element .ui-icon-arrowrefresh-1-e {
|
1819 |
background-position: -160px -64px;
|
1820 |
}
|
1821 |
|
1822 |
/* line 117, sass/partials/_jquery_ui.scss */
|
1823 |
|
1824 |
+
.cmbre2-element .ui-icon-arrowrefresh-1-s {
|
1825 |
background-position: -176px -64px;
|
1826 |
}
|
1827 |
|
1828 |
/* line 118, sass/partials/_jquery_ui.scss */
|
1829 |
|
1830 |
+
.cmbre2-element .ui-icon-arrow-4 {
|
1831 |
background-position: 0 -80px;
|
1832 |
}
|
1833 |
|
1834 |
/* line 119, sass/partials/_jquery_ui.scss */
|
1835 |
|
1836 |
+
.cmbre2-element .ui-icon-arrow-4-diag {
|
1837 |
background-position: -16px -80px;
|
1838 |
}
|
1839 |
|
1840 |
/* line 120, sass/partials/_jquery_ui.scss */
|
1841 |
|
1842 |
+
.cmbre2-element .ui-icon-extlink {
|
1843 |
background-position: -32px -80px;
|
1844 |
}
|
1845 |
|
1846 |
/* line 121, sass/partials/_jquery_ui.scss */
|
1847 |
|
1848 |
+
.cmbre2-element .ui-icon-newwin {
|
1849 |
background-position: -48px -80px;
|
1850 |
}
|
1851 |
|
1852 |
/* line 122, sass/partials/_jquery_ui.scss */
|
1853 |
|
1854 |
+
.cmbre2-element .ui-icon-refresh {
|
1855 |
background-position: -64px -80px;
|
1856 |
}
|
1857 |
|
1858 |
/* line 123, sass/partials/_jquery_ui.scss */
|
1859 |
|
1860 |
+
.cmbre2-element .ui-icon-shuffle {
|
1861 |
background-position: -80px -80px;
|
1862 |
}
|
1863 |
|
1864 |
/* line 124, sass/partials/_jquery_ui.scss */
|
1865 |
|
1866 |
+
.cmbre2-element .ui-icon-transfer-e-w {
|
1867 |
background-position: -96px -80px;
|
1868 |
}
|
1869 |
|
1870 |
/* line 125, sass/partials/_jquery_ui.scss */
|
1871 |
|
1872 |
+
.cmbre2-element .ui-icon-transferthick-e-w {
|
1873 |
background-position: -112px -80px;
|
1874 |
}
|
1875 |
|
1876 |
/* line 126, sass/partials/_jquery_ui.scss */
|
1877 |
|
1878 |
+
.cmbre2-element .ui-icon-folder-collapsed {
|
1879 |
background-position: 0 -96px;
|
1880 |
}
|
1881 |
|
1882 |
/* line 127, sass/partials/_jquery_ui.scss */
|
1883 |
|
1884 |
+
.cmbre2-element .ui-icon-folder-open {
|
1885 |
background-position: -16px -96px;
|
1886 |
}
|
1887 |
|
1888 |
/* line 128, sass/partials/_jquery_ui.scss */
|
1889 |
|
1890 |
+
.cmbre2-element .ui-icon-document {
|
1891 |
background-position: -32px -96px;
|
1892 |
}
|
1893 |
|
1894 |
/* line 129, sass/partials/_jquery_ui.scss */
|
1895 |
|
1896 |
+
.cmbre2-element .ui-icon-document-b {
|
1897 |
background-position: -48px -96px;
|
1898 |
}
|
1899 |
|
1900 |
/* line 130, sass/partials/_jquery_ui.scss */
|
1901 |
|
1902 |
+
.cmbre2-element .ui-icon-note {
|
1903 |
background-position: -64px -96px;
|
1904 |
}
|
1905 |
|
1906 |
/* line 131, sass/partials/_jquery_ui.scss */
|
1907 |
|
1908 |
+
.cmbre2-element .ui-icon-mail-closed {
|
1909 |
background-position: -80px -96px;
|
1910 |
}
|
1911 |
|
1912 |
/* line 132, sass/partials/_jquery_ui.scss */
|
1913 |
|
1914 |
+
.cmbre2-element .ui-icon-mail-open {
|
1915 |
background-position: -96px -96px;
|
1916 |
}
|
1917 |
|
1918 |
/* line 133, sass/partials/_jquery_ui.scss */
|
1919 |
|
1920 |
+
.cmbre2-element .ui-icon-suitcase {
|
1921 |
background-position: -112px -96px;
|
1922 |
}
|
1923 |
|
1924 |
/* line 134, sass/partials/_jquery_ui.scss */
|
1925 |
|
1926 |
+
.cmbre2-element .ui-icon-comment {
|
1927 |
background-position: -128px -96px;
|
1928 |
}
|
1929 |
|
1930 |
/* line 135, sass/partials/_jquery_ui.scss */
|
1931 |
|
1932 |
+
.cmbre2-element .ui-icon-person {
|
1933 |
background-position: -144px -96px;
|
1934 |
}
|
1935 |
|
1936 |
/* line 136, sass/partials/_jquery_ui.scss */
|
1937 |
|
1938 |
+
.cmbre2-element .ui-icon-print {
|
1939 |
background-position: -160px -96px;
|
1940 |
}
|
1941 |
|
1942 |
/* line 137, sass/partials/_jquery_ui.scss */
|
1943 |
|
1944 |
+
.cmbre2-element .ui-icon-trash {
|
1945 |
background-position: -176px -96px;
|
1946 |
}
|
1947 |
|
1948 |
/* line 138, sass/partials/_jquery_ui.scss */
|
1949 |
|
1950 |
+
.cmbre2-element .ui-icon-locked {
|
1951 |
background-position: -192px -96px;
|
1952 |
}
|
1953 |
|
1954 |
/* line 139, sass/partials/_jquery_ui.scss */
|
1955 |
|
1956 |
+
.cmbre2-element .ui-icon-unlocked {
|
1957 |
background-position: -208px -96px;
|
1958 |
}
|
1959 |
|
1960 |
/* line 140, sass/partials/_jquery_ui.scss */
|
1961 |
|
1962 |
+
.cmbre2-element .ui-icon-bookmark {
|
1963 |
background-position: -224px -96px;
|
1964 |
}
|
1965 |
|
1966 |
/* line 141, sass/partials/_jquery_ui.scss */
|
1967 |
|
1968 |
+
.cmbre2-element .ui-icon-tag {
|
1969 |
background-position: -240px -96px;
|
1970 |
}
|
1971 |
|
1972 |
/* line 142, sass/partials/_jquery_ui.scss */
|
1973 |
|
1974 |
+
.cmbre2-element .ui-icon-home {
|
1975 |
background-position: 0 -112px;
|
1976 |
}
|
1977 |
|
1978 |
/* line 143, sass/partials/_jquery_ui.scss */
|
1979 |
|
1980 |
+
.cmbre2-element .ui-icon-flag {
|
1981 |
background-position: -16px -112px;
|
1982 |
}
|
1983 |
|
1984 |
/* line 144, sass/partials/_jquery_ui.scss */
|
1985 |
|
1986 |
+
.cmbre2-element .ui-icon-calendar {
|
1987 |
background-position: -32px -112px;
|
1988 |
}
|
1989 |
|
1990 |
/* line 145, sass/partials/_jquery_ui.scss */
|
1991 |
|
1992 |
+
.cmbre2-element .ui-icon-cart {
|
1993 |
background-position: -48px -112px;
|
1994 |
}
|
1995 |
|
1996 |
/* line 146, sass/partials/_jquery_ui.scss */
|
1997 |
|
1998 |
+
.cmbre2-element .ui-icon-pencil {
|
1999 |
background-position: -64px -112px;
|
2000 |
}
|
2001 |
|
2002 |
/* line 147, sass/partials/_jquery_ui.scss */
|
2003 |
|
2004 |
+
.cmbre2-element .ui-icon-clock {
|
2005 |
background-position: -80px -112px;
|
2006 |
}
|
2007 |
|
2008 |
/* line 148, sass/partials/_jquery_ui.scss */
|
2009 |
|
2010 |
+
.cmbre2-element .ui-icon-disk {
|
2011 |
background-position: -96px -112px;
|
2012 |
}
|
2013 |
|
2014 |
/* line 149, sass/partials/_jquery_ui.scss */
|
2015 |
|
2016 |
+
.cmbre2-element .ui-icon-calculator {
|
2017 |
background-position: -112px -112px;
|
2018 |
}
|
2019 |
|
2020 |
/* line 150, sass/partials/_jquery_ui.scss */
|
2021 |
|
2022 |
+
.cmbre2-element .ui-icon-zoomin {
|
2023 |
background-position: -128px -112px;
|
2024 |
}
|
2025 |
|
2026 |
/* line 151, sass/partials/_jquery_ui.scss */
|
2027 |
|
2028 |
+
.cmbre2-element .ui-icon-zoomout {
|
2029 |
background-position: -144px -112px;
|
2030 |
}
|
2031 |
|
2032 |
/* line 152, sass/partials/_jquery_ui.scss */
|
2033 |
|
2034 |
+
.cmbre2-element .ui-icon-search {
|
2035 |
background-position: -160px -112px;
|
2036 |
}
|
2037 |
|
2038 |
/* line 153, sass/partials/_jquery_ui.scss */
|
2039 |
|
2040 |
+
.cmbre2-element .ui-icon-wrench {
|
2041 |
background-position: -176px -112px;
|
2042 |
}
|
2043 |
|
2044 |
/* line 154, sass/partials/_jquery_ui.scss */
|
2045 |
|
2046 |
+
.cmbre2-element .ui-icon-gear {
|
2047 |
background-position: -192px -112px;
|
2048 |
}
|
2049 |
|
2050 |
/* line 155, sass/partials/_jquery_ui.scss */
|
2051 |
|
2052 |
+
.cmbre2-element .ui-icon-heart {
|
2053 |
background-position: -208px -112px;
|
2054 |
}
|
2055 |
|
2056 |
/* line 156, sass/partials/_jquery_ui.scss */
|
2057 |
|
2058 |
+
.cmbre2-element .ui-icon-star {
|
2059 |
background-position: -224px -112px;
|
2060 |
}
|
2061 |
|
2062 |
/* line 157, sass/partials/_jquery_ui.scss */
|
2063 |
|
2064 |
+
.cmbre2-element .ui-icon-link {
|
2065 |
background-position: -240px -112px;
|
2066 |
}
|
2067 |
|
2068 |
/* line 158, sass/partials/_jquery_ui.scss */
|
2069 |
|
2070 |
+
.cmbre2-element .ui-icon-cancel {
|
2071 |
background-position: 0 -128px;
|
2072 |
}
|
2073 |
|
2074 |
/* line 159, sass/partials/_jquery_ui.scss */
|
2075 |
|
2076 |
+
.cmbre2-element .ui-icon-plus {
|
2077 |
background-position: -16px -128px;
|
2078 |
}
|
2079 |
|
2080 |
/* line 160, sass/partials/_jquery_ui.scss */
|
2081 |
|
2082 |
+
.cmbre2-element .ui-icon-plusthick {
|
2083 |
background-position: -32px -128px;
|
2084 |
}
|
2085 |
|
2086 |
/* line 161, sass/partials/_jquery_ui.scss */
|
2087 |
|
2088 |
+
.cmbre2-element .ui-icon-minus {
|
2089 |
background-position: -48px -128px;
|
2090 |
}
|
2091 |
|
2092 |
/* line 162, sass/partials/_jquery_ui.scss */
|
2093 |
|
2094 |
+
.cmbre2-element .ui-icon-minusthick {
|
2095 |
background-position: -64px -128px;
|
2096 |
}
|
2097 |
|
2098 |
/* line 163, sass/partials/_jquery_ui.scss */
|
2099 |
|
2100 |
+
.cmbre2-element .ui-icon-close {
|
2101 |
background-position: -80px -128px;
|
2102 |
}
|
2103 |
|
2104 |
/* line 164, sass/partials/_jquery_ui.scss */
|
2105 |
|
2106 |
+
.cmbre2-element .ui-icon-closethick {
|
2107 |
background-position: -96px -128px;
|
2108 |
}
|
2109 |
|
2110 |
/* line 165, sass/partials/_jquery_ui.scss */
|
2111 |
|
2112 |
+
.cmbre2-element .ui-icon-key {
|
2113 |
background-position: -112px -128px;
|
2114 |
}
|
2115 |
|
2116 |
/* line 166, sass/partials/_jquery_ui.scss */
|
2117 |
|
2118 |
+
.cmbre2-element .ui-icon-lightbulb {
|
2119 |
background-position: -128px -128px;
|
2120 |
}
|
2121 |
|
2122 |
/* line 167, sass/partials/_jquery_ui.scss */
|
2123 |
|
2124 |
+
.cmbre2-element .ui-icon-scissors {
|
2125 |
background-position: -144px -128px;
|
2126 |
}
|
2127 |
|
2128 |
/* line 168, sass/partials/_jquery_ui.scss */
|
2129 |
|
2130 |
+
.cmbre2-element .ui-icon-clipboard {
|
2131 |
background-position: -160px -128px;
|
2132 |
}
|
2133 |
|
2134 |
/* line 169, sass/partials/_jquery_ui.scss */
|
2135 |
|
2136 |
+
.cmbre2-element .ui-icon-copy {
|
2137 |
background-position: -176px -128px;
|
2138 |
}
|
2139 |
|
2140 |
/* line 170, sass/partials/_jquery_ui.scss */
|
2141 |
|
2142 |
+
.cmbre2-element .ui-icon-contact {
|
2143 |
background-position: -192px -128px;
|
2144 |
}
|
2145 |
|
2146 |
/* line 171, sass/partials/_jquery_ui.scss */
|
2147 |
|
2148 |
+
.cmbre2-element .ui-icon-image {
|
2149 |
background-position: -208px -128px;
|
2150 |
}
|
2151 |
|
2152 |
/* line 172, sass/partials/_jquery_ui.scss */
|
2153 |
|
2154 |
+
.cmbre2-element .ui-icon-video {
|
2155 |
background-position: -224px -128px;
|
2156 |
}
|
2157 |
|
2158 |
/* line 173, sass/partials/_jquery_ui.scss */
|
2159 |
|
2160 |
+
.cmbre2-element .ui-icon-script {
|
2161 |
background-position: -240px -128px;
|
2162 |
}
|
2163 |
|
2164 |
/* line 174, sass/partials/_jquery_ui.scss */
|
2165 |
|
2166 |
+
.cmbre2-element .ui-icon-alert {
|
2167 |
background-position: 0 -144px;
|
2168 |
}
|
2169 |
|
2170 |
/* line 175, sass/partials/_jquery_ui.scss */
|
2171 |
|
2172 |
+
.cmbre2-element .ui-icon-info {
|
2173 |
background-position: -16px -144px;
|
2174 |
}
|
2175 |
|
2176 |
/* line 176, sass/partials/_jquery_ui.scss */
|
2177 |
|
2178 |
+
.cmbre2-element .ui-icon-notice {
|
2179 |
background-position: -32px -144px;
|
2180 |
}
|
2181 |
|
2182 |
/* line 177, sass/partials/_jquery_ui.scss */
|
2183 |
|
2184 |
+
.cmbre2-element .ui-icon-help {
|
2185 |
background-position: -48px -144px;
|
2186 |
}
|
2187 |
|
2188 |
/* line 178, sass/partials/_jquery_ui.scss */
|
2189 |
|
2190 |
+
.cmbre2-element .ui-icon-check {
|
2191 |
background-position: -64px -144px;
|
2192 |
}
|
2193 |
|
2194 |
/* line 179, sass/partials/_jquery_ui.scss */
|
2195 |
|
2196 |
+
.cmbre2-element .ui-icon-bullet {
|
2197 |
background-position: -80px -144px;
|
2198 |
}
|
2199 |
|
2200 |
/* line 180, sass/partials/_jquery_ui.scss */
|
2201 |
|
2202 |
+
.cmbre2-element .ui-icon-radio-off {
|
2203 |
background-position: -96px -144px;
|
2204 |
}
|
2205 |
|
2206 |
/* line 181, sass/partials/_jquery_ui.scss */
|
2207 |
|
2208 |
+
.cmbre2-element .ui-icon-radio-on {
|
2209 |
background-position: -112px -144px;
|
2210 |
}
|
2211 |
|
2212 |
/* line 182, sass/partials/_jquery_ui.scss */
|
2213 |
|
2214 |
+
.cmbre2-element .ui-icon-pin-w {
|
2215 |
background-position: -128px -144px;
|
2216 |
}
|
2217 |
|
2218 |
/* line 183, sass/partials/_jquery_ui.scss */
|
2219 |
|
2220 |
+
.cmbre2-element .ui-icon-pin-s {
|
2221 |
background-position: -144px -144px;
|
2222 |
}
|
2223 |
|
2224 |
/* line 184, sass/partials/_jquery_ui.scss */
|
2225 |
|
2226 |
+
.cmbre2-element .ui-icon-play {
|
2227 |
background-position: 0 -160px;
|
2228 |
}
|
2229 |
|
2230 |
/* line 185, sass/partials/_jquery_ui.scss */
|
2231 |
|
2232 |
+
.cmbre2-element .ui-icon-pause {
|
2233 |
background-position: -16px -160px;
|
2234 |
}
|
2235 |
|
2236 |
/* line 186, sass/partials/_jquery_ui.scss */
|
2237 |
|
2238 |
+
.cmbre2-element .ui-icon-seek-next {
|
2239 |
background-position: -32px -160px;
|
2240 |
}
|
2241 |
|
2242 |
/* line 187, sass/partials/_jquery_ui.scss */
|
2243 |
|
2244 |
+
.cmbre2-element .ui-icon-seek-prev {
|
2245 |
background-position: -48px -160px;
|
2246 |
}
|
2247 |
|
2248 |
/* line 188, sass/partials/_jquery_ui.scss */
|
2249 |
|
2250 |
+
.cmbre2-element .ui-icon-seek-end {
|
2251 |
background-position: -64px -160px;
|
2252 |
}
|
2253 |
|
2254 |
/* line 189, sass/partials/_jquery_ui.scss */
|
2255 |
|
2256 |
+
.cmbre2-element .ui-icon-seek-start {
|
2257 |
background-position: -80px -160px;
|
2258 |
}
|
2259 |
|
2260 |
/* line 190, sass/partials/_jquery_ui.scss */
|
2261 |
|
2262 |
+
.cmbre2-element .ui-icon-seek-first {
|
2263 |
background-position: -80px -160px;
|
2264 |
}
|
2265 |
|
2266 |
/* line 191, sass/partials/_jquery_ui.scss */
|
2267 |
|
2268 |
+
.cmbre2-element .ui-icon-stop {
|
2269 |
background-position: -96px -160px;
|
2270 |
}
|
2271 |
|
2272 |
/* line 192, sass/partials/_jquery_ui.scss */
|
2273 |
|
2274 |
+
.cmbre2-element .ui-icon-eject {
|
2275 |
background-position: -112px -160px;
|
2276 |
}
|
2277 |
|
2278 |
/* line 193, sass/partials/_jquery_ui.scss */
|
2279 |
|
2280 |
+
.cmbre2-element .ui-icon-volume-off {
|
2281 |
background-position: -128px -160px;
|
2282 |
}
|
2283 |
|
2284 |
/* line 194, sass/partials/_jquery_ui.scss */
|
2285 |
|
2286 |
+
.cmbre2-element .ui-icon-volume-on {
|
2287 |
background-position: -144px -160px;
|
2288 |
}
|
2289 |
|
2290 |
/* line 195, sass/partials/_jquery_ui.scss */
|
2291 |
|
2292 |
+
.cmbre2-element .ui-icon-power {
|
2293 |
background-position: 0 -176px;
|
2294 |
}
|
2295 |
|
2296 |
/* line 196, sass/partials/_jquery_ui.scss */
|
2297 |
|
2298 |
+
.cmbre2-element .ui-icon-signal-diag {
|
2299 |
background-position: -16px -176px;
|
2300 |
}
|
2301 |
|
2302 |
/* line 197, sass/partials/_jquery_ui.scss */
|
2303 |
|
2304 |
+
.cmbre2-element .ui-icon-signal {
|
2305 |
background-position: -32px -176px;
|
2306 |
}
|
2307 |
|
2308 |
/* line 198, sass/partials/_jquery_ui.scss */
|
2309 |
|
2310 |
+
.cmbre2-element .ui-icon-battery-0 {
|
2311 |
background-position: -48px -176px;
|
2312 |
}
|
2313 |
|
2314 |
/* line 199, sass/partials/_jquery_ui.scss */
|
2315 |
|
2316 |
+
.cmbre2-element .ui-icon-battery-1 {
|
2317 |
background-position: -64px -176px;
|
2318 |
}
|
2319 |
|
2320 |
/* line 200, sass/partials/_jquery_ui.scss */
|
2321 |
|
2322 |
+
.cmbre2-element .ui-icon-battery-2 {
|
2323 |
background-position: -80px -176px;
|
2324 |
}
|
2325 |
|
2326 |
/* line 201, sass/partials/_jquery_ui.scss */
|
2327 |
|
2328 |
+
.cmbre2-element .ui-icon-battery-3 {
|
2329 |
background-position: -96px -176px;
|
2330 |
}
|
2331 |
|
2332 |
/* line 202, sass/partials/_jquery_ui.scss */
|
2333 |
|
2334 |
+
.cmbre2-element .ui-icon-circle-plus {
|
2335 |
background-position: 0 -192px;
|
2336 |
}
|
2337 |
|
2338 |
/* line 203, sass/partials/_jquery_ui.scss */
|
2339 |
|
2340 |
+
.cmbre2-element .ui-icon-circle-minus {
|
2341 |
background-position: -16px -192px;
|
2342 |
}
|
2343 |
|
2344 |
/* line 204, sass/partials/_jquery_ui.scss */
|
2345 |
|
2346 |
+
.cmbre2-element .ui-icon-circle-close {
|
2347 |
background-position: -32px -192px;
|
2348 |
}
|
2349 |
|
2350 |
/* line 205, sass/partials/_jquery_ui.scss */
|
2351 |
|
2352 |
+
.cmbre2-element .ui-icon-circle-triangle-e {
|
2353 |
background-position: -48px -192px;
|
2354 |
}
|
2355 |
|
2356 |
/* line 206, sass/partials/_jquery_ui.scss */
|
2357 |
|
2358 |
+
.cmbre2-element .ui-icon-circle-triangle-s {
|
2359 |
background-position: -64px -192px;
|
2360 |
}
|
2361 |
|
2362 |
/* line 207, sass/partials/_jquery_ui.scss */
|
2363 |
|
2364 |
+
.cmbre2-element .ui-icon-circle-triangle-w {
|
2365 |
background-position: -80px -192px;
|
2366 |
}
|
2367 |
|
2368 |
/* line 208, sass/partials/_jquery_ui.scss */
|
2369 |
|
2370 |
+
.cmbre2-element .ui-icon-circle-triangle-n {
|
2371 |
background-position: -96px -192px;
|
2372 |
}
|
2373 |
|
2374 |
/* line 209, sass/partials/_jquery_ui.scss */
|
2375 |
|
2376 |
+
.cmbre2-element .ui-icon-circle-arrow-e {
|
2377 |
background-position: -112px -192px;
|
2378 |
}
|
2379 |
|
2380 |
/* line 210, sass/partials/_jquery_ui.scss */
|
2381 |
|
2382 |
+
.cmbre2-element .ui-icon-circle-arrow-s {
|
2383 |
background-position: -128px -192px;
|
2384 |
}
|
2385 |
|
2386 |
/* line 211, sass/partials/_jquery_ui.scss */
|
2387 |
|
2388 |
+
.cmbre2-element .ui-icon-circle-arrow-w {
|
2389 |
background-position: -144px -192px;
|
2390 |
}
|
2391 |
|
2392 |
/* line 212, sass/partials/_jquery_ui.scss */
|
2393 |
|
2394 |
+
.cmbre2-element .ui-icon-circle-arrow-n {
|
2395 |
background-position: -160px -192px;
|
2396 |
}
|
2397 |
|
2398 |
/* line 213, sass/partials/_jquery_ui.scss */
|
2399 |
|
2400 |
+
.cmbre2-element .ui-icon-circle-zoomin {
|
2401 |
background-position: -176px -192px;
|
2402 |
}
|
2403 |
|
2404 |
/* line 214, sass/partials/_jquery_ui.scss */
|
2405 |
|
2406 |
+
.cmbre2-element .ui-icon-circle-zoomout {
|
2407 |
background-position: -192px -192px;
|
2408 |
}
|
2409 |
|
2410 |
/* line 215, sass/partials/_jquery_ui.scss */
|
2411 |
|
2412 |
+
.cmbre2-element .ui-icon-circle-check {
|
2413 |
background-position: -208px -192px;
|
2414 |
}
|
2415 |
|
2416 |
/* line 216, sass/partials/_jquery_ui.scss */
|
2417 |
|
2418 |
+
.cmbre2-element .ui-icon-circlesmall-plus {
|
2419 |
background-position: 0 -208px;
|
2420 |
}
|
2421 |
|
2422 |
/* line 217, sass/partials/_jquery_ui.scss */
|
2423 |
|
2424 |
+
.cmbre2-element .ui-icon-circlesmall-minus {
|
2425 |
background-position: -16px -208px;
|
2426 |
}
|
2427 |
|
2428 |
/* line 218, sass/partials/_jquery_ui.scss */
|
2429 |
|
2430 |
+
.cmbre2-element .ui-icon-circlesmall-close {
|
2431 |
background-position: -32px -208px;
|
2432 |
}
|
2433 |
|
2434 |
/* line 219, sass/partials/_jquery_ui.scss */
|
2435 |
|
2436 |
+
.cmbre2-element .ui-icon-squaresmall-plus {
|
2437 |
background-position: -48px -208px;
|
2438 |
}
|
2439 |
|
2440 |
/* line 220, sass/partials/_jquery_ui.scss */
|
2441 |
|
2442 |
+
.cmbre2-element .ui-icon-squaresmall-minus {
|
2443 |
background-position: -64px -208px;
|
2444 |
}
|
2445 |
|
2446 |
/* line 221, sass/partials/_jquery_ui.scss */
|
2447 |
|
2448 |
+
.cmbre2-element .ui-icon-squaresmall-close {
|
2449 |
background-position: -80px -208px;
|
2450 |
}
|
2451 |
|
2452 |
/* line 222, sass/partials/_jquery_ui.scss */
|
2453 |
|
2454 |
+
.cmbre2-element .ui-icon-grip-dotted-vertical {
|
2455 |
background-position: 0 -224px;
|
2456 |
}
|
2457 |
|
2458 |
/* line 223, sass/partials/_jquery_ui.scss */
|
2459 |
|
2460 |
+
.cmbre2-element .ui-icon-grip-dotted-horizontal {
|
2461 |
background-position: -16px -224px;
|
2462 |
}
|
2463 |
|
2464 |
/* line 224, sass/partials/_jquery_ui.scss */
|
2465 |
|
2466 |
+
.cmbre2-element .ui-icon-grip-solid-vertical {
|
2467 |
background-position: -32px -224px;
|
2468 |
}
|
2469 |
|
2470 |
/* line 225, sass/partials/_jquery_ui.scss */
|
2471 |
|
2472 |
+
.cmbre2-element .ui-icon-grip-solid-horizontal {
|
2473 |
background-position: -48px -224px;
|
2474 |
}
|
2475 |
|
2476 |
/* line 226, sass/partials/_jquery_ui.scss */
|
2477 |
|
2478 |
+
.cmbre2-element .ui-icon-gripsmall-diagonal-se {
|
2479 |
background-position: -64px -224px;
|
2480 |
}
|
2481 |
|
2482 |
/* line 227, sass/partials/_jquery_ui.scss */
|
2483 |
|
2484 |
+
.cmbre2-element .ui-icon-grip-diagonal-se {
|
2485 |
background-position: -80px -224px;
|
2486 |
}
|
2487 |
|
2488 |
/* line 228, sass/partials/_jquery_ui.scss */
|
2489 |
|
2490 |
+
.cmbre2-element .ui-corner-all,
|
2491 |
+
.cmbre2-element .ui-corner-top,
|
2492 |
+
.cmbre2-element .ui-corner-left,
|
2493 |
+
.cmbre2-element .ui-corner-tl {
|
2494 |
-moz-border-radius-topleft: 4px;
|
2495 |
-webkit-border-top-left-radius: 4px;
|
2496 |
-khtml-border-top-left-radius: 4px;
|
2499 |
|
2500 |
/* line 229, sass/partials/_jquery_ui.scss */
|
2501 |
|
2502 |
+
.cmbre2-element .ui-corner-all,
|
2503 |
+
.cmbre2-element .ui-corner-top,
|
2504 |
+
.cmbre2-element .ui-corner-right,
|
2505 |
+
.cmbre2-element .ui-corner-tr {
|
2506 |
-moz-border-radius-topright: 4px;
|
2507 |
-webkit-border-top-right-radius: 4px;
|
2508 |
-khtml-border-top-right-radius: 4px;
|
2511 |
|
2512 |
/* line 230, sass/partials/_jquery_ui.scss */
|
2513 |
|
2514 |
+
.cmbre2-element .ui-corner-all,
|
2515 |
+
.cmbre2-element .ui-corner-bottom,
|
2516 |
+
.cmbre2-element .ui-corner-left,
|
2517 |
+
.cmbre2-element .ui-corner-bl {
|
2518 |
-moz-border-radius-bottomleft: 4px;
|
2519 |
-webkit-border-bottom-left-radius: 4px;
|
2520 |
-khtml-border-bottom-left-radius: 4px;
|
2523 |
|
2524 |
/* line 231, sass/partials/_jquery_ui.scss */
|
2525 |
|
2526 |
+
.cmbre2-element .ui-corner-all,
|
2527 |
+
.cmbre2-element .ui-corner-bottom,
|
2528 |
+
.cmbre2-element .ui-corner-right,
|
2529 |
+
.cmbre2-element .ui-corner-br {
|
2530 |
-moz-border-radius-bottomright: 4px;
|
2531 |
-webkit-border-bottom-right-radius: 4px;
|
2532 |
-khtml-border-bottom-right-radius: 4px;
|
2535 |
|
2536 |
/* line 232, sass/partials/_jquery_ui.scss */
|
2537 |
|
2538 |
+
.cmbre2-element .ui-widget-overlay {
|
2539 |
background: #aaaaaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
|
2540 |
opacity: .30;
|
2541 |
filter: Alpha(Opacity=30);
|
2543 |
|
2544 |
/* line 233, sass/partials/_jquery_ui.scss */
|
2545 |
|
2546 |
+
.cmbre2-element .ui-widget-shadow {
|
2547 |
margin: -8px 0 0 -8px;
|
2548 |
padding: 8px;
|
2549 |
background: #aaaaaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
|
2557 |
|
2558 |
/* line 234, sass/partials/_jquery_ui.scss */
|
2559 |
|
2560 |
+
.cmbre2-element .ui-datepicker {
|
2561 |
width: 17em;
|
2562 |
padding: .2em .2em 0;
|
2563 |
display: none;
|
2565 |
|
2566 |
/* line 235, sass/partials/_jquery_ui.scss */
|
2567 |
|
2568 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-header {
|
2569 |
position: relative;
|
2570 |
padding: .2em 0;
|
2571 |
}
|
2572 |
|
2573 |
/* line 236, sass/partials/_jquery_ui.scss */
|
2574 |
|
2575 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-prev,
|
2576 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-next {
|
2577 |
position: absolute;
|
2578 |
top: 2px;
|
2579 |
width: 1.8em;
|
2582 |
|
2583 |
/* line 237, sass/partials/_jquery_ui.scss */
|
2584 |
|
2585 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-prev-hover,
|
2586 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-next-hover {
|
2587 |
top: 1px;
|
2588 |
}
|
2589 |
|
2590 |
/* line 238, sass/partials/_jquery_ui.scss */
|
2591 |
|
2592 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-prev {
|
2593 |
left: 2px;
|
2594 |
}
|
2595 |
|
2596 |
/* line 239, sass/partials/_jquery_ui.scss */
|
2597 |
|
2598 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-next {
|
2599 |
right: 2px;
|
2600 |
}
|
2601 |
|
2602 |
/* line 240, sass/partials/_jquery_ui.scss */
|
2603 |
|
2604 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-prev-hover {
|
2605 |
left: 1px;
|
2606 |
}
|
2607 |
|
2608 |
/* line 241, sass/partials/_jquery_ui.scss */
|
2609 |
|
2610 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-next-hover {
|
2611 |
right: 1px;
|
2612 |
}
|
2613 |
|
2614 |
/* line 242, sass/partials/_jquery_ui.scss */
|
2615 |
|
2616 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-prev span,
|
2617 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-next span {
|
2618 |
display: block;
|
2619 |
position: absolute;
|
2620 |
left: 50%;
|
2625 |
|
2626 |
/* line 243, sass/partials/_jquery_ui.scss */
|
2627 |
|
2628 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-title {
|
2629 |
margin: 0 2.3em;
|
2630 |
line-height: 1.8em;
|
2631 |
text-align: center;
|
2633 |
|
2634 |
/* line 244, sass/partials/_jquery_ui.scss */
|
2635 |
|
2636 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-title select {
|
2637 |
font-size: 1em;
|
2638 |
margin: 1px 0;
|
2639 |
}
|
2640 |
|
2641 |
/* line 245, sass/partials/_jquery_ui.scss */
|
2642 |
|
2643 |
+
.cmbre2-element .ui-datepicker select.ui-datepicker-month-year {
|
2644 |
width: 100%;
|
2645 |
}
|
2646 |
|
2647 |
/* line 246, sass/partials/_jquery_ui.scss */
|
2648 |
|
2649 |
+
.cmbre2-element .ui-datepicker select.ui-datepicker-month,
|
2650 |
+
.cmbre2-element .ui-datepicker select.ui-datepicker-year {
|
2651 |
width: 49%;
|
2652 |
}
|
2653 |
|
2654 |
/* line 248, sass/partials/_jquery_ui.scss */
|
2655 |
|
2656 |
+
.cmbre2-element .ui-datepicker select.ui-datepicker-month {
|
2657 |
margin-right: 1%;
|
2658 |
}
|
2659 |
|
2660 |
/* line 249, sass/partials/_jquery_ui.scss */
|
2661 |
|
2662 |
+
.cmbre2-element .ui-datepicker select.ui-datepicker-year {
|
2663 |
margin-left: 1%;
|
2664 |
}
|
2665 |
|
2666 |
/* line 250, sass/partials/_jquery_ui.scss */
|
2667 |
|
2668 |
+
.cmbre2-element .ui-datepicker table {
|
2669 |
width: 100%;
|
2670 |
font-size: .9em;
|
2671 |
border-collapse: collapse;
|
2674 |
|
2675 |
/* line 251, sass/partials/_jquery_ui.scss */
|
2676 |
|
2677 |
+
.cmbre2-element .ui-datepicker th {
|
2678 |
padding: .7em .3em;
|
2679 |
text-align: center;
|
2680 |
font-weight: bold;
|
2683 |
|
2684 |
/* line 252, sass/partials/_jquery_ui.scss */
|
2685 |
|
2686 |
+
.cmbre2-element .ui-datepicker td {
|
2687 |
border: 0;
|
2688 |
padding: 1px;
|
2689 |
}
|
2690 |
|
2691 |
/* line 253, sass/partials/_jquery_ui.scss */
|
2692 |
|
2693 |
+
.cmbre2-element .ui-datepicker td span,
|
2694 |
+
.cmbre2-element .ui-datepicker td a {
|
2695 |
display: block;
|
2696 |
padding: .2em;
|
2697 |
text-align: right;
|
2700 |
|
2701 |
/* line 254, sass/partials/_jquery_ui.scss */
|
2702 |
|
2703 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-buttonpane {
|
2704 |
background-image: none;
|
2705 |
margin: .7em 0 0 0;
|
2706 |
padding: 0 .2em;
|
2711 |
|
2712 |
/* line 255, sass/partials/_jquery_ui.scss */
|
2713 |
|
2714 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-buttonpane button {
|
2715 |
float: right;
|
2716 |
margin: .5em .2em .4em;
|
2717 |
cursor: pointer;
|
2722 |
|
2723 |
/* line 256, sass/partials/_jquery_ui.scss */
|
2724 |
|
2725 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
|
2726 |
float: left;
|
2727 |
}
|
2728 |
|
2729 |
/* line 257, sass/partials/_jquery_ui.scss */
|
2730 |
|
2731 |
+
.cmbre2-element .ui-datepicker.ui-datepicker-multi {
|
2732 |
width: auto;
|
2733 |
}
|
2734 |
|
2735 |
/* line 258, sass/partials/_jquery_ui.scss */
|
2736 |
|
2737 |
+
.cmbre2-element .ui-datepicker-multi .ui-datepicker-group {
|
2738 |
float: left;
|
2739 |
}
|
2740 |
|
2741 |
/* line 259, sass/partials/_jquery_ui.scss */
|
2742 |
|
2743 |
+
.cmbre2-element .ui-datepicker-multi .ui-datepicker-group table {
|
2744 |
width: 95%;
|
2745 |
margin: 0 auto .4em;
|
2746 |
}
|
2747 |
|
2748 |
/* line 260, sass/partials/_jquery_ui.scss */
|
2749 |
|
2750 |
+
.cmbre2-element .ui-datepicker-multi-2 .ui-datepicker-group {
|
2751 |
width: 50%;
|
2752 |
}
|
2753 |
|
2754 |
/* line 261, sass/partials/_jquery_ui.scss */
|
2755 |
|
2756 |
+
.cmbre2-element .ui-datepicker-multi-3 .ui-datepicker-group {
|
2757 |
width: 33.3%;
|
2758 |
}
|
2759 |
|
2760 |
/* line 262, sass/partials/_jquery_ui.scss */
|
2761 |
|
2762 |
+
.cmbre2-element .ui-datepicker-multi-4 .ui-datepicker-group {
|
2763 |
width: 25%;
|
2764 |
}
|
2765 |
|
2766 |
/* line 263, sass/partials/_jquery_ui.scss */
|
2767 |
|
2768 |
+
.cmbre2-element .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header {
|
2769 |
border-left-width: 0;
|
2770 |
}
|
2771 |
|
2772 |
/* line 264, sass/partials/_jquery_ui.scss */
|
2773 |
|
2774 |
+
.cmbre2-element .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
|
2775 |
border-left-width: 0;
|
2776 |
}
|
2777 |
|
2778 |
/* line 265, sass/partials/_jquery_ui.scss */
|
2779 |
|
2780 |
+
.cmbre2-element .ui-datepicker-multi .ui-datepicker-buttonpane {
|
2781 |
clear: left;
|
2782 |
}
|
2783 |
|
2784 |
/* line 266, sass/partials/_jquery_ui.scss */
|
2785 |
|
2786 |
+
.cmbre2-element .ui-datepicker-row-break {
|
2787 |
clear: both;
|
2788 |
width: 100%;
|
2789 |
font-size: 0em;
|
2791 |
|
2792 |
/* line 267, sass/partials/_jquery_ui.scss */
|
2793 |
|
2794 |
+
.cmbre2-element .ui-datepicker-rtl {
|
2795 |
direction: rtl;
|
2796 |
}
|
2797 |
|
2798 |
/* line 269, sass/partials/_jquery_ui.scss */
|
2799 |
|
2800 |
+
.cmbre2-element .ui-datepicker-rtl .ui-datepicker-prev {
|
2801 |
right: 2px;
|
2802 |
left: auto;
|
2803 |
}
|
2804 |
|
2805 |
/* line 270, sass/partials/_jquery_ui.scss */
|
2806 |
|
2807 |
+
.cmbre2-element .ui-datepicker-rtl .ui-datepicker-next {
|
2808 |
left: 2px;
|
2809 |
right: auto;
|
2810 |
}
|
2811 |
|
2812 |
/* line 271, sass/partials/_jquery_ui.scss */
|
2813 |
|
2814 |
+
.cmbre2-element .ui-datepicker-rtl .ui-datepicker-prev:hover {
|
2815 |
right: 1px;
|
2816 |
left: auto;
|
2817 |
}
|
2818 |
|
2819 |
/* line 272, sass/partials/_jquery_ui.scss */
|
2820 |
|
2821 |
+
.cmbre2-element .ui-datepicker-rtl .ui-datepicker-next:hover {
|
2822 |
left: 1px;
|
2823 |
right: auto;
|
2824 |
}
|
2825 |
|
2826 |
/* line 273, sass/partials/_jquery_ui.scss */
|
2827 |
|
2828 |
+
.cmbre2-element .ui-datepicker-rtl .ui-datepicker-buttonpane {
|
2829 |
clear: right;
|
2830 |
}
|
2831 |
|
2832 |
/* line 274, sass/partials/_jquery_ui.scss */
|
2833 |
|
2834 |
+
.cmbre2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button {
|
2835 |
float: left;
|
2836 |
}
|
2837 |
|
2838 |
/* line 275, sass/partials/_jquery_ui.scss */
|
2839 |
|
2840 |
+
.cmbre2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current {
|
2841 |
float: right;
|
2842 |
}
|
2843 |
|
2844 |
/* line 276, sass/partials/_jquery_ui.scss */
|
2845 |
|
2846 |
+
.cmbre2-element .ui-datepicker-rtl .ui-datepicker-group {
|
2847 |
float: right;
|
2848 |
}
|
2849 |
|
2850 |
/* line 277, sass/partials/_jquery_ui.scss */
|
2851 |
|
2852 |
+
.cmbre2-element .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header {
|
2853 |
border-right-width: 0;
|
2854 |
border-left-width: 1px;
|
2855 |
}
|
2856 |
|
2857 |
/* line 278, sass/partials/_jquery_ui.scss */
|
2858 |
|
2859 |
+
.cmbre2-element .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
|
2860 |
border-right-width: 0;
|
2861 |
border-left-width: 1px;
|
2862 |
}
|
2863 |
|
2864 |
/* line 280, sass/partials/_jquery_ui.scss */
|
2865 |
|
2866 |
+
.cmbre2-element .ui-datepicker-cover {
|
2867 |
display: none; /*sorry for IE5*/
|
2868 |
display/**/: block; /*sorry for IE5*/
|
2869 |
position: absolute; /*must have*/
|
2877 |
|
2878 |
/* line 292, sass/partials/_jquery_ui.scss */
|
2879 |
|
2880 |
+
.cmbre2-element .ui-datepicker {
|
2881 |
padding: 0;
|
2882 |
border: 1px solid #ddd;
|
2883 |
-webkit-border-radius: 0;
|
2887 |
|
2888 |
/* line 293, sass/partials/_jquery_ui.scss */
|
2889 |
|
2890 |
+
.cmbre2-element .ui-datepicker * {
|
2891 |
padding: 0;
|
2892 |
font-family: "Open Sans", sans-serif;
|
2893 |
-webkit-border-radius: 0;
|
2897 |
|
2898 |
/* line 294, sass/partials/_jquery_ui.scss */
|
2899 |
|
2900 |
+
.cmbre2-element .ui-datepicker table {
|
2901 |
font-size: 13px;
|
2902 |
margin: 0;
|
2903 |
}
|
2904 |
|
2905 |
/* line 295, sass/partials/_jquery_ui.scss */
|
2906 |
|
2907 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-header {
|
2908 |
border: none;
|
2909 |
background: #222;
|
2910 |
color: #fff;
|
2913 |
|
2914 |
/* line 296, sass/partials/_jquery_ui.scss */
|
2915 |
|
2916 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-header .ui-state-hover {
|
2917 |
background: #222;
|
2918 |
border-color: transparent;
|
2919 |
cursor: pointer;
|
2924 |
|
2925 |
/* line 297, sass/partials/_jquery_ui.scss */
|
2926 |
|
2927 |
+
.cmbre2-element .ui-datepicker thead {
|
2928 |
background: #222;
|
2929 |
color: #fff;
|
2930 |
}
|
2931 |
|
2932 |
/* line 298, sass/partials/_jquery_ui.scss */
|
2933 |
|
2934 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-title {
|
2935 |
margin-top: .4em;
|
2936 |
margin-bottom: .3em;
|
2937 |
color: #fff;
|
2940 |
|
2941 |
/* line 299, sass/partials/_jquery_ui.scss */
|
2942 |
|
2943 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-prev-hover,
|
2944 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-next-hover,
|
2945 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-next,
|
2946 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-prev {
|
2947 |
height: 1em;
|
2948 |
top: .9em;
|
2949 |
border: none;
|
2951 |
|
2952 |
/* line 300, sass/partials/_jquery_ui.scss */
|
2953 |
|
2954 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-prev-hover {
|
2955 |
left: 2px;
|
2956 |
}
|
2957 |
|
2958 |
/* line 301, sass/partials/_jquery_ui.scss */
|
2959 |
|
2960 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-next-hover {
|
2961 |
right: 2px;
|
2962 |
}
|
2963 |
|
2964 |
/* line 302, sass/partials/_jquery_ui.scss */
|
2965 |
|
2966 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-next span,
|
2967 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-prev span {
|
2968 |
background-image: url("data:image/png;base64,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");
|
2969 |
background-position: -32px 0;
|
2970 |
margin-top: 0;
|
2974 |
|
2975 |
/* line 303, sass/partials/_jquery_ui.scss */
|
2976 |
|
2977 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-prev span {
|
2978 |
background-position: -96px 0;
|
2979 |
}
|
2980 |
|
2981 |
/* line 304, sass/partials/_jquery_ui.scss */
|
2982 |
|
2983 |
+
.cmbre2-element .ui-datepicker th {
|
2984 |
padding: 0.75em 0;
|
2985 |
color: #fff;
|
2986 |
font-weight: normal;
|
2990 |
|
2991 |
/* line 305, sass/partials/_jquery_ui.scss */
|
2992 |
|
2993 |
+
.cmbre2-element .ui-datepicker td {
|
2994 |
background: #f1f1f1;
|
2995 |
border: none;
|
2996 |
padding: 0;
|
2998 |
|
2999 |
/* line 306, sass/partials/_jquery_ui.scss */
|
3000 |
|
3001 |
+
.cmbre2-element .ui-datepicker td .ui-state-default {
|
3002 |
background: transparent;
|
3003 |
border: none;
|
3004 |
text-align: center;
|
3010 |
|
3011 |
/* line 307, sass/partials/_jquery_ui.scss */
|
3012 |
|
3013 |
+
.cmbre2-element .ui-datepicker td .ui-state-active,
|
3014 |
+
.cmbre2-element .ui-datepicker td .ui-state-hover {
|
3015 |
background: #0074a2;
|
3016 |
color: #fff;
|
3017 |
}
|
3018 |
|
3019 |
/* line 308, sass/partials/_jquery_ui.scss */
|
3020 |
|
3021 |
+
.cmbre2-element .ui-datepicker td.ui-state-disabled,
|
3022 |
+
.cmbre2-element .ui-datepicker td.ui-state-disabled .ui-state-default {
|
3023 |
opacity: 1;
|
3024 |
color: #999;
|
3025 |
}
|
3026 |
|
3027 |
/* line 309, sass/partials/_jquery_ui.scss */
|
3028 |
|
3029 |
+
.cmbre2-element .ui-datepicker {
|
3030 |
background: #f1f1f1;
|
3031 |
}
|
3032 |
|
3033 |
/* line 310, sass/partials/_jquery_ui.scss */
|
3034 |
|
3035 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-close,
|
3036 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-current {
|
3037 |
font-size: 14px;
|
3038 |
font-weight: normal;
|
3039 |
background-image: none;
|
3042 |
|
3043 |
/* line 311, sass/partials/_jquery_ui.scss */
|
3044 |
|
3045 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-current:hover,
|
3046 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-current:active,
|
3047 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-close:hover,
|
3048 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-close:active {
|
3049 |
background: #096484;
|
3050 |
color: #fff;
|
3051 |
}
|
3052 |
|
3053 |
/* line 312, sass/partials/_jquery_ui.scss */
|
3054 |
|
3055 |
+
.cmbre2-element .ui-datepicker .ui-datepicker-buttonpane {
|
3056 |
border: none;
|
3057 |
}
|
3058 |
|
3059 |
/* line 313, sass/partials/_jquery_ui.scss */
|
3060 |
|
3061 |
+
.cmbre2-element .ui-timepicker-div {
|
3062 |
font-size: 14px;
|
3063 |
}
|
3064 |
|
3065 |
/* line 314, sass/partials/_jquery_ui.scss */
|
3066 |
|
3067 |
+
.cmbre2-element .ui-timepicker-div .ui-widget-header {
|
3068 |
margin-bottom: 8px;
|
3069 |
background: #222;
|
3070 |
border-color: #222;
|
3072 |
|
3073 |
/* line 315, sass/partials/_jquery_ui.scss */
|
3074 |
|
3075 |
+
.cmbre2-element .ui-timepicker-div dl {
|
3076 |
text-align: left;
|
3077 |
}
|
3078 |
|
3079 |
/* line 316, sass/partials/_jquery_ui.scss */
|
3080 |
|
3081 |
+
.cmbre2-element .ui-timepicker-div dl dt {
|
3082 |
float: left;
|
3083 |
clear: left;
|
3084 |
padding: 0 0 0 5px;
|
3086 |
|
3087 |
/* line 317, sass/partials/_jquery_ui.scss */
|
3088 |
|
3089 |
+
.cmbre2-element .ui-timepicker-div dl dd {
|
3090 |
margin: 0 10px 10px 40%;
|
3091 |
}
|
3092 |
|
3093 |
/* line 318, sass/partials/_jquery_ui.scss */
|
3094 |
|
3095 |
+
.cmbre2-element .ui-tpicker-grid-label {
|
3096 |
background: none;
|
3097 |
border: none;
|
3098 |
margin: 0;
|
3101 |
|
3102 |
/* line 319, sass/partials/_jquery_ui.scss */
|
3103 |
|
3104 |
+
.cmbre2-element .ui-timepicker-rtl {
|
3105 |
direction: rtl;
|
3106 |
}
|
3107 |
|
3108 |
/* line 320, sass/partials/_jquery_ui.scss */
|
3109 |
|
3110 |
+
.cmbre2-element .ui-timepicker-rtl dl {
|
3111 |
text-align: right;
|
3112 |
padding: 0 5px 0 0;
|
3113 |
}
|
3114 |
|
3115 |
/* line 321, sass/partials/_jquery_ui.scss */
|
3116 |
|
3117 |
+
.cmbre2-element .ui-timepicker-rtl dl dt {
|
3118 |
float: right;
|
3119 |
clear: right;
|
3120 |
}
|
3121 |
|
3122 |
/* line 322, sass/partials/_jquery_ui.scss */
|
3123 |
|
3124 |
+
.cmbre2-element .ui-timepicker-rtl dl dd {
|
3125 |
margin: 0 40% 10px 10px;
|
3126 |
}
|
3127 |
|
3128 |
/* line 326, sass/partials/_jquery_ui.scss */
|
3129 |
|
3130 |
+
.admin-color-blue .cmbre2-element .ui-datepicker .ui-datepicker-header,
|
3131 |
+
.admin-color-blue .cmbre2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
|
3132 |
+
.admin-color-blue .cmbre2-element .ui-datepicker thead,
|
3133 |
+
.admin-color-blue .cmbre2-element .ui-timepicker-div .ui-widget-header {
|
3134 |
background: #4796b3;
|
3135 |
}
|
3136 |
|
3137 |
/* line 327, sass/partials/_jquery_ui.scss */
|
3138 |
|
3139 |
+
.admin-color-blue .cmbre2-element .ui-timepicker-div .ui-widget-header {
|
3140 |
border-color: #4796b3;
|
3141 |
}
|
3142 |
|
3143 |
/* line 328, sass/partials/_jquery_ui.scss */
|
3144 |
|
3145 |
+
.admin-color-blue .cmbre2-element .ui-datepicker th {
|
3146 |
border-color: #52accc;
|
3147 |
}
|
3148 |
|
3149 |
/* line 329, sass/partials/_jquery_ui.scss */
|
3150 |
|
3151 |
+
.admin-color-blue .cmbre2-element .ui-datepicker td .ui-state-active,
|
3152 |
+
.admin-color-blue .cmbre2-element .ui-datepicker td .ui-state-hover {
|
3153 |
background: #096484;
|
3154 |
}
|
3155 |
|
3156 |
/* line 330, sass/partials/_jquery_ui.scss */
|
3157 |
|
3158 |
+
.admin-color-blue .cmbre2-element .ui-datepicker .ui-datepicker-current:hover,
|
3159 |
+
.admin-color-blue .cmbre2-element .ui-datepicker .ui-datepicker-current:active,
|
3160 |
+
.admin-color-blue .cmbre2-element .ui-datepicker .ui-datepicker-close:hover,
|
3161 |
+
.admin-color-blue .cmbre2-element .ui-datepicker .ui-datepicker-close:active {
|
3162 |
background: #096484;
|
3163 |
color: #fff;
|
3164 |
}
|
3165 |
|
3166 |
/* line 335, sass/partials/_jquery_ui.scss */
|
3167 |
|
3168 |
+
.admin-color-coffee .cmbre2-element .ui-datepicker .ui-datepicker-header,
|
3169 |
+
.admin-color-coffee .cmbre2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
|
3170 |
+
.admin-color-coffee .cmbre2-element .ui-datepicker thead,
|
3171 |
+
.admin-color-coffee .cmbre2-element .ui-timepicker-div .ui-widget-header {
|
3172 |
background: #46403c;
|
3173 |
}
|
3174 |
|
3175 |
/* line 336, sass/partials/_jquery_ui.scss */
|
3176 |
|
3177 |
+
.admin-color-coffee .cmbre2-element .ui-datepicker th {
|
3178 |
border-color: #59524c;
|
3179 |
}
|
3180 |
|
3181 |
/* line 337, sass/partials/_jquery_ui.scss */
|
3182 |
|
3183 |
+
.admin-color-coffee .cmbre2-element .ui-datepicker td .ui-state-active,
|
3184 |
+
.admin-color-coffee .cmbre2-element .ui-datepicker td .ui-state-hover {
|
3185 |
background: #c7a589;
|
3186 |
}
|
3187 |
|
3188 |
/* line 338, sass/partials/_jquery_ui.scss */
|
3189 |
|
3190 |
+
.admin-color-coffee .cmbre2-element .ui-datepicker .ui-datepicker-current:hover,
|
3191 |
+
.admin-color-coffee .cmbre2-element .ui-datepicker .ui-datepicker-current:active,
|
3192 |
+
.admin-color-coffee .cmbre2-element .ui-datepicker .ui-datepicker-close:hover,
|
3193 |
+
.admin-color-coffee .cmbre2-element .ui-datepicker .ui-datepicker-close:active {
|
3194 |
background: #c7a589;
|
3195 |
color: #fff;
|
3196 |
}
|
3197 |
|
3198 |
/* line 343, sass/partials/_jquery_ui.scss */
|
3199 |
|
3200 |
+
.admin-color-ectoplasm .cmbre2-element .ui-datepicker .ui-datepicker-header,
|
3201 |
+
.admin-color-ectoplasm .cmbre2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
|
3202 |
+
.admin-color-ectoplasm .cmbre2-element .ui-datepicker thead,
|
3203 |
+
.admin-color-ectoplasm .cmbre2-element .ui-timepicker-div .ui-widget-header {
|
3204 |
background: #413256;
|
3205 |
}
|
3206 |
|
3207 |
/* line 344, sass/partials/_jquery_ui.scss */
|
3208 |
|
3209 |
+
.admin-color-ectoplasm .cmbre2-element .ui-timepicker-div .ui-widget-header {
|
3210 |
border-color: #413256;
|
3211 |
}
|
3212 |
|
3213 |
/* line 345, sass/partials/_jquery_ui.scss */
|
3214 |
|
3215 |
+
.admin-color-ectoplasm .cmbre2-element .ui-datepicker th {
|
3216 |
border-color: #523f6d;
|
3217 |
}
|
3218 |
|
3219 |
/* line 346, sass/partials/_jquery_ui.scss */
|
3220 |
|
3221 |
+
.admin-color-ectoplasm .cmbre2-element .ui-datepicker td .ui-state-active,
|
3222 |
+
.admin-color-ectoplasm .cmbre2-element .ui-datepicker td .ui-state-hover {
|
3223 |
background: #a3b745;
|
3224 |
}
|
3225 |
|
3226 |
/* line 347, sass/partials/_jquery_ui.scss */
|
3227 |
|
3228 |
+
.admin-color-ectoplasm .cmbre2-element .ui-datepicker .ui-datepicker-current:hover,
|
3229 |
+
.admin-color-ectoplasm .cmbre2-element .ui-datepicker .ui-datepicker-current:active,
|
3230 |
+
.admin-color-ectoplasm .cmbre2-element .ui-datepicker .ui-datepicker-close:hover,
|
3231 |
+
.admin-color-ectoplasm .cmbre2-element .ui-datepicker .ui-datepicker-close:active {
|
3232 |
background: #a3b745;
|
3233 |
color: #fff;
|
3234 |
}
|
3235 |
|
3236 |
/* line 352, sass/partials/_jquery_ui.scss */
|
3237 |
|
3238 |
+
.admin-color-midnight .cmbre2-element .ui-datepicker .ui-datepicker-header,
|
3239 |
+
.admin-color-midnight .cmbre2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
|
3240 |
+
.admin-color-midnight .cmbre2-element .ui-datepicker thead,
|
3241 |
+
.admin-color-midnight .cmbre2-element .ui-timepicker-div .ui-widget-header {
|
3242 |
background: #26292c;
|
3243 |
}
|
3244 |
|
3245 |
/* line 353, sass/partials/_jquery_ui.scss */
|
3246 |
|
3247 |
+
.admin-color-midnight .cmbre2-element .ui-datepicker th {
|
3248 |
border-color: #363b3f;
|
3249 |
}
|
3250 |
|
3251 |
/* line 354, sass/partials/_jquery_ui.scss */
|
3252 |
|
3253 |
+
.admin-color-midnight .cmbre2-element .ui-datepicker td .ui-state-active,
|
3254 |
+
.admin-color-midnight .cmbre2-element .ui-datepicker td .ui-state-hover {
|
3255 |
background: #e14d43;
|
3256 |
}
|
3257 |
|
3258 |
/* line 355, sass/partials/_jquery_ui.scss */
|
3259 |
|
3260 |
+
.admin-color-midnight .cmbre2-element .ui-datepicker .ui-datepicker-current:hover,
|
3261 |
+
.admin-color-midnight .cmbre2-element .ui-datepicker .ui-datepicker-current:active,
|
3262 |
+
.admin-color-midnight .cmbre2-element .ui-datepicker .ui-datepicker-close:hover,
|
3263 |
+
.admin-color-midnight .cmbre2-element .ui-datepicker .ui-datepicker-close:active {
|
3264 |
background: #e14d43;
|
3265 |
color: #fff;
|
3266 |
}
|
3267 |
|
3268 |
/* line 360, sass/partials/_jquery_ui.scss */
|
3269 |
|
3270 |
+
.admin-color-ocean .cmbre2-element .ui-datepicker .ui-datepicker-header,
|
3271 |
+
.admin-color-ocean .cmbre2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
|
3272 |
+
.admin-color-ocean .cmbre2-element .ui-datepicker thead,
|
3273 |
+
.admin-color-ocean .cmbre2-element .ui-timepicker-div .ui-widget-header {
|
3274 |
background: #627c83;
|
3275 |
}
|
3276 |
|
3277 |
/* line 361, sass/partials/_jquery_ui.scss */
|
3278 |
|
3279 |
+
.admin-color-ocean .cmbre2-element .ui-timepicker-div .ui-widget-header {
|
3280 |
border-color: #627c83;
|
3281 |
}
|
3282 |
|
3283 |
/* line 362, sass/partials/_jquery_ui.scss */
|
3284 |
|
3285 |
+
.admin-color-ocean .cmbre2-element .ui-datepicker th {
|
3286 |
border-color: #738e96;
|
3287 |
}
|
3288 |
|
3289 |
/* line 363, sass/partials/_jquery_ui.scss */
|
3290 |
|
3291 |
+
.admin-color-ocean .cmbre2-element .ui-datepicker td .ui-state-active,
|
3292 |
+
.admin-color-ocean .cmbre2-element .ui-datepicker td .ui-state-hover {
|
3293 |
background: #9ebaa0;
|
3294 |
}
|
3295 |
|
3296 |
/* line 364, sass/partials/_jquery_ui.scss */
|
3297 |
|
3298 |
+
.admin-color-ocean .cmbre2-element .ui-datepicker .ui-datepicker-current:hover,
|
3299 |
+
.admin-color-ocean .cmbre2-element .ui-datepicker .ui-datepicker-current:active,
|
3300 |
+
.admin-color-ocean .cmbre2-element .ui-datepicker .ui-datepicker-close:hover,
|
3301 |
+
.admin-color-ocean .cmbre2-element .ui-datepicker .ui-datepicker-close:active {
|
3302 |
background: #9ebaa0;
|
3303 |
color: #fff;
|
3304 |
}
|
3305 |
|
3306 |
/* line 369, sass/partials/_jquery_ui.scss */
|
3307 |
|
3308 |
+
.admin-color-sunrise .cmbre2-element .ui-datepicker .ui-datepicker-header,
|
3309 |
+
.admin-color-sunrise .cmbre2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
|
3310 |
+
.admin-color-sunrise .cmbre2-element .ui-datepicker thead,
|
3311 |
+
.admin-color-sunrise .cmbre2-element .ui-timepicker-div .ui-widget-header {
|
3312 |
background: #be3631;
|
3313 |
}
|
3314 |
|
3315 |
/* line 370, sass/partials/_jquery_ui.scss */
|
3316 |
|
3317 |
+
.admin-color-sunrise .cmbre2-element .ui-timepicker-div .ui-widget-header {
|
3318 |
border-color: #be3631;
|
3319 |
}
|
3320 |
|
3321 |
/* line 371, sass/partials/_jquery_ui.scss */
|
3322 |
|
3323 |
+
.admin-color-sunrise .cmbre2-element .ui-datepicker th {
|
3324 |
border-color: #cf4944;
|
3325 |
}
|
3326 |
|
3327 |
/* line 372, sass/partials/_jquery_ui.scss */
|
3328 |
|
3329 |
+
.admin-color-sunrise .cmbre2-element .ui-datepicker td .ui-state-active,
|
3330 |
+
.admin-color-sunrise .cmbre2-element .ui-datepicker td .ui-state-hover {
|
3331 |
background: #dd823b;
|
3332 |
}
|
3333 |
|
3334 |
/* line 373, sass/partials/_jquery_ui.scss */
|
3335 |
|
3336 |
+
.admin-color-sunrise .cmbre2-element .ui-datepicker .ui-datepicker-current:hover,
|
3337 |
+
.admin-color-sunrise .cmbre2-element .ui-datepicker .ui-datepicker-current:active,
|
3338 |
+
.admin-color-sunrise .cmbre2-element .ui-datepicker .ui-datepicker-close:hover,
|
3339 |
+
.admin-color-sunrise .cmbre2-element .ui-datepicker .ui-datepicker-close:active {
|
3340 |
background: #dd823b;
|
3341 |
color: #fff;
|
3342 |
}
|
3343 |
|
3344 |
/* line 378, sass/partials/_jquery_ui.scss */
|
3345 |
|
3346 |
+
.admin-color-light .cmbre2-element .ui-datepicker .ui-datepicker-header,
|
3347 |
+
.admin-color-light .cmbre2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
|
3348 |
+
.admin-color-light .cmbre2-element .ui-datepicker thead,
|
3349 |
+
.admin-color-light .cmbre2-element .ui-timepicker-div .ui-widget-header,
|
3350 |
+
.admin-color-light .cmbre2-element .ui-timepicker-div .ui-widget-header {
|
3351 |
background: #e5e5e5;
|
3352 |
}
|
3353 |
|
3354 |
/* line 379, sass/partials/_jquery_ui.scss */
|
3355 |
|
3356 |
+
.admin-color-light .cmbre2-element .ui-timepicker-div .ui-widget-header {
|
3357 |
border-color: #e5e5e5;
|
3358 |
}
|
3359 |
|
3360 |
/* line 380, sass/partials/_jquery_ui.scss */
|
3361 |
|
3362 |
+
.admin-color-light .cmbre2-element .ui-datepicker td,
|
3363 |
+
.admin-color-light .cmbre2-element .ui-datepicker {
|
3364 |
background: #fff;
|
3365 |
}
|
3366 |
|
3367 |
/* line 381, sass/partials/_jquery_ui.scss */
|
3368 |
|
3369 |
+
.admin-color-light .cmbre2-element .ui-datepicker .ui-datepicker-next span,
|
3370 |
+
.admin-color-light .cmbre2-element .ui-datepicker .ui-datepicker-prev span {
|
3371 |
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAYAAADvl7rLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMUIxRjI2RjhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMUIxRjI3MDhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjExQjFGMjZEOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjExQjFGMjZFOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+kKfR4AAAHcRJREFUeNrsXWuM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");
|
3372 |
}
|
3373 |
|
3374 |
/* line 382, sass/partials/_jquery_ui.scss */
|
3375 |
|
3376 |
+
.admin-color-light .cmbre2-element .ui-datepicker th {
|
3377 |
border-color: #fff;
|
3378 |
}
|
3379 |
|
3380 |
/* line 383, sass/partials/_jquery_ui.scss */
|
3381 |
|
3382 |
+
.admin-color-light .cmbre2-element .ui-datepicker .ui-datepicker-title,
|
3383 |
+
.admin-color-light .cmbre2-element .ui-datepicker td .ui-state-default,
|
3384 |
+
.admin-color-light .cmbre2-element .ui-datepicker th,
|
3385 |
+
.admin-color-light .cmbre2-element .ui-timepicker-div .ui-widget-header {
|
3386 |
color: #555;
|
3387 |
}
|
3388 |
|
3389 |
/* line 384, sass/partials/_jquery_ui.scss */
|
3390 |
|
3391 |
+
.admin-color-light .cmbre2-element .ui-datepicker td .ui-state-active,
|
3392 |
+
.admin-color-light .cmbre2-element .ui-datepicker td .ui-state-hover,
|
3393 |
+
.admin-color-light .cmbre2-element .ui-datepicker .ui-datepicker-current:hover,
|
3394 |
+
.admin-color-light .cmbre2-element .ui-datepicker .ui-datepicker-current:active,
|
3395 |
+
.admin-color-light .cmbre2-element .ui-datepicker .ui-datepicker-close:hover,
|
3396 |
+
.admin-color-light .cmbre2-element .ui-datepicker .ui-datepicker-close:active {
|
3397 |
color: #fff;
|
3398 |
background: #888;
|
3399 |
}
|
3400 |
|
3401 |
/* line 385, sass/partials/_jquery_ui.scss */
|
3402 |
|
3403 |
+
.admin-color-light .cmbre2-element .ui-datepicker td.ui-state-disabled,
|
3404 |
+
.admin-color-light .cmbre2-element .ui-datepicker td.ui-state-disabled .ui-state-default {
|
3405 |
color: #ccc;
|
3406 |
}
|
3407 |
|
3408 |
+
/*# sourceMappingURL=cmbre2.css.map */
|
3409 |
|
3410 |
@media (max-width: 450px) {
|
3411 |
|
cmbre2/css/cmbre2.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.cmbre2-wrap{margin:0}.cmbre2-wrap input,.cmbre2-wrap textarea{font-size:14px;max-width:100%;padding:5px}.cmbre2-wrap input[type=text].cmbre2-oembed{width:100%}.cmbre2-wrap textarea{width:500px}.cmbre2-wrap textarea.cmbre2-textarea-code{font-family:"Courier 10 Pitch",Courier,monospace;line-height:16px}.cmbre2-wrap input.cmbre2-text-small,.cmbre2-wrap input.cmbre2-timepicker{width:100px}.cmbre2-wrap input.cmbre2-text-money{width:90px}.cmbre2-wrap input.cmbre2-text-medium{width:230px}.cmbre2-wrap input.cmbre2-upload-file{width:65%}.cmbre2-wrap input.ed_button{padding:2px 4px}.cmbre2-wrap input:not([type=hidden])+.button,.cmbre2-wrap input:not([type=hidden])+input,.cmbre2-wrap input:not([type=hidden])+select{margin-left:20px}.cmbre2-wrap ul{margin:0}.cmbre2-wrap li{font-size:14px;line-height:16px;margin:1px 0 5px}.cmbre2-wrap select{font-size:14px;margin-top:3px}.cmbre2-wrap input:focus,.cmbre2-wrap textarea:focus{background:#fffff8}.cmbre2-wrap input[type=checkbox],.cmbre2-wrap input[type=radio]{margin:0 5px 0 0;padding:0}.cmbre2-wrap .button,.cmbre2-wrap button{white-space:nowrap}.cmbre2-wrap .mceLayout{border:1px solid #e9e9e9!important}.cmbre2-wrap .mceIframeContainer{background:#fff}.cmbre2-wrap .meta_mce{width:97%}.cmbre2-wrap .meta_mce textarea{width:100%}.cmbre2-wrap .wp-color-result,.cmbre2-wrap .wp-picker-input-wrap{vertical-align:middle}.cmbre2-wrap .wp-color-result,.cmbre2-wrap .wp-picker-container{margin:0 10px 0 0}.cmbre2-wrap .cmb-row{margin:0}.cmbre2-wrap .cmb-row:after{content:'';clear:both;display:block;width:100%}.cmbre2-wrap .cmb-row.cmb-repeat-row{padding:1.8em 0 0}.cmbre2-wrap .cmb-row.cmb-repeat-row:first-of-type{padding:0}.cmbre2-wrap .cmb-row.cmb-repeat .cmbre2-metabox-description{padding-top:0;padding-bottom:1.8em}.cmbre2-metabox{clear:both;margin:0}.cmbre2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-td,.cmbre2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-th,.cmbre2-metabox>.cmb-row:first-of-type>.cmb-td,.cmbre2-metabox>.cmb-row:first-of-type>.cmb-th{border:0}.cmbre2-metabox>.cmb-row .cmb-repeat-table .cmb-row>.cmb-td{padding-right:20px;box-sizing:border-box;float:left}.cmb-add-row{margin:1.8em 0 0}.cmb-nested .cmb-td,.cmb-repeatable-group .cmb-th,.cmb-repeatable-group:first-of-type{border:0}.cmb-repeatable-group:last-of-type,.cmb-row:last-of-type,.cmbre2-wrap .cmb-row:last-of-type{border-bottom:0}.cmb-repeatable-grouping{border:1px solid #e9e9e9;padding:0 1em;max-width:1000px}.cmb-repeatable-grouping.cmb-row{margin:0 0 .8em}.cmb-th{color:#222;float:left;font-weight:600;line-height:1.3;padding:20px 10px 20px 0;vertical-align:top;width:200px}.cmb-td{line-height:1.3;max-width:100%;padding:15px 10px;vertical-align:middle}.cmb-type-title .cmb-td{padding:0}.cmb-th label{display:block;padding:5px 0}.cmb-th+.cmb-td{float:left}.cmb-td .cmb-td{padding-bottom:1em}.cmb-remove-row{text-align:right}.empty-row.hidden{display:none}.cmb-repeatable-group .cmb-th{padding:5px}.cmb-repeatable-group .cmb-group-title{background-color:#e9e9e9;padding:8px 12px 8px 2.2em;margin:0 -1em;min-height:1.5em;font-size:14px;line-height:1.4}.cmb-repeatable-group .cmb-group-title h4{border:0;margin:0;font-size:1.2em;font-weight:500;padding:.5em .75em}.cmb-repeatable-group .cmb-group-title .cmb-th{display:block;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:left;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th label{display:block;margin-top:0;padding-bottom:5px}.cmb-repeatable-group .cmb-group-description .cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}.cmb-repeatable-group .cmb-shift-rows{font-size:1em;margin-right:1em;text-decoration:none}.cmb-repeatable-group .cmb-shift-rows .dashicons{font-size:1.5em;height:1.5em;line-height:1.2em;width:1em}.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2{line-height:1.3em}.cmb-repeatable-group .cmbre2-upload-button{float:right}p.cmbre2-metabox-description{color:#aaa;font-style:italic;margin:0;padding-top:.5em}span.cmbre2-metabox-description{color:#aaa;font-style:italic}.cmbre2-metabox-title{margin:0 0 5px;padding:5px 0 0;font-size:14px}.cmb-inline ul{padding:4px 0 0}.cmb-inline li{display:inline-block;padding-right:18px}.cmb-type-textarea-code pre{margin:0}.cmbre2-media-status .img-status{clear:none;display:inline-block;float:left;margin-right:10px;width:auto}.cmbre2-media-status .img-status img{max-width:350px}.cmbre2-media-status .embed-status,.cmbre2-media-status .img-status img{background:#fff;border:1px solid #e9e9e9;border-radius:2px;-moz-border-radius:2px;margin:15px 0 0;padding:5px}.cmbre2-media-status .embed-status{float:left;max-width:800px}.cmbre2-media-status .embed-status,.cmbre2-media-status .img-status{position:relative}.cmbre2-media-status .embed-status .cmbre2-remove-file-button,.cmbre2-media-status .img-status .cmbre2-remove-file-button{background:url(../images/ico-delete.png);height:16px;left:-5px;position:absolute;text-indent:-9999px;top:-5px;width:16px}.cmbre2-media-status .img-status .cmbre2-remove-file-button{top:10px}.cmbre2-media-status .file-status>span,.cmbre2-media-status .img-status img{cursor:pointer}.cmb-type-file-list .cmbre2-media-status .img-status{clear:none;float:left;margin-right:10px;width:auto}.cmb-attach-list li{clear:both;display:inline-block;margin-bottom:25px;width:100%}.cmb-attach-list li img{cursor:move;float:left;margin-right:10px}.cmbre2-remove-wrapper{margin:0}.child-cmbre2 .cmb-th{text-align:left}#poststuff .cmb-group-title{margin-left:-1em;margin-right:-1em;padding-left:2.2em;min-height:1.5em}.cmb-repeat-group-wrap .cmbre2-wrap,.postbox-container .cmbre2-wrap{margin:0}.cmb-repeat-group-wrap .cmbre2-wrap>.cmb-field-list>.cmb-row,.postbox-container .cmbre2-wrap>.cmb-field-list>.cmb-row{padding:1.8em 0}.cmb-repeat-group-wrap .cmbre2-wrap input[type=text].cmbre2-oembed,.postbox-container .cmbre2-wrap input[type=text].cmbre2-oembed{width:100%}.cmb-repeat-group-wrap .cmb-row,.postbox-container .cmb-row{padding:0;margin:0 0 .8em}.cmb-repeat-group-wrap .cmb-row .cmbhandle,.postbox-container .cmb-row .cmbhandle{right:-1em;position:relative}.cmb-repeat-group-wrap .cmb-repeatable-grouping,.postbox-container .cmb-repeatable-grouping{padding:0 1em;max-width:100%;min-width:1px!important}.cmb-repeat-group-wrap .cmb-repeatable-group>.cmb-row,.postbox-container .cmb-repeatable-group>.cmb-row{padding-bottom:0}.cmb-repeat-group-wrap .cmb-th,.postbox-container .cmb-th{width:18%;padding:0 2% 0 0}.cmb-repeat-group-wrap .cmb-td,.postbox-container .cmb-td{margin-bottom:0;padding:0;line-height:1.3}.cmb-repeat-group-wrap .cmb-repeat-row .cmb-td,.postbox-container .cmb-repeat-row .cmb-td{padding-bottom:1.8em}.cmb-repeat-group-wrap .cmb-th+.cmb-td,.postbox-container .cmb-th+.cmb-td{width:80%;float:right}.cmb-repeat-group-wrap .cmb-repeatable-group:not(:last-of-type),.cmb-repeat-group-wrap .cmb-row:not(:last-of-type),.postbox-container .cmb-repeatable-group:not(:last-of-type),.postbox-container .cmb-row:not(:last-of-type){border-bottom:1px solid #e9e9e9}.cmb-repeat-group-wrap .cmb-remove-field-row,.cmb-repeat-group-wrap .cmb-repeat-group-field,.postbox-container .cmb-remove-field-row,.postbox-container .cmb-repeat-group-field{padding-top:1.8em}.cmb-repeat-group-wrap .cmbre2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.cmb-repeat-group-wrap .cmbre2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.postbox-container .cmbre2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.postbox-container .cmbre2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody{display:table;width:100%}.cmb-repeat-group-wrap .cmbre2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.cmb-repeat-group-wrap .cmbre2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.postbox-container .cmbre2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.postbox-container .cmbre2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text{width:100%}.cmb-repeat-group-wrap .cmbre2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.cmb-repeat-group-wrap .cmbre2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.postbox-container .cmbre2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.postbox-container .cmbre2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row){display:table-row}.cmb-repeat-group-wrap .cmbre2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.cmb-repeat-group-wrap .cmbre2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.postbox-container .cmbre2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.postbox-container .cmbre2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td{display:table-cell;float:none;width:100%}.cmb-repeat-group-wrap .cmbre2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.cmb-repeat-group-wrap .cmbre2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.postbox-container .cmbre2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.postbox-container .cmbre2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td{padding-top:1.8em}.cmb-repeat-group-wrap .cmbre2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.cmb-repeat-group-wrap .cmbre2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.postbox-container .cmbre2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.postbox-container .cmbre2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row{padding-right:0}#poststuff .cmb-repeatable-group h2{margin:0}.edit-tags-php .cmbre2-metabox-title,.profile-php .cmbre2-metabox-title,.user-edit-php .cmbre2-metabox-title{font-size:1.4em}.cmbre2-options-page .cmbre2-metabox-title{font-size:1.3em;margin:1em 0}.cmbre2-options-page .cmbre2-metabox-title+p.cmbre2-metabox-description{margin-top:-1.6em;margin-bottom:.8em}.postbox .cmb-spinner{float:left}#side-sortables .cmbre2-wrap>.cmb-field-list>.cmb-row,.inner-sidebar .cmbre2-wrap>.cmb-field-list>.cmb-row{padding:1.4em 0}#side-sortables .cmbre2-wrap input[type=text]:not(.wp-color-picker),.inner-sidebar .cmbre2-wrap input[type=text]:not(.wp-color-picker){width:100%}#side-sortables .cmbre2-wrap input+input:not(.wp-picker-clear),#side-sortables .cmbre2-wrap input+select,.inner-sidebar .cmbre2-wrap input+input:not(.wp-picker-clear),.inner-sidebar .cmbre2-wrap input+select{margin-left:0;margin-top:1em;display:block}#side-sortables .cmbre2-wrap input.cmbre2-text-money,.inner-sidebar .cmbre2-wrap input.cmbre2-text-money{max-width:70%}#side-sortables .cmbre2-wrap input.cmbre2-text-money+.cmbre2-metabox-description,.inner-sidebar .cmbre2-wrap input.cmbre2-text-money+.cmbre2-metabox-description{display:block}#side-sortables .cmbre2-wrap label,.inner-sidebar .cmbre2-wrap label{display:block;font-weight:700;padding:0 0 5px}#side-sortables textarea,.inner-sidebar textarea{max-width:99%}#side-sortables .cmb-repeatable-group,.inner-sidebar .cmb-repeatable-group{border-bottom:1px solid #e9e9e9}#side-sortables .cmb-repeat-group-wrap>.cmb-td>.cmb-repeatable-group,.inner-sidebar .cmb-repeat-group-wrap>.cmb-td>.cmb-repeatable-group{border-bottom:0;margin-bottom:-1.4em}#side-sortables .cmb-td,#side-sortables .cmb-th,#side-sortables .cmb-th+.cmb-td,.inner-sidebar .cmb-td,.inner-sidebar .cmb-th,.inner-sidebar .cmb-th+.cmb-td{width:100%;display:block;float:none}#side-sortables .closed .inside,.inner-sidebar .closed .inside{display:none}#side-sortables .cmb-td .cmb-td,.inner-sidebar .cmb-td .cmb-td{padding-bottom:1em}#side-sortables .cmb-th,.inner-sidebar .cmb-th{display:block;float:none;padding-bottom:1em;text-align:left;width:100%;padding-left:0;padding-right:0}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{display:block;margin-top:0;padding-bottom:5px}#side-sortables .cmb-th label:after,.inner-sidebar .cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{font-size:14px;line-height:1.4em}#side-sortables .cmb-group-description .cmb-th,.inner-sidebar .cmb-group-description .cmb-th{padding-top:0}#side-sortables .cmb-group-description .cmbre2-metabox-description,#side-sortables .cmb-group-title .cmb-th,.inner-sidebar .cmb-group-description .cmbre2-metabox-description,.inner-sidebar .cmb-group-title .cmb-th{padding:0}#side-sortables .cmb-repeatable-grouping+.cmb-repeatable-grouping,.inner-sidebar .cmb-repeatable-grouping+.cmb-repeatable-grouping{margin-top:1em}#side-sortables .cmbre2-media-status .embed-status img,#side-sortables .cmbre2-media-status .img-status img,.inner-sidebar .cmbre2-media-status .embed-status img,.inner-sidebar .cmbre2-media-status .img-status img{max-width:90%;height:auto}#side-sortables .cmbre2-list label,.inner-sidebar .cmbre2-list label{display:inline;font-weight:400}#side-sortables .cmbre2-metabox-description,.inner-sidebar .cmbre2-metabox-description{display:block;padding:7px 0 0}#side-sortables .cmb-type-checkbox .cmb-td label,#side-sortables .cmb-type-checkbox .cmbre2-metabox-description,.inner-sidebar .cmb-type-checkbox .cmb-td label,.inner-sidebar .cmb-type-checkbox .cmbre2-metabox-description{font-weight:400;display:inline}#side-sortables .cmb-row .cmbre2-metabox-description,.inner-sidebar .cmb-row .cmbre2-metabox-description{padding-bottom:1.8em}#side-sortables .cmbre2-metabox-title,.inner-sidebar .cmbre2-metabox-title{font-size:1.2em;font-style:italic}#side-sortables .cmb-remove-row,.inner-sidebar .cmb-remove-row{clear:both;padding-top:12px;padding-bottom:0}#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td,.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td{width:auto;clear:none;float:left;padding-top:0}#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row,.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row{float:right;margin:0}#side-sortables .cmbre2-upload-button,.inner-sidebar .cmbre2-upload-button{clear:both;margin-top:12px}.cmbre2-metabox .cmb-repeat-group-wrap{max-width:1000px}.cmbre2-metabox .cmbhandle{color:#aaa;float:right;width:27px;height:30px;cursor:pointer;right:-1em;position:relative}.cmbre2-metabox .cmbhandle:before{content:'\f142';right:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.cmbre2-metabox .postbox.closed .cmbhandle:before{content:'\f140'}.cmbre2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row{-webkit-appearance:none!important;background:none!important;border:none!important;position:absolute;left:0;top:.5em;line-height:1em;cursor:pointer}.cmbre2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]){color:#a00}.cmbre2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover{color:red}.cmbre2-element .ui-helper-hidden{display:none}.cmbre2-element .ui-helper-hidden-accessible{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.cmbre2-element .ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.cmbre2-element .ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.cmbre2-element * html .ui-helper-clearfix{height:1%}.cmbre2-element .ui-helper-clearfix{display:block}.cmbre2-element .ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.cmbre2-element .ui-state-disabled{cursor:default!important}.cmbre2-element .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.cmbre2-element .ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.cmbre2-element .ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.cmbre2-element .ui-widget .ui-widget{font-size:1em}.cmbre2-element .ui-widget button,.cmbre2-element .ui-widget input,.cmbre2-element .ui-widget select,.cmbre2-element .ui-widget textarea{font-family:Verdana,Arial,sans-serif;font-size:1em}.cmbre2-element .ui-widget-content{border:1px solid #aaa;background:#fff url(../images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222}.cmbre2-element .ui-widget-content a{color:#222}.cmbre2-element .ui-widget-header{border:1px solid #aaa;background:#ccc url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222;font-weight:700}.cmbre2-element .ui-widget-header a{color:#222}.cmbre2-element .ui-state-default,.cmbre2-element .ui-widget-content .ui-state-default,.cmbre2-element .ui-widget-header .ui-state-default{border:1px solid #d3d3d3;font-weight:400;color:#555}.cmbre2-element .ui-state-default a,.cmbre2-element .ui-state-default a:link,.cmbre2-element .ui-state-default a:visited{color:#555;text-decoration:none}.cmbre2-element .ui-state-focus,.cmbre2-element .ui-state-hover,.cmbre2-element .ui-widget-content .ui-state-focus,.cmbre2-element .ui-widget-content .ui-state-hover,.cmbre2-element .ui-widget-header .ui-state-focus,.cmbre2-element .ui-widget-header .ui-state-hover{border:1px solid #999;background:#dadada url(../images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:400;color:#212121}.cmbre2-element .ui-state-hover a,.cmbre2-element .ui-state-hover a:hover{color:#212121;text-decoration:none}.cmbre2-element .ui-state-active,.cmbre2-element .ui-widget-content .ui-state-active,.cmbre2-element .ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff url(../images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:400;color:#212121}.cmbre2-element .ui-state-active a,.cmbre2-element .ui-state-active a:link,.cmbre2-element .ui-state-active a:visited{color:#212121;text-decoration:none}.cmbre2-element .ui-widget :active{outline:0}.cmbre2-element .ui-state-highlight,.cmbre2-element .ui-widget-content .ui-state-highlight,.cmbre2-element .ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url(../images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636}.cmbre2-element .ui-state-highlight a,.cmbre2-element .ui-widget-content .ui-state-highlight a,.cmbre2-element .ui-widget-header .ui-state-highlight a{color:#363636}.cmbre2-element .ui-state-error,.cmbre2-element .ui-widget-content .ui-state-error,.cmbre2-element .ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(../images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a}.cmbre2-element .ui-state-error a,.cmbre2-element .ui-state-error-text,.cmbre2-element .ui-widget-content .ui-state-error a,.cmbre2-element .ui-widget-content .ui-state-error-text,.cmbre2-element .ui-widget-header .ui-state-error a,.cmbre2-element .ui-widget-header .ui-state-error-text{color:#cd0a0a}.cmbre2-element .ui-priority-primary,.cmbre2-element .ui-widget-content .ui-priority-primary,.cmbre2-element .ui-widget-header .ui-priority-primary{font-weight:700}.cmbre2-element .ui-priority-secondary,.cmbre2-element .ui-widget-content .ui-priority-secondary,.cmbre2-element .ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.cmbre2-element .ui-state-disabled,.cmbre2-element .ui-widget-content .ui-state-disabled,.cmbre2-element .ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.cmbre2-element .ui-icon{width:16px;height:16px;background-image:url(../images/ui-icons_222222_256x240.png)}.cmbre2-element .ui-widget-content .ui-icon,.cmbre2-element .ui-widget-header .ui-icon{background-image:url(../images/ui-icons_222222_256x240.png)}.cmbre2-element .ui-state-default .ui-icon{background-image:url(../images/ui-icons_888888_256x240.png)}.cmbre2-element .ui-state-active .ui-icon,.cmbre2-element .ui-state-focus .ui-icon,.cmbre2-element .ui-state-hover .ui-icon{background-image:url(../images/ui-icons_454545_256x240.png)}.cmbre2-element .ui-state-highlight .ui-icon{background-image:url(../images/ui-icons_2e83ff_256x240.png)}.cmbre2-element .ui-state-error .ui-icon,.cmbre2-element .ui-state-error-text .ui-icon{background-image:url(../images/ui-icons_cd0a0a_256x240.png)}.cmbre2-element .ui-icon-carat-1-n{background-position:0 0}.cmbre2-element .ui-icon-carat-1-ne{background-position:-16px 0}.cmbre2-element .ui-icon-carat-1-e{background-position:-32px 0}.cmbre2-element .ui-icon-carat-1-se{background-position:-48px 0}.cmbre2-element .ui-icon-carat-1-s{background-position:-64px 0}.cmbre2-element .ui-icon-carat-1-sw{background-position:-80px 0}.cmbre2-element .ui-icon-carat-1-w{background-position:-96px 0}.cmbre2-element .ui-icon-carat-1-nw{background-position:-112px 0}.cmbre2-element .ui-icon-carat-2-n-s{background-position:-128px 0}.cmbre2-element .ui-icon-carat-2-e-w{background-position:-144px 0}.cmbre2-element .ui-icon-triangle-1-n{background-position:0 -16px}.cmbre2-element .ui-icon-triangle-1-ne{background-position:-16px -16px}.cmbre2-element .ui-icon-triangle-1-e{background-position:-32px -16px}.cmbre2-element .ui-icon-triangle-1-se{background-position:-48px -16px}.cmbre2-element .ui-icon-triangle-1-s{background-position:-64px -16px}.cmbre2-element .ui-icon-triangle-1-sw{background-position:-80px -16px}.cmbre2-element .ui-icon-triangle-1-w{background-position:-96px -16px}.cmbre2-element .ui-icon-triangle-1-nw{background-position:-112px -16px}.cmbre2-element .ui-icon-triangle-2-n-s{background-position:-128px -16px}.cmbre2-element .ui-icon-triangle-2-e-w{background-position:-144px -16px}.cmbre2-element .ui-icon-arrow-1-n{background-position:0 -32px}.cmbre2-element .ui-icon-arrow-1-ne{background-position:-16px -32px}.cmbre2-element .ui-icon-arrow-1-e{background-position:-32px -32px}.cmbre2-element .ui-icon-arrow-1-se{background-position:-48px -32px}.cmbre2-element .ui-icon-arrow-1-s{background-position:-64px -32px}.cmbre2-element .ui-icon-arrow-1-sw{background-position:-80px -32px}.cmbre2-element .ui-icon-arrow-1-w{background-position:-96px -32px}.cmbre2-element .ui-icon-arrow-1-nw{background-position:-112px -32px}.cmbre2-element .ui-icon-arrow-2-n-s{background-position:-128px -32px}.cmbre2-element .ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.cmbre2-element .ui-icon-arrow-2-e-w{background-position:-160px -32px}.cmbre2-element .ui-icon-arrow-2-se-nw{background-position:-176px -32px}.cmbre2-element .ui-icon-arrowstop-1-n{background-position:-192px -32px}.cmbre2-element .ui-icon-arrowstop-1-e{background-position:-208px -32px}.cmbre2-element .ui-icon-arrowstop-1-s{background-position:-224px -32px}.cmbre2-element .ui-icon-arrowstop-1-w{background-position:-240px -32px}.cmbre2-element .ui-icon-arrowthick-1-n{background-position:0 -48px}.cmbre2-element .ui-icon-arrowthick-1-ne{background-position:-16px -48px}.cmbre2-element .ui-icon-arrowthick-1-e{background-position:-32px -48px}.cmbre2-element .ui-icon-arrowthick-1-se{background-position:-48px -48px}.cmbre2-element .ui-icon-arrowthick-1-s{background-position:-64px -48px}.cmbre2-element .ui-icon-arrowthick-1-sw{background-position:-80px -48px}.cmbre2-element .ui-icon-arrowthick-1-w{background-position:-96px -48px}.cmbre2-element .ui-icon-arrowthick-1-nw{background-position:-112px -48px}.cmbre2-element .ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.cmbre2-element .ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.cmbre2-element .ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.cmbre2-element .ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.cmbre2-element .ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.cmbre2-element .ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.cmbre2-element .ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.cmbre2-element .ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.cmbre2-element .ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.cmbre2-element .ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.cmbre2-element .ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.cmbre2-element .ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.cmbre2-element .ui-icon-arrowreturn-1-w{background-position:-64px -64px}.cmbre2-element .ui-icon-arrowreturn-1-n{background-position:-80px -64px}.cmbre2-element .ui-icon-arrowreturn-1-e{background-position:-96px -64px}.cmbre2-element .ui-icon-arrowreturn-1-s{background-position:-112px -64px}.cmbre2-element .ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.cmbre2-element .ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.cmbre2-element .ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.cmbre2-element .ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.cmbre2-element .ui-icon-arrow-4{background-position:0 -80px}.cmbre2-element .ui-icon-arrow-4-diag{background-position:-16px -80px}.cmbre2-element .ui-icon-extlink{background-position:-32px -80px}.cmbre2-element .ui-icon-newwin{background-position:-48px -80px}.cmbre2-element .ui-icon-refresh{background-position:-64px -80px}.cmbre2-element .ui-icon-shuffle{background-position:-80px -80px}.cmbre2-element .ui-icon-transfer-e-w{background-position:-96px -80px}.cmbre2-element .ui-icon-transferthick-e-w{background-position:-112px -80px}.cmbre2-element .ui-icon-folder-collapsed{background-position:0 -96px}.cmbre2-element .ui-icon-folder-open{background-position:-16px -96px}.cmbre2-element .ui-icon-document{background-position:-32px -96px}.cmbre2-element .ui-icon-document-b{background-position:-48px -96px}.cmbre2-element .ui-icon-note{background-position:-64px -96px}.cmbre2-element .ui-icon-mail-closed{background-position:-80px -96px}.cmbre2-element .ui-icon-mail-open{background-position:-96px -96px}.cmbre2-element .ui-icon-suitcase{background-position:-112px -96px}.cmbre2-element .ui-icon-comment{background-position:-128px -96px}.cmbre2-element .ui-icon-person{background-position:-144px -96px}.cmbre2-element .ui-icon-print{background-position:-160px -96px}.cmbre2-element .ui-icon-trash{background-position:-176px -96px}.cmbre2-element .ui-icon-locked{background-position:-192px -96px}.cmbre2-element .ui-icon-unlocked{background-position:-208px -96px}.cmbre2-element .ui-icon-bookmark{background-position:-224px -96px}.cmbre2-element .ui-icon-tag{background-position:-240px -96px}.cmbre2-element .ui-icon-home{background-position:0 -112px}.cmbre2-element .ui-icon-flag{background-position:-16px -112px}.cmbre2-element .ui-icon-calendar{background-position:-32px -112px}.cmbre2-element .ui-icon-cart{background-position:-48px -112px}.cmbre2-element .ui-icon-pencil{background-position:-64px -112px}.cmbre2-element .ui-icon-clock{background-position:-80px -112px}.cmbre2-element .ui-icon-disk{background-position:-96px -112px}.cmbre2-element .ui-icon-calculator{background-position:-112px -112px}.cmbre2-element .ui-icon-zoomin{background-position:-128px -112px}.cmbre2-element .ui-icon-zoomout{background-position:-144px -112px}.cmbre2-element .ui-icon-search{background-position:-160px -112px}.cmbre2-element .ui-icon-wrench{background-position:-176px -112px}.cmbre2-element .ui-icon-gear{background-position:-192px -112px}.cmbre2-element .ui-icon-heart{background-position:-208px -112px}.cmbre2-element .ui-icon-star{background-position:-224px -112px}.cmbre2-element .ui-icon-link{background-position:-240px -112px}.cmbre2-element .ui-icon-cancel{background-position:0 -128px}.cmbre2-element .ui-icon-plus{background-position:-16px -128px}.cmbre2-element .ui-icon-plusthick{background-position:-32px -128px}.cmbre2-element .ui-icon-minus{background-position:-48px -128px}.cmbre2-element .ui-icon-minusthick{background-position:-64px -128px}.cmbre2-element .ui-icon-close{background-position:-80px -128px}.cmbre2-element .ui-icon-closethick{background-position:-96px -128px}.cmbre2-element .ui-icon-key{background-position:-112px -128px}.cmbre2-element .ui-icon-lightbulb{background-position:-128px -128px}.cmbre2-element .ui-icon-scissors{background-position:-144px -128px}.cmbre2-element .ui-icon-clipboard{background-position:-160px -128px}.cmbre2-element .ui-icon-copy{background-position:-176px -128px}.cmbre2-element .ui-icon-contact{background-position:-192px -128px}.cmbre2-element .ui-icon-image{background-position:-208px -128px}.cmbre2-element .ui-icon-video{background-position:-224px -128px}.cmbre2-element .ui-icon-script{background-position:-240px -128px}.cmbre2-element .ui-icon-alert{background-position:0 -144px}.cmbre2-element .ui-icon-info{background-position:-16px -144px}.cmbre2-element .ui-icon-notice{background-position:-32px -144px}.cmbre2-element .ui-icon-help{background-position:-48px -144px}.cmbre2-element .ui-icon-check{background-position:-64px -144px}.cmbre2-element .ui-icon-bullet{background-position:-80px -144px}.cmbre2-element .ui-icon-radio-off{background-position:-96px -144px}.cmbre2-element .ui-icon-radio-on{background-position:-112px -144px}.cmbre2-element .ui-icon-pin-w{background-position:-128px -144px}.cmbre2-element .ui-icon-pin-s{background-position:-144px -144px}.cmbre2-element .ui-icon-play{background-position:0 -160px}.cmbre2-element .ui-icon-pause{background-position:-16px -160px}.cmbre2-element .ui-icon-seek-next{background-position:-32px -160px}.cmbre2-element .ui-icon-seek-prev{background-position:-48px -160px}.cmbre2-element .ui-icon-seek-end{background-position:-64px -160px}.cmbre2-element .ui-icon-seek-first,.cmbre2-element .ui-icon-seek-start{background-position:-80px -160px}.cmbre2-element .ui-icon-stop{background-position:-96px -160px}.cmbre2-element .ui-icon-eject{background-position:-112px -160px}.cmbre2-element .ui-icon-volume-off{background-position:-128px -160px}.cmbre2-element .ui-icon-volume-on{background-position:-144px -160px}.cmbre2-element .ui-icon-power{background-position:0 -176px}.cmbre2-element .ui-icon-signal-diag{background-position:-16px -176px}.cmbre2-element .ui-icon-signal{background-position:-32px -176px}.cmbre2-element .ui-icon-battery-0{background-position:-48px -176px}.cmbre2-element .ui-icon-battery-1{background-position:-64px -176px}.cmbre2-element .ui-icon-battery-2{background-position:-80px -176px}.cmbre2-element .ui-icon-battery-3{background-position:-96px -176px}.cmbre2-element .ui-icon-circle-plus{background-position:0 -192px}.cmbre2-element .ui-icon-circle-minus{background-position:-16px -192px}.cmbre2-element .ui-icon-circle-close{background-position:-32px -192px}.cmbre2-element .ui-icon-circle-triangle-e{background-position:-48px -192px}.cmbre2-element .ui-icon-circle-triangle-s{background-position:-64px -192px}.cmbre2-element .ui-icon-circle-triangle-w{background-position:-80px -192px}.cmbre2-element .ui-icon-circle-triangle-n{background-position:-96px -192px}.cmbre2-element .ui-icon-circle-arrow-e{background-position:-112px -192px}.cmbre2-element .ui-icon-circle-arrow-s{background-position:-128px -192px}.cmbre2-element .ui-icon-circle-arrow-w{background-position:-144px -192px}.cmbre2-element .ui-icon-circle-arrow-n{background-position:-160px -192px}.cmbre2-element .ui-icon-circle-zoomin{background-position:-176px -192px}.cmbre2-element .ui-icon-circle-zoomout{background-position:-192px -192px}.cmbre2-element .ui-icon-circle-check{background-position:-208px -192px}.cmbre2-element .ui-icon-circlesmall-plus{background-position:0 -208px}.cmbre2-element .ui-icon-circlesmall-minus{background-position:-16px -208px}.cmbre2-element .ui-icon-circlesmall-close{background-position:-32px -208px}.cmbre2-element .ui-icon-squaresmall-plus{background-position:-48px -208px}.cmbre2-element .ui-icon-squaresmall-minus{background-position:-64px -208px}.cmbre2-element .ui-icon-squaresmall-close{background-position:-80px -208px}.cmbre2-element .ui-icon-grip-dotted-vertical{background-position:0 -224px}.cmbre2-element .ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.cmbre2-element .ui-icon-grip-solid-vertical{background-position:-32px -224px}.cmbre2-element .ui-icon-grip-solid-horizontal{background-position:-48px -224px}.cmbre2-element .ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.cmbre2-element .ui-icon-grip-diagonal-se{background-position:-80px -224px}.cmbre2-element .ui-corner-all,.cmbre2-element .ui-corner-left,.cmbre2-element .ui-corner-tl,.cmbre2-element .ui-corner-top{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px}.cmbre2-element .ui-corner-all,.cmbre2-element .ui-corner-right,.cmbre2-element .ui-corner-top,.cmbre2-element .ui-corner-tr{-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-khtml-border-top-right-radius:4px;border-top-right-radius:4px}.cmbre2-element .ui-corner-all,.cmbre2-element .ui-corner-bl,.cmbre2-element .ui-corner-bottom,.cmbre2-element .ui-corner-left{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-khtml-border-bottom-left-radius:4px;border-bottom-left-radius:4px}.cmbre2-element .ui-corner-all,.cmbre2-element .ui-corner-bottom,.cmbre2-element .ui-corner-br,.cmbre2-element .ui-corner-right{-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-khtml-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.cmbre2-element .ui-widget-overlay{background:#aaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.cmbre2-element .ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);-moz-border-radius:8px;-khtml-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.cmbre2-element .ui-datepicker{width:17em;display:none}.cmbre2-element .ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.cmbre2-element .ui-datepicker .ui-datepicker-next,.cmbre2-element .ui-datepicker .ui-datepicker-prev{position:absolute;width:1.8em}.cmbre2-element .ui-datepicker .ui-datepicker-prev{left:2px}.cmbre2-element .ui-datepicker .ui-datepicker-next{right:2px}.cmbre2-element .ui-datepicker .ui-datepicker-next span,.cmbre2-element .ui-datepicker .ui-datepicker-prev span{display:block;position:absolute;left:50%;margin-left:-8px}.cmbre2-element .ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.cmbre2-element .ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.cmbre2-element .ui-datepicker select.ui-datepicker-month-year{width:100%}.cmbre2-element .ui-datepicker select.ui-datepicker-month,.cmbre2-element .ui-datepicker select.ui-datepicker-year{width:49%}.cmbre2-element .ui-datepicker select.ui-datepicker-month{margin-right:1%}.cmbre2-element .ui-datepicker select.ui-datepicker-year{margin-left:1%}.cmbre2-element .ui-datepicker table{width:100%;border-collapse:collapse}.cmbre2-element .ui-datepicker th{text-align:center}.cmbre2-element .ui-datepicker td a,.cmbre2-element .ui-datepicker td span{display:block;padding:.2em;text-align:right;text-decoration:none}.cmbre2-element .ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0;padding:0 .2em}.cmbre2-element .ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em;width:auto;overflow:visible}.cmbre2-element .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.cmbre2-element .ui-datepicker.ui-datepicker-multi{width:auto}.cmbre2-element .ui-datepicker-multi .ui-datepicker-group{float:left}.cmbre2-element .ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.cmbre2-element .ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.cmbre2-element .ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.cmbre2-element .ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.cmbre2-element .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.cmbre2-element .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.cmbre2-element .ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.cmbre2-element .ui-datepicker-row-break{clear:both;width:100%;font-size:0}.cmbre2-element .ui-datepicker-rtl{direction:rtl}.cmbre2-element .ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.cmbre2-element .ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.cmbre2-element .ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.cmbre2-element .ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.cmbre2-element .ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.cmbre2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.cmbre2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.cmbre2-element .ui-datepicker-rtl .ui-datepicker-group{float:right}.cmbre2-element .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.cmbre2-element .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.cmbre2-element .ui-datepicker-cover{display:none;display:block;position:absolute;z-index:-1;filter:mask();top:-4px;left:-4px;width:200px;height:200px}.cmbre2-element .ui-datepicker{padding:0;border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmbre2-element .ui-datepicker *{padding:0;font-family:"Open Sans",sans-serif;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmbre2-element .ui-datepicker table{font-size:13px;margin:0}.cmbre2-element .ui-datepicker .ui-datepicker-header{border:none;background:#222;color:#fff;font-weight:400}.cmbre2-element .ui-datepicker .ui-datepicker-header .ui-state-hover{background:#222;border-color:transparent;cursor:pointer;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmbre2-element .ui-datepicker thead{background:#222;color:#fff}.cmbre2-element .ui-datepicker .ui-datepicker-title{margin-top:.4em;margin-bottom:.3em;color:#fff;font-size:14px}.cmbre2-element .ui-datepicker .ui-datepicker-next,.cmbre2-element .ui-datepicker .ui-datepicker-next-hover,.cmbre2-element .ui-datepicker .ui-datepicker-prev,.cmbre2-element .ui-datepicker .ui-datepicker-prev-hover{height:1em;top:.9em;border:none}.cmbre2-element .ui-datepicker .ui-datepicker-prev-hover{left:2px}.cmbre2-element .ui-datepicker .ui-datepicker-next-hover{right:2px}.cmbre2-element .ui-datepicker .ui-datepicker-next span,.cmbre2-element .ui-datepicker .ui-datepicker-prev span{background-image:url(data:image/png;base64,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);background-position:-32px 0;margin-top:0;top:0;font-weight:400}.cmbre2-element .ui-datepicker .ui-datepicker-prev span{background-position:-96px 0}.cmbre2-element .ui-datepicker th{padding:.75em 0;color:#fff;font-weight:400;border:none;border-top:1px solid #333}.cmbre2-element .ui-datepicker td{background:#f1f1f1;border:none;padding:0}.cmbre2-element .ui-datepicker td .ui-state-default{background:0 0;border:none;text-align:center;padding:.5em;margin:0;font-weight:400;color:#333}.cmbre2-element .ui-datepicker td .ui-state-active,.cmbre2-element .ui-datepicker td .ui-state-hover{background:#0074a2;color:#fff}.cmbre2-element .ui-datepicker td.ui-state-disabled,.cmbre2-element .ui-datepicker td.ui-state-disabled .ui-state-default{opacity:1;color:#999}.cmbre2-element .ui-datepicker{background:#f1f1f1}.cmbre2-element .ui-datepicker .ui-datepicker-close,.cmbre2-element .ui-datepicker .ui-datepicker-current{font-size:14px;font-weight:400;background-image:none;border:none}.cmbre2-element .ui-datepicker .ui-datepicker-close:active,.cmbre2-element .ui-datepicker .ui-datepicker-close:hover,.cmbre2-element .ui-datepicker .ui-datepicker-current:active,.cmbre2-element .ui-datepicker .ui-datepicker-current:hover{background:#096484;color:#fff}.cmbre2-element .ui-datepicker .ui-datepicker-buttonpane{border:none}.cmbre2-element .ui-timepicker-div{font-size:14px}.cmbre2-element .ui-timepicker-div .ui-widget-header{margin-bottom:8px;background:#222;border-color:#222}.cmbre2-element .ui-timepicker-div dl{text-align:left}.cmbre2-element .ui-timepicker-div dl dt{float:left;clear:left;padding:0 0 0 5px}.cmbre2-element .ui-timepicker-div dl dd{margin:0 10px 10px 40%}.cmbre2-element .ui-tpicker-grid-label{background:0 0;border:none;margin:0;padding:0}.cmbre2-element .ui-timepicker-rtl{direction:rtl}.cmbre2-element .ui-timepicker-rtl dl{text-align:right;padding:0 5px 0 0}.cmbre2-element .ui-timepicker-rtl dl dt{float:right;clear:right}.cmbre2-element .ui-timepicker-rtl dl dd{margin:0 40% 10px 10px}.admin-color-blue .cmbre2-element .ui-datepicker .ui-datepicker-header,.admin-color-blue .cmbre2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-blue .cmbre2-element .ui-datepicker thead,.admin-color-blue .cmbre2-element .ui-timepicker-div .ui-widget-header{background:#4796b3}.admin-color-blue .cmbre2-element .ui-timepicker-div .ui-widget-header{border-color:#4796b3}.admin-color-blue .cmbre2-element .ui-datepicker th{border-color:#52accc}.admin-color-blue .cmbre2-element .ui-datepicker td .ui-state-active,.admin-color-blue .cmbre2-element .ui-datepicker td .ui-state-hover{background:#096484}.admin-color-blue .cmbre2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-blue .cmbre2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-blue .cmbre2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-blue .cmbre2-element .ui-datepicker .ui-datepicker-current:hover{background:#096484;color:#fff}.admin-color-coffee .cmbre2-element .ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmbre2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-coffee .cmbre2-element .ui-datepicker thead,.admin-color-coffee .cmbre2-element .ui-timepicker-div .ui-widget-header{background:#46403c}.admin-color-coffee .cmbre2-element .ui-datepicker th{border-color:#59524c}.admin-color-coffee .cmbre2-element .ui-datepicker td .ui-state-active,.admin-color-coffee .cmbre2-element .ui-datepicker td .ui-state-hover{background:#c7a589}.admin-color-coffee .cmbre2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-coffee .cmbre2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-coffee .cmbre2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-coffee .cmbre2-element .ui-datepicker .ui-datepicker-current:hover{background:#c7a589;color:#fff}.admin-color-ectoplasm .cmbre2-element .ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmbre2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-ectoplasm .cmbre2-element .ui-datepicker thead,.admin-color-ectoplasm .cmbre2-element .ui-timepicker-div .ui-widget-header{background:#413256}.admin-color-ectoplasm .cmbre2-element .ui-timepicker-div .ui-widget-header{border-color:#413256}.admin-color-ectoplasm .cmbre2-element .ui-datepicker th{border-color:#523f6d}.admin-color-ectoplasm .cmbre2-element .ui-datepicker td .ui-state-active,.admin-color-ectoplasm .cmbre2-element .ui-datepicker td .ui-state-hover{background:#a3b745}.admin-color-ectoplasm .cmbre2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-ectoplasm .cmbre2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-ectoplasm .cmbre2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-ectoplasm .cmbre2-element .ui-datepicker .ui-datepicker-current:hover{background:#a3b745;color:#fff}.admin-color-midnight .cmbre2-element .ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmbre2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-midnight .cmbre2-element .ui-datepicker thead,.admin-color-midnight .cmbre2-element .ui-timepicker-div .ui-widget-header{background:#26292c}.admin-color-midnight .cmbre2-element .ui-datepicker th{border-color:#363b3f}.admin-color-midnight .cmbre2-element .ui-datepicker td .ui-state-active,.admin-color-midnight .cmbre2-element .ui-datepicker td .ui-state-hover{background:#e14d43}.admin-color-midnight .cmbre2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-midnight .cmbre2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-midnight .cmbre2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-midnight .cmbre2-element .ui-datepicker .ui-datepicker-current:hover{background:#e14d43;color:#fff}.admin-color-ocean .cmbre2-element .ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmbre2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-ocean .cmbre2-element .ui-datepicker thead,.admin-color-ocean .cmbre2-element .ui-timepicker-div .ui-widget-header{background:#627c83}.admin-color-ocean .cmbre2-element .ui-timepicker-div .ui-widget-header{border-color:#627c83}.admin-color-ocean .cmbre2-element .ui-datepicker th{border-color:#738e96}.admin-color-ocean .cmbre2-element .ui-datepicker td .ui-state-active,.admin-color-ocean .cmbre2-element .ui-datepicker td .ui-state-hover{background:#9ebaa0}.admin-color-ocean .cmbre2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-ocean .cmbre2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-ocean .cmbre2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-ocean .cmbre2-element .ui-datepicker .ui-datepicker-current:hover{background:#9ebaa0;color:#fff}.admin-color-sunrise .cmbre2-element .ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmbre2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmbre2-element .ui-datepicker thead,.admin-color-sunrise .cmbre2-element .ui-timepicker-div .ui-widget-header{background:#be3631}.admin-color-sunrise .cmbre2-element .ui-timepicker-div .ui-widget-header{border-color:#be3631}.admin-color-sunrise .cmbre2-element .ui-datepicker th{border-color:#cf4944}.admin-color-sunrise .cmbre2-element .ui-datepicker td .ui-state-active,.admin-color-sunrise .cmbre2-element .ui-datepicker td .ui-state-hover{background:#dd823b}.admin-color-sunrise .cmbre2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-sunrise .cmbre2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-sunrise .cmbre2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-sunrise .cmbre2-element .ui-datepicker .ui-datepicker-current:hover{background:#dd823b;color:#fff}.admin-color-light .cmbre2-element .ui-datepicker .ui-datepicker-header,.admin-color-light .cmbre2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-light .cmbre2-element .ui-datepicker thead,.admin-color-light .cmbre2-element .ui-timepicker-div .ui-widget-header{background:#e5e5e5}.admin-color-light .cmbre2-element .ui-timepicker-div .ui-widget-header{border-color:#e5e5e5}.admin-color-light .cmbre2-element .ui-datepicker,.admin-color-light .cmbre2-element .ui-datepicker td{background:#fff}.admin-color-light .cmbre2-element .ui-datepicker .ui-datepicker-next span,.admin-color-light .cmbre2-element .ui-datepicker .ui-datepicker-prev span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAYAAADvl7rLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMUIxRjI2RjhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMUIxRjI3MDhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjExQjFGMjZEOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjExQjFGMjZFOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+kKfR4AAAHcRJREFUeNrsXWuM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)}.admin-color-light .cmbre2-element .ui-datepicker th{border-color:#fff}.admin-color-light .cmbre2-element .ui-datepicker .ui-datepicker-title,.admin-color-light .cmbre2-element .ui-datepicker td .ui-state-default,.admin-color-light .cmbre2-element .ui-datepicker th,.admin-color-light .cmbre2-element .ui-timepicker-div .ui-widget-header{color:#555}.admin-color-light .cmbre2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-light .cmbre2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-light .cmbre2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-light .cmbre2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-light .cmbre2-element .ui-datepicker td .ui-state-active,.admin-color-light .cmbre2-element .ui-datepicker td .ui-state-hover{color:#fff;background:#888}.admin-color-light .cmbre2-element .ui-datepicker td.ui-state-disabled,.admin-color-light .cmbre2-element .ui-datepicker td.ui-state-disabled .ui-state-default{color:#ccc}@media (max-width:450px){.cmb-th{font-size:1.2em;padding-bottom:1em;text-align:left}.cmb-th label{display:block;margin-top:0;padding-bottom:5px}.cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}.cmb-td,.cmb-th,.cmb-th+.cmb-td{display:block;float:none;width:100%}.cmb-repeat-group-wrap .cmb-repeatable-group:not(:last-of-type),.cmb-repeat-group-wrap .cmb-row:not(:last-of-type),.postbox-container .cmb-repeatable-group:not(:last-of-type),.postbox-container .cmb-row:not(:last-of-type){border-bottom:0}}
|
{cmb2 → cmbre2}/css/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/fields/border/cmb-field-border.php
RENAMED
@@ -98,4 +98,4 @@ function rbs_border_render_field_callback( $field, $value, $object_id, $object_t
|
|
98 |
</div>
|
99 |
<?php
|
100 |
}
|
101 |
-
add_filter( '
|
98 |
</div>
|
99 |
<?php
|
100 |
}
|
101 |
+
add_filter( 'cmbre2_render_border', 'rbs_border_render_field_callback', 10, 5 );
|
{cmb2 → cmbre2}/fields/border/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/fields/colums/cmb-field-colums.php
RENAMED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
@@ -10,11 +10,11 @@
|
|
10 |
|
11 |
*/
|
12 |
|
13 |
-
function
|
14 |
-
echo
|
15 |
}
|
16 |
|
17 |
-
function
|
18 |
|
19 |
$level = $field->args('level')?1:0;
|
20 |
|
@@ -217,4 +217,4 @@ function jt_cmb2_render_colums_field_callback( $field, $value, $object_id, $obje
|
|
217 |
echo $field_type_object->_desc( true );
|
218 |
|
219 |
}
|
220 |
-
add_filter( '
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
10 |
|
11 |
*/
|
12 |
|
13 |
+
function jt_cmbre2_colums_field( $metakey, $post_id = 0 ) {
|
14 |
+
echo jt_cmbre2_get_colums_field( $metakey, $post_id );
|
15 |
}
|
16 |
|
17 |
+
function jt_cmbre2_render_colums_field_callback( $field, $value, $object_id, $object_type, $field_type_object ) {
|
18 |
|
19 |
$level = $field->args('level')?1:0;
|
20 |
|
217 |
echo $field_type_object->_desc( true );
|
218 |
|
219 |
}
|
220 |
+
add_filter( 'cmbre2_render_colums', 'jt_cmbre2_render_colums_field_callback', 10, 5 );
|
{cmb2 → cmbre2}/fields/colums/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/fields/font/cmb-field-font.php
RENAMED
@@ -31,11 +31,11 @@ function rbs_size_get_font_params_row( $value, $text, $name, $curent , $demoId
|
|
31 |
}
|
32 |
|
33 |
|
34 |
-
function
|
35 |
-
echo
|
36 |
}
|
37 |
|
38 |
-
function
|
39 |
$default = $field->args('default');
|
40 |
|
41 |
$level = $field->args('level')?1:0;
|
@@ -273,4 +273,4 @@ function jt_cmb2_render_font_field_callback( $field, $value, $object_id, $object
|
|
273 |
</div>
|
274 |
<?php
|
275 |
}
|
276 |
-
add_filter( '
|
31 |
}
|
32 |
|
33 |
|
34 |
+
function jt_cmbre2_font_field( $metakey, $post_id = 0 ) {
|
35 |
+
echo jt_cmbre2_get_font_field( $metakey, $post_id );
|
36 |
}
|
37 |
|
38 |
+
function jt_cmbre2_render_font_field_callback( $field, $value, $object_id, $object_type, $field_type_object ) {
|
39 |
$default = $field->args('default');
|
40 |
|
41 |
$level = $field->args('level')?1:0;
|
273 |
</div>
|
274 |
<?php
|
275 |
}
|
276 |
+
add_filter( 'cmbre2_render_font', 'jt_cmbre2_render_font_field_callback', 10, 5 );
|
{cmb2 → cmbre2}/fields/font/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/fields/hidden_array/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/fields/hidden_array/init.php
RENAMED
@@ -13,8 +13,8 @@
|
|
13 |
*/
|
14 |
|
15 |
|
16 |
-
/*function
|
17 |
-
echo
|
18 |
}*/
|
19 |
|
20 |
function robo_gallery_render_hidden_array_field_callback( $field, $value, $object_id, $object_type, $field_type_object ){
|
@@ -37,4 +37,4 @@ function robo_gallery_render_hidden_array_field_callback( $field, $value, $objec
|
|
37 |
}
|
38 |
|
39 |
|
40 |
-
add_filter( '
|
13 |
*/
|
14 |
|
15 |
|
16 |
+
/*function jt_cmbre2_shadow_field( $metakey, $post_id = 0 ) {
|
17 |
+
echo jt_cmbre2_get_shadow_field( $metakey, $post_id );
|
18 |
}*/
|
19 |
|
20 |
function robo_gallery_render_hidden_array_field_callback( $field, $value, $object_id, $object_type, $field_type_object ){
|
37 |
}
|
38 |
|
39 |
|
40 |
+
add_filter( 'cmbre2_render_hidden_array', 'robo_gallery_render_hidden_array_field_callback', 10, 5 );
|
{cmb2 → cmbre2}/fields/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/fields/loading/cmb-field-loading.php
RENAMED
@@ -13,12 +13,12 @@
|
|
13 |
*/
|
14 |
|
15 |
|
16 |
-
function
|
17 |
-
echo
|
18 |
}
|
19 |
|
20 |
|
21 |
-
function
|
22 |
$post_id = $post_id ? $post_id : get_the_ID();
|
23 |
$loading = get_post_meta( $post_id, $metakey, 1 );
|
24 |
|
@@ -33,7 +33,7 @@ function jt_cmb2_get_loading_field( $metakey, $post_id = 0 ) {
|
|
33 |
'noMoreEntriesWord' => 'No More Entries'
|
34 |
) );
|
35 |
|
36 |
-
$loading = '<div class="
|
37 |
$loading .= '<p><strong>Width:</strong> '.esc_html( $loading['boxesToLoadStart'] ).'</p>';
|
38 |
$loading .= '<p><strong>Width:</strong> '.esc_html( $loading['boxesToLoad'] ).'</p>';
|
39 |
$loading .= '<p><strong>Width:</strong> '.esc_html( $loading['waitUntilThumbLoads'] ).'</p>';
|
@@ -43,10 +43,10 @@ function jt_cmb2_get_loading_field( $metakey, $post_id = 0 ) {
|
|
43 |
$loading .= '<p><strong>Width:</strong> '.esc_html( $loading['noMoreEntriesWord'] ).'</p>';
|
44 |
$loading = '</div>';
|
45 |
|
46 |
-
return apply_filters( '
|
47 |
}
|
48 |
|
49 |
-
function
|
50 |
|
51 |
|
52 |
$value = wp_parse_args( $value, array(
|
@@ -97,9 +97,9 @@ function jt_cmb2_render_loading_field_callback( $field, $value, $object_id, $obj
|
|
97 |
echo $field_type_object->_desc( true );
|
98 |
|
99 |
}
|
100 |
-
add_filter( '
|
101 |
|
102 |
-
function
|
103 |
|
104 |
if ( ! is_array( $meta_value ) || ! $field_args['repeatable'] ) {
|
105 |
return $check;
|
@@ -111,9 +111,9 @@ function cmb2_sanitize_loading_field( $check, $meta_value, $object_id, $field_ar
|
|
111 |
|
112 |
return $meta_value;
|
113 |
}
|
114 |
-
add_filter( '
|
115 |
|
116 |
-
function
|
117 |
|
118 |
if ( ! is_array( $meta_value ) || ! $field_args['repeatable'] ) {
|
119 |
return $check;
|
@@ -125,4 +125,4 @@ function cmb2_types_esc_loading_field( $check, $meta_value, $field_args, $field_
|
|
125 |
|
126 |
return $meta_value;
|
127 |
}
|
128 |
-
add_filter( '
|
13 |
*/
|
14 |
|
15 |
|
16 |
+
function jt_cmbre2_loading_field( $metakey, $post_id = 0 ) {
|
17 |
+
echo jt_cmbre2_get_loading_field( $metakey, $post_id );
|
18 |
}
|
19 |
|
20 |
|
21 |
+
function jt_cmbre2_get_loading_field( $metakey, $post_id = 0 ) {
|
22 |
$post_id = $post_id ? $post_id : get_the_ID();
|
23 |
$loading = get_post_meta( $post_id, $metakey, 1 );
|
24 |
|
33 |
'noMoreEntriesWord' => 'No More Entries'
|
34 |
) );
|
35 |
|
36 |
+
$loading = '<div class="cmbre2-loading">';
|
37 |
$loading .= '<p><strong>Width:</strong> '.esc_html( $loading['boxesToLoadStart'] ).'</p>';
|
38 |
$loading .= '<p><strong>Width:</strong> '.esc_html( $loading['boxesToLoad'] ).'</p>';
|
39 |
$loading .= '<p><strong>Width:</strong> '.esc_html( $loading['waitUntilThumbLoads'] ).'</p>';
|
43 |
$loading .= '<p><strong>Width:</strong> '.esc_html( $loading['noMoreEntriesWord'] ).'</p>';
|
44 |
$loading = '</div>';
|
45 |
|
46 |
+
return apply_filters( 'jt_cmbre2_get_loading_field', $loading );
|
47 |
}
|
48 |
|
49 |
+
function jt_cmbre2_render_loading_field_callback( $field, $value, $object_id, $object_type, $field_type_object ) {
|
50 |
|
51 |
|
52 |
$value = wp_parse_args( $value, array(
|
97 |
echo $field_type_object->_desc( true );
|
98 |
|
99 |
}
|
100 |
+
add_filter( 'cmbre2_render_loading', 'jt_cmbre2_render_loading_field_callback', 10, 5 );
|
101 |
|
102 |
+
function cmbre2_sanitize_loading_field( $check, $meta_value, $object_id, $field_args, $sanitize_object ) {
|
103 |
|
104 |
if ( ! is_array( $meta_value ) || ! $field_args['repeatable'] ) {
|
105 |
return $check;
|
111 |
|
112 |
return $meta_value;
|
113 |
}
|
114 |
+
add_filter( 'cmbre2_sanitize_loading', 'cmbre2_sanitize_loading_field', 10, 5 );
|
115 |
|
116 |
+
function cmbre2_types_esc_loading_field( $check, $meta_value, $field_args, $field_object ) {
|
117 |
|
118 |
if ( ! is_array( $meta_value ) || ! $field_args['repeatable'] ) {
|
119 |
return $check;
|
125 |
|
126 |
return $meta_value;
|
127 |
}
|
128 |
+
add_filter( 'cmbre2_types_esc_loading', 'cmbre2_types_esc_loading_field', 10, 4 );
|
{cmb2 → cmbre2}/fields/loading/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/fields/multisize/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/fields/multisize/rbs-multiSize.php
RENAMED
@@ -70,4 +70,4 @@ function rbs_multisize_field_callback( $field, $value, $object_id, $object_type,
|
|
70 |
echo $field_type_object->_desc( true );
|
71 |
|
72 |
}
|
73 |
-
add_filter( '
|
70 |
echo $field_type_object->_desc( true );
|
71 |
|
72 |
}
|
73 |
+
add_filter( 'cmbre2_render_multisize', 'rbs_multisize_field_callback', 10, 5 );
|
{cmb2 → cmbre2}/fields/padding/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/fields/padding/rbs-padding.php
RENAMED
@@ -117,4 +117,4 @@ function rbs_padding_field_callback( $field, $value, $object_id, $object_type, $
|
|
117 |
echo $field_type_object->_desc( true );
|
118 |
|
119 |
}
|
120 |
-
add_filter( '
|
117 |
echo $field_type_object->_desc( true );
|
118 |
|
119 |
}
|
120 |
+
add_filter( 'cmbre2_render_padding', 'rbs_padding_field_callback', 10, 5 );
|
{cmb2 → cmbre2}/fields/rbsgallery/cmb-field-rbsgallery.php
RENAMED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
@@ -44,7 +44,7 @@ function robo_gallery_field_getGalleryOptions($galleryId, $value){
|
|
44 |
return $tagOptions;
|
45 |
}
|
46 |
|
47 |
-
function
|
48 |
|
49 |
$value = ( (int) $value ) > 0 ? (int)$value : $field->args('default');
|
50 |
?>
|
@@ -83,4 +83,4 @@ function jt_cmb2_render_rbsgallery_field_callback( $field, $value, $object_id, $
|
|
83 |
</div>
|
84 |
<?php
|
85 |
}
|
86 |
-
add_filter( '
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
44 |
return $tagOptions;
|
45 |
}
|
46 |
|
47 |
+
function jt_cmbre2_render_rbsgallery_field_callback( $field, $value, $object_id, $object_type, $field_type_object ){
|
48 |
|
49 |
$value = ( (int) $value ) > 0 ? (int)$value : $field->args('default');
|
50 |
?>
|
83 |
</div>
|
84 |
<?php
|
85 |
}
|
86 |
+
add_filter( 'cmbre2_render_rbsgallery', 'jt_cmbre2_render_rbsgallery_field_callback', 10, 5 );
|
{cmb2 → cmbre2}/fields/rbsgallery/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/fields/rbsradiobutton/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/fields/rbsradiobutton/rbs-radiobutton.php
RENAMED
@@ -72,4 +72,4 @@ function rbsradiobutton_field_callback( $field, $value, $object_id, $object_type
|
|
72 |
</div>
|
73 |
<?php
|
74 |
}
|
75 |
-
add_filter( '
|
72 |
</div>
|
73 |
<?php
|
74 |
}
|
75 |
+
add_filter( 'cmbre2_render_rbsradiobutton', 'rbsradiobutton_field_callback', 10, 5 );
|
{cmb2 → cmbre2}/fields/rbsselect/cmb-field-rbsselect.php
RENAMED
@@ -26,7 +26,7 @@ function rbs_rbsselect_get_options( $options, $value = false, $content=array() )
|
|
26 |
return $state_options;
|
27 |
}
|
28 |
|
29 |
-
function
|
30 |
$value = $value?$value:$field->args('default');
|
31 |
$level = $field->args('level')?1:0;
|
32 |
?>
|
@@ -58,4 +58,4 @@ function jt_cmb2_render_rbsselect_field_callback( $field, $value, $object_id, $o
|
|
58 |
</div>
|
59 |
<?php
|
60 |
}
|
61 |
-
add_filter( '
|
26 |
return $state_options;
|
27 |
}
|
28 |
|
29 |
+
function jt_cmbre2_render_rbsselect_field_callback( $field, $value, $object_id, $object_type, $field_type_object ){
|
30 |
$value = $value?$value:$field->args('default');
|
31 |
$level = $field->args('level')?1:0;
|
32 |
?>
|
58 |
</div>
|
59 |
<?php
|
60 |
}
|
61 |
+
add_filter( 'cmbre2_render_rbsselect', 'jt_cmbre2_render_rbsselect_field_callback', 10, 5 );
|
{cmb2 → cmbre2}/fields/rbsselect/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/fields/rbstext/cmb-field-rbstext.php
RENAMED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
@@ -11,11 +11,11 @@
|
|
11 |
*/
|
12 |
|
13 |
|
14 |
-
function
|
15 |
-
echo
|
16 |
}
|
17 |
|
18 |
-
function
|
19 |
|
20 |
//$value = $value ? $value : $field->args('default') ;
|
21 |
$level = $field->args('level')?1:0;
|
@@ -46,4 +46,4 @@ $level = $field->args('level')?1:0;
|
|
46 |
</div>
|
47 |
<?php
|
48 |
}
|
49 |
-
add_filter( '
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
11 |
*/
|
12 |
|
13 |
|
14 |
+
function jt_cmbre2_rbstext_field( $metakey, $post_id = 0 ) {
|
15 |
+
echo jt_cmbre2_get_rbstext_field( $metakey, $post_id );
|
16 |
}
|
17 |
|
18 |
+
function jt_cmbre2_render_rbstext_field_callback( $field, $value, $object_id, $object_type, $field_type_object ) {
|
19 |
|
20 |
//$value = $value ? $value : $field->args('default') ;
|
21 |
$level = $field->args('level')?1:0;
|
46 |
</div>
|
47 |
<?php
|
48 |
}
|
49 |
+
add_filter( 'cmbre2_render_rbstext', 'jt_cmbre2_render_rbstext_field_callback', 10, 5 );
|
{cmb2 → cmbre2}/fields/rbstext/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/fields/rbstextarea/cmb-field-rbstextarea.php
RENAMED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
@@ -11,11 +11,11 @@
|
|
11 |
*/
|
12 |
|
13 |
|
14 |
-
function
|
15 |
-
echo
|
16 |
}
|
17 |
|
18 |
-
function
|
19 |
|
20 |
$value = $value ? trim($value) : $field->args('default') ;
|
21 |
$hide_label = $field->args('hide_label') ? 1 : 0 ;
|
@@ -42,4 +42,4 @@ function jt_cmb2_render_rbstextarea_field_callback( $field, $value, $object_id,
|
|
42 |
</div>
|
43 |
<?php
|
44 |
}
|
45 |
-
add_filter( '
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
11 |
*/
|
12 |
|
13 |
|
14 |
+
function jt_cmbre2_rbstextarea_field( $metakey, $post_id = 0 ) {
|
15 |
+
echo jt_cmbre2_get_rbstextarea_field( $metakey, $post_id );
|
16 |
}
|
17 |
|
18 |
+
function jt_cmbre2_render_rbstextarea_field_callback( $field, $value, $object_id, $object_type, $field_type_object ) {
|
19 |
|
20 |
$value = $value ? trim($value) : $field->args('default') ;
|
21 |
$hide_label = $field->args('hide_label') ? 1 : 0 ;
|
42 |
</div>
|
43 |
<?php
|
44 |
}
|
45 |
+
add_filter( 'cmbre2_render_rbstextarea', 'jt_cmbre2_render_rbstextarea_field_callback', 10, 5 );
|
{cmb2 → cmbre2}/fields/rbstextarea/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/fields/shadow/cmb-field-shadow.php
RENAMED
@@ -13,11 +13,11 @@
|
|
13 |
*/
|
14 |
|
15 |
|
16 |
-
function
|
17 |
-
echo
|
18 |
}
|
19 |
|
20 |
-
function
|
21 |
|
22 |
$value = wp_parse_args( $value, array(
|
23 |
'color' => 'rgba(34, 25, 25, 0.4)',
|
@@ -103,4 +103,4 @@ function jt_cmb2_render_shadow_field_callback( $field, $value, $object_id, $obje
|
|
103 |
</div>
|
104 |
<?php
|
105 |
}
|
106 |
-
add_filter( '
|
13 |
*/
|
14 |
|
15 |
|
16 |
+
function jt_cmbre2_shadow_field( $metakey, $post_id = 0 ) {
|
17 |
+
echo jt_cmbre2_get_shadow_field( $metakey, $post_id );
|
18 |
}
|
19 |
|
20 |
+
function jt_cmbre2_render_shadow_field_callback( $field, $value, $object_id, $object_type, $field_type_object ) {
|
21 |
|
22 |
$value = wp_parse_args( $value, array(
|
23 |
'color' => 'rgba(34, 25, 25, 0.4)',
|
103 |
</div>
|
104 |
<?php
|
105 |
}
|
106 |
+
add_filter( 'cmbre2_render_shadow', 'jt_cmbre2_render_shadow_field_callback', 10, 5 );
|
{cmb2 → cmbre2}/fields/shadow/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/fields/size/cmb-field-size.php
RENAMED
@@ -25,7 +25,7 @@ function rbs_size_get_source_row( $value, $text, $name, $curent = '', $icon = '
|
|
25 |
}
|
26 |
|
27 |
|
28 |
-
function
|
29 |
|
30 |
$value = wp_parse_args( $value, array(
|
31 |
'height' => 140,
|
@@ -117,4 +117,4 @@ function jt_cmb2_render_size_field_callback( $field, $value, $object_id, $object
|
|
117 |
</div>
|
118 |
<?php echo $field_type_object->_desc( true );
|
119 |
}
|
120 |
-
add_filter( '
|
25 |
}
|
26 |
|
27 |
|
28 |
+
function jt_cmbre2_render_size_field_callback( $field, $value, $object_id, $object_type, $field_type_object ) {
|
29 |
|
30 |
$value = wp_parse_args( $value, array(
|
31 |
'height' => 140,
|
117 |
</div>
|
118 |
<?php echo $field_type_object->_desc( true );
|
119 |
}
|
120 |
+
add_filter( 'cmbre2_render_size', 'jt_cmbre2_render_size_field_callback', 10, 5 );
|
{cmb2 → cmbre2}/fields/size/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/fields/slider/cmb-field-slider.php
RENAMED
@@ -13,11 +13,11 @@
|
|
13 |
*/
|
14 |
|
15 |
|
16 |
-
function
|
17 |
-
echo
|
18 |
}
|
19 |
|
20 |
-
function
|
21 |
$value = $value ? $value : $field->args('default') ;
|
22 |
|
23 |
$level = $field->args('level') ? 1 : 0 ;
|
@@ -48,4 +48,4 @@ function jt_cmb2_render_slider_field_callback( $field, $value, $object_id, $obje
|
|
48 |
</div>
|
49 |
<?php
|
50 |
}
|
51 |
-
add_filter( '
|
13 |
*/
|
14 |
|
15 |
|
16 |
+
function jt_cmbre2_slider_field( $metakey, $post_id = 0 ) {
|
17 |
+
echo jt_cmbre2_get_slider_field( $metakey, $post_id );
|
18 |
}
|
19 |
|
20 |
+
function jt_cmbre2_render_slider_field_callback( $field, $value, $object_id, $object_type, $field_type_object ) {
|
21 |
$value = $value ? $value : $field->args('default') ;
|
22 |
|
23 |
$level = $field->args('level') ? 1 : 0 ;
|
48 |
</div>
|
49 |
<?php
|
50 |
}
|
51 |
+
add_filter( 'cmbre2_render_slider', 'jt_cmbre2_render_slider_field_callback', 10, 5 );
|
{cmb2 → cmbre2}/fields/slider/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/fields/switch/cmb-field-switch.php
RENAMED
@@ -13,11 +13,11 @@
|
|
13 |
*/
|
14 |
|
15 |
|
16 |
-
function
|
17 |
-
echo
|
18 |
}
|
19 |
|
20 |
-
function
|
21 |
|
22 |
if( empty($value) ) $value = $field->args('default');
|
23 |
|
@@ -69,4 +69,4 @@ function jt_cmb2_render_switch_field_callback( $field, $value, $object_id, $obje
|
|
69 |
<?php
|
70 |
}
|
71 |
|
72 |
-
add_filter( '
|
13 |
*/
|
14 |
|
15 |
|
16 |
+
function jt_cmbre2_switch_field( $metakey, $post_id = 0 ) {
|
17 |
+
echo jt_cmbre2_get_switch_field( $metakey, $post_id );
|
18 |
}
|
19 |
|
20 |
+
function jt_cmbre2_render_switch_field_callback( $field, $value, $object_id, $object_type, $field_type_object ) {
|
21 |
|
22 |
if( empty($value) ) $value = $field->args('default');
|
23 |
|
69 |
<?php
|
70 |
}
|
71 |
|
72 |
+
add_filter( 'cmbre2_render_switch', 'jt_cmbre2_render_switch_field_callback', 10, 5 );
|
{cmb2 → cmbre2}/fields/switch/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/fields/toolbox/cmb-field-toolbox.php
RENAMED
File without changes
|
{cmb2 → cmbre2}/fields/toolbox/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/images/ico-delete.png
RENAMED
File without changes
|
{cmb2 → cmbre2}/images/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/images/index.php
RENAMED
File without changes
|
{cmb2 → cmbre2}/images/ui-bg_flat_0_aaaaaa_40x100.png
RENAMED
File without changes
|
{cmb2 → cmbre2}/images/ui-bg_flat_75_ffffff_40x100.png
RENAMED
File without changes
|
{cmb2 → cmbre2}/images/ui-bg_glass_55_fbf9ee_1x400.png
RENAMED
File without changes
|
{cmb2 → cmbre2}/images/ui-bg_glass_65_ffffff_1x400.png
RENAMED
File without changes
|
{cmb2 → cmbre2}/images/ui-bg_glass_75_dadada_1x400.png
RENAMED
File without changes
|
{cmb2 → cmbre2}/images/ui-bg_glass_75_e6e6e6_1x400.png
RENAMED
File without changes
|
{cmb2 → cmbre2}/images/ui-bg_glass_95_fef1ec_1x400.png
RENAMED
File without changes
|
{cmb2 → cmbre2}/images/ui-bg_highlight-soft_75_cccccc_1x100.png
RENAMED
File without changes
|
{cmb2 → cmbre2}/images/ui-icons_222222_256x240.png
RENAMED
File without changes
|
{cmb2 → cmbre2}/images/ui-icons_2e83ff_256x240.png
RENAMED
File without changes
|
{cmb2 → cmbre2}/images/ui-icons_454545_256x240.png
RENAMED
File without changes
|
{cmb2 → cmbre2}/images/ui-icons_888888_256x240.png
RENAMED
File without changes
|
{cmb2 → cmbre2}/images/ui-icons_cd0a0a_256x240.png
RENAMED
File without changes
|
cmb2/includes/CMB2.php → cmbre2/includes/CMBRE2.php
RENAMED
@@ -1,9 +1,9 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
4 |
*
|
5 |
* @category WordPress_Plugin
|
6 |
-
* @package
|
7 |
* @author WebDevStudios
|
8 |
* @license GPL-2.0+
|
9 |
* @link http://webdevstudios.com
|
@@ -13,7 +13,7 @@
|
|
13 |
* @property-read array $updated
|
14 |
*/
|
15 |
if ( ! defined( 'WPINC' ) ) exit;
|
16 |
-
class
|
17 |
|
18 |
/**
|
19 |
* Current field's ID
|
@@ -125,16 +125,16 @@ class CMB2 {
|
|
125 |
$this->mb_object_type();
|
126 |
$this->cmb_id = $meta_box['id'];
|
127 |
|
128 |
-
|
129 |
|
130 |
/**
|
131 |
-
* Hook during initiation of
|
132 |
*
|
133 |
* The dynamic portion of the hook name, $this->cmb_id, is this meta_box id.
|
134 |
*
|
135 |
-
* @param array $cmb This
|
136 |
*/
|
137 |
-
do_action( "
|
138 |
}
|
139 |
|
140 |
/**
|
@@ -149,7 +149,7 @@ class CMB2 {
|
|
149 |
|
150 |
$this->nonce_field();
|
151 |
|
152 |
-
echo "\n<!-- Begin
|
153 |
|
154 |
/**
|
155 |
* Hook before form table begins
|
@@ -159,9 +159,9 @@ class CMB2 {
|
|
159 |
* @param string $object_type The type of object you are working with.
|
160 |
* Usually `post` (this applies to all post-types).
|
161 |
* Could also be `comment`, `user` or `options-page`.
|
162 |
-
* @param array $cmb This
|
163 |
*/
|
164 |
-
do_action( '
|
165 |
|
166 |
/**
|
167 |
* Hook before form table begins
|
@@ -174,11 +174,11 @@ class CMB2 {
|
|
174 |
*
|
175 |
* @param array $cmb_id The current box ID
|
176 |
* @param int $object_id The ID of the current object
|
177 |
-
* @param array $cmb This
|
178 |
*/
|
179 |
-
do_action( "
|
180 |
|
181 |
-
echo '<div class="
|
182 |
|
183 |
foreach ( $this->prop( 'fields' ) as $field_args ) {
|
184 |
|
@@ -221,9 +221,9 @@ class CMB2 {
|
|
221 |
* @param string $object_type The type of object you are working with.
|
222 |
* Usually `post` (this applies to all post-types).
|
223 |
* Could also be `comment`, `user` or `options-page`.
|
224 |
-
* @param array $cmb This
|
225 |
*/
|
226 |
-
do_action( '
|
227 |
|
228 |
/**
|
229 |
* Hook after form form has been rendered
|
@@ -235,11 +235,11 @@ class CMB2 {
|
|
235 |
* Could also be `comment`, `user` or `options-page`.
|
236 |
*
|
237 |
* @param int $object_id The ID of the current object
|
238 |
-
* @param array $cmb This
|
239 |
*/
|
240 |
-
do_action( "
|
241 |
|
242 |
-
echo "\n<!-- End
|
243 |
|
244 |
}
|
245 |
|
@@ -250,7 +250,11 @@ class CMB2 {
|
|
250 |
public function render_group( $args ) {
|
251 |
|
252 |
// If field is requesting to be conditionally shown
|
253 |
-
if
|
|
|
|
|
|
|
|
|
254 |
return;
|
255 |
}
|
256 |
|
@@ -277,7 +281,7 @@ class CMB2 {
|
|
277 |
echo '<h2 class="cmb-group-name">', $label, '</h2>';
|
278 |
}
|
279 |
if ( $desc ) {
|
280 |
-
echo '<p class="
|
281 |
}
|
282 |
echo '</div></div>';
|
283 |
}
|
@@ -303,7 +307,7 @@ class CMB2 {
|
|
303 |
/**
|
304 |
* Render a repeatable group row
|
305 |
* @since 1.0.2
|
306 |
-
* @param
|
307 |
* @param string $remove_disabled Attribute string to disable the remove button
|
308 |
*/
|
309 |
public function render_group_row( $field_group, $remove_disabled ) {
|
@@ -353,10 +357,10 @@ class CMB2 {
|
|
353 |
/**
|
354 |
* Add a hidden field to the list of hidden fields to be rendered later
|
355 |
* @since 2.0.0
|
356 |
-
* @param array $args Array of arguments to be passed to
|
357 |
*/
|
358 |
public function add_hidden_field( $args ) {
|
359 |
-
$this->hidden_fields[] = new
|
360 |
}
|
361 |
|
362 |
/**
|
@@ -384,16 +388,16 @@ class CMB2 {
|
|
384 |
$this->object_id( '_' );
|
385 |
|
386 |
// Ensure temp. data store is empty
|
387 |
-
|
388 |
|
389 |
// Process/save fields
|
390 |
$this->process_fields();
|
391 |
|
392 |
// Get data from temp. data store
|
393 |
-
$sanitized_values =
|
394 |
|
395 |
// Empty out temp. data store again
|
396 |
-
|
397 |
|
398 |
// Reset the object id
|
399 |
$this->object_id( $stored_id );
|
@@ -421,7 +425,7 @@ class CMB2 {
|
|
421 |
|
422 |
// If options page, save the updated options
|
423 |
if ( 'options-page' == $object_type ) {
|
424 |
-
|
425 |
}
|
426 |
|
427 |
/**
|
@@ -435,9 +439,9 @@ class CMB2 {
|
|
435 |
* @param array $cmb_id The current box ID
|
436 |
* @param string $updated All fields that were updated.
|
437 |
* Will only include fields that had values change.
|
438 |
-
* @param array $cmb This
|
439 |
*/
|
440 |
-
do_action( "
|
441 |
|
442 |
}
|
443 |
|
@@ -476,7 +480,7 @@ class CMB2 {
|
|
476 |
default:
|
477 |
|
478 |
// Save default fields
|
479 |
-
$field = new
|
480 |
'field_args' => $field_args,
|
481 |
'object_type' => $this->object_type(),
|
482 |
'object_id' => $this->object_id(),
|
@@ -500,7 +504,7 @@ class CMB2 {
|
|
500 |
return;
|
501 |
}
|
502 |
|
503 |
-
$field_group = new
|
504 |
'field_args' => $args,
|
505 |
'object_type' => $this->object_type(),
|
506 |
'object_id' => $this->object_id(),
|
@@ -513,7 +517,7 @@ class CMB2 {
|
|
513 |
$field_group->index = 0;
|
514 |
|
515 |
foreach ( array_values( $field_group->fields() ) as $field_args ) {
|
516 |
-
$field = new
|
517 |
'field_args' => $field_args,
|
518 |
'group_field' => $field_group,
|
519 |
) );
|
@@ -707,12 +711,12 @@ class CMB2 {
|
|
707 |
/**
|
708 |
* Add a field to the metabox
|
709 |
* @since 2.0.3
|
710 |
-
* @param mixed $field Metabox field id or field config array or
|
711 |
-
* @param
|
712 |
-
* @return mixed
|
713 |
*/
|
714 |
public function get_field( $field, $field_group = null ) {
|
715 |
-
if ( is_a( $field, '
|
716 |
return $field;
|
717 |
}
|
718 |
|
@@ -746,7 +750,7 @@ class CMB2 {
|
|
746 |
'object_id' => $this->object_id(),
|
747 |
);
|
748 |
|
749 |
-
$this->fields[ $index ] = new
|
750 |
|
751 |
return $this->fields[ $index ];
|
752 |
}
|
@@ -813,7 +817,7 @@ class CMB2 {
|
|
813 |
*/
|
814 |
protected function _add_field_to_array( $field, &$fields, $position = 0 ) {
|
815 |
if ( $position ) {
|
816 |
-
|
817 |
} else {
|
818 |
$fields[ $field['id'] ] = $field;
|
819 |
}
|
1 |
<?php
|
2 |
/**
|
3 |
+
* CMBRE2 - The core metabox object
|
4 |
*
|
5 |
* @category WordPress_Plugin
|
6 |
+
* @package CMBRE2
|
7 |
* @author WebDevStudios
|
8 |
* @license GPL-2.0+
|
9 |
* @link http://webdevstudios.com
|
13 |
* @property-read array $updated
|
14 |
*/
|
15 |
if ( ! defined( 'WPINC' ) ) exit;
|
16 |
+
class CMBRE2 {
|
17 |
|
18 |
/**
|
19 |
* Current field's ID
|
125 |
$this->mb_object_type();
|
126 |
$this->cmb_id = $meta_box['id'];
|
127 |
|
128 |
+
CMBRE2_Boxes::add( $this );
|
129 |
|
130 |
/**
|
131 |
+
* Hook during initiation of CMBRE2 object
|
132 |
*
|
133 |
* The dynamic portion of the hook name, $this->cmb_id, is this meta_box id.
|
134 |
*
|
135 |
+
* @param array $cmb This CMBRE2 object
|
136 |
*/
|
137 |
+
do_action( "cmbre2_init_{$this->cmb_id}", $this );
|
138 |
}
|
139 |
|
140 |
/**
|
149 |
|
150 |
$this->nonce_field();
|
151 |
|
152 |
+
echo "\n<!-- Begin CMBRE2 Fields -->\n";
|
153 |
|
154 |
/**
|
155 |
* Hook before form table begins
|
159 |
* @param string $object_type The type of object you are working with.
|
160 |
* Usually `post` (this applies to all post-types).
|
161 |
* Could also be `comment`, `user` or `options-page`.
|
162 |
+
* @param array $cmb This CMBRE2 object
|
163 |
*/
|
164 |
+
do_action( 'cmbre2_before_form', $this->cmb_id, $object_id, $object_type, $this );
|
165 |
|
166 |
/**
|
167 |
* Hook before form table begins
|
174 |
*
|
175 |
* @param array $cmb_id The current box ID
|
176 |
* @param int $object_id The ID of the current object
|
177 |
+
* @param array $cmb This CMBRE2 object
|
178 |
*/
|
179 |
+
do_action( "cmbre2_before_{$object_type}_form_{$this->cmb_id}", $object_id, $this );
|
180 |
|
181 |
+
echo '<div class="cmbre2-wrap form-table"><div id="cmbre2-metabox-', sanitize_html_class( $this->cmb_id ), '" class="cmbre2-metabox cmb-field-list">';
|
182 |
|
183 |
foreach ( $this->prop( 'fields' ) as $field_args ) {
|
184 |
|
221 |
* @param string $object_type The type of object you are working with.
|
222 |
* Usually `post` (this applies to all post-types).
|
223 |
* Could also be `comment`, `user` or `options-page`.
|
224 |
+
* @param array $cmb This CMBRE2 object
|
225 |
*/
|
226 |
+
do_action( 'cmbre2_after_form', $this->cmb_id, $object_id, $object_type, $this );
|
227 |
|
228 |
/**
|
229 |
* Hook after form form has been rendered
|
235 |
* Could also be `comment`, `user` or `options-page`.
|
236 |
*
|
237 |
* @param int $object_id The ID of the current object
|
238 |
+
* @param array $cmb This CMBRE2 object
|
239 |
*/
|
240 |
+
do_action( "cmbre2_after_{$object_type}_form_{$this->cmb_id}", $object_id, $this );
|
241 |
|
242 |
+
echo "\n<!-- End CMBRE2 Fields -->\n";
|
243 |
|
244 |
}
|
245 |
|
250 |
public function render_group( $args ) {
|
251 |
|
252 |
// If field is requesting to be conditionally shown
|
253 |
+
if(
|
254 |
+
isset( $args['show_on_cb'] ) &&
|
255 |
+
is_callable( $args['show_on_cb'] ) &&
|
256 |
+
! call_user_func( $args['show_on_cb'], $this )
|
257 |
+
) {
|
258 |
return;
|
259 |
}
|
260 |
|
281 |
echo '<h2 class="cmb-group-name">', $label, '</h2>';
|
282 |
}
|
283 |
if ( $desc ) {
|
284 |
+
echo '<p class="cmbre2-metabox-description">', $desc, '</p>';
|
285 |
}
|
286 |
echo '</div></div>';
|
287 |
}
|
307 |
/**
|
308 |
* Render a repeatable group row
|
309 |
* @since 1.0.2
|
310 |
+
* @param CMBRE2_Field $field_group CMBRE2_Field group field object
|
311 |
* @param string $remove_disabled Attribute string to disable the remove button
|
312 |
*/
|
313 |
public function render_group_row( $field_group, $remove_disabled ) {
|
357 |
/**
|
358 |
* Add a hidden field to the list of hidden fields to be rendered later
|
359 |
* @since 2.0.0
|
360 |
+
* @param array $args Array of arguments to be passed to CMBRE2_Field
|
361 |
*/
|
362 |
public function add_hidden_field( $args ) {
|
363 |
+
$this->hidden_fields[] = new CMBRE2_Types( new CMBRE2_Field( $args ) );
|
364 |
}
|
365 |
|
366 |
/**
|
388 |
$this->object_id( '_' );
|
389 |
|
390 |
// Ensure temp. data store is empty
|
391 |
+
cmbre2_options( 0 )->set();
|
392 |
|
393 |
// Process/save fields
|
394 |
$this->process_fields();
|
395 |
|
396 |
// Get data from temp. data store
|
397 |
+
$sanitized_values = cmbre2_options( 0 )->get_options();
|
398 |
|
399 |
// Empty out temp. data store again
|
400 |
+
cmbre2_options( 0 )->set();
|
401 |
|
402 |
// Reset the object id
|
403 |
$this->object_id( $stored_id );
|
425 |
|
426 |
// If options page, save the updated options
|
427 |
if ( 'options-page' == $object_type ) {
|
428 |
+
cmbre2_options( $object_id )->set();
|
429 |
}
|
430 |
|
431 |
/**
|
439 |
* @param array $cmb_id The current box ID
|
440 |
* @param string $updated All fields that were updated.
|
441 |
* Will only include fields that had values change.
|
442 |
+
* @param array $cmb This CMBRE2 object
|
443 |
*/
|
444 |
+
do_action( "cmbre2_save_{$object_type}_fields", $object_id, $this->cmb_id, $this->updated, $this );
|
445 |
|
446 |
}
|
447 |
|
480 |
default:
|
481 |
|
482 |
// Save default fields
|
483 |
+
$field = new CMBRE2_Field( array(
|
484 |
'field_args' => $field_args,
|
485 |
'object_type' => $this->object_type(),
|
486 |
'object_id' => $this->object_id(),
|
504 |
return;
|
505 |
}
|
506 |
|
507 |
+
$field_group = new CMBRE2_Field( array(
|
508 |
'field_args' => $args,
|
509 |
'object_type' => $this->object_type(),
|
510 |
'object_id' => $this->object_id(),
|
517 |
$field_group->index = 0;
|
518 |
|
519 |
foreach ( array_values( $field_group->fields() ) as $field_args ) {
|
520 |
+
$field = new CMBRE2_Field( array(
|
521 |
'field_args' => $field_args,
|
522 |
'group_field' => $field_group,
|
523 |
) );
|
711 |
/**
|
712 |
* Add a field to the metabox
|
713 |
* @since 2.0.3
|
714 |
+
* @param mixed $field Metabox field id or field config array or CMBRE2_Field object
|
715 |
+
* @param CMBRE2_Field object $field_group (optional) CMBRE2_Field object (group parent)
|
716 |
+
* @return mixed CMBRE2_Field object (or false)
|
717 |
*/
|
718 |
public function get_field( $field, $field_group = null ) {
|
719 |
+
if ( is_a( $field, 'CMBRE2_Field' ) ) {
|
720 |
return $field;
|
721 |
}
|
722 |
|
750 |
'object_id' => $this->object_id(),
|
751 |
);
|
752 |
|
753 |
+
$this->fields[ $index ] = new CMBRE2_Field( $args );
|
754 |
|
755 |
return $this->fields[ $index ];
|
756 |
}
|
817 |
*/
|
818 |
protected function _add_field_to_array( $field, &$fields, $position = 0 ) {
|
819 |
if ( $position ) {
|
820 |
+
cmbre2_utils()->array_insert( $fields, array( $field['id'] => $field ), $position );
|
821 |
} else {
|
822 |
$fields[ $field['id'] ] = $field;
|
823 |
}
|
cmb2/includes/CMB2_Ajax.php → cmbre2/includes/CMBRE2_Ajax.php
RENAMED
@@ -1,18 +1,18 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
*
|
5 |
* (i.e. a lot of work to get oEmbeds to work with non-post objects)
|
6 |
*
|
7 |
* @since 0.9.5
|
8 |
*
|
9 |
* @category WordPress_Plugin
|
10 |
-
* @package
|
11 |
* @author WebDevStudios
|
12 |
* @license GPL-2.0+
|
13 |
*/
|
14 |
if ( ! defined( 'WPINC' ) ) exit;
|
15 |
-
class
|
16 |
|
17 |
// Whether to hijack the oembed cache system
|
18 |
protected $hijack = false;
|
@@ -29,7 +29,7 @@ class CMB2_Ajax {
|
|
29 |
public function oembed_handler() {
|
30 |
|
31 |
// Verify our nonce
|
32 |
-
if ( ! ( isset( $_REQUEST['
|
33 |
die();
|
34 |
}
|
35 |
|
@@ -133,7 +133,7 @@ class CMB2_Ajax {
|
|
133 |
|
134 |
// Send back our embed
|
135 |
if ( $check_embed && $check_embed != $fallback ) {
|
136 |
-
return '<div class="embed-status">' . $check_embed . '<p class="
|
137 |
}
|
138 |
|
139 |
// Otherwise, send back error info that no oEmbeds were found
|
@@ -163,7 +163,7 @@ class CMB2_Ajax {
|
|
163 |
|
164 |
// Get cached data
|
165 |
return ( 'options-page' === $this->object_type )
|
166 |
-
?
|
167 |
: get_metadata( $this->object_type, $this->object_id, $meta_key, true );
|
168 |
|
169 |
}
|
@@ -203,7 +203,7 @@ class CMB2_Ajax {
|
|
203 |
// Cache the result to our metadata
|
204 |
return ( 'options-page' !== $this->object_type )
|
205 |
? update_metadata( $this->object_type, $this->object_id, $meta_key, $meta_value )
|
206 |
-
:
|
207 |
}
|
208 |
|
209 |
}
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* CMBRE2 ajax methods
|
5 |
* (i.e. a lot of work to get oEmbeds to work with non-post objects)
|
6 |
*
|
7 |
* @since 0.9.5
|
8 |
*
|
9 |
* @category WordPress_Plugin
|
10 |
+
* @package CMBRE2
|
11 |
* @author WebDevStudios
|
12 |
* @license GPL-2.0+
|
13 |
*/
|
14 |
if ( ! defined( 'WPINC' ) ) exit;
|
15 |
+
class CMBRE2_Ajax {
|
16 |
|
17 |
// Whether to hijack the oembed cache system
|
18 |
protected $hijack = false;
|
29 |
public function oembed_handler() {
|
30 |
|
31 |
// Verify our nonce
|
32 |
+
if ( ! ( isset( $_REQUEST['cmbre2_ajax_nonce'], $_REQUEST['oembed_url'] ) && wp_verify_nonce( $_REQUEST['cmbre2_ajax_nonce'], 'ajax_nonce' ) ) ) {
|
33 |
die();
|
34 |
}
|
35 |
|
133 |
|
134 |
// Send back our embed
|
135 |
if ( $check_embed && $check_embed != $fallback ) {
|
136 |
+
return '<div class="embed-status">' . $check_embed . '<p class="cmbre2-remove-wrapper"><a href="#" class="cmbre2-remove-file-button" rel="' . $args['field_id'] . '">' . 'Remove Embed' . '</a></p></div>';
|
137 |
}
|
138 |
|
139 |
// Otherwise, send back error info that no oEmbeds were found
|
163 |
|
164 |
// Get cached data
|
165 |
return ( 'options-page' === $this->object_type )
|
166 |
+
? cmbre2_options( $this->object_id )->get( $this->embed_args['cache_key'] )
|
167 |
: get_metadata( $this->object_type, $this->object_id, $meta_key, true );
|
168 |
|
169 |
}
|
203 |
// Cache the result to our metadata
|
204 |
return ( 'options-page' !== $this->object_type )
|
205 |
? update_metadata( $this->object_type, $this->object_id, $meta_key, $meta_value )
|
206 |
+
: cmbre2_options( $this->object_id )->update( $this->embed_args['cache_key'], $meta_value, true );
|
207 |
}
|
208 |
|
209 |
}
|
cmbre2/includes/CMBRE2_Boxes.php
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* A CMBRE2 object instance registry for storing every CMBRE2 instance.
|
4 |
+
*
|
5 |
+
* @category WordPress_Plugin
|
6 |
+
* @package CMBRE2
|
7 |
+
* @author WebDevStudios
|
8 |
+
* @license GPL-2.0+
|
9 |
+
* @link http://webdevstudios.com
|
10 |
+
*/
|
11 |
+
if ( ! defined( 'WPINC' ) ) exit;
|
12 |
+
class CMBRE2_Boxes {
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Array of all metabox objects
|
16 |
+
* @var array
|
17 |
+
* @since 2.0.0
|
18 |
+
*/
|
19 |
+
protected static $cmbre2_instances = array();
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Add a CMBRE2 instance object to the registry
|
23 |
+
* @since 1.X.X
|
24 |
+
* @param CMBRE2 $cmb_instance CMBRE2 instance
|
25 |
+
*/
|
26 |
+
public static function add( CMBRE2 $cmb_instance ) {
|
27 |
+
self::$cmbre2_instances[ $cmb_instance->cmb_id ] = $cmb_instance;
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Remove a CMBRE2 instance object to the registry
|
32 |
+
* @since 1.X.X
|
33 |
+
* @param string $cmb_id A CMBRE2 instance id
|
34 |
+
*/
|
35 |
+
public static function remove( $cmb_id ) {
|
36 |
+
if ( array_key_exists( $cmb_id, self::$cmbre2_instances ) ) {
|
37 |
+
unset( self::$cmbre2_instances[ $cmb_id ] );
|
38 |
+
}
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Retrieve a CMBRE2 instance by cmb id
|
43 |
+
* @since 1.X.X
|
44 |
+
* @param string $cmb_id A CMBRE2 instance id
|
45 |
+
*
|
46 |
+
* @return mixed False or CMBRE2 object instance
|
47 |
+
*/
|
48 |
+
public static function get( $cmb_id ) {
|
49 |
+
if ( empty( self::$cmbre2_instances ) || empty( self::$cmbre2_instances[ $cmb_id ] ) ) {
|
50 |
+
return false;
|
51 |
+
}
|
52 |
+
|
53 |
+
return self::$cmbre2_instances[ $cmb_id ];
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Retrieve all CMBRE2 instances registered
|
58 |
+
* @since 1.X.X
|
59 |
+
* @return array Array of all registered metaboxes
|
60 |
+
*/
|
61 |
+
public static function get_all() {
|
62 |
+
return self::$cmbre2_instances;
|
63 |
+
}
|
64 |
+
|
65 |
+
}
|
cmb2/includes/CMB2_Field.php → cmbre2/includes/CMBRE2_Field.php
RENAMED
@@ -1,11 +1,11 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
4 |
*
|
5 |
* @since 1.1.0
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
-
* @package
|
9 |
* @author WebDevStudios
|
10 |
* @license GPL-2.0+
|
11 |
* @link http://webdevstudios.com
|
@@ -16,7 +16,7 @@
|
|
16 |
* @method mixed count()
|
17 |
*/
|
18 |
if ( ! defined( 'WPINC' ) ) exit;
|
19 |
-
class
|
20 |
|
21 |
/**
|
22 |
* Metabox object id
|
@@ -191,7 +191,7 @@ class CMB2_Field {
|
|
191 |
|
192 |
/**
|
193 |
* Filter whether to override getting of meta value.
|
194 |
-
* Returning a non '
|
195 |
* will effectively short-circuit the value retrieval.
|
196 |
*
|
197 |
* @since 2.0.0
|
@@ -212,25 +212,25 @@ class CMB2_Field {
|
|
212 |
* @type bool $single Whether current field is a single database row
|
213 |
* }
|
214 |
*
|
215 |
-
* @param
|
216 |
*/
|
217 |
-
$data = apply_filters( '
|
218 |
|
219 |
/**
|
220 |
-
* Filter and parameters are documented for '
|
221 |
*
|
222 |
* The dynamic portion of the hook, $field_id, refers to the current
|
223 |
-
* field id paramater. Returning a non '
|
224 |
* will effectively short-circuit the value retrieval.
|
225 |
*
|
226 |
* @since 2.0.0
|
227 |
*/
|
228 |
-
$data = apply_filters( "
|
229 |
|
230 |
// If no override, get value normally
|
231 |
-
if ( '
|
232 |
$data = 'options-page' === $a['type']
|
233 |
-
?
|
234 |
: get_metadata( $a['type'], $a['id'], $a['field_id'], ( $a['single'] || $a['repeat'] ) );
|
235 |
}
|
236 |
|
@@ -276,12 +276,12 @@ class CMB2_Field {
|
|
276 |
*
|
277 |
* @param array $field_args All field arguments
|
278 |
*
|
279 |
-
* @param
|
280 |
*/
|
281 |
-
$override = apply_filters( '
|
282 |
|
283 |
/**
|
284 |
-
* Filter and parameters are documented for '
|
285 |
*
|
286 |
* The dynamic portion of the hook, $a['field_id'], refers to the current
|
287 |
* field id paramater. Returning a non-null value
|
@@ -289,7 +289,7 @@ class CMB2_Field {
|
|
289 |
*
|
290 |
* @since 2.0.0
|
291 |
*/
|
292 |
-
$override = apply_filters( "
|
293 |
|
294 |
// If override, return that
|
295 |
if ( null !== $override ) {
|
@@ -298,7 +298,7 @@ class CMB2_Field {
|
|
298 |
|
299 |
// Options page handling (or temp data store)
|
300 |
if ( 'options-page' === $a['type'] || empty( $a['id'] ) ) {
|
301 |
-
return
|
302 |
}
|
303 |
|
304 |
// Add metadata if not single
|
@@ -338,9 +338,9 @@ class CMB2_Field {
|
|
338 |
* 'single' : Whether to save as a
|
339 |
* single meta value
|
340 |
* @param array $field_args All field arguments
|
341 |
-
* @param
|
342 |
*/
|
343 |
-
$override = apply_filters( '
|
344 |
|
345 |
/**
|
346 |
* Filter whether to override removing of meta value.
|
@@ -360,9 +360,9 @@ class CMB2_Field {
|
|
360 |
* 'single' : Whether to save as a
|
361 |
* single meta value
|
362 |
* @param array $field_args All field arguments
|
363 |
-
* @param
|
364 |
*/
|
365 |
-
$override = apply_filters( "
|
366 |
|
367 |
// If no override, remove as usual
|
368 |
if ( null !== $override ) {
|
@@ -370,7 +370,7 @@ class CMB2_Field {
|
|
370 |
}
|
371 |
// Option page handling
|
372 |
elseif ( 'options-page' === $a['type'] || empty( $a['id'] ) ) {
|
373 |
-
return
|
374 |
}
|
375 |
|
376 |
// Remove metadata
|
@@ -417,8 +417,8 @@ class CMB2_Field {
|
|
417 |
return call_user_func( $cb, $meta_value, $this->args(), $this );
|
418 |
}
|
419 |
|
420 |
-
$clean = new
|
421 |
-
// Validation via '
|
422 |
return $clean->{$this->type()}();
|
423 |
}
|
424 |
|
@@ -465,9 +465,9 @@ class CMB2_Field {
|
|
465 |
$updated = $count ? $count : false;
|
466 |
|
467 |
|
468 |
-
} elseif ( !
|
469 |
$updated = $this->update_data( $new_value );
|
470 |
-
} elseif (
|
471 |
$updated = $this->remove_data();
|
472 |
}
|
473 |
|
@@ -558,7 +558,7 @@ class CMB2_Field {
|
|
558 |
}
|
559 |
|
560 |
// Or custom escaping filter can be used
|
561 |
-
$esc = apply_filters( "
|
562 |
if ( null !== $esc ) {
|
563 |
return $esc;
|
564 |
}
|
@@ -592,7 +592,7 @@ class CMB2_Field {
|
|
592 |
*/
|
593 |
public function val_or_default( $meta_value ) {
|
594 |
|
595 |
-
return !
|
596 |
}
|
597 |
|
598 |
/**
|
@@ -601,7 +601,7 @@ class CMB2_Field {
|
|
601 |
* @return string Offset time string
|
602 |
*/
|
603 |
public function field_timezone_offset() {
|
604 |
-
return
|
605 |
}
|
606 |
|
607 |
/**
|
@@ -642,7 +642,7 @@ class CMB2_Field {
|
|
642 |
*/
|
643 |
public function get_timestamp_format( $format = 'date_format', $meta_value = 0 ) {
|
644 |
$meta_value = $meta_value ? $meta_value : $this->escaped_value();
|
645 |
-
$meta_value =
|
646 |
|
647 |
if ( empty( $meta_value ) ) {
|
648 |
return '';
|
@@ -691,7 +691,7 @@ class CMB2_Field {
|
|
691 |
|
692 |
$this->peform_param_callback( 'before' );
|
693 |
|
694 |
-
$this_type = new
|
695 |
$this_type->render();
|
696 |
|
697 |
$this->peform_param_callback( 'after' );
|
@@ -705,7 +705,7 @@ class CMB2_Field {
|
|
705 |
}
|
706 |
|
707 |
/**
|
708 |
-
* Defines the classes for the current
|
709 |
*
|
710 |
* @since 2.0.0
|
711 |
* @return string Space concatenated list of classes
|
@@ -721,13 +721,13 @@ class CMB2_Field {
|
|
721 |
*
|
722 |
* @param array $field_types The types of fields which should get the 'table-layout' class
|
723 |
*/
|
724 |
-
$repeat_table_rows_types = apply_filters( '
|
725 |
'text_url', 'text',
|
726 |
) );
|
727 |
|
728 |
$conditional_classes = array(
|
729 |
'cmb-type-' . str_replace( '_', '-', sanitize_html_class( $this->type() ) ) => true,
|
730 |
-
'
|
731 |
'cmb-repeat' => $this->args( 'repeatable' ),
|
732 |
'cmb-repeat-group-field' => $this->group,
|
733 |
'cmb-inline' => $this->args( 'inline' ),
|
@@ -755,9 +755,9 @@ class CMB2_Field {
|
|
755 |
* @since 2.0.0
|
756 |
*
|
757 |
* @param string $classes Space-separated list of row classes
|
758 |
-
* @param
|
759 |
*/
|
760 |
-
return apply_filters( '
|
761 |
}
|
762 |
|
763 |
/**
|
@@ -881,7 +881,7 @@ class CMB2_Field {
|
|
881 |
) );
|
882 |
|
883 |
// Allow a filter override of the default value
|
884 |
-
$args['default'] = apply_filters( '
|
885 |
//$args['default'] = 5;
|
886 |
// $args['multiple'] = isset( $args['multiple'] ) ? $args['multiple'] : ( 'multicheck' == $args['type'] ? true : false );
|
887 |
$args['repeatable'] = $args['repeatable'] && ! $this->repeatable_exception( $args['type'] );
|
@@ -912,7 +912,7 @@ class CMB2_Field {
|
|
912 |
$args['options']['textarea_name'] = $args['_name'];
|
913 |
}
|
914 |
|
915 |
-
$option_types = apply_filters( '
|
916 |
|
917 |
if ( in_array( $args['type'], $option_types, true ) ) {
|
918 |
|
@@ -926,7 +926,7 @@ class CMB2_Field {
|
|
926 |
|
927 |
}
|
928 |
|
929 |
-
$args = apply_filters( '
|
930 |
|
931 |
return $args;
|
932 |
}
|
1 |
<?php
|
2 |
/**
|
3 |
+
* CMBRE2 field objects
|
4 |
*
|
5 |
* @since 1.1.0
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
+
* @package CMBRE2
|
9 |
* @author WebDevStudios
|
10 |
* @license GPL-2.0+
|
11 |
* @link http://webdevstudios.com
|
16 |
* @method mixed count()
|
17 |
*/
|
18 |
if ( ! defined( 'WPINC' ) ) exit;
|
19 |
+
class CMBRE2_Field {
|
20 |
|
21 |
/**
|
22 |
* Metabox object id
|
191 |
|
192 |
/**
|
193 |
* Filter whether to override getting of meta value.
|
194 |
+
* Returning a non 'cmbre2_field_no_override_val' value
|
195 |
* will effectively short-circuit the value retrieval.
|
196 |
*
|
197 |
* @since 2.0.0
|
212 |
* @type bool $single Whether current field is a single database row
|
213 |
* }
|
214 |
*
|
215 |
+
* @param CMBRE2_Field object $field This field object
|
216 |
*/
|
217 |
+
$data = apply_filters( 'cmbre2_override_meta_value', 'cmbre2_field_no_override_val', $this->object_id, $a, $this );
|
218 |
|
219 |
/**
|
220 |
+
* Filter and parameters are documented for 'cmbre2_override_meta_value' filter (above).
|
221 |
*
|
222 |
* The dynamic portion of the hook, $field_id, refers to the current
|
223 |
+
* field id paramater. Returning a non 'cmbre2_field_no_override_val' value
|
224 |
* will effectively short-circuit the value retrieval.
|
225 |
*
|
226 |
* @since 2.0.0
|
227 |
*/
|
228 |
+
$data = apply_filters( "cmbre2_override_{$a['field_id']}_meta_value", $data, $this->object_id, $a, $this );
|
229 |
|
230 |
// If no override, get value normally
|
231 |
+
if ( 'cmbre2_field_no_override_val' === $data ) {
|
232 |
$data = 'options-page' === $a['type']
|
233 |
+
? cmbre2_options( $a['id'] )->get( $a['field_id'] )
|
234 |
: get_metadata( $a['type'], $a['id'], $a['field_id'], ( $a['single'] || $a['repeat'] ) );
|
235 |
}
|
236 |
|
276 |
*
|
277 |
* @param array $field_args All field arguments
|
278 |
*
|
279 |
+
* @param CMBRE2_Field object $field This field object
|
280 |
*/
|
281 |
+
$override = apply_filters( 'cmbre2_override_meta_save', null, $a, $this->args(), $this );
|
282 |
|
283 |
/**
|
284 |
+
* Filter and parameters are documented for 'cmbre2_override_meta_save' filter (above).
|
285 |
*
|
286 |
* The dynamic portion of the hook, $a['field_id'], refers to the current
|
287 |
* field id paramater. Returning a non-null value
|
289 |
*
|
290 |
* @since 2.0.0
|
291 |
*/
|
292 |
+
$override = apply_filters( "cmbre2_override_{$a['field_id']}_meta_save", $override, $a, $this->args(), $this );
|
293 |
|
294 |
// If override, return that
|
295 |
if ( null !== $override ) {
|
298 |
|
299 |
// Options page handling (or temp data store)
|
300 |
if ( 'options-page' === $a['type'] || empty( $a['id'] ) ) {
|
301 |
+
return cmbre2_options( $a['id'] )->update( $a['field_id'], $a[ 'value' ], false, $a['single'] );
|
302 |
}
|
303 |
|
304 |
// Add metadata if not single
|
338 |
* 'single' : Whether to save as a
|
339 |
* single meta value
|
340 |
* @param array $field_args All field arguments
|
341 |
+
* @param CMBRE2_Field object $field This field object
|
342 |
*/
|
343 |
+
$override = apply_filters( 'cmbre2_override_meta_remove', null, $a, $this->args(), $this );
|
344 |
|
345 |
/**
|
346 |
* Filter whether to override removing of meta value.
|
360 |
* 'single' : Whether to save as a
|
361 |
* single meta value
|
362 |
* @param array $field_args All field arguments
|
363 |
+
* @param CMBRE2_Field object $field This field object
|
364 |
*/
|
365 |
+
$override = apply_filters( "cmbre2_override_{$a['field_id']}_meta_remove", $override, $a, $this->args(), $this );
|
366 |
|
367 |
// If no override, remove as usual
|
368 |
if ( null !== $override ) {
|
370 |
}
|
371 |
// Option page handling
|
372 |
elseif ( 'options-page' === $a['type'] || empty( $a['id'] ) ) {
|
373 |
+
return cmbre2_options( $a['id'] )->remove( $a['field_id'] );
|
374 |
}
|
375 |
|
376 |
// Remove metadata
|
417 |
return call_user_func( $cb, $meta_value, $this->args(), $this );
|
418 |
}
|
419 |
|
420 |
+
$clean = new CMBRE2_Sanitize( $this, $meta_value );
|
421 |
+
// Validation via 'CMBRE2_Sanitize' (with fallback filter)
|
422 |
return $clean->{$this->type()}();
|
423 |
}
|
424 |
|
465 |
$updated = $count ? $count : false;
|
466 |
|
467 |
|
468 |
+
} elseif ( ! cmbre2_utils()->isempty( $new_value ) && $new_value !== $old ) {
|
469 |
$updated = $this->update_data( $new_value );
|
470 |
+
} elseif ( cmbre2_utils()->isempty( $new_value ) ) {
|
471 |
$updated = $this->remove_data();
|
472 |
}
|
473 |
|
558 |
}
|
559 |
|
560 |
// Or custom escaping filter can be used
|
561 |
+
$esc = apply_filters( "cmbre2_types_esc_{$this->type()}", null, $meta_value, $this->args(), $this );
|
562 |
if ( null !== $esc ) {
|
563 |
return $esc;
|
564 |
}
|
592 |
*/
|
593 |
public function val_or_default( $meta_value ) {
|
594 |
|
595 |
+
return ! cmbre2_utils()->isempty( $meta_value ) ? $meta_value : $this->get_param_callback_result( 'default', false );
|
596 |
}
|
597 |
|
598 |
/**
|
601 |
* @return string Offset time string
|
602 |
*/
|
603 |
public function field_timezone_offset() {
|
604 |
+
return cmbre2_utils()->timezone_offset( $this->field_timezone() );
|
605 |
}
|
606 |
|
607 |
/**
|
642 |
*/
|
643 |
public function get_timestamp_format( $format = 'date_format', $meta_value = 0 ) {
|
644 |
$meta_value = $meta_value ? $meta_value : $this->escaped_value();
|
645 |
+
$meta_value = cmbre2_utils()->make_valid_time_stamp( $meta_value );
|
646 |
|
647 |
if ( empty( $meta_value ) ) {
|
648 |
return '';
|
691 |
|
692 |
$this->peform_param_callback( 'before' );
|
693 |
|
694 |
+
$this_type = new CMBRE2_Types( $this );
|
695 |
$this_type->render();
|
696 |
|
697 |
$this->peform_param_callback( 'after' );
|
705 |
}
|
706 |
|
707 |
/**
|
708 |
+
* Defines the classes for the current CMBRE2 field row
|
709 |
*
|
710 |
* @since 2.0.0
|
711 |
* @return string Space concatenated list of classes
|
721 |
*
|
722 |
* @param array $field_types The types of fields which should get the 'table-layout' class
|
723 |
*/
|
724 |
+
$repeat_table_rows_types = apply_filters( 'cmbre2_repeat_table_row_types', array(
|
725 |
'text_url', 'text',
|
726 |
) );
|
727 |
|
728 |
$conditional_classes = array(
|
729 |
'cmb-type-' . str_replace( '_', '-', sanitize_html_class( $this->type() ) ) => true,
|
730 |
+
'cmbre2-id-' . str_replace( '_', '-', sanitize_html_class( $this->id() ) ) => true,
|
731 |
'cmb-repeat' => $this->args( 'repeatable' ),
|
732 |
'cmb-repeat-group-field' => $this->group,
|
733 |
'cmb-inline' => $this->args( 'inline' ),
|
755 |
* @since 2.0.0
|
756 |
*
|
757 |
* @param string $classes Space-separated list of row classes
|
758 |
+
* @param CMBRE2_Field object $field This field object
|
759 |
*/
|
760 |
+
return apply_filters( 'cmbre2_row_classes', implode( ' ', $classes ), $this );
|
761 |
}
|
762 |
|
763 |
/**
|
881 |
) );
|
882 |
|
883 |
// Allow a filter override of the default value
|
884 |
+
$args['default'] = apply_filters( 'cmbre2_default_filter', $args['default'], $this );
|
885 |
//$args['default'] = 5;
|
886 |
// $args['multiple'] = isset( $args['multiple'] ) ? $args['multiple'] : ( 'multicheck' == $args['type'] ? true : false );
|
887 |
$args['repeatable'] = $args['repeatable'] && ! $this->repeatable_exception( $args['type'] );
|
912 |
$args['options']['textarea_name'] = $args['_name'];
|
913 |
}
|
914 |
|
915 |
+
$option_types = apply_filters( 'cmbre2_all_or_nothing_types', array( 'select', 'radio', 'radio_inline', 'taxonomy_select', 'taxonomy_radio', 'taxonomy_radio_inline' ), $this );
|
916 |
|
917 |
if ( in_array( $args['type'], $option_types, true ) ) {
|
918 |
|
926 |
|
927 |
}
|
928 |
|
929 |
+
$args = apply_filters( 'cmbre2_rbs_args_defaultvalue', $args, $this );
|
930 |
|
931 |
return $args;
|
932 |
}
|
cmb2/includes/CMB2_Options.php → cmbre2/includes/CMBRE2_Options.php
RENAMED
@@ -1,24 +1,24 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
4 |
*
|
5 |
* @category WordPress_Plugin
|
6 |
-
* @package
|
7 |
* @author WebDevStudios
|
8 |
* @license GPL-2.0+
|
9 |
* @link http://webdevstudios.com
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
-
* Retrieves an instance of
|
14 |
*
|
15 |
-
* @package
|
16 |
* @author WebDevStudios
|
17 |
*/
|
18 |
if ( ! defined( 'WPINC' ) ) exit;
|
19 |
-
class
|
20 |
/**
|
21 |
-
* Array of all
|
22 |
* @var array
|
23 |
* @since 1.0.0
|
24 |
*/
|
@@ -27,7 +27,7 @@ class CMB2_Options {
|
|
27 |
public static function get( $option_key ) {
|
28 |
|
29 |
if ( empty( self::$option_sets ) || empty( self::$option_sets[ $option_key ] ) ) {
|
30 |
-
self::$option_sets[ $option_key ] = new
|
31 |
}
|
32 |
|
33 |
return self::$option_sets[ $option_key ];
|
@@ -38,10 +38,10 @@ class CMB2_Options {
|
|
38 |
* Handles getting/setting of values to an option array
|
39 |
* for a specific option key
|
40 |
*
|
41 |
-
* @package
|
42 |
* @author WebDevStudios
|
43 |
*/
|
44 |
-
class
|
45 |
|
46 |
/**
|
47 |
* Options array
|
@@ -149,7 +149,7 @@ class CMB2_Option {
|
|
149 |
/**
|
150 |
* Saves the option array
|
151 |
* Needs to be run after finished using remove/update_option
|
152 |
-
* @uses apply_filters() Calls '
|
153 |
* to allow overwriting the option value to be stored.
|
154 |
*
|
155 |
* @since 1.0.1
|
@@ -165,9 +165,9 @@ class CMB2_Option {
|
|
165 |
return false;
|
166 |
}
|
167 |
|
168 |
-
$test_save = apply_filters( "
|
169 |
|
170 |
-
if ( '
|
171 |
return $test_save;
|
172 |
}
|
173 |
|
@@ -177,7 +177,7 @@ class CMB2_Option {
|
|
177 |
|
178 |
/**
|
179 |
* Retrieve option value based on name of option.
|
180 |
-
* @uses apply_filters() Calls '
|
181 |
* overwriting the option value to be retrieved.
|
182 |
*
|
183 |
* @since 1.0.1
|
@@ -187,9 +187,9 @@ class CMB2_Option {
|
|
187 |
public function get_options( $default = null ) {
|
188 |
if ( empty( $this->options ) && ! empty( $this->key ) ) {
|
189 |
|
190 |
-
$test_get = apply_filters( "
|
191 |
|
192 |
-
if ( '
|
193 |
$this->options = $test_get;
|
194 |
} else {
|
195 |
// If no override, get the option
|
1 |
<?php
|
2 |
/**
|
3 |
+
* CMBRE2 Utility classes for handling multi-dimensional array data for options
|
4 |
*
|
5 |
* @category WordPress_Plugin
|
6 |
+
* @package CMBRE2
|
7 |
* @author WebDevStudios
|
8 |
* @license GPL-2.0+
|
9 |
* @link http://webdevstudios.com
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
+
* Retrieves an instance of CMBRE2_Option based on the option key
|
14 |
*
|
15 |
+
* @package CMBRE2
|
16 |
* @author WebDevStudios
|
17 |
*/
|
18 |
if ( ! defined( 'WPINC' ) ) exit;
|
19 |
+
class CMBRE2_Options {
|
20 |
/**
|
21 |
+
* Array of all CMBRE2_Option instances
|
22 |
* @var array
|
23 |
* @since 1.0.0
|
24 |
*/
|
27 |
public static function get( $option_key ) {
|
28 |
|
29 |
if ( empty( self::$option_sets ) || empty( self::$option_sets[ $option_key ] ) ) {
|
30 |
+
self::$option_sets[ $option_key ] = new CMBRE2_Option( $option_key );
|
31 |
}
|
32 |
|
33 |
return self::$option_sets[ $option_key ];
|
38 |
* Handles getting/setting of values to an option array
|
39 |
* for a specific option key
|
40 |
*
|
41 |
+
* @package CMBRE2
|
42 |
* @author WebDevStudios
|
43 |
*/
|
44 |
+
class CMBRE2_Option {
|
45 |
|
46 |
/**
|
47 |
* Options array
|
149 |
/**
|
150 |
* Saves the option array
|
151 |
* Needs to be run after finished using remove/update_option
|
152 |
+
* @uses apply_filters() Calls 'cmbre2_override_option_save_{$this->key}' hook
|
153 |
* to allow overwriting the option value to be stored.
|
154 |
*
|
155 |
* @since 1.0.1
|
165 |
return false;
|
166 |
}
|
167 |
|
168 |
+
$test_save = apply_filters( "cmbre2_override_option_save_{$this->key}", 'cmbre2_no_override_option_save', $this->options, $this );
|
169 |
|
170 |
+
if ( 'cmbre2_no_override_option_save' !== $test_save ) {
|
171 |
return $test_save;
|
172 |
}
|
173 |
|
177 |
|
178 |
/**
|
179 |
* Retrieve option value based on name of option.
|
180 |
+
* @uses apply_filters() Calls 'cmbre2_override_option_get_{$this->key}' hook to allow
|
181 |
* overwriting the option value to be retrieved.
|
182 |
*
|
183 |
* @since 1.0.1
|
187 |
public function get_options( $default = null ) {
|
188 |
if ( empty( $this->options ) && ! empty( $this->key ) ) {
|
189 |
|
190 |
+
$test_get = apply_filters( "cmbre2_override_option_get_{$this->key}", 'cmbre2_no_override_option_get', $default, $this );
|
191 |
|
192 |
+
if ( 'cmbre2_no_override_option_get' !== $test_get ) {
|
193 |
$this->options = $test_get;
|
194 |
} else {
|
195 |
// If no override, get the option
|
cmb2/includes/CMB2_Sanitize.php → cmbre2/includes/CMBRE2_Sanitize.php
RENAMED
@@ -1,11 +1,11 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
4 |
*
|
5 |
* @since 0.0.4
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
-
* @package
|
9 |
* @author WebDevStudios
|
10 |
* @license GPL-2.0+
|
11 |
* @link http://webdevstudios.com
|
@@ -13,11 +13,11 @@
|
|
13 |
* @method string _id()
|
14 |
*/
|
15 |
if ( ! defined( 'WPINC' ) ) exit;
|
16 |
-
class
|
17 |
|
18 |
/**
|
19 |
* A CMB field object
|
20 |
-
* @var
|
21 |
*/
|
22 |
public $field;
|
23 |
|
@@ -30,10 +30,10 @@ class CMB2_Sanitize {
|
|
30 |
/**
|
31 |
* Setup our class vars
|
32 |
* @since 1.1.0
|
33 |
-
* @param
|
34 |
* @param mixed $value Field value
|
35 |
*/
|
36 |
-
public function __construct(
|
37 |
$this->field = $field;
|
38 |
$this->value = stripslashes_deep( $value ); // get rid of those evil magic quotes
|
39 |
}
|
@@ -67,15 +67,15 @@ class CMB2_Sanitize {
|
|
67 |
* @param mixed $value The value to be saved to this field.
|
68 |
* @param int $object_id The ID of the object where the value will be saved
|
69 |
* @param array $field_args The current field's arguments
|
70 |
-
* @param object $sanitizer This `
|
71 |
*/
|
72 |
-
$override_value = apply_filters( "
|
73 |
/**
|
74 |
* This exists for back-compatibility, but validation
|
75 |
* is not what happens here.
|
76 |
* @deprecated See documentation above.
|
77 |
*/
|
78 |
-
$override_value = apply_filters( "
|
79 |
|
80 |
if ( null !== $override_value ) {
|
81 |
return $override_value;
|
@@ -261,10 +261,10 @@ class CMB2_Sanitize {
|
|
261 |
}
|
262 |
|
263 |
if ( empty( $tzstring ) ) {
|
264 |
-
$tzstring =
|
265 |
}
|
266 |
|
267 |
-
$offset =
|
268 |
|
269 |
if ( 'UTC' === substr( $tzstring, 0, 3 ) ) {
|
270 |
$tzstring = timezone_name_from_abbr( '', $offset, 0 );
|
@@ -309,7 +309,7 @@ class CMB2_Sanitize {
|
|
309 |
|
310 |
unset( $args['_id'], $args['_name'] );
|
311 |
// And get new field object
|
312 |
-
$field = new
|
313 |
'field_args' => $args,
|
314 |
'group_field' => $group,
|
315 |
'object_id' => $this->field->object_id,
|
@@ -332,7 +332,7 @@ class CMB2_Sanitize {
|
|
332 |
|
333 |
// If there is no ID saved yet, try to get it from the url
|
334 |
if ( $this->value && ! $id_val ) {
|
335 |
-
$id_val =
|
336 |
}
|
337 |
|
338 |
if ( $group ) {
|
1 |
<?php
|
2 |
/**
|
3 |
+
* CMBRE2 field sanitization
|
4 |
*
|
5 |
* @since 0.0.4
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
+
* @package CMBRE2
|
9 |
* @author WebDevStudios
|
10 |
* @license GPL-2.0+
|
11 |
* @link http://webdevstudios.com
|
13 |
* @method string _id()
|
14 |
*/
|
15 |
if ( ! defined( 'WPINC' ) ) exit;
|
16 |
+
class CMBRE2_Sanitize {
|
17 |
|
18 |
/**
|
19 |
* A CMB field object
|
20 |
+
* @var CMBRE2_Field object
|
21 |
*/
|
22 |
public $field;
|
23 |
|
30 |
/**
|
31 |
* Setup our class vars
|
32 |
* @since 1.1.0
|
33 |
+
* @param CMBRE2_Field $field A CMBRE2 field object
|
34 |
* @param mixed $value Field value
|
35 |
*/
|
36 |
+
public function __construct( CMBRE2_Field $field, $value ) {
|
37 |
$this->field = $field;
|
38 |
$this->value = stripslashes_deep( $value ); // get rid of those evil magic quotes
|
39 |
}
|
67 |
* @param mixed $value The value to be saved to this field.
|
68 |
* @param int $object_id The ID of the object where the value will be saved
|
69 |
* @param array $field_args The current field's arguments
|
70 |
+
* @param object $sanitizer This `CMBRE2_Sanitize` object
|
71 |
*/
|
72 |
+
$override_value = apply_filters( "cmbre2_sanitize_{$this->field->type()}", null, $this->value, $this->field->object_id, $this->field->args(), $this );
|
73 |
/**
|
74 |
* This exists for back-compatibility, but validation
|
75 |
* is not what happens here.
|
76 |
* @deprecated See documentation above.
|
77 |
*/
|
78 |
+
$override_value = apply_filters( "cmbre2_validate_{$this->field->type()}", $override_value, $this->value, $this->field->object_id, $this->field->args(), $this );
|
79 |
|
80 |
if ( null !== $override_value ) {
|
81 |
return $override_value;
|
261 |
}
|
262 |
|
263 |
if ( empty( $tzstring ) ) {
|
264 |
+
$tzstring = cmbre2_utils()->timezone_string();
|
265 |
}
|
266 |
|
267 |
+
$offset = cmbre2_utils()->timezone_offset( $tzstring );
|
268 |
|
269 |
if ( 'UTC' === substr( $tzstring, 0, 3 ) ) {
|
270 |
$tzstring = timezone_name_from_abbr( '', $offset, 0 );
|
309 |
|
310 |
unset( $args['_id'], $args['_name'] );
|
311 |
// And get new field object
|
312 |
+
$field = new CMBRE2_Field( array(
|
313 |
'field_args' => $args,
|
314 |
'group_field' => $group,
|
315 |
'object_id' => $this->field->object_id,
|
332 |
|
333 |
// If there is no ID saved yet, try to get it from the url
|
334 |
if ( $this->value && ! $id_val ) {
|
335 |
+
$id_val = cmbre2_utils()->image_id_from_url( $this->value );
|
336 |
}
|
337 |
|
338 |
if ( $group ) {
|
cmb2/includes/CMB2_Show_Filters.php → cmbre2/includes/CMBRE2_Show_Filters.php
RENAMED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Show On Filters
|
4 |
-
* Use the '
|
5 |
* under which a metabox is displayed.
|
6 |
* Below you can limit it by ID and page template
|
7 |
*
|
@@ -10,14 +10,14 @@
|
|
10 |
* @since 1.0.0
|
11 |
*
|
12 |
* @category WordPress_Plugin
|
13 |
-
* @package
|
14 |
* @author WebDevStudios
|
15 |
* @license GPL-2.0+
|
16 |
* @link http://webdevstudios.com
|
17 |
*/
|
18 |
if ( ! defined( 'WPINC' ) ) exit;
|
19 |
|
20 |
-
class
|
21 |
|
22 |
/**
|
23 |
* Get Show_on key. backwards compatible w/ 'key' indexes
|
1 |
<?php
|
2 |
/**
|
3 |
* Show On Filters
|
4 |
+
* Use the 'cmbre2_show_on' filter to further refine the conditions
|
5 |
* under which a metabox is displayed.
|
6 |
* Below you can limit it by ID and page template
|
7 |
*
|
10 |
* @since 1.0.0
|
11 |
*
|
12 |
* @category WordPress_Plugin
|
13 |
+
* @package CMBRE2
|
14 |
* @author WebDevStudios
|
15 |
* @license GPL-2.0+
|
16 |
* @link http://webdevstudios.com
|
17 |
*/
|
18 |
if ( ! defined( 'WPINC' ) ) exit;
|
19 |
|
20 |
+
class CMBRE2_Show_Filters {
|
21 |
|
22 |
/**
|
23 |
* Get Show_on key. backwards compatible w/ 'key' indexes
|
cmb2/includes/CMB2_Types.php → cmbre2/includes/CMBRE2_Types.php
RENAMED
@@ -7,13 +7,13 @@
|
|
7 |
* @since 1.0.0
|
8 |
*
|
9 |
* @category WordPress_Plugin
|
10 |
-
* @package
|
11 |
* @author WebDevStudios
|
12 |
* @license GPL-2.0+
|
13 |
* @link http://webdevstudios.com
|
14 |
*/
|
15 |
if ( ! defined( 'WPINC' ) ) exit;
|
16 |
-
class
|
17 |
|
18 |
/**
|
19 |
* An iterator value for repeatable fields
|
@@ -23,18 +23,18 @@ class CMB2_Types {
|
|
23 |
public $iterator = 0;
|
24 |
|
25 |
/**
|
26 |
-
* Current
|
27 |
-
* @var
|
28 |
* @since 1.0.0
|
29 |
*/
|
30 |
public $field;
|
31 |
|
32 |
-
public function __construct(
|
33 |
$this->field = $field;
|
34 |
}
|
35 |
|
36 |
/**
|
37 |
-
* Default fallback. Allows rendering fields via "
|
38 |
* @since 1.0.0
|
39 |
* @param string $name Non-existent method name
|
40 |
* @param array $arguments All arguments passed to the method
|
@@ -45,7 +45,7 @@ class CMB2_Types {
|
|
45 |
*
|
46 |
* The dynamic portion of the hook name, $name, refers to the field type.
|
47 |
*
|
48 |
-
* @param array $field The passed in `
|
49 |
* @param mixed $escaped_value The value of this field escaped.
|
50 |
* It defaults to `sanitize_text_field`.
|
51 |
* If you need the unescaped value, you can access it
|
@@ -54,9 +54,9 @@ class CMB2_Types {
|
|
54 |
* @param string $object_type The type of object you are working with.
|
55 |
* Most commonly, `post` (this applies to all post-types),
|
56 |
* but could also be `comment`, `user` or `options-page`.
|
57 |
-
* @param object $field_type_object This `
|
58 |
*/
|
59 |
-
do_action( "
|
60 |
}
|
61 |
|
62 |
/**
|
@@ -154,7 +154,7 @@ class CMB2_Types {
|
|
154 |
public function is_valid_img_ext( $file ) {
|
155 |
$file_ext = $this->get_file_ext( $file );
|
156 |
|
157 |
-
$is_valid_types = (array) apply_filters( '
|
158 |
|
159 |
return ( $file_ext && in_array( $file_ext, $is_valid_types ) );
|
160 |
}
|
@@ -168,7 +168,7 @@ class CMB2_Types {
|
|
168 |
* @return array Parsed and filtered arguments
|
169 |
*/
|
170 |
public function parse_args( $args, $element, $defaults ) {
|
171 |
-
return wp_parse_args( apply_filters( "
|
172 |
}
|
173 |
|
174 |
/**
|
@@ -253,7 +253,7 @@ class CMB2_Types {
|
|
253 |
public function list_input( $args = array(), $i ) {
|
254 |
$a = $this->parse_args( $args, 'list_input', array(
|
255 |
'type' => 'radio',
|
256 |
-
'class' => '
|
257 |
'name' => $this->_name(),
|
258 |
'id' => $this->_id( $i ),
|
259 |
'value' => $this->field->escaped_value(),
|
@@ -381,7 +381,7 @@ class CMB2_Types {
|
|
381 |
}
|
382 |
|
383 |
$tag = $paragraph ? 'p' : 'span';
|
384 |
-
$desc = sprintf( "\n" . '<%1$s class="
|
385 |
|
386 |
if ( $echo ) {
|
387 |
echo $desc;
|
@@ -436,7 +436,7 @@ class CMB2_Types {
|
|
436 |
*/
|
437 |
public function textarea( $args = array() ) {
|
438 |
$a = $this->parse_args( $args, 'textarea', array(
|
439 |
-
'class' => '
|
440 |
'name' => $this->_name(),
|
441 |
'id' => $this->_id(),
|
442 |
'cols' => 60,
|
@@ -460,31 +460,31 @@ class CMB2_Types {
|
|
460 |
}
|
461 |
|
462 |
public function text_small() {
|
463 |
-
return $this->input( array( 'class' => '
|
464 |
}
|
465 |
|
466 |
public function text_medium() {
|
467 |
-
return $this->input( array( 'class' => '
|
468 |
}
|
469 |
|
470 |
public function text_email() {
|
471 |
-
return $this->input( array( 'class' => '
|
472 |
}
|
473 |
|
474 |
public function text_url() {
|
475 |
-
return $this->input( array( 'class' => '
|
476 |
}
|
477 |
|
478 |
public function text_money() {
|
479 |
-
return ( ! $this->field->get_param_callback_result( 'before_field' ) ? '$ ' : ' ' ) . $this->input( array( 'class' => '
|
480 |
}
|
481 |
|
482 |
public function textarea_small() {
|
483 |
-
return $this->textarea( array( 'class' => '
|
484 |
}
|
485 |
|
486 |
public function textarea_code() {
|
487 |
-
return sprintf( '<pre>%s', $this->textarea( array( 'class' => '
|
488 |
}
|
489 |
|
490 |
public function wysiwyg( $args = array() ) {
|
@@ -501,7 +501,7 @@ class CMB2_Types {
|
|
501 |
|
502 |
public function text_date( $args = array() ) {
|
503 |
$args = wp_parse_args( $args, array(
|
504 |
-
'class' => '
|
505 |
'value' => $this->field->get_timestamp_format(),
|
506 |
'desc' => $this->_desc(),
|
507 |
) );
|
@@ -516,7 +516,7 @@ class CMB2_Types {
|
|
516 |
|
517 |
public function text_time( $args = array() ) {
|
518 |
$args = wp_parse_args( $args, array(
|
519 |
-
'class' => '
|
520 |
'value' => $this->field->get_timestamp_format( 'time_format' ),
|
521 |
'desc' => $this->_desc(),
|
522 |
) );
|
@@ -544,7 +544,7 @@ class CMB2_Types {
|
|
544 |
$has_good_value = ! empty( $args['value'] ) && ! is_array( $args['value'] );
|
545 |
|
546 |
$date_args = wp_parse_args( $args['datepicker'], array(
|
547 |
-
'class' => '
|
548 |
'name' => $this->_name( '[date]' ),
|
549 |
'id' => $this->_id( '_date' ),
|
550 |
'value' => $has_good_value ? $this->field->get_timestamp_format( 'date_format', $args['value'] ) : '',
|
@@ -552,7 +552,7 @@ class CMB2_Types {
|
|
552 |
) );
|
553 |
|
554 |
$time_args = wp_parse_args( $args['timepicker'], array(
|
555 |
-
'class' => '
|
556 |
'name' => $this->_name( '[time]' ),
|
557 |
'id' => $this->_id( '_time' ),
|
558 |
'value' => $has_good_value ? $this->field->get_timestamp_format( 'time_format', $args['value'] ) : '',
|
@@ -590,7 +590,7 @@ class CMB2_Types {
|
|
590 |
) );
|
591 |
|
592 |
$timezone_args = wp_parse_args( $args['select_timezone'], array(
|
593 |
-
'class' => '
|
594 |
'name' => $this->_name( '[timezone]' ),
|
595 |
'id' => $this->_id( '_timezone' ),
|
596 |
'options' => wp_timezone_choice( $tzstring ),
|
@@ -603,10 +603,10 @@ class CMB2_Types {
|
|
603 |
public function select_timezone() {
|
604 |
$this->field->args['default'] = $this->field->args( 'default' )
|
605 |
? $this->field->args( 'default' )
|
606 |
-
:
|
607 |
|
608 |
return $this->select( array(
|
609 |
-
'class' => '
|
610 |
'options' => wp_timezone_choice( $this->field->escaped_value() ),
|
611 |
'desc' => $this->_desc(),
|
612 |
) );
|
@@ -623,13 +623,13 @@ class CMB2_Types {
|
|
623 |
$meta_value = '#';
|
624 |
}
|
625 |
|
626 |
-
return $this->input( array( 'class' => '
|
627 |
}
|
628 |
|
629 |
public function title( $args = array() ) {
|
630 |
$a = $this->parse_args( $args, 'title', array(
|
631 |
'tag' => $this->field->object_type == 'post' ? 'h5' : 'h3',
|
632 |
-
'class' => '
|
633 |
'name' => $this->field->args( 'name' ),
|
634 |
'desc' => $this->_desc( true ),
|
635 |
) );
|
@@ -639,7 +639,7 @@ class CMB2_Types {
|
|
639 |
|
640 |
public function select( $args = array() ) {
|
641 |
$a = $this->parse_args( $args, 'select', array(
|
642 |
-
'class' => '
|
643 |
'name' => $this->_name(),
|
644 |
'id' => $this->_id(),
|
645 |
'desc' => $this->_desc( true ),
|
@@ -659,8 +659,8 @@ class CMB2_Types {
|
|
659 |
|
660 |
$option_none = $this->field->args( 'show_option_none' );
|
661 |
if ( ! empty( $option_none ) ) {
|
662 |
-
$option_none_value = apply_filters( '
|
663 |
-
$option_none_value = apply_filters( "
|
664 |
|
665 |
$options .= $this->select_option( array(
|
666 |
'label' => $option_none,
|
@@ -682,7 +682,7 @@ class CMB2_Types {
|
|
682 |
|
683 |
public function radio( $args = array(), $type = 'radio' ) {
|
684 |
$a = $this->parse_args( $args, $type, array(
|
685 |
-
'class' => '
|
686 |
'options' => $this->concat_items( array( 'label' => 'test', 'method' => 'list_input' ) ),
|
687 |
'desc' => $this->_desc( true ),
|
688 |
) );
|
@@ -697,8 +697,8 @@ class CMB2_Types {
|
|
697 |
public function multicheck( $type = 'checkbox' ) {
|
698 |
|
699 |
$classes = false === $this->field->args( 'select_all_button' )
|
700 |
-
? '
|
701 |
-
: '
|
702 |
|
703 |
return $this->radio( array( 'class' => $classes, 'options' => $this->concat_items( array( 'name' => $this->_name() . '[]', 'method' => 'list_input_checkbox' ) ) ), $type );
|
704 |
}
|
@@ -709,7 +709,7 @@ class CMB2_Types {
|
|
709 |
|
710 |
public function checkbox() {
|
711 |
$meta_value = $this->field->escaped_value();
|
712 |
-
$args = array( 'type' => 'checkbox', 'class' => '
|
713 |
if ( ! empty( $meta_value ) ) {
|
714 |
$args['checked'] = 'checked';
|
715 |
}
|
@@ -727,7 +727,7 @@ class CMB2_Types {
|
|
727 |
} else {
|
728 |
$option_none = $this->field->args( 'show_option_none' );
|
729 |
if ( ! empty( $option_none ) ) {
|
730 |
-
$option_none_value = apply_filters( "
|
731 |
$args = array(
|
732 |
'value' => $option_none_value,
|
733 |
'label' => $option_none,
|
@@ -791,8 +791,8 @@ class CMB2_Types {
|
|
791 |
}
|
792 |
|
793 |
$classes = false === $this->field->args( 'select_all_button' )
|
794 |
-
? '
|
795 |
-
: '
|
796 |
|
797 |
return $this->radio( array( 'class' => $classes, 'options' => $options ), 'taxonomy_multicheck' );
|
798 |
}
|
@@ -804,7 +804,7 @@ class CMB2_Types {
|
|
804 |
public function oembed() {
|
805 |
$meta_value = trim( $this->field->escaped_value() );
|
806 |
$oembed = ! empty( $meta_value )
|
807 |
-
?
|
808 |
'url' => $this->field->escaped_value(),
|
809 |
'object_id' => $this->field->object_id,
|
810 |
'object_type' => $this->field->object_type,
|
@@ -814,12 +814,12 @@ class CMB2_Types {
|
|
814 |
: '';
|
815 |
|
816 |
echo $this->input( array(
|
817 |
-
'class' => '
|
818 |
'data-objectid' => $this->field->object_id,
|
819 |
'data-objecttype' => $this->field->object_type,
|
820 |
) ),
|
821 |
'<p class="cmb-spinner spinner" style="display:none;"></p>',
|
822 |
-
'<div id="', $this->_id( '-status' ), '" class="
|
823 |
}
|
824 |
|
825 |
public function file_list() {
|
@@ -829,18 +829,18 @@ class CMB2_Types {
|
|
829 |
|
830 |
echo $this->input( array(
|
831 |
'type' => 'hidden',
|
832 |
-
'class' => '
|
833 |
'size' => 45, 'desc' => '', 'value' => '',
|
834 |
'data-previewsize' => is_array( $img_size ) ? sprintf( '[%s]', implode( ',', $img_size ) ) : 50,
|
835 |
) ),
|
836 |
$this->input( array(
|
837 |
'type' => 'button',
|
838 |
-
'class' => '
|
839 |
'value' => esc_html( $this->_text( 'add_upload_files_text', 'Add or Upload Files' ) ),
|
840 |
'name' => '', 'id' => '',
|
841 |
) );
|
842 |
|
843 |
-
echo '<ul id="', $this->_id( '-status' ), '" class="
|
844 |
|
845 |
if ( $meta_value && is_array( $meta_value ) ) {
|
846 |
|
@@ -888,13 +888,13 @@ class CMB2_Types {
|
|
888 |
|
889 |
echo $this->input( array(
|
890 |
'type' => $input_type,
|
891 |
-
'class' => '
|
892 |
'size' => 45,
|
893 |
'desc' => '',
|
894 |
'data-previewsize' => is_array( $img_size ) ? '[' . implode( ',', $img_size ) . ']' : 350,
|
895 |
) );
|
896 |
|
897 |
-
printf( '<input class="
|
898 |
|
899 |
$this->_desc( true, true );
|
900 |
|
@@ -905,7 +905,7 @@ class CMB2_Types {
|
|
905 |
unset( $args['_id'], $args['_name'] );
|
906 |
|
907 |
// And get new field object
|
908 |
-
$this->field = new
|
909 |
'field_args' => $args,
|
910 |
'group_field' => $this->field->group,
|
911 |
'object_type' => $this->field->object_type,
|
@@ -917,16 +917,16 @@ class CMB2_Types {
|
|
917 |
|
918 |
// If there is no ID saved yet, try to get it from the url
|
919 |
if ( $meta_value && ! $_id_value ) {
|
920 |
-
$_id_value =
|
921 |
}
|
922 |
|
923 |
echo $this->input( array(
|
924 |
'type' => 'hidden',
|
925 |
-
'class' => '
|
926 |
'value' => $_id_value,
|
927 |
'desc' => '',
|
928 |
) ),
|
929 |
-
'<div id="', $this->_id( '-status' ), '" class="
|
930 |
if ( ! empty( $meta_value ) ) {
|
931 |
|
932 |
if ( $this->is_valid_img_ext( $meta_value ) ) {
|
@@ -964,7 +964,7 @@ class CMB2_Types {
|
|
964 |
* @return string Image wrap output
|
965 |
*/
|
966 |
public function img_status_output( $args ) {
|
967 |
-
printf( '<%1$s class="img-status">%2$s<p class="
|
968 |
$args['tag'],
|
969 |
$args['image'],
|
970 |
isset( $args['cached_id'] ) ? ' rel="' . $args['cached_id'] . '"' : '',
|
@@ -980,7 +980,7 @@ class CMB2_Types {
|
|
980 |
* @return string File wrap output
|
981 |
*/
|
982 |
public function file_status_output( $args ) {
|
983 |
-
printf( '<%1$s class="file-status"><span>%2$s <strong>%3$s</strong></span> (<a href="%4$s" target="_blank" rel="external">%5$s</a> / <a href="#" class="
|
984 |
$args['tag'],
|
985 |
esc_html( $this->_text( 'file_text', 'File:' ) ),
|
986 |
$this->get_file_name_from_path( $args['value'] ),
|
7 |
* @since 1.0.0
|
8 |
*
|
9 |
* @category WordPress_Plugin
|
10 |
+
* @package CMBRE2
|
11 |
* @author WebDevStudios
|
12 |
* @license GPL-2.0+
|
13 |
* @link http://webdevstudios.com
|
14 |
*/
|
15 |
if ( ! defined( 'WPINC' ) ) exit;
|
16 |
+
class CMBRE2_Types {
|
17 |
|
18 |
/**
|
19 |
* An iterator value for repeatable fields
|
23 |
public $iterator = 0;
|
24 |
|
25 |
/**
|
26 |
+
* Current CMBRE2_Field field object
|
27 |
+
* @var CMBRE2_Field object
|
28 |
* @since 1.0.0
|
29 |
*/
|
30 |
public $field;
|
31 |
|
32 |
+
public function __construct( CMBRE2_Field $field ) {
|
33 |
$this->field = $field;
|
34 |
}
|
35 |
|
36 |
/**
|
37 |
+
* Default fallback. Allows rendering fields via "cmbre2_render_$name" hook
|
38 |
* @since 1.0.0
|
39 |
* @param string $name Non-existent method name
|
40 |
* @param array $arguments All arguments passed to the method
|
45 |
*
|
46 |
* The dynamic portion of the hook name, $name, refers to the field type.
|
47 |
*
|
48 |
+
* @param array $field The passed in `CMBRE2_Field` object
|
49 |
* @param mixed $escaped_value The value of this field escaped.
|
50 |
* It defaults to `sanitize_text_field`.
|
51 |
* If you need the unescaped value, you can access it
|
54 |
* @param string $object_type The type of object you are working with.
|
55 |
* Most commonly, `post` (this applies to all post-types),
|
56 |
* but could also be `comment`, `user` or `options-page`.
|
57 |
+
* @param object $field_type_object This `CMBRE2_Types` object
|
58 |
*/
|
59 |
+
do_action( "cmbre2_render_$name", $this->field, $this->field->escaped_value(), $this->field->object_id, $this->field->object_type, $this );
|
60 |
}
|
61 |
|
62 |
/**
|
154 |
public function is_valid_img_ext( $file ) {
|
155 |
$file_ext = $this->get_file_ext( $file );
|
156 |
|
157 |
+
$is_valid_types = (array) apply_filters( 'cmbre2_valid_img_types', array( 'jpg', 'jpeg', 'png', 'gif', 'ico', 'icon' ) );
|
158 |
|
159 |
return ( $file_ext && in_array( $file_ext, $is_valid_types ) );
|
160 |
}
|
168 |
* @return array Parsed and filtered arguments
|
169 |
*/
|
170 |
public function parse_args( $args, $element, $defaults ) {
|
171 |
+
return wp_parse_args( apply_filters( "cmbre2_{$element}_attributes", $this->field->maybe_set_attributes( $args ), $defaults, $this->field, $this ), $defaults );
|
172 |
}
|
173 |
|
174 |
/**
|
253 |
public function list_input( $args = array(), $i ) {
|
254 |
$a = $this->parse_args( $args, 'list_input', array(
|
255 |
'type' => 'radio',
|
256 |
+
'class' => 'cmbre2-option',
|
257 |
'name' => $this->_name(),
|
258 |
'id' => $this->_id( $i ),
|
259 |
'value' => $this->field->escaped_value(),
|
381 |
}
|
382 |
|
383 |
$tag = $paragraph ? 'p' : 'span';
|
384 |
+
$desc = sprintf( "\n" . '<%1$s class="cmbre2-metabox-description">%2$s</%1$s>' . "\n", $tag, $desc );
|
385 |
|
386 |
if ( $echo ) {
|
387 |
echo $desc;
|
436 |
*/
|
437 |
public function textarea( $args = array() ) {
|
438 |
$a = $this->parse_args( $args, 'textarea', array(
|
439 |
+
'class' => 'cmbre2_textarea',
|
440 |
'name' => $this->_name(),
|
441 |
'id' => $this->_id(),
|
442 |
'cols' => 60,
|
460 |
}
|
461 |
|
462 |
public function text_small() {
|
463 |
+
return $this->input( array( 'class' => 'cmbre2-text-small', 'desc' => $this->_desc() ) );
|
464 |
}
|
465 |
|
466 |
public function text_medium() {
|
467 |
+
return $this->input( array( 'class' => 'cmbre2-text-medium', 'desc' => $this->_desc() ) );
|
468 |
}
|
469 |
|
470 |
public function text_email() {
|
471 |
+
return $this->input( array( 'class' => 'cmbre2-text-email cmbre2-text-medium', 'type' => 'email' ) );
|
472 |
}
|
473 |
|
474 |
public function text_url() {
|
475 |
+
return $this->input( array( 'class' => 'cmbre2-text-url cmbre2-text-medium regular-text', 'value' => $this->field->escaped_value( 'esc_url' ) ) );
|
476 |
}
|
477 |
|
478 |
public function text_money() {
|
479 |
+
return ( ! $this->field->get_param_callback_result( 'before_field' ) ? '$ ' : ' ' ) . $this->input( array( 'class' => 'cmbre2-text-money', 'desc' => $this->_desc() ) );
|
480 |
}
|
481 |
|
482 |
public function textarea_small() {
|
483 |
+
return $this->textarea( array( 'class' => 'cmbre2-textarea-small', 'rows' => 4 ) );
|
484 |
}
|
485 |
|
486 |
public function textarea_code() {
|
487 |
+
return sprintf( '<pre>%s', $this->textarea( array( 'class' => 'cmbre2-textarea-code', 'desc' => '</pre>' . $this->_desc( true ) ) ) );
|
488 |
}
|
489 |
|
490 |
public function wysiwyg( $args = array() ) {
|
501 |
|
502 |
public function text_date( $args = array() ) {
|
503 |
$args = wp_parse_args( $args, array(
|
504 |
+
'class' => 'cmbre2-text-small cmbre2-datepicker',
|
505 |
'value' => $this->field->get_timestamp_format(),
|
506 |
'desc' => $this->_desc(),
|
507 |
) );
|
516 |
|
517 |
public function text_time( $args = array() ) {
|
518 |
$args = wp_parse_args( $args, array(
|
519 |
+
'class' => 'cmbre2-timepicker text-time',
|
520 |
'value' => $this->field->get_timestamp_format( 'time_format' ),
|
521 |
'desc' => $this->_desc(),
|
522 |
) );
|
544 |
$has_good_value = ! empty( $args['value'] ) && ! is_array( $args['value'] );
|
545 |
|
546 |
$date_args = wp_parse_args( $args['datepicker'], array(
|
547 |
+
'class' => 'cmbre2-text-small cmbre2-datepicker',
|
548 |
'name' => $this->_name( '[date]' ),
|
549 |
'id' => $this->_id( '_date' ),
|
550 |
'value' => $has_good_value ? $this->field->get_timestamp_format( 'date_format', $args['value'] ) : '',
|
552 |
) );
|
553 |
|
554 |
$time_args = wp_parse_args( $args['timepicker'], array(
|
555 |
+
'class' => 'cmbre2-timepicker text-time',
|
556 |
'name' => $this->_name( '[time]' ),
|
557 |
'id' => $this->_id( '_time' ),
|
558 |
'value' => $has_good_value ? $this->field->get_timestamp_format( 'time_format', $args['value'] ) : '',
|
590 |
) );
|
591 |
|
592 |
$timezone_args = wp_parse_args( $args['select_timezone'], array(
|
593 |
+
'class' => 'cmbre2_select cmbre2-select-timezone',
|
594 |
'name' => $this->_name( '[timezone]' ),
|
595 |
'id' => $this->_id( '_timezone' ),
|
596 |
'options' => wp_timezone_choice( $tzstring ),
|
603 |
public function select_timezone() {
|
604 |
$this->field->args['default'] = $this->field->args( 'default' )
|
605 |
? $this->field->args( 'default' )
|
606 |
+
: cmbre2_utils()->timezone_string();
|
607 |
|
608 |
return $this->select( array(
|
609 |
+
'class' => 'cmbre2_select cmbre2-select-timezone',
|
610 |
'options' => wp_timezone_choice( $this->field->escaped_value() ),
|
611 |
'desc' => $this->_desc(),
|
612 |
) );
|
623 |
$meta_value = '#';
|
624 |
}
|
625 |
|
626 |
+
return $this->input( array( 'class' => 'cmbre2-colorpicker cmbre2-text-small', 'value' => $meta_value ) );
|
627 |
}
|
628 |
|
629 |
public function title( $args = array() ) {
|
630 |
$a = $this->parse_args( $args, 'title', array(
|
631 |
'tag' => $this->field->object_type == 'post' ? 'h5' : 'h3',
|
632 |
+
'class' => 'cmbre2-metabox-title',
|
633 |
'name' => $this->field->args( 'name' ),
|
634 |
'desc' => $this->_desc( true ),
|
635 |
) );
|
639 |
|
640 |
public function select( $args = array() ) {
|
641 |
$a = $this->parse_args( $args, 'select', array(
|
642 |
+
'class' => 'cmbre2_select',
|
643 |
'name' => $this->_name(),
|
644 |
'id' => $this->_id(),
|
645 |
'desc' => $this->_desc( true ),
|
659 |
|
660 |
$option_none = $this->field->args( 'show_option_none' );
|
661 |
if ( ! empty( $option_none ) ) {
|
662 |
+
$option_none_value = apply_filters( 'cmbre2_taxonomy_select_default_value', '' );
|
663 |
+
$option_none_value = apply_filters( "cmbre2_taxonomy_select_{$this->_id()}_default_value", $option_none_value );
|
664 |
|
665 |
$options .= $this->select_option( array(
|
666 |
'label' => $option_none,
|
682 |
|
683 |
public function radio( $args = array(), $type = 'radio' ) {
|
684 |
$a = $this->parse_args( $args, $type, array(
|
685 |
+
'class' => 'cmbre2-radio-list cmbre2-list',
|
686 |
'options' => $this->concat_items( array( 'label' => 'test', 'method' => 'list_input' ) ),
|
687 |
'desc' => $this->_desc( true ),
|
688 |
) );
|
697 |
public function multicheck( $type = 'checkbox' ) {
|
698 |
|
699 |
$classes = false === $this->field->args( 'select_all_button' )
|
700 |
+
? 'cmbre2-checkbox-list no-select-all cmbre2-list'
|
701 |
+
: 'cmbre2-checkbox-list cmbre2-list';
|
702 |
|
703 |
return $this->radio( array( 'class' => $classes, 'options' => $this->concat_items( array( 'name' => $this->_name() . '[]', 'method' => 'list_input_checkbox' ) ) ), $type );
|
704 |
}
|
709 |
|
710 |
public function checkbox() {
|
711 |
$meta_value = $this->field->escaped_value();
|
712 |
+
$args = array( 'type' => 'checkbox', 'class' => 'cmbre2-option cmbre2-list', 'value' => 'on', 'desc' => '' );
|
713 |
if ( ! empty( $meta_value ) ) {
|
714 |
$args['checked'] = 'checked';
|
715 |
}
|
727 |
} else {
|
728 |
$option_none = $this->field->args( 'show_option_none' );
|
729 |
if ( ! empty( $option_none ) ) {
|
730 |
+
$option_none_value = apply_filters( "cmbre2_taxonomy_radio_{$this->_id()}_default_value", apply_filters( 'cmbre2_taxonomy_radio_default_value', '' ) );
|
731 |
$args = array(
|
732 |
'value' => $option_none_value,
|
733 |
'label' => $option_none,
|
791 |
}
|
792 |
|
793 |
$classes = false === $this->field->args( 'select_all_button' )
|
794 |
+
? 'cmbre2-checkbox-list no-select-all cmbre2-list'
|
795 |
+
: 'cmbre2-checkbox-list cmbre2-list';
|
796 |
|
797 |
return $this->radio( array( 'class' => $classes, 'options' => $options ), 'taxonomy_multicheck' );
|
798 |
}
|
804 |
public function oembed() {
|
805 |
$meta_value = trim( $this->field->escaped_value() );
|
806 |
$oembed = ! empty( $meta_value )
|
807 |
+
? cmbre2_get_oembed( array(
|
808 |
'url' => $this->field->escaped_value(),
|
809 |
'object_id' => $this->field->object_id,
|
810 |
'object_type' => $this->field->object_type,
|
814 |
: '';
|
815 |
|
816 |
echo $this->input( array(
|
817 |
+
'class' => 'cmbre2-oembed regular-text',
|
818 |
'data-objectid' => $this->field->object_id,
|
819 |
'data-objecttype' => $this->field->object_type,
|
820 |
) ),
|
821 |
'<p class="cmb-spinner spinner" style="display:none;"></p>',
|
822 |
+
'<div id="', $this->_id( '-status' ), '" class="cmbre2-media-status ui-helper-clearfix embed_wrap">', $oembed, '</div>';
|
823 |
}
|
824 |
|
825 |
public function file_list() {
|
829 |
|
830 |
echo $this->input( array(
|
831 |
'type' => 'hidden',
|
832 |
+
'class' => 'cmbre2-upload-file cmbre2-upload-list',
|
833 |
'size' => 45, 'desc' => '', 'value' => '',
|
834 |
'data-previewsize' => is_array( $img_size ) ? sprintf( '[%s]', implode( ',', $img_size ) ) : 50,
|
835 |
) ),
|
836 |
$this->input( array(
|
837 |
'type' => 'button',
|
838 |
+
'class' => 'cmbre2-upload-button button cmbre2-upload-list',
|
839 |
'value' => esc_html( $this->_text( 'add_upload_files_text', 'Add or Upload Files' ) ),
|
840 |
'name' => '', 'id' => '',
|
841 |
) );
|
842 |
|
843 |
+
echo '<ul id="', $this->_id( '-status' ), '" class="cmbre2-media-status cmb-attach-list">';
|
844 |
|
845 |
if ( $meta_value && is_array( $meta_value ) ) {
|
846 |
|
888 |
|
889 |
echo $this->input( array(
|
890 |
'type' => $input_type,
|
891 |
+
'class' => 'cmbre2-upload-file regular-text',
|
892 |
'size' => 45,
|
893 |
'desc' => '',
|
894 |
'data-previewsize' => is_array( $img_size ) ? '[' . implode( ',', $img_size ) . ']' : 350,
|
895 |
) );
|
896 |
|
897 |
+
printf( '<input class="cmbre2-upload-button button" type="button" value="%s" />', esc_attr( $this->_text( 'add_upload_file_text', 'Add or Upload File' ) ) );
|
898 |
|
899 |
$this->_desc( true, true );
|
900 |
|
905 |
unset( $args['_id'], $args['_name'] );
|
906 |
|
907 |
// And get new field object
|
908 |
+
$this->field = new CMBRE2_Field( array(
|
909 |
'field_args' => $args,
|
910 |
'group_field' => $this->field->group,
|
911 |
'object_type' => $this->field->object_type,
|
917 |
|
918 |
// If there is no ID saved yet, try to get it from the url
|
919 |
if ( $meta_value && ! $_id_value ) {
|
920 |
+
$_id_value = cmbre2_utils()->image_id_from_url( esc_url_raw( $meta_value ) );
|
921 |
}
|
922 |
|
923 |
echo $this->input( array(
|
924 |
'type' => 'hidden',
|
925 |
+
'class' => 'cmbre2-upload-file-id',
|
926 |
'value' => $_id_value,
|
927 |
'desc' => '',
|
928 |
) ),
|
929 |
+
'<div id="', $this->_id( '-status' ), '" class="cmbre2-media-status">';
|
930 |
if ( ! empty( $meta_value ) ) {
|
931 |
|
932 |
if ( $this->is_valid_img_ext( $meta_value ) ) {
|
964 |
* @return string Image wrap output
|
965 |
*/
|
966 |
public function img_status_output( $args ) {
|
967 |
+
printf( '<%1$s class="img-status">%2$s<p class="cmbre2-remove-wrapper"><a href="#" class="cmbre2-remove-file-button"%3$s>%4$s</a></p>%5$s</%1$s>',
|
968 |
$args['tag'],
|
969 |
$args['image'],
|
970 |
isset( $args['cached_id'] ) ? ' rel="' . $args['cached_id'] . '"' : '',
|
980 |
* @return string File wrap output
|
981 |
*/
|
982 |
public function file_status_output( $args ) {
|
983 |
+
printf( '<%1$s class="file-status"><span>%2$s <strong>%3$s</strong></span> (<a href="%4$s" target="_blank" rel="external">%5$s</a> / <a href="#" class="cmbre2-remove-file-button"%6$s>%7$s</a>)%8$s</%1$s>',
|
984 |
$args['tag'],
|
985 |
esc_html( $this->_text( 'file_text', 'File:' ) ),
|
986 |
$this->get_file_name_from_path( $args['value'] ),
|
cmb2/includes/CMB2_Utils.php → cmbre2/includes/CMBRE2_Utils.php
RENAMED
@@ -1,17 +1,17 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
4 |
*
|
5 |
* @since 1.1.0
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
-
* @package
|
9 |
* @author WebDevStudios
|
10 |
* @license GPL-2.0+
|
11 |
* @link http://webdevstudios.com
|
12 |
*/
|
13 |
if ( ! defined( 'WPINC' ) ) exit;
|
14 |
-
class
|
15 |
|
16 |
/**
|
17 |
* The url which is used to load local resources.
|
@@ -154,7 +154,7 @@ class CMB2_Utils {
|
|
154 |
* This may need to be filtered for local Window installations.
|
155 |
* If resources do not load, please check the wiki for details.
|
156 |
* @since 1.0.1
|
157 |
-
* @return string URL to
|
158 |
*/
|
159 |
public function url( $path = '' ) {
|
160 |
if ( $this->url ) {
|
@@ -164,23 +164,23 @@ class CMB2_Utils {
|
|
164 |
if ( 'WIN' === strtoupper( substr( PHP_OS, 0, 3 ) ) ) {
|
165 |
// Windows
|
166 |
$content_dir = str_replace( '/', DIRECTORY_SEPARATOR, WP_CONTENT_DIR );
|
167 |
-
$content_url = str_replace( $content_dir, WP_CONTENT_URL,
|
168 |
-
$
|
169 |
|
170 |
} else {
|
171 |
-
$
|
172 |
array( WP_CONTENT_DIR, WP_PLUGIN_DIR ),
|
173 |
array( WP_CONTENT_URL, WP_PLUGIN_URL ),
|
174 |
-
|
175 |
);
|
176 |
}
|
177 |
|
178 |
/**
|
179 |
* Filter the CMB location url
|
180 |
*
|
181 |
-
* @param string $
|
182 |
*/
|
183 |
-
$this->url = trailingslashit( apply_filters( '
|
184 |
|
185 |
return $this->url . $path;
|
186 |
}
|
1 |
<?php
|
2 |
/**
|
3 |
+
* CMBRE2 Utilities
|
4 |
*
|
5 |
* @since 1.1.0
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
+
* @package CMBRE2
|
9 |
* @author WebDevStudios
|
10 |
* @license GPL-2.0+
|
11 |
* @link http://webdevstudios.com
|
12 |
*/
|
13 |
if ( ! defined( 'WPINC' ) ) exit;
|
14 |
+
class CMBRE2_Utils {
|
15 |
|
16 |
/**
|
17 |
* The url which is used to load local resources.
|
154 |
* This may need to be filtered for local Window installations.
|
155 |
* If resources do not load, please check the wiki for details.
|
156 |
* @since 1.0.1
|
157 |
+
* @return string URL to CMBRE2 resources
|
158 |
*/
|
159 |
public function url( $path = '' ) {
|
160 |
if ( $this->url ) {
|
164 |
if ( 'WIN' === strtoupper( substr( PHP_OS, 0, 3 ) ) ) {
|
165 |
// Windows
|
166 |
$content_dir = str_replace( '/', DIRECTORY_SEPARATOR, WP_CONTENT_DIR );
|
167 |
+
$content_url = str_replace( $content_dir, WP_CONTENT_URL, cmbre2_dir() );
|
168 |
+
$cmbre2_url = str_replace( DIRECTORY_SEPARATOR, '/', $content_url );
|
169 |
|
170 |
} else {
|
171 |
+
$cmbre2_url = str_replace(
|
172 |
array( WP_CONTENT_DIR, WP_PLUGIN_DIR ),
|
173 |
array( WP_CONTENT_URL, WP_PLUGIN_URL ),
|
174 |
+
cmbre2_dir()
|
175 |
);
|
176 |
}
|
177 |
|
178 |
/**
|
179 |
* Filter the CMB location url
|
180 |
*
|
181 |
+
* @param string $cmbre2_url Currently registered url
|
182 |
*/
|
183 |
+
$this->url = trailingslashit( apply_filters( 'cmbre2_meta_box_url', set_url_scheme( $cmbre2_url ), CMBRE2_VERSION ) );
|
184 |
|
185 |
return $this->url . $path;
|
186 |
}
|
cmb2/includes/CMB2_hookup.php → cmbre2/includes/CMBRE2_hookup.php
RENAMED
@@ -1,18 +1,18 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
* Handles hooking
|
4 |
* and handles hooking in and saving those fields.
|
5 |
*
|
6 |
* @since 2.0.0
|
7 |
*
|
8 |
* @category WordPress_Plugin
|
9 |
-
* @package
|
10 |
* @author WebDevStudios
|
11 |
* @license GPL-2.0+
|
12 |
* @link http://webdevstudios.com
|
13 |
*/
|
14 |
if ( ! defined( 'WPINC' ) ) exit;
|
15 |
-
class
|
16 |
|
17 |
/**
|
18 |
* Metabox Form ID
|
@@ -37,12 +37,12 @@ class CMB2_hookup {
|
|
37 |
|
38 |
/**
|
39 |
* Metabox Form ID
|
40 |
-
* @var
|
41 |
* @since 2.0.2
|
42 |
*/
|
43 |
protected $cmb;
|
44 |
|
45 |
-
public function __construct(
|
46 |
$this->cmb = $cmb;
|
47 |
|
48 |
$this->hooks();
|
@@ -53,11 +53,11 @@ class CMB2_hookup {
|
|
53 |
|
54 |
public function hooks() {
|
55 |
// Handle oembed Ajax
|
56 |
-
$this->once( '
|
57 |
-
$this->once( '
|
58 |
|
59 |
-
foreach ( get_class_methods( '
|
60 |
-
add_filter( '
|
61 |
}
|
62 |
|
63 |
}
|
@@ -121,7 +121,7 @@ class CMB2_hookup {
|
|
121 |
}
|
122 |
|
123 |
/**
|
124 |
-
* Registers scripts and styles for
|
125 |
* @since 1.0.0
|
126 |
*/
|
127 |
public static function register_scripts() {
|
@@ -134,8 +134,8 @@ class CMB2_hookup {
|
|
134 |
|
135 |
if ( ! is_admin() ) {
|
136 |
// we need to register colorpicker on the front-end
|
137 |
-
//wp_register_script( 'iris', admin_url( 'js/iris.min.js' ), array( 'jquery-ui-draggable', 'jquery-ui-slider', 'jquery-touch-punch' ),
|
138 |
-
/*wp_register_script( 'wp-color-picker', admin_url( 'js/color-picker.min.js' ), array( 'iris' ),
|
139 |
wp_localize_script( 'wp-color-picker', 'wpColorPickerL10n', array(
|
140 |
'clear' => 'Clear',
|
141 |
'defaultString' => 'Default',
|
@@ -144,16 +144,16 @@ class CMB2_hookup {
|
|
144 |
) );*/
|
145 |
}
|
146 |
|
147 |
-
//wp_register_script( 'jquery-ui-datetimepicker',
|
148 |
|
149 |
// scripts required for cmb
|
150 |
$scripts = array( 'jquery', 'jquery-ui-core' /*, 'jquery-ui-datepicker', 'jquery-ui-datetimepicker', 'wp-color-picker'*/ );
|
151 |
// styles required for cmb
|
152 |
$styles = array(/* 'wp-color-picker' */);
|
153 |
|
154 |
-
wp_register_script( '
|
155 |
|
156 |
-
wp_localize_script( '
|
157 |
'ajax_nonce' => wp_create_nonce( 'ajax_nonce' ),
|
158 |
'ajaxurl' => admin_url( '/admin-ajax.php' ),
|
159 |
'script_debug' => defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG,
|
@@ -199,13 +199,13 @@ class CMB2_hookup {
|
|
199 |
),
|
200 |
) ) );
|
201 |
|
202 |
-
wp_register_style( '
|
203 |
|
204 |
self::$registration_done = true;
|
205 |
}
|
206 |
|
207 |
/**
|
208 |
-
* Enqueues scripts and styles for
|
209 |
* @since 1.0.0
|
210 |
*/
|
211 |
public function do_scripts( $hook ) {
|
@@ -385,9 +385,9 @@ class CMB2_hookup {
|
|
385 |
*
|
386 |
* @param array $show Default is true, show the metabox
|
387 |
* @param mixed $meta_box_args Array of the metabox arguments
|
388 |
-
* @param mixed $cmb The
|
389 |
*/
|
390 |
-
$show = (bool) apply_filters( '
|
391 |
|
392 |
return $show;
|
393 |
}
|
@@ -412,30 +412,30 @@ class CMB2_hookup {
|
|
412 |
}
|
413 |
|
414 |
/**
|
415 |
-
* Includes
|
416 |
* @since 2.0.0
|
417 |
*/
|
418 |
public static function enqueue_cmb_css() {
|
419 |
-
if ( ! apply_filters( '
|
420 |
return false;
|
421 |
}
|
422 |
|
423 |
self::register_scripts();
|
424 |
-
return wp_enqueue_style( '
|
425 |
}
|
426 |
|
427 |
/**
|
428 |
-
* Includes
|
429 |
* @since 2.0.0
|
430 |
*/
|
431 |
public static function enqueue_cmb_js() {
|
432 |
-
if ( ! apply_filters( '
|
433 |
return false;
|
434 |
}
|
435 |
|
436 |
self::register_scripts();
|
437 |
wp_enqueue_media();
|
438 |
-
return wp_enqueue_script( '
|
439 |
}
|
440 |
|
441 |
}
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Handles hooking CMBRE2 forms/metaboxes into the post/attachement/user screens
|
4 |
* and handles hooking in and saving those fields.
|
5 |
*
|
6 |
* @since 2.0.0
|
7 |
*
|
8 |
* @category WordPress_Plugin
|
9 |
+
* @package CMBRE2
|
10 |
* @author WebDevStudios
|
11 |
* @license GPL-2.0+
|
12 |
* @link http://webdevstudios.com
|
13 |
*/
|
14 |
if ( ! defined( 'WPINC' ) ) exit;
|
15 |
+
class CMBRE2_hookup {
|
16 |
|
17 |
/**
|
18 |
* Metabox Form ID
|
37 |
|
38 |
/**
|
39 |
* Metabox Form ID
|
40 |
+
* @var CMBRE2 object
|
41 |
* @since 2.0.2
|
42 |
*/
|
43 |
protected $cmb;
|
44 |
|
45 |
+
public function __construct( CMBRE2 $cmb ) {
|
46 |
$this->cmb = $cmb;
|
47 |
|
48 |
$this->hooks();
|
53 |
|
54 |
public function hooks() {
|
55 |
// Handle oembed Ajax
|
56 |
+
$this->once( 'wp_ajax_cmbre2_oembed_handler', array( cmbre2_ajax(), 'oembed_handler' ) );
|
57 |
+
$this->once( 'wp_ajax_nopriv_cmbre2_oembed_handler', array( cmbre2_ajax(), 'oembed_handler' ) );
|
58 |
|
59 |
+
foreach ( get_class_methods( 'CMBRE2_Show_Filters' ) as $filter ) {
|
60 |
+
add_filter( 'cmbre2_show_on', array( 'CMBRE2_Show_Filters', $filter ), 10, 3 );
|
61 |
}
|
62 |
|
63 |
}
|
121 |
}
|
122 |
|
123 |
/**
|
124 |
+
* Registers scripts and styles for CMBRE2
|
125 |
* @since 1.0.0
|
126 |
*/
|
127 |
public static function register_scripts() {
|
134 |
|
135 |
if ( ! is_admin() ) {
|
136 |
// we need to register colorpicker on the front-end
|
137 |
+
//wp_register_script( 'iris', admin_url( 'js/iris.min.js' ), array( 'jquery-ui-draggable', 'jquery-ui-slider', 'jquery-touch-punch' ), CMBRE2_VERSION );
|
138 |
+
/*wp_register_script( 'wp-color-picker', admin_url( 'js/color-picker.min.js' ), array( 'iris' ), CMBRE2_VERSION );
|
139 |
wp_localize_script( 'wp-color-picker', 'wpColorPickerL10n', array(
|
140 |
'clear' => 'Clear',
|
141 |
'defaultString' => 'Default',
|
144 |
) );*/
|
145 |
}
|
146 |
|
147 |
+
//wp_register_script( 'jquery-ui-datetimepicker', cmbre2_utils()->url( 'js/jquery-ui-timepicker-addon.min.js' ), array( 'jquery-ui-slider' ), CMBRE2_VERSION );
|
148 |
|
149 |
// scripts required for cmb
|
150 |
$scripts = array( 'jquery', 'jquery-ui-core' /*, 'jquery-ui-datepicker', 'jquery-ui-datetimepicker', 'wp-color-picker'*/ );
|
151 |
// styles required for cmb
|
152 |
$styles = array(/* 'wp-color-picker' */);
|
153 |
|
154 |
+
wp_register_script( 'cmbre2-scripts', cmbre2_utils()->url( "js/cmbre2{$min}.js" ), $scripts, CMBRE2_VERSION );
|
155 |
|
156 |
+
wp_localize_script( 'cmbre2-scripts', 'cmbre2_l10', apply_filters( 'cmbre2_localized_data', array(
|
157 |
'ajax_nonce' => wp_create_nonce( 'ajax_nonce' ),
|
158 |
'ajaxurl' => admin_url( '/admin-ajax.php' ),
|
159 |
'script_debug' => defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG,
|
199 |
),
|
200 |
) ) );
|
201 |
|
202 |
+
wp_register_style( 'cmbre2-styles', cmbre2_utils()->url( "css/cmbre2{$min}.css" ), $styles );
|
203 |
|
204 |
self::$registration_done = true;
|
205 |
}
|
206 |
|
207 |
/**
|
208 |
+
* Enqueues scripts and styles for CMBRE2
|
209 |
* @since 1.0.0
|
210 |
*/
|
211 |
public function do_scripts( $hook ) {
|
385 |
*
|
386 |
* @param array $show Default is true, show the metabox
|
387 |
* @param mixed $meta_box_args Array of the metabox arguments
|
388 |
+
* @param mixed $cmb The CMBRE2 instance
|
389 |
*/
|
390 |
+
$show = (bool) apply_filters( 'cmbre2_show_on', $show, $this->cmb->meta_box, $this->cmb );
|
391 |
|
392 |
return $show;
|
393 |
}
|
412 |
}
|
413 |
|
414 |
/**
|
415 |
+
* Includes CMBRE2 styles
|
416 |
* @since 2.0.0
|
417 |
*/
|
418 |
public static function enqueue_cmb_css() {
|
419 |
+
if ( ! apply_filters( 'cmbre2_enqueue_css', true ) ) {
|
420 |
return false;
|
421 |
}
|
422 |
|
423 |
self::register_scripts();
|
424 |
+
return wp_enqueue_style( 'cmbre2-styles' );
|
425 |
}
|
426 |
|
427 |
/**
|
428 |
+
* Includes CMBRE2 JS
|
429 |
* @since 2.0.0
|
430 |
*/
|
431 |
public static function enqueue_cmb_js() {
|
432 |
+
if ( ! apply_filters( 'cmbre2_enqueue_js', true ) ) {
|
433 |
return false;
|
434 |
}
|
435 |
|
436 |
self::register_scripts();
|
437 |
wp_enqueue_media();
|
438 |
+
return wp_enqueue_script( 'cmbre2-scripts' );
|
439 |
}
|
440 |
|
441 |
}
|
{cmb2 → cmbre2}/includes/helper-functions.php
RENAMED
@@ -1,70 +1,70 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
4 |
*
|
5 |
* @category WordPress_Plugin
|
6 |
-
* @package
|
7 |
* @author WebDevStudios
|
8 |
* @license GPL-2.0+
|
9 |
* @link http://webdevstudios.com
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
-
* Helper function to provide directory path to
|
14 |
* @since 2.0.0
|
15 |
* @param string $path Path to append
|
16 |
* @return string Directory with optional path appended
|
17 |
*/
|
18 |
if ( ! defined( 'WPINC' ) ) exit;
|
19 |
|
20 |
-
if( !function_exists('
|
21 |
-
function
|
22 |
-
return
|
23 |
}
|
24 |
}
|
25 |
|
26 |
/**
|
27 |
-
* Autoloads files with
|
28 |
* @since 1.0.0
|
29 |
* @param string $class_name Name of the class being requested
|
30 |
*/
|
31 |
-
function
|
32 |
-
if ( 0 !== strpos( $class_name, '
|
33 |
return;
|
34 |
}
|
35 |
|
36 |
-
include_once(
|
37 |
}
|
38 |
|
39 |
/**
|
40 |
-
* Get instance of the
|
41 |
* @since 2.0.0
|
42 |
-
* @return
|
43 |
*/
|
44 |
-
function
|
45 |
-
static $
|
46 |
-
$
|
47 |
-
return $
|
48 |
}
|
49 |
|
50 |
/**
|
51 |
-
* Get instance of the
|
52 |
* @since 2.0.0
|
53 |
-
* @return
|
54 |
*/
|
55 |
-
function
|
56 |
-
static $
|
57 |
-
$
|
58 |
-
return $
|
59 |
}
|
60 |
|
61 |
/**
|
62 |
-
* Get instance of the
|
63 |
* @since 2.0.0
|
64 |
-
* @return
|
65 |
*/
|
66 |
-
function
|
67 |
-
return
|
68 |
}
|
69 |
|
70 |
/**
|
@@ -81,23 +81,23 @@ function cmb2_options( $key ) {
|
|
81 |
*
|
82 |
* @return string oEmbed string
|
83 |
*/
|
84 |
-
function
|
85 |
-
return
|
86 |
}
|
87 |
|
88 |
/**
|
89 |
-
* A helper function to get an option from a
|
90 |
* @since 1.0.1
|
91 |
* @param string $option_key Option key
|
92 |
* @param string $field_id Option array field key
|
93 |
* @return array Options array or specific field
|
94 |
*/
|
95 |
-
function
|
96 |
-
return
|
97 |
}
|
98 |
|
99 |
/**
|
100 |
-
* A helper function to update an option in a
|
101 |
* @since 2.0.0
|
102 |
* @param string $option_key Option key
|
103 |
* @param string $field_id Option array field key
|
@@ -105,28 +105,28 @@ function cmb2_get_option( $option_key, $field_id = '' ) {
|
|
105 |
* @param boolean $single Whether data should not be an array
|
106 |
* @return boolean Success/Failure
|
107 |
*/
|
108 |
-
function
|
109 |
-
if (
|
110 |
-
return
|
111 |
}
|
112 |
|
113 |
return false;
|
114 |
}
|
115 |
|
116 |
/**
|
117 |
-
* Get a
|
118 |
* @since 1.1.0
|
119 |
* @param array $meta_box Metabox ID or Metabox config array
|
120 |
* @param array $field_id Field ID or all field arguments
|
121 |
* @param int $object_id Object ID
|
122 |
* @param string $object_type Type of object being saved. (e.g., post, user, comment, or options-page).
|
123 |
* Defaults to metabox object type.
|
124 |
-
* @return
|
125 |
*/
|
126 |
-
function
|
127 |
|
128 |
$object_id = $object_id ? $object_id : get_the_ID();
|
129 |
-
$cmb = $meta_box instanceof
|
130 |
|
131 |
if ( ! $cmb ) {
|
132 |
return;
|
@@ -147,8 +147,8 @@ function cmb2_get_field( $meta_box, $field_id, $object_id = 0, $object_type = ''
|
|
147 |
* Defaults to metabox object type.
|
148 |
* @return mixed Maybe escaped value
|
149 |
*/
|
150 |
-
function
|
151 |
-
$field =
|
152 |
return $field->escaped_value();
|
153 |
}
|
154 |
|
@@ -156,34 +156,42 @@ function cmb2_get_field_value( $meta_box, $field_id, $object_id = 0, $object_typ
|
|
156 |
* Because OOP can be scary
|
157 |
* @since 2.0.2
|
158 |
* @param array $meta_box_config Metabox Config array
|
159 |
-
* @return
|
160 |
*/
|
161 |
-
function
|
162 |
-
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
163 |
}
|
164 |
|
165 |
/**
|
166 |
-
* Retrieve a
|
167 |
* @since 2.0.0
|
168 |
* @param mixed $meta_box Metabox ID or Metabox config array
|
169 |
* @param int $object_id Object ID
|
170 |
* @param string $object_type Type of object being saved. (e.g., post, user, comment, or options-page).
|
171 |
* Defaults to metabox object type.
|
172 |
-
* @return
|
173 |
*/
|
174 |
-
function
|
175 |
|
176 |
-
if ( $meta_box instanceof
|
177 |
return $meta_box;
|
178 |
}
|
179 |
|
180 |
if ( is_string( $meta_box ) ) {
|
181 |
-
$cmb =
|
182 |
} else {
|
183 |
// See if we already have an instance of this metabox
|
184 |
-
$cmb =
|
185 |
// If not, we'll initate a new metabox
|
186 |
-
$cmb = $cmb ? $cmb : new
|
187 |
}
|
188 |
|
189 |
if ( $cmb && $object_id ) {
|
@@ -202,10 +210,10 @@ function cmb2_get_metabox( $meta_box, $object_id = 0, $object_type = '' ) {
|
|
202 |
* @since 2.0.3
|
203 |
* @param mixed $meta_box Metabox ID or Metabox config array
|
204 |
* @param array $data_to_sanitize Array of field_id => value data for sanitizing (likely $_POST data).
|
205 |
-
* @return mixed Array of sanitized values or false if no
|
206 |
*/
|
207 |
-
function
|
208 |
-
$cmb =
|
209 |
return $cmb ? $cmb->get_sanitized_values( $data_to_sanitize ) : false;
|
210 |
}
|
211 |
|
@@ -215,20 +223,20 @@ function cmb2_get_metabox_sanitized_values( $meta_box, array $data_to_sanitize )
|
|
215 |
* @param mixed $meta_box Metabox config array or Metabox ID
|
216 |
* @param int $object_id Object ID
|
217 |
* @param array $args Optional arguments array
|
218 |
-
* @return string
|
219 |
*/
|
220 |
-
function
|
221 |
|
222 |
$object_id = $object_id ? $object_id : get_the_ID();
|
223 |
-
$cmb =
|
224 |
|
225 |
ob_start();
|
226 |
// Get cmb form
|
227 |
-
|
228 |
$form = ob_get_contents();
|
229 |
ob_end_clean();
|
230 |
|
231 |
-
return apply_filters( '
|
232 |
}
|
233 |
|
234 |
/**
|
@@ -238,10 +246,10 @@ function cmb2_get_metabox_form( $meta_box, $object_id = 0, $args = array() ) {
|
|
238 |
* @param int $object_id Object ID
|
239 |
* @param array $args Optional arguments array
|
240 |
*/
|
241 |
-
function
|
242 |
|
243 |
$object_id = $object_id ? $object_id : get_the_ID();
|
244 |
-
$cmb =
|
245 |
|
246 |
// if passing a metabox ID, and that ID was not found
|
247 |
if ( ! $cmb ) {
|
@@ -273,14 +281,14 @@ function cmb2_print_metabox_form( $meta_box, $object_id = 0, $args = array() ) {
|
|
273 |
|
274 |
// Enqueue JS/CSS
|
275 |
if ( $cmb->prop( 'cmb_styles' ) ) {
|
276 |
-
|
277 |
}
|
278 |
|
279 |
if ( $args['enqueue_js'] ) {
|
280 |
-
|
281 |
}
|
282 |
|
283 |
-
$form_format = apply_filters( '
|
284 |
|
285 |
$format_parts = explode( '%3$s', $form_format );
|
286 |
|
@@ -301,10 +309,10 @@ function cmb2_print_metabox_form( $meta_box, $object_id = 0, $args = array() ) {
|
|
301 |
* @param int $object_id Object ID
|
302 |
* @param array $args Optional arguments array
|
303 |
*/
|
304 |
-
function
|
305 |
if ( ! isset( $args['echo'] ) || $args['echo'] ) {
|
306 |
-
|
307 |
} else {
|
308 |
-
return
|
309 |
}
|
310 |
}
|
1 |
<?php
|
2 |
/**
|
3 |
+
* CMBRE2 Helper Functions
|
4 |
*
|
5 |
* @category WordPress_Plugin
|
6 |
+
* @package CMBRE2
|
7 |
* @author WebDevStudios
|
8 |
* @license GPL-2.0+
|
9 |
* @link http://webdevstudios.com
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
+
* Helper function to provide directory path to CMBRE2
|
14 |
* @since 2.0.0
|
15 |
* @param string $path Path to append
|
16 |
* @return string Directory with optional path appended
|
17 |
*/
|
18 |
if ( ! defined( 'WPINC' ) ) exit;
|
19 |
|
20 |
+
if( !function_exists('cmbre2_dir')){
|
21 |
+
function cmbre2_dir( $path = '' ) {
|
22 |
+
return CMBRE2_DIR . $path;
|
23 |
}
|
24 |
}
|
25 |
|
26 |
/**
|
27 |
+
* Autoloads files with CMBRE2 classes when needed
|
28 |
* @since 1.0.0
|
29 |
* @param string $class_name Name of the class being requested
|
30 |
*/
|
31 |
+
function cmbre2_autoload_classes( $class_name ) {
|
32 |
+
if ( 0 !== strpos( $class_name, 'CMBRE2' ) && 0 !== strpos( $class_name, 'CMBRE2' ) ) {
|
33 |
return;
|
34 |
}
|
35 |
|
36 |
+
include_once( cmbre2_dir( "includes/{$class_name}.php" ) );
|
37 |
}
|
38 |
|
39 |
/**
|
40 |
+
* Get instance of the CMBRE2_Utils class
|
41 |
* @since 2.0.0
|
42 |
+
* @return CMBRE2_Utils object CMBRE2 utilities class
|
43 |
*/
|
44 |
+
function cmbre2_utils() {
|
45 |
+
static $cmbre2_utils;
|
46 |
+
$cmbre2_utils = $cmbre2_utils ? $cmbre2_utils : new CMBRE2_Utils();
|
47 |
+
return $cmbre2_utils;
|
48 |
}
|
49 |
|
50 |
/**
|
51 |
+
* Get instance of the CMBRE2_Ajax class
|
52 |
* @since 2.0.0
|
53 |
+
* @return CMBRE2_Ajax object CMBRE2 utilities class
|
54 |
*/
|
55 |
+
function cmbre2_ajax() {
|
56 |
+
static $cmbre2_ajax;
|
57 |
+
$cmbre2_ajax = $cmbre2_ajax ? $cmbre2_ajax : new CMBRE2_Ajax();
|
58 |
+
return $cmbre2_ajax;
|
59 |
}
|
60 |
|
61 |
/**
|
62 |
+
* Get instance of the CMBRE2_Option class for the passed metabox ID
|
63 |
* @since 2.0.0
|
64 |
+
* @return CMBRE2_Option object Options class for setting/getting options for metabox
|
65 |
*/
|
66 |
+
function cmbre2_options( $key ) {
|
67 |
+
return CMBRE2_Options::get( $key );
|
68 |
}
|
69 |
|
70 |
/**
|
81 |
*
|
82 |
* @return string oEmbed string
|
83 |
*/
|
84 |
+
function cmbre2_get_oembed( $args = array() ) {
|
85 |
+
return cmbre2_ajax()->get_oembed( $args );
|
86 |
}
|
87 |
|
88 |
/**
|
89 |
+
* A helper function to get an option from a CMBRE2 options array
|
90 |
* @since 1.0.1
|
91 |
* @param string $option_key Option key
|
92 |
* @param string $field_id Option array field key
|
93 |
* @return array Options array or specific field
|
94 |
*/
|
95 |
+
function cmbre2_get_option( $option_key, $field_id = '' ) {
|
96 |
+
return cmbre2_options( $option_key )->get( $field_id );
|
97 |
}
|
98 |
|
99 |
/**
|
100 |
+
* A helper function to update an option in a CMBRE2 options array
|
101 |
* @since 2.0.0
|
102 |
* @param string $option_key Option key
|
103 |
* @param string $field_id Option array field key
|
105 |
* @param boolean $single Whether data should not be an array
|
106 |
* @return boolean Success/Failure
|
107 |
*/
|
108 |
+
function cmbre2_update_option( $option_key, $field_id, $value, $single = true ) {
|
109 |
+
if ( cmbre2_options( $option_key )->update( $field_id, $value, false, $single ) ) {
|
110 |
+
return cmbre2_options( $option_key )->set();
|
111 |
}
|
112 |
|
113 |
return false;
|
114 |
}
|
115 |
|
116 |
/**
|
117 |
+
* Get a CMBRE2 field object.
|
118 |
* @since 1.1.0
|
119 |
* @param array $meta_box Metabox ID or Metabox config array
|
120 |
* @param array $field_id Field ID or all field arguments
|
121 |
* @param int $object_id Object ID
|
122 |
* @param string $object_type Type of object being saved. (e.g., post, user, comment, or options-page).
|
123 |
* Defaults to metabox object type.
|
124 |
+
* @return CMBRE2_Field|null CMBRE2_Field object unless metabox config cannot be found
|
125 |
*/
|
126 |
+
function cmbre2_get_field( $meta_box, $field_id, $object_id = 0, $object_type = '' ) {
|
127 |
|
128 |
$object_id = $object_id ? $object_id : get_the_ID();
|
129 |
+
$cmb = $meta_box instanceof CMBRE2 ? $meta_box : cmbre2_get_metabox( $meta_box, $object_id );
|
130 |
|
131 |
if ( ! $cmb ) {
|
132 |
return;
|
147 |
* Defaults to metabox object type.
|
148 |
* @return mixed Maybe escaped value
|
149 |
*/
|
150 |
+
function cmbre2_get_field_value( $meta_box, $field_id, $object_id = 0, $object_type = '' ) {
|
151 |
+
$field = cmbre2_get_field( $meta_box, $field_id, $object_id, $object_type );
|
152 |
return $field->escaped_value();
|
153 |
}
|
154 |
|
156 |
* Because OOP can be scary
|
157 |
* @since 2.0.2
|
158 |
* @param array $meta_box_config Metabox Config array
|
159 |
+
* @return CMBRE2 object Instantiated CMBRE2 object
|
160 |
*/
|
161 |
+
function new_cmbre2_box( array $meta_box_config ) {
|
162 |
+
return cmbre2_get_metabox( $meta_box_config );
|
163 |
+
}
|
164 |
+
|
165 |
+
if(!function_exists("new_cmb2_box")){
|
166 |
+
/* TODO fix legacy mode */
|
167 |
+
function new_cmb2_box( array $meta_box_config ) {
|
168 |
+
return cmbre2_get_metabox( $meta_box_config );
|
169 |
+
}
|
170 |
+
|
171 |
}
|
172 |
|
173 |
/**
|
174 |
+
* Retrieve a CMBRE2 instance by the metabox ID
|
175 |
* @since 2.0.0
|
176 |
* @param mixed $meta_box Metabox ID or Metabox config array
|
177 |
* @param int $object_id Object ID
|
178 |
* @param string $object_type Type of object being saved. (e.g., post, user, comment, or options-page).
|
179 |
* Defaults to metabox object type.
|
180 |
+
* @return CMBRE2 object
|
181 |
*/
|
182 |
+
function cmbre2_get_metabox( $meta_box, $object_id = 0, $object_type = '' ) {
|
183 |
|
184 |
+
if ( $meta_box instanceof CMBRE2 ) {
|
185 |
return $meta_box;
|
186 |
}
|
187 |
|
188 |
if ( is_string( $meta_box ) ) {
|
189 |
+
$cmb = CMBRE2_Boxes::get( $meta_box );
|
190 |
} else {
|
191 |
// See if we already have an instance of this metabox
|
192 |
+
$cmb = CMBRE2_Boxes::get( $meta_box['id'] );
|
193 |
// If not, we'll initate a new metabox
|
194 |
+
$cmb = $cmb ? $cmb : new CMBRE2( $meta_box, $object_id );
|
195 |
}
|
196 |
|
197 |
if ( $cmb && $object_id ) {
|
210 |
* @since 2.0.3
|
211 |
* @param mixed $meta_box Metabox ID or Metabox config array
|
212 |
* @param array $data_to_sanitize Array of field_id => value data for sanitizing (likely $_POST data).
|
213 |
+
* @return mixed Array of sanitized values or false if no CMBRE2 object found
|
214 |
*/
|
215 |
+
function cmbre2_get_metabox_sanitized_values( $meta_box, array $data_to_sanitize ) {
|
216 |
+
$cmb = cmbre2_get_metabox( $meta_box );
|
217 |
return $cmb ? $cmb->get_sanitized_values( $data_to_sanitize ) : false;
|
218 |
}
|
219 |
|
223 |
* @param mixed $meta_box Metabox config array or Metabox ID
|
224 |
* @param int $object_id Object ID
|
225 |
* @param array $args Optional arguments array
|
226 |
+
* @return string CMBRE2 html form markup
|
227 |
*/
|
228 |
+
function cmbre2_get_metabox_form( $meta_box, $object_id = 0, $args = array() ) {
|
229 |
|
230 |
$object_id = $object_id ? $object_id : get_the_ID();
|
231 |
+
$cmb = cmbre2_get_metabox( $meta_box, $object_id );
|
232 |
|
233 |
ob_start();
|
234 |
// Get cmb form
|
235 |
+
cmbre2_print_metabox_form( $cmb, $object_id, $args );
|
236 |
$form = ob_get_contents();
|
237 |
ob_end_clean();
|
238 |
|
239 |
+
return apply_filters( 'cmbre2_get_metabox_form', $form, $object_id, $cmb );
|
240 |
}
|
241 |
|
242 |
/**
|
246 |
* @param int $object_id Object ID
|
247 |
* @param array $args Optional arguments array
|
248 |
*/
|
249 |
+
function cmbre2_print_metabox_form( $meta_box, $object_id = 0, $args = array() ) {
|
250 |
|
251 |
$object_id = $object_id ? $object_id : get_the_ID();
|
252 |
+
$cmb = cmbre2_get_metabox( $meta_box, $object_id );
|
253 |
|
254 |
// if passing a metabox ID, and that ID was not found
|
255 |
if ( ! $cmb ) {
|
281 |
|
282 |
// Enqueue JS/CSS
|
283 |
if ( $cmb->prop( 'cmb_styles' ) ) {
|
284 |
+
CMBRE2_hookup::enqueue_cmb_css();
|
285 |
}
|
286 |
|
287 |
if ( $args['enqueue_js'] ) {
|
288 |
+
CMBRE2_hookup::enqueue_cmb_js();
|
289 |
}
|
290 |
|
291 |
+
$form_format = apply_filters( 'cmbre2_get_metabox_form_format', $args['form_format'], $object_id, $cmb );
|
292 |
|
293 |
$format_parts = explode( '%3$s', $form_format );
|
294 |
|
309 |
* @param int $object_id Object ID
|
310 |
* @param array $args Optional arguments array
|
311 |
*/
|
312 |
+
function cmbre2_metabox_form( $meta_box, $object_id = 0, $args = array() ) {
|
313 |
if ( ! isset( $args['echo'] ) || $args['echo'] ) {
|
314 |
+
cmbre2_print_metabox_form( $meta_box, $object_id, $args );
|
315 |
} else {
|
316 |
+
return cmbre2_get_metabox_form( $meta_box, $object_id, $args );
|
317 |
}
|
318 |
}
|
{cmb2 → cmbre2}/includes/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/init.php
RENAMED
@@ -1,28 +1,28 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
* Bootstraps the
|
4 |
*
|
5 |
* @category WordPress_Plugin
|
6 |
-
* @package
|
7 |
* @author WebDevStudios
|
8 |
* @license GPL-2.0+
|
9 |
* @link http://webdevstudios.com
|
10 |
*/
|
11 |
if ( ! defined( 'WPINC' ) ) exit;
|
12 |
-
if ( ! class_exists( '
|
13 |
|
14 |
/**
|
15 |
-
* Handles checking for and loading the newest version of
|
16 |
*
|
17 |
* @since 2.0.0
|
18 |
*
|
19 |
* @category WordPress_Plugin
|
20 |
-
* @package
|
21 |
* @author WebDevStudios
|
22 |
* @license GPL-2.0+
|
23 |
* @link http://webdevstudios.com
|
24 |
*/
|
25 |
-
class
|
26 |
|
27 |
/**
|
28 |
* Current version number
|
@@ -41,17 +41,17 @@ if ( ! class_exists( 'CMB2_Bootstrap_206', false ) ) {
|
|
41 |
const PRIORITY = 9993;
|
42 |
|
43 |
/**
|
44 |
-
* Single instance of the
|
45 |
*
|
46 |
-
* @var
|
47 |
*/
|
48 |
public static $single_instance = null;
|
49 |
|
50 |
/**
|
51 |
-
* Creates/returns the single instance
|
52 |
*
|
53 |
-
* @
|
54 |
-
|
55 |
*/
|
56 |
public static function initiate() {
|
57 |
if ( null === self::$single_instance ) {
|
@@ -62,41 +62,41 @@ if ( ! class_exists( 'CMB2_Bootstrap_206', false ) ) {
|
|
62 |
|
63 |
/**
|
64 |
* Starts the version checking process.
|
65 |
-
* Creates
|
66 |
*
|
67 |
-
* Hooks
|
68 |
* (increasing the priority) with each version release.
|
69 |
*
|
70 |
* @since 2.0.0
|
71 |
*/
|
72 |
private function __construct() {
|
73 |
/**
|
74 |
-
* A constant you can use to check if
|
75 |
-
* for your plugins/themes with
|
76 |
*/
|
77 |
-
if ( ! defined( '
|
78 |
-
define( '
|
79 |
}
|
80 |
add_action( 'init', array( $this, 'include_cmb' ), self::PRIORITY );
|
81 |
}
|
82 |
|
83 |
/**
|
84 |
-
* A final check if
|
85 |
-
*
|
86 |
*
|
87 |
* @since 2.0.0
|
88 |
*/
|
89 |
public function include_cmb() {
|
90 |
-
if ( class_exists( '
|
91 |
return;
|
92 |
}
|
93 |
|
94 |
-
if ( ! defined( '
|
95 |
-
define( '
|
96 |
}
|
97 |
|
98 |
-
if ( ! defined( '
|
99 |
-
define( '
|
100 |
}
|
101 |
|
102 |
$this->l10ni18n();
|
@@ -105,35 +105,35 @@ if ( ! class_exists( 'CMB2_Bootstrap_206', false ) ) {
|
|
105 |
require_once 'includes/helper-functions.php';
|
106 |
|
107 |
// Now kick off the class autoloader
|
108 |
-
spl_autoload_register( '
|
109 |
|
110 |
// Kick the whole thing off
|
111 |
require_once 'bootstrap.php';
|
112 |
}
|
113 |
|
114 |
/**
|
115 |
-
* Registers
|
116 |
* @since 2.0.0
|
117 |
*/
|
118 |
public function l10ni18n() {
|
119 |
-
$loaded = load_plugin_textdomain( '
|
120 |
if ( ! $loaded ) {
|
121 |
-
$loaded = load_muplugin_textdomain( '
|
122 |
}
|
123 |
if ( ! $loaded ) {
|
124 |
-
$loaded = load_theme_textdomain( '
|
125 |
}
|
126 |
|
127 |
if ( ! $loaded ) {
|
128 |
-
$locale = apply_filters( 'plugin_locale', get_locale(), '
|
129 |
-
$mofile = dirname( __FILE__ ) . '/languages/
|
130 |
-
load_textdomain( '
|
131 |
}
|
132 |
}
|
133 |
|
134 |
}
|
135 |
|
136 |
// Make it so...
|
137 |
-
|
138 |
|
139 |
}
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Bootstraps the CMBRE2 process
|
4 |
*
|
5 |
* @category WordPress_Plugin
|
6 |
+
* @package CMBRE2
|
7 |
* @author WebDevStudios
|
8 |
* @license GPL-2.0+
|
9 |
* @link http://webdevstudios.com
|
10 |
*/
|
11 |
if ( ! defined( 'WPINC' ) ) exit;
|
12 |
+
if ( ! class_exists( 'CMBRE2_Bootstrap_206', false ) ) {
|
13 |
|
14 |
/**
|
15 |
+
* Handles checking for and loading the newest version of CMBRE2
|
16 |
*
|
17 |
* @since 2.0.0
|
18 |
*
|
19 |
* @category WordPress_Plugin
|
20 |
+
* @package CMBRE2
|
21 |
* @author WebDevStudios
|
22 |
* @license GPL-2.0+
|
23 |
* @link http://webdevstudios.com
|
24 |
*/
|
25 |
+
class CMBRE2_Bootstrap_206 {
|
26 |
|
27 |
/**
|
28 |
* Current version number
|
41 |
const PRIORITY = 9993;
|
42 |
|
43 |
/**
|
44 |
+
* Single instance of the CMBRE2_Bootstrap_206 object
|
45 |
*
|
46 |
+
* @var CMBRE2_Bootstrap_206
|
47 |
*/
|
48 |
public static $single_instance = null;
|
49 |
|
50 |
/**
|
51 |
+
* Creates/returns the single instance CMBRE2_Bootstrap_206 object
|
52 |
*
|
53 |
+
* @return CMBRE2_Bootstrap_206 Single instance object
|
54 |
+
*@since 2.0.0
|
55 |
*/
|
56 |
public static function initiate() {
|
57 |
if ( null === self::$single_instance ) {
|
62 |
|
63 |
/**
|
64 |
* Starts the version checking process.
|
65 |
+
* Creates CMBRE2_LOADED definition for early detection by other scripts
|
66 |
*
|
67 |
+
* Hooks CMBRE2 inclusion to the init hook on a high priority which decrements
|
68 |
* (increasing the priority) with each version release.
|
69 |
*
|
70 |
* @since 2.0.0
|
71 |
*/
|
72 |
private function __construct() {
|
73 |
/**
|
74 |
+
* A constant you can use to check if CMBRE2 is loaded
|
75 |
+
* for your plugins/themes with CMBRE2 dependency
|
76 |
*/
|
77 |
+
if ( ! defined( 'CMBRE2_LOADED' ) ) {
|
78 |
+
define( 'CMBRE2_LOADED', true );
|
79 |
}
|
80 |
add_action( 'init', array( $this, 'include_cmb' ), self::PRIORITY );
|
81 |
}
|
82 |
|
83 |
/**
|
84 |
+
* A final check if CMBRE2 exists before kicking off our CMBRE2 loading.
|
85 |
+
* CMBRE2_VERSION and CMBRE2_DIR constants are set at this point.
|
86 |
*
|
87 |
* @since 2.0.0
|
88 |
*/
|
89 |
public function include_cmb() {
|
90 |
+
if ( class_exists( 'CMBRE2', false ) ) {
|
91 |
return;
|
92 |
}
|
93 |
|
94 |
+
if ( ! defined( 'CMBRE2_VERSION' ) ) {
|
95 |
+
define( 'CMBRE2_VERSION', self::VERSION );
|
96 |
}
|
97 |
|
98 |
+
if ( ! defined( 'CMBRE2_DIR' ) ) {
|
99 |
+
define( 'CMBRE2_DIR', trailingslashit( dirname( __FILE__ ) ) );
|
100 |
}
|
101 |
|
102 |
$this->l10ni18n();
|
105 |
require_once 'includes/helper-functions.php';
|
106 |
|
107 |
// Now kick off the class autoloader
|
108 |
+
spl_autoload_register( 'cmbre2_autoload_classes' );
|
109 |
|
110 |
// Kick the whole thing off
|
111 |
require_once 'bootstrap.php';
|
112 |
}
|
113 |
|
114 |
/**
|
115 |
+
* Registers CMBRE2 text domain path
|
116 |
* @since 2.0.0
|
117 |
*/
|
118 |
public function l10ni18n() {
|
119 |
+
$loaded = load_plugin_textdomain( 'cmbre2', false, '/languages/' );
|
120 |
if ( ! $loaded ) {
|
121 |
+
$loaded = load_muplugin_textdomain( 'cmbre2', '/languages/' );
|
122 |
}
|
123 |
if ( ! $loaded ) {
|
124 |
+
$loaded = load_theme_textdomain( 'cmbre2', '/languages/' );
|
125 |
}
|
126 |
|
127 |
if ( ! $loaded ) {
|
128 |
+
$locale = apply_filters( 'plugin_locale', get_locale(), 'cmbre2' );
|
129 |
+
$mofile = dirname( __FILE__ ) . '/languages/cmbre2-' . $locale . '.mo';
|
130 |
+
load_textdomain( 'cmbre2', $mofile );
|
131 |
}
|
132 |
}
|
133 |
|
134 |
}
|
135 |
|
136 |
// Make it so...
|
137 |
+
CMBRE2_Bootstrap_206::initiate();
|
138 |
|
139 |
}
|
cmb2/js/cmb2.js → cmbre2/js/cmbre2.js
RENAMED
@@ -2,25 +2,25 @@
|
|
2 |
* Controls the behaviours of custom metabox fields.
|
3 |
*
|
4 |
* @author WebDevStudios
|
5 |
-
* @see https://github.com/WebDevStudios/
|
6 |
*/
|
7 |
|
8 |
/**
|
9 |
* Custom jQuery for Custom Metaboxes and Fields
|
10 |
*/
|
11 |
-
window.
|
12 |
'use strict';
|
13 |
|
14 |
// localization strings
|
15 |
-
var l10n = window.
|
16 |
var setTimeout = window.setTimeout;
|
17 |
|
18 |
-
//
|
19 |
var cmb = {
|
20 |
formfield : '',
|
21 |
idNumber : false,
|
22 |
file_frames : {},
|
23 |
-
repeatEls : 'input:not([type="button"]),select,textarea,.
|
24 |
styleBreakPoint : 450,
|
25 |
mediaHandlers : {},
|
26 |
neweditor_id : [],
|
@@ -40,49 +40,49 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
40 |
if ( cmb.$metabox ) {
|
41 |
return cmb.$metabox;
|
42 |
}
|
43 |
-
cmb.$metabox = $('.
|
44 |
return cmb.$metabox;
|
45 |
};
|
46 |
|
47 |
cmb.init = function() {
|
48 |
|
49 |
-
cmb.log( '
|
50 |
var $metabox = cmb.metabox();
|
51 |
var $repeatGroup = $metabox.find('.cmb-repeatable-group');
|
52 |
|
53 |
/**
|
54 |
* Initialize time/date/color pickers
|
55 |
*/
|
56 |
-
cmb.initPickers( $metabox.find('input[type="text"].
|
57 |
|
58 |
// Wrap date picker in class to narrow the scope of jQuery UI CSS and prevent conflicts
|
59 |
-
$id( 'ui-datepicker-div' ).wrap('<div class="
|
60 |
|
61 |
// Insert toggle button into DOM wherever there is multicheck. credit: Genesis Framework
|
62 |
-
$( '<p><span class="button cmb-multicheck-toggle">' + l10n.strings.check_toggle + '</span></p>' ).insertBefore( '.
|
63 |
|
64 |
// Make File List drag/drop sortable:
|
65 |
cmb.makeListSortable();
|
66 |
|
67 |
$metabox
|
68 |
-
.on( 'change', '.
|
69 |
cmb.formfield = $(this).attr('id');
|
70 |
$id( cmb.formfield + '_id' ).val('');
|
71 |
})
|
72 |
// Media/file management
|
73 |
.on( 'click', '.cmb-multicheck-toggle', cmb.toggleCheckBoxes )
|
74 |
-
.on( 'click', '.
|
75 |
-
.on( 'click', '.cmb-attach-list li, .
|
76 |
-
.on( 'click', '.
|
77 |
// Repeatable content
|
78 |
.on( 'click', '.cmb-add-group-row', cmb.addGroupRow )
|
79 |
.on( 'click', '.cmb-add-row-button', cmb.addAjaxRow )
|
80 |
.on( 'click', '.cmb-remove-group-row', cmb.removeGroupRow )
|
81 |
.on( 'click', '.cmb-remove-row-button', cmb.removeAjaxRow )
|
82 |
// Ajax oEmbed display
|
83 |
-
.on( 'keyup paste focusout', '.
|
84 |
// Reset titles when removing a row
|
85 |
-
.on( '
|
86 |
.on( 'click', '.cmbhandle, .cmbhandle + .cmbhandle-title', cmb.toggleHandle );
|
87 |
|
88 |
if ( $repeatGroup.length ) {
|
@@ -92,7 +92,7 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
92 |
$(this).find( '.button.cmb-remove-group-row' ).before( '<a class="button cmb-shift-rows move-up alignleft" href="#"><span class="'+ l10n.up_arrow_class +'"></span></a> <a class="button cmb-shift-rows move-down alignleft" href="#"><span class="'+ l10n.down_arrow_class +'"></span></a>' );
|
93 |
})
|
94 |
.on( 'click', '.cmb-shift-rows', cmb.shiftRows )
|
95 |
-
.on( '
|
96 |
}
|
97 |
|
98 |
// on pageload
|
@@ -144,11 +144,11 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
144 |
evt.preventDefault();
|
145 |
|
146 |
var $el = $( this );
|
147 |
-
cmb.attach_id = ! $el.hasClass( '
|
148 |
// Clean up default 0 value
|
149 |
cmb.attach_id = '0' !== cmb.attach_id ? cmb.attach_id : false;
|
150 |
|
151 |
-
cmb._handleMedia( $el.prev('input.
|
152 |
};
|
153 |
|
154 |
cmb.handleFileClick = function( evt ) {
|
@@ -156,11 +156,11 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
156 |
|
157 |
var $el = $( this );
|
158 |
var $td = $el.closest( '.cmb-td' );
|
159 |
-
var isList = $td.find( '.
|
160 |
-
cmb.attach_id = isList ? $el.find( 'input[type="hidden"]' ).data( 'id' ) : $td.find( '.
|
161 |
|
162 |
if ( cmb.attach_id ) {
|
163 |
-
cmb._handleMedia( $td.find( 'input.
|
164 |
}
|
165 |
};
|
166 |
|
@@ -211,13 +211,13 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
211 |
// image preview
|
212 |
uploadStatus = '<li class="img-status">'+
|
213 |
'<img width="'+ width +'" height="'+ height +'" src="' + this.url + '" class="attachment-'+ width +'px'+ height +'px" alt="'+ this.filename +'">'+
|
214 |
-
'<p><a href="#" class="
|
215 |
'<input type="hidden" id="filelist-'+ this.id +'" data-id="'+ this.id +'" name="'+ formName +'['+ this.id +']" value="' + this.url + '">'+
|
216 |
'</li>';
|
217 |
|
218 |
} else {
|
219 |
// Standard generic output if it's not an image.
|
220 |
-
uploadStatus = '<li class="file-status"><span>'+ l10n.strings.file +' <strong>'+ this.filename +'</strong></span> (<a href="' + this.url + '" target="_blank" rel="external">'+ l10n.strings.download +'</a> / <a href="#" class="
|
221 |
'<input type="hidden" id="filelist-'+ this.id +'" data-id="'+ this.id +'" name="'+ formName +'['+ this.id +']" value="' + this.url + '">'+
|
222 |
'</li>';
|
223 |
|
@@ -228,9 +228,9 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
228 |
});
|
229 |
|
230 |
if ( ! returnIt ) {
|
231 |
-
// Append each item from our fileGroup array to .
|
232 |
$( fileGroup ).each( function() {
|
233 |
-
$formfield.siblings('.
|
234 |
});
|
235 |
} else {
|
236 |
return fileGroup;
|
@@ -247,14 +247,14 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
247 |
if ( attachment.type && attachment.type === 'image' ) {
|
248 |
// image preview
|
249 |
var width = previewSize[0] ? previewSize[0] : 350;
|
250 |
-
uploadStatus = '<div class="img-status"><img width="'+ width +'px" style="max-width: '+ width +'px; width: 100%; height: auto;" src="' + attachment.url + '" alt="'+ attachment.filename +'" title="'+ attachment.filename +'" /><p><a href="#" class="
|
251 |
} else {
|
252 |
// Standard generic output if it's not an image.
|
253 |
-
uploadStatus = '<div class="file-status"><span>'+ l10n.strings.file +' <strong>'+ attachment.filename +'</strong></span> (<a href="'+ attachment.url +'" target="_blank" rel="external">'+ l10n.strings.download +'</a> / <a href="#" class="
|
254 |
}
|
255 |
|
256 |
// add/display our output
|
257 |
-
$formfield.siblings('.
|
258 |
};
|
259 |
|
260 |
cmb.mediaHandlers.selectFile = function() {
|
@@ -293,7 +293,7 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
293 |
cmb.handleRemoveMedia = function( evt ) {
|
294 |
evt.preventDefault();
|
295 |
var $self = $(this);
|
296 |
-
if ( $self.is( '.cmb-attach-list .
|
297 |
$self.parents('li').remove();
|
298 |
return false;
|
299 |
}
|
@@ -302,7 +302,7 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
302 |
|
303 |
cmb.metabox().find( 'input#' + cmb.formfield ).val('');
|
304 |
cmb.metabox().find( 'input#' + cmb.formfield + '_id' ).val('');
|
305 |
-
$self.parents('.
|
306 |
|
307 |
return false;
|
308 |
};
|
@@ -392,13 +392,13 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
392 |
cmb.newRowHousekeeping = function( $row ) {
|
393 |
|
394 |
var $colorPicker = $row.find( '.wp-picker-container' );
|
395 |
-
var $list = $row.find( '.
|
396 |
|
397 |
if ( $colorPicker.length ) {
|
398 |
// Need to clean-up colorpicker before appending
|
399 |
$colorPicker.each( function() {
|
400 |
var $td = $(this).parent();
|
401 |
-
$td.html( $td.find( 'input[type="text"].
|
402 |
});
|
403 |
}
|
404 |
|
@@ -447,7 +447,7 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
447 |
}
|
448 |
|
449 |
// Init pickers from new row
|
450 |
-
cmb.initPickers( $row.find('input[type="text"].
|
451 |
};
|
452 |
|
453 |
cmb.updateNameAttr = function () {
|
@@ -481,7 +481,7 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
481 |
var $self = $(this);
|
482 |
|
483 |
// before anything significant happens
|
484 |
-
$self.trigger( '
|
485 |
|
486 |
var $table = $id( $self.data('selector') );
|
487 |
var $oldRow = $table.find('.cmb-repeatable-grouping').last();
|
@@ -503,7 +503,7 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
503 |
$table.find('.cmb-remove-group-row').prop( 'disabled', false );
|
504 |
}
|
505 |
|
506 |
-
$table.trigger( '
|
507 |
};
|
508 |
|
509 |
cmb.addAjaxRow = function( evt ) {
|
@@ -523,7 +523,7 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
523 |
|
524 |
cmb.afterRowInsert( $row );
|
525 |
|
526 |
-
$table.trigger( '
|
527 |
|
528 |
$table.find( '.cmb-remove-row-button' ).removeClass( 'button-disabled' );
|
529 |
|
@@ -539,7 +539,7 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
539 |
|
540 |
if ( number > 1 ) {
|
541 |
|
542 |
-
$table.trigger( '
|
543 |
|
544 |
// when a group is removed loop through all next groups and update fields names
|
545 |
$parent.nextAll( '.cmb-repeatable-grouping' ).find( cmb.repeatEls ).each( cmb.updateNameAttr );
|
@@ -552,7 +552,7 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
552 |
$table.find('.cmb-remove-group-row').prop( 'disabled', false );
|
553 |
}
|
554 |
|
555 |
-
$table.trigger( '
|
556 |
}
|
557 |
|
558 |
};
|
@@ -579,7 +579,7 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
579 |
if ( number === 3 ) {
|
580 |
$table.find( '.cmb-remove-row-button' ).addClass( 'button-disabled' );
|
581 |
}
|
582 |
-
$table.trigger( '
|
583 |
} else {
|
584 |
$self.addClass( 'button-disabled' );
|
585 |
}
|
@@ -591,7 +591,7 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
591 |
|
592 |
var $self = $(this);
|
593 |
// before anything signif happens
|
594 |
-
$self.trigger( '
|
595 |
|
596 |
var $parent = $self.parents( '.cmb-repeatable-grouping' );
|
597 |
var $goto = $self.hasClass( 'move-up' ) ? $parent.prev( '.cmb-repeatable-grouping' ) : $parent.next( '.cmb-repeatable-grouping' );
|
@@ -601,14 +601,14 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
601 |
}
|
602 |
|
603 |
// we're gonna shift
|
604 |
-
$self.trigger( '
|
605 |
|
606 |
var inputVals = [];
|
607 |
// Loop this items fields
|
608 |
$parent.find( cmb.repeatEls ).each( function() {
|
609 |
var $element = $(this);
|
610 |
var val;
|
611 |
-
if ( $element.hasClass('
|
612 |
// special case for image previews
|
613 |
val = $element.html();
|
614 |
} else if ( 'checkbox' === $element.attr('type') || 'radio' === $element.attr('type') ) {
|
@@ -626,7 +626,7 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
626 |
var $element = $(this);
|
627 |
var val;
|
628 |
|
629 |
-
if ( $element.hasClass('
|
630 |
// special case for image previews
|
631 |
val = $element.html();
|
632 |
$element.html( inputVals[ index ].val );
|
@@ -651,7 +651,7 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
651 |
});
|
652 |
|
653 |
// shift done
|
654 |
-
$self.trigger( '
|
655 |
};
|
656 |
|
657 |
cmb.initPickers = function( $timePickers, $datePickers, $colorPickers ) {
|
@@ -706,7 +706,7 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
706 |
};
|
707 |
|
708 |
cmb.makeListSortable = function() {
|
709 |
-
var $filelist = cmb.metabox().find( '.
|
710 |
if ( $filelist.length ) {
|
711 |
$filelist.sortable({ cursor: 'move' }).disableSelection();
|
712 |
}
|
@@ -720,7 +720,7 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
720 |
focusout : function() {
|
721 |
setTimeout( function() {
|
722 |
// if it's been 2 seconds, hide our spinner
|
723 |
-
cmb.spinner( '.postbox .
|
724 |
}, 2000);
|
725 |
},
|
726 |
keyup : function() {
|
@@ -774,7 +774,7 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
774 |
}
|
775 |
|
776 |
var $embeds = $self.find('.cmb-type-oembed .embed-status');
|
777 |
-
var $children = $embeds.children().not('.
|
778 |
if ( ! $children.length ) {
|
779 |
return true; // continue
|
780 |
}
|
@@ -842,7 +842,7 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
842 |
// and run our ajax function
|
843 |
setTimeout( function() {
|
844 |
// if they haven't typed in 500 ms
|
845 |
-
if ( $( '.
|
846 |
return;
|
847 |
}
|
848 |
$.ajax({
|
@@ -850,13 +850,13 @@ window.CMB2 = (function(window, document, $, undefined){
|
|
850 |
dataType : 'json',
|
851 |
url : l10n.ajaxurl,
|
852 |
data : {
|
853 |
-
'action' : '
|
854 |
'oembed_url' : oembed_url,
|
855 |
'oembed_width' : oembed_width > 300 ? oembed_width : 300,
|
856 |
'field_id' : field_id,
|
857 |
'object_id' : $obj.data( 'objectid' ),
|
858 |
'object_type' : $obj.data( 'objecttype' ),
|
859 |
-
'
|
860 |
},
|
861 |
success: function(response) {
|
862 |
cmb.log( response );
|
2 |
* Controls the behaviours of custom metabox fields.
|
3 |
*
|
4 |
* @author WebDevStudios
|
5 |
+
* @see https://github.com/WebDevStudios/CMBRE2
|
6 |
*/
|
7 |
|
8 |
/**
|
9 |
* Custom jQuery for Custom Metaboxes and Fields
|
10 |
*/
|
11 |
+
window.CMBRE2 = (function(window, document, $, undefined){
|
12 |
'use strict';
|
13 |
|
14 |
// localization strings
|
15 |
+
var l10n = window.cmbre2_l10;
|
16 |
var setTimeout = window.setTimeout;
|
17 |
|
18 |
+
// CMBRE2 functionality object
|
19 |
var cmb = {
|
20 |
formfield : '',
|
21 |
idNumber : false,
|
22 |
file_frames : {},
|
23 |
+
repeatEls : 'input:not([type="button"]),select,textarea,.cmbre2-media-status',
|
24 |
styleBreakPoint : 450,
|
25 |
mediaHandlers : {},
|
26 |
neweditor_id : [],
|
40 |
if ( cmb.$metabox ) {
|
41 |
return cmb.$metabox;
|
42 |
}
|
43 |
+
cmb.$metabox = $('.cmbre2-wrap > .cmbre2-metabox');
|
44 |
return cmb.$metabox;
|
45 |
};
|
46 |
|
47 |
cmb.init = function() {
|
48 |
|
49 |
+
cmb.log( 'CMBRE2 localized data', l10n );
|
50 |
var $metabox = cmb.metabox();
|
51 |
var $repeatGroup = $metabox.find('.cmb-repeatable-group');
|
52 |
|
53 |
/**
|
54 |
* Initialize time/date/color pickers
|
55 |
*/
|
56 |
+
cmb.initPickers( $metabox.find('input[type="text"].cmbre2-timepicker'), $metabox.find('input[type="text"].cmbre2-datepicker'), $metabox.find('input[type="text"].cmbre2-colorpicker') );
|
57 |
|
58 |
// Wrap date picker in class to narrow the scope of jQuery UI CSS and prevent conflicts
|
59 |
+
$id( 'ui-datepicker-div' ).wrap('<div class="cmbre2-element" />');
|
60 |
|
61 |
// Insert toggle button into DOM wherever there is multicheck. credit: Genesis Framework
|
62 |
+
$( '<p><span class="button cmb-multicheck-toggle">' + l10n.strings.check_toggle + '</span></p>' ).insertBefore( '.cmbre2-checkbox-list:not(.no-select-all)' );
|
63 |
|
64 |
// Make File List drag/drop sortable:
|
65 |
cmb.makeListSortable();
|
66 |
|
67 |
$metabox
|
68 |
+
.on( 'change', '.cmbre2_upload_file', function() {
|
69 |
cmb.formfield = $(this).attr('id');
|
70 |
$id( cmb.formfield + '_id' ).val('');
|
71 |
})
|
72 |
// Media/file management
|
73 |
.on( 'click', '.cmb-multicheck-toggle', cmb.toggleCheckBoxes )
|
74 |
+
.on( 'click', '.cmbre2-upload-button', cmb.handleMedia )
|
75 |
+
.on( 'click', '.cmb-attach-list li, .cmbre2-media-status .img-status img, .cmbre2-media-status .file-status > span', cmb.handleFileClick )
|
76 |
+
.on( 'click', '.cmbre2-remove-file-button', cmb.handleRemoveMedia )
|
77 |
// Repeatable content
|
78 |
.on( 'click', '.cmb-add-group-row', cmb.addGroupRow )
|
79 |
.on( 'click', '.cmb-add-row-button', cmb.addAjaxRow )
|
80 |
.on( 'click', '.cmb-remove-group-row', cmb.removeGroupRow )
|
81 |
.on( 'click', '.cmb-remove-row-button', cmb.removeAjaxRow )
|
82 |
// Ajax oEmbed display
|
83 |
+
.on( 'keyup paste focusout', '.cmbre2-oembed', cmb.maybeOembed )
|
84 |
// Reset titles when removing a row
|
85 |
+
.on( 'cmbre2_remove_row', '.cmb-repeatable-group', cmb.resetTitlesAndIterator )
|
86 |
.on( 'click', '.cmbhandle, .cmbhandle + .cmbhandle-title', cmb.toggleHandle );
|
87 |
|
88 |
if ( $repeatGroup.length ) {
|
92 |
$(this).find( '.button.cmb-remove-group-row' ).before( '<a class="button cmb-shift-rows move-up alignleft" href="#"><span class="'+ l10n.up_arrow_class +'"></span></a> <a class="button cmb-shift-rows move-down alignleft" href="#"><span class="'+ l10n.down_arrow_class +'"></span></a>' );
|
93 |
})
|
94 |
.on( 'click', '.cmb-shift-rows', cmb.shiftRows )
|
95 |
+
.on( 'cmbre2_add_row', cmb.emptyValue );
|
96 |
}
|
97 |
|
98 |
// on pageload
|
144 |
evt.preventDefault();
|
145 |
|
146 |
var $el = $( this );
|
147 |
+
cmb.attach_id = ! $el.hasClass( 'cmbre2-upload-list' ) ? $el.closest( '.cmb-td' ).find( '.cmbre2-upload-file-id' ).val() : false;
|
148 |
// Clean up default 0 value
|
149 |
cmb.attach_id = '0' !== cmb.attach_id ? cmb.attach_id : false;
|
150 |
|
151 |
+
cmb._handleMedia( $el.prev('input.cmbre2-upload-file').attr('id'), $el.hasClass( 'cmbre2-upload-list' ) );
|
152 |
};
|
153 |
|
154 |
cmb.handleFileClick = function( evt ) {
|
156 |
|
157 |
var $el = $( this );
|
158 |
var $td = $el.closest( '.cmb-td' );
|
159 |
+
var isList = $td.find( '.cmbre2-upload-button' ).hasClass( 'cmbre2-upload-list' );
|
160 |
+
cmb.attach_id = isList ? $el.find( 'input[type="hidden"]' ).data( 'id' ) : $td.find( '.cmbre2-upload-file-id' ).val();
|
161 |
|
162 |
if ( cmb.attach_id ) {
|
163 |
+
cmb._handleMedia( $td.find( 'input.cmbre2-upload-file' ).attr('id'), isList, cmb.attach_id );
|
164 |
}
|
165 |
};
|
166 |
|
211 |
// image preview
|
212 |
uploadStatus = '<li class="img-status">'+
|
213 |
'<img width="'+ width +'" height="'+ height +'" src="' + this.url + '" class="attachment-'+ width +'px'+ height +'px" alt="'+ this.filename +'">'+
|
214 |
+
'<p><a href="#" class="cmbre2-remove-file-button" rel="'+ cmb.formfield +'['+ this.id +']">'+ l10n.strings.remove_image +'</a></p>'+
|
215 |
'<input type="hidden" id="filelist-'+ this.id +'" data-id="'+ this.id +'" name="'+ formName +'['+ this.id +']" value="' + this.url + '">'+
|
216 |
'</li>';
|
217 |
|
218 |
} else {
|
219 |
// Standard generic output if it's not an image.
|
220 |
+
uploadStatus = '<li class="file-status"><span>'+ l10n.strings.file +' <strong>'+ this.filename +'</strong></span> (<a href="' + this.url + '" target="_blank" rel="external">'+ l10n.strings.download +'</a> / <a href="#" class="cmbre2-remove-file-button" rel="'+ cmb.formfield +'['+ this.id +']">'+ l10n.strings.remove_file +'</a>)'+
|
221 |
'<input type="hidden" id="filelist-'+ this.id +'" data-id="'+ this.id +'" name="'+ formName +'['+ this.id +']" value="' + this.url + '">'+
|
222 |
'</li>';
|
223 |
|
228 |
});
|
229 |
|
230 |
if ( ! returnIt ) {
|
231 |
+
// Append each item from our fileGroup array to .cmbre2-media-status
|
232 |
$( fileGroup ).each( function() {
|
233 |
+
$formfield.siblings('.cmbre2-media-status').slideDown().append(this);
|
234 |
});
|
235 |
} else {
|
236 |
return fileGroup;
|
247 |
if ( attachment.type && attachment.type === 'image' ) {
|
248 |
// image preview
|
249 |
var width = previewSize[0] ? previewSize[0] : 350;
|
250 |
+
uploadStatus = '<div class="img-status"><img width="'+ width +'px" style="max-width: '+ width +'px; width: 100%; height: auto;" src="' + attachment.url + '" alt="'+ attachment.filename +'" title="'+ attachment.filename +'" /><p><a href="#" class="cmbre2-remove-file-button" rel="' + cmb.formfield + '">'+ l10n.strings.remove_image +'</a></p></div>';
|
251 |
} else {
|
252 |
// Standard generic output if it's not an image.
|
253 |
+
uploadStatus = '<div class="file-status"><span>'+ l10n.strings.file +' <strong>'+ attachment.filename +'</strong></span> (<a href="'+ attachment.url +'" target="_blank" rel="external">'+ l10n.strings.download +'</a> / <a href="#" class="cmbre2-remove-file-button" rel="'+ cmb.formfield +'">'+ l10n.strings.remove_file +'</a>)</div>';
|
254 |
}
|
255 |
|
256 |
// add/display our output
|
257 |
+
$formfield.siblings('.cmbre2-media-status').slideDown().html(uploadStatus);
|
258 |
};
|
259 |
|
260 |
cmb.mediaHandlers.selectFile = function() {
|
293 |
cmb.handleRemoveMedia = function( evt ) {
|
294 |
evt.preventDefault();
|
295 |
var $self = $(this);
|
296 |
+
if ( $self.is( '.cmb-attach-list .cmbre2-remove-file-button' ) ){
|
297 |
$self.parents('li').remove();
|
298 |
return false;
|
299 |
}
|
302 |
|
303 |
cmb.metabox().find( 'input#' + cmb.formfield ).val('');
|
304 |
cmb.metabox().find( 'input#' + cmb.formfield + '_id' ).val('');
|
305 |
+
$self.parents('.cmbre2-media-status').html('');
|
306 |
|
307 |
return false;
|
308 |
};
|
392 |
cmb.newRowHousekeeping = function( $row ) {
|
393 |
|
394 |
var $colorPicker = $row.find( '.wp-picker-container' );
|
395 |
+
var $list = $row.find( '.cmbre2-media-status' );
|
396 |
|
397 |
if ( $colorPicker.length ) {
|
398 |
// Need to clean-up colorpicker before appending
|
399 |
$colorPicker.each( function() {
|
400 |
var $td = $(this).parent();
|
401 |
+
$td.html( $td.find( 'input[type="text"].cmbre2-colorpicker' ).attr('style', '') );
|
402 |
});
|
403 |
}
|
404 |
|
447 |
}
|
448 |
|
449 |
// Init pickers from new row
|
450 |
+
cmb.initPickers( $row.find('input[type="text"].cmbre2-timepicker'), $row.find('input[type="text"].cmbre2-datepicker'), $row.find('input[type="text"].cmbre2-colorpicker') );
|
451 |
};
|
452 |
|
453 |
cmb.updateNameAttr = function () {
|
481 |
var $self = $(this);
|
482 |
|
483 |
// before anything significant happens
|
484 |
+
$self.trigger( 'cmbre2_add_group_row_start', $self );
|
485 |
|
486 |
var $table = $id( $self.data('selector') );
|
487 |
var $oldRow = $table.find('.cmb-repeatable-grouping').last();
|
503 |
$table.find('.cmb-remove-group-row').prop( 'disabled', false );
|
504 |
}
|
505 |
|
506 |
+
$table.trigger( 'cmbre2_add_row', $newRow );
|
507 |
};
|
508 |
|
509 |
cmb.addAjaxRow = function( evt ) {
|
523 |
|
524 |
cmb.afterRowInsert( $row );
|
525 |
|
526 |
+
$table.trigger( 'cmbre2_add_row', $row );
|
527 |
|
528 |
$table.find( '.cmb-remove-row-button' ).removeClass( 'button-disabled' );
|
529 |
|
539 |
|
540 |
if ( number > 1 ) {
|
541 |
|
542 |
+
$table.trigger( 'cmbre2_remove_group_row_start', $self );
|
543 |
|
544 |
// when a group is removed loop through all next groups and update fields names
|
545 |
$parent.nextAll( '.cmb-repeatable-grouping' ).find( cmb.repeatEls ).each( cmb.updateNameAttr );
|
552 |
$table.find('.cmb-remove-group-row').prop( 'disabled', false );
|
553 |
}
|
554 |
|
555 |
+
$table.trigger( 'cmbre2_remove_row' );
|
556 |
}
|
557 |
|
558 |
};
|
579 |
if ( number === 3 ) {
|
580 |
$table.find( '.cmb-remove-row-button' ).addClass( 'button-disabled' );
|
581 |
}
|
582 |
+
$table.trigger( 'cmbre2_remove_row' );
|
583 |
} else {
|
584 |
$self.addClass( 'button-disabled' );
|
585 |
}
|
591 |
|
592 |
var $self = $(this);
|
593 |
// before anything signif happens
|
594 |
+
$self.trigger( 'cmbre2_shift_rows_enter', $self );
|
595 |
|
596 |
var $parent = $self.parents( '.cmb-repeatable-grouping' );
|
597 |
var $goto = $self.hasClass( 'move-up' ) ? $parent.prev( '.cmb-repeatable-grouping' ) : $parent.next( '.cmb-repeatable-grouping' );
|
601 |
}
|
602 |
|
603 |
// we're gonna shift
|
604 |
+
$self.trigger( 'cmbre2_shift_rows_start', $self );
|
605 |
|
606 |
var inputVals = [];
|
607 |
// Loop this items fields
|
608 |
$parent.find( cmb.repeatEls ).each( function() {
|
609 |
var $element = $(this);
|
610 |
var val;
|
611 |
+
if ( $element.hasClass('cmbre2-media-status') ) {
|
612 |
// special case for image previews
|
613 |
val = $element.html();
|
614 |
} else if ( 'checkbox' === $element.attr('type') || 'radio' === $element.attr('type') ) {
|
626 |
var $element = $(this);
|
627 |
var val;
|
628 |
|
629 |
+
if ( $element.hasClass('cmbre2-media-status') ) {
|
630 |
// special case for image previews
|
631 |
val = $element.html();
|
632 |
$element.html( inputVals[ index ].val );
|
651 |
});
|
652 |
|
653 |
// shift done
|
654 |
+
$self.trigger( 'cmbre2_shift_rows_complete', $self );
|
655 |
};
|
656 |
|
657 |
cmb.initPickers = function( $timePickers, $datePickers, $colorPickers ) {
|
706 |
};
|
707 |
|
708 |
cmb.makeListSortable = function() {
|
709 |
+
var $filelist = cmb.metabox().find( '.cmbre2-media-status.cmb-attach-list' );
|
710 |
if ( $filelist.length ) {
|
711 |
$filelist.sortable({ cursor: 'move' }).disableSelection();
|
712 |
}
|
720 |
focusout : function() {
|
721 |
setTimeout( function() {
|
722 |
// if it's been 2 seconds, hide our spinner
|
723 |
+
cmb.spinner( '.postbox .cmbre2-metabox', true );
|
724 |
}, 2000);
|
725 |
},
|
726 |
keyup : function() {
|
774 |
}
|
775 |
|
776 |
var $embeds = $self.find('.cmb-type-oembed .embed-status');
|
777 |
+
var $children = $embeds.children().not('.cmbre2-remove-wrapper');
|
778 |
if ( ! $children.length ) {
|
779 |
return true; // continue
|
780 |
}
|
842 |
// and run our ajax function
|
843 |
setTimeout( function() {
|
844 |
// if they haven't typed in 500 ms
|
845 |
+
if ( $( '.cmbre2-oembed:focus' ).val() !== oembed_url ) {
|
846 |
return;
|
847 |
}
|
848 |
$.ajax({
|
850 |
dataType : 'json',
|
851 |
url : l10n.ajaxurl,
|
852 |
data : {
|
853 |
+
'action' : 'cmbre2_oembed_handler',
|
854 |
'oembed_url' : oembed_url,
|
855 |
'oembed_width' : oembed_width > 300 ? oembed_width : 300,
|
856 |
'field_id' : field_id,
|
857 |
'object_id' : $obj.data( 'objectid' ),
|
858 |
'object_type' : $obj.data( 'objecttype' ),
|
859 |
+
'cmbre2_ajax_nonce' : l10n.ajax_nonce
|
860 |
},
|
861 |
success: function(response) {
|
862 |
cmb.log( response );
|
cmbre2/js/cmbre2.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
window.CMBRE2=function(window,document,$){"use strict";var l10n=window.cmbre2_l10,setTimeout=window.setTimeout,cmb={formfield:"",idNumber:!1,file_frames:{},repeatEls:'input:not([type="button"]),select,textarea,.cmbre2-media-status',styleBreakPoint:450,mediaHandlers:{},neweditor_id:[],defaults:{time_picker:l10n.defaults.time_picker,date_picker:l10n.defaults.date_picker,color_picker:l10n.defaults.color_picker||{}}},$id=function(selector){return $(document.getElementById(selector))};return cmb.metabox=function(){return cmb.$metabox?cmb.$metabox:(cmb.$metabox=$(".cmbre2-wrap > .cmbre2-metabox"),cmb.$metabox)},cmb.init=function(){cmb.log("CMBRE2 localized data",l10n);var $metabox=cmb.metabox(),$repeatGroup=$metabox.find(".cmb-repeatable-group");cmb.initPickers($metabox.find('input[type="text"].cmbre2-timepicker'),$metabox.find('input[type="text"].cmbre2-datepicker'),$metabox.find('input[type="text"].cmbre2-colorpicker')),$id("ui-datepicker-div").wrap('<div class="cmbre2-element" />'),$('<p><span class="button cmb-multicheck-toggle">'+l10n.strings.check_toggle+"</span></p>").insertBefore(".cmbre2-checkbox-list:not(.no-select-all)"),cmb.makeListSortable(),$metabox.on("change",".cmbre2_upload_file",function(){cmb.formfield=$(this).attr("id"),$id(cmb.formfield+"_id").val("")}).on("click",".cmb-multicheck-toggle",cmb.toggleCheckBoxes).on("click",".cmbre2-upload-button",cmb.handleMedia).on("click",".cmb-attach-list li, .cmbre2-media-status .img-status img, .cmbre2-media-status .file-status > span",cmb.handleFileClick).on("click",".cmbre2-remove-file-button",cmb.handleRemoveMedia).on("click",".cmb-add-group-row",cmb.addGroupRow).on("click",".cmb-add-row-button",cmb.addAjaxRow).on("click",".cmb-remove-group-row",cmb.removeGroupRow).on("click",".cmb-remove-row-button",cmb.removeAjaxRow).on("keyup paste focusout",".cmbre2-oembed",cmb.maybeOembed).on("cmbre2_remove_row",".cmb-repeatable-group",cmb.resetTitlesAndIterator).on("click",".cmbhandle, .cmbhandle + .cmbhandle-title",cmb.toggleHandle),$repeatGroup.length&&$repeatGroup.filter(".sortable").each(function(){$(this).find(".button.cmb-remove-group-row").before('<a class="button cmb-shift-rows move-up alignleft" href="#"><span class="'+l10n.up_arrow_class+'"></span></a> <a class="button cmb-shift-rows move-down alignleft" href="#"><span class="'+l10n.down_arrow_class+'"></span></a>')}).on("click",".cmb-shift-rows",cmb.shiftRows).on("cmbre2_add_row",cmb.emptyValue),setTimeout(cmb.resizeoEmbeds,500),$(window).on("resize",cmb.resizeoEmbeds)},cmb.resetTitlesAndIterator=function(){$(".cmb-repeatable-group").each(function(){var $table=$(this);$table.find(".cmb-repeatable-grouping").each(function(rowindex){var $row=$(this);$row.data("iterator",rowindex),$row.find(".cmb-group-title h4").text($table.find(".cmb-add-group-row").data("grouptitle").replace("{#}",rowindex+1))})})},cmb.toggleHandle=function(evt){evt.preventDefault(),$(document).trigger("postbox-toggled",$(this).parent(".postbox").toggleClass("closed"))},cmb.toggleCheckBoxes=function(evt){evt.preventDefault();var $self=$(this),$multicheck=$self.closest(".cmb-td").find("input[type=checkbox]");$self.data("checked")?($multicheck.prop("checked",!1),$self.data("checked",!1)):($multicheck.prop("checked",!0),$self.data("checked",!0))},cmb.handleMedia=function(evt){evt.preventDefault();var $el=$(this);cmb.attach_id=$el.hasClass("cmbre2-upload-list")?!1:$el.closest(".cmb-td").find(".cmbre2-upload-file-id").val(),cmb.attach_id="0"!==cmb.attach_id?cmb.attach_id:!1,cmb._handleMedia($el.prev("input.cmbre2-upload-file").attr("id"),$el.hasClass("cmbre2-upload-list"))},cmb.handleFileClick=function(evt){evt.preventDefault();var $el=$(this),$td=$el.closest(".cmb-td"),isList=$td.find(".cmbre2-upload-button").hasClass("cmbre2-upload-list");cmb.attach_id=isList?$el.find('input[type="hidden"]').data("id"):$td.find(".cmbre2-upload-file-id").val(),cmb.attach_id&&cmb._handleMedia($td.find("input.cmbre2-upload-file").attr("id"),isList,cmb.attach_id)},cmb._handleMedia=function(formfield,isList){if(wp){var $metabox=cmb.metabox();cmb.formfield=formfield;var $formfield=$id(cmb.formfield),previewSize=$formfield.data("previewsize"),formName=$formfield.attr("name"),uploadStatus=!0,attachment=!0;if(cmb.formfield in cmb.file_frames)return void cmb.file_frames[cmb.formfield].open();cmb.file_frames[cmb.formfield]=wp.media({title:$metabox.find("label[for="+cmb.formfield+"]").text(),button:{text:l10n.strings.upload_file},multiple:isList?!0:!1}),cmb.mediaHandlers.list=function(selection,returnIt){attachment=selection.toJSON(),$formfield.val(attachment.url),$id(cmb.formfield+"_id").val(attachment.id);var fileGroup=[];return $(attachment).each(function(){if(this.type&&"image"===this.type){var width=previewSize[0]?previewSize[0]:50,height=previewSize[1]?previewSize[1]:50;uploadStatus='<li class="img-status"><img width="'+width+'" height="'+height+'" src="'+this.url+'" class="attachment-'+width+"px"+height+'px" alt="'+this.filename+'"><p><a href="#" class="cmbre2-remove-file-button" rel="'+cmb.formfield+"["+this.id+']">'+l10n.strings.remove_image+'</a></p><input type="hidden" id="filelist-'+this.id+'" data-id="'+this.id+'" name="'+formName+"["+this.id+']" value="'+this.url+'"></li>'}else uploadStatus='<li class="file-status"><span>'+l10n.strings.file+" <strong>"+this.filename+'</strong></span> (<a href="'+this.url+'" target="_blank" rel="external">'+l10n.strings.download+'</a> / <a href="#" class="cmbre2-remove-file-button" rel="'+cmb.formfield+"["+this.id+']">'+l10n.strings.remove_file+'</a>)<input type="hidden" id="filelist-'+this.id+'" data-id="'+this.id+'" name="'+formName+"["+this.id+']" value="'+this.url+'"></li>';fileGroup.push(uploadStatus)}),returnIt?fileGroup:void $(fileGroup).each(function(){$formfield.siblings(".cmbre2-media-status").slideDown().append(this)})},cmb.mediaHandlers.single=function(selection){if(attachment=selection.first().toJSON(),$formfield.val(attachment.url),$id(cmb.formfield+"_id").val(attachment.id),attachment.type&&"image"===attachment.type){var width=previewSize[0]?previewSize[0]:350;uploadStatus='<div class="img-status"><img width="'+width+'px" style="max-width: '+width+'px; width: 100%; height: auto;" src="'+attachment.url+'" alt="'+attachment.filename+'" title="'+attachment.filename+'" /><p><a href="#" class="cmbre2-remove-file-button" rel="'+cmb.formfield+'">'+l10n.strings.remove_image+"</a></p></div>"}else uploadStatus='<div class="file-status"><span>'+l10n.strings.file+" <strong>"+attachment.filename+'</strong></span> (<a href="'+attachment.url+'" target="_blank" rel="external">'+l10n.strings.download+'</a> / <a href="#" class="cmbre2-remove-file-button" rel="'+cmb.formfield+'">'+l10n.strings.remove_file+"</a>)</div>";$formfield.siblings(".cmbre2-media-status").slideDown().html(uploadStatus)},cmb.mediaHandlers.selectFile=function(){var selection=cmb.file_frames[cmb.formfield].state().get("selection"),type=isList?"list":"single";return cmb.attach_id&&isList?void $('[data-id="'+cmb.attach_id+'"]').parents("li").replaceWith(cmb.mediaHandlers.list(selection,!0)):void cmb.mediaHandlers[type](selection)},cmb.mediaHandlers.openModal=function(){var selection=cmb.file_frames[cmb.formfield].state().get("selection");if(!cmb.attach_id)return selection.reset();var attach=wp.media.attachment(cmb.attach_id);attach.fetch(),selection.set(attach?[attach]:[])},cmb.file_frames[cmb.formfield].on("select",cmb.mediaHandlers.selectFile).on("open",cmb.mediaHandlers.openModal),cmb.file_frames[cmb.formfield].open()}},cmb.handleRemoveMedia=function(evt){evt.preventDefault();var $self=$(this);return $self.is(".cmb-attach-list .cmbre2-remove-file-button")?($self.parents("li").remove(),!1):(cmb.formfield=$self.attr("rel"),cmb.metabox().find("input#"+cmb.formfield).val(""),cmb.metabox().find("input#"+cmb.formfield+"_id").val(""),$self.parents(".cmbre2-media-status").html(""),!1)},cmb.cleanRow=function($row,prevNum,group){var $inputs=$row.find('input:not([type="button"]), select, textarea, label'),$other=$row.find("[id]").not('input:not([type="button"]), select, textarea, label');return group&&($row.find(".cmb-repeat-table .cmb-repeat-row:not(:first-child)").remove(),$other.length&&$other.each(function(){var $_this=$(this),oldID=$_this.attr("id"),newID=oldID.replace("_"+prevNum,"_"+cmb.idNumber),$buttons=$row.find('[data-selector="'+oldID+'"]');$_this.attr("id",newID),$buttons.length&&$buttons.attr("data-selector",newID).data("selector",newID)})),cmb.neweditor_id=[],$inputs.filter(":checked").prop("checked",!1),$inputs.filter(":selected").prop("selected",!1),$row.find("h3.cmb-group-title").length&&$row.find("h3.cmb-group-title").text($row.data("title").replace("{#}",cmb.idNumber+1)),$inputs.each(function(){var newID,oldID,$newInput=$(this),isEditor=$newInput.hasClass("wp-editor-area"),oldFor=$newInput.attr("for"),attrs={};if(oldFor)attrs={"for":oldFor.replace("_"+prevNum,"_"+cmb.idNumber)};else{var oldName=$newInput.attr("name"),newName=oldName?oldName.replace("["+prevNum+"]","["+cmb.idNumber+"]"):"";oldID=$newInput.attr("id"),newID=oldID?oldID.replace("_"+prevNum,"_"+cmb.idNumber):"",attrs={id:newID,name:newName,"data-iterator":cmb.idNumber}}if($newInput.removeClass("hasDatepicker").attr(attrs).val(""),isEditor){newID=newID?oldID.replace("zx"+prevNum,"zx"+cmb.idNumber):"",$newInput.html("");var $wysiwyg=$newInput.parents(".cmb-type-wysiwyg");$wysiwyg.find(".mce-tinymce:not(:first-child)").remove();var html=$wysiwyg.html().replace(new RegExp(oldID,"g"),newID);$wysiwyg.html(html),cmb.neweditor_id.push({id:newID,old:oldID})}}),cmb},cmb.newRowHousekeeping=function($row){var $colorPicker=$row.find(".wp-picker-container"),$list=$row.find(".cmbre2-media-status");return $colorPicker.length&&$colorPicker.each(function(){var $td=$(this).parent();$td.html($td.find('input[type="text"].cmbre2-colorpicker').attr("style",""))}),$list.length&&$list.empty(),cmb},cmb.afterRowInsert=function($row){var _prop;if(cmb.neweditor_id.length){var i;for(i=cmb.neweditor_id.length-1;i>=0;i--){var id=cmb.neweditor_id[i].id,old=cmb.neweditor_id[i].old;if("undefined"==typeof tinyMCEPreInit.mceInit[id]){var newSettings=jQuery.extend({},tinyMCEPreInit.mceInit[old]);for(_prop in newSettings)"string"==typeof newSettings[_prop]&&(newSettings[_prop]=newSettings[_prop].replace(new RegExp(old,"g"),id));tinyMCEPreInit.mceInit[id]=newSettings}if("undefined"==typeof tinyMCEPreInit.qtInit[id]){var newQTS=jQuery.extend({},tinyMCEPreInit.qtInit[old]);for(_prop in newQTS)"string"==typeof newQTS[_prop]&&(newQTS[_prop]=newQTS[_prop].replace(new RegExp(old,"g"),id));tinyMCEPreInit.qtInit[id]=newQTS}tinyMCE.init({id:tinyMCEPreInit.mceInit[id]})}}cmb.initPickers($row.find('input[type="text"].cmbre2-timepicker'),$row.find('input[type="text"].cmbre2-datepicker'),$row.find('input[type="text"].cmbre2-colorpicker'))},cmb.updateNameAttr=function(){var $this=$(this),name=$this.attr("name");if("undefined"==typeof name)return!1;var prevNum=parseInt($this.parents(".cmb-repeatable-grouping").data("iterator")),newNum=prevNum-1,$newName=name.replace("["+prevNum+"]","["+newNum+"]");$this.attr("name",$newName)},cmb.emptyValue=function(evt,row){$('input:not([type="button"]), textarea',row).val("")},cmb.addGroupRow=function(evt){evt.preventDefault();var $self=$(this);$self.trigger("cmbre2_add_group_row_start",$self);var $table=$id($self.data("selector")),$oldRow=$table.find(".cmb-repeatable-grouping").last(),prevNum=parseInt($oldRow.data("iterator"));cmb.idNumber=prevNum+1;var $row=$oldRow.clone();cmb.newRowHousekeeping($row.data("title",$self.data("grouptitle"))).cleanRow($row,prevNum,!0),$row.find(".cmb-add-row-button").prop("disabled",!1);var $newRow=$('<div class="postbox cmb-row cmb-repeatable-grouping" data-iterator="'+cmb.idNumber+'">'+$row.html()+"</div>");$oldRow.after($newRow),cmb.afterRowInsert($newRow),$table.find(".cmb-repeatable-grouping").length<=1?$table.find(".cmb-remove-group-row").prop("disabled",!0):$table.find(".cmb-remove-group-row").prop("disabled",!1),$table.trigger("cmbre2_add_row",$newRow)},cmb.addAjaxRow=function(evt){evt.preventDefault();var $self=$(this),$table=$id($self.data("selector")),$emptyrow=$table.find(".empty-row"),prevNum=parseInt($emptyrow.find("[data-iterator]").data("iterator"));cmb.idNumber=prevNum+1;var $row=$emptyrow.clone();cmb.newRowHousekeeping($row).cleanRow($row,prevNum),$emptyrow.removeClass("empty-row hidden").addClass("cmb-repeat-row"),$emptyrow.after($row),cmb.afterRowInsert($row),$table.trigger("cmbre2_add_row",$row),$table.find(".cmb-remove-row-button").removeClass("button-disabled")},cmb.removeGroupRow=function(evt){evt.preventDefault();var $self=$(this),$table=$id($self.data("selector")),$parent=$self.parents(".cmb-repeatable-grouping"),number=$table.find(".cmb-repeatable-grouping").length;number>1&&($table.trigger("cmbre2_remove_group_row_start",$self),$parent.nextAll(".cmb-repeatable-grouping").find(cmb.repeatEls).each(cmb.updateNameAttr),$parent.remove(),2>=number?$table.find(".cmb-remove-group-row").prop("disabled",!0):$table.find(".cmb-remove-group-row").prop("disabled",!1),$table.trigger("cmbre2_remove_row"))},cmb.removeAjaxRow=function(evt){evt.preventDefault();var $self=$(this);if(!$self.hasClass("button-disabled")){var $parent=$self.parents(".cmb-row"),$table=$self.parents(".cmb-repeat-table"),number=$table.find(".cmb-row").length;number>2?($parent.hasClass("empty-row")&&$parent.prev().addClass("empty-row").removeClass("cmb-repeat-row"),$self.parents(".cmb-repeat-table .cmb-row").remove(),3===number&&$table.find(".cmb-remove-row-button").addClass("button-disabled"),$table.trigger("cmbre2_remove_row")):$self.addClass("button-disabled")}},cmb.shiftRows=function(evt){evt.preventDefault();var $self=$(this);$self.trigger("cmbre2_shift_rows_enter",$self);var $parent=$self.parents(".cmb-repeatable-grouping"),$goto=$self.hasClass("move-up")?$parent.prev(".cmb-repeatable-grouping"):$parent.next(".cmb-repeatable-grouping");if($goto.length){$self.trigger("cmbre2_shift_rows_start",$self);var inputVals=[];$parent.find(cmb.repeatEls).each(function(){var val,$element=$(this);val=$element.hasClass("cmbre2-media-status")?$element.html():"checkbox"===$element.attr("type")||"radio"===$element.attr("type")?$element.is(":checked"):"select"===$element.prop("tagName")?$element.is(":selected"):$element.val(),inputVals.push({val:val,$:$element})}),$goto.find(cmb.repeatEls).each(function(index){var val,$element=$(this);$element.hasClass("cmbre2-media-status")?(val=$element.html(),$element.html(inputVals[index].val),inputVals[index].$.html(val)):"checkbox"===$element.attr("type")||"radio"===$element.attr("type")?(inputVals[index].$.prop("checked",$element.is(":checked")),$element.prop("checked",inputVals[index].val)):"select"===$element.prop("tagName")?(inputVals[index].$.prop("selected",$element.is(":selected")),$element.prop("selected",inputVals[index].val)):(inputVals[index].$.val($element.val()),$element.val(inputVals[index].val))}),$self.trigger("cmbre2_shift_rows_complete",$self)}},cmb.initPickers=function($timePickers,$datePickers,$colorPickers){cmb.initTimePickers($timePickers),cmb.initDatePickers($datePickers),cmb.initColorPickers($colorPickers)},cmb.initTimePickers=function($selector){$selector.length&&($selector.timepicker("destroy"),$selector.timepicker(cmb.defaults.time_picker))},cmb.initDatePickers=function($selector){$selector.length&&($selector.datepicker("destroy"),$selector.datepicker(cmb.defaults.date_picker))},cmb.initColorPickers=function($selector){$selector.length&&("object"==typeof jQuery.wp&&"function"==typeof jQuery.wp.wpColorPicker?$selector.wpColorPicker(cmb.defaults.color_picker):$selector.each(function(i){$(this).after('<div id="picker-'+i+'" style="z-index: 1000; background: #EEE; border: 1px solid #CCC; position: absolute; display: block;"></div>'),$id("picker-"+i).hide().farbtastic($(this))}).focus(function(){$(this).next().show()}).blur(function(){$(this).next().hide()}))},cmb.makeListSortable=function(){var $filelist=cmb.metabox().find(".cmbre2-media-status.cmb-attach-list");$filelist.length&&$filelist.sortable({cursor:"move"}).disableSelection()},cmb.maybeOembed=function(evt){var $self=$(this),type=evt.type,m={focusout:function(){setTimeout(function(){cmb.spinner(".postbox .cmbre2-metabox",!0)},2e3)},keyup:function(){var betw=function(min,max){return evt.which<=max&&evt.which>=min};(betw(48,90)||betw(96,111)||betw(8,9)||187===evt.which||190===evt.which)&&cmb.doAjax($self,evt)},paste:function(){setTimeout(function(){cmb.doAjax($self)},100)}};m[type]()},cmb.resizeoEmbeds=function(){cmb.metabox().each(function(){var $self=$(this),$tableWrap=$self.parents(".inside"),isSide=$self.parents(".inner-sidebar").length||$self.parents("#side-sortables").length,isSmall=isSide,isSmallest=!1;if(!$tableWrap.length)return!0;var tableW=$tableWrap.width();cmb.styleBreakPoint>tableW&&(isSmall=!0,isSmallest=cmb.styleBreakPoint-62>tableW),tableW=isSmall?tableW:Math.round(.82*$tableWrap.width()*.97);var newWidth=tableW-30;if(!isSmall||isSide||isSmallest||(newWidth-=75),newWidth>639)return!0;var $embeds=$self.find(".cmb-type-oembed .embed-status"),$children=$embeds.children().not(".cmbre2-remove-wrapper");return $children.length?void $children.each(function(){var $self=$(this),iwidth=$self.width(),iheight=$self.height(),_newWidth=newWidth;$self.parents(".cmb-repeat-row").length&&!isSmall&&(_newWidth=newWidth-91,_newWidth=785>tableW?_newWidth-15:_newWidth);var newHeight=Math.round(_newWidth*iheight/iwidth);$self.width(_newWidth).height(newHeight)}):!0})},cmb.log=function(){l10n.script_debug&&console&&"function"==typeof console.log&&console.log.apply(console,arguments)},cmb.spinner=function($context,hide){hide?$(".cmb-spinner",$context).hide():$(".cmb-spinner",$context).show()},cmb.doAjax=function($obj){var oembed_url=$obj.val();if(!(oembed_url.length<6)){var field_id=$obj.attr("id"),$context=$obj.closest(".cmb-td"),$embed_container=$context.find(".embed-status"),$embed_wrap=$context.find(".embed_wrap"),$child_el=$embed_container.find(":first-child"),oembed_width=$embed_container.length&&$child_el.length?$child_el.width():$obj.width();cmb.log("oembed_url",oembed_url,field_id),cmb.spinner($context),$embed_wrap.html(""),setTimeout(function(){$(".cmbre2-oembed:focus").val()===oembed_url&&$.ajax({type:"post",dataType:"json",url:l10n.ajaxurl,data:{action:"cmbre2_oembed_handler",oembed_url:oembed_url,oembed_width:oembed_width>300?oembed_width:300,field_id:field_id,object_id:$obj.data("objectid"),object_type:$obj.data("objecttype"),cmbre2_ajax_nonce:l10n.ajax_nonce},success:function(response){cmb.log(response),cmb.spinner($context,!0),$embed_wrap.html(response.data)}})},500)}},$(document).ready(cmb.init),cmb}(window,document,jQuery);
|
{cmb2 → cmbre2}/js/index.html
RENAMED
File without changes
|
{cmb2 → cmbre2}/js/jquery-ui-timepicker-addon.min.js
RENAMED
File without changes
|
{cmb2 → cmbre2}/js/jquery.timePicker.min.js
RENAMED
File without changes
|
{cmb2 → cmbre2}/languages/cmb2.pot
RENAMED
@@ -1,9 +1,9 @@
|
|
1 |
# Copyright (C) 2015 WebDevStudios
|
2 |
-
# This file is distributed under the same license as the
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version:
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/
|
7 |
"POT-Creation-Date: 2015-04-30 19:24:49+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
@@ -289,161 +289,161 @@ msgstr ""
|
|
289 |
msgid "Site Background Color"
|
290 |
msgstr ""
|
291 |
|
292 |
-
#: includes/
|
293 |
msgid "Metabox configuration is required to have an ID parameter"
|
294 |
msgstr ""
|
295 |
|
296 |
-
#: includes/
|
297 |
msgid "Click to toggle"
|
298 |
msgstr ""
|
299 |
|
300 |
-
#: includes/
|
301 |
msgid "Please Try Again"
|
302 |
msgstr ""
|
303 |
|
304 |
-
#: includes/
|
305 |
msgid "Remove Embed"
|
306 |
msgstr ""
|
307 |
|
308 |
-
#: includes/
|
309 |
msgid "No oEmbed Results Found for %s. View more info at"
|
310 |
msgstr ""
|
311 |
|
312 |
-
#: includes/
|
313 |
msgid "Add Group"
|
314 |
msgstr ""
|
315 |
|
316 |
-
#: includes/
|
317 |
msgid "Remove Group"
|
318 |
msgstr ""
|
319 |
|
320 |
-
#: includes/
|
321 |
#: tests/test-cmb-field.php:178
|
322 |
msgid "None"
|
323 |
msgstr ""
|
324 |
|
325 |
-
#: includes/
|
326 |
msgid "Add Row"
|
327 |
msgstr ""
|
328 |
|
329 |
-
#: includes/
|
330 |
-
#: includes/
|
331 |
#: tests/test-cmb-types.php:163 tests/test-cmb-types.php:723
|
332 |
#: tests/test-cmb-types.php:748
|
333 |
msgid "Remove"
|
334 |
msgstr ""
|
335 |
|
336 |
-
#: includes/
|
337 |
msgid "No terms"
|
338 |
msgstr ""
|
339 |
|
340 |
-
#: includes/
|
341 |
#: tests/test-cmb-types.php:725
|
342 |
msgid "Add or Upload Files"
|
343 |
msgstr ""
|
344 |
|
345 |
-
#: includes/
|
346 |
#: tests/test-cmb-types.php:750
|
347 |
msgid "Add or Upload File"
|
348 |
msgstr ""
|
349 |
|
350 |
-
#: includes/
|
351 |
msgid "Remove Image"
|
352 |
msgstr ""
|
353 |
|
354 |
-
#: includes/
|
355 |
#: tests/test-cmb-types.php:724 tests/test-cmb-types.php:749
|
356 |
msgid "File:"
|
357 |
msgstr ""
|
358 |
|
359 |
-
#: includes/
|
360 |
#: tests/test-cmb-types.php:722 tests/test-cmb-types.php:747
|
361 |
msgid "Download"
|
362 |
msgstr ""
|
363 |
|
364 |
-
#: includes/
|
365 |
msgid "Clear"
|
366 |
msgstr ""
|
367 |
|
368 |
-
#: includes/
|
369 |
msgid "Default"
|
370 |
msgstr ""
|
371 |
|
372 |
-
#: includes/
|
373 |
msgid "Select Color"
|
374 |
msgstr ""
|
375 |
|
376 |
-
#: includes/
|
377 |
msgid "Current Color"
|
378 |
msgstr ""
|
379 |
|
380 |
-
#: includes/
|
381 |
msgid "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
|
382 |
msgstr ""
|
383 |
|
384 |
-
#: includes/
|
385 |
msgid "Su, Mo, Tu, We, Th, Fr, Sa"
|
386 |
msgstr ""
|
387 |
|
388 |
-
#: includes/
|
389 |
msgid "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
|
390 |
msgstr ""
|
391 |
|
392 |
-
#: includes/
|
393 |
msgid ""
|
394 |
"January, February, March, April, May, June, July, August, September, "
|
395 |
"October, November, December"
|
396 |
msgstr ""
|
397 |
|
398 |
-
#: includes/
|
399 |
msgid "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
|
400 |
msgstr ""
|
401 |
|
402 |
-
#: includes/
|
403 |
msgid "Next"
|
404 |
msgstr ""
|
405 |
|
406 |
-
#: includes/
|
407 |
msgid "Prev"
|
408 |
msgstr ""
|
409 |
|
410 |
-
#: includes/
|
411 |
msgid "Today"
|
412 |
msgstr ""
|
413 |
|
414 |
-
#: includes/
|
415 |
msgid "Done"
|
416 |
msgstr ""
|
417 |
|
418 |
-
#: includes/
|
419 |
msgid "Choose Time"
|
420 |
msgstr ""
|
421 |
|
422 |
-
#: includes/
|
423 |
msgid "Time"
|
424 |
msgstr ""
|
425 |
|
426 |
-
#: includes/
|
427 |
msgid "Hour"
|
428 |
msgstr ""
|
429 |
|
430 |
-
#: includes/
|
431 |
msgid "Minute"
|
432 |
msgstr ""
|
433 |
|
434 |
-
#: includes/
|
435 |
msgid "Second"
|
436 |
msgstr ""
|
437 |
|
438 |
-
#: includes/
|
439 |
msgid "Now"
|
440 |
msgstr ""
|
441 |
|
442 |
-
#: includes/
|
443 |
msgid "Use this file"
|
444 |
msgstr ""
|
445 |
|
446 |
-
#: includes/
|
447 |
msgid "Select / Deselect All"
|
448 |
msgstr ""
|
449 |
|
@@ -452,16 +452,16 @@ msgid "Save"
|
|
452 |
msgstr ""
|
453 |
|
454 |
#. Plugin Name of the plugin/theme
|
455 |
-
msgid "
|
456 |
msgstr ""
|
457 |
|
458 |
#. Plugin URI of the plugin/theme
|
459 |
-
msgid "https://github.com/WebDevStudios/
|
460 |
msgstr ""
|
461 |
|
462 |
#. Description of the plugin/theme
|
463 |
msgid ""
|
464 |
-
"
|
465 |
"mind."
|
466 |
msgstr ""
|
467 |
|
@@ -473,12 +473,12 @@ msgstr ""
|
|
473 |
msgid "http://webdevstudios.com"
|
474 |
msgstr ""
|
475 |
|
476 |
-
#: includes/
|
477 |
msgctxt "Valid formatDate string for jquery-ui datepicker"
|
478 |
msgid "mm/dd/yy"
|
479 |
msgstr ""
|
480 |
|
481 |
-
#: includes/
|
482 |
msgctxt ""
|
483 |
"Valid formatting string, as per "
|
484 |
"http://trentrichardson.com/examples/timepicker/"
|
1 |
# Copyright (C) 2015 WebDevStudios
|
2 |
+
# This file is distributed under the same license as the CMBRE2 package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: CMBRE2 2.0.6\n"
|
6 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/cmbre2\n"
|
7 |
"POT-Creation-Date: 2015-04-30 19:24:49+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
289 |
msgid "Site Background Color"
|
290 |
msgstr ""
|
291 |
|
292 |
+
#: includes/CMBRE2.php:119
|
293 |
msgid "Metabox configuration is required to have an ID parameter"
|
294 |
msgstr ""
|
295 |
|
296 |
+
#: includes/CMBRE2.php:316
|
297 |
msgid "Click to toggle"
|
298 |
msgstr ""
|
299 |
|
300 |
+
#: includes/CMBRE2_Ajax.php:40
|
301 |
msgid "Please Try Again"
|
302 |
msgstr ""
|
303 |
|
304 |
+
#: includes/CMBRE2_Ajax.php:135 tests/test-cmb-types.php:774
|
305 |
msgid "Remove Embed"
|
306 |
msgstr ""
|
307 |
|
308 |
+
#: includes/CMBRE2_Ajax.php:139 tests/test-cmb-types.php:775
|
309 |
msgid "No oEmbed Results Found for %s. View more info at"
|
310 |
msgstr ""
|
311 |
|
312 |
+
#: includes/CMBRE2_Field.php:893
|
313 |
msgid "Add Group"
|
314 |
msgstr ""
|
315 |
|
316 |
+
#: includes/CMBRE2_Field.php:894
|
317 |
msgid "Remove Group"
|
318 |
msgstr ""
|
319 |
|
320 |
+
#: includes/CMBRE2_Field.php:916 includes/CMBRE2_Field.php:920
|
321 |
#: tests/test-cmb-field.php:178
|
322 |
msgid "None"
|
323 |
msgstr ""
|
324 |
|
325 |
+
#: includes/CMBRE2_Types.php:297
|
326 |
msgid "Add Row"
|
327 |
msgstr ""
|
328 |
|
329 |
+
#: includes/CMBRE2_Types.php:356 includes/CMBRE2_Types.php:989
|
330 |
+
#: includes/CMBRE2_hookup.php:194 tests/test-cmb-types.php:155
|
331 |
#: tests/test-cmb-types.php:163 tests/test-cmb-types.php:723
|
332 |
#: tests/test-cmb-types.php:748
|
333 |
msgid "Remove"
|
334 |
msgstr ""
|
335 |
|
336 |
+
#: includes/CMBRE2_Types.php:725 includes/CMBRE2_Types.php:773
|
337 |
msgid "No terms"
|
338 |
msgstr ""
|
339 |
|
340 |
+
#: includes/CMBRE2_Types.php:838 tests/test-cmb-types.php:699
|
341 |
#: tests/test-cmb-types.php:725
|
342 |
msgid "Add or Upload Files"
|
343 |
msgstr ""
|
344 |
|
345 |
+
#: includes/CMBRE2_Types.php:896 tests/test-cmb-types.php:735
|
346 |
#: tests/test-cmb-types.php:750
|
347 |
msgid "Add or Upload File"
|
348 |
msgstr ""
|
349 |
|
350 |
+
#: includes/CMBRE2_Types.php:970 includes/CMBRE2_hookup.php:193
|
351 |
msgid "Remove Image"
|
352 |
msgstr ""
|
353 |
|
354 |
+
#: includes/CMBRE2_Types.php:984 includes/CMBRE2_hookup.php:195
|
355 |
#: tests/test-cmb-types.php:724 tests/test-cmb-types.php:749
|
356 |
msgid "File:"
|
357 |
msgstr ""
|
358 |
|
359 |
+
#: includes/CMBRE2_Types.php:987 includes/CMBRE2_hookup.php:196
|
360 |
#: tests/test-cmb-types.php:722 tests/test-cmb-types.php:747
|
361 |
msgid "Download"
|
362 |
msgstr ""
|
363 |
|
364 |
+
#: includes/CMBRE2_hookup.php:139 includes/CMBRE2_hookup.php:176
|
365 |
msgid "Clear"
|
366 |
msgstr ""
|
367 |
|
368 |
+
#: includes/CMBRE2_hookup.php:140
|
369 |
msgid "Default"
|
370 |
msgstr ""
|
371 |
|
372 |
+
#: includes/CMBRE2_hookup.php:141
|
373 |
msgid "Select Color"
|
374 |
msgstr ""
|
375 |
|
376 |
+
#: includes/CMBRE2_hookup.php:142
|
377 |
msgid "Current Color"
|
378 |
msgstr ""
|
379 |
|
380 |
+
#: includes/CMBRE2_hookup.php:167
|
381 |
msgid "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
|
382 |
msgstr ""
|
383 |
|
384 |
+
#: includes/CMBRE2_hookup.php:168
|
385 |
msgid "Su, Mo, Tu, We, Th, Fr, Sa"
|
386 |
msgstr ""
|
387 |
|
388 |
+
#: includes/CMBRE2_hookup.php:169
|
389 |
msgid "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
|
390 |
msgstr ""
|
391 |
|
392 |
+
#: includes/CMBRE2_hookup.php:170
|
393 |
msgid ""
|
394 |
"January, February, March, April, May, June, July, August, September, "
|
395 |
"October, November, December"
|
396 |
msgstr ""
|
397 |
|
398 |
+
#: includes/CMBRE2_hookup.php:171
|
399 |
msgid "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
|
400 |
msgstr ""
|
401 |
|
402 |
+
#: includes/CMBRE2_hookup.php:172
|
403 |
msgid "Next"
|
404 |
msgstr ""
|
405 |
|
406 |
+
#: includes/CMBRE2_hookup.php:173
|
407 |
msgid "Prev"
|
408 |
msgstr ""
|
409 |
|
410 |
+
#: includes/CMBRE2_hookup.php:174
|
411 |
msgid "Today"
|
412 |
msgstr ""
|
413 |
|
414 |
+
#: includes/CMBRE2_hookup.php:175 includes/CMBRE2_hookup.php:185
|
415 |
msgid "Done"
|
416 |
msgstr ""
|
417 |
|
418 |
+
#: includes/CMBRE2_hookup.php:179
|
419 |
msgid "Choose Time"
|
420 |
msgstr ""
|
421 |
|
422 |
+
#: includes/CMBRE2_hookup.php:180
|
423 |
msgid "Time"
|
424 |
msgstr ""
|
425 |
|
426 |
+
#: includes/CMBRE2_hookup.php:181
|
427 |
msgid "Hour"
|
428 |
msgstr ""
|
429 |
|
430 |
+
#: includes/CMBRE2_hookup.php:182
|
431 |
msgid "Minute"
|
432 |
msgstr ""
|
433 |
|
434 |
+
#: includes/CMBRE2_hookup.php:183
|
435 |
msgid "Second"
|
436 |
msgstr ""
|
437 |
|
438 |
+
#: includes/CMBRE2_hookup.php:184
|
439 |
msgid "Now"
|
440 |
msgstr ""
|
441 |
|
442 |
+
#: includes/CMBRE2_hookup.php:192
|
443 |
msgid "Use this file"
|
444 |
msgstr ""
|
445 |
|
446 |
+
#: includes/CMBRE2_hookup.php:197
|
447 |
msgid "Select / Deselect All"
|
448 |
msgstr ""
|
449 |
|
452 |
msgstr ""
|
453 |
|
454 |
#. Plugin Name of the plugin/theme
|
455 |
+
msgid "CMBRE2"
|
456 |
msgstr ""
|
457 |
|
458 |
#. Plugin URI of the plugin/theme
|
459 |
+
msgid "https://github.com/WebDevStudios/CMBRE2"
|
460 |
msgstr ""
|
461 |
|
462 |
#. Description of the plugin/theme
|
463 |
msgid ""
|
464 |
+
"CMBRE2 will create metaboxes and forms with custom fields that will blow your "
|
465 |
"mind."
|
466 |
msgstr ""
|
467 |
|
473 |
msgid "http://webdevstudios.com"
|
474 |
msgstr ""
|
475 |
|
476 |
+
#: includes/CMBRE2_hookup.php:166
|
477 |
msgctxt "Valid formatDate string for jquery-ui datepicker"
|
478 |
msgid "mm/dd/yy"
|
479 |
msgstr ""
|
480 |
|
481 |
+
#: includes/CMBRE2_hookup.php:186
|
482 |
msgctxt ""
|
483 |
"Valid formatting string, as per "
|
484 |
"http://trentrichardson.com/examples/timepicker/"
|
css/admin/edit.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
/*
|
2 |
z-index: 1000;
|
3 |
opacity: 0.4;
|
4 |
pointer-events: none;
|
5 |
z-index: 1000;
|
6 |
opacity: 0.1;
|
7 |
pointer-events: none;
|
8 |
padding-top: 7px;
|
9 |
text-align: right;
|
10 |
cursor: pointer;
|
|
|
11 |
z-index: 1000;
|
12 |
opacity: 0.4;
|
13 |
pointer-events: none;
|
14 |
z-index: 1000;
|
15 |
opacity: 0.1;
|
16 |
pointer-events: none;
|
17 |
padding-top: 7px;
|
18 |
text-align: right;
|
19 |
cursor: pointer;
|
|
|
1 |
z-index: 1000;
|
2 |
opacity: 0.4;
|
3 |
pointer-events: none;
|
4 |
z-index: 1000;
|
5 |
opacity: 0.1;
|
6 |
pointer-events: none;
|
7 |
padding-top: 7px;
|
8 |
text-align: right;
|
9 |
cursor: pointer;
|
10 |
+
/*
|
11 |
z-index: 1000;
|
12 |
opacity: 0.4;
|
13 |
pointer-events: none;
|
14 |
z-index: 1000;
|
15 |
opacity: 0.1;
|
16 |
pointer-events: none;
|
17 |
padding-top: 7px;
|
18 |
text-align: right;
|
19 |
cursor: pointer;
|
includes/cache.php
CHANGED
@@ -17,6 +17,7 @@ function robo_gallery_save_gallery( $post_id, $post, $update ) {
|
|
17 |
delete_transient( ROBO_GALLERY_PREFIX.'cache_id'. $post_id );
|
18 |
/* delete cache id */
|
19 |
delete_post_meta( $post_id, ROBO_GALLERY_PREFIX.'cache_id' );
|
|
|
20 |
add_post_meta( $post_id, ROBO_GALLERY_PREFIX.'cache_id', uniqid() );
|
21 |
}
|
22 |
add_action( 'save_post', 'robo_gallery_save_gallery', 10, 3 );
|
17 |
delete_transient( ROBO_GALLERY_PREFIX.'cache_id'. $post_id );
|
18 |
/* delete cache id */
|
19 |
delete_post_meta( $post_id, ROBO_GALLERY_PREFIX.'cache_id' );
|
20 |
+
/* set new cache id */
|
21 |
add_post_meta( $post_id, ROBO_GALLERY_PREFIX.'cache_id', uniqid() );
|
22 |
}
|
23 |
add_action( 'save_post', 'robo_gallery_save_gallery', 10, 3 );
|
includes/extensions/block/dist/blocks.build.js
CHANGED
@@ -1 +1,180 @@
|
|
1 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/******/ (function(modules) { // webpackBootstrap
|
2 |
+
/******/ // The module cache
|
3 |
+
/******/ var installedModules = {};
|
4 |
+
/******/
|
5 |
+
/******/ // The require function
|
6 |
+
/******/ function __webpack_require__(moduleId) {
|
7 |
+
/******/
|
8 |
+
/******/ // Check if module is in cache
|
9 |
+
/******/ if(installedModules[moduleId]) {
|
10 |
+
/******/ return installedModules[moduleId].exports;
|
11 |
+
/******/ }
|
12 |
+
/******/ // Create a new module (and put it into the cache)
|
13 |
+
/******/ var module = installedModules[moduleId] = {
|
14 |
+
/******/ i: moduleId,
|
15 |
+
/******/ l: false,
|
16 |
+
/******/ exports: {}
|
17 |
+
/******/ };
|
18 |
+
/******/
|
19 |
+
/******/ // Execute the module function
|
20 |
+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
21 |
+
/******/
|
22 |
+
/******/ // Flag the module as loaded
|
23 |
+
/******/ module.l = true;
|
24 |
+
/******/
|
25 |
+
/******/ // Return the exports of the module
|
26 |
+
/******/ return module.exports;
|
27 |
+
/******/ }
|
28 |
+
/******/
|
29 |
+
/******/
|
30 |
+
/******/ // expose the modules object (__webpack_modules__)
|
31 |
+
/******/ __webpack_require__.m = modules;
|
32 |
+
/******/
|
33 |
+
/******/ // expose the module cache
|
34 |
+
/******/ __webpack_require__.c = installedModules;
|
35 |
+
/******/
|
36 |
+
/******/ // define getter function for harmony exports
|
37 |
+
/******/ __webpack_require__.d = function(exports, name, getter) {
|
38 |
+
/******/ if(!__webpack_require__.o(exports, name)) {
|
39 |
+
/******/ Object.defineProperty(exports, name, {
|
40 |
+
/******/ configurable: false,
|
41 |
+
/******/ enumerable: true,
|
42 |
+
/******/ get: getter
|
43 |
+
/******/ });
|
44 |
+
/******/ }
|
45 |
+
/******/ };
|
46 |
+
/******/
|
47 |
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
48 |
+
/******/ __webpack_require__.n = function(module) {
|
49 |
+
/******/ var getter = module && module.__esModule ?
|
50 |
+
/******/ function getDefault() { return module['default']; } :
|
51 |
+
/******/ function getModuleExports() { return module; };
|
52 |
+
/******/ __webpack_require__.d(getter, 'a', getter);
|
53 |
+
/******/ return getter;
|
54 |
+
/******/ };
|
55 |
+
/******/
|
56 |
+
/******/ // Object.prototype.hasOwnProperty.call
|
57 |
+
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
58 |
+
/******/
|
59 |
+
/******/ // __webpack_public_path__
|
60 |
+
/******/ __webpack_require__.p = "";
|
61 |
+
/******/
|
62 |
+
/******/ // Load entry module and return exports
|
63 |
+
/******/ return __webpack_require__(__webpack_require__.s = 0);
|
64 |
+
/******/ })
|
65 |
+
/************************************************************************/
|
66 |
+
/******/ ([
|
67 |
+
/* 0 */
|
68 |
+
/*!***********************!*\
|
69 |
+
!*** ./src/blocks.js ***!
|
70 |
+
\***********************/
|
71 |
+
/*! no exports provided */
|
72 |
+
/*! all exports used */
|
73 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
74 |
+
|
75 |
+
"use strict";
|
76 |
+
eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__block_block_js__ = __webpack_require__(/*! ./block/block.js */ 1);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9ibG9ja3MuanM/N2I1YiJdLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCAnLi9ibG9jay9ibG9jay5qcyc7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvYmxvY2tzLmpzXG4vLyBtb2R1bGUgaWQgPSAwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///0\n");
|
77 |
+
|
78 |
+
/***/ }),
|
79 |
+
/* 1 */
|
80 |
+
/*!****************************!*\
|
81 |
+
!*** ./src/block/block.js ***!
|
82 |
+
\****************************/
|
83 |
+
/*! no exports provided */
|
84 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
85 |
+
|
86 |
+
"use strict";
|
87 |
+
eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__wordpress_blocks__ = __webpack_require__(/*! @wordpress/blocks */ 2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__wordpress_blocks___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__wordpress_blocks__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__settings_js__ = __webpack_require__(/*! ./settings.js */ 3);\n\n\n\n\nObject(__WEBPACK_IMPORTED_MODULE_0__wordpress_blocks__[\"registerBlockType\"])('robo/block-robo-gallery', __WEBPACK_IMPORTED_MODULE_1__settings_js__[\"a\" /* settings */]);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9ibG9jay9ibG9jay5qcz85MjFkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlZ2lzdGVyQmxvY2tUeXBlIH0gZnJvbSAnQHdvcmRwcmVzcy9ibG9ja3MnO1xuXG5pbXBvcnQgeyBzZXR0aW5ncyB9IGZyb20gJy4vc2V0dGluZ3MuanMnO1xuXG5yZWdpc3RlckJsb2NrVHlwZSgncm9iby9ibG9jay1yb2JvLWdhbGxlcnknLCBzZXR0aW5ncyk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvYmxvY2svYmxvY2suanNcbi8vIG1vZHVsZSBpZCA9IDFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///1\n");
|
88 |
+
|
89 |
+
/***/ }),
|
90 |
+
/* 2 */
|
91 |
+
/*!****************************!*\
|
92 |
+
!*** external "wp.blocks" ***!
|
93 |
+
\****************************/
|
94 |
+
/*! dynamic exports provided */
|
95 |
+
/*! exports used: registerBlockType */
|
96 |
+
/***/ (function(module, exports) {
|
97 |
+
|
98 |
+
module.exports = wp.blocks;
|
99 |
+
|
100 |
+
/***/ }),
|
101 |
+
/* 3 */
|
102 |
+
/*!*******************************!*\
|
103 |
+
!*** ./src/block/settings.js ***!
|
104 |
+
\*******************************/
|
105 |
+
/*! exports provided: settings */
|
106 |
+
/*! exports used: settings */
|
107 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
108 |
+
|
109 |
+
"use strict";
|
110 |
+
eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return settings; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__style_scss__ = __webpack_require__(/*! ./style.scss */ 4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__style_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__style_scss__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__editor_scss__ = __webpack_require__(/*! ./editor.scss */ 5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__editor_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__editor_scss__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__wordpress_element__ = __webpack_require__(/*! @wordpress/element */ 6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__wordpress_element___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__wordpress_element__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__data_source_js__ = __webpack_require__(/*! ./data.source.js */ 7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__adapter_js__ = __webpack_require__(/*! ./adapter.js */ 9);\n\n\n\nvar __ = wp.i18n.__;\n\nvar _ref = wp.blockEditor !== undefined && wp.blockEditor.InspectorControls !== undefined ? wp.blockEditor : wp.editor,\n InspectorControls = _ref.InspectorControls,\n BlockControls = _ref.BlockControls;\n\nvar _wp$components = wp.components,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n SelectControl = _wp$components.SelectControl,\n Dashicon = _wp$components.Dashicon,\n Toolbar = _wp$components.Toolbar,\n Button = _wp$components.Button,\n Icon = _wp$components.Icon,\n Tooltip = _wp$components.Tooltip;\n\n\n\n\n\n\n\nwindow.roboGalleryList = [];\nwindow.roboGalleryLoad = false;\nwindow.roboGalleryLoading = false;\nwindow.roboGalleryLoadedCallBack = [];\n\nvar settings = {\n\n\ttitle: __('Robo Gallery'),\n\ticon: {\n\t\tbackground: '#2c8ded',\n\t\tforeground: '#fff',\n\t\tsrc: 'format-gallery'\n\t},\n\t//category: 'common',\n\n\tcategory: 'media',\n\tdescription: 'Gutenberg gallery block for a simple and fast configuration of the RoboGallery in the Gutenberg editor',\n\tkeywords: ['robo', 'robogallery', 'gallery', 'images'],\n\ttextdomain: 'robo-gallery',\n\tversion: '1.0.3',\n\texample: {\n\t\tattributes: {\n\t\t\tmessage: 'This is a notice!'\n\t\t}\n\t},\n\n\tattributes: {\n\n\t\tgalleryid: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 0\n\t\t},\n\n\t\tforseReload: {\n\t\t\ttype: 'bool',\n\t\t\tdefault: false\n\t\t},\n\n\t\tloaded: {\n\t\t\ttype: 'bool',\n\t\t\tdefault: false\n\t\t}\n\n\t},\n\n\tedit: function edit(_ref2) {\n\t\tvar attributes = _ref2.attributes,\n\t\t setAttributes = _ref2.setAttributes,\n\t\t className = _ref2.className,\n\t\t isSelected = _ref2.isSelected;\n\t\tvar galleryid = attributes.galleryid,\n\t\t forseReload = attributes.forseReload,\n\t\t loaded = attributes.loaded;\n\n\n\t\tvar galleryPost = 'robo_gallery_table';\n\n\t\tvar onChangeGallery = function onChangeGallery(value) {\n\t\t\tsetAttributes({ galleryid: value });\n\t\t};\n\n\t\tvar setDataLoaded = function setDataLoaded() {\n\t\t\tsetAttributes({ forseReload: false, loaded: false });\n\t\t\tsetAttributes({ forseReload: false, loaded: true });\n\t\t};\n\n\t\tvar reloadGalleryList = function reloadGalleryList() {\n\t\t\tsetAttributes({ forseReload: true, loaded: false });\n\t\t};\n\n\t\tvar openEditScreen = function openEditScreen() {\n\t\t\tif (isGallerySelected) {\n\t\t\t\tvar url = 'post.php?post=' + galleryid + '&action=edit';\n\t\t\t\twindow.open(url, '_blank');\n\t\t\t} else {\n\t\t\t\talert(__('Select Gallery first'));\n\t\t\t}\n\t\t};\n\n\t\tfunction openAddScreen() {\n\t\t\tvar url = 'post-new.php?post_type=' + galleryPost + '&showDialog=1';\n\t\t\twindow.open(url, '_blank');\n\t\t}\n\n\t\tvar isGallerySelected = galleryid > 0;\n\n\t\tvar getGalleryTitle = function getGalleryTitle(gallery) {\n\t\t\treturn gallery.title + ' [ID:' + galleryid + ']';\n\t\t};\n\n\t\tvar getGalleryFromList = function getGalleryFromList() {\n\t\t\tif (isGallerySelected) {\n\t\t\t\tfor (var i = 0; i < window.roboGalleryList.length; i++) {\n\t\t\t\t\tif (window.roboGalleryList[i].id == galleryid) {\n\t\t\t\t\t\treturn getGalleryTitle(window.roboGalleryList[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn '';\n\t\t};\n\n\t\tvar RoboButtonSelect = function RoboButtonSelect() {\n\t\t\treturn !isSelected && !isGallerySelected && wp.element.createElement(\n\t\t\t\tButton,\n\t\t\t\t{ isSecondary: true, isLarge: true },\n\t\t\t\t__('Select Gallery'),\n\t\t\t\t' '\n\t\t\t);\n\t\t};\n\n\t\tvar RoboButtonSelectOther = function RoboButtonSelectOther() {\n\t\t\treturn !isSelected && isGallerySelected && wp.element.createElement(\n\t\t\t\tButton,\n\t\t\t\t{ isSecondary: true, isLarge: true },\n\t\t\t\t__('Select Other Gallery'),\n\t\t\t\t' '\n\t\t\t);\n\t\t};\n\n\t\tvar RoboButtonAdd = function RoboButtonAdd() {\n\t\t\treturn wp.element.createElement(\n\t\t\t\tButton,\n\t\t\t\t{ isSecondary: true, isLarge: true, onClick: openAddScreen },\n\t\t\t\t' ',\n\t\t\t\t__('Create Gallery'),\n\t\t\t\t' '\n\t\t\t);\n\t\t};\n\n\t\tvar RoboButtons = function RoboButtons() {\n\t\t\treturn wp.element.createElement(\n\t\t\t\t'div',\n\t\t\t\t{ className: 'robo-gallery_block_buttons' },\n\t\t\t\twp.element.createElement(RoboButtonSelect, null),\n\t\t\t\twp.element.createElement(RoboButtonSelectOther, null),\n\t\t\t\twp.element.createElement(RoboButtonAdd, null)\n\t\t\t);\n\t\t};\n\n\t\tvar RoboBlockClickToSelect = function RoboBlockClickToSelect() {\n\t\t\treturn !isSelected && !isGallerySelected && wp.element.createElement(\n\t\t\t\t'p',\n\t\t\t\tnull,\n\t\t\t\t__('Click to select Robo gallery from list or create new Robo gallery item')\n\t\t\t);\n\t\t};\n\n\t\tvar RoboBlockSelected = function RoboBlockSelected() {\n\t\t\treturn isGallerySelected && wp.element.createElement(\n\t\t\t\t'p',\n\t\t\t\tnull,\n\t\t\t\t__('Selected Robo Gallery'),\n\t\t\t\t': ',\n\t\t\t\twp.element.createElement(\n\t\t\t\t\t'strong',\n\t\t\t\t\tnull,\n\t\t\t\t\tgetGalleryFromList()\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\n\t\tvar RoboBlockEmpty = function RoboBlockEmpty() {\n\t\t\treturn isSelected && !isGallerySelected && wp.element.createElement(\n\t\t\t\t'p',\n\t\t\t\tnull,\n\t\t\t\t'OR'\n\t\t\t);\n\t\t};\n\n\t\tvar RoboPanel = function RoboPanel() {\n\t\t\treturn wp.element.createElement(\n\t\t\t\t'div',\n\t\t\t\t{ className: 'robo-gallery_block_div' },\n\t\t\t\twp.element.createElement(RoboBlockClickToSelect, null),\n\t\t\t\twp.element.createElement(RoboBlockSelected, null),\n\t\t\t\twp.element.createElement(RoboBlockEmpty, null),\n\t\t\t\twp.element.createElement(RoboButtons, null)\n\t\t\t);\n\t\t};\n\n\t\tvar RoboSelectPanel = function RoboSelectPanel() {\n\t\t\treturn isSelected && wp.element.createElement(__WEBPACK_IMPORTED_MODULE_4__adapter_js__[\"a\" /* default */], {\n\t\t\t\tgalleryid: galleryid,\n\t\t\t\tforseReload: forseReload,\n\t\t\t\thideLabel: true,\n\t\t\t\tloaded: loaded,\n\t\t\t\tonGalleryIdChange: onChangeGallery\n\t\t\t});\n\t\t};\n\n\t\tvar RoboGalleryToolbarButtonEdit = function RoboGalleryToolbarButtonEdit() {\n\t\t\treturn isGallerySelected && wp.element.createElement(Button, {\n\t\t\t\tclassName: 'robo-gallery_icon',\n\t\t\t\tlabel: __('Edit gallery'),\n\t\t\t\ticon: 'edit',\n\t\t\t\tonClick: openEditScreen\n\t\t\t});\n\t\t};\n\n\t\tvar RoboGalleryToolbar = function RoboGalleryToolbar() {\n\t\t\treturn isSelected && wp.element.createElement(\n\t\t\t\tBlockControls,\n\t\t\t\tnull,\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tToolbar,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(RoboGalleryToolbarButtonEdit, null),\n\t\t\t\t\twp.element.createElement(Button, {\n\t\t\t\t\t\tclassName: 'robo-gallery_icon',\n\t\t\t\t\t\tlabel: __('Add gallery'),\n\t\t\t\t\t\ticon: 'plus',\n\t\t\t\t\t\tonClick: openAddScreen\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(Button, {\n\t\t\t\t\t\tclassName: 'robo-gallery_icon robo-gallery_icon-reload',\n\t\t\t\t\t\tlabel: __('Reload galleries'),\n\t\t\t\t\t\ticon: 'update',\n\t\t\t\t\t\tonClick: reloadGalleryList\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\n\t\tvar RoboGalleryInspectorControls = function RoboGalleryInspectorControls() {\n\t\t\treturn !!isSelected && wp.element.createElement(\n\t\t\t\tInspectorControls,\n\t\t\t\t{ key: 'inspector' },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tPanelBody,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: __('Robo Gallery Block Settings'),\n\t\t\t\t\t\tinitialOpen: true\n\t\t\t\t\t},\n\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_4__adapter_js__[\"a\" /* default */], {\n\t\t\t\t\t\tgalleryid: galleryid,\n\t\t\t\t\t\tforseReload: forseReload,\n\t\t\t\t\t\tloaded: loaded,\n\t\t\t\t\t\tonGalleryIdChange: onChangeGallery\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelRow,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t{ isLink: true, onClick: reloadGalleryList },\n\t\t\t\t\t\t\t__('Refresh Gallery List')\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelRow,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\tisGallerySelected && wp.element.createElement(\n\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t{ isSecondary: true, isSmall: true, onClick: openEditScreen },\n\t\t\t\t\t\t\t__('Edit Gallery')\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t{ isSecondary: true, isSmall: true, onClick: openAddScreen },\n\t\t\t\t\t\t\t__('Create Gallery')\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\n\t\treturn wp.element.createElement(\n\t\t\t__WEBPACK_IMPORTED_MODULE_2__wordpress_element__[\"Fragment\"],\n\t\t\tnull,\n\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_3__data_source_js__[\"a\" /* default */], {\n\t\t\t\tforseReload: forseReload,\n\t\t\t\tonDataLoaded: setDataLoaded\n\t\t\t}),\n\t\t\twp.element.createElement(RoboGalleryToolbar, null),\n\t\t\twp.element.createElement(RoboGalleryInspectorControls, null),\n\t\t\twp.element.createElement(\n\t\t\t\t'div',\n\t\t\t\t{ className: className },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\t'h2',\n\t\t\t\t\t{ className: 'robo-logo' },\n\t\t\t\t\twp.element.createElement(Icon, { size: '25', icon: 'format-gallery' }),\n\t\t\t\t\t' ',\n\t\t\t\t\t__('Robo Gallery')\n\t\t\t\t),\n\t\t\t\twp.element.createElement(RoboSelectPanel, null),\n\t\t\t\twp.element.createElement(RoboPanel, null)\n\t\t\t)\n\t\t);\n\t},\n\n\n\tsave: function save(props) {\n\t\treturn null;\n\t}\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9ibG9jay9zZXR0aW5ncy5qcz83YjFiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnLi9zdHlsZS5zY3NzJztcbmltcG9ydCAnLi9lZGl0b3Iuc2Nzcyc7XG5cbnZhciBfXyA9IHdwLmkxOG4uX187XG5cbnZhciBfcmVmID0gd3AuYmxvY2tFZGl0b3IgIT09IHVuZGVmaW5lZCAmJiB3cC5ibG9ja0VkaXRvci5JbnNwZWN0b3JDb250cm9scyAhPT0gdW5kZWZpbmVkID8gd3AuYmxvY2tFZGl0b3IgOiB3cC5lZGl0b3IsXG4gICAgSW5zcGVjdG9yQ29udHJvbHMgPSBfcmVmLkluc3BlY3RvckNvbnRyb2xzLFxuICAgIEJsb2NrQ29udHJvbHMgPSBfcmVmLkJsb2NrQ29udHJvbHM7XG5cbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgUGFuZWxCb2R5ID0gX3dwJGNvbXBvbmVudHMuUGFuZWxCb2R5LFxuICAgIFBhbmVsUm93ID0gX3dwJGNvbXBvbmVudHMuUGFuZWxSb3csXG4gICAgU2VsZWN0Q29udHJvbCA9IF93cCRjb21wb25lbnRzLlNlbGVjdENvbnRyb2wsXG4gICAgRGFzaGljb24gPSBfd3AkY29tcG9uZW50cy5EYXNoaWNvbixcbiAgICBUb29sYmFyID0gX3dwJGNvbXBvbmVudHMuVG9vbGJhcixcbiAgICBCdXR0b24gPSBfd3AkY29tcG9uZW50cy5CdXR0b24sXG4gICAgSWNvbiA9IF93cCRjb21wb25lbnRzLkljb24sXG4gICAgVG9vbHRpcCA9IF93cCRjb21wb25lbnRzLlRvb2x0aXA7XG5cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBGcmFnbWVudCB9IGZyb20gJ0B3b3JkcHJlc3MvZWxlbWVudCc7XG5cbmltcG9ydCBSb2JvR2FsbGVyeURhdGFTb3VyY2UgZnJvbSAnLi9kYXRhLnNvdXJjZS5qcyc7XG5pbXBvcnQgUm9ib0dhbGxlcnlTZWxlY3QgZnJvbSAnLi9hZGFwdGVyLmpzJztcblxud2luZG93LnJvYm9HYWxsZXJ5TGlzdCA9IFtdO1xud2luZG93LnJvYm9HYWxsZXJ5TG9hZCA9IGZhbHNlO1xud2luZG93LnJvYm9HYWxsZXJ5TG9hZGluZyA9IGZhbHNlO1xud2luZG93LnJvYm9HYWxsZXJ5TG9hZGVkQ2FsbEJhY2sgPSBbXTtcblxuZXhwb3J0IHZhciBzZXR0aW5ncyA9IHtcblxuXHR0aXRsZTogX18oJ1JvYm8gR2FsbGVyeScpLFxuXHRpY29uOiB7XG5cdFx0YmFja2dyb3VuZDogJyMyYzhkZWQnLFxuXHRcdGZvcmVncm91bmQ6ICcjZmZmJyxcblx0XHRzcmM6ICdmb3JtYXQtZ2FsbGVyeSdcblx0fSxcblx0Ly9jYXRlZ29yeTogJ2NvbW1vbicsXG5cblx0Y2F0ZWdvcnk6ICdtZWRpYScsXG5cdGRlc2NyaXB0aW9uOiAnR3V0ZW5iZXJnIGdhbGxlcnkgYmxvY2sgZm9yIGEgc2ltcGxlIGFuZCBmYXN0IGNvbmZpZ3VyYXRpb24gb2YgdGhlIFJvYm9HYWxsZXJ5IGluIHRoZSBHdXRlbmJlcmcgZWRpdG9yJyxcblx0a2V5d29yZHM6IFsncm9ibycsICdyb2JvZ2FsbGVyeScsICdnYWxsZXJ5JywgJ2ltYWdlcyddLFxuXHR0ZXh0ZG9tYWluOiAncm9iby1nYWxsZXJ5Jyxcblx0dmVyc2lvbjogJzEuMC4zJyxcblx0ZXhhbXBsZToge1xuXHRcdGF0dHJpYnV0ZXM6IHtcblx0XHRcdG1lc3NhZ2U6ICdUaGlzIGlzIGEgbm90aWNlISdcblx0XHR9XG5cdH0sXG5cblx0YXR0cmlidXRlczoge1xuXG5cdFx0Z2FsbGVyeWlkOiB7XG5cdFx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRcdGRlZmF1bHQ6IDBcblx0XHR9LFxuXG5cdFx0Zm9yc2VSZWxvYWQ6IHtcblx0XHRcdHR5cGU6ICdib29sJyxcblx0XHRcdGRlZmF1bHQ6IGZhbHNlXG5cdFx0fSxcblxuXHRcdGxvYWRlZDoge1xuXHRcdFx0dHlwZTogJ2Jvb2wnLFxuXHRcdFx0ZGVmYXVsdDogZmFsc2Vcblx0XHR9XG5cblx0fSxcblxuXHRlZGl0OiBmdW5jdGlvbiBlZGl0KF9yZWYyKSB7XG5cdFx0dmFyIGF0dHJpYnV0ZXMgPSBfcmVmMi5hdHRyaWJ1dGVzLFxuXHRcdCAgICBzZXRBdHRyaWJ1dGVzID0gX3JlZjIuc2V0QXR0cmlidXRlcyxcblx0XHQgICAgY2xhc3NOYW1lID0gX3JlZjIuY2xhc3NOYW1lLFxuXHRcdCAgICBpc1NlbGVjdGVkID0gX3JlZjIuaXNTZWxlY3RlZDtcblx0XHR2YXIgZ2FsbGVyeWlkID0gYXR0cmlidXRlcy5nYWxsZXJ5aWQsXG5cdFx0ICAgIGZvcnNlUmVsb2FkID0gYXR0cmlidXRlcy5mb3JzZVJlbG9hZCxcblx0XHQgICAgbG9hZGVkID0gYXR0cmlidXRlcy5sb2FkZWQ7XG5cblxuXHRcdHZhciBnYWxsZXJ5UG9zdCA9ICdyb2JvX2dhbGxlcnlfdGFibGUnO1xuXG5cdFx0dmFyIG9uQ2hhbmdlR2FsbGVyeSA9IGZ1bmN0aW9uIG9uQ2hhbmdlR2FsbGVyeSh2YWx1ZSkge1xuXHRcdFx0c2V0QXR0cmlidXRlcyh7IGdhbGxlcnlpZDogdmFsdWUgfSk7XG5cdFx0fTtcblxuXHRcdHZhciBzZXREYXRhTG9hZGVkID0gZnVuY3Rpb24gc2V0RGF0YUxvYWRlZCgpIHtcblx0XHRcdHNldEF0dHJpYnV0ZXMoeyBmb3JzZVJlbG9hZDogZmFsc2UsIGxvYWRlZDogZmFsc2UgfSk7XG5cdFx0XHRzZXRBdHRyaWJ1dGVzKHsgZm9yc2VSZWxvYWQ6IGZhbHNlLCBsb2FkZWQ6IHRydWUgfSk7XG5cdFx0fTtcblxuXHRcdHZhciByZWxvYWRHYWxsZXJ5TGlzdCA9IGZ1bmN0aW9uIHJlbG9hZEdhbGxlcnlMaXN0KCkge1xuXHRcdFx0c2V0QXR0cmlidXRlcyh7IGZvcnNlUmVsb2FkOiB0cnVlLCBsb2FkZWQ6IGZhbHNlIH0pO1xuXHRcdH07XG5cblx0XHR2YXIgb3BlbkVkaXRTY3JlZW4gPSBmdW5jdGlvbiBvcGVuRWRpdFNjcmVlbigpIHtcblx0XHRcdGlmIChpc0dhbGxlcnlTZWxlY3RlZCkge1xuXHRcdFx0XHR2YXIgdXJsID0gJ3Bvc3QucGhwP3Bvc3Q9JyArIGdhbGxlcnlpZCArICcmYWN0aW9uPWVkaXQnO1xuXHRcdFx0XHR3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGFsZXJ0KF9fKCdTZWxlY3QgR2FsbGVyeSBmaXJzdCcpKTtcblx0XHRcdH1cblx0XHR9O1xuXG5cdFx0ZnVuY3Rpb24gb3BlbkFkZFNjcmVlbigpIHtcblx0XHRcdHZhciB1cmwgPSAncG9zdC1uZXcucGhwP3Bvc3RfdHlwZT0nICsgZ2FsbGVyeVBvc3QgKyAnJnNob3dEaWFsb2c9MSc7XG5cdFx0XHR3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKTtcblx0XHR9XG5cblx0XHR2YXIgaXNHYWxsZXJ5U2VsZWN0ZWQgPSBnYWxsZXJ5aWQgPiAwO1xuXG5cdFx0dmFyIGdldEdhbGxlcnlUaXRsZSA9IGZ1bmN0aW9uIGdldEdhbGxlcnlUaXRsZShnYWxsZXJ5KSB7XG5cdFx0XHRyZXR1cm4gZ2FsbGVyeS50aXRsZSArICcgW0lEOicgKyBnYWxsZXJ5aWQgKyAnXSc7XG5cdFx0fTtcblxuXHRcdHZhciBnZXRHYWxsZXJ5RnJvbUxpc3QgPSBmdW5jdGlvbiBnZXRHYWxsZXJ5RnJvbUxpc3QoKSB7XG5cdFx0XHRpZiAoaXNHYWxsZXJ5U2VsZWN0ZWQpIHtcblx0XHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCB3aW5kb3cucm9ib0dhbGxlcnlMaXN0Lmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdFx0aWYgKHdpbmRvdy5yb2JvR2FsbGVyeUxpc3RbaV0uaWQgPT0gZ2FsbGVyeWlkKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gZ2V0R2FsbGVyeVRpdGxlKHdpbmRvdy5yb2JvR2FsbGVyeUxpc3RbaV0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuICcnO1xuXHRcdH07XG5cblx0XHR2YXIgUm9ib0J1dHRvblNlbGVjdCA9IGZ1bmN0aW9uIFJvYm9CdXR0b25TZWxlY3QoKSB7XG5cdFx0XHRyZXR1cm4gIWlzU2VsZWN0ZWQgJiYgIWlzR2FsbGVyeVNlbGVjdGVkICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHR7IGlzU2Vjb25kYXJ5OiB0cnVlLCBpc0xhcmdlOiB0cnVlIH0sXG5cdFx0XHRcdF9fKCdTZWxlY3QgR2FsbGVyeScpLFxuXHRcdFx0XHQnICdcblx0XHRcdCk7XG5cdFx0fTtcblxuXHRcdHZhciBSb2JvQnV0dG9uU2VsZWN0T3RoZXIgPSBmdW5jdGlvbiBSb2JvQnV0dG9uU2VsZWN0T3RoZXIoKSB7XG5cdFx0XHRyZXR1cm4gIWlzU2VsZWN0ZWQgJiYgaXNHYWxsZXJ5U2VsZWN0ZWQgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdHsgaXNTZWNvbmRhcnk6IHRydWUsIGlzTGFyZ2U6IHRydWUgfSxcblx0XHRcdFx0X18oJ1NlbGVjdCBPdGhlciBHYWxsZXJ5JyksXG5cdFx0XHRcdCcgJ1xuXHRcdFx0KTtcblx0XHR9O1xuXG5cdFx0dmFyIFJvYm9CdXR0b25BZGQgPSBmdW5jdGlvbiBSb2JvQnV0dG9uQWRkKCkge1xuXHRcdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHR7IGlzU2Vjb25kYXJ5OiB0cnVlLCBpc0xhcmdlOiB0cnVlLCBvbkNsaWNrOiBvcGVuQWRkU2NyZWVuIH0sXG5cdFx0XHRcdCcgJyxcblx0XHRcdFx0X18oJ0NyZWF0ZSBHYWxsZXJ5JyksXG5cdFx0XHRcdCcgJ1xuXHRcdFx0KTtcblx0XHR9O1xuXG5cdFx0dmFyIFJvYm9CdXR0b25zID0gZnVuY3Rpb24gUm9ib0J1dHRvbnMoKSB7XG5cdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0eyBjbGFzc05hbWU6ICdyb2JvLWdhbGxlcnlfYmxvY2tfYnV0dG9ucycgfSxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFJvYm9CdXR0b25TZWxlY3QsIG51bGwpLFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUm9ib0J1dHRvblNlbGVjdE90aGVyLCBudWxsKSxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFJvYm9CdXR0b25BZGQsIG51bGwpXG5cdFx0XHQpO1xuXHRcdH07XG5cblx0XHR2YXIgUm9ib0Jsb2NrQ2xpY2tUb1NlbGVjdCA9IGZ1bmN0aW9uIFJvYm9CbG9ja0NsaWNrVG9TZWxlY3QoKSB7XG5cdFx0XHRyZXR1cm4gIWlzU2VsZWN0ZWQgJiYgIWlzR2FsbGVyeVNlbGVjdGVkICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0J3AnLFxuXHRcdFx0XHRudWxsLFxuXHRcdFx0XHRfXygnQ2xpY2sgdG8gc2VsZWN0IFJvYm8gZ2FsbGVyeSBmcm9tIGxpc3Qgb3IgY3JlYXRlIG5ldyBSb2JvIGdhbGxlcnkgaXRlbScpXG5cdFx0XHQpO1xuXHRcdH07XG5cblx0XHR2YXIgUm9ib0Jsb2NrU2VsZWN0ZWQgPSBmdW5jdGlvbiBSb2JvQmxvY2tTZWxlY3RlZCgpIHtcblx0XHRcdHJldHVybiBpc0dhbGxlcnlTZWxlY3RlZCAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdCdwJyxcblx0XHRcdFx0bnVsbCxcblx0XHRcdFx0X18oJ1NlbGVjdGVkIFJvYm8gR2FsbGVyeScpLFxuXHRcdFx0XHQnOiAnLFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0J3N0cm9uZycsXG5cdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRnZXRHYWxsZXJ5RnJvbUxpc3QoKVxuXHRcdFx0XHQpXG5cdFx0XHQpO1xuXHRcdH07XG5cblx0XHR2YXIgUm9ib0Jsb2NrRW1wdHkgPSBmdW5jdGlvbiBSb2JvQmxvY2tFbXB0eSgpIHtcblx0XHRcdHJldHVybiBpc1NlbGVjdGVkICYmICFpc0dhbGxlcnlTZWxlY3RlZCAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdCdwJyxcblx0XHRcdFx0bnVsbCxcblx0XHRcdFx0J09SJ1xuXHRcdFx0KTtcblx0XHR9O1xuXG5cdFx0dmFyIFJvYm9QYW5lbCA9IGZ1bmN0aW9uIFJvYm9QYW5lbCgpIHtcblx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHR7IGNsYXNzTmFtZTogJ3JvYm8tZ2FsbGVyeV9ibG9ja19kaXYnIH0sXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSb2JvQmxvY2tDbGlja1RvU2VsZWN0LCBudWxsKSxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFJvYm9CbG9ja1NlbGVjdGVkLCBudWxsKSxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFJvYm9CbG9ja0VtcHR5LCBudWxsKSxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFJvYm9CdXR0b25zLCBudWxsKVxuXHRcdFx0KTtcblx0XHR9O1xuXG5cdFx0dmFyIFJvYm9TZWxlY3RQYW5lbCA9IGZ1bmN0aW9uIFJvYm9TZWxlY3RQYW5lbCgpIHtcblx0XHRcdHJldHVybiBpc1NlbGVjdGVkICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSb2JvR2FsbGVyeVNlbGVjdCwge1xuXHRcdFx0XHRnYWxsZXJ5aWQ6IGdhbGxlcnlpZCxcblx0XHRcdFx0Zm9yc2VSZWxvYWQ6IGZvcnNlUmVsb2FkLFxuXHRcdFx0XHRoaWRlTGFiZWw6IHRydWUsXG5cdFx0XHRcdGxvYWRlZDogbG9hZGVkLFxuXHRcdFx0XHRvbkdhbGxlcnlJZENoYW5nZTogb25DaGFuZ2VHYWxsZXJ5XG5cdFx0XHR9KTtcblx0XHR9O1xuXG5cdFx0dmFyIFJvYm9HYWxsZXJ5VG9vbGJhckJ1dHRvbkVkaXQgPSBmdW5jdGlvbiBSb2JvR2FsbGVyeVRvb2xiYXJCdXR0b25FZGl0KCkge1xuXHRcdFx0cmV0dXJuIGlzR2FsbGVyeVNlbGVjdGVkICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChCdXR0b24sIHtcblx0XHRcdFx0Y2xhc3NOYW1lOiAncm9iby1nYWxsZXJ5X2ljb24nLFxuXHRcdFx0XHRsYWJlbDogX18oJ0VkaXQgZ2FsbGVyeScpLFxuXHRcdFx0XHRpY29uOiAnZWRpdCcsXG5cdFx0XHRcdG9uQ2xpY2s6IG9wZW5FZGl0U2NyZWVuXG5cdFx0XHR9KTtcblx0XHR9O1xuXG5cdFx0dmFyIFJvYm9HYWxsZXJ5VG9vbGJhciA9IGZ1bmN0aW9uIFJvYm9HYWxsZXJ5VG9vbGJhcigpIHtcblx0XHRcdHJldHVybiBpc1NlbGVjdGVkICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0QmxvY2tDb250cm9scyxcblx0XHRcdFx0bnVsbCxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFRvb2xiYXIsXG5cdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUm9ib0dhbGxlcnlUb29sYmFyQnV0dG9uRWRpdCwgbnVsbCksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KEJ1dHRvbiwge1xuXHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAncm9iby1nYWxsZXJ5X2ljb24nLFxuXHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdBZGQgZ2FsbGVyeScpLFxuXHRcdFx0XHRcdFx0aWNvbjogJ3BsdXMnLFxuXHRcdFx0XHRcdFx0b25DbGljazogb3BlbkFkZFNjcmVlblxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChCdXR0b24sIHtcblx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ3JvYm8tZ2FsbGVyeV9pY29uIHJvYm8tZ2FsbGVyeV9pY29uLXJlbG9hZCcsXG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ1JlbG9hZCBnYWxsZXJpZXMnKSxcblx0XHRcdFx0XHRcdGljb246ICd1cGRhdGUnLFxuXHRcdFx0XHRcdFx0b25DbGljazogcmVsb2FkR2FsbGVyeUxpc3Rcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHQpXG5cdFx0XHQpO1xuXHRcdH07XG5cblx0XHR2YXIgUm9ib0dhbGxlcnlJbnNwZWN0b3JDb250cm9scyA9IGZ1bmN0aW9uIFJvYm9HYWxsZXJ5SW5zcGVjdG9yQ29udHJvbHMoKSB7XG5cdFx0XHRyZXR1cm4gISFpc1NlbGVjdGVkICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0SW5zcGVjdG9yQ29udHJvbHMsXG5cdFx0XHRcdHsga2V5OiAnaW5zcGVjdG9yJyB9LFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0UGFuZWxCb2R5LFxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdHRpdGxlOiBfXygnUm9ibyBHYWxsZXJ5IEJsb2NrIFNldHRpbmdzJyksXG5cdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogdHJ1ZVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFJvYm9HYWxsZXJ5U2VsZWN0LCB7XG5cdFx0XHRcdFx0XHRnYWxsZXJ5aWQ6IGdhbGxlcnlpZCxcblx0XHRcdFx0XHRcdGZvcnNlUmVsb2FkOiBmb3JzZVJlbG9hZCxcblx0XHRcdFx0XHRcdGxvYWRlZDogbG9hZGVkLFxuXHRcdFx0XHRcdFx0b25HYWxsZXJ5SWRDaGFuZ2U6IG9uQ2hhbmdlR2FsbGVyeVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFBhbmVsUm93LFxuXHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHR7IGlzTGluazogdHJ1ZSwgb25DbGljazogcmVsb2FkR2FsbGVyeUxpc3QgfSxcblx0XHRcdFx0XHRcdFx0X18oJ1JlZnJlc2ggR2FsbGVyeSBMaXN0Jylcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFBhbmVsUm93LFxuXHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdGlzR2FsbGVyeVNlbGVjdGVkICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHR7IGlzU2Vjb25kYXJ5OiB0cnVlLCBpc1NtYWxsOiB0cnVlLCBvbkNsaWNrOiBvcGVuRWRpdFNjcmVlbiB9LFxuXHRcdFx0XHRcdFx0XHRfXygnRWRpdCBHYWxsZXJ5Jylcblx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0eyBpc1NlY29uZGFyeTogdHJ1ZSwgaXNTbWFsbDogdHJ1ZSwgb25DbGljazogb3BlbkFkZFNjcmVlbiB9LFxuXHRcdFx0XHRcdFx0XHRfXygnQ3JlYXRlIEdhbGxlcnknKVxuXHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdClcblx0XHRcdFx0KVxuXHRcdFx0KTtcblx0XHR9O1xuXG5cdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdEZyYWdtZW50LFxuXHRcdFx0bnVsbCxcblx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSb2JvR2FsbGVyeURhdGFTb3VyY2UsIHtcblx0XHRcdFx0Zm9yc2VSZWxvYWQ6IGZvcnNlUmVsb2FkLFxuXHRcdFx0XHRvbkRhdGFMb2FkZWQ6IHNldERhdGFMb2FkZWRcblx0XHRcdH0pLFxuXHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFJvYm9HYWxsZXJ5VG9vbGJhciwgbnVsbCksXG5cdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUm9ib0dhbGxlcnlJbnNwZWN0b3JDb250cm9scywgbnVsbCksXG5cdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHR7IGNsYXNzTmFtZTogY2xhc3NOYW1lIH0sXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHQnaDInLFxuXHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAncm9iby1sb2dvJyB9LFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChJY29uLCB7IHNpemU6ICcyNScsIGljb246ICdmb3JtYXQtZ2FsbGVyeScgfSksXG5cdFx0XHRcdFx0JyAnLFxuXHRcdFx0XHRcdF9fKCdSb2JvIEdhbGxlcnknKVxuXHRcdFx0XHQpLFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUm9ib1NlbGVjdFBhbmVsLCBudWxsKSxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFJvYm9QYW5lbCwgbnVsbClcblx0XHRcdClcblx0XHQpO1xuXHR9LFxuXG5cblx0c2F2ZTogZnVuY3Rpb24gc2F2ZShwcm9wcykge1xuXHRcdHJldHVybiBudWxsO1xuXHR9XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL2Jsb2NrL3NldHRpbmdzLmpzXG4vLyBtb2R1bGUgaWQgPSAzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///3\n");
|
111 |
+
|
112 |
+
/***/ }),
|
113 |
+
/* 4 */
|
114 |
+
/*!******************************!*\
|
115 |
+
!*** ./src/block/style.scss ***!
|
116 |
+
\******************************/
|
117 |
+
/*! dynamic exports provided */
|
118 |
+
/***/ (function(module, exports) {
|
119 |
+
|
120 |
+
eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9ibG9jay9zdHlsZS5zY3NzPzgwZjMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9ibG9jay9zdHlsZS5zY3NzXG4vLyBtb2R1bGUgaWQgPSA0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///4\n");
|
121 |
+
|
122 |
+
/***/ }),
|
123 |
+
/* 5 */
|
124 |
+
/*!*******************************!*\
|
125 |
+
!*** ./src/block/editor.scss ***!
|
126 |
+
\*******************************/
|
127 |
+
/*! dynamic exports provided */
|
128 |
+
/***/ (function(module, exports) {
|
129 |
+
|
130 |
+
eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9ibG9jay9lZGl0b3Iuc2Nzcz80OWQyIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvYmxvY2svZWRpdG9yLnNjc3Ncbi8vIG1vZHVsZSBpZCA9IDVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///5\n");
|
131 |
+
|
132 |
+
/***/ }),
|
133 |
+
/* 6 */
|
134 |
+
/*!*****************************!*\
|
135 |
+
!*** external "wp.element" ***!
|
136 |
+
\*****************************/
|
137 |
+
/*! dynamic exports provided */
|
138 |
+
/*! exports used: Fragment */
|
139 |
+
/***/ (function(module, exports) {
|
140 |
+
|
141 |
+
module.exports = wp.element;
|
142 |
+
|
143 |
+
/***/ }),
|
144 |
+
/* 7 */
|
145 |
+
/*!**********************************!*\
|
146 |
+
!*** ./src/block/data.source.js ***!
|
147 |
+
\**********************************/
|
148 |
+
/*! exports provided: default */
|
149 |
+
/*! exports used: default */
|
150 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
151 |
+
|
152 |
+
"use strict";
|
153 |
+
eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__gallery_data_js__ = __webpack_require__(/*! ./gallery.data.js */ 8);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\nvar RoboGalleryDataSource = function (_React$Component) {\n\t_inherits(RoboGalleryDataSource, _React$Component);\n\n\tfunction RoboGalleryDataSource(props) {\n\t\t_classCallCheck(this, RoboGalleryDataSource);\n\n\t\tvar _this = _possibleConstructorReturn(this, (RoboGalleryDataSource.__proto__ || Object.getPrototypeOf(RoboGalleryDataSource)).call(this, props));\n\n\t\t_this.handleDataLoaded = _this.handleDataLoaded.bind(_this);\n\t\treturn _this;\n\t}\n\n\t_createClass(RoboGalleryDataSource, [{\n\t\tkey: 'handleDataLoaded',\n\t\tvalue: function handleDataLoaded(value) {\n\t\t\tthis.props.onDataLoaded(value);\n\t\t}\n\t}, {\n\t\tkey: 'readConfig',\n\t\tvalue: function readConfig(forcedLoad) {\n\t\t\tvar _this2 = this;\n\n\t\t\tif (forcedLoad !== true) {\n\t\t\t\tforcedLoad = false;\n\t\t\t}\n\t\t\tObject(__WEBPACK_IMPORTED_MODULE_0__gallery_data_js__[\"a\" /* default */])(forcedLoad, function () {\n\t\t\t\t_this2.handleDataLoaded(true);\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: 'componentDidMount',\n\t\tvalue: function componentDidMount() {\n\t\t\tthis.readConfig(false);\n\t\t}\n\t}, {\n\t\tkey: 'componentWillReceiveProps',\n\t\tvalue: function componentWillReceiveProps(nextProps) {\n\t\t\tif (nextProps.forcedLoad && nextProps.forcedLoad !== this.props.forcedLoad) {\n\t\t\t\tthis.readConfig(true);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\treturn null;\n\t\t}\n\t}]);\n\n\treturn RoboGalleryDataSource;\n}(React.Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (RoboGalleryDataSource);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9ibG9jay9kYXRhLnNvdXJjZS5qcz83ZWUwIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBfY3JlYXRlQ2xhc3MgPSBmdW5jdGlvbiAoKSB7IGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfSByZXR1cm4gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9OyB9KCk7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKCFzZWxmKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gY2FsbCAmJiAodHlwZW9mIGNhbGwgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikgPyBjYWxsIDogc2VsZjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCBcIiArIHR5cGVvZiBzdXBlckNsYXNzKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCBlbnVtZXJhYmxlOiBmYWxzZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LnNldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKSA6IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cblxuaW1wb3J0IFJvYm9HYWxsZXJ5Q29uZmlnIGZyb20gJy4vZ2FsbGVyeS5kYXRhLmpzJztcblxudmFyIFJvYm9HYWxsZXJ5RGF0YVNvdXJjZSA9IGZ1bmN0aW9uIChfUmVhY3QkQ29tcG9uZW50KSB7XG5cdF9pbmhlcml0cyhSb2JvR2FsbGVyeURhdGFTb3VyY2UsIF9SZWFjdCRDb21wb25lbnQpO1xuXG5cdGZ1bmN0aW9uIFJvYm9HYWxsZXJ5RGF0YVNvdXJjZShwcm9wcykge1xuXHRcdF9jbGFzc0NhbGxDaGVjayh0aGlzLCBSb2JvR2FsbGVyeURhdGFTb3VyY2UpO1xuXG5cdFx0dmFyIF90aGlzID0gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgKFJvYm9HYWxsZXJ5RGF0YVNvdXJjZS5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKFJvYm9HYWxsZXJ5RGF0YVNvdXJjZSkpLmNhbGwodGhpcywgcHJvcHMpKTtcblxuXHRcdF90aGlzLmhhbmRsZURhdGFMb2FkZWQgPSBfdGhpcy5oYW5kbGVEYXRhTG9hZGVkLmJpbmQoX3RoaXMpO1xuXHRcdHJldHVybiBfdGhpcztcblx0fVxuXG5cdF9jcmVhdGVDbGFzcyhSb2JvR2FsbGVyeURhdGFTb3VyY2UsIFt7XG5cdFx0a2V5OiAnaGFuZGxlRGF0YUxvYWRlZCcsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIGhhbmRsZURhdGFMb2FkZWQodmFsdWUpIHtcblx0XHRcdHRoaXMucHJvcHMub25EYXRhTG9hZGVkKHZhbHVlKTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdyZWFkQ29uZmlnJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gcmVhZENvbmZpZyhmb3JjZWRMb2FkKSB7XG5cdFx0XHR2YXIgX3RoaXMyID0gdGhpcztcblxuXHRcdFx0aWYgKGZvcmNlZExvYWQgIT09IHRydWUpIHtcblx0XHRcdFx0Zm9yY2VkTG9hZCA9IGZhbHNlO1xuXHRcdFx0fVxuXHRcdFx0Um9ib0dhbGxlcnlDb25maWcoZm9yY2VkTG9hZCwgZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRfdGhpczIuaGFuZGxlRGF0YUxvYWRlZCh0cnVlKTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ2NvbXBvbmVudERpZE1vdW50Jyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50RGlkTW91bnQoKSB7XG5cdFx0XHR0aGlzLnJlYWRDb25maWcoZmFsc2UpO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHRQcm9wcykge1xuXHRcdFx0aWYgKG5leHRQcm9wcy5mb3JjZWRMb2FkICYmIG5leHRQcm9wcy5mb3JjZWRMb2FkICE9PSB0aGlzLnByb3BzLmZvcmNlZExvYWQpIHtcblx0XHRcdFx0dGhpcy5yZWFkQ29uZmlnKHRydWUpO1xuXHRcdFx0fVxuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ3JlbmRlcicsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblx0fV0pO1xuXG5cdHJldHVybiBSb2JvR2FsbGVyeURhdGFTb3VyY2U7XG59KFJlYWN0LkNvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IFJvYm9HYWxsZXJ5RGF0YVNvdXJjZTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9ibG9jay9kYXRhLnNvdXJjZS5qc1xuLy8gbW9kdWxlIGlkID0gN1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///7\n");
|
154 |
+
|
155 |
+
/***/ }),
|
156 |
+
/* 8 */
|
157 |
+
/*!***********************************!*\
|
158 |
+
!*** ./src/block/gallery.data.js ***!
|
159 |
+
\***********************************/
|
160 |
+
/*! exports provided: default */
|
161 |
+
/*! exports used: default */
|
162 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
163 |
+
|
164 |
+
"use strict";
|
165 |
+
eval("var __ = wp.i18n.__;\n\n\nvar RoboGalleryConfig = function RoboGalleryConfig(forceLoad, callback) {\n\tif (forceLoad === null) {\n\t\tforceLoad = false;\n\t}\n\n\tif (window.roboGalleryLoad && !forceLoad) {\n\t\tcallback();\n\t\treturn;\n\t}\n\n\twindow.roboGalleryLoadedCallBack.push(callback);\n\n\tif (window.roboGalleryLoading) {\n\t\treturn;\n\t}\n\n\twindow.roboGalleryLoading = true;\n\n\tvar prom = new Promise(function (resolve, reject) {\n\t\tvar request = new XMLHttpRequest();\n\n\t\trequest.onreadystatechange = function () {\n\t\t\tif (request.readyState !== 4) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (request.status >= 200 && request.status < 300) {\n\t\t\t\tvar resp = JSON.parse(request.responseText);\n\t\t\t\twindow.roboGalleryList = resp;\n\n\t\t\t\twindow.roboGalleryList.unshift({ id: 0, title: __('Select gallery') });\n\t\t\t\tresolve(true);\n\t\t\t} else {\n\t\t\t\twindow.roboGalleryLoad = false;\n\t\t\t\twindow.roboGalleryLoadError = true;\n\n\t\t\t\treject({\n\t\t\t\t\tstatus: request.status,\n\t\t\t\t\tstatusText: request.statusText\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tvar url = ajaxurl + '?action=robo_gallery_get_gallery_json';\n\t\trequest.open('GET', url, true);\n\t\trequest.setRequestHeader('X_REQUESTED_WITH', 'xmlhttprequest');\n\t\t//window.setTimeout( function(){\n\t\trequest.send();\n\t\t//}, 3000);\n\t});\n\n\tprom.then(function (result) {\n\t\twindow.roboGalleryLoading = false;\n\t\twindow.roboGalleryLoad = true;\n\n\t\tvar callBackLength = window.roboGalleryLoadedCallBack.length;\n\n\t\tfor (var i = 0; i < callBackLength; i++) {\n\t\t\twindow.roboGalleryLoadedCallBack[i]();\n\t\t}\n\t\twindow.roboGalleryLoadedCallBack = [];\n\t}).catch(function (error) {\n\t\tconsole.log('Robo GalleryConfig Request is wrong', error);\n\t});\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (RoboGalleryConfig);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9ibG9jay9nYWxsZXJ5LmRhdGEuanM/YzcwZSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX18gPSB3cC5pMThuLl9fO1xuXG5cbnZhciBSb2JvR2FsbGVyeUNvbmZpZyA9IGZ1bmN0aW9uIFJvYm9HYWxsZXJ5Q29uZmlnKGZvcmNlTG9hZCwgY2FsbGJhY2spIHtcblx0aWYgKGZvcmNlTG9hZCA9PT0gbnVsbCkge1xuXHRcdGZvcmNlTG9hZCA9IGZhbHNlO1xuXHR9XG5cblx0aWYgKHdpbmRvdy5yb2JvR2FsbGVyeUxvYWQgJiYgIWZvcmNlTG9hZCkge1xuXHRcdGNhbGxiYWNrKCk7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0d2luZG93LnJvYm9HYWxsZXJ5TG9hZGVkQ2FsbEJhY2sucHVzaChjYWxsYmFjayk7XG5cblx0aWYgKHdpbmRvdy5yb2JvR2FsbGVyeUxvYWRpbmcpIHtcblx0XHRyZXR1cm47XG5cdH1cblxuXHR3aW5kb3cucm9ib0dhbGxlcnlMb2FkaW5nID0gdHJ1ZTtcblxuXHR2YXIgcHJvbSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblx0XHR2YXIgcmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuXG5cdFx0cmVxdWVzdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRpZiAocmVxdWVzdC5yZWFkeVN0YXRlICE9PSA0KSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblxuXHRcdFx0aWYgKHJlcXVlc3Quc3RhdHVzID49IDIwMCAmJiByZXF1ZXN0LnN0YXR1cyA8IDMwMCkge1xuXHRcdFx0XHR2YXIgcmVzcCA9IEpTT04ucGFyc2UocmVxdWVzdC5yZXNwb25zZVRleHQpO1xuXHRcdFx0XHR3aW5kb3cucm9ib0dhbGxlcnlMaXN0ID0gcmVzcDtcblxuXHRcdFx0XHR3aW5kb3cucm9ib0dhbGxlcnlMaXN0LnVuc2hpZnQoeyBpZDogMCwgdGl0bGU6IF9fKCdTZWxlY3QgZ2FsbGVyeScpIH0pO1xuXHRcdFx0XHRyZXNvbHZlKHRydWUpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0d2luZG93LnJvYm9HYWxsZXJ5TG9hZCA9IGZhbHNlO1xuXHRcdFx0XHR3aW5kb3cucm9ib0dhbGxlcnlMb2FkRXJyb3IgPSB0cnVlO1xuXG5cdFx0XHRcdHJlamVjdCh7XG5cdFx0XHRcdFx0c3RhdHVzOiByZXF1ZXN0LnN0YXR1cyxcblx0XHRcdFx0XHRzdGF0dXNUZXh0OiByZXF1ZXN0LnN0YXR1c1RleHRcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fTtcblxuXHRcdHZhciB1cmwgPSBhamF4dXJsICsgJz9hY3Rpb249cm9ib19nYWxsZXJ5X2dldF9nYWxsZXJ5X2pzb24nO1xuXHRcdHJlcXVlc3Qub3BlbignR0VUJywgdXJsLCB0cnVlKTtcblx0XHRyZXF1ZXN0LnNldFJlcXVlc3RIZWFkZXIoJ1hfUkVRVUVTVEVEX1dJVEgnLCAneG1saHR0cHJlcXVlc3QnKTtcblx0XHQvL3dpbmRvdy5zZXRUaW1lb3V0KCBmdW5jdGlvbigpe1xuXHRcdHJlcXVlc3Quc2VuZCgpO1xuXHRcdC8vfSwgMzAwMCk7XG5cdH0pO1xuXG5cdHByb20udGhlbihmdW5jdGlvbiAocmVzdWx0KSB7XG5cdFx0d2luZG93LnJvYm9HYWxsZXJ5TG9hZGluZyA9IGZhbHNlO1xuXHRcdHdpbmRvdy5yb2JvR2FsbGVyeUxvYWQgPSB0cnVlO1xuXG5cdFx0dmFyIGNhbGxCYWNrTGVuZ3RoID0gd2luZG93LnJvYm9HYWxsZXJ5TG9hZGVkQ2FsbEJhY2subGVuZ3RoO1xuXG5cdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBjYWxsQmFja0xlbmd0aDsgaSsrKSB7XG5cdFx0XHR3aW5kb3cucm9ib0dhbGxlcnlMb2FkZWRDYWxsQmFja1tpXSgpO1xuXHRcdH1cblx0XHR3aW5kb3cucm9ib0dhbGxlcnlMb2FkZWRDYWxsQmFjayA9IFtdO1xuXHR9KS5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHtcblx0XHRjb25zb2xlLmxvZygnUm9ibyBHYWxsZXJ5Q29uZmlnIFJlcXVlc3QgaXMgd3JvbmcnLCBlcnJvcik7XG5cdH0pO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgUm9ib0dhbGxlcnlDb25maWc7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvYmxvY2svZ2FsbGVyeS5kYXRhLmpzXG4vLyBtb2R1bGUgaWQgPSA4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///8\n");
|
166 |
+
|
167 |
+
/***/ }),
|
168 |
+
/* 9 */
|
169 |
+
/*!******************************!*\
|
170 |
+
!*** ./src/block/adapter.js ***!
|
171 |
+
\******************************/
|
172 |
+
/*! exports provided: default */
|
173 |
+
/*! exports used: default */
|
174 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
175 |
+
|
176 |
+
"use strict";
|
177 |
+
eval("var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar SelectControl = wp.components.SelectControl;\nvar __ = wp.i18n.__;\n\nvar RoboGallerySelect = function (_React$Component) {\n\t_inherits(RoboGallerySelect, _React$Component);\n\n\tfunction RoboGallerySelect(props) {\n\t\t_classCallCheck(this, RoboGallerySelect);\n\n\t\tvar _this = _possibleConstructorReturn(this, (RoboGallerySelect.__proto__ || Object.getPrototypeOf(RoboGallerySelect)).call(this, props));\n\n\t\t_this.handleGalleryIdChange = _this.handleGalleryIdChange.bind(_this);\n\t\treturn _this;\n\t}\n\n\t_createClass(RoboGallerySelect, [{\n\t\tkey: 'handleGalleryIdChange',\n\t\tvalue: function handleGalleryIdChange(value) {\n\t\t\tthis.props.onGalleryIdChange(value);\n\t\t}\n\t}, {\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar roboGalleryList = window.roboGalleryList;\n\t\t\treturn wp.element.createElement(SelectControl, {\n\t\t\t\tlabel: this.props.hideLabel ? '' : __('Gallery List'),\n\t\t\t\tonChange: this.handleGalleryIdChange,\n\t\t\t\tvalue: this.props.galleryid,\n\t\t\t\toptions: roboGalleryList.map(function (gallery) {\n\t\t\t\t\treturn { label: gallery.title, value: gallery.id };\n\t\t\t\t})\n\t\t\t});\n\t\t}\n\t}]);\n\n\treturn RoboGallerySelect;\n}(React.Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (RoboGallerySelect);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9ibG9jay9hZGFwdGVyLmpzPzhjMzAiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIF9jcmVhdGVDbGFzcyA9IGZ1bmN0aW9uICgpIHsgZnVuY3Rpb24gZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9IHJldHVybiBmdW5jdGlvbiAoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH07IH0oKTtcblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoIXNlbGYpIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBjYWxsICYmICh0eXBlb2YgY2FsbCA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSA/IGNhbGwgOiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiICsgdHlwZW9mIHN1cGVyQ2xhc3MpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIGVudW1lcmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3Quc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIDogc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG52YXIgU2VsZWN0Q29udHJvbCA9IHdwLmNvbXBvbmVudHMuU2VsZWN0Q29udHJvbDtcbnZhciBfXyA9IHdwLmkxOG4uX187XG5cbnZhciBSb2JvR2FsbGVyeVNlbGVjdCA9IGZ1bmN0aW9uIChfUmVhY3QkQ29tcG9uZW50KSB7XG5cdF9pbmhlcml0cyhSb2JvR2FsbGVyeVNlbGVjdCwgX1JlYWN0JENvbXBvbmVudCk7XG5cblx0ZnVuY3Rpb24gUm9ib0dhbGxlcnlTZWxlY3QocHJvcHMpIHtcblx0XHRfY2xhc3NDYWxsQ2hlY2sodGhpcywgUm9ib0dhbGxlcnlTZWxlY3QpO1xuXG5cdFx0dmFyIF90aGlzID0gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgKFJvYm9HYWxsZXJ5U2VsZWN0Ll9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2YoUm9ib0dhbGxlcnlTZWxlY3QpKS5jYWxsKHRoaXMsIHByb3BzKSk7XG5cblx0XHRfdGhpcy5oYW5kbGVHYWxsZXJ5SWRDaGFuZ2UgPSBfdGhpcy5oYW5kbGVHYWxsZXJ5SWRDaGFuZ2UuYmluZChfdGhpcyk7XG5cdFx0cmV0dXJuIF90aGlzO1xuXHR9XG5cblx0X2NyZWF0ZUNsYXNzKFJvYm9HYWxsZXJ5U2VsZWN0LCBbe1xuXHRcdGtleTogJ2hhbmRsZUdhbGxlcnlJZENoYW5nZScsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIGhhbmRsZUdhbGxlcnlJZENoYW5nZSh2YWx1ZSkge1xuXHRcdFx0dGhpcy5wcm9wcy5vbkdhbGxlcnlJZENoYW5nZSh2YWx1ZSk7XG5cdFx0fVxuXHR9LCB7XG5cdFx0a2V5OiAncmVuZGVyJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuXHRcdFx0dmFyIHJvYm9HYWxsZXJ5TGlzdCA9IHdpbmRvdy5yb2JvR2FsbGVyeUxpc3Q7XG5cdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcblx0XHRcdFx0bGFiZWw6IHRoaXMucHJvcHMuaGlkZUxhYmVsID8gJycgOiBfXygnR2FsbGVyeSBMaXN0JyksXG5cdFx0XHRcdG9uQ2hhbmdlOiB0aGlzLmhhbmRsZUdhbGxlcnlJZENoYW5nZSxcblx0XHRcdFx0dmFsdWU6IHRoaXMucHJvcHMuZ2FsbGVyeWlkLFxuXHRcdFx0XHRvcHRpb25zOiByb2JvR2FsbGVyeUxpc3QubWFwKGZ1bmN0aW9uIChnYWxsZXJ5KSB7XG5cdFx0XHRcdFx0cmV0dXJuIHsgbGFiZWw6IGdhbGxlcnkudGl0bGUsIHZhbHVlOiBnYWxsZXJ5LmlkIH07XG5cdFx0XHRcdH0pXG5cdFx0XHR9KTtcblx0XHR9XG5cdH1dKTtcblxuXHRyZXR1cm4gUm9ib0dhbGxlcnlTZWxlY3Q7XG59KFJlYWN0LkNvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IFJvYm9HYWxsZXJ5U2VsZWN0O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL2Jsb2NrL2FkYXB0ZXIuanNcbi8vIG1vZHVsZSBpZCA9IDlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///9\n");
|
178 |
+
|
179 |
+
/***/ })
|
180 |
+
/******/ ]);
|
includes/extensions/block/dist/blocks.editor.build.css
CHANGED
@@ -1 +1,37 @@
|
|
1 |
-
.wp-block-robo-block-robo-gallery
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.wp-block-robo-block-robo-gallery {
|
2 |
+
max-width: 100%;
|
3 |
+
margin-bottom: 1em;
|
4 |
+
margin-left: 0;
|
5 |
+
margin-right: 0;
|
6 |
+
position: relative;
|
7 |
+
display: -ms-flexbox;
|
8 |
+
display: flex;
|
9 |
+
-ms-flex-direction: column;
|
10 |
+
flex-direction: column;
|
11 |
+
-ms-flex-align: center;
|
12 |
+
align-items: center;
|
13 |
+
-ms-flex-pack: center;
|
14 |
+
justify-content: center;
|
15 |
+
padding: 1em;
|
16 |
+
min-height: 200px;
|
17 |
+
width: 100%;
|
18 |
+
text-align: center;
|
19 |
+
font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
|
20 |
+
font-size: 13px;
|
21 |
+
background: rgba(139, 139, 150, 0.1); }
|
22 |
+
|
23 |
+
div.robo-gallery_block_buttons button {
|
24 |
+
margin-right: 10px; }
|
25 |
+
|
26 |
+
div.wp-block-robo-block-robo-gallery h2.robo-logo {
|
27 |
+
font-weight: bold;
|
28 |
+
font-size: 26px;
|
29 |
+
font-size: 1.625rem;
|
30 |
+
color: #666;
|
31 |
+
clear: both;
|
32 |
+
line-height: 1.4;
|
33 |
+
margin: 0 0 0.75em;
|
34 |
+
padding: 1em 0 0; }
|
35 |
+
|
36 |
+
div.wp-block-robo-block-robo-gallery .robo-gallery-block_div {
|
37 |
+
margin: 5px 0; }
|
includes/extensions/block/src/init.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
if ( !
|
4 |
|
5 |
class RoboGallery_Blocks {
|
6 |
|
@@ -14,23 +14,24 @@ if ( ! class_exists( 'RoboGallery_Blocks' ) ) {
|
|
14 |
add_action( 'init', array( $this, 'php_block_init' ) );
|
15 |
|
16 |
add_action( 'wp_ajax_robo_gallery_get_gallery_json', array($this, 'ajaxGetGalleryJson') );
|
|
|
|
|
17 |
}
|
18 |
|
19 |
-
function block_assets(){
|
20 |
wp_enqueue_style(
|
21 |
-
$this->prefix.'style-css',
|
22 |
-
plugins_url( 'dist/blocks.style.build.css', dirname( __FILE__ ) ),
|
23 |
array( 'wp-editor' ),
|
24 |
-
ROBO_GALLERY_VERSION
|
25 |
);
|
26 |
}
|
27 |
|
28 |
-
function editor_assets(){
|
29 |
|
30 |
wp_enqueue_script(
|
31 |
$this->prefix.'block-js',
|
32 |
plugins_url( '/dist/blocks.build.js', dirname( __FILE__ ) ),
|
33 |
-
//array( 'wp-blocks', 'wp-i18n', 'wp-element', 'wp-editor' ),
|
34 |
array( 'wp-blocks', 'wp-element', 'wp-i18n', 'wp-block-editor'),
|
35 |
ROBO_GALLERY_VERSION,
|
36 |
true // Enqueue the script in the footer.
|
@@ -38,7 +39,7 @@ if ( ! class_exists( 'RoboGallery_Blocks' ) ) {
|
|
38 |
|
39 |
wp_enqueue_style(
|
40 |
$this->prefix.'block-editor-css',
|
41 |
-
plugins_url( 'dist/blocks.editor.build.css', dirname( __FILE__ ) ),
|
42 |
array( 'wp-edit-blocks' ),
|
43 |
ROBO_GALLERY_VERSION
|
44 |
);
|
@@ -51,6 +52,7 @@ if ( ! class_exists( 'RoboGallery_Blocks' ) ) {
|
|
51 |
}
|
52 |
|
53 |
register_block_type( 'robo/block-robo-gallery', array(
|
|
|
54 |
'render_callback' => array( $this, 'renderBlock'),
|
55 |
'attributes' => array(
|
56 |
'galleryid' => array(
|
@@ -67,7 +69,14 @@ if ( ! class_exists( 'RoboGallery_Blocks' ) ) {
|
|
67 |
}
|
68 |
|
69 |
function isCorrectAttributes( $attributes ){
|
70 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
}
|
72 |
|
73 |
function getAttributes( $attributes ){
|
@@ -77,26 +86,26 @@ if ( ! class_exists( 'RoboGallery_Blocks' ) ) {
|
|
77 |
}
|
78 |
|
79 |
function renderBlock( $attributes ) {
|
80 |
-
|
81 |
if( !$this->isCorrectAttributes( $attributes ) ){
|
82 |
-
return sprintf(
|
83 |
-
'<div><strong>%s</strong>: %s</div>',
|
84 |
-
'Robo Gallery',
|
85 |
__("You didn't select any Robo Gallery item in editor. Please select one from the list or create new gallery",'robo-gallery')
|
86 |
) ;
|
87 |
}
|
88 |
-
|
89 |
if( !class_exists('roboGallery') ) return 'Robo Gallery:: Error 999';
|
90 |
-
|
91 |
$gallery = new roboGallery( $this->getAttributes( $attributes ) );
|
92 |
return $gallery->getGallery();
|
93 |
-
|
94 |
}
|
95 |
|
96 |
-
function ajaxGetGalleryJson() {
|
97 |
|
98 |
-
$query = new WP_Query(
|
99 |
-
array(
|
100 |
'post_type' => ROBO_GALLERY_TYPE_POST,
|
101 |
'post_status' => array( 'publish', 'private', 'future' ),
|
102 |
'nopaging' => true
|
@@ -119,6 +128,23 @@ if ( ! class_exists( 'RoboGallery_Blocks' ) ) {
|
|
119 |
wp_send_json( $returnJson );
|
120 |
wp_die();
|
121 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
}
|
123 |
}
|
124 |
|
@@ -139,4 +165,4 @@ function block_robo_gallery_add_category( $categories, $post ) {
|
|
139 |
),
|
140 |
)
|
141 |
);
|
142 |
-
}*/
|
1 |
<?php
|
2 |
|
3 |
+
if ( !class_exists( 'RoboGallery_Blocks' ) ) {
|
4 |
|
5 |
class RoboGallery_Blocks {
|
6 |
|
14 |
add_action( 'init', array( $this, 'php_block_init' ) );
|
15 |
|
16 |
add_action( 'wp_ajax_robo_gallery_get_gallery_json', array($this, 'ajaxGetGalleryJson') );
|
17 |
+
|
18 |
+
add_filter( 'block_categories_all', array( $this, 'addCategoryBlocks' ), 10, 2 );
|
19 |
}
|
20 |
|
21 |
+
function block_assets(){
|
22 |
wp_enqueue_style(
|
23 |
+
$this->prefix.'style-css',
|
24 |
+
plugins_url( 'dist/blocks.style.build.css', dirname( __FILE__ ) ),
|
25 |
array( 'wp-editor' ),
|
26 |
+
ROBO_GALLERY_VERSION
|
27 |
);
|
28 |
}
|
29 |
|
30 |
+
function editor_assets(){
|
31 |
|
32 |
wp_enqueue_script(
|
33 |
$this->prefix.'block-js',
|
34 |
plugins_url( '/dist/blocks.build.js', dirname( __FILE__ ) ),
|
|
|
35 |
array( 'wp-blocks', 'wp-element', 'wp-i18n', 'wp-block-editor'),
|
36 |
ROBO_GALLERY_VERSION,
|
37 |
true // Enqueue the script in the footer.
|
39 |
|
40 |
wp_enqueue_style(
|
41 |
$this->prefix.'block-editor-css',
|
42 |
+
plugins_url( 'dist/blocks.editor.build.css', dirname( __FILE__ ) ),
|
43 |
array( 'wp-edit-blocks' ),
|
44 |
ROBO_GALLERY_VERSION
|
45 |
);
|
52 |
}
|
53 |
|
54 |
register_block_type( 'robo/block-robo-gallery', array(
|
55 |
+
// 'api_version' => 2,
|
56 |
'render_callback' => array( $this, 'renderBlock'),
|
57 |
'attributes' => array(
|
58 |
'galleryid' => array(
|
69 |
}
|
70 |
|
71 |
function isCorrectAttributes( $attributes ){
|
72 |
+
|
73 |
+
if( !is_array($attributes) ) return false;
|
74 |
+
if( !isset($attributes['galleryid']) ) return false;
|
75 |
+
if( !$attributes['galleryid'] ) return false;
|
76 |
+
|
77 |
+
$galleryid = (int)$attributes['galleryid'];
|
78 |
+
if( !get_post_meta( $galleryid , ROBO_GALLERY_PREFIX.'gallery_type', true ) ) return false ;
|
79 |
+
return true ;
|
80 |
}
|
81 |
|
82 |
function getAttributes( $attributes ){
|
86 |
}
|
87 |
|
88 |
function renderBlock( $attributes ) {
|
89 |
+
|
90 |
if( !$this->isCorrectAttributes( $attributes ) ){
|
91 |
+
return sprintf(
|
92 |
+
'<div><strong>%s</strong>: %s</div>',
|
93 |
+
'Robo Gallery',
|
94 |
__("You didn't select any Robo Gallery item in editor. Please select one from the list or create new gallery",'robo-gallery')
|
95 |
) ;
|
96 |
}
|
97 |
+
|
98 |
if( !class_exists('roboGallery') ) return 'Robo Gallery:: Error 999';
|
99 |
+
|
100 |
$gallery = new roboGallery( $this->getAttributes( $attributes ) );
|
101 |
return $gallery->getGallery();
|
102 |
+
|
103 |
}
|
104 |
|
105 |
+
function ajaxGetGalleryJson() {
|
106 |
|
107 |
+
$query = new WP_Query(
|
108 |
+
array(
|
109 |
'post_type' => ROBO_GALLERY_TYPE_POST,
|
110 |
'post_status' => array( 'publish', 'private', 'future' ),
|
111 |
'nopaging' => true
|
128 |
wp_send_json( $returnJson );
|
129 |
wp_die();
|
130 |
}
|
131 |
+
|
132 |
+
|
133 |
+
function addCategoryBlocks( $block_categories, $editor_context ) {
|
134 |
+
if ( ! empty( $editor_context->post ) ) {
|
135 |
+
array_push(
|
136 |
+
$block_categories,
|
137 |
+
array(
|
138 |
+
'slug' => 'robo-category',
|
139 |
+
'title' => __( 'Robo Gallery Category', 'robo-gallery' ),
|
140 |
+
'icon' => null,
|
141 |
+
)
|
142 |
+
);
|
143 |
+
}
|
144 |
+
return $block_categories;
|
145 |
+
}
|
146 |
+
|
147 |
+
|
148 |
}
|
149 |
}
|
150 |
|
165 |
),
|
166 |
)
|
167 |
);
|
168 |
+
}*/
|
includes/frontend/modules/base-grid/assets.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
includes/frontend/modules/base-grid/effects.set1.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
includes/frontend/modules/base-grid/grid/grid.columns.v1.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
includes/frontend/modules/base-grid/grid/grid.scss
CHANGED
@@ -1,3 +1,4 @@
|
|
|
|
1 |
$thumbRadius: 0px !default;
|
2 |
|
3 |
$backgroundHover: rgba(7, 7, 7, 0.5) !default;
|
1 |
+
/* dsfsdf */
|
2 |
$thumbRadius: 0px !default;
|
3 |
|
4 |
$backgroundHover: rgba(7, 7, 7, 0.5) !default;
|
includes/frontend/modules/base-grid/grid/grid.v1.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
includes/frontend/modules/base-grid/hover.v1.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
includes/frontend/modules/base-grid/layout.v1.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
includes/frontend/modules/base-grid/lightbox.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
includes/frontend/modules/base-grid/menu/menu.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
includes/frontend/modules/base-grid/polaroid.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
includes/frontend/modules/base-grid/resize.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
includes/frontend/modules/base-grid/search.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
includes/frontend/modules/base-grid/seo.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
includes/frontend/modules/base-grid/size.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
includes/frontend/modules/base-grid/tags.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
includes/frontend/modules/class/abstraction.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
includes/frontend/modules/class/addtexts.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
includes/frontend/modules/class/assets.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
includes/frontend/modules/class/cache.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
includes/frontend/modules/class/cachedb.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
includes/frontend/modules/class/config.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
@@ -26,12 +26,27 @@ class roboGalleryModuleConfig{
|
|
26 |
$this->options_id = $this->gallery->options_id;
|
27 |
|
28 |
$this->initConfig();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
}
|
30 |
|
31 |
public function initConfig(){
|
32 |
$this->config = array();
|
33 |
|
34 |
$config = get_post_meta( $this->options_id );
|
|
|
35 |
//$this->core->doEvent('gallery.config.get', $config);
|
36 |
if( !is_array($config) || !count($config) ) return ;
|
37 |
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
26 |
$this->options_id = $this->gallery->options_id;
|
27 |
|
28 |
$this->initConfig();
|
29 |
+
|
30 |
+
$this->initCacheConfig();
|
31 |
+
}
|
32 |
+
|
33 |
+
public function initCacheConfig(){
|
34 |
+
|
35 |
+
$cache_id = $this->getMeta('cache_id');
|
36 |
+
|
37 |
+
if( !$cache_id ) {
|
38 |
+
$cache_id = uniqid();
|
39 |
+
add_post_meta( $this->options_id, ROBO_GALLERY_PREFIX.'cache_id', $cache_id );
|
40 |
+
}
|
41 |
+
|
42 |
+
$this->config[ROBO_GALLERY_PREFIX.'cache_id'] = $cache_id;
|
43 |
}
|
44 |
|
45 |
public function initConfig(){
|
46 |
$this->config = array();
|
47 |
|
48 |
$config = get_post_meta( $this->options_id );
|
49 |
+
|
50 |
//$this->core->doEvent('gallery.config.get', $config);
|
51 |
if( !is_array($config) || !count($config) ) return ;
|
52 |
|
includes/frontend/modules/class/customcss.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
includes/frontend/modules/class/element.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
-
* Version: 3.1
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|
1 |
<?php
|
2 |
/*
|
3 |
* Robo Gallery
|
4 |
+
* Version: 3.2.1 - 52888
|
5 |
* By Robosoft
|
6 |
*
|
7 |
* Contact: https://robogallery.co/
|