Version Description
Download this release
Release Info
| Developer | zbtirrell |
| Plugin | |
| Version | 5.0.0 |
| Comparing to | |
| See all releases | |
Code changes from version 4.9.14 to 5.0.0
- common/lang/tribe-common.pot +12 -14
- common/src/Tribe/Assets.php +82 -39
- common/src/Tribe/Cache.php +114 -30
- common/src/Tribe/Cache_Listener.php +41 -7
- common/src/Tribe/Container.php +46 -0
- common/src/Tribe/Customizer.php +3 -117
- common/src/Tribe/Data.php +9 -9
- common/src/Tribe/Date_Utils.php +64 -22
- common/src/Tribe/Main.php +2 -2
- common/src/Tribe/Post_Transient.php +11 -10
- common/src/Tribe/Repository.php +31 -11
- common/src/Tribe/Rewrite.php +70 -21
- common/src/Tribe/Settings_Manager.php +45 -13
- common/src/Tribe/Template.php +340 -90
- common/src/Tribe/Traits/Cache_User.php +17 -0
- common/src/Tribe/Utils/Collection_Trait.php +15 -2
- common/src/Tribe/Utils/Date_I18n.php +48 -0
- common/src/Tribe/Utils/Date_I18n_Immutable.php +48 -0
- common/src/Tribe/Utils/Post_Thumbnail.php +45 -29
- common/src/Tribe/View_Helpers.php +13 -5
- common/src/admin-views/tribe-options-display.php +7 -7
- common/src/functions/template-tags/date.php +38 -18
- common/src/functions/template-tags/general.php +9 -1
- common/src/functions/template-tags/post.php +29 -0
- common/src/resources/css/common-full.css +182 -173
- common/src/resources/css/common-full.min.css +1 -1
- common/src/resources/css/common-skeleton.css +86 -77
- common/src/resources/css/common-skeleton.min.css +1 -1
- common/src/resources/images/mascot.png +0 -0
- common/src/resources/postcss/README.md +25 -21
- common/src/resources/postcss/base/full/forms/_text.pcss +7 -7
- common/src/resources/postcss/base/full/typography/_body.pcss +9 -6
- common/src/resources/postcss/base/full/typography/_headings.pcss +41 -46
- common/src/resources/postcss/base/skeleton/_layouts.pcss +1 -1
- common/src/resources/postcss/base/skeleton/forms/_text.pcss +4 -4
- common/src/resources/postcss/base/skeleton/grid/_rows.pcss +14 -17
- common/src/resources/postcss/components/full/buttons/_border.pcss +1 -1
- common/src/resources/postcss/components/full/buttons/_solid.pcss +6 -1
- common/src/resources/postcss/components/skeleton/_loader.pcss +1 -1
- common/src/resources/postcss/components/skeleton/buttons/_border.pcss +1 -1
- common/src/resources/postcss/components/skeleton/buttons/_solid.pcss +1 -1
- common/src/resources/postcss/resets/skeleton/_twentyseventeen.pcss +7 -2
- common/src/resources/postcss/utilities/icons/arrow.svg +0 -1
- common/src/resources/postcss/utilities/icons/error.svg +0 -1
- common/src/resources/postcss/utilities/icons/link.svg +1 -0
- common/src/resources/postcss/utilities/icons/list.svg +1 -1
- common/src/resources/postcss/utilities/icons/mail.svg +1 -0
- common/src/resources/postcss/utilities/icons/map-pin.svg +1 -0
- common/src/resources/postcss/utilities/icons/map.svg +1 -1
- common/src/resources/postcss/utilities/icons/messages-not-found.svg +1 -0
- common/src/resources/postcss/utilities/icons/no-map.svg +1 -0
- common/src/resources/postcss/utilities/icons/phone.svg +1 -0
- common/src/resources/postcss/utilities/icons/photo.svg +1 -1
- common/src/resources/postcss/utilities/icons/remove.svg +0 -1
- common/src/resources/postcss/utilities/mixins/_buttons.pcss +0 -19
- common/src/resources/postcss/utilities/variables/_box-shadows.pcss +1 -1
- common/src/resources/postcss/utilities/variables/_colors.pcss +3 -2
- common/src/resources/postcss/utilities/variables/_svgs.pcss +60 -39
- common/src/resources/postcss/utilities/variables/_z-index.pcss +1 -0
- common/vendor/autoload.php +1 -1
- common/vendor/autoload_52.php +1 -1
- common/vendor/composer/autoload_classmap.php +2 -0
- common/vendor/composer/autoload_real.php +4 -4
- common/vendor/composer/autoload_real_52.php +3 -3
- common/vendor/composer/autoload_static.php +7 -5
- lang/the-events-calendar-zh_TW.mo +0 -0
- lang/the-events-calendar.pot +193 -179
- readme.txt +39 -14
- src/Tribe/Aggregator/Record/Queue.php +2 -0
- src/Tribe/Collections/Lazy_Post_Collection.php +89 -0
- src/Tribe/Customizer/Global_Elements.php +10 -2
- src/Tribe/Front_Page_View.php +1 -1
- src/Tribe/Main.php +69 -27
- src/Tribe/Models/Post_Types/Event.php +57 -34
- src/Tribe/Organizer.php +6 -1
- src/Tribe/Plugin_Register.php +3 -3
- src/Tribe/REST/V1/Post_Repository.php +0 -1
- src/Tribe/Repositories/Event.php +4 -0
- src/Tribe/Rewrite.php +4 -4
- src/Tribe/Service_Providers/Context.php +25 -2
- src/Tribe/Template_Factory.php +41 -0
- src/Tribe/Timezones.php +16 -2
- src/Tribe/Venue.php +6 -1
- src/Tribe/Views/V2/Assets.php +40 -0
- src/Tribe/Views/V2/Hooks.php +132 -16
- src/Tribe/Views/V2/Index.php +1 -1
- src/Tribe/Views/V2/Kitchen_Sink.php +1 -2
- src/Tribe/Views/V2/Manager.php +125 -3
- src/Tribe/Views/V2/Repository/Event_Period.php +6 -8
- src/Tribe/Views/V2/Repository/Events_Result_Set.php +80 -5
- src/Tribe/Views/V2/Rewrite.php +125 -0
- src/Tribe/Views/V2/Service_Provider.php +0 -4
- src/Tribe/Views/V2/Template.php +13 -0
- src/Tribe/Views/V2/Template/Event.php +155 -1
- src/Tribe/Views/V2/Template/Excerpt.php +46 -8
- src/Tribe/Views/V2/Template/Page.php +10 -0
- src/Tribe/Views/V2/Template_Bootstrap.php +98 -10
- src/Tribe/Views/V2/Url.php +2 -2
- src/Tribe/Views/V2/Utils/View.php +20 -0
- src/Tribe/Views/V2/View.php +433 -140
- src/Tribe/Views/V2/Views/By_Day_View.php +171 -28
- src/Tribe/Views/V2/Views/Day_View.php +18 -2
- src/Tribe/Views/V2/Views/List_View.php +41 -14
- src/Tribe/Views/V2/Views/Month_View.php +35 -18
- src/Tribe/Views/V2/Views/Traits/Breakpoint_Behavior.php +89 -0
- src/Tribe/Views/V2/Views/Traits/HTML_Cache.php +351 -0
- src/Tribe/Views/V2/Views/{List_Behavior.php → Traits/List_Behavior.php} +45 -12
- src/Tribe/iCal.php +4 -4
- src/admin-views/tribe-options-general.php +3 -3
- src/admin-views/tribe-options-upgrade.php +3 -1
- src/functions/template-tags/event.php +36 -1
- src/functions/template-tags/general.php +138 -106
- src/resources/css/events-admin.css +17 -134
- src/resources/css/events-admin.min.css +1 -1
- src/resources/css/views-full.css +176 -173
- src/resources/css/views-full.min.css +1 -1
- src/resources/css/views-skeleton.css +620 -621
- src/resources/css/views-skeleton.min.css +1 -1
- src/resources/js/views/README.md +93 -0
- src/resources/js/views/accordion.js +2 -1
- src/resources/js/views/breakpoints.js +214 -0
- src/resources/js/views/datepicker.js +50 -18
- src/resources/js/views/events-bar-inputs.js +2 -1
- src/resources/js/views/events-bar.js +15 -13
- src/resources/js/views/manager.js +50 -19
- src/resources/js/views/month-grid.js +5 -5
- src/resources/js/views/month-mobile-events.js +18 -9
- src/resources/js/views/multiday-events.js +3 -5
- src/resources/js/views/tooltip.js +3 -6
- src/resources/js/views/view-selector.js +10 -7
- src/resources/js/views/viewport.js +55 -20
- src/resources/postcss/README.md +17 -58
- src/resources/postcss/base/skeleton/_layouts.pcss +3 -1
- src/resources/postcss/components/full/_breadcrumbs.pcss +1 -1
- src/resources/postcss/components/full/_datepicker.pcss +3 -3
- src/resources/postcss/components/full/_events-bar.pcss +4 -2
- src/resources/postcss/components/full/_messages.pcss +2 -1
- src/resources/postcss/components/full/_navigation.pcss +13 -6
- src/resources/postcss/components/full/_search.pcss +8 -6
- src/resources/postcss/components/full/_top-bar.pcss +1 -1
- src/resources/postcss/components/full/_view-selector.pcss +17 -9
- src/resources/postcss/components/skeleton/_breadcrumbs.pcss +2 -2
- src/resources/postcss/components/skeleton/_datepicker.pcss +5 -4
- src/resources/postcss/components/skeleton/_events-bar.pcss +12 -9
- src/resources/postcss/components/skeleton/_messages.pcss +1 -1
- src/resources/postcss/components/skeleton/_navigation.pcss +4 -4
- src/resources/postcss/components/skeleton/_search.pcss +13 -13
- src/resources/postcss/components/skeleton/_top-bar.pcss +21 -11
- src/resources/postcss/components/skeleton/_view-selector.pcss +26 -18
- src/resources/postcss/events-admin.pcss +19 -0
- src/resources/postcss/views/full/day/_event.pcss +3 -2
- src/resources/postcss/views/full/list/_event.pcss +3 -2
- src/resources/postcss/views/full/month/_calendar-header.pcss +1 -1
- src/resources/postcss/views/full/month/_day.pcss +5 -3
- src/resources/postcss/views/skeleton/_header.pcss +10 -7
- src/resources/postcss/views/skeleton/day/_event.pcss +31 -25
- src/resources/postcss/views/skeleton/day/_nav.pcss +1 -1
- src/resources/postcss/views/skeleton/list/_event.pcss +18 -17
- src/resources/postcss/views/skeleton/list/_nav.pcss +1 -1
- src/resources/postcss/views/skeleton/month/_calendar-body.pcss +3 -2
- src/resources/postcss/views/skeleton/month/_calendar-event.pcss +4 -0
- src/resources/postcss/views/skeleton/month/_calendar-header.pcss +8 -2
- src/resources/postcss/views/skeleton/month/_calendar.pcss +1 -1
- src/resources/postcss/views/skeleton/month/_day.pcss +7 -4
- src/resources/postcss/views/skeleton/month/_mobile-events.pcss +6 -1
- src/resources/postcss/views/skeleton/month/_multiday-event.pcss +5 -1
- src/resources/postcss/views/skeleton/month/_nav.pcss +1 -1
- src/views/v2/components/breakpoints.php +26 -0
- src/views/v2/components/data.php +29 -6
- src/views/v2/components/events-bar/views.php +6 -12
- src/views/v2/components/events-bar/views/list.php +7 -3
- src/views/v2/components/events-bar/views/list/item.php +9 -29
- src/views/v2/components/top-bar/actions.php +2 -2
- src/views/v2/day.php +8 -1
- src/views/v2/day/event.php +2 -2
- src/views/v2/day/event/description.php +2 -2
- src/views/v2/day/event/featured-image.php +2 -2
- src/views/v2/day/event/title.php +6 -3
- src/views/v2/day/top-bar/datepicker.php +8 -2
- src/views/v2/default-template.php +19 -0
- src/views/v2/index.php +0 -5
- src/views/v2/list.php +7 -1
- src/views/v2/list/event.php +2 -2
- src/views/v2/list/event/date-tag.php +3 -3
- src/views/v2/list/event/description.php +2 -2
- src/views/v2/list/event/featured-image.php +2 -2
- src/views/v2/list/event/title.php +6 -3
- src/views/v2/list/month-separator.php +2 -2
- src/views/v2/list/nav/next-disabled.php +11 -9
- src/views/v2/list/nav/next.php +11 -9
- src/views/v2/list/nav/prev-disabled.php +11 -9
- src/views/v2/list/nav/prev.php +11 -9
- src/views/v2/list/top-bar/datepicker.php +17 -10
- src/views/v2/month.php +7 -1
- src/views/v2/month/calendar-body/day/calendar-events/calendar-event.php +2 -2
- src/views/v2/month/calendar-body/day/calendar-events/calendar-event/featured-image.php +2 -2
- src/views/v2/month/calendar-body/day/calendar-events/calendar-event/title.php +6 -3
- src/views/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/featured-image.php +2 -2
- src/views/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/title.php +6 -3
- src/views/v2/month/calendar-body/day/multiday-events/multiday-event.php +10 -6
- src/views/v2/month/mobile-events/mobile-day/mobile-event.php +2 -2
- src/views/v2/month/mobile-events/mobile-day/mobile-event/title.php +6 -3
- src/views/v2/month/top-bar/datepicker.php +17 -9
- the-events-calendar.php +1 -1
- vendor/autoload.php +1 -1
- vendor/composer/autoload_classmap.php +7 -2
- vendor/composer/autoload_real.php +4 -4
- vendor/composer/autoload_static.php +11 -6
common/lang/tribe-common.pot
CHANGED
|
@@ -1,16 +1,14 @@
|
|
| 1 |
-
# Copyright (C)
|
| 2 |
# This file is distributed under the same license as the Tribe Common package.
|
| 3 |
msgid ""
|
| 4 |
msgstr ""
|
| 5 |
-
|
| 6 |
-
"Project-Id-Version: Tribe Common 4.10.2\n"
|
| 7 |
"Report-Msgid-Bugs-To: http://m.tri.be/191x\n"
|
| 8 |
-
"POT-Creation-Date:
|
| 9 |
"MIME-Version: 1.0\n"
|
| 10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
| 11 |
"Content-Transfer-Encoding: 8bit\n"
|
| 12 |
-
"PO-Revision-Date:
|
| 13 |
-
|
| 14 |
"Last-Translator: \n"
|
| 15 |
"Language-Team: \n"
|
| 16 |
|
|
@@ -42,7 +40,7 @@ msgstr ""
|
|
| 42 |
msgid "Press \"Cmd + C\" to copy"
|
| 43 |
msgstr ""
|
| 44 |
|
| 45 |
-
#: src/Tribe/Admin/Help_Page.php:79 src/Tribe/Customizer.php:
|
| 46 |
#: src/Tribe/Plugins_API.php:25
|
| 47 |
msgid "The Events Calendar"
|
| 48 |
msgstr ""
|
|
@@ -253,7 +251,7 @@ msgstr ""
|
|
| 253 |
msgid "Rate %1$sEvent Tickets%2$s %3$s"
|
| 254 |
msgstr ""
|
| 255 |
|
| 256 |
-
#: src/Tribe/Customizer.php:
|
| 257 |
msgid ""
|
| 258 |
"Use the following panel of your customizer to change the styling of your "
|
| 259 |
"Calendar and Event pages."
|
|
@@ -2125,24 +2123,24 @@ msgstr[1] ""
|
|
| 2125 |
msgid "Settings saved."
|
| 2126 |
msgstr ""
|
| 2127 |
|
| 2128 |
-
#: src/Tribe/Settings_Manager.php:
|
| 2129 |
msgid "General"
|
| 2130 |
msgstr ""
|
| 2131 |
|
| 2132 |
-
#: src/Tribe/Settings_Manager.php:
|
| 2133 |
msgid "Display"
|
| 2134 |
msgstr ""
|
| 2135 |
|
| 2136 |
-
#: src/Tribe/Settings_Manager.php:
|
| 2137 |
msgid "Network"
|
| 2138 |
msgstr ""
|
| 2139 |
|
| 2140 |
-
#: src/Tribe/Settings_Manager.php:
|
| 2141 |
#: src/admin-views/tribe-options-licenses.php:57
|
| 2142 |
msgid "Licenses"
|
| 2143 |
msgstr ""
|
| 2144 |
|
| 2145 |
-
#: src/Tribe/Settings_Manager.php:
|
| 2146 |
msgid "Help"
|
| 2147 |
msgstr ""
|
| 2148 |
|
|
@@ -2327,7 +2325,7 @@ msgstr ""
|
|
| 2327 |
msgid "%s must be an email address."
|
| 2328 |
msgstr ""
|
| 2329 |
|
| 2330 |
-
#: src/Tribe/View_Helpers.php:
|
| 2331 |
msgid "Select a Country:"
|
| 2332 |
msgstr ""
|
| 2333 |
|
| 1 |
+
# Copyright (C) 2020 Modern Tribe
|
| 2 |
# This file is distributed under the same license as the Tribe Common package.
|
| 3 |
msgid ""
|
| 4 |
msgstr ""
|
| 5 |
+
"Project-Id-Version: Tribe Common 4.11.0\n"
|
|
|
|
| 6 |
"Report-Msgid-Bugs-To: http://m.tri.be/191x\n"
|
| 7 |
+
"POT-Creation-Date: 2020-01-23 20:33:04+00:00\n"
|
| 8 |
"MIME-Version: 1.0\n"
|
| 9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
| 10 |
"Content-Transfer-Encoding: 8bit\n"
|
| 11 |
+
"PO-Revision-Date: 2020-01-23 20:33\n"
|
|
|
|
| 12 |
"Last-Translator: \n"
|
| 13 |
"Language-Team: \n"
|
| 14 |
|
| 40 |
msgid "Press \"Cmd + C\" to copy"
|
| 41 |
msgstr ""
|
| 42 |
|
| 43 |
+
#: src/Tribe/Admin/Help_Page.php:79 src/Tribe/Customizer.php:563
|
| 44 |
#: src/Tribe/Plugins_API.php:25
|
| 45 |
msgid "The Events Calendar"
|
| 46 |
msgstr ""
|
| 251 |
msgid "Rate %1$sEvent Tickets%2$s %3$s"
|
| 252 |
msgstr ""
|
| 253 |
|
| 254 |
+
#: src/Tribe/Customizer.php:564
|
| 255 |
msgid ""
|
| 256 |
"Use the following panel of your customizer to change the styling of your "
|
| 257 |
"Calendar and Event pages."
|
| 2123 |
msgid "Settings saved."
|
| 2124 |
msgstr ""
|
| 2125 |
|
| 2126 |
+
#: src/Tribe/Settings_Manager.php:80
|
| 2127 |
msgid "General"
|
| 2128 |
msgstr ""
|
| 2129 |
|
| 2130 |
+
#: src/Tribe/Settings_Manager.php:81
|
| 2131 |
msgid "Display"
|
| 2132 |
msgstr ""
|
| 2133 |
|
| 2134 |
+
#: src/Tribe/Settings_Manager.php:254
|
| 2135 |
msgid "Network"
|
| 2136 |
msgstr ""
|
| 2137 |
|
| 2138 |
+
#: src/Tribe/Settings_Manager.php:288
|
| 2139 |
#: src/admin-views/tribe-options-licenses.php:57
|
| 2140 |
msgid "Licenses"
|
| 2141 |
msgstr ""
|
| 2142 |
|
| 2143 |
+
#: src/Tribe/Settings_Manager.php:318
|
| 2144 |
msgid "Help"
|
| 2145 |
msgstr ""
|
| 2146 |
|
| 2325 |
msgid "%s must be an email address."
|
| 2326 |
msgstr ""
|
| 2327 |
|
| 2328 |
+
#: src/Tribe/View_Helpers.php:59
|
| 2329 |
msgid "Select a Country:"
|
| 2330 |
msgstr ""
|
| 2331 |
|
common/src/Tribe/Assets.php
CHANGED
|
@@ -49,15 +49,13 @@ class Tribe__Assets {
|
|
| 49 |
*/
|
| 50 |
public function register_in_wp( $assets = null ) {
|
| 51 |
if ( is_null( $assets ) ) {
|
| 52 |
-
$assets = $this->
|
| 53 |
}
|
| 54 |
|
| 55 |
if ( ! is_array( $assets ) ) {
|
| 56 |
$assets = [ $assets ];
|
| 57 |
}
|
| 58 |
|
| 59 |
-
uasort( $assets, [ $this, 'order_by_priority' ] );
|
| 60 |
-
|
| 61 |
foreach ( $assets as $asset ) {
|
| 62 |
// Asset is already registered.
|
| 63 |
if ( $asset->is_registered ) {
|
|
@@ -97,7 +95,7 @@ class Tribe__Assets {
|
|
| 97 |
if ( did_action( $action ) > 0 ) {
|
| 98 |
$this->enqueue();
|
| 99 |
} else {
|
| 100 |
-
add_action( $action, [ $this, 'enqueue' ], $asset->priority );
|
| 101 |
}
|
| 102 |
}
|
| 103 |
}
|
|
@@ -113,7 +111,7 @@ class Tribe__Assets {
|
|
| 113 |
* @param string|array $groups Which groups will be enqueued.
|
| 114 |
*/
|
| 115 |
public function enqueue_group( $groups ) {
|
| 116 |
-
$assets
|
| 117 |
$enqueue = [];
|
| 118 |
|
| 119 |
foreach ( $assets as $asset ) {
|
|
@@ -126,7 +124,6 @@ class Tribe__Assets {
|
|
| 126 |
if ( empty( $intersect ) ) {
|
| 127 |
continue;
|
| 128 |
}
|
| 129 |
-
|
| 130 |
$enqueue[] = $asset->slug;
|
| 131 |
}
|
| 132 |
|
|
@@ -148,7 +145,11 @@ class Tribe__Assets {
|
|
| 148 |
*/
|
| 149 |
public function enqueue( $forcibly_enqueue = null ) {
|
| 150 |
$forcibly_enqueue = array_filter( (array) $forcibly_enqueue );
|
| 151 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 152 |
|
| 153 |
foreach ( $assets as $asset ) {
|
| 154 |
// Should this asset be enqueued regardless of the current filter/any conditional requirements?
|
|
@@ -274,26 +275,49 @@ class Tribe__Assets {
|
|
| 274 |
* @return string|false The url to the minified version or false, if file not found.
|
| 275 |
*/
|
| 276 |
public static function maybe_get_min_file( $url ) {
|
| 277 |
-
$
|
| 278 |
-
$
|
| 279 |
-
$
|
| 280 |
-
$
|
| 281 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 282 |
|
| 283 |
if ( 0 === strpos( $url, $wpmu_plugin_url ) ) {
|
| 284 |
// URL inside WPMU plugin dir.
|
| 285 |
-
$base_dir =
|
| 286 |
$base_url = $wpmu_plugin_url;
|
| 287 |
} elseif ( 0 === strpos( $url, $wp_plugin_url ) ) {
|
| 288 |
// URL inside WP plugin dir.
|
| 289 |
-
$base_dir =
|
| 290 |
$base_url = $wp_plugin_url;
|
| 291 |
} elseif ( 0 === strpos( $url, $wp_content_url ) ) {
|
| 292 |
// URL inside WP content dir.
|
| 293 |
-
$base_dir =
|
| 294 |
$base_url = $wp_content_url;
|
| 295 |
} elseif ( 0 === strpos( $url, $plugins_url ) ) {
|
| 296 |
-
$base_dir =
|
| 297 |
$base_url = $plugins_url;
|
| 298 |
} else {
|
| 299 |
// Resource needs to be inside wp-content or a plugins dir.
|
|
@@ -320,7 +344,7 @@ class Tribe__Assets {
|
|
| 320 |
// Check for all Urls added to the array.
|
| 321 |
foreach ( $urls as $partial_path ) {
|
| 322 |
$file_path = wp_normalize_path( $base_dir . $partial_path );
|
| 323 |
-
$file_url =
|
| 324 |
|
| 325 |
if ( file_exists( $file_path ) ) {
|
| 326 |
return $file_url;
|
|
@@ -514,9 +538,6 @@ class Tribe__Assets {
|
|
| 514 |
// Set the Asset on the array of notices.
|
| 515 |
$this->assets[ $slug ] = $asset;
|
| 516 |
|
| 517 |
-
// Sorts by priority.
|
| 518 |
-
uasort( $this->assets, [ $this, 'order_by_priority' ] );
|
| 519 |
-
|
| 520 |
// Return the Slug because it might be modified.
|
| 521 |
return $asset;
|
| 522 |
}
|
|
@@ -578,19 +599,55 @@ class Tribe__Assets {
|
|
| 578 |
* Get the Asset Object configuration.
|
| 579 |
*
|
| 580 |
* @since 4.3
|
|
|
|
| 581 |
*
|
| 582 |
-
* @param string $slug Slug of the Asset.
|
|
|
|
| 583 |
*
|
| 584 |
* @return array|object|null Array of asset objects, single asset object, or null if looking for a single asset but
|
| 585 |
* it was not in the array of objects.
|
| 586 |
*/
|
| 587 |
-
public function get( $slug = null ) {
|
| 588 |
-
uasort( $this->assets, [ $this, 'order_by_priority' ] );
|
| 589 |
-
|
| 590 |
if ( is_null( $slug ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 591 |
return $this->assets;
|
| 592 |
}
|
| 593 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 594 |
// Prevent weird stuff here.
|
| 595 |
$slug = sanitize_title_with_dashes( $slug );
|
| 596 |
|
|
@@ -601,24 +658,10 @@ class Tribe__Assets {
|
|
| 601 |
return null;
|
| 602 |
}
|
| 603 |
|
| 604 |
-
/**
|
| 605 |
-
* Add the Priority ordering, which was causing an issue of not respecting which order stuff was registered.
|
| 606 |
-
*
|
| 607 |
-
* @since 4.7
|
| 608 |
-
*
|
| 609 |
-
* @param object $a First Subject to compare.
|
| 610 |
-
* @param object $b Second subject to compare.
|
| 611 |
-
*
|
| 612 |
-
* @return boolean
|
| 613 |
-
*/
|
| 614 |
-
public function order_by_priority( $a, $b ) {
|
| 615 |
-
return (int) $a->priority === (int) $b->priority ? 0 : (int) $a->priority > (int) $b->priority;
|
| 616 |
-
}
|
| 617 |
-
|
| 618 |
/**
|
| 619 |
* Checks if an Asset exists.
|
| 620 |
*
|
| 621 |
-
* @param string $slug Slug of the Asset.
|
| 622 |
*
|
| 623 |
* @return bool
|
| 624 |
*/
|
| 49 |
*/
|
| 50 |
public function register_in_wp( $assets = null ) {
|
| 51 |
if ( is_null( $assets ) ) {
|
| 52 |
+
$assets = $this->get();
|
| 53 |
}
|
| 54 |
|
| 55 |
if ( ! is_array( $assets ) ) {
|
| 56 |
$assets = [ $assets ];
|
| 57 |
}
|
| 58 |
|
|
|
|
|
|
|
| 59 |
foreach ( $assets as $asset ) {
|
| 60 |
// Asset is already registered.
|
| 61 |
if ( $asset->is_registered ) {
|
| 95 |
if ( did_action( $action ) > 0 ) {
|
| 96 |
$this->enqueue();
|
| 97 |
} else {
|
| 98 |
+
add_action( $action, [ $this, 'enqueue' ], $asset->priority, 0 );
|
| 99 |
}
|
| 100 |
}
|
| 101 |
}
|
| 111 |
* @param string|array $groups Which groups will be enqueued.
|
| 112 |
*/
|
| 113 |
public function enqueue_group( $groups ) {
|
| 114 |
+
$assets = $this->get( null, false );
|
| 115 |
$enqueue = [];
|
| 116 |
|
| 117 |
foreach ( $assets as $asset ) {
|
| 124 |
if ( empty( $intersect ) ) {
|
| 125 |
continue;
|
| 126 |
}
|
|
|
|
| 127 |
$enqueue[] = $asset->slug;
|
| 128 |
}
|
| 129 |
|
| 145 |
*/
|
| 146 |
public function enqueue( $forcibly_enqueue = null ) {
|
| 147 |
$forcibly_enqueue = array_filter( (array) $forcibly_enqueue );
|
| 148 |
+
if ( ! empty( $forcibly_enqueue ) ) {
|
| 149 |
+
$assets = (array) $this->get( $forcibly_enqueue );
|
| 150 |
+
} else {
|
| 151 |
+
$assets = $this->get();
|
| 152 |
+
}
|
| 153 |
|
| 154 |
foreach ( $assets as $asset ) {
|
| 155 |
// Should this asset be enqueued regardless of the current filter/any conditional requirements?
|
| 275 |
* @return string|false The url to the minified version or false, if file not found.
|
| 276 |
*/
|
| 277 |
public static function maybe_get_min_file( $url ) {
|
| 278 |
+
static $wpmu_plugin_url;
|
| 279 |
+
static $wp_plugin_url;
|
| 280 |
+
static $wp_content_url;
|
| 281 |
+
static $plugins_url;
|
| 282 |
+
static $base_dirs;
|
| 283 |
+
|
| 284 |
+
$urls = [];
|
| 285 |
+
if ( ! isset( $wpmu_plugin_url ) ) {
|
| 286 |
+
$wpmu_plugin_url = set_url_scheme( WPMU_PLUGIN_URL );
|
| 287 |
+
}
|
| 288 |
+
|
| 289 |
+
if ( ! isset( $wp_plugin_url ) ) {
|
| 290 |
+
$wp_plugin_url = set_url_scheme( WP_PLUGIN_URL );
|
| 291 |
+
}
|
| 292 |
+
|
| 293 |
+
if ( ! isset( $wp_content_url ) ) {
|
| 294 |
+
$wp_content_url = set_url_scheme( WP_CONTENT_URL );
|
| 295 |
+
}
|
| 296 |
+
|
| 297 |
+
if ( ! isset( $plugins_url ) ) {
|
| 298 |
+
$plugins_url = plugins_url();
|
| 299 |
+
}
|
| 300 |
+
|
| 301 |
+
if ( ! isset( $base_dirs ) ) {
|
| 302 |
+
$base_dirs[ WPMU_PLUGIN_DIR ] = wp_normalize_path( WPMU_PLUGIN_DIR );
|
| 303 |
+
$base_dirs[ WP_PLUGIN_DIR ] = wp_normalize_path( WP_PLUGIN_DIR );
|
| 304 |
+
$base_dirs[ WP_CONTENT_DIR ] = wp_normalize_path( WP_CONTENT_DIR );
|
| 305 |
+
}
|
| 306 |
|
| 307 |
if ( 0 === strpos( $url, $wpmu_plugin_url ) ) {
|
| 308 |
// URL inside WPMU plugin dir.
|
| 309 |
+
$base_dir = $base_dirs[ WPMU_PLUGIN_DIR ];
|
| 310 |
$base_url = $wpmu_plugin_url;
|
| 311 |
} elseif ( 0 === strpos( $url, $wp_plugin_url ) ) {
|
| 312 |
// URL inside WP plugin dir.
|
| 313 |
+
$base_dir = $base_dirs[ WP_PLUGIN_DIR ];
|
| 314 |
$base_url = $wp_plugin_url;
|
| 315 |
} elseif ( 0 === strpos( $url, $wp_content_url ) ) {
|
| 316 |
// URL inside WP content dir.
|
| 317 |
+
$base_dir = $base_dirs[ WP_CONTENT_DIR ];
|
| 318 |
$base_url = $wp_content_url;
|
| 319 |
} elseif ( 0 === strpos( $url, $plugins_url ) ) {
|
| 320 |
+
$base_dir = $base_dirs[ WP_PLUGIN_DIR ];
|
| 321 |
$base_url = $plugins_url;
|
| 322 |
} else {
|
| 323 |
// Resource needs to be inside wp-content or a plugins dir.
|
| 344 |
// Check for all Urls added to the array.
|
| 345 |
foreach ( $urls as $partial_path ) {
|
| 346 |
$file_path = wp_normalize_path( $base_dir . $partial_path );
|
| 347 |
+
$file_url = $base_url . $partial_path;
|
| 348 |
|
| 349 |
if ( file_exists( $file_path ) ) {
|
| 350 |
return $file_url;
|
| 538 |
// Set the Asset on the array of notices.
|
| 539 |
$this->assets[ $slug ] = $asset;
|
| 540 |
|
|
|
|
|
|
|
|
|
|
| 541 |
// Return the Slug because it might be modified.
|
| 542 |
return $asset;
|
| 543 |
}
|
| 599 |
* Get the Asset Object configuration.
|
| 600 |
*
|
| 601 |
* @since 4.3
|
| 602 |
+
* @since 4.11.0 Added $sort param.
|
| 603 |
*
|
| 604 |
+
* @param string|array $slug Slug of the Asset.
|
| 605 |
+
* @param boolean $sort If we should do any sorting before returning.
|
| 606 |
*
|
| 607 |
* @return array|object|null Array of asset objects, single asset object, or null if looking for a single asset but
|
| 608 |
* it was not in the array of objects.
|
| 609 |
*/
|
| 610 |
+
public function get( $slug = null, $sort = true ) {
|
|
|
|
|
|
|
| 611 |
if ( is_null( $slug ) ) {
|
| 612 |
+
if ( $sort ) {
|
| 613 |
+
$cache_key_count = __METHOD__ . ':count';
|
| 614 |
+
// Sorts by priority.
|
| 615 |
+
$cache_count = tribe_get_var( $cache_key_count, 0 );
|
| 616 |
+
$count = count( $this->assets );
|
| 617 |
+
|
| 618 |
+
if ( $count !== $cache_count ) {
|
| 619 |
+
uasort( $this->assets, 'tribe_sort_by_priority' );
|
| 620 |
+
tribe_set_var( $cache_key_count, $count );
|
| 621 |
+
}
|
| 622 |
+
}
|
| 623 |
return $this->assets;
|
| 624 |
}
|
| 625 |
|
| 626 |
+
// If slug is an array we return all of those.
|
| 627 |
+
if ( is_array( $slug ) ) {
|
| 628 |
+
$assets = [];
|
| 629 |
+
foreach ( $slug as $asset_slug ) {
|
| 630 |
+
$asset_slug = sanitize_title_with_dashes( $asset_slug );
|
| 631 |
+
// Skip empty assets.
|
| 632 |
+
if ( empty( $this->assets[ $asset_slug ] ) ) {
|
| 633 |
+
continue;
|
| 634 |
+
}
|
| 635 |
+
|
| 636 |
+
$assets[ $asset_slug ] = $this->assets[ $asset_slug ];
|
| 637 |
+
}
|
| 638 |
+
|
| 639 |
+
if ( empty( $assets ) ) {
|
| 640 |
+
return null;
|
| 641 |
+
}
|
| 642 |
+
|
| 643 |
+
if ( $sort ) {
|
| 644 |
+
// Sorts by priority.
|
| 645 |
+
uasort( $assets, 'tribe_sort_by_priority' );
|
| 646 |
+
}
|
| 647 |
+
|
| 648 |
+
return $assets;
|
| 649 |
+
}
|
| 650 |
+
|
| 651 |
// Prevent weird stuff here.
|
| 652 |
$slug = sanitize_title_with_dashes( $slug );
|
| 653 |
|
| 658 |
return null;
|
| 659 |
}
|
| 660 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 661 |
/**
|
| 662 |
* Checks if an Asset exists.
|
| 663 |
*
|
| 664 |
+
* @param string|array $slug Slug of the Asset.
|
| 665 |
*
|
| 666 |
* @return bool
|
| 667 |
*/
|
common/src/Tribe/Cache.php
CHANGED
|
@@ -10,6 +10,7 @@
|
|
| 10 |
* When used in its ArrayAccess API the cache will provide non persistent storage.
|
| 11 |
*/
|
| 12 |
class Tribe__Cache implements ArrayAccess {
|
|
|
|
| 13 |
const NO_EXPIRATION = 0;
|
| 14 |
const NON_PERSISTENT = - 1;
|
| 15 |
|
|
@@ -18,15 +19,28 @@ class Tribe__Cache implements ArrayAccess {
|
|
| 18 |
*/
|
| 19 |
protected $non_persistent_keys = array();
|
| 20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
public static function setup() {
|
| 22 |
wp_cache_add_non_persistent_groups( array( 'tribe-events-non-persistent' ) );
|
| 23 |
}
|
| 24 |
|
| 25 |
/**
|
| 26 |
-
* @param string
|
| 27 |
-
* @param mixed
|
| 28 |
-
* @param int
|
| 29 |
-
* @param string $expiration_trigger
|
| 30 |
*
|
| 31 |
* @return bool
|
| 32 |
*/
|
|
@@ -37,11 +51,11 @@ class Tribe__Cache implements ArrayAccess {
|
|
| 37 |
* Filters the expiration for cache objects to provide the ability
|
| 38 |
* to make non-persistent objects be treated as persistent.
|
| 39 |
*
|
| 40 |
-
* @param int
|
| 41 |
-
* @param string
|
| 42 |
-
* @param mixed
|
| 43 |
-
* @param string $expiration_trigger Action that triggers automatic expiration.
|
| 44 |
-
* @param string
|
| 45 |
*
|
| 46 |
* @since 4.8
|
| 47 |
*/
|
|
@@ -61,10 +75,10 @@ class Tribe__Cache implements ArrayAccess {
|
|
| 61 |
}
|
| 62 |
|
| 63 |
/**
|
| 64 |
-
* @param
|
| 65 |
-
* @param
|
| 66 |
-
* @param int
|
| 67 |
-
* @param string $expiration_trigger
|
| 68 |
*
|
| 69 |
* @return bool
|
| 70 |
*/
|
|
@@ -77,11 +91,11 @@ class Tribe__Cache implements ArrayAccess {
|
|
| 77 |
*
|
| 78 |
* Note: When a default value or callback is specified, this value gets set in the cache.
|
| 79 |
*
|
| 80 |
-
* @param string
|
| 81 |
-
* @param string $expiration_trigger Optional. Hook to trigger cache invalidation.
|
| 82 |
-
* @param mixed
|
| 83 |
-
* @param int
|
| 84 |
-
* @param mixed
|
| 85 |
*
|
| 86 |
* @return mixed
|
| 87 |
*/
|
|
@@ -112,7 +126,7 @@ class Tribe__Cache implements ArrayAccess {
|
|
| 112 |
|
| 113 |
/**
|
| 114 |
* @param string $id
|
| 115 |
-
* @param string $expiration_trigger
|
| 116 |
*
|
| 117 |
* @return mixed
|
| 118 |
*/
|
|
@@ -122,7 +136,7 @@ class Tribe__Cache implements ArrayAccess {
|
|
| 122 |
|
| 123 |
/**
|
| 124 |
* @param string $id
|
| 125 |
-
* @param string $expiration_trigger
|
| 126 |
*
|
| 127 |
* @return bool
|
| 128 |
*/
|
|
@@ -132,7 +146,7 @@ class Tribe__Cache implements ArrayAccess {
|
|
| 132 |
|
| 133 |
/**
|
| 134 |
* @param string $id
|
| 135 |
-
* @param string $expiration_trigger
|
| 136 |
*
|
| 137 |
* @return bool
|
| 138 |
*/
|
|
@@ -140,17 +154,65 @@ class Tribe__Cache implements ArrayAccess {
|
|
| 140 |
return delete_transient( $this->get_id( $id, $expiration_trigger ) );
|
| 141 |
}
|
| 142 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 143 |
/**
|
| 144 |
* @param string $key
|
| 145 |
-
* @param string $expiration_trigger
|
| 146 |
*
|
| 147 |
* @return string
|
| 148 |
*/
|
| 149 |
public function get_id( $key, $expiration_trigger = '' ) {
|
| 150 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 151 |
$id = $key . $last;
|
| 152 |
-
if ( strlen( $id ) >
|
| 153 |
-
$id = md5( $id );
|
| 154 |
}
|
| 155 |
|
| 156 |
return $id;
|
|
@@ -166,7 +228,27 @@ class Tribe__Cache implements ArrayAccess {
|
|
| 166 |
* @return float The time (microtime) an action last occurred, or the current microtime if it never occurred.
|
| 167 |
*/
|
| 168 |
public function get_last_occurrence( $action ) {
|
| 169 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 170 |
}
|
| 171 |
|
| 172 |
/**
|
|
@@ -182,6 +264,8 @@ class Tribe__Cache implements ArrayAccess {
|
|
| 182 |
$timestamp = microtime( true );
|
| 183 |
}
|
| 184 |
update_option( 'tribe_last_' . $action, (float) $timestamp );
|
|
|
|
|
|
|
| 185 |
}
|
| 186 |
|
| 187 |
/**
|
|
@@ -222,7 +306,7 @@ class Tribe__Cache implements ArrayAccess {
|
|
| 222 |
* </p>
|
| 223 |
* <p>
|
| 224 |
* The return value will be casted to boolean if non-boolean was returned.
|
| 225 |
-
* @since
|
| 226 |
*/
|
| 227 |
public function offsetExists( $offset ) {
|
| 228 |
return in_array( $offset, $this->non_persistent_keys );
|
|
@@ -236,7 +320,7 @@ class Tribe__Cache implements ArrayAccess {
|
|
| 236 |
* The offset to retrieve.
|
| 237 |
* </p>
|
| 238 |
* @return mixed Can return all value types.
|
| 239 |
-
* @since
|
| 240 |
*/
|
| 241 |
public function offsetGet( $offset ) {
|
| 242 |
return $this->get( $offset );
|
|
@@ -253,7 +337,7 @@ class Tribe__Cache implements ArrayAccess {
|
|
| 253 |
* The value to set.
|
| 254 |
* </p>
|
| 255 |
* @return void
|
| 256 |
-
* @since
|
| 257 |
*/
|
| 258 |
public function offsetSet( $offset, $value ) {
|
| 259 |
$this->set( $offset, $value, self::NON_PERSISTENT );
|
|
@@ -267,7 +351,7 @@ class Tribe__Cache implements ArrayAccess {
|
|
| 267 |
* The offset to unset.
|
| 268 |
* </p>
|
| 269 |
* @return void
|
| 270 |
-
* @since
|
| 271 |
*/
|
| 272 |
public function offsetUnset( $offset ) {
|
| 273 |
$this->delete( $offset );
|
| 10 |
* When used in its ArrayAccess API the cache will provide non persistent storage.
|
| 11 |
*/
|
| 12 |
class Tribe__Cache implements ArrayAccess {
|
| 13 |
+
const SCHEDULED_EVENT_DELETE_TRANSIENT = 'tribe_schedule_transient_purge';
|
| 14 |
const NO_EXPIRATION = 0;
|
| 15 |
const NON_PERSISTENT = - 1;
|
| 16 |
|
| 19 |
*/
|
| 20 |
protected $non_persistent_keys = array();
|
| 21 |
|
| 22 |
+
/**
|
| 23 |
+
* Bootstrap hook
|
| 24 |
+
*
|
| 25 |
+
* @since 4.11.0
|
| 26 |
+
*/
|
| 27 |
+
public function hook() {
|
| 28 |
+
if ( ! wp_next_scheduled( self::SCHEDULED_EVENT_DELETE_TRANSIENT ) ) {
|
| 29 |
+
wp_schedule_event( time(), 'twicedaily', self::SCHEDULED_EVENT_DELETE_TRANSIENT );
|
| 30 |
+
}
|
| 31 |
+
|
| 32 |
+
add_action( self::SCHEDULED_EVENT_DELETE_TRANSIENT, [ $this, 'delete_expired_transients' ] );
|
| 33 |
+
}
|
| 34 |
+
|
| 35 |
public static function setup() {
|
| 36 |
wp_cache_add_non_persistent_groups( array( 'tribe-events-non-persistent' ) );
|
| 37 |
}
|
| 38 |
|
| 39 |
/**
|
| 40 |
+
* @param string $id
|
| 41 |
+
* @param mixed $value
|
| 42 |
+
* @param int $expiration
|
| 43 |
+
* @param string|array $expiration_trigger
|
| 44 |
*
|
| 45 |
* @return bool
|
| 46 |
*/
|
| 51 |
* Filters the expiration for cache objects to provide the ability
|
| 52 |
* to make non-persistent objects be treated as persistent.
|
| 53 |
*
|
| 54 |
+
* @param int $expiration Cache expiration time.
|
| 55 |
+
* @param string $id Cache ID.
|
| 56 |
+
* @param mixed $value Cache value.
|
| 57 |
+
* @param string|array $expiration_trigger Action that triggers automatic expiration.
|
| 58 |
+
* @param string $key Unique cache key based on Cache ID and expiration trigger last run time.
|
| 59 |
*
|
| 60 |
* @since 4.8
|
| 61 |
*/
|
| 75 |
}
|
| 76 |
|
| 77 |
/**
|
| 78 |
+
* @param $id
|
| 79 |
+
* @param $value
|
| 80 |
+
* @param int $expiration
|
| 81 |
+
* @param string|array $expiration_trigger
|
| 82 |
*
|
| 83 |
* @return bool
|
| 84 |
*/
|
| 91 |
*
|
| 92 |
* Note: When a default value or callback is specified, this value gets set in the cache.
|
| 93 |
*
|
| 94 |
+
* @param string $id The key for the cached value.
|
| 95 |
+
* @param string|array $expiration_trigger Optional. Hook to trigger cache invalidation.
|
| 96 |
+
* @param mixed $default Optional. A default value or callback that returns a default value.
|
| 97 |
+
* @param int $expiration Optional. When the default value expires, if it gets set.
|
| 98 |
+
* @param mixed $args Optional. Args passed to callback.
|
| 99 |
*
|
| 100 |
* @return mixed
|
| 101 |
*/
|
| 126 |
|
| 127 |
/**
|
| 128 |
* @param string $id
|
| 129 |
+
* @param string|array $expiration_trigger
|
| 130 |
*
|
| 131 |
* @return mixed
|
| 132 |
*/
|
| 136 |
|
| 137 |
/**
|
| 138 |
* @param string $id
|
| 139 |
+
* @param string|array $expiration_trigger
|
| 140 |
*
|
| 141 |
* @return bool
|
| 142 |
*/
|
| 146 |
|
| 147 |
/**
|
| 148 |
* @param string $id
|
| 149 |
+
* @param string|array $expiration_trigger
|
| 150 |
*
|
| 151 |
* @return bool
|
| 152 |
*/
|
| 154 |
return delete_transient( $this->get_id( $id, $expiration_trigger ) );
|
| 155 |
}
|
| 156 |
|
| 157 |
+
/**
|
| 158 |
+
* Purge all expired tribe_ transients.
|
| 159 |
+
*
|
| 160 |
+
* This uses a modification of the the query from https://core.trac.wordpress.org/ticket/20316
|
| 161 |
+
*
|
| 162 |
+
* @since 4.11.0
|
| 163 |
+
*/
|
| 164 |
+
public function delete_expired_transients() {
|
| 165 |
+
global $wpdb;
|
| 166 |
+
|
| 167 |
+
$time = time();
|
| 168 |
+
|
| 169 |
+
$sql = "
|
| 170 |
+
DELETE
|
| 171 |
+
a,
|
| 172 |
+
b
|
| 173 |
+
FROM
|
| 174 |
+
{$wpdb->options} a
|
| 175 |
+
INNER JOIN {$wpdb->options} b
|
| 176 |
+
ON b.option_name = CONCAT( '_transient_timeout_tribe_', SUBSTRING( a.option_name, 12 ) )
|
| 177 |
+
AND b.option_value < {$time}
|
| 178 |
+
WHERE
|
| 179 |
+
a.option_name LIKE '\_transient_tribe\_%'
|
| 180 |
+
AND a.option_name NOT LIKE '\_transient\_timeout_tribe\_%'
|
| 181 |
+
";
|
| 182 |
+
$wpdb->query( $sql );
|
| 183 |
+
}
|
| 184 |
+
|
| 185 |
/**
|
| 186 |
* @param string $key
|
| 187 |
+
* @param string|array $expiration_trigger
|
| 188 |
*
|
| 189 |
* @return string
|
| 190 |
*/
|
| 191 |
public function get_id( $key, $expiration_trigger = '' ) {
|
| 192 |
+
if ( is_array( $expiration_trigger ) ) {
|
| 193 |
+
$triggers = $expiration_trigger;
|
| 194 |
+
} else {
|
| 195 |
+
$triggers = array_filter( explode( '|', $expiration_trigger ) );
|
| 196 |
+
}
|
| 197 |
+
|
| 198 |
+
$last = 0;
|
| 199 |
+
foreach ( $triggers as $trigger ) {
|
| 200 |
+
// Bail on empty trigger otherwise it creates a `tribe_last_` opt on the DB.
|
| 201 |
+
if ( empty( $trigger ) ) {
|
| 202 |
+
continue;
|
| 203 |
+
}
|
| 204 |
+
|
| 205 |
+
$occurrence = $this->get_last_occurrence( $trigger );
|
| 206 |
+
|
| 207 |
+
if ( $occurrence > $last ) {
|
| 208 |
+
$last = $occurrence;
|
| 209 |
+
}
|
| 210 |
+
}
|
| 211 |
+
|
| 212 |
+
$last = empty( $last ) ? '' : $last;
|
| 213 |
$id = $key . $last;
|
| 214 |
+
if ( strlen( $id ) > 80 ) {
|
| 215 |
+
$id = 'tribe_' . md5( $id );
|
| 216 |
}
|
| 217 |
|
| 218 |
return $id;
|
| 228 |
* @return float The time (microtime) an action last occurred, or the current microtime if it never occurred.
|
| 229 |
*/
|
| 230 |
public function get_last_occurrence( $action ) {
|
| 231 |
+
static $cache_var_name = __METHOD__;
|
| 232 |
+
|
| 233 |
+
$cache_last_actions = tribe_get_var( $cache_var_name, [] );
|
| 234 |
+
|
| 235 |
+
if ( isset( $cache_last_actions[ $action ] ) ) {
|
| 236 |
+
return $cache_last_actions[ $action ];
|
| 237 |
+
}
|
| 238 |
+
|
| 239 |
+
$last_action = (float) get_option( 'tribe_last_' . $action, null );
|
| 240 |
+
|
| 241 |
+
if ( ! $last_action ) {
|
| 242 |
+
$last_action = microtime( true );
|
| 243 |
+
|
| 244 |
+
update_option( 'tribe_last_' . $action, $last_action );
|
| 245 |
+
}
|
| 246 |
+
|
| 247 |
+
$cache_last_actions[ $action ] = (float) $last_action;
|
| 248 |
+
|
| 249 |
+
tribe_set_var( $cache_var_name, $cache_last_actions );
|
| 250 |
+
|
| 251 |
+
return $cache_last_actions[ $action ];
|
| 252 |
}
|
| 253 |
|
| 254 |
/**
|
| 264 |
$timestamp = microtime( true );
|
| 265 |
}
|
| 266 |
update_option( 'tribe_last_' . $action, (float) $timestamp );
|
| 267 |
+
|
| 268 |
+
$this->delete_expired_transients();
|
| 269 |
}
|
| 270 |
|
| 271 |
/**
|
| 306 |
* </p>
|
| 307 |
* <p>
|
| 308 |
* The return value will be casted to boolean if non-boolean was returned.
|
| 309 |
+
* @since 4.11.0
|
| 310 |
*/
|
| 311 |
public function offsetExists( $offset ) {
|
| 312 |
return in_array( $offset, $this->non_persistent_keys );
|
| 320 |
* The offset to retrieve.
|
| 321 |
* </p>
|
| 322 |
* @return mixed Can return all value types.
|
| 323 |
+
* @since 4.11.0
|
| 324 |
*/
|
| 325 |
public function offsetGet( $offset ) {
|
| 326 |
return $this->get( $offset );
|
| 337 |
* The value to set.
|
| 338 |
* </p>
|
| 339 |
* @return void
|
| 340 |
+
* @since 4.11.0
|
| 341 |
*/
|
| 342 |
public function offsetSet( $offset, $value ) {
|
| 343 |
$this->set( $offset, $value, self::NON_PERSISTENT );
|
| 351 |
* The offset to unset.
|
| 352 |
* </p>
|
| 353 |
* @return void
|
| 354 |
+
* @since 4.11.0
|
| 355 |
*/
|
| 356 |
public function offsetUnset( $offset ) {
|
| 357 |
$this->delete( $offset );
|
common/src/Tribe/Cache_Listener.php
CHANGED
|
@@ -14,6 +14,11 @@
|
|
| 14 |
*/
|
| 15 |
const TRIGGER_SAVE_POST = 'save_post';
|
| 16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
/**
|
| 18 |
* The singleton instance of the class.
|
| 19 |
*
|
|
@@ -53,6 +58,7 @@
|
|
| 53 |
*/
|
| 54 |
private function add_hooks() {
|
| 55 |
add_action( 'save_post', [ $this, 'save_post' ], 0, 2 );
|
|
|
|
| 56 |
add_action( 'updated_option', [ $this, 'update_last_save_post' ], 10, 3 );
|
| 57 |
add_action( 'generate_rewrite_rules', [ $this, 'generate_rewrite_rules' ] );
|
| 58 |
}
|
|
@@ -79,17 +85,45 @@
|
|
| 79 |
* @param mixed $value The new option value.
|
| 80 |
*/
|
| 81 |
public function update_last_save_post( $option_name, $old_value, $value ) {
|
| 82 |
-
$triggers =
|
| 83 |
-
'tribe_events_calendar_options',
|
| 84 |
-
'permalink_structure',
|
| 85 |
-
'rewrite_rules',
|
| 86 |
-
'start_of_week',
|
| 87 |
-
|
| 88 |
-
if (
|
| 89 |
$this->cache->set_last_occurrence( self::TRIGGER_SAVE_POST );
|
| 90 |
}
|
| 91 |
}
|
| 92 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 93 |
/**
|
| 94 |
* For any hook that doesn't need any additional filtering
|
| 95 |
*
|
| 14 |
*/
|
| 15 |
const TRIGGER_SAVE_POST = 'save_post';
|
| 16 |
|
| 17 |
+
/**
|
| 18 |
+
* The name of the trigger that will be fired when an option is updated
|
| 19 |
+
*/
|
| 20 |
+
const TRIGGER_UPDATED_OPTION = 'updated_option';
|
| 21 |
+
|
| 22 |
/**
|
| 23 |
* The singleton instance of the class.
|
| 24 |
*
|
| 58 |
*/
|
| 59 |
private function add_hooks() {
|
| 60 |
add_action( 'save_post', [ $this, 'save_post' ], 0, 2 );
|
| 61 |
+
add_action( 'updated_option', [ $this, 'update_last_updated_option' ], 10, 3 );
|
| 62 |
add_action( 'updated_option', [ $this, 'update_last_save_post' ], 10, 3 );
|
| 63 |
add_action( 'generate_rewrite_rules', [ $this, 'generate_rewrite_rules' ] );
|
| 64 |
}
|
| 85 |
* @param mixed $value The new option value.
|
| 86 |
*/
|
| 87 |
public function update_last_save_post( $option_name, $old_value, $value ) {
|
| 88 |
+
$triggers = [
|
| 89 |
+
'tribe_events_calendar_options' => true,
|
| 90 |
+
'permalink_structure' => true,
|
| 91 |
+
'rewrite_rules' => true,
|
| 92 |
+
'start_of_week' => true,
|
| 93 |
+
];
|
| 94 |
+
if ( ! empty( $triggers[ $option_name ] ) ) {
|
| 95 |
$this->cache->set_last_occurrence( self::TRIGGER_SAVE_POST );
|
| 96 |
}
|
| 97 |
}
|
| 98 |
|
| 99 |
+
/**
|
| 100 |
+
* Run the caching functionality that is executed on saving tribe calendar options.
|
| 101 |
+
*
|
| 102 |
+
* @see 'updated_option'
|
| 103 |
+
*
|
| 104 |
+
* @since 4.11.0
|
| 105 |
+
*
|
| 106 |
+
* @param string $option_name Name of the updated option.
|
| 107 |
+
* @param mixed $old_value The old option value.
|
| 108 |
+
* @param mixed $value The new option value.
|
| 109 |
+
*/
|
| 110 |
+
public function update_last_updated_option( $option_name, $old_value, $value ) {
|
| 111 |
+
$triggers = [
|
| 112 |
+
'active_plugins' => true,
|
| 113 |
+
'tribe_events_calendar_options' => true,
|
| 114 |
+
'permalink_structure' => true,
|
| 115 |
+
'rewrite_rules' => true,
|
| 116 |
+
'start_of_week' => true,
|
| 117 |
+
'sidebars_widgets' => true,
|
| 118 |
+
'stylesheet' => true,
|
| 119 |
+
'template' => true,
|
| 120 |
+
];
|
| 121 |
+
|
| 122 |
+
if ( ! empty( $triggers[ $option_name ] ) ) {
|
| 123 |
+
$this->cache->set_last_occurrence( self::TRIGGER_UPDATED_OPTION );
|
| 124 |
+
}
|
| 125 |
+
}
|
| 126 |
+
|
| 127 |
/**
|
| 128 |
* For any hook that doesn't need any additional filtering
|
| 129 |
*
|
common/src/Tribe/Container.php
CHANGED
|
@@ -224,6 +224,52 @@ if ( ! function_exists( 'tribe_get_var' ) ) {
|
|
| 224 |
}
|
| 225 |
}
|
| 226 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 227 |
if ( ! function_exists( 'tribe_register_provider' ) ) {
|
| 228 |
/**
|
| 229 |
* Registers a service provider in the container.
|
| 224 |
}
|
| 225 |
}
|
| 226 |
|
| 227 |
+
if ( ! function_exists( 'tribe_unset_var' ) ) {
|
| 228 |
+
/**
|
| 229 |
+
* Returns the value of a registered variable.
|
| 230 |
+
*
|
| 231 |
+
* Example use:
|
| 232 |
+
*
|
| 233 |
+
* tribe_set_var( 'tec.url', 'http://example.com' );
|
| 234 |
+
*
|
| 235 |
+
* tribe_unset_var( 'tec.url' );
|
| 236 |
+
*
|
| 237 |
+
* @since 4.11.0
|
| 238 |
+
*
|
| 239 |
+
* @param string $slug The slug of the variable registered using `tribe_unset_var`.
|
| 240 |
+
*
|
| 241 |
+
* @return void
|
| 242 |
+
*/
|
| 243 |
+
function tribe_unset_var( $slug ) {
|
| 244 |
+
$container = Tribe__Container::init();
|
| 245 |
+
try {
|
| 246 |
+
$container->offsetUnset( $slug );
|
| 247 |
+
} catch ( Exception $e ) {}
|
| 248 |
+
}
|
| 249 |
+
}
|
| 250 |
+
|
| 251 |
+
if ( ! function_exists( 'tribe_isset_var' ) ) {
|
| 252 |
+
/**
|
| 253 |
+
* Returns the value of a registered variable.
|
| 254 |
+
*
|
| 255 |
+
* Example use:
|
| 256 |
+
*
|
| 257 |
+
* tribe_set_var( 'tec.url', 'http://example.com' );
|
| 258 |
+
*
|
| 259 |
+
* tribe_isset_var( 'tec.url' );
|
| 260 |
+
*
|
| 261 |
+
* @since 4.11.0
|
| 262 |
+
*
|
| 263 |
+
* @param string $slug The slug of the variable checked using `tribe_isset_var`.
|
| 264 |
+
*
|
| 265 |
+
* @return boolean Either a the given slug exists.
|
| 266 |
+
*/
|
| 267 |
+
function tribe_isset_var( $slug ) {
|
| 268 |
+
$container = Tribe__Container::init();
|
| 269 |
+
return $container->offsetExists( $slug );
|
| 270 |
+
}
|
| 271 |
+
}
|
| 272 |
+
|
| 273 |
if ( ! function_exists( 'tribe_register_provider' ) ) {
|
| 274 |
/**
|
| 275 |
* Registers a service provider in the container.
|
common/src/Tribe/Customizer.php
CHANGED
|
@@ -104,17 +104,6 @@ final class Tribe__Customizer {
|
|
| 104 |
return;
|
| 105 |
}
|
| 106 |
|
| 107 |
-
/**
|
| 108 |
-
* Filters the Panel ID, which is also the `wp_option` name for the Customizer settings
|
| 109 |
-
*
|
| 110 |
-
* @deprecated
|
| 111 |
-
* @since 4.0
|
| 112 |
-
*
|
| 113 |
-
* @param string $ID
|
| 114 |
-
* @param self $customizer
|
| 115 |
-
*/
|
| 116 |
-
$this->ID = apply_filters( 'tribe_events_pro_customizer_panel_id', 'tribe_customizer', $this );
|
| 117 |
-
|
| 118 |
/**
|
| 119 |
* Filters the Panel ID, which is also the `wp_option` name for the Customizer settings
|
| 120 |
*
|
|
@@ -327,18 +316,6 @@ final class Tribe__Customizer {
|
|
| 327 |
$option = $sections;
|
| 328 |
}
|
| 329 |
|
| 330 |
-
/**
|
| 331 |
-
* Apply Filters After finding the variable
|
| 332 |
-
*
|
| 333 |
-
* @deprecated
|
| 334 |
-
* @since 4.0
|
| 335 |
-
*
|
| 336 |
-
* @param mixed $option
|
| 337 |
-
* @param array $search
|
| 338 |
-
* @param array $sections
|
| 339 |
-
*/
|
| 340 |
-
$option = apply_filters( 'tribe_events_pro_customizer_get_option', $option, $search, $sections );
|
| 341 |
-
|
| 342 |
/**
|
| 343 |
* Apply Filters After finding the variable
|
| 344 |
*
|
|
@@ -393,18 +370,6 @@ final class Tribe__Customizer {
|
|
| 393 |
return false;
|
| 394 |
}
|
| 395 |
|
| 396 |
-
/**
|
| 397 |
-
* Use this filter to add more CSS, using Underscore Template style
|
| 398 |
-
*
|
| 399 |
-
* @deprecated
|
| 400 |
-
* @since 4.0
|
| 401 |
-
*
|
| 402 |
-
* @link http://underscorejs.org/#template
|
| 403 |
-
*
|
| 404 |
-
* @param string $template
|
| 405 |
-
*/
|
| 406 |
-
$css_template = trim( apply_filters( 'tribe_events_pro_customizer_css_template', '' ) );
|
| 407 |
-
|
| 408 |
/**
|
| 409 |
* Use this filter to add more CSS, using Underscore Template style
|
| 410 |
*
|
|
@@ -414,7 +379,7 @@ final class Tribe__Customizer {
|
|
| 414 |
*
|
| 415 |
* @param string $template
|
| 416 |
*/
|
| 417 |
-
$css_template = trim( apply_filters( 'tribe_customizer_css_template',
|
| 418 |
|
| 419 |
// If we don't have anything on the customizer don't print empty styles
|
| 420 |
// On Customize Page, we don't care we need this
|
|
@@ -531,17 +496,6 @@ final class Tribe__Customizer {
|
|
| 531 |
// Set the Cutomizer on a class variable
|
| 532 |
$this->manager = $customizer;
|
| 533 |
|
| 534 |
-
/**
|
| 535 |
-
* Allow users to filter the Panel
|
| 536 |
-
*
|
| 537 |
-
* @deprecated
|
| 538 |
-
* @since 4.0
|
| 539 |
-
*
|
| 540 |
-
* @param WP_Customize_Panel $panel
|
| 541 |
-
* @param Tribe__Customizer $customizer
|
| 542 |
-
*/
|
| 543 |
-
$this->panel = apply_filters( 'tribe_events_pro_customizer_panel', $this->register_panel(), $this );
|
| 544 |
-
|
| 545 |
/**
|
| 546 |
* Allow users to filter the Panel
|
| 547 |
*
|
|
@@ -550,18 +504,7 @@ final class Tribe__Customizer {
|
|
| 550 |
* @param WP_Customize_Panel $panel
|
| 551 |
* @param Tribe__Customizer $customizer
|
| 552 |
*/
|
| 553 |
-
$this->panel = apply_filters( 'tribe_customizer_panel', $this->
|
| 554 |
-
|
| 555 |
-
/**
|
| 556 |
-
* Filter the Sections within our Panel before they are added to the Cutomize Manager
|
| 557 |
-
*
|
| 558 |
-
* @deprecated
|
| 559 |
-
* @since 4.0
|
| 560 |
-
*
|
| 561 |
-
* @param array $sections
|
| 562 |
-
* @param Tribe__Customizer $customizer
|
| 563 |
-
*/
|
| 564 |
-
$this->sections = apply_filters( 'tribe_events_pro_customizer_pre_sections', $this->sections, $this );
|
| 565 |
|
| 566 |
/**
|
| 567 |
* Filter the Sections within our Panel before they are added to the Cutomize Manager
|
|
@@ -576,17 +519,6 @@ final class Tribe__Customizer {
|
|
| 576 |
foreach ( $this->sections as $id => $section ) {
|
| 577 |
$this->sections[ $id ] = $this->register_section( $id, $section );
|
| 578 |
|
| 579 |
-
/**
|
| 580 |
-
* Allows people to Register and de-register the method to register more Fields
|
| 581 |
-
*
|
| 582 |
-
* @deprecated
|
| 583 |
-
* @since 4.0
|
| 584 |
-
*
|
| 585 |
-
* @param array $section
|
| 586 |
-
* @param WP_Customize_Manager $manager
|
| 587 |
-
*/
|
| 588 |
-
do_action( "tribe_events_pro_customizer_register_{$id}_settings", $this->sections[ $id ], $this->manager );
|
| 589 |
-
|
| 590 |
/**
|
| 591 |
* Allows people to Register and de-register the method to register more Fields
|
| 592 |
*
|
|
@@ -598,17 +530,6 @@ final class Tribe__Customizer {
|
|
| 598 |
do_action( "tribe_customizer_register_{$id}_settings", $this->sections[ $id ], $this->manager );
|
| 599 |
}
|
| 600 |
|
| 601 |
-
/**
|
| 602 |
-
* Filter the Sections within our Panel, now using the actual WP_Customize_Section
|
| 603 |
-
*
|
| 604 |
-
* @deprecated
|
| 605 |
-
* @since 4.0
|
| 606 |
-
*
|
| 607 |
-
* @param array $sections
|
| 608 |
-
* @param Tribe__Customizer $customizer
|
| 609 |
-
*/
|
| 610 |
-
$this->sections = apply_filters( 'tribe_events_pro_customizer_sections', $this->sections, $this );
|
| 611 |
-
|
| 612 |
/**
|
| 613 |
* Filter the Sections within our Panel, now using the actual WP_Customize_Section
|
| 614 |
*
|
|
@@ -646,18 +567,6 @@ final class Tribe__Customizer {
|
|
| 646 |
'priority' => 125,
|
| 647 |
);
|
| 648 |
|
| 649 |
-
/**
|
| 650 |
-
* Filter the Panel Arguments for WP Customize
|
| 651 |
-
*
|
| 652 |
-
* @deprecated
|
| 653 |
-
* @since 4.0
|
| 654 |
-
*
|
| 655 |
-
* @param array $args
|
| 656 |
-
* @param string $ID
|
| 657 |
-
* @param Tribe__Customizer $customizer
|
| 658 |
-
*/
|
| 659 |
-
$panel_args = apply_filters( 'tribe_events_pro_customizer_panel_args', $panel_args, $this->ID, $this );
|
| 660 |
-
|
| 661 |
/**
|
| 662 |
* Filter the Panel Arguments for WP Customize
|
| 663 |
*
|
|
@@ -689,17 +598,6 @@ final class Tribe__Customizer {
|
|
| 689 |
* @return WP_Customize_Section
|
| 690 |
*/
|
| 691 |
public function register_section( $id, $args ) {
|
| 692 |
-
/**
|
| 693 |
-
* Filter the Section ID
|
| 694 |
-
*
|
| 695 |
-
* @deprecated
|
| 696 |
-
* @since 4.0
|
| 697 |
-
*
|
| 698 |
-
* @param string $section_id
|
| 699 |
-
* @param Tribe__Customizer $customizer
|
| 700 |
-
*/
|
| 701 |
-
$section_id = apply_filters( 'tribe_events_pro_customizer_section_id', $id, $this );
|
| 702 |
-
|
| 703 |
/**
|
| 704 |
* Filter the Section ID
|
| 705 |
*
|
|
@@ -708,7 +606,7 @@ final class Tribe__Customizer {
|
|
| 708 |
* @param string $section_id
|
| 709 |
* @param Tribe__Customizer $customizer
|
| 710 |
*/
|
| 711 |
-
$section_id = apply_filters( 'tribe_customizer_section_id', $
|
| 712 |
|
| 713 |
// Tries to fetch the section
|
| 714 |
$section = $this->manager->get_section( $section_id );
|
|
@@ -718,18 +616,6 @@ final class Tribe__Customizer {
|
|
| 718 |
return $section;
|
| 719 |
}
|
| 720 |
|
| 721 |
-
/**
|
| 722 |
-
* Filter the Section arguments, so that developers can filter arguments based on $section_id
|
| 723 |
-
*
|
| 724 |
-
* @deprecated
|
| 725 |
-
* @since 4.0
|
| 726 |
-
*
|
| 727 |
-
* @param array $args
|
| 728 |
-
* @param string $section_id
|
| 729 |
-
* @param Tribe__Customizer $customizer
|
| 730 |
-
*/
|
| 731 |
-
$section_args = apply_filters( 'tribe_events_pro_customizer_section_args', $args, $section_id, $this );
|
| 732 |
-
|
| 733 |
/**
|
| 734 |
* Filter the Section arguments, so that developers can filter arguments based on $section_id
|
| 735 |
*
|
| 104 |
return;
|
| 105 |
}
|
| 106 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 107 |
/**
|
| 108 |
* Filters the Panel ID, which is also the `wp_option` name for the Customizer settings
|
| 109 |
*
|
| 316 |
$option = $sections;
|
| 317 |
}
|
| 318 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 319 |
/**
|
| 320 |
* Apply Filters After finding the variable
|
| 321 |
*
|
| 370 |
return false;
|
| 371 |
}
|
| 372 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 373 |
/**
|
| 374 |
* Use this filter to add more CSS, using Underscore Template style
|
| 375 |
*
|
| 379 |
*
|
| 380 |
* @param string $template
|
| 381 |
*/
|
| 382 |
+
$css_template = trim( apply_filters( 'tribe_customizer_css_template', '' ) );
|
| 383 |
|
| 384 |
// If we don't have anything on the customizer don't print empty styles
|
| 385 |
// On Customize Page, we don't care we need this
|
| 496 |
// Set the Cutomizer on a class variable
|
| 497 |
$this->manager = $customizer;
|
| 498 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 499 |
/**
|
| 500 |
* Allow users to filter the Panel
|
| 501 |
*
|
| 504 |
* @param WP_Customize_Panel $panel
|
| 505 |
* @param Tribe__Customizer $customizer
|
| 506 |
*/
|
| 507 |
+
$this->panel = apply_filters( 'tribe_customizer_panel', $this->register_panel(), $this );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 508 |
|
| 509 |
/**
|
| 510 |
* Filter the Sections within our Panel before they are added to the Cutomize Manager
|
| 519 |
foreach ( $this->sections as $id => $section ) {
|
| 520 |
$this->sections[ $id ] = $this->register_section( $id, $section );
|
| 521 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 522 |
/**
|
| 523 |
* Allows people to Register and de-register the method to register more Fields
|
| 524 |
*
|
| 530 |
do_action( "tribe_customizer_register_{$id}_settings", $this->sections[ $id ], $this->manager );
|
| 531 |
}
|
| 532 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 533 |
/**
|
| 534 |
* Filter the Sections within our Panel, now using the actual WP_Customize_Section
|
| 535 |
*
|
| 567 |
'priority' => 125,
|
| 568 |
);
|
| 569 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 570 |
/**
|
| 571 |
* Filter the Panel Arguments for WP Customize
|
| 572 |
*
|
| 598 |
* @return WP_Customize_Section
|
| 599 |
*/
|
| 600 |
public function register_section( $id, $args ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 601 |
/**
|
| 602 |
* Filter the Section ID
|
| 603 |
*
|
| 606 |
* @param string $section_id
|
| 607 |
* @param Tribe__Customizer $customizer
|
| 608 |
*/
|
| 609 |
+
$section_id = apply_filters( 'tribe_customizer_section_id', $id, $this );
|
| 610 |
|
| 611 |
// Tries to fetch the section
|
| 612 |
$section = $this->manager->get_section( $section_id );
|
| 616 |
return $section;
|
| 617 |
}
|
| 618 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 619 |
/**
|
| 620 |
* Filter the Section arguments, so that developers can filter arguments based on $section_id
|
| 621 |
*
|
common/src/Tribe/Data.php
CHANGED
|
@@ -65,7 +65,7 @@ class Tribe__Data implements ArrayAccess, Iterator {
|
|
| 65 |
* </p>
|
| 66 |
* <p>
|
| 67 |
* The return value will be casted to boolean if non-boolean was returned.
|
| 68 |
-
* @since
|
| 69 |
*/
|
| 70 |
public function offsetExists( $offset ) {
|
| 71 |
return isset( $this->data[ $offset ] );
|
|
@@ -79,7 +79,7 @@ class Tribe__Data implements ArrayAccess, Iterator {
|
|
| 79 |
* The offset to retrieve.
|
| 80 |
* </p>
|
| 81 |
* @return mixed Can return all value types.
|
| 82 |
-
* @since
|
| 83 |
*/
|
| 84 |
public function offsetGet( $offset ) {
|
| 85 |
return isset( $this->data[ $offset ] )
|
|
@@ -98,7 +98,7 @@ class Tribe__Data implements ArrayAccess, Iterator {
|
|
| 98 |
* The value to set.
|
| 99 |
* </p>
|
| 100 |
* @return void
|
| 101 |
-
* @since
|
| 102 |
*/
|
| 103 |
public function offsetSet( $offset, $value ) {
|
| 104 |
$this->data[ $offset ] = $value;
|
|
@@ -112,7 +112,7 @@ class Tribe__Data implements ArrayAccess, Iterator {
|
|
| 112 |
* The offset to unset.
|
| 113 |
* </p>
|
| 114 |
* @return void
|
| 115 |
-
* @since
|
| 116 |
*/
|
| 117 |
public function offsetUnset( $offset ) {
|
| 118 |
unset( $this->data[ $offset ] );
|
|
@@ -159,7 +159,7 @@ class Tribe__Data implements ArrayAccess, Iterator {
|
|
| 159 |
*
|
| 160 |
* @link http://php.net/manual/en/iterator.current.php
|
| 161 |
* @return mixed Can return any type.
|
| 162 |
-
* @since
|
| 163 |
*/
|
| 164 |
public function current() {
|
| 165 |
$keys = array_keys( $this->data );
|
|
@@ -172,7 +172,7 @@ class Tribe__Data implements ArrayAccess, Iterator {
|
|
| 172 |
*
|
| 173 |
* @link http://php.net/manual/en/iterator.next.php
|
| 174 |
* @return void Any returned value is ignored.
|
| 175 |
-
* @since
|
| 176 |
*/
|
| 177 |
public function next() {
|
| 178 |
$keys = array_keys( $this->data );
|
|
@@ -189,7 +189,7 @@ class Tribe__Data implements ArrayAccess, Iterator {
|
|
| 189 |
*
|
| 190 |
* @link http://php.net/manual/en/iterator.key.php
|
| 191 |
* @return mixed scalar on success, or null on failure.
|
| 192 |
-
* @since
|
| 193 |
*/
|
| 194 |
public function key() {
|
| 195 |
$keys = array_keys( $this->data );
|
|
@@ -203,7 +203,7 @@ class Tribe__Data implements ArrayAccess, Iterator {
|
|
| 203 |
* @link http://php.net/manual/en/iterator.valid.php
|
| 204 |
* @return boolean The return value will be casted to boolean and then evaluated.
|
| 205 |
* Returns true on success or false on failure.
|
| 206 |
-
* @since
|
| 207 |
*/
|
| 208 |
public function valid() {
|
| 209 |
$keys = array_keys( $this->data );
|
|
@@ -216,7 +216,7 @@ class Tribe__Data implements ArrayAccess, Iterator {
|
|
| 216 |
*
|
| 217 |
* @link http://php.net/manual/en/iterator.rewind.php
|
| 218 |
* @return void Any returned value is ignored.
|
| 219 |
-
* @since
|
| 220 |
*/
|
| 221 |
public function rewind() {
|
| 222 |
$this->index = 0;
|
| 65 |
* </p>
|
| 66 |
* <p>
|
| 67 |
* The return value will be casted to boolean if non-boolean was returned.
|
| 68 |
+
* @since 4.11.0
|
| 69 |
*/
|
| 70 |
public function offsetExists( $offset ) {
|
| 71 |
return isset( $this->data[ $offset ] );
|
| 79 |
* The offset to retrieve.
|
| 80 |
* </p>
|
| 81 |
* @return mixed Can return all value types.
|
| 82 |
+
* @since 4.11.0
|
| 83 |
*/
|
| 84 |
public function offsetGet( $offset ) {
|
| 85 |
return isset( $this->data[ $offset ] )
|
| 98 |
* The value to set.
|
| 99 |
* </p>
|
| 100 |
* @return void
|
| 101 |
+
* @since 4.11.0
|
| 102 |
*/
|
| 103 |
public function offsetSet( $offset, $value ) {
|
| 104 |
$this->data[ $offset ] = $value;
|
| 112 |
* The offset to unset.
|
| 113 |
* </p>
|
| 114 |
* @return void
|
| 115 |
+
* @since 4.11.0
|
| 116 |
*/
|
| 117 |
public function offsetUnset( $offset ) {
|
| 118 |
unset( $this->data[ $offset ] );
|
| 159 |
*
|
| 160 |
* @link http://php.net/manual/en/iterator.current.php
|
| 161 |
* @return mixed Can return any type.
|
| 162 |
+
* @since 4.11.0
|
| 163 |
*/
|
| 164 |
public function current() {
|
| 165 |
$keys = array_keys( $this->data );
|
| 172 |
*
|
| 173 |
* @link http://php.net/manual/en/iterator.next.php
|
| 174 |
* @return void Any returned value is ignored.
|
| 175 |
+
* @since 4.11.0
|
| 176 |
*/
|
| 177 |
public function next() {
|
| 178 |
$keys = array_keys( $this->data );
|
| 189 |
*
|
| 190 |
* @link http://php.net/manual/en/iterator.key.php
|
| 191 |
* @return mixed scalar on success, or null on failure.
|
| 192 |
+
* @since 4.11.0
|
| 193 |
*/
|
| 194 |
public function key() {
|
| 195 |
$keys = array_keys( $this->data );
|
| 203 |
* @link http://php.net/manual/en/iterator.valid.php
|
| 204 |
* @return boolean The return value will be casted to boolean and then evaluated.
|
| 205 |
* Returns true on success or false on failure.
|
| 206 |
+
* @since 4.11.0
|
| 207 |
*/
|
| 208 |
public function valid() {
|
| 209 |
$keys = array_keys( $this->data );
|
| 216 |
*
|
| 217 |
* @link http://php.net/manual/en/iterator.rewind.php
|
| 218 |
* @return void Any returned value is ignored.
|
| 219 |
+
* @since 4.11.0
|
| 220 |
*/
|
| 221 |
public function rewind() {
|
| 222 |
$this->index = 0;
|
common/src/Tribe/Date_Utils.php
CHANGED
|
@@ -3,6 +3,9 @@
|
|
| 3 |
* Date utility functions used throughout TEC + Addons
|
| 4 |
*/
|
| 5 |
|
|
|
|
|
|
|
|
|
|
| 6 |
// Don't load directly
|
| 7 |
|
| 8 |
if ( ! defined( 'ABSPATH' ) ) {
|
|
@@ -46,7 +49,7 @@ if ( ! class_exists( 'Tribe__Date_Utils' ) ) {
|
|
| 46 |
$datepicker = self::datepicker_formats( $datepicker );
|
| 47 |
}
|
| 48 |
|
| 49 |
-
$default_datepicker = self::datepicker_formats(
|
| 50 |
|
| 51 |
// If the current datepicker is the default we don't care
|
| 52 |
if ( $datepicker === $default_datepicker ) {
|
|
@@ -96,7 +99,7 @@ if ( ! class_exists( 'Tribe__Date_Utils' ) ) {
|
|
| 96 |
return $formats;
|
| 97 |
}
|
| 98 |
|
| 99 |
-
return isset( $formats[ $translate ] ) ? $formats[ $translate ] : $formats[
|
| 100 |
}
|
| 101 |
|
| 102 |
/**
|
|
@@ -1219,13 +1222,13 @@ if ( ! class_exists( 'Tribe__Date_Utils' ) ) {
|
|
| 1219 |
return clone $datetime;
|
| 1220 |
}
|
| 1221 |
|
| 1222 |
-
if ( class_exists('DateTimeImmutable') && $datetime instanceof DateTimeImmutable ) {
|
| 1223 |
// Return the mutable version of the date.
|
| 1224 |
-
return
|
| 1225 |
}
|
| 1226 |
|
| 1227 |
$timezone_object = null;
|
| 1228 |
-
$datetime = empty($datetime) ? 'now' : $datetime;
|
| 1229 |
|
| 1230 |
try {
|
| 1231 |
// PHP 5.2 will not throw an exception but will generate an error.
|
|
@@ -1233,23 +1236,24 @@ if ( ! class_exists( 'Tribe__Date_Utils' ) ) {
|
|
| 1233 |
$timezone_object = Tribe__Timezones::build_timezone_object( $timezone );
|
| 1234 |
|
| 1235 |
if ( self::is_timestamp( $datetime ) ) {
|
| 1236 |
-
|
| 1237 |
-
$date = new DateTime( '@' . $datetime, $utc );
|
| 1238 |
|
| 1239 |
-
|
| 1240 |
-
return $timezone ? $date->setTimezone( $timezone_object ) : $date;
|
| 1241 |
}
|
| 1242 |
|
| 1243 |
set_error_handler( 'tribe_catch_and_throw' );
|
| 1244 |
-
$date = new
|
| 1245 |
restore_error_handler();
|
| 1246 |
} catch ( Exception $e ) {
|
|
|
|
|
|
|
|
|
|
| 1247 |
if ( $timezone_object === null ) {
|
| 1248 |
$timezone_object = Tribe__Timezones::build_timezone_object( $timezone );
|
| 1249 |
}
|
| 1250 |
|
| 1251 |
return $with_fallback
|
| 1252 |
-
? new
|
| 1253 |
: false;
|
| 1254 |
}
|
| 1255 |
|
|
@@ -1267,7 +1271,19 @@ if ( ! class_exists( 'Tribe__Date_Utils' ) ) {
|
|
| 1267 |
* like `strtotime`, or not.
|
| 1268 |
*/
|
| 1269 |
public static function is_valid_date( $date ) {
|
| 1270 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1271 |
}
|
| 1272 |
|
| 1273 |
/**
|
|
@@ -1285,15 +1301,28 @@ if ( ! class_exists( 'Tribe__Date_Utils' ) ) {
|
|
| 1285 |
* `23:59:59`.
|
| 1286 |
*/
|
| 1287 |
public static function get_week_start_end( $date, $start_of_week = null ) {
|
| 1288 |
-
$
|
| 1289 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1290 |
// `0` (for Sunday) through `6` (for Saturday), the way WP handles the `start_of_week` option.
|
| 1291 |
$week_start_day = null !== $start_of_week
|
| 1292 |
? (int) $start_of_week
|
| 1293 |
: (int) get_option( 'start_of_week', 0 );
|
| 1294 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1295 |
$cache_key = md5(
|
| 1296 |
-
__METHOD__ . serialize( [ $
|
| 1297 |
);
|
| 1298 |
$cache = tribe( 'cache' );
|
| 1299 |
|
|
@@ -1302,10 +1331,20 @@ if ( ! class_exists( 'Tribe__Date_Utils' ) ) {
|
|
| 1302 |
}
|
| 1303 |
|
| 1304 |
// `0` (for Sunday) through `6` (for Saturday), the way WP handles the `start_of_week` option.
|
| 1305 |
-
$date_day = (int) $
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1306 |
|
| 1307 |
-
|
| 1308 |
-
$week_offset = $date_day < $week_start_day ? - 1 : 0;
|
| 1309 |
|
| 1310 |
/*
|
| 1311 |
* From the PHP docs, the `W` format stands for:
|
|
@@ -1325,7 +1364,10 @@ if ( ! class_exists( 'Tribe__Date_Utils' ) ) {
|
|
| 1325 |
$week_start = static::immutable( $week_start );
|
| 1326 |
$week_end = static::immutable( $week_end );
|
| 1327 |
|
| 1328 |
-
$cache[ $cache_key ]
|
|
|
|
|
|
|
|
|
|
| 1329 |
|
| 1330 |
return [ $week_start, $week_end ];
|
| 1331 |
}
|
|
@@ -1375,7 +1417,7 @@ if ( ! class_exists( 'Tribe__Date_Utils' ) ) {
|
|
| 1375 |
}
|
| 1376 |
|
| 1377 |
if ( $datetime instanceof DateTime ) {
|
| 1378 |
-
return
|
| 1379 |
}
|
| 1380 |
|
| 1381 |
$mutable = static::build_date_object( $datetime, $timezone, $with_fallback );
|
|
@@ -1384,14 +1426,14 @@ if ( ! class_exists( 'Tribe__Date_Utils' ) ) {
|
|
| 1384 |
return false;
|
| 1385 |
}
|
| 1386 |
|
| 1387 |
-
$cache_key = md5( ( __METHOD__ . $mutable->getTimestamp() ) );
|
| 1388 |
$cache = tribe( 'cache' );
|
| 1389 |
|
| 1390 |
if ( false !== $cached = $cache[ $cache_key ] ) {
|
| 1391 |
return $cached;
|
| 1392 |
}
|
| 1393 |
|
| 1394 |
-
$immutable =
|
| 1395 |
|
| 1396 |
$cache[ $cache_key ] = $immutable;
|
| 1397 |
|
| 3 |
* Date utility functions used throughout TEC + Addons
|
| 4 |
*/
|
| 5 |
|
| 6 |
+
use Tribe\Utils\Date_I18n;
|
| 7 |
+
use Tribe\Utils\Date_I18n_Immutable;
|
| 8 |
+
|
| 9 |
// Don't load directly
|
| 10 |
|
| 11 |
if ( ! defined( 'ABSPATH' ) ) {
|
| 49 |
$datepicker = self::datepicker_formats( $datepicker );
|
| 50 |
}
|
| 51 |
|
| 52 |
+
$default_datepicker = self::datepicker_formats( 1 );
|
| 53 |
|
| 54 |
// If the current datepicker is the default we don't care
|
| 55 |
if ( $datepicker === $default_datepicker ) {
|
| 99 |
return $formats;
|
| 100 |
}
|
| 101 |
|
| 102 |
+
return isset( $formats[ $translate ] ) ? $formats[ $translate ] : $formats[1];
|
| 103 |
}
|
| 104 |
|
| 105 |
/**
|
| 1222 |
return clone $datetime;
|
| 1223 |
}
|
| 1224 |
|
| 1225 |
+
if ( class_exists( 'DateTimeImmutable' ) && $datetime instanceof DateTimeImmutable ) {
|
| 1226 |
// Return the mutable version of the date.
|
| 1227 |
+
return Date_I18n::createFromImmutable( $datetime );
|
| 1228 |
}
|
| 1229 |
|
| 1230 |
$timezone_object = null;
|
| 1231 |
+
$datetime = empty( $datetime ) ? 'now' : $datetime;
|
| 1232 |
|
| 1233 |
try {
|
| 1234 |
// PHP 5.2 will not throw an exception but will generate an error.
|
| 1236 |
$timezone_object = Tribe__Timezones::build_timezone_object( $timezone );
|
| 1237 |
|
| 1238 |
if ( self::is_timestamp( $datetime ) ) {
|
| 1239 |
+
$timestamp_timezone = $timezone ? $timezone_object : $utc;
|
|
|
|
| 1240 |
|
| 1241 |
+
return new Date_I18n( '@' . $datetime, $timestamp_timezone );
|
|
|
|
| 1242 |
}
|
| 1243 |
|
| 1244 |
set_error_handler( 'tribe_catch_and_throw' );
|
| 1245 |
+
$date = new Date_I18n( $datetime, $timezone_object );
|
| 1246 |
restore_error_handler();
|
| 1247 |
} catch ( Exception $e ) {
|
| 1248 |
+
// If we encounter an error, we need to restore after catching.
|
| 1249 |
+
restore_error_handler();
|
| 1250 |
+
|
| 1251 |
if ( $timezone_object === null ) {
|
| 1252 |
$timezone_object = Tribe__Timezones::build_timezone_object( $timezone );
|
| 1253 |
}
|
| 1254 |
|
| 1255 |
return $with_fallback
|
| 1256 |
+
? new Date_I18n( 'now', $timezone_object )
|
| 1257 |
: false;
|
| 1258 |
}
|
| 1259 |
|
| 1271 |
* like `strtotime`, or not.
|
| 1272 |
*/
|
| 1273 |
public static function is_valid_date( $date ) {
|
| 1274 |
+
static $cache_var_name = __FUNCTION__;
|
| 1275 |
+
|
| 1276 |
+
$cache_date_check = tribe_get_var( $cache_var_name, [] );
|
| 1277 |
+
|
| 1278 |
+
if ( isset( $cache_date_check[ $date ] ) ) {
|
| 1279 |
+
return $cache_date_check[ $date ];
|
| 1280 |
+
}
|
| 1281 |
+
|
| 1282 |
+
$cache_date_check[ $date ] = self::build_date_object( $date, null, false ) instanceof DateTimeInterface;
|
| 1283 |
+
|
| 1284 |
+
tribe_set_var( $cache_var_name, $cache_date_check );
|
| 1285 |
+
|
| 1286 |
+
return $cache_date_check[ $date ];
|
| 1287 |
}
|
| 1288 |
|
| 1289 |
/**
|
| 1301 |
* `23:59:59`.
|
| 1302 |
*/
|
| 1303 |
public static function get_week_start_end( $date, $start_of_week = null ) {
|
| 1304 |
+
static $cache_var_name = __FUNCTION__;
|
| 1305 |
+
|
| 1306 |
+
$cache_week_start_end = tribe_get_var( $cache_var_name, [] );
|
| 1307 |
+
|
| 1308 |
+
$date_obj = static::build_date_object( $date );
|
| 1309 |
+
$date_obj->setTime( 0, 0, 0 );
|
| 1310 |
+
|
| 1311 |
+
$date_string = $date_obj->format( static::DBDATEFORMAT );
|
| 1312 |
+
|
| 1313 |
// `0` (for Sunday) through `6` (for Saturday), the way WP handles the `start_of_week` option.
|
| 1314 |
$week_start_day = null !== $start_of_week
|
| 1315 |
? (int) $start_of_week
|
| 1316 |
: (int) get_option( 'start_of_week', 0 );
|
| 1317 |
|
| 1318 |
+
$memory_cache_key = "{$date_string}:{$week_start_day}";
|
| 1319 |
+
|
| 1320 |
+
if ( isset( $cache_week_start_end[ $memory_cache_key ] ) ) {
|
| 1321 |
+
return $cache_week_start_end[ $memory_cache_key ];
|
| 1322 |
+
}
|
| 1323 |
+
|
| 1324 |
$cache_key = md5(
|
| 1325 |
+
__METHOD__ . serialize( [ $date_obj->format( static::DBDATEFORMAT ), $week_start_day ] )
|
| 1326 |
);
|
| 1327 |
$cache = tribe( 'cache' );
|
| 1328 |
|
| 1331 |
}
|
| 1332 |
|
| 1333 |
// `0` (for Sunday) through `6` (for Saturday), the way WP handles the `start_of_week` option.
|
| 1334 |
+
$date_day = (int) $date_obj->format( 'w' );
|
| 1335 |
+
|
| 1336 |
+
$week_offset = 0;
|
| 1337 |
+
if ( 0 === $date_day && 0 !== $week_start_day ) {
|
| 1338 |
+
$week_offset = 0;
|
| 1339 |
+
} elseif ( $date_day < $week_start_day ) {
|
| 1340 |
+
// If the current date of the week is before the start of the week, move back a week.
|
| 1341 |
+
$week_offset = -1;
|
| 1342 |
+
} elseif ( 0 === $date_day ) {
|
| 1343 |
+
// When start of the week is on a sunday we add a week.
|
| 1344 |
+
$week_offset = 1;
|
| 1345 |
+
}
|
| 1346 |
|
| 1347 |
+
$week_start = clone $date_obj;
|
|
|
|
| 1348 |
|
| 1349 |
/*
|
| 1350 |
* From the PHP docs, the `W` format stands for:
|
| 1364 |
$week_start = static::immutable( $week_start );
|
| 1365 |
$week_end = static::immutable( $week_end );
|
| 1366 |
|
| 1367 |
+
$cache[ $cache_key ] = [ $week_start, $week_end ];
|
| 1368 |
+
$cache_week_start_end[ $memory_cache_key ] = [ $week_start, $week_end ];
|
| 1369 |
+
|
| 1370 |
+
tribe_set_var( $cache_var_name, $cache_week_start_end );
|
| 1371 |
|
| 1372 |
return [ $week_start, $week_end ];
|
| 1373 |
}
|
| 1417 |
}
|
| 1418 |
|
| 1419 |
if ( $datetime instanceof DateTime ) {
|
| 1420 |
+
return Date_I18n_Immutable::createFromMutable( $datetime );
|
| 1421 |
}
|
| 1422 |
|
| 1423 |
$mutable = static::build_date_object( $datetime, $timezone, $with_fallback );
|
| 1426 |
return false;
|
| 1427 |
}
|
| 1428 |
|
| 1429 |
+
$cache_key = md5( ( __METHOD__ . $mutable->getTimezone()->getName() . $mutable->getTimestamp() ) );
|
| 1430 |
$cache = tribe( 'cache' );
|
| 1431 |
|
| 1432 |
if ( false !== $cached = $cache[ $cache_key ] ) {
|
| 1433 |
return $cached;
|
| 1434 |
}
|
| 1435 |
|
| 1436 |
+
$immutable = Date_I18n_Immutable::createFromMutable( $mutable );
|
| 1437 |
|
| 1438 |
$cache[ $cache_key ] = $immutable;
|
| 1439 |
|
common/src/Tribe/Main.php
CHANGED
|
@@ -17,7 +17,7 @@ class Tribe__Main {
|
|
| 17 |
const OPTIONNAME = 'tribe_events_calendar_options';
|
| 18 |
const OPTIONNAMENETWORK = 'tribe_events_calendar_network_options';
|
| 19 |
|
| 20 |
-
const VERSION = '4.
|
| 21 |
|
| 22 |
const FEED_URL = 'https://theeventscalendar.com/feed/';
|
| 23 |
|
|
@@ -559,7 +559,7 @@ class Tribe__Main {
|
|
| 559 |
tribe_singleton( 'admin.helpers', 'Tribe__Admin__Helpers' );
|
| 560 |
tribe_singleton( 'tracker', 'Tribe__Tracker', array( 'hook' ) );
|
| 561 |
tribe_singleton( 'chunker', 'Tribe__Meta__Chunker', array( 'set_post_types', 'hook' ) );
|
| 562 |
-
tribe_singleton( 'cache', 'Tribe__Cache' );
|
| 563 |
tribe_singleton( 'languages.locations', 'Tribe__Languages__Locations' );
|
| 564 |
tribe_singleton( 'plugins.api', new Tribe__Plugins_API );
|
| 565 |
tribe_singleton( 'logger', 'Tribe__Log' );
|
| 17 |
const OPTIONNAME = 'tribe_events_calendar_options';
|
| 18 |
const OPTIONNAMENETWORK = 'tribe_events_calendar_network_options';
|
| 19 |
|
| 20 |
+
const VERSION = '4.11.0';
|
| 21 |
|
| 22 |
const FEED_URL = 'https://theeventscalendar.com/feed/';
|
| 23 |
|
| 559 |
tribe_singleton( 'admin.helpers', 'Tribe__Admin__Helpers' );
|
| 560 |
tribe_singleton( 'tracker', 'Tribe__Tracker', array( 'hook' ) );
|
| 561 |
tribe_singleton( 'chunker', 'Tribe__Meta__Chunker', array( 'set_post_types', 'hook' ) );
|
| 562 |
+
tribe_singleton( 'cache', 'Tribe__Cache', [ 'hook' ] );
|
| 563 |
tribe_singleton( 'languages.locations', 'Tribe__Languages__Locations' );
|
| 564 |
tribe_singleton( 'plugins.api', new Tribe__Plugins_API );
|
| 565 |
tribe_singleton( 'logger', 'Tribe__Log' );
|
common/src/Tribe/Post_Transient.php
CHANGED
|
@@ -29,6 +29,7 @@ class Tribe__Post_Transient {
|
|
| 29 |
* @param int $post_id The Post ID, can also be a WP_Post
|
| 30 |
* @param string $transient Post Meta to Fetch
|
| 31 |
*
|
|
|
|
| 32 |
*/
|
| 33 |
public function get( $post_id, $transient ) {
|
| 34 |
global $_wp_using_ext_object_cache;
|
|
@@ -97,10 +98,11 @@ class Tribe__Post_Transient {
|
|
| 97 |
*
|
| 98 |
* @since 4.1
|
| 99 |
*
|
| 100 |
-
* @param int $post_id The Post ID, can also be a WP_Post
|
| 101 |
-
* @param string $transient Post Meta to Delete
|
| 102 |
-
* @param string $value Only delete if the value Matches
|
| 103 |
*
|
|
|
|
| 104 |
*/
|
| 105 |
public function delete( $post_id, $transient, $value = null ) {
|
| 106 |
global $_wp_using_ext_object_cache;
|
|
@@ -149,15 +151,16 @@ class Tribe__Post_Transient {
|
|
| 149 |
}
|
| 150 |
|
| 151 |
/**
|
| 152 |
-
* Sets a new value for the Transient
|
| 153 |
*
|
| 154 |
* @since 4.1
|
| 155 |
*
|
| 156 |
-
* @param int $post_id The Post ID, can also be a WP_Post
|
| 157 |
-
* @param string $transient Post Meta to set
|
| 158 |
-
* @param string $value Only delete if the value Matches
|
| 159 |
-
* @param int $expiration How long this transient will be valid, in seconds
|
| 160 |
*
|
|
|
|
| 161 |
*/
|
| 162 |
public function set( $post_id, $transient, $value, $expiration = 0 ) {
|
| 163 |
global $_wp_using_ext_object_cache;
|
|
@@ -208,6 +211,4 @@ class Tribe__Post_Transient {
|
|
| 208 |
|
| 209 |
return $result;
|
| 210 |
}
|
| 211 |
-
|
| 212 |
-
|
| 213 |
}
|
| 29 |
* @param int $post_id The Post ID, can also be a WP_Post
|
| 30 |
* @param string $transient Post Meta to Fetch
|
| 31 |
*
|
| 32 |
+
* @return mixed Value stored on the Post Transient.
|
| 33 |
*/
|
| 34 |
public function get( $post_id, $transient ) {
|
| 35 |
global $_wp_using_ext_object_cache;
|
| 98 |
*
|
| 99 |
* @since 4.1
|
| 100 |
*
|
| 101 |
+
* @param int $post_id The Post ID, can also be a WP_Post.
|
| 102 |
+
* @param string $transient Post Meta to Delete.
|
| 103 |
+
* @param string $value Only delete if the value Matches.
|
| 104 |
*
|
| 105 |
+
* @return boolean If we were able to delete the transient.
|
| 106 |
*/
|
| 107 |
public function delete( $post_id, $transient, $value = null ) {
|
| 108 |
global $_wp_using_ext_object_cache;
|
| 151 |
}
|
| 152 |
|
| 153 |
/**
|
| 154 |
+
* Sets a new value for the Transient.
|
| 155 |
*
|
| 156 |
* @since 4.1
|
| 157 |
*
|
| 158 |
+
* @param int $post_id The Post ID, can also be a WP_Post.
|
| 159 |
+
* @param string $transient Post Meta to set.
|
| 160 |
+
* @param string $value Only delete if the value Matches.
|
| 161 |
+
* @param int $expiration How long this transient will be valid, in seconds.
|
| 162 |
*
|
| 163 |
+
* @return int|false Meta ID on success, false on failure.
|
| 164 |
*/
|
| 165 |
public function set( $post_id, $transient, $value, $expiration = 0 ) {
|
| 166 |
global $_wp_using_ext_object_cache;
|
| 211 |
|
| 212 |
return $result;
|
| 213 |
}
|
|
|
|
|
|
|
| 214 |
}
|
common/src/Tribe/Repository.php
CHANGED
|
@@ -5,6 +5,8 @@ use Tribe__Utils__Array as Arr;
|
|
| 5 |
abstract class Tribe__Repository
|
| 6 |
implements Tribe__Repository__Interface {
|
| 7 |
|
|
|
|
|
|
|
| 8 |
/**
|
| 9 |
* @var array An array of keys that cannot be updated on this repository.
|
| 10 |
*/
|
|
@@ -3167,20 +3169,38 @@ abstract class Tribe__Repository
|
|
| 3167 |
*/
|
| 3168 |
$query_args = apply_filters( "tribe_repository_{$this->filter_name}_query_args", $query_args, $query, $this );
|
| 3169 |
|
| 3170 |
-
|
| 3171 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3172 |
$per_page = (int) Tribe__Utils__Array::get( $query_args, 'posts_per_page', get_option( 'posts_per_page' ) );
|
| 3173 |
-
$page = (int) Tribe__Utils__Array::get( $query_args, 'paged', 1 );
|
| 3174 |
|
| 3175 |
-
|
| 3176 |
-
|
| 3177 |
-
$query_args['
|
|
|
|
|
|
|
| 3178 |
|
| 3179 |
-
|
| 3180 |
-
|
| 3181 |
-
|
| 3182 |
-
|
| 3183 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3184 |
}
|
| 3185 |
|
| 3186 |
foreach ( $query_args as $key => $value ) {
|
| 5 |
abstract class Tribe__Repository
|
| 6 |
implements Tribe__Repository__Interface {
|
| 7 |
|
| 8 |
+
const MAX_NUMBER_OF_POSTS_PER_PAGE = 99999999999;
|
| 9 |
+
|
| 10 |
/**
|
| 11 |
* @var array An array of keys that cannot be updated on this repository.
|
| 12 |
*/
|
| 3169 |
*/
|
| 3170 |
$query_args = apply_filters( "tribe_repository_{$this->filter_name}_query_args", $query_args, $query, $this );
|
| 3171 |
|
| 3172 |
+
/**
|
| 3173 |
+
* Provides a last-ditch effort to override the filtered offset.
|
| 3174 |
+
*
|
| 3175 |
+
* This should only be used if doing creating pagination for performance purposes.
|
| 3176 |
+
*
|
| 3177 |
+
* @since 4.11.0
|
| 3178 |
+
*
|
| 3179 |
+
* @param null|int $filtered_offset Offset parameter setting.
|
| 3180 |
+
* @param array $query_args List of query arguments.
|
| 3181 |
+
*/
|
| 3182 |
+
$filtered_offset = apply_filters( 'tribe_repository_query_arg_offset_override', null, $query_args );
|
| 3183 |
+
|
| 3184 |
+
if ( $filtered_offset || isset( $query_args['offset'] ) ) {
|
| 3185 |
$per_page = (int) Tribe__Utils__Array::get( $query_args, 'posts_per_page', get_option( 'posts_per_page' ) );
|
|
|
|
| 3186 |
|
| 3187 |
+
if ( $filtered_offset ) {
|
| 3188 |
+
$query_args['offset'] = $filtered_offset;
|
| 3189 |
+
} elseif ( isset( $query_args['offset'] ) ) {
|
| 3190 |
+
$offset = absint( $query_args['offset'] );
|
| 3191 |
+
$page = (int) Tribe__Utils__Array::get( $query_args, 'paged', 1 );
|
| 3192 |
|
| 3193 |
+
$real_offset = $per_page === -1 ? $offset : ( $per_page * ( $page - 1 ) ) + $offset;
|
| 3194 |
+
$query_args['offset'] = $real_offset;
|
| 3195 |
+
|
| 3196 |
+
/**
|
| 3197 |
+
* Unset the `offset` query argument to avoid applying it multiple times when this method
|
| 3198 |
+
* is used, on the same repository, more than once.
|
| 3199 |
+
*/
|
| 3200 |
+
unset( $this->query_args['offset'] );
|
| 3201 |
+
}
|
| 3202 |
+
|
| 3203 |
+
$query_args['posts_per_page'] = $per_page === -1 ? self::MAX_NUMBER_OF_POSTS_PER_PAGE : $per_page;
|
| 3204 |
}
|
| 3205 |
|
| 3206 |
foreach ( $query_args as $key => $value ) {
|
common/src/Tribe/Rewrite.php
CHANGED
|
@@ -407,8 +407,8 @@ class Tribe__Rewrite {
|
|
| 407 |
$query = (string) parse_url( $url, PHP_URL_QUERY );
|
| 408 |
wp_parse_str( $query, $query_vars );
|
| 409 |
|
| 410 |
-
// Remove the `paged` query var if it's 1.
|
| 411 |
if ( isset( $query_vars['paged'] ) && 1 === (int) $query_vars['paged'] ) {
|
|
|
|
| 412 |
unset( $query_vars['paged'] );
|
| 413 |
}
|
| 414 |
|
|
@@ -416,10 +416,16 @@ class Tribe__Rewrite {
|
|
| 416 |
|
| 417 |
$our_rules = $this->get_handled_rewrite_rules();
|
| 418 |
$handled_query_vars = $this->get_rules_query_vars( $our_rules );
|
|
|
|
| 419 |
|
| 420 |
if (
|
|
|
|
| 421 |
empty( $our_rules )
|
| 422 |
-
|| !
|
|
|
|
|
|
|
|
|
|
|
|
|
| 423 |
) {
|
| 424 |
$wp_canonical = redirect_canonical( $canonical_url, false );
|
| 425 |
if ( empty( $wp_canonical ) ) {
|
|
@@ -550,20 +556,29 @@ class Tribe__Rewrite {
|
|
| 550 |
* @return array An array of rewrite rules handled by the implementation in the shape `[ <regex> => <path> ]`.
|
| 551 |
*/
|
| 552 |
protected function get_handled_rewrite_rules() {
|
|
|
|
|
|
|
|
|
|
|
|
|
| 553 |
// We need to make sure we are have WP_Rewrite setup
|
| 554 |
if ( ! $this->rewrite ) {
|
| 555 |
$this->setup();
|
| 556 |
}
|
| 557 |
|
| 558 |
-
|
| 559 |
-
|
| 560 |
-
|
| 561 |
-
|
| 562 |
-
|
| 563 |
-
|
| 564 |
-
|
| 565 |
-
|
| 566 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 567 |
|
| 568 |
/**
|
| 569 |
* Filters the list of rewrite rules handled by our code to add or remove some as required.
|
|
@@ -573,8 +588,11 @@ class Tribe__Rewrite {
|
|
| 573 |
* @param array $our_rules An array of rewrite rules handled by our code, in the shape
|
| 574 |
* `[ <rewrite_rule_regex_pattern> => <query_string> ]`.
|
| 575 |
* E.g. `[ '(?:events)/(?:list)/?$' => 'index.php?post_type=tribe_events&eventDisplay=list' ]`.
|
|
|
|
|
|
|
|
|
|
| 576 |
*/
|
| 577 |
-
$our_rules = apply_filters( 'tribe_rewrite_handled_rewrite_rules', $our_rules );
|
| 578 |
|
| 579 |
return $our_rules;
|
| 580 |
}
|
|
@@ -587,11 +605,18 @@ class Tribe__Rewrite {
|
|
| 587 |
* @return array A map of localized regex matchers in the shape `[ <localized_regex> => <query_var> ]`.
|
| 588 |
*/
|
| 589 |
protected function get_localized_matchers() {
|
|
|
|
|
|
|
| 590 |
$bases = (array) $this->get_bases();
|
| 591 |
$query_var_map = $this->get_matcher_to_query_var_map();
|
| 592 |
|
| 593 |
-
$localized_matchers = [];
|
|
|
|
| 594 |
foreach ( $bases as $base => $localized_matcher ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
| 595 |
if ( isset( $query_var_map[ $base ] ) ) {
|
| 596 |
$localized_matchers[ $localized_matcher ] = [
|
| 597 |
'query_var' => $query_var_map[ $base ],
|
|
@@ -616,11 +641,13 @@ class Tribe__Rewrite {
|
|
| 616 |
}
|
| 617 |
}
|
| 618 |
|
|
|
|
|
|
|
| 619 |
return $localized_matchers;
|
| 620 |
}
|
| 621 |
|
| 622 |
/**
|
| 623 |
-
* Returns a map relating
|
| 624 |
*
|
| 625 |
* @since 4.9.11
|
| 626 |
*
|
|
@@ -642,13 +669,33 @@ class Tribe__Rewrite {
|
|
| 642 |
* @return array A list of all the query vars handled in the rules.
|
| 643 |
*/
|
| 644 |
protected function get_rules_query_vars( array $rules ) {
|
| 645 |
-
|
| 646 |
-
|
| 647 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 648 |
|
| 649 |
-
|
| 650 |
-
|
| 651 |
-
|
|
|
|
| 652 |
}
|
| 653 |
|
| 654 |
/**
|
|
@@ -713,6 +760,8 @@ class Tribe__Rewrite {
|
|
| 713 |
* Returns a list of post types supported by the implementation.
|
| 714 |
*
|
| 715 |
* @since 4.9.11
|
|
|
|
|
|
|
| 716 |
*/
|
| 717 |
protected function get_post_types() {
|
| 718 |
throw new BadMethodCallException( 'Method get_post_types should be implemented by extending classes.' );
|
|
@@ -975,7 +1024,7 @@ class Tribe__Rewrite {
|
|
| 975 |
return home_url();
|
| 976 |
}
|
| 977 |
|
| 978 |
-
$clean = $this->get_canonical_url( add_query_arg( $parsed_vars, home_url() ), $force );
|
| 979 |
|
| 980 |
$this->clean_url_cache[ $url ] = $clean;
|
| 981 |
|
| 407 |
$query = (string) parse_url( $url, PHP_URL_QUERY );
|
| 408 |
wp_parse_str( $query, $query_vars );
|
| 409 |
|
|
|
|
| 410 |
if ( isset( $query_vars['paged'] ) && 1 === (int) $query_vars['paged'] ) {
|
| 411 |
+
// Remove the `paged` query var if it's 1.
|
| 412 |
unset( $query_vars['paged'] );
|
| 413 |
}
|
| 414 |
|
| 416 |
|
| 417 |
$our_rules = $this->get_handled_rewrite_rules();
|
| 418 |
$handled_query_vars = $this->get_rules_query_vars( $our_rules );
|
| 419 |
+
$handled_post_types = $this->get_post_types();
|
| 420 |
|
| 421 |
if (
|
| 422 |
+
// The rules we handle should not be empty.
|
| 423 |
empty( $our_rules )
|
| 424 |
+
|| ! (
|
| 425 |
+
// Supported post types should be either keys or values, of the `post_type` argument, in the query vars.
|
| 426 |
+
count( array_intersect_key( array_flip( $handled_post_types ), $query_vars ) )
|
| 427 |
+
|| in_array( Arr::get( $query_vars, 'post_type', 'post' ), $handled_post_types, true )
|
| 428 |
+
)
|
| 429 |
) {
|
| 430 |
$wp_canonical = redirect_canonical( $canonical_url, false );
|
| 431 |
if ( empty( $wp_canonical ) ) {
|
| 556 |
* @return array An array of rewrite rules handled by the implementation in the shape `[ <regex> => <path> ]`.
|
| 557 |
*/
|
| 558 |
protected function get_handled_rewrite_rules() {
|
| 559 |
+
static $cache_var_name = __METHOD__;
|
| 560 |
+
|
| 561 |
+
$our_rules = tribe_get_var( $cache_var_name, null );
|
| 562 |
+
|
| 563 |
// We need to make sure we are have WP_Rewrite setup
|
| 564 |
if ( ! $this->rewrite ) {
|
| 565 |
$this->setup();
|
| 566 |
}
|
| 567 |
|
| 568 |
+
$all_rules = isset( $this->rewrite->rules ) ? (array) $this->rewrite->rules : [];
|
| 569 |
+
|
| 570 |
+
if ( null === $our_rules ) {
|
| 571 |
+
// While this is specific to The Events Calendar we're handling a small enough post type base to keep it here.
|
| 572 |
+
$pattern = '/post_type=tribe_(events|venue|organizer)/';
|
| 573 |
+
// Reverse the rules to try and match the most complex first.
|
| 574 |
+
$our_rules = array_filter( $all_rules,
|
| 575 |
+
static function ( $rule_query_string ) use ( $pattern ) {
|
| 576 |
+
return preg_match( $pattern, $rule_query_string );
|
| 577 |
+
}
|
| 578 |
+
);
|
| 579 |
+
|
| 580 |
+
tribe_set_var( $cache_var_name, $our_rules );
|
| 581 |
+
}
|
| 582 |
|
| 583 |
/**
|
| 584 |
* Filters the list of rewrite rules handled by our code to add or remove some as required.
|
| 588 |
* @param array $our_rules An array of rewrite rules handled by our code, in the shape
|
| 589 |
* `[ <rewrite_rule_regex_pattern> => <query_string> ]`.
|
| 590 |
* E.g. `[ '(?:events)/(?:list)/?$' => 'index.php?post_type=tribe_events&eventDisplay=list' ]`.
|
| 591 |
+
* @param array<string,string> All the current rewrite rules, before any filtering is applied; these have the
|
| 592 |
+
* same `<pattern => rewrite >` format as the previous argument, which is the
|
| 593 |
+
* format used by WordPress rewrite rules.
|
| 594 |
*/
|
| 595 |
+
$our_rules = apply_filters( 'tribe_rewrite_handled_rewrite_rules', $our_rules, $all_rules );
|
| 596 |
|
| 597 |
return $our_rules;
|
| 598 |
}
|
| 605 |
* @return array A map of localized regex matchers in the shape `[ <localized_regex> => <query_var> ]`.
|
| 606 |
*/
|
| 607 |
protected function get_localized_matchers() {
|
| 608 |
+
static $cache_var_name = __METHOD__;
|
| 609 |
+
|
| 610 |
$bases = (array) $this->get_bases();
|
| 611 |
$query_var_map = $this->get_matcher_to_query_var_map();
|
| 612 |
|
| 613 |
+
$localized_matchers = tribe_get_var( $cache_var_name, [] );
|
| 614 |
+
|
| 615 |
foreach ( $bases as $base => $localized_matcher ) {
|
| 616 |
+
if ( isset( $localized_matchers[ $localized_matcher ] ) ) {
|
| 617 |
+
continue;
|
| 618 |
+
}
|
| 619 |
+
|
| 620 |
if ( isset( $query_var_map[ $base ] ) ) {
|
| 621 |
$localized_matchers[ $localized_matcher ] = [
|
| 622 |
'query_var' => $query_var_map[ $base ],
|
| 641 |
}
|
| 642 |
}
|
| 643 |
|
| 644 |
+
tribe_set_var( $cache_var_name, $localized_matchers );
|
| 645 |
+
|
| 646 |
return $localized_matchers;
|
| 647 |
}
|
| 648 |
|
| 649 |
/**
|
| 650 |
+
* Returns a map relating localized matcher slugs to the corresponding query var.
|
| 651 |
*
|
| 652 |
* @since 4.9.11
|
| 653 |
*
|
| 669 |
* @return array A list of all the query vars handled in the rules.
|
| 670 |
*/
|
| 671 |
protected function get_rules_query_vars( array $rules ) {
|
| 672 |
+
static $cache_var_name = __METHOD__;
|
| 673 |
+
|
| 674 |
+
$cached_rules = tribe_get_var( $cache_var_name, [] );
|
| 675 |
+
$cache_key = md5( json_encode( $rules ) );
|
| 676 |
+
|
| 677 |
+
if ( ! isset( $cached_rules[ $cache_key ] ) ) {
|
| 678 |
+
$cached_rules[ $cache_key ] = array_unique(
|
| 679 |
+
array_filter(
|
| 680 |
+
array_merge(
|
| 681 |
+
[],
|
| 682 |
+
...array_values(
|
| 683 |
+
array_map(
|
| 684 |
+
static function ( $rule_string ) {
|
| 685 |
+
wp_parse_str( parse_url( $rule_string, PHP_URL_QUERY ), $vars );
|
| 686 |
+
return array_keys( $vars );
|
| 687 |
+
},
|
| 688 |
+
$rules
|
| 689 |
+
)
|
| 690 |
+
)
|
| 691 |
+
)
|
| 692 |
+
)
|
| 693 |
+
);
|
| 694 |
|
| 695 |
+
tribe_set_var( $cache_var_name, $cached_rules );
|
| 696 |
+
}
|
| 697 |
+
|
| 698 |
+
return $cached_rules[ $cache_key ];
|
| 699 |
}
|
| 700 |
|
| 701 |
/**
|
| 760 |
* Returns a list of post types supported by the implementation.
|
| 761 |
*
|
| 762 |
* @since 4.9.11
|
| 763 |
+
*
|
| 764 |
+
* @return array<string> An array of post types supported and handled by the rewrite implementation.
|
| 765 |
*/
|
| 766 |
protected function get_post_types() {
|
| 767 |
throw new BadMethodCallException( 'Method get_post_types should be implemented by extending classes.' );
|
| 1024 |
return home_url();
|
| 1025 |
}
|
| 1026 |
|
| 1027 |
+
$clean = $this->get_canonical_url( add_query_arg( $parsed_vars, home_url( '/' ) ), $force );
|
| 1028 |
|
| 1029 |
$this->clean_url_cache[ $url ] = $clean;
|
| 1030 |
|
common/src/Tribe/Settings_Manager.php
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
<?php
|
| 2 |
-
|
| 3 |
class Tribe__Settings_Manager {
|
|
|
|
|
|
|
| 4 |
protected static $network_options;
|
| 5 |
public static $tribe_events_mu_defaults;
|
| 6 |
|
|
@@ -29,6 +30,28 @@ class Tribe__Settings_Manager {
|
|
| 29 |
add_action( 'tribe_settings_do_tabs', array( $this, 'do_setting_tabs' ) );
|
| 30 |
add_action( 'tribe_settings_do_tabs', array( $this, 'do_network_settings_tab' ), 400 );
|
| 31 |
add_action( 'tribe_settings_validate_tab_network', array( $this, 'save_all_tabs_hidden' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 32 |
}
|
| 33 |
|
| 34 |
/**
|
|
@@ -66,11 +89,14 @@ class Tribe__Settings_Manager {
|
|
| 66 |
* @return array of options
|
| 67 |
*/
|
| 68 |
public static function get_options() {
|
| 69 |
-
$options = (
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
$options =
|
| 73 |
-
|
|
|
|
|
|
|
|
|
|
| 74 |
return $options;
|
| 75 |
}
|
| 76 |
|
|
@@ -86,7 +112,7 @@ class Tribe__Settings_Manager {
|
|
| 86 |
if ( ! $option_name ) {
|
| 87 |
return null;
|
| 88 |
}
|
| 89 |
-
$options =
|
| 90 |
|
| 91 |
$option = $default;
|
| 92 |
if ( array_key_exists( $option_name, $options ) ) {
|
|
@@ -110,10 +136,16 @@ class Tribe__Settings_Manager {
|
|
| 110 |
if ( ! is_array( $options ) ) {
|
| 111 |
return false;
|
| 112 |
}
|
| 113 |
-
if ( $apply_filters
|
| 114 |
$options = apply_filters( 'tribe-events-save-options', $options );
|
| 115 |
}
|
| 116 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 117 |
}
|
| 118 |
|
| 119 |
/**
|
|
@@ -125,10 +157,10 @@ class Tribe__Settings_Manager {
|
|
| 125 |
* @return bool
|
| 126 |
*/
|
| 127 |
public static function set_option( $name, $value ) {
|
| 128 |
-
$newOption = array();
|
| 129 |
-
$newOption[ $name ] = $value;
|
| 130 |
$options = self::get_options();
|
| 131 |
-
|
|
|
|
|
|
|
| 132 |
}
|
| 133 |
|
| 134 |
/**
|
|
@@ -139,7 +171,7 @@ class Tribe__Settings_Manager {
|
|
| 139 |
*/
|
| 140 |
public static function get_network_options() {
|
| 141 |
if ( ! isset( self::$network_options ) ) {
|
| 142 |
-
$options
|
| 143 |
self::$network_options = apply_filters( 'tribe_get_network_options', $options );
|
| 144 |
}
|
| 145 |
|
| 1 |
<?php
|
|
|
|
| 2 |
class Tribe__Settings_Manager {
|
| 3 |
+
const OPTION_CACHE_VAR_NAME = 'Tribe__Settings_Manager:option_cache';
|
| 4 |
+
|
| 5 |
protected static $network_options;
|
| 6 |
public static $tribe_events_mu_defaults;
|
| 7 |
|
| 30 |
add_action( 'tribe_settings_do_tabs', array( $this, 'do_setting_tabs' ) );
|
| 31 |
add_action( 'tribe_settings_do_tabs', array( $this, 'do_network_settings_tab' ), 400 );
|
| 32 |
add_action( 'tribe_settings_validate_tab_network', array( $this, 'save_all_tabs_hidden' ) );
|
| 33 |
+
add_action( 'updated_option', [ $this, 'update_options_cache' ], 10, 3 );
|
| 34 |
+
}
|
| 35 |
+
|
| 36 |
+
/**
|
| 37 |
+
* For performance reasons our options are saved in memory, but we need to make sure we update it when WordPress
|
| 38 |
+
* updates the variable directly.
|
| 39 |
+
*
|
| 40 |
+
* @since 4.11.0
|
| 41 |
+
*
|
| 42 |
+
* @param string $option Name of the updated option.
|
| 43 |
+
* @param mixed $old_value The old option value.
|
| 44 |
+
* @param mixed $value The new option value.
|
| 45 |
+
*
|
| 46 |
+
* @return void
|
| 47 |
+
*/
|
| 48 |
+
public function update_options_cache( $option, $old_value, $value ) {
|
| 49 |
+
// Bail when no our option.
|
| 50 |
+
if ( Tribe__Main::OPTIONNAME !== $option ) {
|
| 51 |
+
return;
|
| 52 |
+
}
|
| 53 |
+
|
| 54 |
+
tribe_set_var( self::OPTION_CACHE_VAR_NAME, $value );
|
| 55 |
}
|
| 56 |
|
| 57 |
/**
|
| 89 |
* @return array of options
|
| 90 |
*/
|
| 91 |
public static function get_options() {
|
| 92 |
+
$options = tribe_get_var( self::OPTION_CACHE_VAR_NAME, [] );
|
| 93 |
+
|
| 94 |
+
if ( empty( $options ) ) {
|
| 95 |
+
$options = (array) get_option( Tribe__Main::OPTIONNAME, [] );
|
| 96 |
+
|
| 97 |
+
tribe_set_var( self::OPTION_CACHE_VAR_NAME, $options );
|
| 98 |
+
}
|
| 99 |
+
|
| 100 |
return $options;
|
| 101 |
}
|
| 102 |
|
| 112 |
if ( ! $option_name ) {
|
| 113 |
return null;
|
| 114 |
}
|
| 115 |
+
$options = static::get_options();
|
| 116 |
|
| 117 |
$option = $default;
|
| 118 |
if ( array_key_exists( $option_name, $options ) ) {
|
| 136 |
if ( ! is_array( $options ) ) {
|
| 137 |
return false;
|
| 138 |
}
|
| 139 |
+
if ( true === $apply_filters ) {
|
| 140 |
$options = apply_filters( 'tribe-events-save-options', $options );
|
| 141 |
}
|
| 142 |
+
$updated = update_option( Tribe__Main::OPTIONNAME, $options );
|
| 143 |
+
|
| 144 |
+
if ( $updated ) {
|
| 145 |
+
tribe_set_var( self::OPTION_CACHE_VAR_NAME, $options );
|
| 146 |
+
}
|
| 147 |
+
|
| 148 |
+
return $updated;
|
| 149 |
}
|
| 150 |
|
| 151 |
/**
|
| 157 |
* @return bool
|
| 158 |
*/
|
| 159 |
public static function set_option( $name, $value ) {
|
|
|
|
|
|
|
| 160 |
$options = self::get_options();
|
| 161 |
+
$options[ $name ] = $value;
|
| 162 |
+
|
| 163 |
+
return self::set_options( $options );
|
| 164 |
}
|
| 165 |
|
| 166 |
/**
|
| 171 |
*/
|
| 172 |
public static function get_network_options() {
|
| 173 |
if ( ! isset( self::$network_options ) ) {
|
| 174 |
+
$options = get_site_option( Tribe__Main::OPTIONNAMENETWORK, array() );
|
| 175 |
self::$network_options = apply_filters( 'tribe_get_network_options', $options );
|
| 176 |
}
|
| 177 |
|
common/src/Tribe/Template.php
CHANGED
|
@@ -47,7 +47,7 @@ class Tribe__Template {
|
|
| 47 |
protected $template_origin_base_folder = [ 'src', 'views' ];
|
| 48 |
|
| 49 |
/**
|
| 50 |
-
* Allow
|
| 51 |
*
|
| 52 |
* @since 4.6.2
|
| 53 |
*
|
|
@@ -73,6 +73,15 @@ class Tribe__Template {
|
|
| 73 |
*/
|
| 74 |
protected $template_folder_lookup = false;
|
| 75 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 76 |
/**
|
| 77 |
* Configures the class origin plugin path
|
| 78 |
*
|
|
@@ -134,12 +143,23 @@ class Tribe__Template {
|
|
| 134 |
return $this;
|
| 135 |
}
|
| 136 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 137 |
/**
|
| 138 |
* Configures the class with the base folder in relation to the Origin
|
| 139 |
*
|
| 140 |
* @since 4.7.20
|
| 141 |
*
|
| 142 |
-
* @param mixed
|
| 143 |
*
|
| 144 |
* @return self
|
| 145 |
*/
|
|
@@ -263,14 +283,14 @@ class Tribe__Template {
|
|
| 263 |
*
|
| 264 |
* @return array
|
| 265 |
*/
|
| 266 |
-
public function merge_context( $context =
|
| 267 |
// Allow for simple null usage as well as array() for nothing
|
| 268 |
if ( is_null( $context ) ) {
|
| 269 |
-
$context =
|
| 270 |
}
|
| 271 |
|
| 272 |
-
// Applies local context on top of Global
|
| 273 |
-
$context = wp_parse_args( (array) $context, $this->
|
| 274 |
|
| 275 |
/**
|
| 276 |
* Allows filtering the Local context
|
|
@@ -317,15 +337,20 @@ class Tribe__Template {
|
|
| 317 |
* in the theme's directory.
|
| 318 |
*
|
| 319 |
* @since 4.7.20
|
|
|
|
| 320 |
*
|
| 321 |
-
* @
|
|
|
|
|
|
|
| 322 |
*/
|
| 323 |
-
protected function get_template_public_namespace() {
|
| 324 |
-
$namespace =
|
| 325 |
'tribe',
|
| 326 |
-
|
| 327 |
|
| 328 |
-
if ( ! empty( $
|
|
|
|
|
|
|
| 329 |
$namespace[] = $this->origin->template_namespace;
|
| 330 |
}
|
| 331 |
|
|
@@ -360,18 +385,20 @@ class Tribe__Template {
|
|
| 360 |
}
|
| 361 |
|
| 362 |
/**
|
| 363 |
-
* Fetches the path for locating files given a base folder normally theme related
|
| 364 |
*
|
| 365 |
* @since 4.7.20
|
|
|
|
| 366 |
*
|
| 367 |
-
* @param mixed $base
|
|
|
|
| 368 |
*
|
| 369 |
-
* @return string
|
| 370 |
*/
|
| 371 |
-
protected function get_template_public_path( $base ) {
|
| 372 |
|
| 373 |
// Craft the plugin Path
|
| 374 |
-
$path = array_merge( (array) $base, (array) $this->get_template_public_namespace() );
|
| 375 |
|
| 376 |
// Pick up if the folder needs to be aded to the public template path.
|
| 377 |
$folder = array_diff( $this->folder, $this->get_template_origin_base_folder() );
|
|
@@ -402,27 +429,13 @@ class Tribe__Template {
|
|
| 402 |
* @return array
|
| 403 |
*/
|
| 404 |
protected function get_template_path_list() {
|
| 405 |
-
$folders =
|
| 406 |
-
|
| 407 |
-
// Only look into public folders if we tell to use folders
|
| 408 |
-
if ( $this->template_folder_lookup ) {
|
| 409 |
-
$folders[] = array(
|
| 410 |
-
'id' => 'child-theme',
|
| 411 |
-
'priority' => 10,
|
| 412 |
-
'path' => $this->get_template_public_path( STYLESHEETPATH ),
|
| 413 |
-
);
|
| 414 |
-
$folders[] = array(
|
| 415 |
-
'id' => 'parent-theme',
|
| 416 |
-
'priority' => 15,
|
| 417 |
-
'path' => $this->get_template_public_path( TEMPLATEPATH ),
|
| 418 |
-
);
|
| 419 |
-
}
|
| 420 |
|
| 421 |
-
$folders[] =
|
| 422 |
-
'id'
|
| 423 |
-
'priority'
|
| 424 |
-
'path'
|
| 425 |
-
|
| 426 |
|
| 427 |
/**
|
| 428 |
* Allows filtering of the list of folders in which we will look for the
|
|
@@ -433,7 +446,46 @@ class Tribe__Template {
|
|
| 433 |
* @param array $folders Complete path to include the base public folder
|
| 434 |
* @param self $template Current instance of the Tribe__Template
|
| 435 |
*/
|
| 436 |
-
$folders = apply_filters( 'tribe_template_path_list', $folders, $this );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 437 |
|
| 438 |
uasort( $folders, 'tribe_sort_by_priority' );
|
| 439 |
|
|
@@ -456,11 +508,12 @@ class Tribe__Template {
|
|
| 456 |
$name = (array) explode( '/', $name );
|
| 457 |
}
|
| 458 |
|
| 459 |
-
$folders
|
|
|
|
|
|
|
| 460 |
|
| 461 |
foreach ( $folders as $folder ) {
|
| 462 |
-
|
| 463 |
-
if ( ! $folder['path'] ) {
|
| 464 |
continue;
|
| 465 |
}
|
| 466 |
|
|
@@ -472,20 +525,47 @@ class Tribe__Template {
|
|
| 472 |
|
| 473 |
// Skip non-existent files
|
| 474 |
if ( file_exists( $file ) ) {
|
| 475 |
-
|
| 476 |
-
|
| 477 |
-
|
| 478 |
-
|
| 479 |
-
|
| 480 |
-
|
| 481 |
-
|
| 482 |
-
|
| 483 |
-
|
| 484 |
-
|
| 485 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 486 |
}
|
| 487 |
}
|
| 488 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 489 |
// Couldn't find a template on the Stack
|
| 490 |
return false;
|
| 491 |
}
|
|
@@ -501,35 +581,98 @@ class Tribe__Template {
|
|
| 501 |
*
|
| 502 |
* @return string|false Either the final content HTML or `false` if no template could be found.
|
| 503 |
*/
|
| 504 |
-
public function template( $name, $context =
|
| 505 |
-
|
| 506 |
-
|
| 507 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 508 |
}
|
| 509 |
|
| 510 |
-
//
|
| 511 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 512 |
|
| 513 |
-
|
| 514 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 515 |
} else {
|
| 516 |
-
$
|
|
|
|
| 517 |
}
|
| 518 |
|
| 519 |
// Setup the Hook name
|
| 520 |
-
$
|
|
|
|
| 521 |
|
| 522 |
-
|
| 523 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 524 |
|
| 525 |
-
|
| 526 |
-
|
| 527 |
-
|
| 528 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 529 |
|
| 530 |
-
|
| 531 |
-
|
| 532 |
-
return false;
|
| 533 |
}
|
| 534 |
|
| 535 |
ob_start();
|
|
@@ -541,7 +684,7 @@ class Tribe__Template {
|
|
| 541 |
* Fires an Action before including the template file
|
| 542 |
*
|
| 543 |
* @since 4.6.2
|
| 544 |
-
* @since 4.7.20 The $name param no
|
| 545 |
*
|
| 546 |
* @param string $file Complete path to include the PHP File
|
| 547 |
* @param array $name Template name
|
|
@@ -557,37 +700,38 @@ class Tribe__Template {
|
|
| 557 |
* `tribe_template_before_include:events/embed`
|
| 558 |
* `tribe_template_before_include:tickets/login-to-purchase`
|
| 559 |
*
|
|
|
|
| 560 |
* @since 4.7.20
|
| 561 |
*
|
| 562 |
* @param string $file Complete path to include the PHP File
|
| 563 |
* @param array $name Template name
|
| 564 |
* @param self $template Current instance of the Tribe__Template
|
| 565 |
*/
|
| 566 |
-
do_action( "tribe_template_before_include:$
|
| 567 |
|
| 568 |
-
|
| 569 |
-
|
| 570 |
-
|
| 571 |
-
|
| 572 |
-
|
| 573 |
-
|
| 574 |
-
|
| 575 |
-
|
| 576 |
-
|
| 577 |
-
|
| 578 |
-
|
| 579 |
-
|
| 580 |
-
|
| 581 |
-
|
| 582 |
-
|
| 583 |
|
| 584 |
-
|
| 585 |
|
| 586 |
/**
|
| 587 |
* Fires an Action after including the template file
|
| 588 |
*
|
| 589 |
* @since 4.6.2
|
| 590 |
-
* @since 4.7.20 The $name param no
|
| 591 |
*
|
| 592 |
* @param string $file Complete path to include the PHP File
|
| 593 |
* @param array $name Template name
|
|
@@ -595,6 +739,23 @@ class Tribe__Template {
|
|
| 595 |
*/
|
| 596 |
do_action( 'tribe_template_after_include', $file, $name, $this );
|
| 597 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 598 |
/**
|
| 599 |
* Fires an Action for a given template name after including the template file
|
| 600 |
*
|
|
@@ -618,7 +779,7 @@ class Tribe__Template {
|
|
| 618 |
* Allow users to filter the final HTML
|
| 619 |
*
|
| 620 |
* @since 4.6.2
|
| 621 |
-
* @since 4.7.20 The $name param no
|
| 622 |
*
|
| 623 |
* @param string $html The final HTML
|
| 624 |
* @param string $file Complete path to include the PHP File
|
|
@@ -627,6 +788,24 @@ class Tribe__Template {
|
|
| 627 |
*/
|
| 628 |
$html = apply_filters( 'tribe_template_html', $html, $file, $name, $this );
|
| 629 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 630 |
/**
|
| 631 |
* Allow users to filter the final HTML by the name
|
| 632 |
*
|
|
@@ -651,6 +830,77 @@ class Tribe__Template {
|
|
| 651 |
return $html;
|
| 652 |
}
|
| 653 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 654 |
/**
|
| 655 |
* Sets a number of values at the same time.
|
| 656 |
*
|
| 47 |
protected $template_origin_base_folder = [ 'src', 'views' ];
|
| 48 |
|
| 49 |
/**
|
| 50 |
+
* Allow changing if class will extract data from the local context
|
| 51 |
*
|
| 52 |
* @since 4.6.2
|
| 53 |
*
|
| 73 |
*/
|
| 74 |
protected $template_folder_lookup = false;
|
| 75 |
|
| 76 |
+
/**
|
| 77 |
+
* Create a class variable for the include path, to avoid conflicting with extract.
|
| 78 |
+
*
|
| 79 |
+
* @since 4.11.0
|
| 80 |
+
*
|
| 81 |
+
* @var string
|
| 82 |
+
*/
|
| 83 |
+
protected $template_current_file_path;
|
| 84 |
+
|
| 85 |
/**
|
| 86 |
* Configures the class origin plugin path
|
| 87 |
*
|
| 143 |
return $this;
|
| 144 |
}
|
| 145 |
|
| 146 |
+
/**
|
| 147 |
+
* Returns the array for which folder this template instance is looking into.
|
| 148 |
+
*
|
| 149 |
+
* @since 4.11.0
|
| 150 |
+
*
|
| 151 |
+
* @return array Current folder we are looking for templates.
|
| 152 |
+
*/
|
| 153 |
+
public function get_template_folder() {
|
| 154 |
+
return $this->folder;
|
| 155 |
+
}
|
| 156 |
+
|
| 157 |
/**
|
| 158 |
* Configures the class with the base folder in relation to the Origin
|
| 159 |
*
|
| 160 |
* @since 4.7.20
|
| 161 |
*
|
| 162 |
+
* @param mixed $value Should we look for template files in the list of folders.
|
| 163 |
*
|
| 164 |
* @return self
|
| 165 |
*/
|
| 283 |
*
|
| 284 |
* @return array
|
| 285 |
*/
|
| 286 |
+
public function merge_context( $context = [], $file = null, $name = null ) {
|
| 287 |
// Allow for simple null usage as well as array() for nothing
|
| 288 |
if ( is_null( $context ) ) {
|
| 289 |
+
$context = [];
|
| 290 |
}
|
| 291 |
|
| 292 |
+
// Applies new local context on top of Global + Previous local.
|
| 293 |
+
$context = wp_parse_args( (array) $context, $this->get_values() );
|
| 294 |
|
| 295 |
/**
|
| 296 |
* Allows filtering the Local context
|
| 337 |
* in the theme's directory.
|
| 338 |
*
|
| 339 |
* @since 4.7.20
|
| 340 |
+
* @since 4.11.0 Added param $plugin_namespace.
|
| 341 |
*
|
| 342 |
+
* @param string $plugin_namespace Overwrite the origin namespace with a given one.
|
| 343 |
+
*
|
| 344 |
+
* @return array Namespace where we to look for templates.
|
| 345 |
*/
|
| 346 |
+
protected function get_template_public_namespace( $plugin_namespace ) {
|
| 347 |
+
$namespace = [
|
| 348 |
'tribe',
|
| 349 |
+
];
|
| 350 |
|
| 351 |
+
if ( ! empty( $plugin_namespace ) ) {
|
| 352 |
+
$namespace[] = $plugin_namespace;
|
| 353 |
+
} elseif ( ! empty( $this->origin->template_namespace ) ) {
|
| 354 |
$namespace[] = $this->origin->template_namespace;
|
| 355 |
}
|
| 356 |
|
| 385 |
}
|
| 386 |
|
| 387 |
/**
|
| 388 |
+
* Fetches the path for locating files given a base folder normally theme related.
|
| 389 |
*
|
| 390 |
* @since 4.7.20
|
| 391 |
+
* @since 4.11.0 Added the param $namespace.
|
| 392 |
*
|
| 393 |
+
* @param mixed $base Base path to look into.
|
| 394 |
+
* @param string $namespace Adds the plugin namespace to the path returned.
|
| 395 |
*
|
| 396 |
+
* @return string The public path for a given base.˙˙
|
| 397 |
*/
|
| 398 |
+
protected function get_template_public_path( $base, $namespace ) {
|
| 399 |
|
| 400 |
// Craft the plugin Path
|
| 401 |
+
$path = array_merge( (array) $base, (array) $this->get_template_public_namespace( $namespace ) );
|
| 402 |
|
| 403 |
// Pick up if the folder needs to be aded to the public template path.
|
| 404 |
$folder = array_diff( $this->folder, $this->get_template_origin_base_folder() );
|
| 429 |
* @return array
|
| 430 |
*/
|
| 431 |
protected function get_template_path_list() {
|
| 432 |
+
$folders = [];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 433 |
|
| 434 |
+
$folders['plugin'] = [
|
| 435 |
+
'id' => 'plugin',
|
| 436 |
+
'priority' => 20,
|
| 437 |
+
'path' => $this->get_template_plugin_path(),
|
| 438 |
+
];
|
| 439 |
|
| 440 |
/**
|
| 441 |
* Allows filtering of the list of folders in which we will look for the
|
| 446 |
* @param array $folders Complete path to include the base public folder
|
| 447 |
* @param self $template Current instance of the Tribe__Template
|
| 448 |
*/
|
| 449 |
+
$folders = (array) apply_filters( 'tribe_template_path_list', $folders, $this );
|
| 450 |
+
|
| 451 |
+
uasort( $folders, 'tribe_sort_by_priority' );
|
| 452 |
+
|
| 453 |
+
return $folders;
|
| 454 |
+
}
|
| 455 |
+
|
| 456 |
+
/**
|
| 457 |
+
* Get the list of theme related folders we will look up for the template.
|
| 458 |
+
*
|
| 459 |
+
* @since 4.11.0
|
| 460 |
+
*
|
| 461 |
+
* @param string $namespace Which plugin namespace we are looking for.
|
| 462 |
+
*
|
| 463 |
+
* @return array
|
| 464 |
+
*/
|
| 465 |
+
protected function get_template_theme_path_list( $namespace ) {
|
| 466 |
+
$folders = [];
|
| 467 |
+
|
| 468 |
+
$folders['child-theme'] = [
|
| 469 |
+
'id' => 'child-theme',
|
| 470 |
+
'priority' => 10,
|
| 471 |
+
'path' => $this->get_template_public_path( STYLESHEETPATH, $namespace ),
|
| 472 |
+
];
|
| 473 |
+
$folders['parent-theme'] = [
|
| 474 |
+
'id' => 'parent-theme',
|
| 475 |
+
'priority' => 15,
|
| 476 |
+
'path' => $this->get_template_public_path( TEMPLATEPATH, $namespace ),
|
| 477 |
+
];
|
| 478 |
+
|
| 479 |
+
/**
|
| 480 |
+
* Allows filtering of the list of theme folders in which we will look for the template.
|
| 481 |
+
*
|
| 482 |
+
* @since 4.11.0
|
| 483 |
+
*
|
| 484 |
+
* @param array $folders Complete path to include the base public folder.
|
| 485 |
+
* @param string $namespace Loads the files from a specified folder from the themes.
|
| 486 |
+
* @param self $template Current instance of the Tribe__Template.
|
| 487 |
+
*/
|
| 488 |
+
$folders = (array) apply_filters( 'tribe_template_theme_path_list', $folders, $namespace, $this );
|
| 489 |
|
| 490 |
uasort( $folders, 'tribe_sort_by_priority' );
|
| 491 |
|
| 508 |
$name = (array) explode( '/', $name );
|
| 509 |
}
|
| 510 |
|
| 511 |
+
$folders = $this->get_template_path_list();
|
| 512 |
+
$found_file = false;
|
| 513 |
+
$namespace = false;
|
| 514 |
|
| 515 |
foreach ( $folders as $folder ) {
|
| 516 |
+
if ( empty( $folder['path'] ) ) {
|
|
|
|
| 517 |
continue;
|
| 518 |
}
|
| 519 |
|
| 525 |
|
| 526 |
// Skip non-existent files
|
| 527 |
if ( file_exists( $file ) ) {
|
| 528 |
+
$found_file = $file;
|
| 529 |
+
$namespace = ! empty( $folder['namespace'] ) ? $folder['namespace'] : false;
|
| 530 |
+
break;
|
| 531 |
+
}
|
| 532 |
+
}
|
| 533 |
+
|
| 534 |
+
if ( $this->template_folder_lookup ) {
|
| 535 |
+
$theme_folders = $this->get_template_theme_path_list( $namespace );
|
| 536 |
+
|
| 537 |
+
foreach ( $theme_folders as $folder ) {
|
| 538 |
+
if ( empty( $folder['path'] ) ) {
|
| 539 |
+
continue;
|
| 540 |
+
}
|
| 541 |
+
|
| 542 |
+
// Build the File Path
|
| 543 |
+
$file = implode( DIRECTORY_SEPARATOR, array_merge( (array) $folder['path'], $name ) );
|
| 544 |
+
|
| 545 |
+
// Append the Extension to the file path
|
| 546 |
+
$file .= '.php';
|
| 547 |
+
|
| 548 |
+
// Skip non-existent files
|
| 549 |
+
if ( file_exists( $file ) ) {
|
| 550 |
+
$found_file = $file;
|
| 551 |
+
}
|
| 552 |
}
|
| 553 |
}
|
| 554 |
|
| 555 |
+
if ( $found_file ) {
|
| 556 |
+
/**
|
| 557 |
+
* A more Specific Filter that will include the template name
|
| 558 |
+
*
|
| 559 |
+
* @since 4.6.2
|
| 560 |
+
* @since 4.7.20 The $name param no longer contains the extension
|
| 561 |
+
*
|
| 562 |
+
* @param string $file Complete path to include the PHP File
|
| 563 |
+
* @param array $name Template name
|
| 564 |
+
* @param self $template Current instance of the Tribe__Template
|
| 565 |
+
*/
|
| 566 |
+
return apply_filters( 'tribe_template_file', $found_file, $name, $this );
|
| 567 |
+
}
|
| 568 |
+
|
| 569 |
// Couldn't find a template on the Stack
|
| 570 |
return false;
|
| 571 |
}
|
| 581 |
*
|
| 582 |
* @return string|false Either the final content HTML or `false` if no template could be found.
|
| 583 |
*/
|
| 584 |
+
public function template( $name, $context = [], $echo = true ) {
|
| 585 |
+
static $file_exists = [];
|
| 586 |
+
static $files = [];
|
| 587 |
+
static $template_names = [];
|
| 588 |
+
|
| 589 |
+
// Key we'll use for in-memory caching of expensive operations.
|
| 590 |
+
$cache_name_key = is_array( $name ) ? implode( '/', $name ) : $name;
|
| 591 |
+
|
| 592 |
+
// Cache template name massaging so we don't have to repeat these actions.
|
| 593 |
+
if ( ! isset( $template_names[ $cache_name_key ] ) ) {
|
| 594 |
+
// If name is String make it an Array
|
| 595 |
+
if ( is_string( $name ) ) {
|
| 596 |
+
$name = (array) explode( '/', $name );
|
| 597 |
+
}
|
| 598 |
+
|
| 599 |
+
// Clean this Variable
|
| 600 |
+
$name = array_map( 'sanitize_title_with_dashes', $name );
|
| 601 |
+
|
| 602 |
+
$template_names[ $cache_name_key ] = $name;
|
| 603 |
}
|
| 604 |
|
| 605 |
+
// Cache file location and existence.
|
| 606 |
+
if ( ! isset( $file_exists[ $cache_name_key ] ) || ! isset( $files[ $cache_name_key ] ) ) {
|
| 607 |
+
// Check if the file exists
|
| 608 |
+
$files[ $cache_name_key ] = $file = $this->get_template_file( $name );
|
| 609 |
+
|
| 610 |
+
// Check if it's a valid variable
|
| 611 |
+
if ( ! $file ) {
|
| 612 |
+
return $file_exists[ $cache_name_key ] = false;
|
| 613 |
+
}
|
| 614 |
+
|
| 615 |
+
// Before we load the file we check if it exists
|
| 616 |
+
if ( ! file_exists( $file ) ) {
|
| 617 |
+
return $file_exists[ $cache_name_key ] = false;
|
| 618 |
+
}
|
| 619 |
|
| 620 |
+
$file_exists[ $cache_name_key ] = true;
|
| 621 |
+
}
|
| 622 |
+
|
| 623 |
+
// If the file doesn't exist, bail.
|
| 624 |
+
if ( ! $file_exists[ $cache_name_key ] ) {
|
| 625 |
+
return false;
|
| 626 |
+
}
|
| 627 |
+
|
| 628 |
+
// Use filename stored in cache.
|
| 629 |
+
$file = $files[ $cache_name_key ];
|
| 630 |
+
$name = $template_names[ $cache_name_key ];
|
| 631 |
+
$origin_folder_appendix = array_diff( $this->folder, $this->template_origin_base_folder );
|
| 632 |
+
|
| 633 |
+
if ( $origin_namespace = $this->template_get_origin_namespace( $file ) ) {
|
| 634 |
+
$legacy_namespace = array_merge( (array) $origin_namespace, $name );
|
| 635 |
+
$namespace = array_merge( (array) $origin_namespace, $origin_folder_appendix, $name );
|
| 636 |
} else {
|
| 637 |
+
$legacy_namespace = $name;
|
| 638 |
+
$namespace = array_merge( $origin_folder_appendix, $legacy_namespace );
|
| 639 |
}
|
| 640 |
|
| 641 |
// Setup the Hook name
|
| 642 |
+
$legacy_hook_name = implode( '/', $legacy_namespace );
|
| 643 |
+
$hook_name = implode( '/', $namespace );
|
| 644 |
|
| 645 |
+
/**
|
| 646 |
+
* Allow users to filter the HTML before rendering
|
| 647 |
+
*
|
| 648 |
+
* @since 4.11.0
|
| 649 |
+
*
|
| 650 |
+
* @param string $html The initial HTML
|
| 651 |
+
* @param string $file Complete path to include the PHP File
|
| 652 |
+
* @param array $name Template name
|
| 653 |
+
* @param self $template Current instance of the Tribe__Template
|
| 654 |
+
*/
|
| 655 |
+
$pre_html = apply_filters( 'tribe_template_pre_html', null, $file, $name, $this );
|
| 656 |
|
| 657 |
+
/**
|
| 658 |
+
* Allow users to filter the HTML by the name before rendering
|
| 659 |
+
*
|
| 660 |
+
* E.g.:
|
| 661 |
+
* `tribe_template_pre_html:events/blocks/parts/details`
|
| 662 |
+
* `tribe_template_pre_html:events/embed`
|
| 663 |
+
* `tribe_template_pre_html:tickets/login-to-purchase`
|
| 664 |
+
*
|
| 665 |
+
* @since 4.11.0
|
| 666 |
+
*
|
| 667 |
+
* @param string $html The initial HTML
|
| 668 |
+
* @param string $file Complete path to include the PHP File
|
| 669 |
+
* @param array $name Template name
|
| 670 |
+
* @param self $template Current instance of the Tribe__Template
|
| 671 |
+
*/
|
| 672 |
+
$pre_html = apply_filters( "tribe_template_pre_html:$hook_name", $pre_html, $file, $name, $this );
|
| 673 |
|
| 674 |
+
if ( null !== $pre_html ) {
|
| 675 |
+
return $pre_html;
|
|
|
|
| 676 |
}
|
| 677 |
|
| 678 |
ob_start();
|
| 684 |
* Fires an Action before including the template file
|
| 685 |
*
|
| 686 |
* @since 4.6.2
|
| 687 |
+
* @since 4.7.20 The $name param no longer contains the extension
|
| 688 |
*
|
| 689 |
* @param string $file Complete path to include the PHP File
|
| 690 |
* @param array $name Template name
|
| 700 |
* `tribe_template_before_include:events/embed`
|
| 701 |
* `tribe_template_before_include:tickets/login-to-purchase`
|
| 702 |
*
|
| 703 |
+
* @deprecated 4.11.0
|
| 704 |
* @since 4.7.20
|
| 705 |
*
|
| 706 |
* @param string $file Complete path to include the PHP File
|
| 707 |
* @param array $name Template name
|
| 708 |
* @param self $template Current instance of the Tribe__Template
|
| 709 |
*/
|
| 710 |
+
do_action( "tribe_template_before_include:$legacy_hook_name", $file, $name, $this );
|
| 711 |
|
| 712 |
+
/**
|
| 713 |
+
* Fires an Action for a given template name before including the template file
|
| 714 |
+
*
|
| 715 |
+
* E.g.:
|
| 716 |
+
* `tribe_template_before_include:events/blocks/parts/details`
|
| 717 |
+
* `tribe_template_before_include:events/embed`
|
| 718 |
+
* `tribe_template_before_include:tickets/login-to-purchase`
|
| 719 |
+
*
|
| 720 |
+
* @since 4.7.20
|
| 721 |
+
*
|
| 722 |
+
* @param string $file Complete path to include the PHP File
|
| 723 |
+
* @param array $name Template name
|
| 724 |
+
* @param self $template Current instance of the Tribe__Template
|
| 725 |
+
*/
|
| 726 |
+
do_action( "tribe_template_before_include:$hook_name", $file, $name, $this );
|
| 727 |
|
| 728 |
+
$this->template_safe_include( $file );
|
| 729 |
|
| 730 |
/**
|
| 731 |
* Fires an Action after including the template file
|
| 732 |
*
|
| 733 |
* @since 4.6.2
|
| 734 |
+
* @since 4.7.20 The $name param no longer contains the extension
|
| 735 |
*
|
| 736 |
* @param string $file Complete path to include the PHP File
|
| 737 |
* @param array $name Template name
|
| 739 |
*/
|
| 740 |
do_action( 'tribe_template_after_include', $file, $name, $this );
|
| 741 |
|
| 742 |
+
/**
|
| 743 |
+
* Fires an Action for a given template name after including the template file
|
| 744 |
+
*
|
| 745 |
+
* E.g.:
|
| 746 |
+
* `tribe_template_after_include:events/blocks/parts/details`
|
| 747 |
+
* `tribe_template_after_include:events/embed`
|
| 748 |
+
* `tribe_template_after_include:tickets/login-to-purchase`
|
| 749 |
+
*
|
| 750 |
+
* @deprecated 4.11.0
|
| 751 |
+
* @since 4.7.20
|
| 752 |
+
*
|
| 753 |
+
* @param string $file Complete path to include the PHP File
|
| 754 |
+
* @param array $name Template name
|
| 755 |
+
* @param self $template Current instance of the Tribe__Template
|
| 756 |
+
*/
|
| 757 |
+
do_action( "tribe_template_after_include:$legacy_hook_name", $file, $name, $this );
|
| 758 |
+
|
| 759 |
/**
|
| 760 |
* Fires an Action for a given template name after including the template file
|
| 761 |
*
|
| 779 |
* Allow users to filter the final HTML
|
| 780 |
*
|
| 781 |
* @since 4.6.2
|
| 782 |
+
* @since 4.7.20 The $name param no longer contains the extension
|
| 783 |
*
|
| 784 |
* @param string $html The final HTML
|
| 785 |
* @param string $file Complete path to include the PHP File
|
| 788 |
*/
|
| 789 |
$html = apply_filters( 'tribe_template_html', $html, $file, $name, $this );
|
| 790 |
|
| 791 |
+
/**
|
| 792 |
+
* Allow users to filter the final HTML by the name
|
| 793 |
+
*
|
| 794 |
+
* E.g.:
|
| 795 |
+
* `tribe_template_html:events/blocks/parts/details`
|
| 796 |
+
* `tribe_template_html:events/embed`
|
| 797 |
+
* `tribe_template_html:tickets/login-to-purchase`
|
| 798 |
+
*
|
| 799 |
+
* @deprecated 4.11.0
|
| 800 |
+
* @since 4.7.20
|
| 801 |
+
*
|
| 802 |
+
* @param string $html The final HTML
|
| 803 |
+
* @param string $file Complete path to include the PHP File
|
| 804 |
+
* @param array $name Template name
|
| 805 |
+
* @param self $template Current instance of the Tribe__Template
|
| 806 |
+
*/
|
| 807 |
+
$html = apply_filters( "tribe_template_html:$legacy_hook_name", $html, $file, $name, $this );
|
| 808 |
+
|
| 809 |
/**
|
| 810 |
* Allow users to filter the final HTML by the name
|
| 811 |
*
|
| 830 |
return $html;
|
| 831 |
}
|
| 832 |
|
| 833 |
+
/**
|
| 834 |
+
* Based on a path it determines what is the namespace that should be used.
|
| 835 |
+
*
|
| 836 |
+
* @since 4.11.0
|
| 837 |
+
*
|
| 838 |
+
* @param string $path Which file we are going to load.
|
| 839 |
+
*
|
| 840 |
+
* @return string|false The found namespace for that path or false.
|
| 841 |
+
*/
|
| 842 |
+
public function template_get_origin_namespace( $path ) {
|
| 843 |
+
$matching_namespace = false;
|
| 844 |
+
/**
|
| 845 |
+
* Allows more namespaces to be added based on the path of the file we are loading.
|
| 846 |
+
*
|
| 847 |
+
* @since 4.11.0
|
| 848 |
+
*
|
| 849 |
+
* @param array $namespace_map Indexed array containing the namespace as the key and path to `strpos`.
|
| 850 |
+
* @param string $path Path we will do the `strpos` to validate a given namespace.
|
| 851 |
+
* @param self $template Current instance of the template class.
|
| 852 |
+
*/
|
| 853 |
+
$namespace_map = (array) apply_filters( 'tribe_template_origin_namespace_map', [], $path, $this );
|
| 854 |
+
|
| 855 |
+
foreach ( $namespace_map as $namespace => $contains_string ) {
|
| 856 |
+
// Skip when we dont have the namespace path.
|
| 857 |
+
if ( false === strpos( $path, $contains_string ) ) {
|
| 858 |
+
continue;
|
| 859 |
+
}
|
| 860 |
+
|
| 861 |
+
$matching_namespace = $namespace;
|
| 862 |
+
|
| 863 |
+
// Once the first namespace is found it breaks out.
|
| 864 |
+
break;
|
| 865 |
+
}
|
| 866 |
+
|
| 867 |
+
if ( empty( $matching_namespace ) && ! empty( $this->origin->template_namespace ) ) {
|
| 868 |
+
$matching_namespace = $this->origin->template_namespace;
|
| 869 |
+
}
|
| 870 |
+
|
| 871 |
+
return $matching_namespace;
|
| 872 |
+
}
|
| 873 |
+
|
| 874 |
+
/**
|
| 875 |
+
* Includes a give PHP inside of a safe context.
|
| 876 |
+
*
|
| 877 |
+
* This method is required to prevent template files messing with local variables used inside of the
|
| 878 |
+
* `self::template` method. Also shelters the template loading from any possible variables that could
|
| 879 |
+
* be overwritten by the context.
|
| 880 |
+
*
|
| 881 |
+
* @since 4.11.0
|
| 882 |
+
*
|
| 883 |
+
* @param string $file Which file will be included with safe context.
|
| 884 |
+
*
|
| 885 |
+
* @return void
|
| 886 |
+
*/
|
| 887 |
+
public function template_safe_include( $file ) {
|
| 888 |
+
// We use this instance variable to prevent collisions.
|
| 889 |
+
$this->template_current_file_path = $file;
|
| 890 |
+
unset( $file );
|
| 891 |
+
|
| 892 |
+
// Only do this if really needed (by default it wont).
|
| 893 |
+
if ( true === $this->template_context_extract && ! empty( $this->context ) ) {
|
| 894 |
+
// Make any provided variables available in the template variable scope.
|
| 895 |
+
extract( $this->context ); // @phpcs:ignore
|
| 896 |
+
}
|
| 897 |
+
|
| 898 |
+
include $this->template_current_file_path;
|
| 899 |
+
|
| 900 |
+
// After the include we reset the variable.
|
| 901 |
+
unset( $this->template_current_file_path );
|
| 902 |
+
}
|
| 903 |
+
|
| 904 |
/**
|
| 905 |
* Sets a number of values at the same time.
|
| 906 |
*
|
common/src/Tribe/Traits/Cache_User.php
CHANGED
|
@@ -125,4 +125,21 @@ trait Cache_User {
|
|
| 125 |
}
|
| 126 |
}
|
| 127 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 128 |
}
|
| 125 |
}
|
| 126 |
}
|
| 127 |
}
|
| 128 |
+
|
| 129 |
+
/**
|
| 130 |
+
* Resets the instance caches for the this instance.
|
| 131 |
+
*
|
| 132 |
+
* @since 4.11.0
|
| 133 |
+
*
|
| 134 |
+
* @return string[] A list of the emptied cache properties.
|
| 135 |
+
*/
|
| 136 |
+
public function reset_caches() {
|
| 137 |
+
$emptied = [];
|
| 138 |
+
foreach ( array_keys( $this->caches ) as $key ) {
|
| 139 |
+
$emptied[] = $key;
|
| 140 |
+
$this->{"{$key}_cache"} = [];
|
| 141 |
+
}
|
| 142 |
+
|
| 143 |
+
return $emptied;
|
| 144 |
+
}
|
| 145 |
}
|
common/src/Tribe/Utils/Collection_Trait.php
CHANGED
|
@@ -152,14 +152,27 @@ trait Collection_Trait {
|
|
| 152 |
* {@inheritDoc}
|
| 153 |
*/
|
| 154 |
public function serialize() {
|
| 155 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 156 |
}
|
| 157 |
|
| 158 |
/**
|
| 159 |
* {@inheritDoc}
|
| 160 |
*/
|
| 161 |
public function unserialize( $serialized ) {
|
| 162 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 163 |
}
|
| 164 |
|
| 165 |
/**
|
| 152 |
* {@inheritDoc}
|
| 153 |
*/
|
| 154 |
public function serialize() {
|
| 155 |
+
$to_serialize = $this->all();
|
| 156 |
+
|
| 157 |
+
if ( method_exists( $this, 'before_serialize' ) ) {
|
| 158 |
+
$to_serialize = $this->before_serialize( $this->all() );
|
| 159 |
+
}
|
| 160 |
+
|
| 161 |
+
return serialize( $to_serialize );
|
| 162 |
}
|
| 163 |
|
| 164 |
/**
|
| 165 |
* {@inheritDoc}
|
| 166 |
*/
|
| 167 |
public function unserialize( $serialized ) {
|
| 168 |
+
$to_unserialize = $serialized;
|
| 169 |
+
|
| 170 |
+
if ( method_exists( $this, 'custom_unserialize' ) ) {
|
| 171 |
+
$this->items = $this->custom_unserialize( $to_unserialize );
|
| 172 |
+
return;
|
| 173 |
+
}
|
| 174 |
+
|
| 175 |
+
$this->items = unserialize( $to_unserialize );
|
| 176 |
}
|
| 177 |
|
| 178 |
/**
|
common/src/Tribe/Utils/Date_I18n.php
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Extends DateTime and includes translation capabilities.
|
| 4 |
+
*
|
| 5 |
+
* @package Tribe\Utils
|
| 6 |
+
* @since 4.11.0
|
| 7 |
+
*/
|
| 8 |
+
namespace Tribe\Utils;
|
| 9 |
+
|
| 10 |
+
use Tribe__Date_Utils as Dates;
|
| 11 |
+
use DateTime;
|
| 12 |
+
use DateTimeImmutable;
|
| 13 |
+
|
| 14 |
+
/**
|
| 15 |
+
* Class Date i18n
|
| 16 |
+
*
|
| 17 |
+
* @package Tribe\Utils
|
| 18 |
+
* @since 4.11.0
|
| 19 |
+
*/
|
| 20 |
+
class Date_I18n extends DateTime {
|
| 21 |
+
/**
|
| 22 |
+
* {@inheritDoc}
|
| 23 |
+
*
|
| 24 |
+
* @return Date_I18n Localizable variation of DateTime.
|
| 25 |
+
*/
|
| 26 |
+
public static function createFromImmutable( $datetime ) {
|
| 27 |
+
$date_object = new self;
|
| 28 |
+
$date_object->setTimestamp( $datetime->getTimestamp() );
|
| 29 |
+
$date_object->setTimezone( $datetime->getTimezone() );
|
| 30 |
+
return $date_object;
|
| 31 |
+
}
|
| 32 |
+
|
| 33 |
+
/**
|
| 34 |
+
* Returns a translated string using the params from this DateTime instance.
|
| 35 |
+
*
|
| 36 |
+
* @since 4.11.0
|
| 37 |
+
*
|
| 38 |
+
* @param string $date_format Format to be used in the translation.
|
| 39 |
+
*
|
| 40 |
+
* @return string Translated date.
|
| 41 |
+
*/
|
| 42 |
+
public function format_i18n( $date_format ) {
|
| 43 |
+
$unix_with_tz = $this->getTimestamp() + $this->getOffset();
|
| 44 |
+
$translated = date_i18n( $date_format, $unix_with_tz );
|
| 45 |
+
|
| 46 |
+
return $translated;
|
| 47 |
+
}
|
| 48 |
+
}
|
common/src/Tribe/Utils/Date_I18n_Immutable.php
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Extends DateTimeImmutable and includes translation capabilities.
|
| 4 |
+
*
|
| 5 |
+
* @since 4.11.0
|
| 6 |
+
* @package Tribe\Utils
|
| 7 |
+
*/
|
| 8 |
+
|
| 9 |
+
namespace Tribe\Utils;
|
| 10 |
+
|
| 11 |
+
use DateTimeImmutable;
|
| 12 |
+
|
| 13 |
+
/**
|
| 14 |
+
* Class Date i18n Immutable
|
| 15 |
+
*
|
| 16 |
+
* @since 4.11.0
|
| 17 |
+
* @package Tribe\Utils
|
| 18 |
+
*/
|
| 19 |
+
class Date_I18n_Immutable extends DateTimeImmutable {
|
| 20 |
+
/**
|
| 21 |
+
* {@inheritDoc}
|
| 22 |
+
*
|
| 23 |
+
* @return Date_I18n_Immutable Localizable variation of DateTimeImmutable.
|
| 24 |
+
*/
|
| 25 |
+
public static function createFromMutable( $datetime ) {
|
| 26 |
+
$date_object = new self;
|
| 27 |
+
$date_object = $date_object->setTimestamp( $datetime->getTimestamp() );
|
| 28 |
+
$date_object = $date_object->setTimezone( $datetime->getTimezone() );
|
| 29 |
+
|
| 30 |
+
return $date_object;
|
| 31 |
+
}
|
| 32 |
+
|
| 33 |
+
/**
|
| 34 |
+
* Returns a translated string using the params from this Immutable DateTime instance.
|
| 35 |
+
*
|
| 36 |
+
* @since 4.11.0
|
| 37 |
+
*
|
| 38 |
+
* @param string $date_format Format to be used in the translation.
|
| 39 |
+
*
|
| 40 |
+
* @return string Translated date.
|
| 41 |
+
*/
|
| 42 |
+
public function format_i18n( $date_format ) {
|
| 43 |
+
$unix_with_tz = $this->getTimestamp() + $this->getOffset();
|
| 44 |
+
$translated = date_i18n( $date_format, $unix_with_tz );
|
| 45 |
+
|
| 46 |
+
return $translated;
|
| 47 |
+
}
|
| 48 |
+
}
|
common/src/Tribe/Utils/Post_Thumbnail.php
CHANGED
|
@@ -147,6 +147,8 @@ class Post_Thumbnail implements \ArrayAccess, \Serializable {
|
|
| 147 |
* @return array An array of objects containing the post thumbnail data.
|
| 148 |
*/
|
| 149 |
public function fetch_data() {
|
|
|
|
|
|
|
| 150 |
if ( ! $this->exists() ) {
|
| 151 |
return [];
|
| 152 |
}
|
|
@@ -155,44 +157,58 @@ class Post_Thumbnail implements \ArrayAccess, \Serializable {
|
|
| 155 |
return $this->data;
|
| 156 |
}
|
| 157 |
|
| 158 |
-
$post_id = $this->post_id;
|
| 159 |
$image_sizes = $this->get_image_sizes();
|
| 160 |
$thumbnail_id = $this->thumbnail_id;
|
| 161 |
|
| 162 |
-
$
|
| 163 |
-
|
| 164 |
-
|
| 165 |
-
|
| 166 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 167 |
|
| 168 |
-
if ( false === $size_data ) {
|
| 169 |
return (object) [
|
| 170 |
-
'url' => '',
|
| 171 |
-
'width' => '',
|
| 172 |
-
'height' => '',
|
| 173 |
-
'is_intermediate' => false,
|
| 174 |
];
|
| 175 |
-
}
|
|
|
|
|
|
|
|
|
|
| 176 |
|
| 177 |
-
|
| 178 |
-
|
| 179 |
-
'width' => Arr::get( $size_data, 1, '' ),
|
| 180 |
-
'heigth' => Arr::get( $size_data, 2, '' ),
|
| 181 |
-
'is_intermediate' => (bool) Arr::get( $size_data, 3, false ),
|
| 182 |
-
];
|
| 183 |
-
},
|
| 184 |
-
$image_sizes
|
| 185 |
-
)
|
| 186 |
-
);
|
| 187 |
|
| 188 |
-
|
| 189 |
-
|
| 190 |
|
| 191 |
-
|
| 192 |
-
|
| 193 |
|
| 194 |
-
|
| 195 |
-
|
| 196 |
|
| 197 |
/**
|
| 198 |
* Filters the post thumbnail data and information that will be returned for a specific post.
|
|
@@ -204,7 +220,7 @@ class Post_Thumbnail implements \ArrayAccess, \Serializable {
|
|
| 204 |
* @param array $thumbnail_data The thumbnail data for the post.
|
| 205 |
* @param int $post_id The ID of the post the data is for.
|
| 206 |
*/
|
| 207 |
-
$thumbnail_data = apply_filters( 'tribe_post_thumbnail_data', $
|
| 208 |
|
| 209 |
$this->resolved();
|
| 210 |
|
| 147 |
* @return array An array of objects containing the post thumbnail data.
|
| 148 |
*/
|
| 149 |
public function fetch_data() {
|
| 150 |
+
static $cache_thumbnail = [];
|
| 151 |
+
|
| 152 |
if ( ! $this->exists() ) {
|
| 153 |
return [];
|
| 154 |
}
|
| 157 |
return $this->data;
|
| 158 |
}
|
| 159 |
|
|
|
|
| 160 |
$image_sizes = $this->get_image_sizes();
|
| 161 |
$thumbnail_id = $this->thumbnail_id;
|
| 162 |
|
| 163 |
+
$cache_key = empty( $thumbnail_id ) ? -1 : $thumbnail_id;
|
| 164 |
+
|
| 165 |
+
if ( empty( $cache_thumbnail[ $cache_key ] ) ) {
|
| 166 |
+
$thumbnail_data = array_combine(
|
| 167 |
+
$image_sizes,
|
| 168 |
+
array_map(
|
| 169 |
+
static function( $size ) use ( $thumbnail_id ) {
|
| 170 |
+
static $cache_size_data = [];
|
| 171 |
+
|
| 172 |
+
$size_data_cache_key = empty( $thumbnail_id ) ? -1 : $thumbnail_id;
|
| 173 |
+
$size_data_cache_key = "{$size_data_cache_key}:{$size}";
|
| 174 |
+
|
| 175 |
+
if ( ! isset( $cache_size_data[ $size_data_cache_key ] ) ) {
|
| 176 |
+
$cache_size_data[ $size_data_cache_key ] = wp_get_attachment_image_src( $thumbnail_id, $size );
|
| 177 |
+
}
|
| 178 |
+
|
| 179 |
+
$size_data = $cache_size_data[ $size_data_cache_key ];
|
| 180 |
+
|
| 181 |
+
if ( false === $size_data ) {
|
| 182 |
+
return (object) [
|
| 183 |
+
'url' => '',
|
| 184 |
+
'width' => '',
|
| 185 |
+
'height' => '',
|
| 186 |
+
'is_intermediate' => false,
|
| 187 |
+
];
|
| 188 |
+
}
|
| 189 |
|
|
|
|
| 190 |
return (object) [
|
| 191 |
+
'url' => Arr::get( $size_data, 0, '' ),
|
| 192 |
+
'width' => Arr::get( $size_data, 1, '' ),
|
| 193 |
+
'height' => Arr::get( $size_data, 2, '' ),
|
| 194 |
+
'is_intermediate' => (bool) Arr::get( $size_data, 3, false ),
|
| 195 |
];
|
| 196 |
+
},
|
| 197 |
+
$image_sizes
|
| 198 |
+
)
|
| 199 |
+
);
|
| 200 |
|
| 201 |
+
$srcset = wp_get_attachment_image_srcset( $thumbnail_id );
|
| 202 |
+
$thumbnail_data['srcset'] = ! empty( $srcset ) ? $srcset : false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 203 |
|
| 204 |
+
$title = get_the_title( $thumbnail_id );
|
| 205 |
+
$thumbnail_data['title'] = ! empty( $title ) ? $title : false;
|
| 206 |
|
| 207 |
+
$alt = trim( strip_tags( get_post_meta( $thumbnail_id, '_wp_attachment_image_alt', true ) ) );
|
| 208 |
+
$thumbnail_data['alt'] = ! empty( $alt ) ? $alt : false;
|
| 209 |
|
| 210 |
+
$cache_thumbnail[ $cache_key ] = $thumbnail_data;
|
| 211 |
+
}
|
| 212 |
|
| 213 |
/**
|
| 214 |
* Filters the post thumbnail data and information that will be returned for a specific post.
|
| 220 |
* @param array $thumbnail_data The thumbnail data for the post.
|
| 221 |
* @param int $post_id The ID of the post the data is for.
|
| 222 |
*/
|
| 223 |
+
$thumbnail_data = apply_filters( 'tribe_post_thumbnail_data', $cache_thumbnail[ $cache_key ], $this->post_id );
|
| 224 |
|
| 225 |
$this->resolved();
|
| 226 |
|
common/src/Tribe/View_Helpers.php
CHANGED
|
@@ -20,10 +20,18 @@ if ( ! class_exists( 'Tribe__View_Helpers' ) ) {
|
|
| 20 |
* @return array The countries array.
|
| 21 |
*/
|
| 22 |
public static function constructCountries( $postId = '', $useDefault = true ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 23 |
$eventCountries = tribe_get_option( 'tribeEventsCountries' );
|
| 24 |
|
| 25 |
if ( $eventCountries != '' ) {
|
| 26 |
-
$countries =
|
| 27 |
|
| 28 |
$country_rows = explode( "\n", $eventCountries );
|
| 29 |
foreach ( $country_rows as $crow ) {
|
|
@@ -65,11 +73,11 @@ if ( ! class_exists( 'Tribe__View_Helpers' ) ) {
|
|
| 65 |
$countries = array( '' => $selectCountry ) + $countries;
|
| 66 |
array_unique( $countries );
|
| 67 |
}
|
| 68 |
-
|
| 69 |
-
return $countries;
|
| 70 |
-
} else {
|
| 71 |
-
return $countries;
|
| 72 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 73 |
}
|
| 74 |
|
| 75 |
/**
|
| 20 |
* @return array The countries array.
|
| 21 |
*/
|
| 22 |
public static function constructCountries( $postId = '', $useDefault = true ) {
|
| 23 |
+
static $cache_var_name = __METHOD__;
|
| 24 |
+
|
| 25 |
+
$countries = tribe_get_var( $cache_var_name, null );
|
| 26 |
+
|
| 27 |
+
if ( $countries ) {
|
| 28 |
+
return $countries;
|
| 29 |
+
}
|
| 30 |
+
|
| 31 |
$eventCountries = tribe_get_option( 'tribeEventsCountries' );
|
| 32 |
|
| 33 |
if ( $eventCountries != '' ) {
|
| 34 |
+
$countries = [];
|
| 35 |
|
| 36 |
$country_rows = explode( "\n", $eventCountries );
|
| 37 |
foreach ( $country_rows as $crow ) {
|
| 73 |
$countries = array( '' => $selectCountry ) + $countries;
|
| 74 |
array_unique( $countries );
|
| 75 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 76 |
}
|
| 77 |
+
|
| 78 |
+
tribe_set_var( $cache_var_name, $countries );
|
| 79 |
+
|
| 80 |
+
return $countries;
|
| 81 |
}
|
| 82 |
|
| 83 |
/**
|
common/src/admin-views/tribe-options-display.php
CHANGED
|
@@ -31,12 +31,12 @@ $displayTab = array(
|
|
| 31 |
)
|
| 32 |
. '</p>',
|
| 33 |
),
|
| 34 |
-
'datepickerFormat' =>
|
| 35 |
'type' => 'dropdown',
|
| 36 |
'label' => esc_html__( 'Compact Date Format', 'tribe-common' ),
|
| 37 |
'tooltip' => esc_html__( 'Select the date format used for elements with minimal space, such as in datepickers.', 'tribe-common' ),
|
| 38 |
-
'default' =>
|
| 39 |
-
'options' =>
|
| 40 |
'0' => date( 'Y-m-d', $sample_date ),
|
| 41 |
'1' => date( 'n/j/Y', $sample_date ),
|
| 42 |
'2' => date( 'm/d/Y', $sample_date ),
|
|
@@ -49,13 +49,13 @@ $displayTab = array(
|
|
| 49 |
'9' => date( 'Y.m.d', $sample_date ),
|
| 50 |
'10' => date( 'm.d.Y', $sample_date ),
|
| 51 |
'11' => date( 'd.m.Y', $sample_date ),
|
| 52 |
-
|
| 53 |
'validation_type' => 'options',
|
| 54 |
-
|
| 55 |
-
'tribe-form-content-end' =>
|
| 56 |
'type' => 'html',
|
| 57 |
'html' => '</div>',
|
| 58 |
-
|
| 59 |
)
|
| 60 |
),
|
| 61 |
);
|
| 31 |
)
|
| 32 |
. '</p>',
|
| 33 |
),
|
| 34 |
+
'datepickerFormat' => [
|
| 35 |
'type' => 'dropdown',
|
| 36 |
'label' => esc_html__( 'Compact Date Format', 'tribe-common' ),
|
| 37 |
'tooltip' => esc_html__( 'Select the date format used for elements with minimal space, such as in datepickers.', 'tribe-common' ),
|
| 38 |
+
'default' => 1,
|
| 39 |
+
'options' => [
|
| 40 |
'0' => date( 'Y-m-d', $sample_date ),
|
| 41 |
'1' => date( 'n/j/Y', $sample_date ),
|
| 42 |
'2' => date( 'm/d/Y', $sample_date ),
|
| 49 |
'9' => date( 'Y.m.d', $sample_date ),
|
| 50 |
'10' => date( 'm.d.Y', $sample_date ),
|
| 51 |
'11' => date( 'd.m.Y', $sample_date ),
|
| 52 |
+
],
|
| 53 |
'validation_type' => 'options',
|
| 54 |
+
],
|
| 55 |
+
'tribe-form-content-end' => [
|
| 56 |
'type' => 'html',
|
| 57 |
'html' => '</div>',
|
| 58 |
+
],
|
| 59 |
)
|
| 60 |
),
|
| 61 |
);
|
common/src/functions/template-tags/date.php
CHANGED
|
@@ -277,6 +277,8 @@ if ( ! function_exists( 'tribe_get_start_date' ) ) {
|
|
| 277 |
* @return string|null Date
|
| 278 |
*/
|
| 279 |
function tribe_get_start_date( $event = null, $display_time = true, $date_format = '', $timezone = null ) {
|
|
|
|
|
|
|
| 280 |
if ( is_null( $event ) ) {
|
| 281 |
global $post;
|
| 282 |
$event = $post;
|
|
@@ -290,15 +292,23 @@ if ( ! function_exists( 'tribe_get_start_date' ) ) {
|
|
| 290 |
return '';
|
| 291 |
}
|
| 292 |
|
| 293 |
-
|
| 294 |
-
|
| 295 |
-
}
|
| 296 |
|
| 297 |
-
|
| 298 |
-
|
| 299 |
-
|
| 300 |
-
|
| 301 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 302 |
}
|
| 303 |
|
| 304 |
/**
|
|
@@ -307,7 +317,7 @@ if ( ! function_exists( 'tribe_get_start_date' ) ) {
|
|
| 307 |
* @param string $start_date
|
| 308 |
* @param WP_Post $event
|
| 309 |
*/
|
| 310 |
-
return apply_filters( 'tribe_get_start_date',
|
| 311 |
}
|
| 312 |
}
|
| 313 |
|
|
@@ -329,6 +339,8 @@ if ( ! function_exists( 'tribe_get_end_date' ) ) {
|
|
| 329 |
* @return string|null Date
|
| 330 |
*/
|
| 331 |
function tribe_get_end_date( $event = null, $display_time = true, $date_format = '', $timezone = null ) {
|
|
|
|
|
|
|
| 332 |
if ( is_null( $event ) ) {
|
| 333 |
global $post;
|
| 334 |
$event = $post;
|
|
@@ -342,15 +354,23 @@ if ( ! function_exists( 'tribe_get_end_date' ) ) {
|
|
| 342 |
return '';
|
| 343 |
}
|
| 344 |
|
| 345 |
-
|
| 346 |
-
|
| 347 |
-
}
|
| 348 |
|
| 349 |
-
|
| 350 |
-
|
| 351 |
-
|
| 352 |
-
|
| 353 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 354 |
}
|
| 355 |
|
| 356 |
/**
|
|
@@ -359,7 +379,7 @@ if ( ! function_exists( 'tribe_get_end_date' ) ) {
|
|
| 359 |
* @param string $end_date
|
| 360 |
* @param WP_Post $event
|
| 361 |
*/
|
| 362 |
-
return apply_filters( 'tribe_get_end_date',
|
| 363 |
}
|
| 364 |
}
|
| 365 |
|
| 277 |
* @return string|null Date
|
| 278 |
*/
|
| 279 |
function tribe_get_start_date( $event = null, $display_time = true, $date_format = '', $timezone = null ) {
|
| 280 |
+
static $cache_var_name = __FUNCTION__;
|
| 281 |
+
|
| 282 |
if ( is_null( $event ) ) {
|
| 283 |
global $post;
|
| 284 |
$event = $post;
|
| 292 |
return '';
|
| 293 |
}
|
| 294 |
|
| 295 |
+
$start_dates = tribe_get_var( $cache_var_name, [] );
|
| 296 |
+
$cache_key = "{$event->ID}:{$display_time}:{$date_format}:{$timezone}";
|
|
|
|
| 297 |
|
| 298 |
+
if ( ! isset( $start_dates[ $cache_key ] ) ) {
|
| 299 |
+
if ( Tribe__Date_Utils::is_all_day( get_post_meta( $event->ID, '_EventAllDay', true ) ) ) {
|
| 300 |
+
$display_time = false;
|
| 301 |
+
}
|
| 302 |
+
|
| 303 |
+
// @todo move timezones to Common
|
| 304 |
+
if ( class_exists( 'Tribe__Events__Timezones' ) ) {
|
| 305 |
+
$start_date = Tribe__Events__Timezones::event_start_timestamp( $event->ID, $timezone );
|
| 306 |
+
} else {
|
| 307 |
+
return null;
|
| 308 |
+
}
|
| 309 |
+
|
| 310 |
+
$start_dates[ $cache_key ] = tribe_format_date( $start_date, $display_time, $date_format );
|
| 311 |
+
tribe_set_var( $cache_var_name, $start_dates );
|
| 312 |
}
|
| 313 |
|
| 314 |
/**
|
| 317 |
* @param string $start_date
|
| 318 |
* @param WP_Post $event
|
| 319 |
*/
|
| 320 |
+
return apply_filters( 'tribe_get_start_date', $start_dates[ $cache_key ], $event );
|
| 321 |
}
|
| 322 |
}
|
| 323 |
|
| 339 |
* @return string|null Date
|
| 340 |
*/
|
| 341 |
function tribe_get_end_date( $event = null, $display_time = true, $date_format = '', $timezone = null ) {
|
| 342 |
+
static $cache_var_name = __FUNCTION__;
|
| 343 |
+
|
| 344 |
if ( is_null( $event ) ) {
|
| 345 |
global $post;
|
| 346 |
$event = $post;
|
| 354 |
return '';
|
| 355 |
}
|
| 356 |
|
| 357 |
+
$end_dates = tribe_get_var( $cache_var_name, [] );
|
| 358 |
+
$cache_key = "{$event->ID}:{$display_time}:{$date_format}:{$timezone}";
|
|
|
|
| 359 |
|
| 360 |
+
if ( ! isset( $end_dates[ $cache_key ] ) ) {
|
| 361 |
+
if ( Tribe__Date_Utils::is_all_day( get_post_meta( $event->ID, '_EventAllDay', true ) ) ) {
|
| 362 |
+
$display_time = false;
|
| 363 |
+
}
|
| 364 |
+
|
| 365 |
+
// @todo move timezones to Common
|
| 366 |
+
if ( class_exists( 'Tribe__Events__Timezones' ) ) {
|
| 367 |
+
$end_date = Tribe__Events__Timezones::event_end_timestamp( $event->ID );
|
| 368 |
+
} else {
|
| 369 |
+
return null;
|
| 370 |
+
}
|
| 371 |
+
|
| 372 |
+
$end_dates[ $cache_key ] = tribe_format_date( $end_date, $display_time, $date_format );
|
| 373 |
+
tribe_set_var( $cache_var_name, $end_dates );
|
| 374 |
}
|
| 375 |
|
| 376 |
/**
|
| 379 |
* @param string $end_date
|
| 380 |
* @param WP_Post $event
|
| 381 |
*/
|
| 382 |
+
return apply_filters( 'tribe_get_end_date', $end_dates[ $cache_key ], $event );
|
| 383 |
}
|
| 384 |
}
|
| 385 |
|
common/src/functions/template-tags/general.php
CHANGED
|
@@ -215,7 +215,15 @@ if ( ! function_exists( 'tribe_get_time_format' ) ) {
|
|
| 215 |
* @return mixed|void
|
| 216 |
*/
|
| 217 |
function tribe_get_time_format( ) {
|
| 218 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 219 |
return apply_filters( 'tribe_time_format', $format );
|
| 220 |
}
|
| 221 |
}//end if
|
| 215 |
* @return mixed|void
|
| 216 |
*/
|
| 217 |
function tribe_get_time_format( ) {
|
| 218 |
+
static $cache_var_name = __FUNCTION__;
|
| 219 |
+
|
| 220 |
+
$format = tribe_get_var( $cache_var_name, null );
|
| 221 |
+
|
| 222 |
+
if ( ! $format ) {
|
| 223 |
+
$format = get_option( 'time_format' );
|
| 224 |
+
tribe_set_var( $cache_var_name, $format );
|
| 225 |
+
}
|
| 226 |
+
|
| 227 |
return apply_filters( 'tribe_time_format', $format );
|
| 228 |
}
|
| 229 |
}//end if
|
common/src/functions/template-tags/post.php
CHANGED
|
@@ -63,3 +63,32 @@ function tribe_the_content( $more_link_text = null, $strip_teaser = false, $post
|
|
| 63 |
echo tribe_get_the_content( $more_link_text, $strip_teaser, $post_id );
|
| 64 |
}
|
| 65 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 63 |
echo tribe_get_the_content( $more_link_text, $strip_teaser, $post_id );
|
| 64 |
}
|
| 65 |
|
| 66 |
+
/**
|
| 67 |
+
* Wrapper for post_class function that allows us to in-memory cache
|
| 68 |
+
*
|
| 69 |
+
* @since 4.11.0
|
| 70 |
+
*
|
| 71 |
+
* @param string|string[] $class Space-separated string or array of class names to add to the class list.
|
| 72 |
+
* @param int|WP_Post $post_id Optional. Post ID or post object.
|
| 73 |
+
*
|
| 74 |
+
* @return string[] Array of class names.
|
| 75 |
+
*/
|
| 76 |
+
function tribe_get_post_class( $class, $post ) {
|
| 77 |
+
static $post_classes = [];
|
| 78 |
+
|
| 79 |
+
if ( is_numeric( $post ) ) {
|
| 80 |
+
$post_id = $post;
|
| 81 |
+
} else {
|
| 82 |
+
$post_id = $post->ID;
|
| 83 |
+
}
|
| 84 |
+
|
| 85 |
+
if ( ! isset( $post_classes[ $post_id ] ) ) {
|
| 86 |
+
$post_classes[ $post_id ] = get_post_class( [], $post );
|
| 87 |
+
}
|
| 88 |
+
|
| 89 |
+
if ( ! is_array( $class ) ) {
|
| 90 |
+
$class = explode( ' ', $class );
|
| 91 |
+
}
|
| 92 |
+
|
| 93 |
+
return array_merge( $class, $post_classes[ $post_id ] );
|
| 94 |
+
}
|
common/src/resources/css/common-full.css
CHANGED
|
@@ -339,10 +339,6 @@
|
|
| 339 |
* SVG - Arrow Right
|
| 340 |
* ----------------------------------------------------------------------------- */
|
| 341 |
|
| 342 |
-
/* -----------------------------------------------------------------------------
|
| 343 |
-
* SVG - Arrow (light, left)
|
| 344 |
-
* ----------------------------------------------------------------------------- */
|
| 345 |
-
|
| 346 |
/* -----------------------------------------------------------------------------
|
| 347 |
* SVG - Caret Down
|
| 348 |
* ----------------------------------------------------------------------------- */
|
|
@@ -376,15 +372,15 @@
|
|
| 376 |
* ----------------------------------------------------------------------------- */
|
| 377 |
|
| 378 |
/* -----------------------------------------------------------------------------
|
| 379 |
-
* SVG -
|
| 380 |
* ----------------------------------------------------------------------------- */
|
| 381 |
|
| 382 |
/* -----------------------------------------------------------------------------
|
| 383 |
-
* SVG -
|
| 384 |
* ----------------------------------------------------------------------------- */
|
| 385 |
|
| 386 |
/* -----------------------------------------------------------------------------
|
| 387 |
-
* SVG -
|
| 388 |
* ----------------------------------------------------------------------------- */
|
| 389 |
|
| 390 |
/* -----------------------------------------------------------------------------
|
|
@@ -395,24 +391,40 @@
|
|
| 395 |
* SVG - Location
|
| 396 |
* ----------------------------------------------------------------------------- */
|
| 397 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 398 |
/* -----------------------------------------------------------------------------
|
| 399 |
* SVG - Map
|
| 400 |
* ----------------------------------------------------------------------------- */
|
| 401 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 402 |
/* -----------------------------------------------------------------------------
|
| 403 |
* SVG - Month
|
| 404 |
* ----------------------------------------------------------------------------- */
|
| 405 |
|
| 406 |
/* -----------------------------------------------------------------------------
|
| 407 |
-
* SVG -
|
| 408 |
* ----------------------------------------------------------------------------- */
|
| 409 |
|
| 410 |
/* -----------------------------------------------------------------------------
|
| 411 |
-
* SVG -
|
|
|
|
|
|
|
|
|
|
|
|
|
| 412 |
* ----------------------------------------------------------------------------- */
|
| 413 |
|
| 414 |
/* -----------------------------------------------------------------------------
|
| 415 |
-
* SVG -
|
| 416 |
* ----------------------------------------------------------------------------- */
|
| 417 |
|
| 418 |
/* -----------------------------------------------------------------------------
|
|
@@ -545,10 +557,6 @@
|
|
| 545 |
* Button - Solid
|
| 546 |
* ----------------------------------------------------------------------------- */
|
| 547 |
|
| 548 |
-
/* -----------------------------------------------------------------------------
|
| 549 |
-
* Button - Link
|
| 550 |
-
* ----------------------------------------------------------------------------- */
|
| 551 |
-
|
| 552 |
/* -----------------------------------------------------------------------------
|
| 553 |
* Button - Border
|
| 554 |
* ----------------------------------------------------------------------------- */
|
|
@@ -990,6 +998,16 @@
|
|
| 990 |
border-bottom: 1px solid #D5D5D5;
|
| 991 |
}
|
| 992 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 993 |
.tribe-common .tribe-common-form-control-text__input::-webkit-input-placeholder {
|
| 994 |
color: #727272;
|
| 995 |
font-style: normal;
|
|
@@ -1056,6 +1074,16 @@
|
|
| 1056 |
box-shadow: none;
|
| 1057 |
}
|
| 1058 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1059 |
.tribe-common {
|
| 1060 |
|
| 1061 |
/* -----------------------------------------------------------------------------
|
|
@@ -1316,6 +1344,11 @@
|
|
| 1316 |
line-height: 1.62;
|
| 1317 |
}
|
| 1318 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1319 |
/* -------------------------------------------------------------------------
|
| 1320 |
*
|
| 1321 |
* Body
|
|
@@ -1341,6 +1374,11 @@
|
|
| 1341 |
line-height: 1.38;
|
| 1342 |
}
|
| 1343 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1344 |
.tribe-common .tribe-common-b2--bold {
|
| 1345 |
font-weight: 700;
|
| 1346 |
}
|
|
@@ -1357,6 +1395,11 @@
|
|
| 1357 |
line-height: 1.5;
|
| 1358 |
}
|
| 1359 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1360 |
.tribe-common .tribe-common-b3--bold {
|
| 1361 |
font-weight: 700;
|
| 1362 |
}
|
|
@@ -1365,14 +1408,29 @@
|
|
| 1365 |
* Body 1 for --viewport-medium
|
| 1366 |
* ------------------------------------------------------------------------- */
|
| 1367 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1368 |
/* -------------------------------------------------------------------------
|
| 1369 |
* Body 2 for --viewport-medium
|
| 1370 |
* ------------------------------------------------------------------------- */
|
| 1371 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1372 |
/* -------------------------------------------------------------------------
|
| 1373 |
* Body 3 for --viewport-medium
|
| 1374 |
* ------------------------------------------------------------------------- */
|
| 1375 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1376 |
.tribe-common {
|
| 1377 |
|
| 1378 |
/* -------------------------------------------------------------------------
|
|
@@ -1478,6 +1536,11 @@
|
|
| 1478 |
line-height: 1.42;
|
| 1479 |
}
|
| 1480 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1481 |
/* -------------------------------------------------------------------------
|
| 1482 |
* Heading: h2
|
| 1483 |
* ------------------------------------------------------------------------- */
|
|
@@ -1490,6 +1553,11 @@
|
|
| 1490 |
line-height: 1.42;
|
| 1491 |
}
|
| 1492 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1493 |
/* -------------------------------------------------------------------------
|
| 1494 |
* Heading: h3
|
| 1495 |
* ------------------------------------------------------------------------- */
|
|
@@ -1502,6 +1570,11 @@
|
|
| 1502 |
line-height: 1.5;
|
| 1503 |
}
|
| 1504 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1505 |
/* -------------------------------------------------------------------------
|
| 1506 |
* Heading: h4
|
| 1507 |
* ------------------------------------------------------------------------- */
|
|
@@ -1514,6 +1587,11 @@
|
|
| 1514 |
line-height: 1.42;
|
| 1515 |
}
|
| 1516 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1517 |
/* -------------------------------------------------------------------------
|
| 1518 |
* Heading: h5
|
| 1519 |
* ------------------------------------------------------------------------- */
|
|
@@ -1538,6 +1616,11 @@
|
|
| 1538 |
line-height: 1.5;
|
| 1539 |
}
|
| 1540 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1541 |
/* -------------------------------------------------------------------------
|
| 1542 |
* Heading: h7
|
| 1543 |
* ------------------------------------------------------------------------- */
|
|
@@ -1566,22 +1649,47 @@
|
|
| 1566 |
* Heading: h3 for --viewport-medium
|
| 1567 |
* ------------------------------------------------------------------------- */
|
| 1568 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1569 |
/* -------------------------------------------------------------------------
|
| 1570 |
* Heading: h4 for --viewport-medium
|
| 1571 |
* ------------------------------------------------------------------------- */
|
| 1572 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1573 |
/* -------------------------------------------------------------------------
|
| 1574 |
* Heading: h5 for --viewport-medium
|
| 1575 |
* ------------------------------------------------------------------------- */
|
| 1576 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1577 |
/* -------------------------------------------------------------------------
|
| 1578 |
* Heading: h6 for --viewport-medium
|
| 1579 |
* ------------------------------------------------------------------------- */
|
| 1580 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1581 |
/* -------------------------------------------------------------------------
|
| 1582 |
* Heading: h7 for --viewport-medium
|
| 1583 |
* ------------------------------------------------------------------------- */
|
| 1584 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1585 |
/* -------------------------------------------------------------------------
|
| 1586 |
* Heading: alt style
|
| 1587 |
* ------------------------------------------------------------------------- */
|
|
@@ -1606,6 +1714,11 @@
|
|
| 1606 |
line-height: 1.42;
|
| 1607 |
}
|
| 1608 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1609 |
/* -------------------------------------------------------------------------
|
| 1610 |
* Heading: h2
|
| 1611 |
* ------------------------------------------------------------------------- */
|
|
@@ -1618,6 +1731,11 @@
|
|
| 1618 |
line-height: 1.42;
|
| 1619 |
}
|
| 1620 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1621 |
/* -------------------------------------------------------------------------
|
| 1622 |
* Heading: h3
|
| 1623 |
* ------------------------------------------------------------------------- */
|
|
@@ -1630,6 +1748,11 @@
|
|
| 1630 |
line-height: 1.5;
|
| 1631 |
}
|
| 1632 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1633 |
/* -------------------------------------------------------------------------
|
| 1634 |
* Heading: h4
|
| 1635 |
* ------------------------------------------------------------------------- */
|
|
@@ -1642,6 +1765,11 @@
|
|
| 1642 |
line-height: 1.42;
|
| 1643 |
}
|
| 1644 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1645 |
/* -------------------------------------------------------------------------
|
| 1646 |
* Heading: h5
|
| 1647 |
* ------------------------------------------------------------------------- */
|
|
@@ -1666,6 +1794,11 @@
|
|
| 1666 |
line-height: 1.5;
|
| 1667 |
}
|
| 1668 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1669 |
/* -------------------------------------------------------------------------
|
| 1670 |
* Heading: h7
|
| 1671 |
* ------------------------------------------------------------------------- */
|
|
@@ -1694,22 +1827,47 @@
|
|
| 1694 |
* Heading: h3 for --viewport-medium
|
| 1695 |
* ------------------------------------------------------------------------- */
|
| 1696 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1697 |
/* -------------------------------------------------------------------------
|
| 1698 |
* Heading: h4 for --viewport-medium
|
| 1699 |
* ------------------------------------------------------------------------- */
|
| 1700 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1701 |
/* -------------------------------------------------------------------------
|
| 1702 |
* Heading: h5 for --viewport-medium
|
| 1703 |
* ------------------------------------------------------------------------- */
|
| 1704 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1705 |
/* -------------------------------------------------------------------------
|
| 1706 |
* Heading: h6 for --viewport-medium
|
| 1707 |
* ------------------------------------------------------------------------- */
|
| 1708 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1709 |
/* -------------------------------------------------------------------------
|
| 1710 |
* Heading: h7 for --viewport-medium
|
| 1711 |
* ------------------------------------------------------------------------- */
|
| 1712 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1713 |
/* -------------------------------------------------------------------------
|
| 1714 |
* Heading: alt style
|
| 1715 |
* ------------------------------------------------------------------------- */
|
|
@@ -1876,6 +2034,10 @@
|
|
| 1876 |
border-color: #141827;
|
| 1877 |
}
|
| 1878 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1879 |
.tribe-common .tribe-common-c-btn-border:active,
|
| 1880 |
.tribe-common .tribe-common-c-btn-border:focus,
|
| 1881 |
.tribe-common .tribe-common-c-btn-border:hover,
|
|
@@ -2024,10 +2186,15 @@
|
|
| 2024 |
-webkit-transition: background-color 0.2s ease;
|
| 2025 |
transition: background-color 0.2s ease;
|
| 2026 |
|
| 2027 |
-
padding: 11px 20px 11px;
|
| 2028 |
background-color: #334AFF;
|
|
|
|
|
|
|
| 2029 |
}
|
| 2030 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2031 |
.tribe-common .tribe-common-c-btn:focus,
|
| 2032 |
.tribe-common .tribe-common-c-btn:hover,
|
| 2033 |
.tribe-common a.tribe-common-c-btn:focus,
|
|
@@ -2140,161 +2307,3 @@
|
|
| 2140 |
|
| 2141 |
100% {}
|
| 2142 |
}
|
| 2143 |
-
|
| 2144 |
-
@media (min-width: 768px) {
|
| 2145 |
-
|
| 2146 |
-
.tribe-common .tribe-common-form-control-text__input {
|
| 2147 |
-
color: #141827;
|
| 2148 |
-
font-family: "Helvetica Neue", Helvetica, -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif;
|
| 2149 |
-
font-size: 14px;
|
| 2150 |
-
line-height: 1.62;
|
| 2151 |
-
font-weight: 400;
|
| 2152 |
-
|
| 2153 |
-
border: 0
|
| 2154 |
-
}
|
| 2155 |
-
|
| 2156 |
-
#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-text__input {
|
| 2157 |
-
color: #141827;
|
| 2158 |
-
font-family: "Helvetica Neue", Helvetica, -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif;
|
| 2159 |
-
font-size: 14px;
|
| 2160 |
-
line-height: 1.62;
|
| 2161 |
-
font-weight: 400;
|
| 2162 |
-
|
| 2163 |
-
border: 0
|
| 2164 |
-
}
|
| 2165 |
-
|
| 2166 |
-
.tribe-common .tribe-common-b1 {
|
| 2167 |
-
font-size: 16px;
|
| 2168 |
-
line-height: 1.62
|
| 2169 |
-
}
|
| 2170 |
-
|
| 2171 |
-
.tribe-common .tribe-common-b2 {
|
| 2172 |
-
font-size: 14px;
|
| 2173 |
-
line-height: 1.62
|
| 2174 |
-
}
|
| 2175 |
-
|
| 2176 |
-
.tribe-common .tribe-common-b3 {
|
| 2177 |
-
font-size: 12px;
|
| 2178 |
-
line-height: 1.38
|
| 2179 |
-
}
|
| 2180 |
-
|
| 2181 |
-
.tribe-common .tribe-common-b1--min-medium {
|
| 2182 |
-
font-size: 16px;
|
| 2183 |
-
line-height: 1.62
|
| 2184 |
-
}
|
| 2185 |
-
|
| 2186 |
-
.tribe-common .tribe-common-b2--min-medium {
|
| 2187 |
-
font-size: 14px;
|
| 2188 |
-
line-height: 1.62
|
| 2189 |
-
}
|
| 2190 |
-
|
| 2191 |
-
.tribe-common .tribe-common-b3--min-medium {
|
| 2192 |
-
font-size: 12px;
|
| 2193 |
-
line-height: 1.38
|
| 2194 |
-
}
|
| 2195 |
-
|
| 2196 |
-
.tribe-common .tribe-common-h1 {
|
| 2197 |
-
font-size: 42px;
|
| 2198 |
-
line-height: 1.38
|
| 2199 |
-
}
|
| 2200 |
-
|
| 2201 |
-
.tribe-common .tribe-common-h2 {
|
| 2202 |
-
font-size: 32px;
|
| 2203 |
-
line-height: 1.38
|
| 2204 |
-
}
|
| 2205 |
-
|
| 2206 |
-
.tribe-common .tribe-common-h3 {
|
| 2207 |
-
font-size: 28px;
|
| 2208 |
-
line-height: 1.42
|
| 2209 |
-
}
|
| 2210 |
-
|
| 2211 |
-
.tribe-common .tribe-common-h4 {
|
| 2212 |
-
font-size: 24px;
|
| 2213 |
-
line-height: 1.42
|
| 2214 |
-
}
|
| 2215 |
-
|
| 2216 |
-
.tribe-common .tribe-common-h6 {
|
| 2217 |
-
font-size: 16px;
|
| 2218 |
-
line-height: 1.62
|
| 2219 |
-
}
|
| 2220 |
-
|
| 2221 |
-
.tribe-common .tribe-common-h3--min-medium {
|
| 2222 |
-
font-size: 28px;
|
| 2223 |
-
line-height: 1.42
|
| 2224 |
-
}
|
| 2225 |
-
|
| 2226 |
-
.tribe-common .tribe-common-h4--min-medium {
|
| 2227 |
-
font-size: 24px;
|
| 2228 |
-
line-height: 1.42
|
| 2229 |
-
}
|
| 2230 |
-
|
| 2231 |
-
.tribe-common .tribe-common-h5--min-medium {
|
| 2232 |
-
font-size: 18px;
|
| 2233 |
-
line-height: 1.5
|
| 2234 |
-
}
|
| 2235 |
-
|
| 2236 |
-
.tribe-common .tribe-common-h6--min-medium {
|
| 2237 |
-
font-size: 16px;
|
| 2238 |
-
line-height: 1.62
|
| 2239 |
-
}
|
| 2240 |
-
|
| 2241 |
-
.tribe-common .tribe-common-h7--min-medium {
|
| 2242 |
-
font-size: 14px;
|
| 2243 |
-
line-height: 1.62
|
| 2244 |
-
}
|
| 2245 |
-
|
| 2246 |
-
.tribe-theme-avada #main .tribe-common .tribe-common-h1 {
|
| 2247 |
-
font-size: 42px;
|
| 2248 |
-
line-height: 1.38
|
| 2249 |
-
}
|
| 2250 |
-
|
| 2251 |
-
.tribe-theme-avada #main .tribe-common .tribe-common-h2 {
|
| 2252 |
-
font-size: 32px;
|
| 2253 |
-
line-height: 1.38
|
| 2254 |
-
}
|
| 2255 |
-
|
| 2256 |
-
.tribe-theme-avada #main .tribe-common .tribe-common-h3 {
|
| 2257 |
-
font-size: 28px;
|
| 2258 |
-
line-height: 1.42
|
| 2259 |
-
}
|
| 2260 |
-
|
| 2261 |
-
.tribe-theme-avada #main .tribe-common .tribe-common-h4 {
|
| 2262 |
-
font-size: 24px;
|
| 2263 |
-
line-height: 1.42
|
| 2264 |
-
}
|
| 2265 |
-
|
| 2266 |
-
.tribe-theme-avada #main .tribe-common .tribe-common-h6 {
|
| 2267 |
-
font-size: 16px;
|
| 2268 |
-
line-height: 1.62
|
| 2269 |
-
}
|
| 2270 |
-
|
| 2271 |
-
.tribe-theme-avada #main .tribe-common .tribe-common-h3--min-medium {
|
| 2272 |
-
font-size: 28px;
|
| 2273 |
-
line-height: 1.42
|
| 2274 |
-
}
|
| 2275 |
-
|
| 2276 |
-
.tribe-theme-avada #main .tribe-common .tribe-common-h4--min-medium {
|
| 2277 |
-
font-size: 24px;
|
| 2278 |
-
line-height: 1.42
|
| 2279 |
-
}
|
| 2280 |
-
|
| 2281 |
-
.tribe-theme-avada #main .tribe-common .tribe-common-h5--min-medium {
|
| 2282 |
-
font-size: 18px;
|
| 2283 |
-
line-height: 1.5
|
| 2284 |
-
}
|
| 2285 |
-
|
| 2286 |
-
.tribe-theme-avada #main .tribe-common .tribe-common-h6--min-medium {
|
| 2287 |
-
font-size: 16px;
|
| 2288 |
-
line-height: 1.62
|
| 2289 |
-
}
|
| 2290 |
-
|
| 2291 |
-
.tribe-theme-avada #main .tribe-common .tribe-common-h7--min-medium {
|
| 2292 |
-
font-size: 14px;
|
| 2293 |
-
line-height: 1.62
|
| 2294 |
-
}
|
| 2295 |
-
|
| 2296 |
-
.tribe-common .tribe-common-c-btn-border,
|
| 2297 |
-
.tribe-common a.tribe-common-c-btn-border {
|
| 2298 |
-
padding: 6px 15px
|
| 2299 |
-
}
|
| 2300 |
-
}
|
| 339 |
* SVG - Arrow Right
|
| 340 |
* ----------------------------------------------------------------------------- */
|
| 341 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 342 |
/* -----------------------------------------------------------------------------
|
| 343 |
* SVG - Caret Down
|
| 344 |
* ----------------------------------------------------------------------------- */
|
| 372 |
* ----------------------------------------------------------------------------- */
|
| 373 |
|
| 374 |
/* -----------------------------------------------------------------------------
|
| 375 |
+
* SVG - Featured
|
| 376 |
* ----------------------------------------------------------------------------- */
|
| 377 |
|
| 378 |
/* -----------------------------------------------------------------------------
|
| 379 |
+
* SVG - Filters
|
| 380 |
* ----------------------------------------------------------------------------- */
|
| 381 |
|
| 382 |
/* -----------------------------------------------------------------------------
|
| 383 |
+
* SVG - Link
|
| 384 |
* ----------------------------------------------------------------------------- */
|
| 385 |
|
| 386 |
/* -----------------------------------------------------------------------------
|
| 391 |
* SVG - Location
|
| 392 |
* ----------------------------------------------------------------------------- */
|
| 393 |
|
| 394 |
+
/* -----------------------------------------------------------------------------
|
| 395 |
+
* SVG - Mail
|
| 396 |
+
* ----------------------------------------------------------------------------- */
|
| 397 |
+
|
| 398 |
/* -----------------------------------------------------------------------------
|
| 399 |
* SVG - Map
|
| 400 |
* ----------------------------------------------------------------------------- */
|
| 401 |
|
| 402 |
+
/* -----------------------------------------------------------------------------
|
| 403 |
+
* SVG - Map pin
|
| 404 |
+
* ----------------------------------------------------------------------------- */
|
| 405 |
+
|
| 406 |
+
/* -----------------------------------------------------------------------------
|
| 407 |
+
* SVG - Messages
|
| 408 |
+
* ----------------------------------------------------------------------------- */
|
| 409 |
+
|
| 410 |
/* -----------------------------------------------------------------------------
|
| 411 |
* SVG - Month
|
| 412 |
* ----------------------------------------------------------------------------- */
|
| 413 |
|
| 414 |
/* -----------------------------------------------------------------------------
|
| 415 |
+
* SVG - No Map
|
| 416 |
* ----------------------------------------------------------------------------- */
|
| 417 |
|
| 418 |
/* -----------------------------------------------------------------------------
|
| 419 |
+
* SVG - Phone
|
| 420 |
+
* ----------------------------------------------------------------------------- */
|
| 421 |
+
|
| 422 |
+
/* -----------------------------------------------------------------------------
|
| 423 |
+
* SVG - Photo
|
| 424 |
* ----------------------------------------------------------------------------- */
|
| 425 |
|
| 426 |
/* -----------------------------------------------------------------------------
|
| 427 |
+
* SVG - Recurring
|
| 428 |
* ----------------------------------------------------------------------------- */
|
| 429 |
|
| 430 |
/* -----------------------------------------------------------------------------
|
| 557 |
* Button - Solid
|
| 558 |
* ----------------------------------------------------------------------------- */
|
| 559 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 560 |
/* -----------------------------------------------------------------------------
|
| 561 |
* Button - Border
|
| 562 |
* ----------------------------------------------------------------------------- */
|
| 998 |
border-bottom: 1px solid #D5D5D5;
|
| 999 |
}
|
| 1000 |
|
| 1001 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-form-control-text__input {
|
| 1002 |
+
color: #141827;
|
| 1003 |
+
font-family: "Helvetica Neue", Helvetica, -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif;
|
| 1004 |
+
font-size: 14px;
|
| 1005 |
+
line-height: 1.62;
|
| 1006 |
+
font-weight: 400;
|
| 1007 |
+
|
| 1008 |
+
border: 0;
|
| 1009 |
+
}
|
| 1010 |
+
|
| 1011 |
.tribe-common .tribe-common-form-control-text__input::-webkit-input-placeholder {
|
| 1012 |
color: #727272;
|
| 1013 |
font-style: normal;
|
| 1074 |
box-shadow: none;
|
| 1075 |
}
|
| 1076 |
|
| 1077 |
+
#top.tribe-theme-enfold .tribe-common.tribe-common--breakpoint-medium .tribe-common-form-control-text__input {
|
| 1078 |
+
color: #141827;
|
| 1079 |
+
font-family: "Helvetica Neue", Helvetica, -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif;
|
| 1080 |
+
font-size: 14px;
|
| 1081 |
+
line-height: 1.62;
|
| 1082 |
+
font-weight: 400;
|
| 1083 |
+
|
| 1084 |
+
border: 0;
|
| 1085 |
+
}
|
| 1086 |
+
|
| 1087 |
.tribe-common {
|
| 1088 |
|
| 1089 |
/* -----------------------------------------------------------------------------
|
| 1344 |
line-height: 1.62;
|
| 1345 |
}
|
| 1346 |
|
| 1347 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-b1 {
|
| 1348 |
+
font-size: 16px;
|
| 1349 |
+
line-height: 1.62;
|
| 1350 |
+
}
|
| 1351 |
+
|
| 1352 |
/* -------------------------------------------------------------------------
|
| 1353 |
*
|
| 1354 |
* Body
|
| 1374 |
line-height: 1.38;
|
| 1375 |
}
|
| 1376 |
|
| 1377 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-b2 {
|
| 1378 |
+
font-size: 14px;
|
| 1379 |
+
line-height: 1.62;
|
| 1380 |
+
}
|
| 1381 |
+
|
| 1382 |
.tribe-common .tribe-common-b2--bold {
|
| 1383 |
font-weight: 700;
|
| 1384 |
}
|
| 1395 |
line-height: 1.5;
|
| 1396 |
}
|
| 1397 |
|
| 1398 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-b3 {
|
| 1399 |
+
font-size: 12px;
|
| 1400 |
+
line-height: 1.38;
|
| 1401 |
+
}
|
| 1402 |
+
|
| 1403 |
.tribe-common .tribe-common-b3--bold {
|
| 1404 |
font-weight: 700;
|
| 1405 |
}
|
| 1408 |
* Body 1 for --viewport-medium
|
| 1409 |
* ------------------------------------------------------------------------- */
|
| 1410 |
|
| 1411 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-b1--min-medium {
|
| 1412 |
+
font-size: 16px;
|
| 1413 |
+
line-height: 1.62;
|
| 1414 |
+
}
|
| 1415 |
+
|
| 1416 |
/* -------------------------------------------------------------------------
|
| 1417 |
* Body 2 for --viewport-medium
|
| 1418 |
* ------------------------------------------------------------------------- */
|
| 1419 |
|
| 1420 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-b2--min-medium {
|
| 1421 |
+
font-size: 14px;
|
| 1422 |
+
line-height: 1.62;
|
| 1423 |
+
}
|
| 1424 |
+
|
| 1425 |
/* -------------------------------------------------------------------------
|
| 1426 |
* Body 3 for --viewport-medium
|
| 1427 |
* ------------------------------------------------------------------------- */
|
| 1428 |
|
| 1429 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-b3--min-medium {
|
| 1430 |
+
font-size: 12px;
|
| 1431 |
+
line-height: 1.38;
|
| 1432 |
+
}
|
| 1433 |
+
|
| 1434 |
.tribe-common {
|
| 1435 |
|
| 1436 |
/* -------------------------------------------------------------------------
|
| 1536 |
line-height: 1.42;
|
| 1537 |
}
|
| 1538 |
|
| 1539 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-h1 {
|
| 1540 |
+
font-size: 42px;
|
| 1541 |
+
line-height: 1.38;
|
| 1542 |
+
}
|
| 1543 |
+
|
| 1544 |
/* -------------------------------------------------------------------------
|
| 1545 |
* Heading: h2
|
| 1546 |
* ------------------------------------------------------------------------- */
|
| 1553 |
line-height: 1.42;
|
| 1554 |
}
|
| 1555 |
|
| 1556 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-h2 {
|
| 1557 |
+
font-size: 32px;
|
| 1558 |
+
line-height: 1.38;
|
| 1559 |
+
}
|
| 1560 |
+
|
| 1561 |
/* -------------------------------------------------------------------------
|
| 1562 |
* Heading: h3
|
| 1563 |
* ------------------------------------------------------------------------- */
|
| 1570 |
line-height: 1.5;
|
| 1571 |
}
|
| 1572 |
|
| 1573 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-h3 {
|
| 1574 |
+
font-size: 28px;
|
| 1575 |
+
line-height: 1.42;
|
| 1576 |
+
}
|
| 1577 |
+
|
| 1578 |
/* -------------------------------------------------------------------------
|
| 1579 |
* Heading: h4
|
| 1580 |
* ------------------------------------------------------------------------- */
|
| 1587 |
line-height: 1.42;
|
| 1588 |
}
|
| 1589 |
|
| 1590 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-h4 {
|
| 1591 |
+
font-size: 24px;
|
| 1592 |
+
line-height: 1.42;
|
| 1593 |
+
}
|
| 1594 |
+
|
| 1595 |
/* -------------------------------------------------------------------------
|
| 1596 |
* Heading: h5
|
| 1597 |
* ------------------------------------------------------------------------- */
|
| 1616 |
line-height: 1.5;
|
| 1617 |
}
|
| 1618 |
|
| 1619 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-h6 {
|
| 1620 |
+
font-size: 16px;
|
| 1621 |
+
line-height: 1.62;
|
| 1622 |
+
}
|
| 1623 |
+
|
| 1624 |
/* -------------------------------------------------------------------------
|
| 1625 |
* Heading: h7
|
| 1626 |
* ------------------------------------------------------------------------- */
|
| 1649 |
* Heading: h3 for --viewport-medium
|
| 1650 |
* ------------------------------------------------------------------------- */
|
| 1651 |
|
| 1652 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-h3--min-medium {
|
| 1653 |
+
font-size: 28px;
|
| 1654 |
+
line-height: 1.42;
|
| 1655 |
+
}
|
| 1656 |
+
|
| 1657 |
/* -------------------------------------------------------------------------
|
| 1658 |
* Heading: h4 for --viewport-medium
|
| 1659 |
* ------------------------------------------------------------------------- */
|
| 1660 |
|
| 1661 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-h4--min-medium {
|
| 1662 |
+
font-size: 24px;
|
| 1663 |
+
line-height: 1.42;
|
| 1664 |
+
}
|
| 1665 |
+
|
| 1666 |
/* -------------------------------------------------------------------------
|
| 1667 |
* Heading: h5 for --viewport-medium
|
| 1668 |
* ------------------------------------------------------------------------- */
|
| 1669 |
|
| 1670 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-h5--min-medium {
|
| 1671 |
+
font-size: 18px;
|
| 1672 |
+
line-height: 1.5;
|
| 1673 |
+
}
|
| 1674 |
+
|
| 1675 |
/* -------------------------------------------------------------------------
|
| 1676 |
* Heading: h6 for --viewport-medium
|
| 1677 |
* ------------------------------------------------------------------------- */
|
| 1678 |
|
| 1679 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-h6--min-medium {
|
| 1680 |
+
font-size: 16px;
|
| 1681 |
+
line-height: 1.62;
|
| 1682 |
+
}
|
| 1683 |
+
|
| 1684 |
/* -------------------------------------------------------------------------
|
| 1685 |
* Heading: h7 for --viewport-medium
|
| 1686 |
* ------------------------------------------------------------------------- */
|
| 1687 |
|
| 1688 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-h7--min-medium {
|
| 1689 |
+
font-size: 14px;
|
| 1690 |
+
line-height: 1.62;
|
| 1691 |
+
}
|
| 1692 |
+
|
| 1693 |
/* -------------------------------------------------------------------------
|
| 1694 |
* Heading: alt style
|
| 1695 |
* ------------------------------------------------------------------------- */
|
| 1714 |
line-height: 1.42;
|
| 1715 |
}
|
| 1716 |
|
| 1717 |
+
.tribe-theme-avada #main .tribe-common.tribe-common--breakpoint-medium .tribe-common-h1 {
|
| 1718 |
+
font-size: 42px;
|
| 1719 |
+
line-height: 1.38;
|
| 1720 |
+
}
|
| 1721 |
+
|
| 1722 |
/* -------------------------------------------------------------------------
|
| 1723 |
* Heading: h2
|
| 1724 |
* ------------------------------------------------------------------------- */
|
| 1731 |
line-height: 1.42;
|
| 1732 |
}
|
| 1733 |
|
| 1734 |
+
.tribe-theme-avada #main .tribe-common.tribe-common--breakpoint-medium .tribe-common-h2 {
|
| 1735 |
+
font-size: 32px;
|
| 1736 |
+
line-height: 1.38;
|
| 1737 |
+
}
|
| 1738 |
+
|
| 1739 |
/* -------------------------------------------------------------------------
|
| 1740 |
* Heading: h3
|
| 1741 |
* ------------------------------------------------------------------------- */
|
| 1748 |
line-height: 1.5;
|
| 1749 |
}
|
| 1750 |
|
| 1751 |
+
.tribe-theme-avada #main .tribe-common.tribe-common--breakpoint-medium .tribe-common-h3 {
|
| 1752 |
+
font-size: 28px;
|
| 1753 |
+
line-height: 1.42;
|
| 1754 |
+
}
|
| 1755 |
+
|
| 1756 |
/* -------------------------------------------------------------------------
|
| 1757 |
* Heading: h4
|
| 1758 |
* ------------------------------------------------------------------------- */
|
| 1765 |
line-height: 1.42;
|
| 1766 |
}
|
| 1767 |
|
| 1768 |
+
.tribe-theme-avada #main .tribe-common.tribe-common--breakpoint-medium .tribe-common-h4 {
|
| 1769 |
+
font-size: 24px;
|
| 1770 |
+
line-height: 1.42;
|
| 1771 |
+
}
|
| 1772 |
+
|
| 1773 |
/* -------------------------------------------------------------------------
|
| 1774 |
* Heading: h5
|
| 1775 |
* ------------------------------------------------------------------------- */
|
| 1794 |
line-height: 1.5;
|
| 1795 |
}
|
| 1796 |
|
| 1797 |
+
.tribe-theme-avada #main .tribe-common.tribe-common--breakpoint-medium .tribe-common-h6 {
|
| 1798 |
+
font-size: 16px;
|
| 1799 |
+
line-height: 1.62;
|
| 1800 |
+
}
|
| 1801 |
+
|
| 1802 |
/* -------------------------------------------------------------------------
|
| 1803 |
* Heading: h7
|
| 1804 |
* ------------------------------------------------------------------------- */
|
| 1827 |
* Heading: h3 for --viewport-medium
|
| 1828 |
* ------------------------------------------------------------------------- */
|
| 1829 |
|
| 1830 |
+
.tribe-theme-avada #main .tribe-common.tribe-common--breakpoint-medium .tribe-common-h3--min-medium {
|
| 1831 |
+
font-size: 28px;
|
| 1832 |
+
line-height: 1.42;
|
| 1833 |
+
}
|
| 1834 |
+
|
| 1835 |
/* -------------------------------------------------------------------------
|
| 1836 |
* Heading: h4 for --viewport-medium
|
| 1837 |
* ------------------------------------------------------------------------- */
|
| 1838 |
|
| 1839 |
+
.tribe-theme-avada #main .tribe-common.tribe-common--breakpoint-medium .tribe-common-h4--min-medium {
|
| 1840 |
+
font-size: 24px;
|
| 1841 |
+
line-height: 1.42;
|
| 1842 |
+
}
|
| 1843 |
+
|
| 1844 |
/* -------------------------------------------------------------------------
|
| 1845 |
* Heading: h5 for --viewport-medium
|
| 1846 |
* ------------------------------------------------------------------------- */
|
| 1847 |
|
| 1848 |
+
.tribe-theme-avada #main .tribe-common.tribe-common--breakpoint-medium .tribe-common-h5--min-medium {
|
| 1849 |
+
font-size: 18px;
|
| 1850 |
+
line-height: 1.5;
|
| 1851 |
+
}
|
| 1852 |
+
|
| 1853 |
/* -------------------------------------------------------------------------
|
| 1854 |
* Heading: h6 for --viewport-medium
|
| 1855 |
* ------------------------------------------------------------------------- */
|
| 1856 |
|
| 1857 |
+
.tribe-theme-avada #main .tribe-common.tribe-common--breakpoint-medium .tribe-common-h6--min-medium {
|
| 1858 |
+
font-size: 16px;
|
| 1859 |
+
line-height: 1.62;
|
| 1860 |
+
}
|
| 1861 |
+
|
| 1862 |
/* -------------------------------------------------------------------------
|
| 1863 |
* Heading: h7 for --viewport-medium
|
| 1864 |
* ------------------------------------------------------------------------- */
|
| 1865 |
|
| 1866 |
+
.tribe-theme-avada #main .tribe-common.tribe-common--breakpoint-medium .tribe-common-h7--min-medium {
|
| 1867 |
+
font-size: 14px;
|
| 1868 |
+
line-height: 1.62;
|
| 1869 |
+
}
|
| 1870 |
+
|
| 1871 |
/* -------------------------------------------------------------------------
|
| 1872 |
* Heading: alt style
|
| 1873 |
* ------------------------------------------------------------------------- */
|
| 2034 |
border-color: #141827;
|
| 2035 |
}
|
| 2036 |
|
| 2037 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-c-btn-border, .tribe-common--breakpoint-medium.tribe-common a.tribe-common-c-btn-border {
|
| 2038 |
+
padding: 6px 15px;
|
| 2039 |
+
}
|
| 2040 |
+
|
| 2041 |
.tribe-common .tribe-common-c-btn-border:active,
|
| 2042 |
.tribe-common .tribe-common-c-btn-border:focus,
|
| 2043 |
.tribe-common .tribe-common-c-btn-border:hover,
|
| 2186 |
-webkit-transition: background-color 0.2s ease;
|
| 2187 |
transition: background-color 0.2s ease;
|
| 2188 |
|
|
|
|
| 2189 |
background-color: #334AFF;
|
| 2190 |
+
padding: 11px 20px 11px;
|
| 2191 |
+
width: 100%;
|
| 2192 |
}
|
| 2193 |
|
| 2194 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-c-btn, .tribe-common--breakpoint-medium.tribe-common a.tribe-common-c-btn {
|
| 2195 |
+
width: auto;
|
| 2196 |
+
}
|
| 2197 |
+
|
| 2198 |
.tribe-common .tribe-common-c-btn:focus,
|
| 2199 |
.tribe-common .tribe-common-c-btn:hover,
|
| 2200 |
.tribe-common a.tribe-common-c-btn:focus,
|
| 2307 |
|
| 2308 |
100% {}
|
| 2309 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
common/src/resources/css/common-full.min.css
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
.tribe-common figure{line-height:0}.tribe-common figcaption{line-height:normal}.tribe-common a{background-color:transparent;-webkit-text-decoration-skip:objects}.tribe-common abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.tribe-common code,.tribe-common kbd,.tribe-common pre,.tribe-common samp{font-family:monospace;font-size:1em}.tribe-common b,.tribe-common strong{font-weight:inherit;font-weight:bolder}.tribe-common dfn{font-style:italic}.tribe-common mark{background-color:#ff0;color:#000}.tribe-common small{font-size:80%}.tribe-common sub,.tribe-common sup{font-size:75%;line-height:0}.tribe-common hr{border:0;height:0}.tribe-common button,.tribe-common input[type=button],.tribe-common input[type=email],.tribe-common input[type=password],.tribe-common input[type=reset],.tribe-common input[type=search],.tribe-common input[type=submit],.tribe-common input[type=text],.tribe-common input[type=url],.tribe-common textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none}.tribe-common button,.tribe-common input,.tribe-common optgroup,.tribe-common select,.tribe-common textarea{color:inherit;font:inherit;line-height:normal;-webkit-font-smoothing:antialiased}.tribe-common button,.tribe-common input,.tribe-common select,.tribe-common textarea{outline:0;border-radius:0}.tribe-common select:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}.tribe-common optgroup{font-weight:700}.tribe-common h1,.tribe-common h2,.tribe-common h3,.tribe-common h4,.tribe-common h5,.tribe-common h6,.tribe-common p{font-weight:400;text-rendering:optimizeLegibility}.tribe-theme-twentynineteen .tribe-common h1:before,.tribe-theme-twentynineteen .tribe-common h2:before{content:none}.tribe-theme-twentynineteen .tribe-common button,.tribe-theme-twentynineteen .tribe-common input[type=button],.tribe-theme-twentynineteen .tribe-common input[type=reset],.tribe-theme-twentynineteen .tribe-common input[type=submit]{outline:none}.tribe-theme-twentynineteen .tribe-common td,.tribe-theme-twentynineteen .tribe-common th{word-break:normal}.tribe-theme-twentyseventeen .tribe-common h5{letter-spacing:normal;text-transform:none}.tribe-theme-twentyseventeen .tribe-common input[type=text]{border-radius:0}.tribe-theme-twentytwenty .tribe-common{background-color:#fff;letter-spacing:normal}.tribe-theme-twentytwenty .tribe-common input,.tribe-theme-twentytwenty .tribe-common textarea{letter-spacing:normal}.tribe-theme-twentytwenty .tribe-common *{word-break:normal}.tribe-common .tribe-common-form-control-checkbox,.tribe-common .tribe-common-form-control-radio{line-height:0}.tribe-common .tribe-common-form-control-checkbox__label,.tribe-common .tribe-common-form-control-radio__label{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:14px;line-height:1.62;font-weight:400;color:#727272}.tribe-common .tribe-common-form-control-checkbox__input,.tribe-common .tribe-common-form-control-radio__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:1px solid #141827;height:20px;position:relative;width:20px}.tribe-common .tribe-common-form-control-checkbox__input:active,.tribe-common .tribe-common-form-control-checkbox__input:focus,.tribe-common .tribe-common-form-control-checkbox__input:hover,.tribe-common .tribe-common-form-control-radio__input:active,.tribe-common .tribe-common-form-control-radio__input:focus,.tribe-common .tribe-common-form-control-radio__input:hover{border:1px solid #141827}.tribe-common .tribe-common-form-control-checkbox__input:checked,.tribe-common .tribe-common-form-control-radio__input:checked{background-color:#141827}.tribe-common .tribe-common-form-control-checkbox__input:checked:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='9' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.6.1L3.9 6.8 1.4 4.3c-.1-.1-.3-.1-.4 0l-.8.8c-.1.1-.1.3 0 .4l3.4 3.4c.2.1.4.1.5 0l7.7-7.7c.1-.1.1-.3 0-.4L11 .1c-.1-.1-.3-.1-.4 0z' fill='%23FFF'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;content:"";display:block;height:9px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:12px}.tribe-common .tribe-common-form-control-radio__input{border-radius:50%}.tribe-common .tribe-common-form-control-radio__input:checked:before{background-color:#fff;border-radius:50%;content:"";display:block;height:8px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:8px}#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-checkbox__label,#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-radio__label{font-weight:400;font-size:14px}.tribe-common .tribe-common-form-control-slider{line-height:0}.tribe-common .tribe-common-form-control-slider__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:0}.tribe-common .tribe-common-form-control-slider__input::-webkit-slider-runnable-track{border:none;border-radius:5px;height:10px;margin:5px 0;padding:0;position:relative;transition:background-color .2s ease;background-color:#334aff}.tribe-common .tribe-common-form-control-slider__input::-moz-range-track{border:none;border-radius:5px;height:10px;margin:5px 0;padding:0;position:relative;transition:background-color .2s ease;background-color:#334aff}.tribe-common .tribe-common-form-control-slider__input::-ms-track{background-color:transparent;border-color:transparent;border-width:5px 0;color:transparent;height:10px}.tribe-common .tribe-common-form-control-slider__input::-ms-fill-lower,.tribe-common .tribe-common-form-control-slider__input::-ms-fill-upper{background-color:#334aff;border-radius:10px}.tribe-common .tribe-common-form-control-slider__input::-webkit-slider-thumb{background-color:#fff;border:1px solid #d5d5d5;border-radius:50%;box-shadow:0 2px 5px 0 rgba(0,0,0,.14);height:20px;width:20px;margin-top:-5px;-webkit-appearance:none;appearance:none}.tribe-common .tribe-common-form-control-slider__input::-moz-range-thumb{background-color:#fff;border:1px solid #d5d5d5;border-radius:50%;box-shadow:0 2px 5px 0 rgba(0,0,0,.14);height:20px;width:20px;margin-top:-5px}.tribe-common .tribe-common-form-control-slider__input::-ms-thumb{background-color:#fff;border:1px solid #d5d5d5;border-radius:50%;box-shadow:0 2px 5px 0 rgba(0,0,0,.14);height:20px;width:20px;margin-top:-5px;box-shadow:none;margin-top:-1px}.tribe-common .tribe-common-form-control-slider__label{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:12px;line-height:1.38;font-weight:400;color:#727272}#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-slider__label{font-weight:400;font-size:12px}.tribe-common .tribe-common-form-control-text__input{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:16px;line-height:1.62;font-weight:400;border:0;border-bottom:1px solid #d5d5d5}.tribe-common .tribe-common-form-control-text__input::-webkit-input-placeholder{color:#727272;font-style:normal}.tribe-common .tribe-common-form-control-text__input::-moz-placeholder{color:#727272;font-style:normal}.tribe-common .tribe-common-form-control-text__input:-ms-input-placeholder,.tribe-common .tribe-common-form-control-text__input::-ms-input-placeholder{color:#727272;font-style:normal}.tribe-common .tribe-common-form-control-text__input::placeholder{color:#727272;font-style:normal}.tribe-common .tribe-common-form-control-text__input:focus{border-bottom-color:#141827;outline:0}.tribe-theme-twentyseventeen .tribe-common .tribe-common-form-control-text__input{color:#141827}.tribe-theme-twentytwenty .tribe-common .tribe-common-form-control-text__input{line-height:inherit}#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-text__input{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:16px;line-height:1.62;font-weight:400;border:0;border-bottom:1px solid #d5d5d5}#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-text__input:focus{border-bottom-color:#141827;box-shadow:none}.tribe-common .tribe-common-form-control-toggle{line-height:0}.tribe-common .tribe-common-form-control-toggle__input{border:none;border-radius:5px;height:10px;margin:5px 0;padding:0;position:relative;transition:background-color .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#d5d5d5;width:40px}.tribe-common .tribe-common-form-control-toggle__input:after{background-color:#fff;border:1px solid #d5d5d5;border-radius:50%;box-shadow:0 2px 5px 0 rgba(0,0,0,.14);height:20px;width:20px;content:"";left:0;position:absolute;top:-5px;transition:transform .2s ease}.tribe-common .tribe-common-form-control-toggle__input:checked{background-color:#334aff}.tribe-common .tribe-common-form-control-toggle__input:checked:after{transform:translateX(20px)}.tribe-common .tribe-common-form-control-toggle__label{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:12px;line-height:1.38;font-weight:400;color:#727272}#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-toggle__label{font-weight:400;font-size:12px}.tribe-common a,.tribe-common a:active,.tribe-common a:focus,.tribe-common a:hover,.tribe-common a:visited{color:#141827;outline:0;text-decoration:none}.tribe-theme-twentyseventeen .tribe-common a{box-shadow:none}.tribe-theme-twentyseventeen .tribe-common a:focus,.tribe-theme-twentyseventeen .tribe-common a:hover{box-shadow:none;color:#141827}.tribe-theme-twentynineteen .entry .tribe-common a,.tribe-theme-twentynineteen .tribe-common a{text-decoration:none}.tribe-common .tribe-common-anchor{border-bottom:2px solid transparent;transition:border-color .2s ease}.tribe-common .tribe-common-anchor:active,.tribe-common .tribe-common-anchor:focus,.tribe-common .tribe-common-anchor:hover{border-bottom:2px solid #141827}.tribe-common .tribe-common-anchor-alt{border-bottom:2px solid #334aff;color:#141827;transition:color .2s ease}.tribe-common .tribe-common-anchor-alt:active,.tribe-common .tribe-common-anchor-alt:focus,.tribe-common .tribe-common-anchor-alt:hover{border-bottom:2px solid #334aff;color:#334aff}.tribe-common .tribe-common-anchor-thin{border-bottom:1px solid transparent;transition:border-color .2s ease}.tribe-common .tribe-common-anchor-thin:active,.tribe-common .tribe-common-anchor-thin:focus,.tribe-common .tribe-common-anchor-thin:hover{border-bottom:1px solid #141827}.tribe-theme-twentyseventeen .tribe-common .tribe-common-anchor-alt:focus,.tribe-theme-twentyseventeen .tribe-common .tribe-common-anchor-alt:hover{color:#334aff}.tribe-common .tribe-common-b1{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.62}.tribe-common .tribe-common-b1--bold{font-weight:700}.tribe-common .tribe-common-b2{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.38}.tribe-common .tribe-common-b2--bold{font-weight:700}.tribe-common .tribe-common-b3{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:11px;font-weight:400;line-height:1.5}.tribe-common .tribe-common-b3--bold{font-weight:700}.tribe-common .tribe-common-cta{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:12px;line-height:1.38;font-weight:400;font-weight:700;border-bottom:2px solid transparent;transition:border-color .2s ease}.tribe-common .tribe-common-cta:active,.tribe-common .tribe-common-cta:focus,.tribe-common .tribe-common-cta:hover{border-bottom:2px solid #141827}.tribe-common .tribe-common-cta--alt{border-bottom:2px solid #334aff;color:#141827;transition:color .2s ease}.tribe-common .tribe-common-cta--alt:active,.tribe-common .tribe-common-cta--alt:focus,.tribe-common .tribe-common-cta--alt:hover{border-bottom:2px solid #334aff;color:#334aff}.tribe-common .tribe-common-cta--thin-alt{border-bottom:1px solid #334aff;color:#141827;transition:color .2s ease}.tribe-common .tribe-common-cta--thin-alt:active,.tribe-common .tribe-common-cta--thin-alt:focus,.tribe-common .tribe-common-cta--thin-alt:hover{border-bottom:1px solid #334aff;color:#334aff}.tribe-theme-twentyseventeen .tribe-common .tribe-common-cta--alt:focus,.tribe-theme-twentyseventeen .tribe-common .tribe-common-cta--alt:hover,.tribe-theme-twentyseventeen .tribe-common .tribe-common-cta--thin-alt:focus,.tribe-theme-twentyseventeen .tribe-common .tribe-common-cta--thin-alt:hover{color:#334aff}.tribe-common .tribe-common-h1{font-size:28px}.tribe-common .tribe-common-h1,.tribe-common .tribe-common-h2{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;line-height:1.42}.tribe-common .tribe-common-h2{font-size:24px}.tribe-common .tribe-common-h3{font-size:22px;line-height:1.5}.tribe-common .tribe-common-h3,.tribe-common .tribe-common-h4{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700}.tribe-common .tribe-common-h4{font-size:20px;line-height:1.42}.tribe-common .tribe-common-h5{font-size:18px}.tribe-common .tribe-common-h5,.tribe-common .tribe-common-h6{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;line-height:1.5}.tribe-common .tribe-common-h6{font-size:16px}.tribe-common .tribe-common-h7{font-size:14px;line-height:1.62}.tribe-common .tribe-common-h7,.tribe-common .tribe-common-h8{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700}.tribe-common .tribe-common-h8{font-size:12px;line-height:1.38}.tribe-common .tribe-common-h--alt{font-weight:400}.tribe-theme-avada #main .tribe-common .tribe-common-h1{font-size:28px}.tribe-theme-avada #main .tribe-common .tribe-common-h1,.tribe-theme-avada #main .tribe-common .tribe-common-h2{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;line-height:1.42}.tribe-theme-avada #main .tribe-common .tribe-common-h2{font-size:24px}.tribe-theme-avada #main .tribe-common .tribe-common-h3{font-size:22px;line-height:1.5}.tribe-theme-avada #main .tribe-common .tribe-common-h3,.tribe-theme-avada #main .tribe-common .tribe-common-h4{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700}.tribe-theme-avada #main .tribe-common .tribe-common-h4{font-size:20px;line-height:1.42}.tribe-theme-avada #main .tribe-common .tribe-common-h5{font-size:18px}.tribe-theme-avada #main .tribe-common .tribe-common-h5,.tribe-theme-avada #main .tribe-common .tribe-common-h6{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;line-height:1.5}.tribe-theme-avada #main .tribe-common .tribe-common-h6{font-size:16px}.tribe-theme-avada #main .tribe-common .tribe-common-h7{font-size:14px;line-height:1.62}.tribe-theme-avada #main .tribe-common .tribe-common-h7,.tribe-theme-avada #main .tribe-common .tribe-common-h8{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700}.tribe-theme-avada #main .tribe-common .tribe-common-h8{font-size:12px;line-height:1.38}.tribe-theme-avada #main .tribe-common .tribe-common-h--alt{font-weight:400}.tribe-common button{border:none}.tribe-common button,.tribe-common button:focus,.tribe-common button:hover,.tribe-theme-twentyseventeen .tribe-common button:focus,.tribe-theme-twentyseventeen .tribe-common button:hover{background-color:transparent}.tribe-theme-twentytwenty .tribe-common button{background-color:transparent;text-transform:inherit}.tribe-theme-twentytwenty .tribe-common button:focus,.tribe-theme-twentytwenty .tribe-common button:hover{text-decoration:none}.tribe-common .tribe-common-svgicon--featured{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h16v20l-7.902-5.122L0 20z' fill='%23334AFF'/%3E%3C/svg%3E")}.tribe-theme-enfold .tribe-common th{letter-spacing:0;text-transform:none}.tribe-common .tribe-common-c-btn-border,.tribe-common a.tribe-common-c-btn-border{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:12px;line-height:1.38;font-weight:400;border:0;cursor:pointer;display:inline-block;height:auto;padding:0;text-decoration:none;width:auto;background-color:#fff;border:1px solid #d5d5d5;border-radius:4px;text-align:center;transition:color .2s ease,border-color .2s ease;color:#727272;padding:14px 20px}.tribe-common .tribe-common-c-btn-border:focus,.tribe-common .tribe-common-c-btn-border:hover,.tribe-common a.tribe-common-c-btn-border:focus,.tribe-common a.tribe-common-c-btn-border:hover{background-color:#fff}.tribe-common .tribe-common-c-btn-border:active,.tribe-common a.tribe-common-c-btn-border:active{border-color:#141827}.tribe-common .tribe-common-c-btn-border:active,.tribe-common .tribe-common-c-btn-border:focus,.tribe-common .tribe-common-c-btn-border:hover,.tribe-common a.tribe-common-c-btn-border:active,.tribe-common a.tribe-common-c-btn-border:focus,.tribe-common a.tribe-common-c-btn-border:hover{color:#141827}.tribe-common .tribe-common-c-btn-border:disabled,.tribe-common a.tribe-common-c-btn-border:disabled{color:#d5d5d5}.tribe-theme-twentyseventeen .tribe-common .tribe-common-c-btn-border:hover{background-color:#fff}.tribe-common .tribe-common-c-btn-icon{border:0;cursor:pointer;display:inline-block;height:auto;padding:0;text-decoration:none;width:auto}.tribe-common .tribe-common-c-btn-icon--border{background-color:#fff;border:1px solid #d5d5d5;align-items:center;display:inline-flex;height:56px;justify-content:center;transition:none;width:56px}.tribe-common .tribe-common-c-btn-icon--border:focus,.tribe-common .tribe-common-c-btn-icon--border:hover{background-color:#fff}.tribe-common .tribe-common-c-btn-icon--border:active{border-color:#141827}.tribe-theme-twentyseventeen .tribe-common .tribe-common-c-btn-icon--border:hover{background-color:#fff}.tribe-common .tribe-common-c-btn,.tribe-common a.tribe-common-c-btn{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:14px;line-height:1.62;font-weight:400;font-weight:700;border:0;cursor:pointer;display:inline-block;height:auto;padding:0;text-decoration:none;width:auto;border-radius:4px;color:#fff;text-align:center;transition:background-color .2s ease;padding:11px 20px;background-color:#334aff}.tribe-common .tribe-common-c-btn:focus,.tribe-common .tribe-common-c-btn:hover,.tribe-common a.tribe-common-c-btn:focus,.tribe-common a.tribe-common-c-btn:hover{background-color:rgba(51,74,255,.8)}.tribe-common .tribe-common-c-btn:active,.tribe-common a.tribe-common-c-btn:active{background-color:rgba(51,74,255,.9)}.tribe-common .tribe-common-c-btn:disabled,.tribe-common a.tribe-common-c-btn:disabled{background-color:rgba(51,74,255,.07)}.tribe-theme-twentyseventeen .tribe-common .tribe-common-c-btn:focus,.tribe-theme-twentyseventeen .tribe-common .tribe-common-c-btn:hover{background-color:rgba(51,74,255,.8);color:#fff}.tribe-theme-twentytwenty .tribe-common .tribe-common-c-btn{background-color:#334aff}.tribe-theme-twentytwenty .tribe-common .tribe-common-c-btn:focus,.tribe-theme-twentytwenty .tribe-common .tribe-common-c-btn:hover{background-color:rgba(51,74,255,.8);color:#fff}.tribe-common .tribe-common-c-loader__dot{animation-name:a;animation-duration:2.24s;animation-iteration-count:infinite;animation-direction:normal}.tribe-common .tribe-common-c-loader__dot--first{animation-delay:.45s}.tribe-common .tribe-common-c-loader__dot--second{animation-delay:1.05s}.tribe-common .tribe-common-c-loader__dot--third{animation-delay:1.35s}@keyframes a{50%{background-color:#334aff}}@media (min-width:768px){#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-text__input,.tribe-common .tribe-common-form-control-text__input{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:14px;line-height:1.62;font-weight:400;border:0}.tribe-common .tribe-common-b1{font-size:16px;line-height:1.62}.tribe-common .tribe-common-b2{font-size:14px;line-height:1.62}.tribe-common .tribe-common-b3{font-size:12px;line-height:1.38}.tribe-common .tribe-common-b1--min-medium{font-size:16px;line-height:1.62}.tribe-common .tribe-common-b2--min-medium{font-size:14px;line-height:1.62}.tribe-common .tribe-common-b3--min-medium{font-size:12px;line-height:1.38}.tribe-common .tribe-common-h1{font-size:42px;line-height:1.38}.tribe-common .tribe-common-h2{font-size:32px;line-height:1.38}.tribe-common .tribe-common-h3{font-size:28px;line-height:1.42}.tribe-common .tribe-common-h4{font-size:24px;line-height:1.42}.tribe-common .tribe-common-h6{font-size:16px;line-height:1.62}.tribe-common .tribe-common-h3--min-medium{font-size:28px;line-height:1.42}.tribe-common .tribe-common-h4--min-medium{font-size:24px;line-height:1.42}.tribe-common .tribe-common-h5--min-medium{font-size:18px;line-height:1.5}.tribe-common .tribe-common-h6--min-medium{font-size:16px;line-height:1.62}.tribe-common .tribe-common-h7--min-medium{font-size:14px;line-height:1.62}.tribe-theme-avada #main .tribe-common .tribe-common-h1{font-size:42px;line-height:1.38}.tribe-theme-avada #main .tribe-common .tribe-common-h2{font-size:32px;line-height:1.38}.tribe-theme-avada #main .tribe-common .tribe-common-h3{font-size:28px;line-height:1.42}.tribe-theme-avada #main .tribe-common .tribe-common-h4{font-size:24px;line-height:1.42}.tribe-theme-avada #main .tribe-common .tribe-common-h6{font-size:16px;line-height:1.62}.tribe-theme-avada #main .tribe-common .tribe-common-h3--min-medium{font-size:28px;line-height:1.42}.tribe-theme-avada #main .tribe-common .tribe-common-h4--min-medium{font-size:24px;line-height:1.42}.tribe-theme-avada #main .tribe-common .tribe-common-h5--min-medium{font-size:18px;line-height:1.5}.tribe-theme-avada #main .tribe-common .tribe-common-h6--min-medium{font-size:16px;line-height:1.62}.tribe-theme-avada #main .tribe-common .tribe-common-h7--min-medium{font-size:14px;line-height:1.62}.tribe-common .tribe-common-c-btn-border,.tribe-common a.tribe-common-c-btn-border{padding:6px 15px}}
|
| 1 |
+
.tribe-common figure{line-height:0}.tribe-common figcaption{line-height:normal}.tribe-common a{background-color:transparent;-webkit-text-decoration-skip:objects}.tribe-common abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.tribe-common code,.tribe-common kbd,.tribe-common pre,.tribe-common samp{font-family:monospace;font-size:1em}.tribe-common b,.tribe-common strong{font-weight:inherit;font-weight:bolder}.tribe-common dfn{font-style:italic}.tribe-common mark{background-color:#ff0;color:#000}.tribe-common small{font-size:80%}.tribe-common sub,.tribe-common sup{font-size:75%;line-height:0}.tribe-common hr{border:0;height:0}.tribe-common button,.tribe-common input[type=button],.tribe-common input[type=email],.tribe-common input[type=password],.tribe-common input[type=reset],.tribe-common input[type=search],.tribe-common input[type=submit],.tribe-common input[type=text],.tribe-common input[type=url],.tribe-common textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none}.tribe-common button,.tribe-common input,.tribe-common optgroup,.tribe-common select,.tribe-common textarea{color:inherit;font:inherit;line-height:normal;-webkit-font-smoothing:antialiased}.tribe-common button,.tribe-common input,.tribe-common select,.tribe-common textarea{outline:0;border-radius:0}.tribe-common select:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}.tribe-common optgroup{font-weight:700}.tribe-common h1,.tribe-common h2,.tribe-common h3,.tribe-common h4,.tribe-common h5,.tribe-common h6,.tribe-common p{font-weight:400;text-rendering:optimizeLegibility}.tribe-theme-twentynineteen .tribe-common h1:before,.tribe-theme-twentynineteen .tribe-common h2:before{content:none}.tribe-theme-twentynineteen .tribe-common button,.tribe-theme-twentynineteen .tribe-common input[type=button],.tribe-theme-twentynineteen .tribe-common input[type=reset],.tribe-theme-twentynineteen .tribe-common input[type=submit]{outline:none}.tribe-theme-twentynineteen .tribe-common td,.tribe-theme-twentynineteen .tribe-common th{word-break:normal}.tribe-theme-twentyseventeen .tribe-common h5{letter-spacing:normal;text-transform:none}.tribe-theme-twentyseventeen .tribe-common input[type=text]{border-radius:0}.tribe-theme-twentytwenty .tribe-common{background-color:#fff;letter-spacing:normal}.tribe-theme-twentytwenty .tribe-common input,.tribe-theme-twentytwenty .tribe-common textarea{letter-spacing:normal}.tribe-theme-twentytwenty .tribe-common *{word-break:normal}.tribe-common .tribe-common-form-control-checkbox,.tribe-common .tribe-common-form-control-radio{line-height:0}.tribe-common .tribe-common-form-control-checkbox__label,.tribe-common .tribe-common-form-control-radio__label{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:14px;line-height:1.62;font-weight:400;color:#727272}.tribe-common .tribe-common-form-control-checkbox__input,.tribe-common .tribe-common-form-control-radio__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:1px solid #141827;height:20px;position:relative;width:20px}.tribe-common .tribe-common-form-control-checkbox__input:active,.tribe-common .tribe-common-form-control-checkbox__input:focus,.tribe-common .tribe-common-form-control-checkbox__input:hover,.tribe-common .tribe-common-form-control-radio__input:active,.tribe-common .tribe-common-form-control-radio__input:focus,.tribe-common .tribe-common-form-control-radio__input:hover{border:1px solid #141827}.tribe-common .tribe-common-form-control-checkbox__input:checked,.tribe-common .tribe-common-form-control-radio__input:checked{background-color:#141827}.tribe-common .tribe-common-form-control-checkbox__input:checked:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='9' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.6.1L3.9 6.8 1.4 4.3c-.1-.1-.3-.1-.4 0l-.8.8c-.1.1-.1.3 0 .4l3.4 3.4c.2.1.4.1.5 0l7.7-7.7c.1-.1.1-.3 0-.4L11 .1c-.1-.1-.3-.1-.4 0z' fill='%23FFF'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;content:"";display:block;height:9px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:12px}.tribe-common .tribe-common-form-control-radio__input{border-radius:50%}.tribe-common .tribe-common-form-control-radio__input:checked:before{background-color:#fff;border-radius:50%;content:"";display:block;height:8px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:8px}#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-checkbox__label,#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-radio__label{font-weight:400;font-size:14px}.tribe-common .tribe-common-form-control-slider{line-height:0}.tribe-common .tribe-common-form-control-slider__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:0}.tribe-common .tribe-common-form-control-slider__input::-webkit-slider-runnable-track{border:none;border-radius:5px;height:10px;margin:5px 0;padding:0;position:relative;transition:background-color .2s ease;background-color:#334aff}.tribe-common .tribe-common-form-control-slider__input::-moz-range-track{border:none;border-radius:5px;height:10px;margin:5px 0;padding:0;position:relative;transition:background-color .2s ease;background-color:#334aff}.tribe-common .tribe-common-form-control-slider__input::-ms-track{background-color:transparent;border-color:transparent;border-width:5px 0;color:transparent;height:10px}.tribe-common .tribe-common-form-control-slider__input::-ms-fill-lower,.tribe-common .tribe-common-form-control-slider__input::-ms-fill-upper{background-color:#334aff;border-radius:10px}.tribe-common .tribe-common-form-control-slider__input::-webkit-slider-thumb{background-color:#fff;border:1px solid #d5d5d5;border-radius:50%;box-shadow:0 2px 5px 0 rgba(0,0,0,.14);height:20px;width:20px;margin-top:-5px;-webkit-appearance:none;appearance:none}.tribe-common .tribe-common-form-control-slider__input::-moz-range-thumb{background-color:#fff;border:1px solid #d5d5d5;border-radius:50%;box-shadow:0 2px 5px 0 rgba(0,0,0,.14);height:20px;width:20px;margin-top:-5px}.tribe-common .tribe-common-form-control-slider__input::-ms-thumb{background-color:#fff;border:1px solid #d5d5d5;border-radius:50%;box-shadow:0 2px 5px 0 rgba(0,0,0,.14);height:20px;width:20px;margin-top:-5px;box-shadow:none;margin-top:-1px}.tribe-common .tribe-common-form-control-slider__label{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:12px;line-height:1.38;font-weight:400;color:#727272}#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-slider__label{font-weight:400;font-size:12px}.tribe-common .tribe-common-form-control-text__input{font-size:16px;border:0;border-bottom:1px solid #d5d5d5}.tribe-common--breakpoint-medium.tribe-common .tribe-common-form-control-text__input,.tribe-common .tribe-common-form-control-text__input{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;line-height:1.62;font-weight:400}.tribe-common--breakpoint-medium.tribe-common .tribe-common-form-control-text__input{font-size:14px;border:0}.tribe-common .tribe-common-form-control-text__input::-webkit-input-placeholder{color:#727272;font-style:normal}.tribe-common .tribe-common-form-control-text__input::-moz-placeholder{color:#727272;font-style:normal}.tribe-common .tribe-common-form-control-text__input:-ms-input-placeholder,.tribe-common .tribe-common-form-control-text__input::-ms-input-placeholder{color:#727272;font-style:normal}.tribe-common .tribe-common-form-control-text__input::placeholder{color:#727272;font-style:normal}.tribe-common .tribe-common-form-control-text__input:focus{border-bottom-color:#141827;outline:0}.tribe-theme-twentyseventeen .tribe-common .tribe-common-form-control-text__input{color:#141827}.tribe-theme-twentytwenty .tribe-common .tribe-common-form-control-text__input{line-height:inherit}#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-text__input{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:16px;line-height:1.62;font-weight:400;border:0;border-bottom:1px solid #d5d5d5}#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-text__input:focus{border-bottom-color:#141827;box-shadow:none}#top.tribe-theme-enfold .tribe-common.tribe-common--breakpoint-medium .tribe-common-form-control-text__input{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:14px;line-height:1.62;font-weight:400;border:0}.tribe-common .tribe-common-form-control-toggle{line-height:0}.tribe-common .tribe-common-form-control-toggle__input{border:none;border-radius:5px;height:10px;margin:5px 0;padding:0;position:relative;transition:background-color .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#d5d5d5;width:40px}.tribe-common .tribe-common-form-control-toggle__input:after{background-color:#fff;border:1px solid #d5d5d5;border-radius:50%;box-shadow:0 2px 5px 0 rgba(0,0,0,.14);height:20px;width:20px;content:"";left:0;position:absolute;top:-5px;transition:transform .2s ease}.tribe-common .tribe-common-form-control-toggle__input:checked{background-color:#334aff}.tribe-common .tribe-common-form-control-toggle__input:checked:after{transform:translateX(20px)}.tribe-common .tribe-common-form-control-toggle__label{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:12px;line-height:1.38;font-weight:400;color:#727272}#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-toggle__label{font-weight:400;font-size:12px}.tribe-common a,.tribe-common a:active,.tribe-common a:focus,.tribe-common a:hover,.tribe-common a:visited{color:#141827;outline:0;text-decoration:none}.tribe-theme-twentyseventeen .tribe-common a{box-shadow:none}.tribe-theme-twentyseventeen .tribe-common a:focus,.tribe-theme-twentyseventeen .tribe-common a:hover{box-shadow:none;color:#141827}.tribe-theme-twentynineteen .entry .tribe-common a,.tribe-theme-twentynineteen .tribe-common a{text-decoration:none}.tribe-common .tribe-common-anchor{border-bottom:2px solid transparent;transition:border-color .2s ease}.tribe-common .tribe-common-anchor:active,.tribe-common .tribe-common-anchor:focus,.tribe-common .tribe-common-anchor:hover{border-bottom:2px solid #141827}.tribe-common .tribe-common-anchor-alt{border-bottom:2px solid #334aff;color:#141827;transition:color .2s ease}.tribe-common .tribe-common-anchor-alt:active,.tribe-common .tribe-common-anchor-alt:focus,.tribe-common .tribe-common-anchor-alt:hover{border-bottom:2px solid #334aff;color:#334aff}.tribe-common .tribe-common-anchor-thin{border-bottom:1px solid transparent;transition:border-color .2s ease}.tribe-common .tribe-common-anchor-thin:active,.tribe-common .tribe-common-anchor-thin:focus,.tribe-common .tribe-common-anchor-thin:hover{border-bottom:1px solid #141827}.tribe-theme-twentyseventeen .tribe-common .tribe-common-anchor-alt:focus,.tribe-theme-twentyseventeen .tribe-common .tribe-common-anchor-alt:hover{color:#334aff}.tribe-common .tribe-common-b1{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.62}.tribe-common--breakpoint-medium.tribe-common .tribe-common-b1{font-size:16px;line-height:1.62}.tribe-common .tribe-common-b1--bold{font-weight:700}.tribe-common .tribe-common-b2{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.38}.tribe-common--breakpoint-medium.tribe-common .tribe-common-b2{font-size:14px;line-height:1.62}.tribe-common .tribe-common-b2--bold{font-weight:700}.tribe-common .tribe-common-b3{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:11px;font-weight:400;line-height:1.5}.tribe-common--breakpoint-medium.tribe-common .tribe-common-b3{font-size:12px;line-height:1.38}.tribe-common .tribe-common-b3--bold{font-weight:700}.tribe-common--breakpoint-medium.tribe-common .tribe-common-b1--min-medium{font-size:16px;line-height:1.62}.tribe-common--breakpoint-medium.tribe-common .tribe-common-b2--min-medium{font-size:14px;line-height:1.62}.tribe-common--breakpoint-medium.tribe-common .tribe-common-b3--min-medium{font-size:12px;line-height:1.38}.tribe-common .tribe-common-cta{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:12px;line-height:1.38;font-weight:400;font-weight:700;border-bottom:2px solid transparent;transition:border-color .2s ease}.tribe-common .tribe-common-cta:active,.tribe-common .tribe-common-cta:focus,.tribe-common .tribe-common-cta:hover{border-bottom:2px solid #141827}.tribe-common .tribe-common-cta--alt{border-bottom:2px solid #334aff;color:#141827;transition:color .2s ease}.tribe-common .tribe-common-cta--alt:active,.tribe-common .tribe-common-cta--alt:focus,.tribe-common .tribe-common-cta--alt:hover{border-bottom:2px solid #334aff;color:#334aff}.tribe-common .tribe-common-cta--thin-alt{border-bottom:1px solid #334aff;color:#141827;transition:color .2s ease}.tribe-common .tribe-common-cta--thin-alt:active,.tribe-common .tribe-common-cta--thin-alt:focus,.tribe-common .tribe-common-cta--thin-alt:hover{border-bottom:1px solid #334aff;color:#334aff}.tribe-theme-twentyseventeen .tribe-common .tribe-common-cta--alt:focus,.tribe-theme-twentyseventeen .tribe-common .tribe-common-cta--alt:hover,.tribe-theme-twentyseventeen .tribe-common .tribe-common-cta--thin-alt:focus,.tribe-theme-twentyseventeen .tribe-common .tribe-common-cta--thin-alt:hover{color:#334aff}.tribe-common .tribe-common-h1{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;font-size:28px;line-height:1.42}.tribe-common--breakpoint-medium.tribe-common .tribe-common-h1{font-size:42px;line-height:1.38}.tribe-common .tribe-common-h2{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;font-size:24px;line-height:1.42}.tribe-common--breakpoint-medium.tribe-common .tribe-common-h2{font-size:32px;line-height:1.38}.tribe-common .tribe-common-h3{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;font-size:22px;line-height:1.5}.tribe-common--breakpoint-medium.tribe-common .tribe-common-h3{font-size:28px;line-height:1.42}.tribe-common .tribe-common-h4{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;font-size:20px;line-height:1.42}.tribe-common--breakpoint-medium.tribe-common .tribe-common-h4{font-size:24px;line-height:1.42}.tribe-common .tribe-common-h5{font-size:18px}.tribe-common .tribe-common-h5,.tribe-common .tribe-common-h6{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;line-height:1.5}.tribe-common .tribe-common-h6{font-size:16px}.tribe-common--breakpoint-medium.tribe-common .tribe-common-h6{font-size:16px;line-height:1.62}.tribe-common .tribe-common-h7{font-size:14px;line-height:1.62}.tribe-common .tribe-common-h7,.tribe-common .tribe-common-h8{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700}.tribe-common .tribe-common-h8{font-size:12px;line-height:1.38}.tribe-common--breakpoint-medium.tribe-common .tribe-common-h3--min-medium{font-size:28px;line-height:1.42}.tribe-common--breakpoint-medium.tribe-common .tribe-common-h4--min-medium{font-size:24px;line-height:1.42}.tribe-common--breakpoint-medium.tribe-common .tribe-common-h5--min-medium{font-size:18px;line-height:1.5}.tribe-common--breakpoint-medium.tribe-common .tribe-common-h6--min-medium{font-size:16px;line-height:1.62}.tribe-common--breakpoint-medium.tribe-common .tribe-common-h7--min-medium{font-size:14px;line-height:1.62}.tribe-common .tribe-common-h--alt{font-weight:400}.tribe-theme-avada #main .tribe-common .tribe-common-h1{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;font-size:28px;line-height:1.42}.tribe-theme-avada #main .tribe-common.tribe-common--breakpoint-medium .tribe-common-h1{font-size:42px;line-height:1.38}.tribe-theme-avada #main .tribe-common .tribe-common-h2{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;font-size:24px;line-height:1.42}.tribe-theme-avada #main .tribe-common.tribe-common--breakpoint-medium .tribe-common-h2{font-size:32px;line-height:1.38}.tribe-theme-avada #main .tribe-common .tribe-common-h3{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;font-size:22px;line-height:1.5}.tribe-theme-avada #main .tribe-common.tribe-common--breakpoint-medium .tribe-common-h3{font-size:28px;line-height:1.42}.tribe-theme-avada #main .tribe-common .tribe-common-h4{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;font-size:20px;line-height:1.42}.tribe-theme-avada #main .tribe-common.tribe-common--breakpoint-medium .tribe-common-h4{font-size:24px;line-height:1.42}.tribe-theme-avada #main .tribe-common .tribe-common-h5{font-size:18px}.tribe-theme-avada #main .tribe-common .tribe-common-h5,.tribe-theme-avada #main .tribe-common .tribe-common-h6{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;line-height:1.5}.tribe-theme-avada #main .tribe-common .tribe-common-h6{font-size:16px}.tribe-theme-avada #main .tribe-common.tribe-common--breakpoint-medium .tribe-common-h6{font-size:16px;line-height:1.62}.tribe-theme-avada #main .tribe-common .tribe-common-h7{font-size:14px;line-height:1.62}.tribe-theme-avada #main .tribe-common .tribe-common-h7,.tribe-theme-avada #main .tribe-common .tribe-common-h8{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700}.tribe-theme-avada #main .tribe-common .tribe-common-h8{font-size:12px;line-height:1.38}.tribe-theme-avada #main .tribe-common.tribe-common--breakpoint-medium .tribe-common-h3--min-medium{font-size:28px;line-height:1.42}.tribe-theme-avada #main .tribe-common.tribe-common--breakpoint-medium .tribe-common-h4--min-medium{font-size:24px;line-height:1.42}.tribe-theme-avada #main .tribe-common.tribe-common--breakpoint-medium .tribe-common-h5--min-medium{font-size:18px;line-height:1.5}.tribe-theme-avada #main .tribe-common.tribe-common--breakpoint-medium .tribe-common-h6--min-medium{font-size:16px;line-height:1.62}.tribe-theme-avada #main .tribe-common.tribe-common--breakpoint-medium .tribe-common-h7--min-medium{font-size:14px;line-height:1.62}.tribe-theme-avada #main .tribe-common .tribe-common-h--alt{font-weight:400}.tribe-common button{border:none}.tribe-common button,.tribe-common button:focus,.tribe-common button:hover,.tribe-theme-twentyseventeen .tribe-common button:focus,.tribe-theme-twentyseventeen .tribe-common button:hover{background-color:transparent}.tribe-theme-twentytwenty .tribe-common button{background-color:transparent;text-transform:inherit}.tribe-theme-twentytwenty .tribe-common button:focus,.tribe-theme-twentytwenty .tribe-common button:hover{text-decoration:none}.tribe-common .tribe-common-svgicon--featured{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h16v20l-7.902-5.122L0 20z' fill='%23334AFF'/%3E%3C/svg%3E")}.tribe-theme-enfold .tribe-common th{letter-spacing:0;text-transform:none}.tribe-common .tribe-common-c-btn-border,.tribe-common a.tribe-common-c-btn-border{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:12px;line-height:1.38;font-weight:400;border:0;cursor:pointer;display:inline-block;height:auto;padding:0;text-decoration:none;width:auto;background-color:#fff;border:1px solid #d5d5d5;border-radius:4px;text-align:center;transition:color .2s ease,border-color .2s ease;color:#727272;padding:14px 20px}.tribe-common .tribe-common-c-btn-border:focus,.tribe-common .tribe-common-c-btn-border:hover,.tribe-common a.tribe-common-c-btn-border:focus,.tribe-common a.tribe-common-c-btn-border:hover{background-color:#fff}.tribe-common .tribe-common-c-btn-border:active,.tribe-common a.tribe-common-c-btn-border:active{border-color:#141827}.tribe-common--breakpoint-medium.tribe-common .tribe-common-c-btn-border,.tribe-common--breakpoint-medium.tribe-common a.tribe-common-c-btn-border{padding:6px 15px}.tribe-common .tribe-common-c-btn-border:active,.tribe-common .tribe-common-c-btn-border:focus,.tribe-common .tribe-common-c-btn-border:hover,.tribe-common a.tribe-common-c-btn-border:active,.tribe-common a.tribe-common-c-btn-border:focus,.tribe-common a.tribe-common-c-btn-border:hover{color:#141827}.tribe-common .tribe-common-c-btn-border:disabled,.tribe-common a.tribe-common-c-btn-border:disabled{color:#d5d5d5}.tribe-theme-twentyseventeen .tribe-common .tribe-common-c-btn-border:hover{background-color:#fff}.tribe-common .tribe-common-c-btn-icon{border:0;cursor:pointer;display:inline-block;height:auto;padding:0;text-decoration:none;width:auto}.tribe-common .tribe-common-c-btn-icon--border{background-color:#fff;border:1px solid #d5d5d5;align-items:center;display:inline-flex;height:56px;justify-content:center;transition:none;width:56px}.tribe-common .tribe-common-c-btn-icon--border:focus,.tribe-common .tribe-common-c-btn-icon--border:hover{background-color:#fff}.tribe-common .tribe-common-c-btn-icon--border:active{border-color:#141827}.tribe-theme-twentyseventeen .tribe-common .tribe-common-c-btn-icon--border:hover{background-color:#fff}.tribe-common .tribe-common-c-btn,.tribe-common a.tribe-common-c-btn{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:14px;line-height:1.62;font-weight:400;font-weight:700;border:0;cursor:pointer;display:inline-block;height:auto;padding:0;text-decoration:none;width:auto;border-radius:4px;color:#fff;text-align:center;transition:background-color .2s ease;background-color:#334aff;padding:11px 20px;width:100%}.tribe-common--breakpoint-medium.tribe-common .tribe-common-c-btn,.tribe-common--breakpoint-medium.tribe-common a.tribe-common-c-btn{width:auto}.tribe-common .tribe-common-c-btn:focus,.tribe-common .tribe-common-c-btn:hover,.tribe-common a.tribe-common-c-btn:focus,.tribe-common a.tribe-common-c-btn:hover{background-color:rgba(51,74,255,.8)}.tribe-common .tribe-common-c-btn:active,.tribe-common a.tribe-common-c-btn:active{background-color:rgba(51,74,255,.9)}.tribe-common .tribe-common-c-btn:disabled,.tribe-common a.tribe-common-c-btn:disabled{background-color:rgba(51,74,255,.07)}.tribe-theme-twentyseventeen .tribe-common .tribe-common-c-btn:focus,.tribe-theme-twentyseventeen .tribe-common .tribe-common-c-btn:hover{background-color:rgba(51,74,255,.8);color:#fff}.tribe-theme-twentytwenty .tribe-common .tribe-common-c-btn{background-color:#334aff}.tribe-theme-twentytwenty .tribe-common .tribe-common-c-btn:focus,.tribe-theme-twentytwenty .tribe-common .tribe-common-c-btn:hover{background-color:rgba(51,74,255,.8);color:#fff}.tribe-common .tribe-common-c-loader__dot{animation-name:a;animation-duration:2.24s;animation-iteration-count:infinite;animation-direction:normal}.tribe-common .tribe-common-c-loader__dot--first{animation-delay:.45s}.tribe-common .tribe-common-c-loader__dot--second{animation-delay:1.05s}.tribe-common .tribe-common-c-loader__dot--third{animation-delay:1.35s}@keyframes a{50%{background-color:#334aff}}
|
common/src/resources/css/common-skeleton.css
CHANGED
|
@@ -326,13 +326,19 @@
|
|
| 326 |
|
| 327 |
/* } */
|
| 328 |
|
| 329 |
-
|
| 330 |
|
| 331 |
-
/* -------------------------------------------------------------------------
|
| 332 |
* Reset Skeleton Theme Overrides - Twenty Seventeen
|
| 333 |
* ------------------------------------------------------------------------- */
|
| 334 |
|
| 335 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 336 |
|
| 337 |
/* .tribe-theme-twentytwenty .tribe-common { */
|
| 338 |
|
|
@@ -440,10 +446,6 @@
|
|
| 440 |
* SVG - Arrow Right
|
| 441 |
* ----------------------------------------------------------------------------- */
|
| 442 |
|
| 443 |
-
/* -----------------------------------------------------------------------------
|
| 444 |
-
* SVG - Arrow (light, left)
|
| 445 |
-
* ----------------------------------------------------------------------------- */
|
| 446 |
-
|
| 447 |
/* -----------------------------------------------------------------------------
|
| 448 |
* SVG - Caret Down
|
| 449 |
* ----------------------------------------------------------------------------- */
|
|
@@ -477,15 +479,15 @@
|
|
| 477 |
* ----------------------------------------------------------------------------- */
|
| 478 |
|
| 479 |
/* -----------------------------------------------------------------------------
|
| 480 |
-
* SVG -
|
| 481 |
* ----------------------------------------------------------------------------- */
|
| 482 |
|
| 483 |
/* -----------------------------------------------------------------------------
|
| 484 |
-
* SVG -
|
| 485 |
* ----------------------------------------------------------------------------- */
|
| 486 |
|
| 487 |
/* -----------------------------------------------------------------------------
|
| 488 |
-
* SVG -
|
| 489 |
* ----------------------------------------------------------------------------- */
|
| 490 |
|
| 491 |
/* -----------------------------------------------------------------------------
|
|
@@ -496,24 +498,40 @@
|
|
| 496 |
* SVG - Location
|
| 497 |
* ----------------------------------------------------------------------------- */
|
| 498 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 499 |
/* -----------------------------------------------------------------------------
|
| 500 |
* SVG - Map
|
| 501 |
* ----------------------------------------------------------------------------- */
|
| 502 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 503 |
/* -----------------------------------------------------------------------------
|
| 504 |
* SVG - Month
|
| 505 |
* ----------------------------------------------------------------------------- */
|
| 506 |
|
| 507 |
/* -----------------------------------------------------------------------------
|
| 508 |
-
* SVG -
|
| 509 |
* ----------------------------------------------------------------------------- */
|
| 510 |
|
| 511 |
/* -----------------------------------------------------------------------------
|
| 512 |
-
* SVG -
|
| 513 |
* ----------------------------------------------------------------------------- */
|
| 514 |
|
| 515 |
/* -----------------------------------------------------------------------------
|
| 516 |
-
* SVG -
|
|
|
|
|
|
|
|
|
|
|
|
|
| 517 |
* ----------------------------------------------------------------------------- */
|
| 518 |
|
| 519 |
/* -----------------------------------------------------------------------------
|
|
@@ -646,10 +664,6 @@
|
|
| 646 |
* Button - Solid
|
| 647 |
* ----------------------------------------------------------------------------- */
|
| 648 |
|
| 649 |
-
/* -----------------------------------------------------------------------------
|
| 650 |
-
* Button - Link
|
| 651 |
-
* ----------------------------------------------------------------------------- */
|
| 652 |
-
|
| 653 |
/* -----------------------------------------------------------------------------
|
| 654 |
* Button - Border
|
| 655 |
* ----------------------------------------------------------------------------- */
|
|
@@ -947,6 +961,10 @@
|
|
| 947 |
width: 100%;
|
| 948 |
}
|
| 949 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 950 |
/* -------------------------------------------------------------------------
|
| 951 |
* Theme Overrides - Enfold
|
| 952 |
* ------------------------------------------------------------------------- */
|
|
@@ -956,6 +974,10 @@
|
|
| 956 |
width: 100%;
|
| 957 |
}
|
| 958 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 959 |
.tribe-common {
|
| 960 |
|
| 961 |
/* -----------------------------------------------------------------------------
|
|
@@ -1066,11 +1088,21 @@
|
|
| 1066 |
margin-right: -21px;
|
| 1067 |
}
|
| 1068 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1069 |
.tribe-common .tribe-common-g-row--gutters > .tribe-common-g-col {
|
| 1070 |
padding-left: 21px;
|
| 1071 |
padding-right: 21px;
|
| 1072 |
}
|
| 1073 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1074 |
/* -----------------------------------------------------------------------------
|
| 1075 |
* Theme Overrides - Twenty Nineteen
|
| 1076 |
* ----------------------------------------------------------------------------- */
|
|
@@ -1081,11 +1113,21 @@
|
|
| 1081 |
padding: 0;
|
| 1082 |
}
|
| 1083 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1084 |
.tribe-theme-twentynineteen .tribe-common .tribe-common-g-row--gutters > .entry.tribe-common-g-col {
|
| 1085 |
-
|
| 1086 |
-
|
| 1087 |
-
|
| 1088 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1089 |
|
| 1090 |
/* Typography */
|
| 1091 |
|
|
@@ -1307,6 +1349,11 @@
|
|
| 1307 |
width: 100%;
|
| 1308 |
}
|
| 1309 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1310 |
/* -------------------------------------------------------------------------
|
| 1311 |
* SVG Icons
|
| 1312 |
* ------------------------------------------------------------------------- */
|
|
@@ -1333,11 +1380,11 @@
|
|
| 1333 |
}
|
| 1334 |
|
| 1335 |
.tribe-common .tribe-common-svgicon--list {
|
| 1336 |
-
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg
|
| 1337 |
}
|
| 1338 |
|
| 1339 |
.tribe-common .tribe-common-svgicon--map {
|
| 1340 |
-
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg
|
| 1341 |
}
|
| 1342 |
|
| 1343 |
.tribe-common .tribe-common-svgicon--month {
|
|
@@ -1345,11 +1392,11 @@
|
|
| 1345 |
}
|
| 1346 |
|
| 1347 |
.tribe-common .tribe-common-svgicon--no-map {
|
| 1348 |
-
background-image: svg-
|
| 1349 |
}
|
| 1350 |
|
| 1351 |
.tribe-common .tribe-common-svgicon--photo {
|
| 1352 |
-
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg
|
| 1353 |
}
|
| 1354 |
|
| 1355 |
.tribe-common .tribe-common-svgicon--search {
|
|
@@ -1367,7 +1414,7 @@
|
|
| 1367 |
}
|
| 1368 |
|
| 1369 |
.tribe-common .tribe-common-svgicon--recurring {
|
| 1370 |
-
background-image: svg-
|
| 1371 |
height: 10px;
|
| 1372 |
width: 10px;
|
| 1373 |
}
|
|
@@ -1486,6 +1533,11 @@
|
|
| 1486 |
width: 100%;
|
| 1487 |
}
|
| 1488 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1489 |
.tribe-common {
|
| 1490 |
|
| 1491 |
/* -----------------------------------------------------------------------------
|
|
@@ -1619,6 +1671,10 @@
|
|
| 1619 |
width: 100%;
|
| 1620 |
}
|
| 1621 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1622 |
/* -----------------------------------------------------------------------------
|
| 1623 |
*
|
| 1624 |
* Component: Image
|
|
@@ -1677,6 +1733,10 @@
|
|
| 1677 |
padding-top: 192px;
|
| 1678 |
}
|
| 1679 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1680 |
.tribe-common .tribe-common-c-loader__dot {
|
| 1681 |
background-color: rgba(51,74,255, 0.07);
|
| 1682 |
height: 15px;
|
|
@@ -1687,54 +1747,3 @@
|
|
| 1687 |
.tribe-common .tribe-common-c-loader__dot:not(:first-of-type) {
|
| 1688 |
margin-left: 8px;
|
| 1689 |
}
|
| 1690 |
-
|
| 1691 |
-
@media (min-width: 768px) {
|
| 1692 |
-
|
| 1693 |
-
.tribe-common .tribe-common-form-control-text__input {
|
| 1694 |
-
padding: 20px 20px 20px 40px
|
| 1695 |
-
}
|
| 1696 |
-
|
| 1697 |
-
#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-text__input {
|
| 1698 |
-
padding: 20px 20px 20px 40px
|
| 1699 |
-
}
|
| 1700 |
-
|
| 1701 |
-
.tribe-common .tribe-common-g-row--gutters {
|
| 1702 |
-
margin-left: -24px;
|
| 1703 |
-
margin-right: -24px
|
| 1704 |
-
}
|
| 1705 |
-
|
| 1706 |
-
.tribe-common .tribe-common-g-row--gutters > .tribe-common-g-col {
|
| 1707 |
-
padding-left: 24px;
|
| 1708 |
-
padding-right: 24px
|
| 1709 |
-
}
|
| 1710 |
-
|
| 1711 |
-
.tribe-theme-twentynineteen .tribe-common .entry.tribe-common-g-row--gutters {
|
| 1712 |
-
margin-left: -24px;
|
| 1713 |
-
margin-right: -24px
|
| 1714 |
-
}
|
| 1715 |
-
|
| 1716 |
-
.tribe-theme-twentynineteen .tribe-common .tribe-common-g-row--gutters > .entry.tribe-common-g-col {
|
| 1717 |
-
padding-left: 24px;
|
| 1718 |
-
padding-right: 24px
|
| 1719 |
-
}
|
| 1720 |
-
|
| 1721 |
-
.tribe-common .tribe-common-l-container {
|
| 1722 |
-
padding-left: 42px;
|
| 1723 |
-
padding-right: 42px
|
| 1724 |
-
}
|
| 1725 |
-
|
| 1726 |
-
.tribe-common .tribe-common-c-btn-border,
|
| 1727 |
-
.tribe-common a.tribe-common-c-btn-border {
|
| 1728 |
-
padding: 6px 15px;
|
| 1729 |
-
width: auto
|
| 1730 |
-
}
|
| 1731 |
-
|
| 1732 |
-
.tribe-common .tribe-common-c-btn,
|
| 1733 |
-
.tribe-common a.tribe-common-c-btn {
|
| 1734 |
-
width: auto
|
| 1735 |
-
}
|
| 1736 |
-
|
| 1737 |
-
.tribe-common .tribe-common-c-loader {
|
| 1738 |
-
padding-top: 288px
|
| 1739 |
-
}
|
| 1740 |
-
}
|
| 326 |
|
| 327 |
/* } */
|
| 328 |
|
| 329 |
+
.tribe-theme-twentyseventeen .tribe-common {
|
| 330 |
|
| 331 |
+
/* -------------------------------------------------------------------------
|
| 332 |
* Reset Skeleton Theme Overrides - Twenty Seventeen
|
| 333 |
* ------------------------------------------------------------------------- */
|
| 334 |
|
| 335 |
+
}
|
| 336 |
+
|
| 337 |
+
/* dialogs are set to z-index of 1 by default. Twentyseventeen .site-branding (in page header) is set to 3. */
|
| 338 |
+
|
| 339 |
+
.tribe-theme-twentyseventeen .tribe-common div.tribe-dialog {
|
| 340 |
+
z-index: 5 !important;
|
| 341 |
+
}
|
| 342 |
|
| 343 |
/* .tribe-theme-twentytwenty .tribe-common { */
|
| 344 |
|
| 446 |
* SVG - Arrow Right
|
| 447 |
* ----------------------------------------------------------------------------- */
|
| 448 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 449 |
/* -----------------------------------------------------------------------------
|
| 450 |
* SVG - Caret Down
|
| 451 |
* ----------------------------------------------------------------------------- */
|
| 479 |
* ----------------------------------------------------------------------------- */
|
| 480 |
|
| 481 |
/* -----------------------------------------------------------------------------
|
| 482 |
+
* SVG - Featured
|
| 483 |
* ----------------------------------------------------------------------------- */
|
| 484 |
|
| 485 |
/* -----------------------------------------------------------------------------
|
| 486 |
+
* SVG - Filters
|
| 487 |
* ----------------------------------------------------------------------------- */
|
| 488 |
|
| 489 |
/* -----------------------------------------------------------------------------
|
| 490 |
+
* SVG - Link
|
| 491 |
* ----------------------------------------------------------------------------- */
|
| 492 |
|
| 493 |
/* -----------------------------------------------------------------------------
|
| 498 |
* SVG - Location
|
| 499 |
* ----------------------------------------------------------------------------- */
|
| 500 |
|
| 501 |
+
/* -----------------------------------------------------------------------------
|
| 502 |
+
* SVG - Mail
|
| 503 |
+
* ----------------------------------------------------------------------------- */
|
| 504 |
+
|
| 505 |
/* -----------------------------------------------------------------------------
|
| 506 |
* SVG - Map
|
| 507 |
* ----------------------------------------------------------------------------- */
|
| 508 |
|
| 509 |
+
/* -----------------------------------------------------------------------------
|
| 510 |
+
* SVG - Map pin
|
| 511 |
+
* ----------------------------------------------------------------------------- */
|
| 512 |
+
|
| 513 |
+
/* -----------------------------------------------------------------------------
|
| 514 |
+
* SVG - Messages
|
| 515 |
+
* ----------------------------------------------------------------------------- */
|
| 516 |
+
|
| 517 |
/* -----------------------------------------------------------------------------
|
| 518 |
* SVG - Month
|
| 519 |
* ----------------------------------------------------------------------------- */
|
| 520 |
|
| 521 |
/* -----------------------------------------------------------------------------
|
| 522 |
+
* SVG - No Map
|
| 523 |
* ----------------------------------------------------------------------------- */
|
| 524 |
|
| 525 |
/* -----------------------------------------------------------------------------
|
| 526 |
+
* SVG - Phone
|
| 527 |
* ----------------------------------------------------------------------------- */
|
| 528 |
|
| 529 |
/* -----------------------------------------------------------------------------
|
| 530 |
+
* SVG - Photo
|
| 531 |
+
* ----------------------------------------------------------------------------- */
|
| 532 |
+
|
| 533 |
+
/* -----------------------------------------------------------------------------
|
| 534 |
+
* SVG - Recurring
|
| 535 |
* ----------------------------------------------------------------------------- */
|
| 536 |
|
| 537 |
/* -----------------------------------------------------------------------------
|
| 664 |
* Button - Solid
|
| 665 |
* ----------------------------------------------------------------------------- */
|
| 666 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 667 |
/* -----------------------------------------------------------------------------
|
| 668 |
* Button - Border
|
| 669 |
* ----------------------------------------------------------------------------- */
|
| 961 |
width: 100%;
|
| 962 |
}
|
| 963 |
|
| 964 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-form-control-text__input {
|
| 965 |
+
padding: 20px 20px 20px 40px;
|
| 966 |
+
}
|
| 967 |
+
|
| 968 |
/* -------------------------------------------------------------------------
|
| 969 |
* Theme Overrides - Enfold
|
| 970 |
* ------------------------------------------------------------------------- */
|
| 974 |
width: 100%;
|
| 975 |
}
|
| 976 |
|
| 977 |
+
#top.tribe-theme-enfold .tribe-common.tribe-common--breakpoint-medium .tribe-common-form-control-text__input {
|
| 978 |
+
padding: 20px 20px 20px 40px;
|
| 979 |
+
}
|
| 980 |
+
|
| 981 |
.tribe-common {
|
| 982 |
|
| 983 |
/* -----------------------------------------------------------------------------
|
| 1088 |
margin-right: -21px;
|
| 1089 |
}
|
| 1090 |
|
| 1091 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-g-row--gutters {
|
| 1092 |
+
margin-left: -24px;
|
| 1093 |
+
margin-right: -24px;
|
| 1094 |
+
}
|
| 1095 |
+
|
| 1096 |
.tribe-common .tribe-common-g-row--gutters > .tribe-common-g-col {
|
| 1097 |
padding-left: 21px;
|
| 1098 |
padding-right: 21px;
|
| 1099 |
}
|
| 1100 |
|
| 1101 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-g-row--gutters > .tribe-common-g-col {
|
| 1102 |
+
padding-left: 24px;
|
| 1103 |
+
padding-right: 24px;
|
| 1104 |
+
}
|
| 1105 |
+
|
| 1106 |
/* -----------------------------------------------------------------------------
|
| 1107 |
* Theme Overrides - Twenty Nineteen
|
| 1108 |
* ----------------------------------------------------------------------------- */
|
| 1113 |
padding: 0;
|
| 1114 |
}
|
| 1115 |
|
| 1116 |
+
.tribe-theme-twentynineteen .tribe-common.tribe-common--breakpoint-medium .entry.tribe-common-g-row--gutters {
|
| 1117 |
+
margin-left: -24px;
|
| 1118 |
+
margin-right: -24px;
|
| 1119 |
+
}
|
| 1120 |
+
|
| 1121 |
.tribe-theme-twentynineteen .tribe-common .tribe-common-g-row--gutters > .entry.tribe-common-g-col {
|
| 1122 |
+
margin: 0;
|
| 1123 |
+
padding-left: 21px;
|
| 1124 |
+
padding-right: 21px;
|
| 1125 |
+
}
|
| 1126 |
+
|
| 1127 |
+
.tribe-theme-twentynineteen .tribe-common.tribe-common--breakpoint-medium .tribe-common-g-row--gutters > .entry.tribe-common-g-col {
|
| 1128 |
+
padding-left: 24px;
|
| 1129 |
+
padding-right: 24px;
|
| 1130 |
+
}
|
| 1131 |
|
| 1132 |
/* Typography */
|
| 1133 |
|
| 1349 |
width: 100%;
|
| 1350 |
}
|
| 1351 |
|
| 1352 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-l-container {
|
| 1353 |
+
padding-left: 42px;
|
| 1354 |
+
padding-right: 42px;
|
| 1355 |
+
}
|
| 1356 |
+
|
| 1357 |
/* -------------------------------------------------------------------------
|
| 1358 |
* SVG Icons
|
| 1359 |
* ------------------------------------------------------------------------- */
|
| 1380 |
}
|
| 1381 |
|
| 1382 |
.tribe-common .tribe-common-svgicon--list {
|
| 1383 |
+
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cdefs/%3E%3Cg fill='%23141827' fill-rule='evenodd'%3E%3Cpath fill-rule='nonzero' d='M0 .50378788V20.5332919c0 .278234.19022354.5037879.42487547.5037879H20.6133064c.2346519 0 .4248754-.2255539.4248754-.5037879V.50378788C21.0381818.22555389 20.8479583 0 20.6133064 0H.42487547C.19022355 0 0 .2255539 0 .50378788zm1.1580346.94435628h18.6945206v2.70490149H1.1580346V1.44814416zm0 2.70490796h18.6945206V19.5845078H1.1580346V4.15305212z' fill='%23141827'/%3E%3Cpath d='M13.38928235 5.73125033V7.860417c0 .58795234.48212125 1.06458333 1.07684605 1.06458333h2.1536922c.5947248 0 1.0768461-.47663099 1.0768461-1.06458333V5.73125033c0-.58795234-.4821213-1.06458333-1.0768461-1.06458333h-2.1536922c-.5947248 0-1.07684605.476631-1.07684605 1.06458333z' fill='%23141827'/%3E%3Cpath fill-rule='nonzero' d='M8.83943685 8.936667c.28648654 0 .52088465-.23521914.52088465-.5227092v-.4245816c0-.28749006-.23439811-.5227092-.52088465-.5227092h-4.8185522C3.7343981 7.466667 3.5 7.70188614 3.5 7.9893762v.4245816c0 .28749006.2343981.5227092.52088465.5227092h4.8185522zM10.9041036 6.136667c.28648654 0 .52088465-.23521914.52088465-.5227092v-.4245816c0-.28749006-.23439811-.5227092-.52088465-.5227092H4.02088465C3.7343981 4.666667 3.5 4.90188614 3.5 5.1893762v.4245816c0 .28749006.2343981.5227092.52088465.5227092h6.88321895z' fill='%23141827'/%3E%3Cg%3E%3Cpath d='M13.38928235 12.73125033V14.860417c0 .58795234.48212125 1.06458333 1.07684605 1.06458333h2.1536922c.5947248 0 1.0768461-.47663099 1.0768461-1.06458333v-2.12916667c0-.58795234-.4821213-1.06458333-1.0768461-1.06458333h-2.1536922c-.5947248 0-1.07684605.476631-1.07684605 1.06458333z' fill='%23141827'/%3E%3Cpath fill-rule='nonzero' d='M8.83943685 15.936667c.28648654 0 .52088465-.23521914.52088465-.5227092v-.4245816c0-.28749006-.23439811-.5227092-.52088465-.5227092h-4.8185522c-.28648655 0-.52088465.23521914-.52088465.5227092v.4245816c0 .28749006.2343981.5227092.52088465.5227092h4.8185522zM10.9041036 13.136667c.28648654 0 .52088465-.23521914.52088465-.5227092v-.4245816c0-.28749006-.23439811-.5227092-.52088465-.5227092H4.02088465c-.28648655 0-.52088465.23521914-.52088465.5227092v.4245816c0 .28749006.2343981.5227092.52088465.5227092h6.88321895z' fill='%23141827'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
|
| 1384 |
}
|
| 1385 |
|
| 1386 |
.tribe-common .tribe-common-svgicon--map {
|
| 1387 |
+
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cdefs/%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill-rule='nonzero' stroke-width='.7'%3E%3Cpath fill='%23141827' stroke='%23141827' d='M10.66992557 17.2092094c.18208949-.2244634 4.46052505-5.52626362 4.46052505-8.17980983 0-2.72724863-2.08535521-4.94606657-4.64855882-4.94606657-2.56320359 0-4.6485588 2.21881794-4.6485588 4.94606657 0 2.65354618 4.27843556 7.95534643 4.46052504 8.17980983.04719041.0580842.11585307.0915149.18803376.0915149.0721807 0 .14084336-.0334307.18803377-.0915149zM6.33022741 9.02939957c0-2.43579482 1.86238353-4.41737092 4.15166439-4.41737092 2.28928088 0 4.15166441 1.9815761 4.15166441 4.41737092 0 2.15995923-3.31788627 6.53241163-4.15166441 7.59703123-.83377813-1.0644905-4.15166439-5.43616846-4.15166439-7.59703123z'/%3E%3Cpath fill='%23141827' stroke='%23000' d='M12.05539077 9.03985474c0-.91098834-.70589102-1.65217392-1.57349897-1.65217392-.86760794 0-1.57349896.74118558-1.57349896 1.65217392 0 .91098834.70589102 1.65217392 1.57349896 1.65217392.86760795 0 1.57349897-.74118558 1.57349897-1.65217392zm-2.85036002 0c0-.73928452.57278056-1.34070411 1.27686105-1.34070411.70408051 0 1.27686107.60141959 1.27686107 1.34070411 0 .73928452-.57278056 1.34070411-1.27686107 1.34070411-.70408049 0-1.27686105-.60141959-1.27686105-1.34070411z'/%3E%3C/g%3E%3Cpath fill='%23141827' fill-rule='nonzero' d='M0 .50378788V20.5332919c0 .278234.19022354.5037879.42487547.5037879H20.6133064c.2346519 0 .4248754-.2255539.4248754-.5037879V.50378788C21.0381818.22555389 20.8479583 0 20.6133064 0H.42487547C.19022355 0 0 .2255539 0 .50378788zm1.1580346.94435628h18.6945206v2.70490796H1.1580346V1.44814416zm0 2.70490796h18.6945206V19.5845078H1.1580346V4.15305212z'/%3E%3C/g%3E%3C/svg%3E");
|
| 1388 |
}
|
| 1389 |
|
| 1390 |
.tribe-common .tribe-common-svgicon--month {
|
| 1392 |
}
|
| 1393 |
|
| 1394 |
.tribe-common .tribe-common-svgicon--no-map {
|
| 1395 |
+
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='92' height='92' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill-rule='nonzero' fill='none'%3E%3Cg stroke='%23141827' stroke-width='2.5' transform='translate(2 2)'%3E%3Cpath d='M32.219 88S0 58.674 0 32.281C-.011 15.598 12.685 1.66 29.278.136c16.593-1.523 31.608 9.873 34.627 26.28M32.733 88s2.96-2.693 7.083-7.181' stroke-linecap='round'/%3E%3Ccircle cx='33' cy='33' r='8.905'/%3E%3Ccircle cx='65.127' cy='59.016' r='23.571'/%3E%3C/g%3E%3Cg transform='translate(64.857 47.048)'%3E%3Ccircle fill='%23111' cx='2.839' cy='26.495' r='2.839'/%3E%3Cpath d='M2.642 0v18.925' stroke='%23141827' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
|
| 1396 |
}
|
| 1397 |
|
| 1398 |
.tribe-common .tribe-common-svgicon--photo {
|
| 1399 |
+
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21 21'%3E%3Cdefs/%3E%3Cg fill='%23141827' fill-rule='nonzero'%3E%3Cpath d='M20.4070967 0H.57757675C.25413377 0 0 .24803922 0 .5637255v19.872549C0 20.7519607.25413377 21 .57757676 21H20.4070967c.323443 0 .5775767-.2480393.5775767-.5637255V.5637255C20.9846734.24803921 20.7305397 0 20.4070967 0zm-.6006799 1.15v14.8679567l-2.2249804-3.4274509c-.6468859-.6764706-1.8482455-.6764706-2.4951316 0l-1.5479057 1.6460784-4.48199558-5.02843135c-.34654605-.38333333-.83171053-.58627451-1.36308114-.58627451-.50826755 0-1.01653509.22549021-1.33997808.60882354L1.17825658 14.9807019V1.15H19.8064168zM1.17825658 19.8499999v-3.1330235l6.0530044-6.76470589c.11551535-.13529412.27723684-.20294118.4620614-.20294118.16172149 0 .36964912.06764706.48516448.20294118l4.92095394 5.52450979c.1155153.1127452.2772369.2029412.4389583.2029412.1848246.022549.3234431-.067647.4389583-.1803922l1.9868641-2.1196078c.1848246-.2029412.5544737-.2029412.7624013 0l3.1028972 4.3519608v2.1408666H1.17825658v-.022549z' fill='%23141827'/%3E%3Cpath d='M14.9552083 9.04117648c1.159375 0 2.121875-.96960785 2.121875-2.18725491 0-1.21764705-.940625-2.1872549-2.121875-2.1872549-1.18125 0-2.121875.96960785-2.121875 2.1872549 0 1.21764706.9625 2.18725491 2.121875 2.18725491zm0-3.22450981c.546875 0 1.00625.47352941 1.00625 1.0372549 0 .5637255-.459375 1.03725491-1.00625 1.03725491-.546875 0-1.00625-.47352941-1.00625-1.03725491 0-.56372549.459375-1.0372549 1.00625-1.0372549z' fill='%23141827'/%3E%3C/g%3E%3C/svg%3E");
|
| 1400 |
}
|
| 1401 |
|
| 1402 |
.tribe-common .tribe-common-svgicon--search {
|
| 1414 |
}
|
| 1415 |
|
| 1416 |
.tribe-common .tribe-common-svgicon--recurring {
|
| 1417 |
+
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.333 3.826c0 .065 0 .13-.02.174 0 .022-.02.065-.02.087a.9.9 0 0 1-.197.37L10.45 7.37a.797.797 0 0 1-.592.26.797.797 0 0 1-.593-.26c-.316-.348-.316-.935 0-1.305l1.225-1.348H6.3C3.753 4.717 1.66 7 1.66 9.827c0 1.369.474 2.651 1.363 3.608.316.348.316.935 0 1.304A.797.797 0 0 1 2.43 15a.797.797 0 0 1-.593-.26C.652 13.434 0 11.695 0 9.847c0-3.826 2.825-6.935 6.301-6.935h4.208L9.284 1.565c-.316-.348-.316-.935 0-1.304.316-.348.85-.348 1.185 0l2.647 2.913c.099.109.158.239.198.37 0 .021.02.065.02.086v.196zM20 10.152c0 3.826-2.825 6.935-6.301 6.935H9.49l1.225 1.348c.336.348.336.935 0 1.304a.797.797 0 0 1-.593.261.83.83 0 0 1-.592-.26l-2.627-2.936a.948.948 0 0 1-.198-.37c0-.021-.02-.064-.02-.086-.02-.065-.02-.109-.02-.174 0-.065 0-.13.02-.174 0-.022.02-.065.02-.087a.9.9 0 0 1 .198-.37L9.55 12.63c.316-.347.849-.347 1.185 0 .336.348.336.935 0 1.305L9.51 15.283h4.208c2.548 0 4.641-2.283 4.641-5.11 0-1.369-.474-2.651-1.362-3.608a.97.97 0 0 1 0-1.304c.316-.348.849-.348 1.185 0C19.348 6.543 20 8.283 20 10.152z' fill='%23141827'/%3E%3C/svg%3E");
|
| 1418 |
height: 10px;
|
| 1419 |
width: 10px;
|
| 1420 |
}
|
| 1533 |
width: 100%;
|
| 1534 |
}
|
| 1535 |
|
| 1536 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-c-btn-border, .tribe-common--breakpoint-medium.tribe-common a.tribe-common-c-btn-border {
|
| 1537 |
+
padding: 6px 15px;
|
| 1538 |
+
width: auto;
|
| 1539 |
+
}
|
| 1540 |
+
|
| 1541 |
.tribe-common {
|
| 1542 |
|
| 1543 |
/* -----------------------------------------------------------------------------
|
| 1671 |
width: 100%;
|
| 1672 |
}
|
| 1673 |
|
| 1674 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-c-btn, .tribe-common--breakpoint-medium.tribe-common a.tribe-common-c-btn {
|
| 1675 |
+
width: auto;
|
| 1676 |
+
}
|
| 1677 |
+
|
| 1678 |
/* -----------------------------------------------------------------------------
|
| 1679 |
*
|
| 1680 |
* Component: Image
|
| 1733 |
padding-top: 192px;
|
| 1734 |
}
|
| 1735 |
|
| 1736 |
+
.tribe-common--breakpoint-medium.tribe-common .tribe-common-c-loader {
|
| 1737 |
+
padding-top: 288px;
|
| 1738 |
+
}
|
| 1739 |
+
|
| 1740 |
.tribe-common .tribe-common-c-loader__dot {
|
| 1741 |
background-color: rgba(51,74,255, 0.07);
|
| 1742 |
height: 15px;
|
| 1747 |
.tribe-common .tribe-common-c-loader__dot:not(:first-of-type) {
|
| 1748 |
margin-left: 8px;
|
| 1749 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
common/src/resources/css/common-skeleton.min.css
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
.tribe-common{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:antialiased}.tribe-common *{box-sizing:border-box}.tribe-common article,.tribe-common aside,.tribe-common details,.tribe-common figcaption,.tribe-common figure,.tribe-common footer,.tribe-common header,.tribe-common main,.tribe-common menu,.tribe-common nav,.tribe-common section,.tribe-common summary{display:block}.tribe-common svg:not(:root){overflow:hidden}.tribe-common audio,.tribe-common canvas,.tribe-common progress,.tribe-common video{display:inline-block}.tribe-common audio:not([controls]){display:none;height:0}.tribe-common progress{vertical-align:baseline}.tribe-common [hidden],.tribe-common template{display:none}.tribe-common pre{overflow:auto}.tribe-common sub,.tribe-common sup{position:relative;vertical-align:baseline}.tribe-common sup{top:-.5em}.tribe-common sub{bottom:-.25em}.tribe-common button,.tribe-common input,.tribe-common select,.tribe-common textarea{box-sizing:border-box;margin:0}.tribe-common input[type=number]::-webkit-inner-spin-button,.tribe-common input[type=number]::-webkit-outer-spin-button{height:auto}.tribe-common legend{color:inherit;display:table;max-width:100%;white-space:normal}.tribe-common textarea{resize:none;overflow:auto}.tribe-common button,.tribe-common input[type=button],.tribe-common input[type=reset],.tribe-common input[type=submit]{cursor:pointer;overflow:visible}.tribe-common button[disabled],.tribe-common input[disabled]{cursor:default}.tribe-common button::-moz-focus-inner,.tribe-common input::-moz-focus-inner{border:0;padding:0}.tribe-common a,.tribe-common abbr,.tribe-common acronym,.tribe-common address,.tribe-common applet,.tribe-common article,.tribe-common aside,.tribe-common audio,.tribe-common b,.tribe-common big,.tribe-common blockquote,.tribe-common canvas,.tribe-common caption,.tribe-common center,.tribe-common cite,.tribe-common code,.tribe-common dd,.tribe-common del,.tribe-common details,.tribe-common dfn,.tribe-common div,.tribe-common dl,.tribe-common dt,.tribe-common em,.tribe-common embed,.tribe-common fieldset,.tribe-common figcaption,.tribe-common figure,.tribe-common footer,.tribe-common form,.tribe-common h1,.tribe-common h2,.tribe-common h3,.tribe-common h4,.tribe-common h5,.tribe-common h6,.tribe-common header,.tribe-common i,.tribe-common iframe,.tribe-common img,.tribe-common ins,.tribe-common kbd,.tribe-common label,.tribe-common legend,.tribe-common li,.tribe-common main,.tribe-common mark,.tribe-common menu,.tribe-common nav,.tribe-common object,.tribe-common ol,.tribe-common output,.tribe-common p,.tribe-common pre,.tribe-common q,.tribe-common ruby,.tribe-common s,.tribe-common samp,.tribe-common section,.tribe-common small,.tribe-common span,.tribe-common strike,.tribe-common strong,.tribe-common sub,.tribe-common summary,.tribe-common sup,.tribe-common table,.tribe-common tbody,.tribe-common td,.tribe-common tfoot,.tribe-common th,.tribe-common thead,.tribe-common time,.tribe-common tr,.tribe-common tt,.tribe-common u,.tribe-common ul,.tribe-common var,.tribe-common video{margin:0;padding:0;border:0}.tribe-common ol,.tribe-common ul{list-style:none}.tribe-common img{-ms-interpolation-mode:bicubic;height:auto;max-width:100%;border-style:none}.tribe-common embed,.tribe-common iframe,.tribe-common video{max-width:100%;max-height:100%}.tribe-theme-avada input[type=text]{margin:0}.tribe-theme-divi .entry-content .tribe-common table,.tribe-theme-divibody.et-pb-preview #main-content .container .tribe-common table{border:0;margin:0}.tribe-theme-divi .entry-content .tribe-common td,.tribe-theme-divibody.et-pb-preview #main-content .container .tribe-common td{border:0}.tribe-theme-divi #content-area .tribe-common td,.tribe-theme-divi #content-area .tribe-common th,.tribe-theme-divi #content-area .tribe-common tr{padding:0}#top.tribe-theme-enfold .tribe-common form,#top.tribe-theme-enfold .tribe-common input{margin:0}.tribe-common .tribe-common-form-control-checkbox__label,.tribe-common .tribe-common-form-control-radio__label{cursor:pointer;display:inline-block;margin-left:11px;vertical-align:middle}.tribe-common .tribe-common-form-control-checkbox__input,.tribe-common .tribe-common-form-control-radio__input{cursor:pointer;display:inline-block;margin:0;vertical-align:middle}#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-checkbox__input{display:inline-block}.tribe-common .tribe-common-form-control-checkbox-radio-group>*{margin-bottom:15px}.tribe-common .tribe-common-form-control-checkbox-radio-group>:last-child{margin-bottom:0}.tribe-common .tribe-common-form-control-slider__input{cursor:pointer;display:inline-block;margin:0;padding:0;width:120px;vertical-align:middle}.tribe-common .tribe-common-form-control-slider__label{cursor:pointer;display:inline-block;margin-left:11px;vertical-align:middle}.tribe-common .tribe-common-form-control-slider--vertical .tribe-common-form-control-slider__label{display:block;margin:0 0 6px}.tribe-common .tribe-common-form-control-text__label{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tribe-common .tribe-common-form-control-text__input{height:auto;padding:12px 28px 12px 0;width:100%}#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-text__input{padding:12px 28px 12px 0;width:100%}.tribe-common .tribe-common-form-control-toggle__input,.tribe-common .tribe-common-form-control-toggle__label{cursor:pointer;display:inline-block;vertical-align:middle}.tribe-common .tribe-common-form-control-toggle__label{margin-left:11px}.tribe-common .tribe-common-form-control-toggle--vertical .tribe-common-form-control-toggle__label{display:block;margin:0 0 6px}#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-toggle__input{display:inline-block;margin:5px 0}.tribe-common .tribe-common-g-col{min-width:0;width:100%}.tribe-common .tribe-common-g-row{display:flex;flex-wrap:wrap}.tribe-common .tribe-common-g-row--gutters{margin-left:-21px;margin-right:-21px}.tribe-common .tribe-common-g-row--gutters>.tribe-common-g-col{padding-left:21px;padding-right:21px}.tribe-theme-twentynineteen .tribe-common .entry.tribe-common-g-row--gutters{margin-left:-21px;margin-right:-21px;padding:0}.tribe-theme-twentynineteen .tribe-common .tribe-common-g-row--gutters>.entry.tribe-common-g-col{margin:0;padding-left:21px;padding-right:21px}.tribe-common a{cursor:pointer}.tribe-theme-divi #left-area .tribe-common ul,.tribe-theme-divi .entry-content .tribe-common ul,body.et-pb-preview.tribe-theme-divi #main-content .container .tribe-common ul{list-style-type:none;padding:0}.tribe-common button{padding:0}.tribe-common .tribe-common-l-container{max-width:1260px;margin-left:auto;margin-right:auto;padding-left:19.5px;padding-right:19.5px;width:100%}.tribe-common .tribe-common-svgicon{background-repeat:no-repeat;background-size:contain}.tribe-common .tribe-common-svgicon--close-secondary{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Cpath d='M16 2L2 16m14 0L2 2' stroke='%23BABABA' fill='none' fill-rule='evenodd' stroke-linecap='square' stroke-width='2'/%3E%3C/svg%3E")}.tribe-common .tribe-common-svgicon--day{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='21' height='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 .503v19.994c0 .278.19.503.424.503h20.152c.234 0 .424-.225.424-.503V.503C21 .225 20.81 0 20.576 0H.424C.19 0 0 .225 0 .503zm1.156.943h18.66v2.7H1.157v-2.7zm0 4.023h18.66V19.55H1.157V5.469zM14.18 14.53v1.747c0 .482.39.874.873.874H16.8a.873.873 0 0 0 .873-.874V14.53a.873.873 0 0 0-.873-.873h-1.747a.873.873 0 0 0-.873.873z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-common .tribe-common-svgicon--list{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='21' height='18' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23141827'%3E%3Cpath d='M19.883 3.272c.342 0 .622-.21.622-.467v-.464c0-.257-.28-.467-.622-.467H7.127c-.342 0-.622.21-.622.467v.464c0 .257.28.467.622.467h12.756zm-18.045.935a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5zM19.883 9.98c.342 0 .622-.21.622-.466v-.465c0-.257-.28-.467-.622-.467H7.127c-.342 0-.622.21-.622.467v.465c0 .256.28.466.622.466h12.756zm-18.045.936a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5zM19.883 16.689c.342 0 .622-.21.622-.467v-.465c0-.256-.28-.466-.622-.466H7.127c-.342 0-.622.21-.622.466v.465c0 .257.28.467.622.467h12.756zm-18.045.935a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5z'/%3E%3C/g%3E%3C/svg%3E")}.tribe-common .tribe-common-svgicon--map{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='22' height='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd' stroke='%23141827'%3E%3Cpath stroke-linejoin='round' d='M13.921 11.632H17.5l3.588 8.421H1l3.488-8.421h4.016'/%3E%3Cpath d='M11.32 15.506c.2-.248 4.93-6.108 4.93-9.04 0-3.015-2.305-5.468-5.138-5.468-2.833 0-5.138 2.453-5.138 5.467 0 2.933 4.729 8.793 4.93 9.041a.268.268 0 0 0 .208.101c.08 0 .155-.037.207-.101zm-4.797-9.04c0-2.693 2.058-4.883 4.589-4.883 2.53 0 4.588 2.19 4.588 4.882 0 2.387-3.667 7.22-4.588 8.397-.922-1.177-4.589-6.009-4.589-8.397z' stroke-width='.4' fill='%23141827' fill-rule='nonzero'/%3E%3Cpath d='M12.85 6.477c0-1.007-.78-1.826-1.738-1.826-.96 0-1.74.819-1.74 1.826 0 1.007.78 1.826 1.74 1.826.959 0 1.739-.82 1.739-1.826zm-3.15 0c0-.817.633-1.482 1.412-1.482.778 0 1.41.665 1.41 1.482s-.632 1.482-1.41 1.482c-.779 0-1.412-.665-1.412-1.482z' stroke-width='.7' fill='%23000' fill-rule='nonzero'/%3E%3C/g%3E%3C/svg%3E")}.tribe-common .tribe-common-svgicon--month{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='22' height='22' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.637 1.063v19.879c0 .276.189.5.422.5h20.037c.232 0 .421-.224.421-.5V1.062c0-.275-.189-.5-.421-.5H1.059c-.233 0-.422.225-.422.5zM1.787 2H20.34v2.685H1.787V2zm0 4H20.34v14H1.787V6zM8 8.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm4 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm4 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm-8 4v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm4 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm4 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm-12 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm0 4v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm4 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm4 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-common .tribe-common-svgicon--no-map{background-image:svg-inline(no-map)}.tribe-common .tribe-common-svgicon--photo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='17' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23141827'%3E%3Cpath d='M19.348.11H.634a.509.509 0 0 0-.52.508v15.017c0 .284.23.508.52.508h18.714a.51.51 0 0 0 .52-.508V.618a.509.509 0 0 0-.52-.508zm-.54 1.035v10.837l-2.87-3.084c-.583-.61-1.664-.61-2.246 0l-1.393 1.481-4.034-4.525a1.625 1.625 0 0 0-1.227-.528 1.6 1.6 0 0 0-1.206.548l-4.657 5.175V1.145h17.632zM1.174 15.108v-2.496l5.448-6.089a.529.529 0 0 1 .415-.182c.146 0 .333.06.437.182l4.429 4.972c.104.102.25.183.395.183.166.02.291-.06.395-.162l1.788-1.908c.167-.183.5-.183.686 0l3.66 3.917v1.603H1.175v-.02z'/%3E%3Cpath d='M14.19 5.757c1.044 0 1.91-.872 1.91-1.968s-.846-1.969-1.91-1.969c-1.062 0-1.909.873-1.909 1.969s.866 1.968 1.91 1.968zm0-2.902c.493 0 .907.427.907.934 0 .507-.414.933-.906.933-.492 0-.906-.426-.906-.933 0-.507.414-.934.906-.934z'/%3E%3C/g%3E%3C/svg%3E")}.tribe-common .tribe-common-svgicon--week{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='21' height='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 .503v19.994c0 .278.19.503.424.503h20.152c.234 0 .424-.225.424-.503V.503C21 .225 20.81 0 20.576 0H.424C.19 0 0 .225 0 .503zm1.156.943h18.66v2.7H1.157v-2.7zm0 4.023h18.66V19.55H1.157V5.469zm6.25 6.537v1.006c0 .278.224.503.502.503h1.006a.503.503 0 0 0 .503-.503v-1.006a.503.503 0 0 0-.503-.502H7.908a.503.503 0 0 0-.503.502zm4.022 0v1.006c0 .278.225.503.503.503h1.006a.503.503 0 0 0 .503-.503v-1.006a.503.503 0 0 0-.503-.502H11.93a.503.503 0 0 0-.503.502zm4.023 0v1.006c0 .278.225.503.503.503h1.006a.503.503 0 0 0 .503-.503v-1.006a.503.503 0 0 0-.503-.502h-1.006a.503.503 0 0 0-.503.502zm-12.069 0v1.006c0 .278.225.503.503.503h1.006a.503.503 0 0 0 .503-.503v-1.006a.503.503 0 0 0-.503-.502H3.885a.503.503 0 0 0-.503.502z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-common .tribe-common-svgicon--featured{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h16v20l-7.902-5.122L0 20z' fill='%23141827'/%3E%3C/svg%3E");height:10px;width:8px}.tribe-common .tribe-common-svgicon--recurring{background-image:svg-inline(recurring-active);height:10px;width:10px}.tribe-common .tribe-common-svgicon--search{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23727272'/%3E%3C/svg%3E")}.tribe-common .tribe-common-svgicon--filters{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17'%3E%3Cg fill='none' fill-rule='evenodd' stroke='%23727272' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' transform='translate(1 1)'%3E%3Cpath d='M3 3V0m0 15v-2'/%3E%3Ccircle cx='3' cy='9' r='3'/%3E%3Cpath d='M12 9v6'/%3E%3Ccircle cx='12' cy='3' r='3' transform='matrix(1 0 0 -1 0 6)'/%3E%3C/g%3E%3C/svg%3E")}.tribe-common .tribe-common-svgicon--close{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Cpath d='M16 2L2 16m14 0L2 2' stroke='%23727272' fill='none' fill-rule='evenodd' stroke-linecap='square' stroke-width='2'/%3E%3C/svg%3E")}.tribe-common .tribe-common-a11y-hidden{display:none!important;visibility:hidden}.tribe-common .tribe-common-a11y-visual-hide,.tribe-common .tribe-common-a11y-visual-show{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tribe-common .tribe-common-c-btn-border,.tribe-common a.tribe-common-c-btn-border{padding:14px 20px;width:100%}.tribe-common .tribe-common-c-btn-icon:before{background-repeat:no-repeat;background-size:contain;content:"";display:block}.tribe-common .tribe-common-c-btn-icon--caret-left:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23BABABA'/%3E%3C/svg%3E");height:20px;width:12px}.tribe-common .tribe-common-c-btn-icon--caret-left:active:before,.tribe-common .tribe-common-c-btn-icon--caret-left:focus:before,.tribe-common .tribe-common-c-btn-icon--caret-left:hover:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23727272'/%3E%3C/svg%3E")}.tribe-common .tribe-common-c-btn-icon--caret-left:disabled:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23D5D5D5'/%3E%3C/svg%3E")}.tribe-common .tribe-common-c-btn-icon--caret-right:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23BABABA'/%3E%3C/svg%3E");height:20px;width:12px}.tribe-common .tribe-common-c-btn-icon--caret-right:active:before,.tribe-common .tribe-common-c-btn-icon--caret-right:focus:before,.tribe-common .tribe-common-c-btn-icon--caret-right:hover:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23727272'/%3E%3C/svg%3E")}.tribe-common .tribe-common-c-btn-icon--caret-right:disabled:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23D5D5D5'/%3E%3C/svg%3E")}.tribe-common .tribe-common-c-btn-icon--filters:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17'%3E%3Cg fill='none' fill-rule='evenodd' stroke='%23727272' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' transform='translate(1 1)'%3E%3Cpath d='M3 3V0m0 15v-2'/%3E%3Ccircle cx='3' cy='9' r='3'/%3E%3Cpath d='M12 9v6'/%3E%3Ccircle cx='12' cy='3' r='3' transform='matrix(1 0 0 -1 0 6)'/%3E%3C/g%3E%3C/svg%3E");height:20px;width:24px}.tribe-common .tribe-common-c-btn-icon--filters:active:before,.tribe-common .tribe-common-c-btn-icon--filters:focus:before,.tribe-common .tribe-common-c-btn-icon--filters:hover:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17'%3E%3Cg fill='none' fill-rule='evenodd' stroke='%23141827' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' transform='translate(1 1)'%3E%3Cpath d='M3 3V0m0 15v-2'/%3E%3Ccircle cx='3' cy='9' r='3'/%3E%3Cpath d='M12 9v6'/%3E%3Ccircle cx='12' cy='3' r='3' transform='matrix(1 0 0 -1 0 6)'/%3E%3C/g%3E%3C/svg%3E")}.tribe-common .tribe-common-c-btn-icon--filters:disabled:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17'%3E%3Cg fill='none' fill-rule='evenodd' stroke='%23D5D5D5' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' transform='translate(1 1)'%3E%3Cpath d='M3 3V0m0 15v-2'/%3E%3Ccircle cx='3' cy='9' r='3'/%3E%3Cpath d='M12 9v6'/%3E%3Ccircle cx='12' cy='3' r='3' transform='matrix(1 0 0 -1 0 6)'/%3E%3C/g%3E%3C/svg%3E")}.tribe-common .tribe-common-c-btn-icon--search:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23727272'/%3E%3C/svg%3E");height:20px;width:20px}.tribe-common .tribe-common-c-btn-icon--search:active:before,.tribe-common .tribe-common-c-btn-icon--search:focus:before,.tribe-common .tribe-common-c-btn-icon--search:hover:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-common .tribe-common-c-btn-icon--search:disabled:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23D5D5D5'/%3E%3C/svg%3E")}.tribe-common .tribe-common-c-btn,.tribe-common a.tribe-common-c-btn{padding:11px 20px;width:100%}.tribe-common .tribe-common-c-image{display:block;height:auto;margin-left:auto;margin-right:auto;width:100%}.tribe-common .tribe-common-c-image--bg{position:relative}.tribe-common .tribe-common-c-image__bg{background:50% no-repeat;background-size:cover;bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.tribe-common .tribe-common-c-loader{display:flex;padding-top:192px}.tribe-common .tribe-common-c-loader__dot{background-color:rgba(51,74,255,.07);height:15px;width:15px;border-radius:50%}.tribe-common .tribe-common-c-loader__dot:not(:first-of-type){margin-left:8px}@media (min-width:768px){#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-text__input,.tribe-common .tribe-common-form-control-text__input{padding:20px 20px 20px 40px}.tribe-common .tribe-common-g-row--gutters{margin-left:-24px;margin-right:-24px}.tribe-common .tribe-common-g-row--gutters>.tribe-common-g-col{padding-left:24px;padding-right:24px}.tribe-theme-twentynineteen .tribe-common .entry.tribe-common-g-row--gutters{margin-left:-24px;margin-right:-24px}.tribe-theme-twentynineteen .tribe-common .tribe-common-g-row--gutters>.entry.tribe-common-g-col{padding-left:24px;padding-right:24px}.tribe-common .tribe-common-l-container{padding-left:42px;padding-right:42px}.tribe-common .tribe-common-c-btn-border,.tribe-common a.tribe-common-c-btn-border{padding:6px 15px;width:auto}.tribe-common .tribe-common-c-btn,.tribe-common a.tribe-common-c-btn{width:auto}.tribe-common .tribe-common-c-loader{padding-top:288px}}
|
| 1 |
+
.tribe-common{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:antialiased}.tribe-common *{box-sizing:border-box}.tribe-common article,.tribe-common aside,.tribe-common details,.tribe-common figcaption,.tribe-common figure,.tribe-common footer,.tribe-common header,.tribe-common main,.tribe-common menu,.tribe-common nav,.tribe-common section,.tribe-common summary{display:block}.tribe-common svg:not(:root){overflow:hidden}.tribe-common audio,.tribe-common canvas,.tribe-common progress,.tribe-common video{display:inline-block}.tribe-common audio:not([controls]){display:none;height:0}.tribe-common progress{vertical-align:baseline}.tribe-common [hidden],.tribe-common template{display:none}.tribe-common pre{overflow:auto}.tribe-common sub,.tribe-common sup{position:relative;vertical-align:baseline}.tribe-common sup{top:-.5em}.tribe-common sub{bottom:-.25em}.tribe-common button,.tribe-common input,.tribe-common select,.tribe-common textarea{box-sizing:border-box;margin:0}.tribe-common input[type=number]::-webkit-inner-spin-button,.tribe-common input[type=number]::-webkit-outer-spin-button{height:auto}.tribe-common legend{color:inherit;display:table;max-width:100%;white-space:normal}.tribe-common textarea{resize:none;overflow:auto}.tribe-common button,.tribe-common input[type=button],.tribe-common input[type=reset],.tribe-common input[type=submit]{cursor:pointer;overflow:visible}.tribe-common button[disabled],.tribe-common input[disabled]{cursor:default}.tribe-common button::-moz-focus-inner,.tribe-common input::-moz-focus-inner{border:0;padding:0}.tribe-common a,.tribe-common abbr,.tribe-common acronym,.tribe-common address,.tribe-common applet,.tribe-common article,.tribe-common aside,.tribe-common audio,.tribe-common b,.tribe-common big,.tribe-common blockquote,.tribe-common canvas,.tribe-common caption,.tribe-common center,.tribe-common cite,.tribe-common code,.tribe-common dd,.tribe-common del,.tribe-common details,.tribe-common dfn,.tribe-common div,.tribe-common dl,.tribe-common dt,.tribe-common em,.tribe-common embed,.tribe-common fieldset,.tribe-common figcaption,.tribe-common figure,.tribe-common footer,.tribe-common form,.tribe-common h1,.tribe-common h2,.tribe-common h3,.tribe-common h4,.tribe-common h5,.tribe-common h6,.tribe-common header,.tribe-common i,.tribe-common iframe,.tribe-common img,.tribe-common ins,.tribe-common kbd,.tribe-common label,.tribe-common legend,.tribe-common li,.tribe-common main,.tribe-common mark,.tribe-common menu,.tribe-common nav,.tribe-common object,.tribe-common ol,.tribe-common output,.tribe-common p,.tribe-common pre,.tribe-common q,.tribe-common ruby,.tribe-common s,.tribe-common samp,.tribe-common section,.tribe-common small,.tribe-common span,.tribe-common strike,.tribe-common strong,.tribe-common sub,.tribe-common summary,.tribe-common sup,.tribe-common table,.tribe-common tbody,.tribe-common td,.tribe-common tfoot,.tribe-common th,.tribe-common thead,.tribe-common time,.tribe-common tr,.tribe-common tt,.tribe-common u,.tribe-common ul,.tribe-common var,.tribe-common video{margin:0;padding:0;border:0}.tribe-common ol,.tribe-common ul{list-style:none}.tribe-common img{-ms-interpolation-mode:bicubic;height:auto;max-width:100%;border-style:none}.tribe-common embed,.tribe-common iframe,.tribe-common video{max-width:100%;max-height:100%}.tribe-theme-avada input[type=text]{margin:0}.tribe-theme-divi .entry-content .tribe-common table,.tribe-theme-divibody.et-pb-preview #main-content .container .tribe-common table{border:0;margin:0}.tribe-theme-divi .entry-content .tribe-common td,.tribe-theme-divibody.et-pb-preview #main-content .container .tribe-common td{border:0}.tribe-theme-divi #content-area .tribe-common td,.tribe-theme-divi #content-area .tribe-common th,.tribe-theme-divi #content-area .tribe-common tr{padding:0}#top.tribe-theme-enfold .tribe-common form,#top.tribe-theme-enfold .tribe-common input{margin:0}.tribe-theme-twentyseventeen .tribe-common div.tribe-dialog{z-index:5!important}.tribe-common .tribe-common-form-control-checkbox__label,.tribe-common .tribe-common-form-control-radio__label{cursor:pointer;display:inline-block;margin-left:11px;vertical-align:middle}.tribe-common .tribe-common-form-control-checkbox__input,.tribe-common .tribe-common-form-control-radio__input{cursor:pointer;display:inline-block;margin:0;vertical-align:middle}#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-checkbox__input{display:inline-block}.tribe-common .tribe-common-form-control-checkbox-radio-group>*{margin-bottom:15px}.tribe-common .tribe-common-form-control-checkbox-radio-group>:last-child{margin-bottom:0}.tribe-common .tribe-common-form-control-slider__input{cursor:pointer;display:inline-block;margin:0;padding:0;width:120px;vertical-align:middle}.tribe-common .tribe-common-form-control-slider__label{cursor:pointer;display:inline-block;margin-left:11px;vertical-align:middle}.tribe-common .tribe-common-form-control-slider--vertical .tribe-common-form-control-slider__label{display:block;margin:0 0 6px}.tribe-common .tribe-common-form-control-text__label{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tribe-common .tribe-common-form-control-text__input{height:auto;padding:12px 28px 12px 0;width:100%}.tribe-common--breakpoint-medium.tribe-common .tribe-common-form-control-text__input{padding:20px 20px 20px 40px}#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-text__input{padding:12px 28px 12px 0;width:100%}#top.tribe-theme-enfold .tribe-common.tribe-common--breakpoint-medium .tribe-common-form-control-text__input{padding:20px 20px 20px 40px}.tribe-common .tribe-common-form-control-toggle__input,.tribe-common .tribe-common-form-control-toggle__label{cursor:pointer;display:inline-block;vertical-align:middle}.tribe-common .tribe-common-form-control-toggle__label{margin-left:11px}.tribe-common .tribe-common-form-control-toggle--vertical .tribe-common-form-control-toggle__label{display:block;margin:0 0 6px}#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-toggle__input{display:inline-block;margin:5px 0}.tribe-common .tribe-common-g-col{min-width:0;width:100%}.tribe-common .tribe-common-g-row{display:flex;flex-wrap:wrap}.tribe-common .tribe-common-g-row--gutters{margin-left:-21px;margin-right:-21px}.tribe-common--breakpoint-medium.tribe-common .tribe-common-g-row--gutters{margin-left:-24px;margin-right:-24px}.tribe-common .tribe-common-g-row--gutters>.tribe-common-g-col{padding-left:21px;padding-right:21px}.tribe-common--breakpoint-medium.tribe-common .tribe-common-g-row--gutters>.tribe-common-g-col{padding-left:24px;padding-right:24px}.tribe-theme-twentynineteen .tribe-common .entry.tribe-common-g-row--gutters{margin-left:-21px;margin-right:-21px;padding:0}.tribe-theme-twentynineteen .tribe-common.tribe-common--breakpoint-medium .entry.tribe-common-g-row--gutters{margin-left:-24px;margin-right:-24px}.tribe-theme-twentynineteen .tribe-common .tribe-common-g-row--gutters>.entry.tribe-common-g-col{margin:0;padding-left:21px;padding-right:21px}.tribe-theme-twentynineteen .tribe-common.tribe-common--breakpoint-medium .tribe-common-g-row--gutters>.entry.tribe-common-g-col{padding-left:24px;padding-right:24px}.tribe-common a{cursor:pointer}.tribe-theme-divi #left-area .tribe-common ul,.tribe-theme-divi .entry-content .tribe-common ul,body.et-pb-preview.tribe-theme-divi #main-content .container .tribe-common ul{list-style-type:none;padding:0}.tribe-common button{padding:0}.tribe-common .tribe-common-l-container{max-width:1260px;margin-left:auto;margin-right:auto;padding-left:19.5px;padding-right:19.5px;width:100%}.tribe-common--breakpoint-medium.tribe-common .tribe-common-l-container{padding-left:42px;padding-right:42px}.tribe-common .tribe-common-svgicon{background-repeat:no-repeat;background-size:contain}.tribe-common .tribe-common-svgicon--close-secondary{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Cpath d='M16 2L2 16m14 0L2 2' stroke='%23BABABA' fill='none' fill-rule='evenodd' stroke-linecap='square' stroke-width='2'/%3E%3C/svg%3E")}.tribe-common .tribe-common-svgicon--day{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='21' height='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 .503v19.994c0 .278.19.503.424.503h20.152c.234 0 .424-.225.424-.503V.503C21 .225 20.81 0 20.576 0H.424C.19 0 0 .225 0 .503zm1.156.943h18.66v2.7H1.157v-2.7zm0 4.023h18.66V19.55H1.157V5.469zM14.18 14.53v1.747c0 .482.39.874.873.874H16.8a.873.873 0 0 0 .873-.874V14.53a.873.873 0 0 0-.873-.873h-1.747a.873.873 0 0 0-.873.873z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-common .tribe-common-svgicon--list{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cg fill='%23141827' fill-rule='evenodd'%3E%3Cpath fill-rule='nonzero' d='M0 .504v20.03c0 .278.19.503.425.503h20.188c.235 0 .425-.225.425-.504V.503c0-.277-.19-.503-.425-.503H.425C.19 0 0 .226 0 .504zm1.158.944h18.695v2.705H1.158V1.448zm0 2.705h18.695v15.432H1.158V4.153z'/%3E%3Cpath d='M13.39 5.731v2.13a1.07 1.07 0 0 0 1.076 1.064h2.154a1.07 1.07 0 0 0 1.077-1.065V5.731a1.07 1.07 0 0 0-1.077-1.064h-2.154A1.07 1.07 0 0 0 13.39 5.73z'/%3E%3Cpath fill-rule='nonzero' d='M8.84 8.937c.286 0 .52-.236.52-.523v-.425a.523.523 0 0 0-.52-.522H4.02a.523.523 0 0 0-.52.522v.425c0 .287.234.523.52.523h4.82zm2.064-2.8c.287 0 .521-.236.521-.523v-.425a.523.523 0 0 0-.52-.522H4.02a.523.523 0 0 0-.521.522v.425c0 .287.234.523.52.523h6.884z'/%3E%3Cpath d='M13.39 12.731v2.13a1.07 1.07 0 0 0 1.076 1.064h2.154a1.07 1.07 0 0 0 1.077-1.065v-2.129a1.07 1.07 0 0 0-1.077-1.064h-2.154a1.07 1.07 0 0 0-1.077 1.064z'/%3E%3Cpath fill-rule='nonzero' d='M8.84 15.937c.286 0 .52-.236.52-.523v-.425a.523.523 0 0 0-.52-.522H4.02a.523.523 0 0 0-.52.522v.425c0 .287.234.523.52.523h4.82zm2.064-2.8c.287 0 .521-.236.521-.523v-.425a.523.523 0 0 0-.52-.522H4.02a.523.523 0 0 0-.521.522v.425c0 .287.234.523.52.523h6.884z'/%3E%3C/g%3E%3C/svg%3E")}.tribe-common .tribe-common-svgicon--map{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cg fill='%23141827' fill-rule='nonzero'%3E%3Cg stroke-width='.7'%3E%3Cpath stroke='%23141827' d='M10.67 17.21c.182-.225 4.46-5.527 4.46-8.18 0-2.728-2.085-4.947-4.648-4.947-2.563 0-4.649 2.22-4.649 4.946 0 2.654 4.279 7.956 4.46 8.18a.243.243 0 0 0 .189.092c.072 0 .14-.034.188-.092zM6.33 9.03c0-2.436 1.863-4.418 4.152-4.418 2.29 0 4.152 1.982 4.152 4.417 0 2.16-3.318 6.533-4.152 7.597C9.648 15.562 6.33 11.19 6.33 9.03z'/%3E%3Cpath stroke='%23000' d='M12.055 9.04c0-.911-.706-1.652-1.573-1.652-.868 0-1.574.74-1.574 1.652 0 .91.706 1.652 1.574 1.652.867 0 1.573-.741 1.573-1.652zm-2.85 0c0-.74.573-1.34 1.277-1.34s1.277.6 1.277 1.34c0 .74-.573 1.34-1.277 1.34s-1.277-.6-1.277-1.34z'/%3E%3C/g%3E%3Cpath d='M0 .504v20.03c0 .278.19.503.425.503h20.188c.235 0 .425-.225.425-.504V.503c0-.277-.19-.503-.425-.503H.425C.19 0 0 .226 0 .504zm1.158.944h18.695v2.705H1.158V1.448zm0 2.705h18.695v15.432H1.158V4.153z'/%3E%3C/g%3E%3C/svg%3E")}.tribe-common .tribe-common-svgicon--month{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='22' height='22' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.637 1.063v19.879c0 .276.189.5.422.5h20.037c.232 0 .421-.224.421-.5V1.062c0-.275-.189-.5-.421-.5H1.059c-.233 0-.422.225-.422.5zM1.787 2H20.34v2.685H1.787V2zm0 4H20.34v14H1.787V6zM8 8.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm4 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm4 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm-8 4v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm4 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm4 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm-12 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm0 4v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm4 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm4 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-common .tribe-common-svgicon--no-map{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='92' height='92' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg stroke='%23141827' stroke-width='2.5' transform='translate(2 2)'%3E%3Cpath d='M32.219 88S0 58.674 0 32.281C-.011 15.598 12.685 1.66 29.278.136c16.593-1.523 31.608 9.873 34.627 26.28M32.733 88s2.96-2.693 7.083-7.181' stroke-linecap='round'/%3E%3Ccircle cx='33' cy='33' r='8.905'/%3E%3Ccircle cx='65.127' cy='59.016' r='23.571'/%3E%3C/g%3E%3Cg transform='translate(64.857 47.048)'%3E%3Ccircle fill='%23111' cx='2.839' cy='26.495' r='2.839'/%3E%3Cpath d='M2.642 0v18.925' stroke='%23141827' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.tribe-common .tribe-common-svgicon--photo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21 21'%3E%3Cg fill='%23141827'%3E%3Cpath d='M20.407 0H.577A.565.565 0 0 0 0 .564v19.872c0 .316.254.564.578.564h19.83a.565.565 0 0 0 .577-.564V.564A.565.565 0 0 0 20.407 0zm-.6 1.15v14.868l-2.226-3.427c-.646-.677-1.848-.677-2.495 0l-1.548 1.646-4.482-5.029a1.806 1.806 0 0 0-1.363-.586c-.508 0-1.016.225-1.34.609l-5.175 5.75V1.15h18.628zM1.177 19.85v-3.133l6.053-6.765a.588.588 0 0 1 .462-.203c.162 0 .37.068.485.203l4.921 5.525c.116.113.278.203.44.203.184.022.323-.068.438-.18l1.987-2.12c.185-.203.555-.203.763 0l3.103 4.352v2.14H1.178v-.022z'/%3E%3Cpath d='M14.955 9.041c1.16 0 2.122-.97 2.122-2.187 0-1.218-.94-2.187-2.122-2.187-1.181 0-2.122.97-2.122 2.187 0 1.218.963 2.187 2.122 2.187zm0-3.224c.547 0 1.006.473 1.006 1.037s-.459 1.037-1.006 1.037c-.547 0-1.006-.473-1.006-1.037s.46-1.037 1.006-1.037z'/%3E%3C/g%3E%3C/svg%3E")}.tribe-common .tribe-common-svgicon--week{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='21' height='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 .503v19.994c0 .278.19.503.424.503h20.152c.234 0 .424-.225.424-.503V.503C21 .225 20.81 0 20.576 0H.424C.19 0 0 .225 0 .503zm1.156.943h18.66v2.7H1.157v-2.7zm0 4.023h18.66V19.55H1.157V5.469zm6.25 6.537v1.006c0 .278.224.503.502.503h1.006a.503.503 0 0 0 .503-.503v-1.006a.503.503 0 0 0-.503-.502H7.908a.503.503 0 0 0-.503.502zm4.022 0v1.006c0 .278.225.503.503.503h1.006a.503.503 0 0 0 .503-.503v-1.006a.503.503 0 0 0-.503-.502H11.93a.503.503 0 0 0-.503.502zm4.023 0v1.006c0 .278.225.503.503.503h1.006a.503.503 0 0 0 .503-.503v-1.006a.503.503 0 0 0-.503-.502h-1.006a.503.503 0 0 0-.503.502zm-12.069 0v1.006c0 .278.225.503.503.503h1.006a.503.503 0 0 0 .503-.503v-1.006a.503.503 0 0 0-.503-.502H3.885a.503.503 0 0 0-.503.502z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-common .tribe-common-svgicon--featured{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h16v20l-7.902-5.122L0 20z' fill='%23141827'/%3E%3C/svg%3E");height:10px;width:8px}.tribe-common .tribe-common-svgicon--recurring{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.333 3.826c0 .065 0 .13-.02.174 0 .022-.02.065-.02.087a.9.9 0 0 1-.197.37L10.45 7.37a.797.797 0 0 1-.592.26.797.797 0 0 1-.593-.26c-.316-.348-.316-.935 0-1.305l1.225-1.348H6.3c-2.547 0-4.64 2.283-4.64 5.11 0 1.369.474 2.651 1.363 3.608.316.348.316.935 0 1.304A.797.797 0 0 1 2.43 15a.797.797 0 0 1-.593-.26C.652 13.434 0 11.695 0 9.847c0-3.826 2.825-6.935 6.301-6.935h4.208L9.284 1.565c-.316-.348-.316-.935 0-1.304.316-.348.85-.348 1.185 0l2.647 2.913a.952.952 0 0 1 .198.37c0 .021.02.065.02.086v.196zM20 10.152c0 3.826-2.825 6.935-6.301 6.935H9.49l1.225 1.348c.336.348.336.935 0 1.304a.797.797 0 0 1-.593.261.83.83 0 0 1-.592-.26l-2.627-2.936a.948.948 0 0 1-.198-.37c0-.021-.02-.064-.02-.086-.02-.065-.02-.109-.02-.174 0-.065 0-.13.02-.174 0-.022.02-.065.02-.087a.9.9 0 0 1 .198-.37L9.55 12.63c.316-.347.849-.347 1.185 0 .336.348.336.935 0 1.305L9.51 15.283h4.208c2.548 0 4.641-2.283 4.641-5.11 0-1.369-.474-2.651-1.362-3.608a.97.97 0 0 1 0-1.304c.316-.348.849-.348 1.185 0C19.348 6.543 20 8.283 20 10.152z' fill='%23141827'/%3E%3C/svg%3E");height:10px;width:10px}.tribe-common .tribe-common-svgicon--search{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23727272'/%3E%3C/svg%3E")}.tribe-common .tribe-common-svgicon--filters{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17'%3E%3Cg fill='none' fill-rule='evenodd' stroke='%23727272' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' transform='translate(1 1)'%3E%3Cpath d='M3 3V0m0 15v-2'/%3E%3Ccircle cx='3' cy='9' r='3'/%3E%3Cpath d='M12 9v6'/%3E%3Ccircle cx='12' cy='3' r='3' transform='matrix(1 0 0 -1 0 6)'/%3E%3C/g%3E%3C/svg%3E")}.tribe-common .tribe-common-svgicon--close{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Cpath d='M16 2L2 16m14 0L2 2' stroke='%23727272' fill='none' fill-rule='evenodd' stroke-linecap='square' stroke-width='2'/%3E%3C/svg%3E")}.tribe-common .tribe-common-a11y-hidden{display:none!important;visibility:hidden}.tribe-common .tribe-common-a11y-visual-hide,.tribe-common .tribe-common-a11y-visual-show{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tribe-common .tribe-common-c-btn-border,.tribe-common a.tribe-common-c-btn-border{padding:14px 20px;width:100%}.tribe-common--breakpoint-medium.tribe-common .tribe-common-c-btn-border,.tribe-common--breakpoint-medium.tribe-common a.tribe-common-c-btn-border{padding:6px 15px;width:auto}.tribe-common .tribe-common-c-btn-icon:before{background-repeat:no-repeat;background-size:contain;content:"";display:block}.tribe-common .tribe-common-c-btn-icon--caret-left:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23BABABA'/%3E%3C/svg%3E");height:20px;width:12px}.tribe-common .tribe-common-c-btn-icon--caret-left:active:before,.tribe-common .tribe-common-c-btn-icon--caret-left:focus:before,.tribe-common .tribe-common-c-btn-icon--caret-left:hover:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23727272'/%3E%3C/svg%3E")}.tribe-common .tribe-common-c-btn-icon--caret-left:disabled:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23D5D5D5'/%3E%3C/svg%3E")}.tribe-common .tribe-common-c-btn-icon--caret-right:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23BABABA'/%3E%3C/svg%3E");height:20px;width:12px}.tribe-common .tribe-common-c-btn-icon--caret-right:active:before,.tribe-common .tribe-common-c-btn-icon--caret-right:focus:before,.tribe-common .tribe-common-c-btn-icon--caret-right:hover:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23727272'/%3E%3C/svg%3E")}.tribe-common .tribe-common-c-btn-icon--caret-right:disabled:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23D5D5D5'/%3E%3C/svg%3E")}.tribe-common .tribe-common-c-btn-icon--filters:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17'%3E%3Cg fill='none' fill-rule='evenodd' stroke='%23727272' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' transform='translate(1 1)'%3E%3Cpath d='M3 3V0m0 15v-2'/%3E%3Ccircle cx='3' cy='9' r='3'/%3E%3Cpath d='M12 9v6'/%3E%3Ccircle cx='12' cy='3' r='3' transform='matrix(1 0 0 -1 0 6)'/%3E%3C/g%3E%3C/svg%3E");height:20px;width:24px}.tribe-common .tribe-common-c-btn-icon--filters:active:before,.tribe-common .tribe-common-c-btn-icon--filters:focus:before,.tribe-common .tribe-common-c-btn-icon--filters:hover:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17'%3E%3Cg fill='none' fill-rule='evenodd' stroke='%23141827' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' transform='translate(1 1)'%3E%3Cpath d='M3 3V0m0 15v-2'/%3E%3Ccircle cx='3' cy='9' r='3'/%3E%3Cpath d='M12 9v6'/%3E%3Ccircle cx='12' cy='3' r='3' transform='matrix(1 0 0 -1 0 6)'/%3E%3C/g%3E%3C/svg%3E")}.tribe-common .tribe-common-c-btn-icon--filters:disabled:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17'%3E%3Cg fill='none' fill-rule='evenodd' stroke='%23D5D5D5' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' transform='translate(1 1)'%3E%3Cpath d='M3 3V0m0 15v-2'/%3E%3Ccircle cx='3' cy='9' r='3'/%3E%3Cpath d='M12 9v6'/%3E%3Ccircle cx='12' cy='3' r='3' transform='matrix(1 0 0 -1 0 6)'/%3E%3C/g%3E%3C/svg%3E")}.tribe-common .tribe-common-c-btn-icon--search:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23727272'/%3E%3C/svg%3E");height:20px;width:20px}.tribe-common .tribe-common-c-btn-icon--search:active:before,.tribe-common .tribe-common-c-btn-icon--search:focus:before,.tribe-common .tribe-common-c-btn-icon--search:hover:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-common .tribe-common-c-btn-icon--search:disabled:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23D5D5D5'/%3E%3C/svg%3E")}.tribe-common .tribe-common-c-btn,.tribe-common a.tribe-common-c-btn{padding:11px 20px;width:100%}.tribe-common--breakpoint-medium.tribe-common .tribe-common-c-btn,.tribe-common--breakpoint-medium.tribe-common a.tribe-common-c-btn{width:auto}.tribe-common .tribe-common-c-image{display:block;height:auto;margin-left:auto;margin-right:auto;width:100%}.tribe-common .tribe-common-c-image--bg{position:relative}.tribe-common .tribe-common-c-image__bg{background:50% no-repeat;background-size:cover;bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.tribe-common .tribe-common-c-loader{display:flex;padding-top:192px}.tribe-common--breakpoint-medium.tribe-common .tribe-common-c-loader{padding-top:288px}.tribe-common .tribe-common-c-loader__dot{background-color:rgba(51,74,255,.07);height:15px;width:15px;border-radius:50%}.tribe-common .tribe-common-c-loader__dot:not(:first-of-type){margin-left:8px}
|
common/src/resources/images/mascot.png
CHANGED
|
Binary file
|
common/src/resources/postcss/README.md
CHANGED
|
@@ -69,9 +69,9 @@ In this case, the label is an element of the toggle. However, the `--vertical` m
|
|
| 69 |
|
| 70 |
For overriding styles, it is recommended to only use classes to keep overriding specificity consistent. All elements should have classes and should be targetted using those classes.
|
| 71 |
|
| 72 |
-
## Modifiers, pseudo-classes, and
|
| 73 |
|
| 74 |
-
As you get into building upon these styles and creating new styles, the order of modifiers, pseudo-classes, and
|
| 75 |
|
| 76 |
```
|
| 77 |
.tribe-common {
|
|
@@ -80,15 +80,15 @@ As you get into building upon these styles and creating new styles, the order of
|
|
| 80 |
.tribe-common-form-control-toggle {
|
| 81 |
/* toggle styles */
|
| 82 |
|
| 83 |
-
|
| 84 |
-
/*
|
| 85 |
}
|
| 86 |
|
| 87 |
&:after {
|
| 88 |
/* :after pseudo-class styles */
|
| 89 |
|
| 90 |
-
|
| 91 |
-
/*
|
| 92 |
}
|
| 93 |
}
|
| 94 |
}
|
|
@@ -96,15 +96,15 @@ As you get into building upon these styles and creating new styles, the order of
|
|
| 96 |
.tribe-common-form-control-toggle--vertical {
|
| 97 |
/* vertical toggle styles */
|
| 98 |
|
| 99 |
-
|
| 100 |
-
/*
|
| 101 |
}
|
| 102 |
|
| 103 |
&:after {
|
| 104 |
/* :after pseudo-class styles */
|
| 105 |
|
| 106 |
-
|
| 107 |
-
/*
|
| 108 |
}
|
| 109 |
}
|
| 110 |
}
|
|
@@ -122,15 +122,15 @@ In the case of an element, we might get the following scenario:
|
|
| 122 |
.tribe-common-form-control-toggle__input {
|
| 123 |
/* toggle input styles */
|
| 124 |
|
| 125 |
-
|
| 126 |
-
/*
|
| 127 |
}
|
| 128 |
|
| 129 |
&:after {
|
| 130 |
/* :after pseudo-class styles */
|
| 131 |
|
| 132 |
-
|
| 133 |
-
/*
|
| 134 |
}
|
| 135 |
}
|
| 136 |
}
|
|
@@ -140,15 +140,15 @@ In the case of an element, we might get the following scenario:
|
|
| 140 |
.tribe-common-form-control-toggle__input {
|
| 141 |
/* vertical toggle input styles */
|
| 142 |
|
| 143 |
-
|
| 144 |
-
/*
|
| 145 |
}
|
| 146 |
|
| 147 |
&:after {
|
| 148 |
/* :after pseudo-class styles */
|
| 149 |
|
| 150 |
-
|
| 151 |
-
/*
|
| 152 |
}
|
| 153 |
}
|
| 154 |
}
|
|
@@ -196,7 +196,7 @@ Base grid styles are for layout and grids provided by the design system. Prefixe
|
|
| 196 |
|
| 197 |
Base typography styles are for anything typography-related. These include anchors, body text, call to actions, headings, and lists. For body text, we've used the classes `.tribe-common-b1` to `.tribe-common-b3`. These body text classes are used to mimic the design system body text styles. For headings, we've used the classes `.tribe-common-h1` to `.tribe-common-h8`. These heading classes are also used to mimic the design system heading styles.
|
| 198 |
|
| 199 |
-
There are also classes in body text and heading styles with the `--min-medium` modifier. Each body text and heading class has a style for mobile and desktop (
|
| 200 |
|
| 201 |
```
|
| 202 |
<h2 class="tribe-common-h6 tribe-common-h5--min-medium">Test heading</h2>
|
|
@@ -212,9 +212,13 @@ Accessibility styles are utility classes for repeatable patterns regarding acces
|
|
| 212 |
|
| 213 |
Components are groups of reusable markup and styles. The component style structure is meant to mirror the markup structure.
|
| 214 |
|
| 215 |
-
###
|
| 216 |
|
| 217 |
-
These styles use a mobile-first approach. Given this,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 218 |
|
| 219 |
## Theme overrides
|
| 220 |
|
| 69 |
|
| 70 |
For overriding styles, it is recommended to only use classes to keep overriding specificity consistent. All elements should have classes and should be targetted using those classes.
|
| 71 |
|
| 72 |
+
## Modifiers, pseudo-classes, and container query classes
|
| 73 |
|
| 74 |
+
As you get into building upon these styles and creating new styles, the order of modifiers, pseudo-classes, and container query classes comes into question. The general rule is to apply them in the following order: container query classes, pseudo-classes, modifiers. See the examples below:
|
| 75 |
|
| 76 |
```
|
| 77 |
.tribe-common {
|
| 80 |
.tribe-common-form-control-toggle {
|
| 81 |
/* toggle styles */
|
| 82 |
|
| 83 |
+
.tribe-common--breakpoint-medium& {
|
| 84 |
+
/* container medium toggle styles */
|
| 85 |
}
|
| 86 |
|
| 87 |
&:after {
|
| 88 |
/* :after pseudo-class styles */
|
| 89 |
|
| 90 |
+
.tribe-common--breakpoint-medium& {
|
| 91 |
+
/* container medium :after pseudo-class styles */
|
| 92 |
}
|
| 93 |
}
|
| 94 |
}
|
| 96 |
.tribe-common-form-control-toggle--vertical {
|
| 97 |
/* vertical toggle styles */
|
| 98 |
|
| 99 |
+
.tribe-common--breakpoint-medium& {
|
| 100 |
+
/* container medium vertical toggle styles */
|
| 101 |
}
|
| 102 |
|
| 103 |
&:after {
|
| 104 |
/* :after pseudo-class styles */
|
| 105 |
|
| 106 |
+
.tribe-common--breakpoint-medium& {
|
| 107 |
+
/* container medium :after pseudo-class styles */
|
| 108 |
}
|
| 109 |
}
|
| 110 |
}
|
| 122 |
.tribe-common-form-control-toggle__input {
|
| 123 |
/* toggle input styles */
|
| 124 |
|
| 125 |
+
.tribe-common--breakpoint-medium& {
|
| 126 |
+
/* container medium toggle input styles */
|
| 127 |
}
|
| 128 |
|
| 129 |
&:after {
|
| 130 |
/* :after pseudo-class styles */
|
| 131 |
|
| 132 |
+
.tribe-common--breakpoint-medium& {
|
| 133 |
+
/* container medium :after pseudo-class styles */
|
| 134 |
}
|
| 135 |
}
|
| 136 |
}
|
| 140 |
.tribe-common-form-control-toggle__input {
|
| 141 |
/* vertical toggle input styles */
|
| 142 |
|
| 143 |
+
.tribe-common--breakpoint-medium& {
|
| 144 |
+
/* container medium vertical toggle input styles */
|
| 145 |
}
|
| 146 |
|
| 147 |
&:after {
|
| 148 |
/* :after pseudo-class styles */
|
| 149 |
|
| 150 |
+
.tribe-common--breakpoint-medium& {
|
| 151 |
+
/* container medium :after pseudo-class styles */
|
| 152 |
}
|
| 153 |
}
|
| 154 |
}
|
| 196 |
|
| 197 |
Base typography styles are for anything typography-related. These include anchors, body text, call to actions, headings, and lists. For body text, we've used the classes `.tribe-common-b1` to `.tribe-common-b3`. These body text classes are used to mimic the design system body text styles. For headings, we've used the classes `.tribe-common-h1` to `.tribe-common-h8`. These heading classes are also used to mimic the design system heading styles.
|
| 198 |
|
| 199 |
+
There are also classes in body text and heading styles with the `--min-medium` modifier. Each body text and heading class has a style for mobile and desktop (`.tribe-common--breakpoint-medium`). However, the designs may not follow the styles exactly for each class upon reaching the `.tribe-common--breakpoint-medium` breakpoint, but instead use another class style. For this reason, we've added the `--min-medium` modifier for each body text and heading class to apply a different style upon reaching this breakpoint. See example below:
|
| 200 |
|
| 201 |
```
|
| 202 |
<h2 class="tribe-common-h6 tribe-common-h5--min-medium">Test heading</h2>
|
| 212 |
|
| 213 |
Components are groups of reusable markup and styles. The component style structure is meant to mirror the markup structure.
|
| 214 |
|
| 215 |
+
### Container queries
|
| 216 |
|
| 217 |
+
These styles use a mobile-first approach. Given this, styles build on top of each other at various breakpoints. However, they don't use the traditional `min-width:` media queries most of us are used to. Instead, the styles use container queries based on the `.tribe-common` container.
|
| 218 |
+
|
| 219 |
+
The reasoning for this is simple. Many of the views for The Events Calendar and Event Tickets depend on the theme to which they are applied. Some themes have an extremely wide spacing on the left and right while others have none. At our usual 768px breakpoint for the `--min-medium` modifier, the `.tribe-common` container could have very different widths based on the theme used and display the view inconsistently.
|
| 220 |
+
|
| 221 |
+
To counter this, we've applied a type of container media queries. By applying JavaScript that runs as soon as the container is printed, we are able apply classes to the container based on its width rather than the viewport width. We currently use 3 breakpoints: `.tribe-common--breakpoint-xsmall`, `.tribe-common--breakpoint-medium`, and `.tribe-common--breakpoint-full`. These correspond to 500px, 768px, and 960px, respectively. These values can also be filtered to customize the breakpoint values.
|
| 222 |
|
| 223 |
## Theme overrides
|
| 224 |
|
common/src/resources/postcss/base/full/forms/_text.pcss
CHANGED
|
@@ -23,7 +23,7 @@
|
|
| 23 |
border: 0;
|
| 24 |
border-bottom: 1px solid var(--color-border-default);
|
| 25 |
|
| 26 |
-
|
| 27 |
@mixin desktop-body-2;
|
| 28 |
|
| 29 |
border: 0;
|
|
@@ -80,16 +80,16 @@
|
|
| 80 |
border: 0;
|
| 81 |
border-bottom: 1px solid var(--color-border-default);
|
| 82 |
|
| 83 |
-
@media (--viewport-medium) {
|
| 84 |
-
@mixin desktop-body-2;
|
| 85 |
-
|
| 86 |
-
border: 0;
|
| 87 |
-
}
|
| 88 |
-
|
| 89 |
&:focus {
|
| 90 |
border-bottom-color: var(--color-border-active);
|
| 91 |
box-shadow: none;
|
| 92 |
}
|
| 93 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 94 |
}
|
| 95 |
}
|
| 23 |
border: 0;
|
| 24 |
border-bottom: 1px solid var(--color-border-default);
|
| 25 |
|
| 26 |
+
.tribe-common--breakpoint-medium& {
|
| 27 |
@mixin desktop-body-2;
|
| 28 |
|
| 29 |
border: 0;
|
| 80 |
border: 0;
|
| 81 |
border-bottom: 1px solid var(--color-border-default);
|
| 82 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 83 |
&:focus {
|
| 84 |
border-bottom-color: var(--color-border-active);
|
| 85 |
box-shadow: none;
|
| 86 |
}
|
| 87 |
}
|
| 88 |
+
|
| 89 |
+
&.tribe-common--breakpoint-medium .tribe-common-form-control-text__input {
|
| 90 |
+
@mixin desktop-body-2;
|
| 91 |
+
|
| 92 |
+
border: 0;
|
| 93 |
+
}
|
| 94 |
}
|
| 95 |
}
|
common/src/resources/postcss/base/full/typography/_body.pcss
CHANGED
|
@@ -15,7 +15,7 @@
|
|
| 15 |
.tribe-common-b1 {
|
| 16 |
@mixin mobile-body-1;
|
| 17 |
|
| 18 |
-
|
| 19 |
@mixin desktop-body-1-sup;
|
| 20 |
}
|
| 21 |
}
|
|
@@ -31,7 +31,7 @@
|
|
| 31 |
.tribe-common-b2 {
|
| 32 |
@mixin mobile-body-2;
|
| 33 |
|
| 34 |
-
|
| 35 |
@mixin desktop-body-2-sup;
|
| 36 |
}
|
| 37 |
}
|
|
@@ -47,7 +47,7 @@
|
|
| 47 |
.tribe-common-b3 {
|
| 48 |
@mixin mobile-body-3;
|
| 49 |
|
| 50 |
-
|
| 51 |
@mixin desktop-body-3-sup;
|
| 52 |
}
|
| 53 |
}
|
|
@@ -61,7 +61,8 @@
|
|
| 61 |
* ------------------------------------------------------------------------- */
|
| 62 |
|
| 63 |
.tribe-common-b1--min-medium {
|
| 64 |
-
|
|
|
|
| 65 |
@mixin desktop-body-1-sup;
|
| 66 |
}
|
| 67 |
}
|
|
@@ -71,7 +72,8 @@
|
|
| 71 |
* ------------------------------------------------------------------------- */
|
| 72 |
|
| 73 |
.tribe-common-b2--min-medium {
|
| 74 |
-
|
|
|
|
| 75 |
@mixin desktop-body-2-sup;
|
| 76 |
}
|
| 77 |
}
|
|
@@ -81,7 +83,8 @@
|
|
| 81 |
* ------------------------------------------------------------------------- */
|
| 82 |
|
| 83 |
.tribe-common-b3--min-medium {
|
| 84 |
-
|
|
|
|
| 85 |
@mixin desktop-body-3-sup;
|
| 86 |
}
|
| 87 |
}
|
| 15 |
.tribe-common-b1 {
|
| 16 |
@mixin mobile-body-1;
|
| 17 |
|
| 18 |
+
.tribe-common--breakpoint-medium& {
|
| 19 |
@mixin desktop-body-1-sup;
|
| 20 |
}
|
| 21 |
}
|
| 31 |
.tribe-common-b2 {
|
| 32 |
@mixin mobile-body-2;
|
| 33 |
|
| 34 |
+
.tribe-common--breakpoint-medium& {
|
| 35 |
@mixin desktop-body-2-sup;
|
| 36 |
}
|
| 37 |
}
|
| 47 |
.tribe-common-b3 {
|
| 48 |
@mixin mobile-body-3;
|
| 49 |
|
| 50 |
+
.tribe-common--breakpoint-medium& {
|
| 51 |
@mixin desktop-body-3-sup;
|
| 52 |
}
|
| 53 |
}
|
| 61 |
* ------------------------------------------------------------------------- */
|
| 62 |
|
| 63 |
.tribe-common-b1--min-medium {
|
| 64 |
+
|
| 65 |
+
.tribe-common--breakpoint-medium& {
|
| 66 |
@mixin desktop-body-1-sup;
|
| 67 |
}
|
| 68 |
}
|
| 72 |
* ------------------------------------------------------------------------- */
|
| 73 |
|
| 74 |
.tribe-common-b2--min-medium {
|
| 75 |
+
|
| 76 |
+
.tribe-common--breakpoint-medium& {
|
| 77 |
@mixin desktop-body-2-sup;
|
| 78 |
}
|
| 79 |
}
|
| 83 |
* ------------------------------------------------------------------------- */
|
| 84 |
|
| 85 |
.tribe-common-b3--min-medium {
|
| 86 |
+
|
| 87 |
+
.tribe-common--breakpoint-medium& {
|
| 88 |
@mixin desktop-body-3-sup;
|
| 89 |
}
|
| 90 |
}
|
common/src/resources/postcss/base/full/typography/_headings.pcss
CHANGED
|
@@ -16,7 +16,7 @@
|
|
| 16 |
@mixin heading;
|
| 17 |
@mixin mobile-heading-1;
|
| 18 |
|
| 19 |
-
|
| 20 |
@mixin desktop-heading-1;
|
| 21 |
}
|
| 22 |
}
|
|
@@ -29,7 +29,7 @@
|
|
| 29 |
@mixin heading;
|
| 30 |
@mixin mobile-heading-2;
|
| 31 |
|
| 32 |
-
|
| 33 |
@mixin desktop-heading-2;
|
| 34 |
}
|
| 35 |
}
|
|
@@ -42,7 +42,7 @@
|
|
| 42 |
@mixin heading;
|
| 43 |
@mixin mobile-heading-3;
|
| 44 |
|
| 45 |
-
|
| 46 |
@mixin desktop-heading-3;
|
| 47 |
}
|
| 48 |
}
|
|
@@ -55,7 +55,7 @@
|
|
| 55 |
@mixin heading;
|
| 56 |
@mixin mobile-heading-4;
|
| 57 |
|
| 58 |
-
|
| 59 |
@mixin desktop-heading-4;
|
| 60 |
}
|
| 61 |
}
|
|
@@ -77,7 +77,7 @@
|
|
| 77 |
@mixin heading;
|
| 78 |
@mixin mobile-heading-6;
|
| 79 |
|
| 80 |
-
|
| 81 |
@mixin desktop-heading-6;
|
| 82 |
}
|
| 83 |
}
|
|
@@ -105,7 +105,8 @@
|
|
| 105 |
* ------------------------------------------------------------------------- */
|
| 106 |
|
| 107 |
.tribe-common-h3--min-medium {
|
| 108 |
-
|
|
|
|
| 109 |
@mixin desktop-heading-3;
|
| 110 |
}
|
| 111 |
}
|
|
@@ -115,7 +116,8 @@
|
|
| 115 |
* ------------------------------------------------------------------------- */
|
| 116 |
|
| 117 |
.tribe-common-h4--min-medium {
|
| 118 |
-
|
|
|
|
| 119 |
@mixin desktop-heading-4;
|
| 120 |
}
|
| 121 |
}
|
|
@@ -125,7 +127,8 @@
|
|
| 125 |
* ------------------------------------------------------------------------- */
|
| 126 |
|
| 127 |
.tribe-common-h5--min-medium {
|
| 128 |
-
|
|
|
|
| 129 |
@mixin heading-5;
|
| 130 |
}
|
| 131 |
}
|
|
@@ -135,7 +138,8 @@
|
|
| 135 |
* ------------------------------------------------------------------------- */
|
| 136 |
|
| 137 |
.tribe-common-h6--min-medium {
|
| 138 |
-
|
|
|
|
| 139 |
@mixin desktop-heading-6;
|
| 140 |
}
|
| 141 |
}
|
|
@@ -145,7 +149,8 @@
|
|
| 145 |
* ------------------------------------------------------------------------- */
|
| 146 |
|
| 147 |
.tribe-common-h7--min-medium {
|
| 148 |
-
|
|
|
|
| 149 |
@mixin heading-7;
|
| 150 |
}
|
| 151 |
}
|
|
@@ -168,7 +173,7 @@
|
|
| 168 |
* Theme Overrides - Avada
|
| 169 |
* ------------------------------------------------------------------------- */
|
| 170 |
|
| 171 |
-
|
| 172 |
|
| 173 |
/* -------------------------------------------------------------------------
|
| 174 |
* Heading: h1
|
|
@@ -177,10 +182,10 @@
|
|
| 177 |
.tribe-common-h1 {
|
| 178 |
@mixin heading;
|
| 179 |
@mixin mobile-heading-1;
|
|
|
|
| 180 |
|
| 181 |
-
|
| 182 |
-
|
| 183 |
-
}
|
| 184 |
}
|
| 185 |
|
| 186 |
/* -------------------------------------------------------------------------
|
|
@@ -190,10 +195,10 @@
|
|
| 190 |
.tribe-common-h2 {
|
| 191 |
@mixin heading;
|
| 192 |
@mixin mobile-heading-2;
|
|
|
|
| 193 |
|
| 194 |
-
|
| 195 |
-
|
| 196 |
-
}
|
| 197 |
}
|
| 198 |
|
| 199 |
/* -------------------------------------------------------------------------
|
|
@@ -203,10 +208,10 @@
|
|
| 203 |
.tribe-common-h3 {
|
| 204 |
@mixin heading;
|
| 205 |
@mixin mobile-heading-3;
|
|
|
|
| 206 |
|
| 207 |
-
|
| 208 |
-
|
| 209 |
-
}
|
| 210 |
}
|
| 211 |
|
| 212 |
/* -------------------------------------------------------------------------
|
|
@@ -216,10 +221,10 @@
|
|
| 216 |
.tribe-common-h4 {
|
| 217 |
@mixin heading;
|
| 218 |
@mixin mobile-heading-4;
|
|
|
|
| 219 |
|
| 220 |
-
|
| 221 |
-
|
| 222 |
-
}
|
| 223 |
}
|
| 224 |
|
| 225 |
/* -------------------------------------------------------------------------
|
|
@@ -238,10 +243,10 @@
|
|
| 238 |
.tribe-common-h6 {
|
| 239 |
@mixin heading;
|
| 240 |
@mixin mobile-heading-6;
|
|
|
|
| 241 |
|
| 242 |
-
|
| 243 |
-
|
| 244 |
-
}
|
| 245 |
}
|
| 246 |
|
| 247 |
/* -------------------------------------------------------------------------
|
|
@@ -266,50 +271,40 @@
|
|
| 266 |
* Heading: h3 for --viewport-medium
|
| 267 |
* ------------------------------------------------------------------------- */
|
| 268 |
|
| 269 |
-
.tribe-common-h3--min-medium {
|
| 270 |
-
@
|
| 271 |
-
@mixin desktop-heading-3;
|
| 272 |
-
}
|
| 273 |
}
|
| 274 |
|
| 275 |
/* -------------------------------------------------------------------------
|
| 276 |
* Heading: h4 for --viewport-medium
|
| 277 |
* ------------------------------------------------------------------------- */
|
| 278 |
|
| 279 |
-
.tribe-common-h4--min-medium {
|
| 280 |
-
@
|
| 281 |
-
@mixin desktop-heading-4;
|
| 282 |
-
}
|
| 283 |
}
|
| 284 |
|
| 285 |
/* -------------------------------------------------------------------------
|
| 286 |
* Heading: h5 for --viewport-medium
|
| 287 |
* ------------------------------------------------------------------------- */
|
| 288 |
|
| 289 |
-
.tribe-common-h5--min-medium {
|
| 290 |
-
@
|
| 291 |
-
@mixin heading-5;
|
| 292 |
-
}
|
| 293 |
}
|
| 294 |
|
| 295 |
/* -------------------------------------------------------------------------
|
| 296 |
* Heading: h6 for --viewport-medium
|
| 297 |
* ------------------------------------------------------------------------- */
|
| 298 |
|
| 299 |
-
.tribe-common-h6--min-medium {
|
| 300 |
-
@
|
| 301 |
-
@mixin desktop-heading-6;
|
| 302 |
-
}
|
| 303 |
}
|
| 304 |
|
| 305 |
/* -------------------------------------------------------------------------
|
| 306 |
* Heading: h7 for --viewport-medium
|
| 307 |
* ------------------------------------------------------------------------- */
|
| 308 |
|
| 309 |
-
.tribe-common-h7--min-medium {
|
| 310 |
-
@
|
| 311 |
-
@mixin heading-7;
|
| 312 |
-
}
|
| 313 |
}
|
| 314 |
|
| 315 |
/* -------------------------------------------------------------------------
|
| 16 |
@mixin heading;
|
| 17 |
@mixin mobile-heading-1;
|
| 18 |
|
| 19 |
+
.tribe-common--breakpoint-medium& {
|
| 20 |
@mixin desktop-heading-1;
|
| 21 |
}
|
| 22 |
}
|
| 29 |
@mixin heading;
|
| 30 |
@mixin mobile-heading-2;
|
| 31 |
|
| 32 |
+
.tribe-common--breakpoint-medium& {
|
| 33 |
@mixin desktop-heading-2;
|
| 34 |
}
|
| 35 |
}
|
| 42 |
@mixin heading;
|
| 43 |
@mixin mobile-heading-3;
|
| 44 |
|
| 45 |
+
.tribe-common--breakpoint-medium& {
|
| 46 |
@mixin desktop-heading-3;
|
| 47 |
}
|
| 48 |
}
|
| 55 |
@mixin heading;
|
| 56 |
@mixin mobile-heading-4;
|
| 57 |
|
| 58 |
+
.tribe-common--breakpoint-medium& {
|
| 59 |
@mixin desktop-heading-4;
|
| 60 |
}
|
| 61 |
}
|
| 77 |
@mixin heading;
|
| 78 |
@mixin mobile-heading-6;
|
| 79 |
|
| 80 |
+
.tribe-common--breakpoint-medium& {
|
| 81 |
@mixin desktop-heading-6;
|
| 82 |
}
|
| 83 |
}
|
| 105 |
* ------------------------------------------------------------------------- */
|
| 106 |
|
| 107 |
.tribe-common-h3--min-medium {
|
| 108 |
+
|
| 109 |
+
.tribe-common--breakpoint-medium& {
|
| 110 |
@mixin desktop-heading-3;
|
| 111 |
}
|
| 112 |
}
|
| 116 |
* ------------------------------------------------------------------------- */
|
| 117 |
|
| 118 |
.tribe-common-h4--min-medium {
|
| 119 |
+
|
| 120 |
+
.tribe-common--breakpoint-medium& {
|
| 121 |
@mixin desktop-heading-4;
|
| 122 |
}
|
| 123 |
}
|
| 127 |
* ------------------------------------------------------------------------- */
|
| 128 |
|
| 129 |
.tribe-common-h5--min-medium {
|
| 130 |
+
|
| 131 |
+
.tribe-common--breakpoint-medium& {
|
| 132 |
@mixin heading-5;
|
| 133 |
}
|
| 134 |
}
|
| 138 |
* ------------------------------------------------------------------------- */
|
| 139 |
|
| 140 |
.tribe-common-h6--min-medium {
|
| 141 |
+
|
| 142 |
+
.tribe-common--breakpoint-medium& {
|
| 143 |
@mixin desktop-heading-6;
|
| 144 |
}
|
| 145 |
}
|
| 149 |
* ------------------------------------------------------------------------- */
|
| 150 |
|
| 151 |
.tribe-common-h7--min-medium {
|
| 152 |
+
|
| 153 |
+
.tribe-common--breakpoint-medium& {
|
| 154 |
@mixin heading-7;
|
| 155 |
}
|
| 156 |
}
|
| 173 |
* Theme Overrides - Avada
|
| 174 |
* ------------------------------------------------------------------------- */
|
| 175 |
|
| 176 |
+
.tribe-theme-avada #main & {
|
| 177 |
|
| 178 |
/* -------------------------------------------------------------------------
|
| 179 |
* Heading: h1
|
| 182 |
.tribe-common-h1 {
|
| 183 |
@mixin heading;
|
| 184 |
@mixin mobile-heading-1;
|
| 185 |
+
}
|
| 186 |
|
| 187 |
+
&.tribe-common--breakpoint-medium .tribe-common-h1 {
|
| 188 |
+
@mixin desktop-heading-1;
|
|
|
|
| 189 |
}
|
| 190 |
|
| 191 |
/* -------------------------------------------------------------------------
|
| 195 |
.tribe-common-h2 {
|
| 196 |
@mixin heading;
|
| 197 |
@mixin mobile-heading-2;
|
| 198 |
+
}
|
| 199 |
|
| 200 |
+
&.tribe-common--breakpoint-medium .tribe-common-h2 {
|
| 201 |
+
@mixin desktop-heading-2;
|
|
|
|
| 202 |
}
|
| 203 |
|
| 204 |
/* -------------------------------------------------------------------------
|
| 208 |
.tribe-common-h3 {
|
| 209 |
@mixin heading;
|
| 210 |
@mixin mobile-heading-3;
|
| 211 |
+
}
|
| 212 |
|
| 213 |
+
&.tribe-common--breakpoint-medium .tribe-common-h3 {
|
| 214 |
+
@mixin desktop-heading-3;
|
|
|
|
| 215 |
}
|
| 216 |
|
| 217 |
/* -------------------------------------------------------------------------
|
| 221 |
.tribe-common-h4 {
|
| 222 |
@mixin heading;
|
| 223 |
@mixin mobile-heading-4;
|
| 224 |
+
}
|
| 225 |
|
| 226 |
+
&.tribe-common--breakpoint-medium .tribe-common-h4 {
|
| 227 |
+
@mixin desktop-heading-4;
|
|
|
|
| 228 |
}
|
| 229 |
|
| 230 |
/* -------------------------------------------------------------------------
|
| 243 |
.tribe-common-h6 {
|
| 244 |
@mixin heading;
|
| 245 |
@mixin mobile-heading-6;
|
| 246 |
+
}
|
| 247 |
|
| 248 |
+
&.tribe-common--breakpoint-medium .tribe-common-h6 {
|
| 249 |
+
@mixin desktop-heading-6;
|
|
|
|
| 250 |
}
|
| 251 |
|
| 252 |
/* -------------------------------------------------------------------------
|
| 271 |
* Heading: h3 for --viewport-medium
|
| 272 |
* ------------------------------------------------------------------------- */
|
| 273 |
|
| 274 |
+
&.tribe-common--breakpoint-medium .tribe-common-h3--min-medium {
|
| 275 |
+
@mixin desktop-heading-3;
|
|
|
|
|
|
|
| 276 |
}
|
| 277 |
|
| 278 |
/* -------------------------------------------------------------------------
|
| 279 |
* Heading: h4 for --viewport-medium
|
| 280 |
* ------------------------------------------------------------------------- */
|
| 281 |
|
| 282 |
+
&.tribe-common--breakpoint-medium .tribe-common-h4--min-medium {
|
| 283 |
+
@mixin desktop-heading-4;
|
|
|
|
|
|
|
| 284 |
}
|
| 285 |
|
| 286 |
/* -------------------------------------------------------------------------
|
| 287 |
* Heading: h5 for --viewport-medium
|
| 288 |
* ------------------------------------------------------------------------- */
|
| 289 |
|
| 290 |
+
&.tribe-common--breakpoint-medium .tribe-common-h5--min-medium {
|
| 291 |
+
@mixin heading-5;
|
|
|
|
|
|
|
| 292 |
}
|
| 293 |
|
| 294 |
/* -------------------------------------------------------------------------
|
| 295 |
* Heading: h6 for --viewport-medium
|
| 296 |
* ------------------------------------------------------------------------- */
|
| 297 |
|
| 298 |
+
&.tribe-common--breakpoint-medium .tribe-common-h6--min-medium {
|
| 299 |
+
@mixin desktop-heading-6;
|
|
|
|
|
|
|
| 300 |
}
|
| 301 |
|
| 302 |
/* -------------------------------------------------------------------------
|
| 303 |
* Heading: h7 for --viewport-medium
|
| 304 |
* ------------------------------------------------------------------------- */
|
| 305 |
|
| 306 |
+
&.tribe-common--breakpoint-medium .tribe-common-h7--min-medium {
|
| 307 |
+
@mixin heading-7;
|
|
|
|
|
|
|
| 308 |
}
|
| 309 |
|
| 310 |
/* -------------------------------------------------------------------------
|
common/src/resources/postcss/base/skeleton/_layouts.pcss
CHANGED
|
@@ -13,7 +13,7 @@
|
|
| 13 |
padding-right: var(--grid-gutter-page-small);
|
| 14 |
width: 100%;
|
| 15 |
|
| 16 |
-
|
| 17 |
padding-left: var(--grid-gutter-page);
|
| 18 |
padding-right: var(--grid-gutter-page);
|
| 19 |
}
|
| 13 |
padding-right: var(--grid-gutter-page-small);
|
| 14 |
width: 100%;
|
| 15 |
|
| 16 |
+
.tribe-common--breakpoint-medium& {
|
| 17 |
padding-left: var(--grid-gutter-page);
|
| 18 |
padding-right: var(--grid-gutter-page);
|
| 19 |
}
|
common/src/resources/postcss/base/skeleton/forms/_text.pcss
CHANGED
|
@@ -26,7 +26,7 @@
|
|
| 26 |
padding: var(--spacer-2) var(--spacer-6) var(--spacer-2) 0;
|
| 27 |
width: 100%;
|
| 28 |
|
| 29 |
-
|
| 30 |
padding: var(--spacer-4) var(--spacer-4) var(--spacer-4) var(--spacer-8);
|
| 31 |
}
|
| 32 |
}
|
|
@@ -46,10 +46,10 @@
|
|
| 46 |
.tribe-common-form-control-text__input {
|
| 47 |
padding: var(--spacer-2) var(--spacer-6) var(--spacer-2) 0;
|
| 48 |
width: 100%;
|
|
|
|
| 49 |
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
}
|
| 53 |
}
|
| 54 |
}
|
| 55 |
}
|
| 26 |
padding: var(--spacer-2) var(--spacer-6) var(--spacer-2) 0;
|
| 27 |
width: 100%;
|
| 28 |
|
| 29 |
+
.tribe-common--breakpoint-medium& {
|
| 30 |
padding: var(--spacer-4) var(--spacer-4) var(--spacer-4) var(--spacer-8);
|
| 31 |
}
|
| 32 |
}
|
| 46 |
.tribe-common-form-control-text__input {
|
| 47 |
padding: var(--spacer-2) var(--spacer-6) var(--spacer-2) 0;
|
| 48 |
width: 100%;
|
| 49 |
+
}
|
| 50 |
|
| 51 |
+
&.tribe-common--breakpoint-medium .tribe-common-form-control-text__input {
|
| 52 |
+
padding: var(--spacer-4) var(--spacer-4) var(--spacer-4) var(--spacer-8);
|
|
|
|
| 53 |
}
|
| 54 |
}
|
| 55 |
}
|
common/src/resources/postcss/base/skeleton/grid/_rows.pcss
CHANGED
|
@@ -21,7 +21,7 @@
|
|
| 21 |
margin-left: var(--grid-gutter-small-half-negative);
|
| 22 |
margin-right: var(--grid-gutter-small-half-negative);
|
| 23 |
|
| 24 |
-
|
| 25 |
margin-left: var(--grid-gutter-half-negative);
|
| 26 |
margin-right: var(--grid-gutter-half-negative);
|
| 27 |
}
|
|
@@ -30,7 +30,7 @@
|
|
| 30 |
padding-left: var(--grid-gutter-small-half);
|
| 31 |
padding-right: var(--grid-gutter-small-half);
|
| 32 |
|
| 33 |
-
|
| 34 |
padding-left: var(--grid-gutter-half);
|
| 35 |
padding-right: var(--grid-gutter-half);
|
| 36 |
}
|
|
@@ -53,25 +53,22 @@
|
|
| 53 |
margin-left: var(--grid-gutter-small-half-negative);
|
| 54 |
margin-right: var(--grid-gutter-small-half-negative);
|
| 55 |
padding: 0;
|
| 56 |
-
|
| 57 |
-
@media (--viewport-medium) {
|
| 58 |
-
margin-left: var(--grid-gutter-half-negative);
|
| 59 |
-
margin-right: var(--grid-gutter-half-negative);
|
| 60 |
-
}
|
| 61 |
}
|
| 62 |
|
| 63 |
-
.tribe-common-g-row--gutters {
|
|
|
|
|
|
|
|
|
|
| 64 |
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
|
|
|
| 69 |
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
}
|
| 74 |
-
}
|
| 75 |
}
|
| 76 |
}
|
| 77 |
}
|
| 21 |
margin-left: var(--grid-gutter-small-half-negative);
|
| 22 |
margin-right: var(--grid-gutter-small-half-negative);
|
| 23 |
|
| 24 |
+
.tribe-common--breakpoint-medium& {
|
| 25 |
margin-left: var(--grid-gutter-half-negative);
|
| 26 |
margin-right: var(--grid-gutter-half-negative);
|
| 27 |
}
|
| 30 |
padding-left: var(--grid-gutter-small-half);
|
| 31 |
padding-right: var(--grid-gutter-small-half);
|
| 32 |
|
| 33 |
+
.tribe-common--breakpoint-medium& {
|
| 34 |
padding-left: var(--grid-gutter-half);
|
| 35 |
padding-right: var(--grid-gutter-half);
|
| 36 |
}
|
| 53 |
margin-left: var(--grid-gutter-small-half-negative);
|
| 54 |
margin-right: var(--grid-gutter-small-half-negative);
|
| 55 |
padding: 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 56 |
}
|
| 57 |
|
| 58 |
+
&.tribe-common--breakpoint-medium .entry.tribe-common-g-row--gutters {
|
| 59 |
+
margin-left: var(--grid-gutter-half-negative);
|
| 60 |
+
margin-right: var(--grid-gutter-half-negative);
|
| 61 |
+
}
|
| 62 |
|
| 63 |
+
.tribe-common-g-row--gutters > .entry.tribe-common-g-col {
|
| 64 |
+
margin: 0;
|
| 65 |
+
padding-left: var(--grid-gutter-small-half);
|
| 66 |
+
padding-right: var(--grid-gutter-small-half);
|
| 67 |
+
}
|
| 68 |
|
| 69 |
+
&.tribe-common--breakpoint-medium .tribe-common-g-row--gutters > .entry.tribe-common-g-col {
|
| 70 |
+
padding-left: var(--grid-gutter-half);
|
| 71 |
+
padding-right: var(--grid-gutter-half);
|
|
|
|
|
|
|
| 72 |
}
|
| 73 |
}
|
| 74 |
}
|
common/src/resources/postcss/components/full/buttons/_border.pcss
CHANGED
|
@@ -16,7 +16,7 @@
|
|
| 16 |
color: var(--color-text-secondary);
|
| 17 |
padding: 14px 20px 14px;
|
| 18 |
|
| 19 |
-
|
| 20 |
padding: 6px 15px;
|
| 21 |
}
|
| 22 |
|
| 16 |
color: var(--color-text-secondary);
|
| 17 |
padding: 14px 20px 14px;
|
| 18 |
|
| 19 |
+
.tribe-common--breakpoint-medium& {
|
| 20 |
padding: 6px 15px;
|
| 21 |
}
|
| 22 |
|
common/src/resources/postcss/components/full/buttons/_solid.pcss
CHANGED
|
@@ -13,8 +13,13 @@
|
|
| 13 |
a.tribe-common-c-btn {
|
| 14 |
@mixin button-solid;
|
| 15 |
|
| 16 |
-
padding: 11px 20px 11px;
|
| 17 |
background-color: var(--color-accent-primary);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
|
| 19 |
&:focus,
|
| 20 |
&:hover {
|
| 13 |
a.tribe-common-c-btn {
|
| 14 |
@mixin button-solid;
|
| 15 |
|
|
|
|
| 16 |
background-color: var(--color-accent-primary);
|
| 17 |
+
padding: 11px 20px 11px;
|
| 18 |
+
width: 100%;
|
| 19 |
+
|
| 20 |
+
.tribe-common--breakpoint-medium& {
|
| 21 |
+
width: auto;
|
| 22 |
+
}
|
| 23 |
|
| 24 |
&:focus,
|
| 25 |
&:hover {
|
common/src/resources/postcss/components/skeleton/_loader.pcss
CHANGED
|
@@ -17,7 +17,7 @@
|
|
| 17 |
display: flex;
|
| 18 |
padding-top: calc(var(--spacer-11) * 3);
|
| 19 |
|
| 20 |
-
|
| 21 |
padding-top: calc(var(--spacer-13) * 3);
|
| 22 |
}
|
| 23 |
}
|
| 17 |
display: flex;
|
| 18 |
padding-top: calc(var(--spacer-11) * 3);
|
| 19 |
|
| 20 |
+
.tribe-common--breakpoint-medium& {
|
| 21 |
padding-top: calc(var(--spacer-13) * 3);
|
| 22 |
}
|
| 23 |
}
|
common/src/resources/postcss/components/skeleton/buttons/_border.pcss
CHANGED
|
@@ -14,7 +14,7 @@
|
|
| 14 |
padding: 14px 20px 14px;
|
| 15 |
width: 100%;
|
| 16 |
|
| 17 |
-
|
| 18 |
padding: 6px 15px;
|
| 19 |
width: auto;
|
| 20 |
}
|
| 14 |
padding: 14px 20px 14px;
|
| 15 |
width: 100%;
|
| 16 |
|
| 17 |
+
.tribe-common--breakpoint-medium& {
|
| 18 |
padding: 6px 15px;
|
| 19 |
width: auto;
|
| 20 |
}
|
common/src/resources/postcss/components/skeleton/buttons/_solid.pcss
CHANGED
|
@@ -14,7 +14,7 @@
|
|
| 14 |
padding: 11px 20px 11px;
|
| 15 |
width: 100%;
|
| 16 |
|
| 17 |
-
|
| 18 |
width: auto;
|
| 19 |
}
|
| 20 |
}
|
| 14 |
padding: 11px 20px 11px;
|
| 15 |
width: 100%;
|
| 16 |
|
| 17 |
+
.tribe-common--breakpoint-medium& {
|
| 18 |
width: auto;
|
| 19 |
}
|
| 20 |
}
|
common/src/resources/postcss/resets/skeleton/_twentyseventeen.pcss
CHANGED
|
@@ -1,7 +1,12 @@
|
|
| 1 |
-
|
| 2 |
|
| 3 |
/* -------------------------------------------------------------------------
|
| 4 |
* Reset Skeleton Theme Overrides - Twenty Seventeen
|
| 5 |
* ------------------------------------------------------------------------- */
|
| 6 |
|
| 7 |
-
/*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
.tribe-theme-twentyseventeen .tribe-common {
|
| 2 |
|
| 3 |
/* -------------------------------------------------------------------------
|
| 4 |
* Reset Skeleton Theme Overrides - Twenty Seventeen
|
| 5 |
* ------------------------------------------------------------------------- */
|
| 6 |
|
| 7 |
+
/* dialogs are set to z-index of 1 by default. Twentyseventeen .site-branding (in page header) is set to 3. */
|
| 8 |
+
div.tribe-dialog {
|
| 9 |
+
z-index: 5 !important;
|
| 10 |
+
}
|
| 11 |
+
|
| 12 |
+
}
|
common/src/resources/postcss/utilities/icons/arrow.svg
DELETED
|
@@ -1 +0,0 @@
|
|
| 1 |
-
<svg width="12px" height="8px" viewBox="0 0 12 8" version="1.1" xmlns="http://www.w3.org/2000/svg"><g id="arrow" transform="translate(1.000000, 0.000000)" stroke="#141827" stroke-width="1" fill="none" fill-rule="evenodd"><line x1="10.7" y1="4" x2="0.1" y2="4" id="Path"></line><polyline id="Path" stroke-linecap="square" points="4.1 0 0.1 4 4.1 8"></polyline></g></svg>
|
|
|
common/src/resources/postcss/utilities/icons/error.svg
DELETED
|
@@ -1 +0,0 @@
|
|
| 1 |
-
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="8" cy="8" r="7.467" stroke="#141827" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/><circle cx="8" cy="11.733" r="1.067" fill="#141827" fill-rule="nonzero"/><path stroke="#141827" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 3.733v4.8"/></g></svg>
|
|
|
common/src/resources/postcss/utilities/icons/link.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
| 1 |
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17 18"><defs/><g fill="none" fill-rule="evenodd" stroke="#141827" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M15.53125 1.5l-7.5 8M8.96875 1.5h6.5625v7M5.21875 1.5h-2.8125c-.5175 0-.9375.448-.9375 1v13c0 .552.42 1 .9375 1h12.1875c.5175 0 .9375-.448.9375-1v-3"/></g></svg>
|
common/src/resources/postcss/utilities/icons/list.svg
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
<svg
|
| 1 |
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><defs/><g fill="#141827" fill-rule="evenodd"><path fill-rule="nonzero" d="M0 .50378788V20.5332919c0 .278234.19022354.5037879.42487547.5037879H20.6133064c.2346519 0 .4248754-.2255539.4248754-.5037879V.50378788C21.0381818.22555389 20.8479583 0 20.6133064 0H.42487547C.19022355 0 0 .2255539 0 .50378788zm1.1580346.94435628h18.6945206v2.70490149H1.1580346V1.44814416zm0 2.70490796h18.6945206V19.5845078H1.1580346V4.15305212z"/><path d="M13.38928235 5.73125033V7.860417c0 .58795234.48212125 1.06458333 1.07684605 1.06458333h2.1536922c.5947248 0 1.0768461-.47663099 1.0768461-1.06458333V5.73125033c0-.58795234-.4821213-1.06458333-1.0768461-1.06458333h-2.1536922c-.5947248 0-1.07684605.476631-1.07684605 1.06458333z"/><path fill-rule="nonzero" d="M8.83943685 8.936667c.28648654 0 .52088465-.23521914.52088465-.5227092v-.4245816c0-.28749006-.23439811-.5227092-.52088465-.5227092h-4.8185522C3.7343981 7.466667 3.5 7.70188614 3.5 7.9893762v.4245816c0 .28749006.2343981.5227092.52088465.5227092h4.8185522zM10.9041036 6.136667c.28648654 0 .52088465-.23521914.52088465-.5227092v-.4245816c0-.28749006-.23439811-.5227092-.52088465-.5227092H4.02088465C3.7343981 4.666667 3.5 4.90188614 3.5 5.1893762v.4245816c0 .28749006.2343981.5227092.52088465.5227092h6.88321895z"/><g><path d="M13.38928235 12.73125033V14.860417c0 .58795234.48212125 1.06458333 1.07684605 1.06458333h2.1536922c.5947248 0 1.0768461-.47663099 1.0768461-1.06458333v-2.12916667c0-.58795234-.4821213-1.06458333-1.0768461-1.06458333h-2.1536922c-.5947248 0-1.07684605.476631-1.07684605 1.06458333z"/><path fill-rule="nonzero" d="M8.83943685 15.936667c.28648654 0 .52088465-.23521914.52088465-.5227092v-.4245816c0-.28749006-.23439811-.5227092-.52088465-.5227092h-4.8185522c-.28648655 0-.52088465.23521914-.52088465.5227092v.4245816c0 .28749006.2343981.5227092.52088465.5227092h4.8185522zM10.9041036 13.136667c.28648654 0 .52088465-.23521914.52088465-.5227092v-.4245816c0-.28749006-.23439811-.5227092-.52088465-.5227092H4.02088465c-.28648655 0-.52088465.23521914-.52088465.5227092v.4245816c0 .28749006.2343981.5227092.52088465.5227092h6.88321895z"/></g></g></svg>
|
common/src/resources/postcss/utilities/icons/mail.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
| 1 |
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 15"><defs/><g fill="none" fill-rule="evenodd" stroke="#141827" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M1.40468965 1.40468965l7.87117242 7.04358621 7.31255173-7.05131034"/><path d="M1 2.37931034V12.862069c0 .761772.61753828 1.3793103 1.37931034 1.3793103H15.6206897C16.3824617 14.2413793 17 13.623841 17 12.862069V2.37931034C17 1.61753828 16.3824617 1 15.6206897 1H2.37931034C1.61753828 1 1 1.61753828 1 2.37931034z"/></g></svg>
|
common/src/resources/postcss/utilities/icons/map-pin.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
| 1 |
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 18"><defs/><g fill="none" fill-rule="evenodd" stroke="#141828" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" transform="translate(1 1)"><path d="M11.9322034 5.99186441C11.9322034 10.0338983 5.96610169 16 5.96610169 16S0 10.0338983 0 5.99186441C0 2.20013559 3.08311864 0 5.96610169 0c2.88298306 0 5.96610171 2.20013559 5.96610171 5.99186441z"/><circle cx="5.96610169" cy="5.96610169" r="2.16949153"/></g></svg>
|
common/src/resources/postcss/utilities/icons/map.svg
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
<svg
|
| 1 |
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><defs/><g fill="none" fill-rule="evenodd"><g fill-rule="nonzero" stroke-width=".7"><path fill="#141827" stroke="#141827" d="M10.66992557 17.2092094c.18208949-.2244634 4.46052505-5.52626362 4.46052505-8.17980983 0-2.72724863-2.08535521-4.94606657-4.64855882-4.94606657-2.56320359 0-4.6485588 2.21881794-4.6485588 4.94606657 0 2.65354618 4.27843556 7.95534643 4.46052504 8.17980983.04719041.0580842.11585307.0915149.18803376.0915149.0721807 0 .14084336-.0334307.18803377-.0915149zM6.33022741 9.02939957c0-2.43579482 1.86238353-4.41737092 4.15166439-4.41737092 2.28928088 0 4.15166441 1.9815761 4.15166441 4.41737092 0 2.15995923-3.31788627 6.53241163-4.15166441 7.59703123-.83377813-1.0644905-4.15166439-5.43616846-4.15166439-7.59703123z"/><path fill="#000" stroke="#000" d="M12.05539077 9.03985474c0-.91098834-.70589102-1.65217392-1.57349897-1.65217392-.86760794 0-1.57349896.74118558-1.57349896 1.65217392 0 .91098834.70589102 1.65217392 1.57349896 1.65217392.86760795 0 1.57349897-.74118558 1.57349897-1.65217392zm-2.85036002 0c0-.73928452.57278056-1.34070411 1.27686105-1.34070411.70408051 0 1.27686107.60141959 1.27686107 1.34070411 0 .73928452-.57278056 1.34070411-1.27686107 1.34070411-.70408049 0-1.27686105-.60141959-1.27686105-1.34070411z"/></g><path fill="#000" fill-rule="nonzero" d="M0 .50378788V20.5332919c0 .278234.19022354.5037879.42487547.5037879H20.6133064c.2346519 0 .4248754-.2255539.4248754-.5037879V.50378788C21.0381818.22555389 20.8479583 0 20.6133064 0H.42487547C.19022355 0 0 .2255539 0 .50378788zm1.1580346.94435628h18.6945206v2.70490796H1.1580346V1.44814416zm0 2.70490796h18.6945206V19.5845078H1.1580346V4.15305212z"/></g></svg>
|
common/src/resources/postcss/utilities/icons/messages-not-found.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
| 1 |
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 23"><defs/><g fill="none" fill-rule="evenodd"><path stroke="#141827" d="M.5 2.5h20v20H.5z"/><path stroke="#334AFF" stroke-linecap="round" d="M7.58333333 11.58333333l5.83333334 5.83333334m0-5.83333334l-5.83333334 5.83333334"/><path stroke="#141827" stroke-linecap="round" d="M4.5.5v4m12-4v4"/><path stroke="#141827" stroke-linecap="square" d="M.5 7.5h20"/></g></svg>
|
common/src/resources/postcss/utilities/icons/no-map.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
| 1 |
+
<svg width="92" height="92" xmlns="http://www.w3.org/2000/svg"><g fill-rule="nonzero" fill="none"><g stroke="#141827" stroke-width="2.5" transform="translate(2 2)"><path d="M32.219 88S0 58.674 0 32.281C-.011 15.598 12.685 1.66 29.278.136c16.593-1.523 31.608 9.873 34.627 26.28M32.733 88s2.96-2.693 7.083-7.181" stroke-linecap="round"/><circle cx="33" cy="33" r="8.905"/><circle cx="65.127" cy="59.016" r="23.571"/></g><g transform="translate(64.857 47.048)"><circle fill="#111" cx="2.839" cy="26.495" r="2.839"/><path d="M2.642 0v18.925" stroke="#141827" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round"/></g></g></svg>
|
common/src/resources/postcss/utilities/icons/phone.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
| 1 |
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><defs/><path fill="none" fill-rule="evenodd" stroke="#141827" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M11.6819994 10.88200048l-1.30400005 1.62857142c-2.01929741-1.1866922-3.70231405-2.86911883-4.88971428-4.888l1.63-1.304c.39282682-.31454501.52426073-.85436286.32-1.31428571L5.95257078 1.6585719c-.22002641-.49569916-.76652996-.75927831-1.29142857-.62285714l-2.82857143.73371429c-.54614963.14276045-.89926073.67138385-.822 1.23057143C2.03036105 10.26199785 7.73800197 15.9696388 14.99999 16.989429c.5591969.0772608 1.0878203-.2758503 1.2305808-.822l.7337143-2.8285714c.1360844-.5247877-.1272478-1.0710299-.6225715-1.2914286l-3.3454285-1.48571424c-.4599576-.20451327-.9999874-.07291035-1.3142857.32028572z"/></svg>
|
common/src/resources/postcss/utilities/icons/photo.svg
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
<svg
|
| 1 |
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 21"><defs/><g fill="#141827" fill-rule="nonzero"><path d="M20.4070967 0H.57757675C.25413377 0 0 .24803922 0 .5637255v19.872549C0 20.7519607.25413377 21 .57757676 21H20.4070967c.323443 0 .5775767-.2480393.5775767-.5637255V.5637255C20.9846734.24803921 20.7305397 0 20.4070967 0zm-.6006799 1.15v14.8679567l-2.2249804-3.4274509c-.6468859-.6764706-1.8482455-.6764706-2.4951316 0l-1.5479057 1.6460784-4.48199558-5.02843135c-.34654605-.38333333-.83171053-.58627451-1.36308114-.58627451-.50826755 0-1.01653509.22549021-1.33997808.60882354L1.17825658 14.9807019V1.15H19.8064168zM1.17825658 19.8499999v-3.1330235l6.0530044-6.76470589c.11551535-.13529412.27723684-.20294118.4620614-.20294118.16172149 0 .36964912.06764706.48516448.20294118l4.92095394 5.52450979c.1155153.1127452.2772369.2029412.4389583.2029412.1848246.022549.3234431-.067647.4389583-.1803922l1.9868641-2.1196078c.1848246-.2029412.5544737-.2029412.7624013 0l3.1028972 4.3519608v2.1408666H1.17825658v-.022549z"/><path d="M14.9552083 9.04117648c1.159375 0 2.121875-.96960785 2.121875-2.18725491 0-1.21764705-.940625-2.1872549-2.121875-2.1872549-1.18125 0-2.121875.96960785-2.121875 2.1872549 0 1.21764706.9625 2.18725491 2.121875 2.18725491zm0-3.22450981c.546875 0 1.00625.47352941 1.00625 1.0372549 0 .5637255-.459375 1.03725491-1.00625 1.03725491-.546875 0-1.00625-.47352941-1.00625-1.03725491 0-.56372549.459375-1.0372549 1.00625-1.0372549z"/></g></svg>
|
common/src/resources/postcss/utilities/icons/remove.svg
DELETED
|
@@ -1 +0,0 @@
|
|
| 1 |
-
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18"><g fill="none" fill-rule="evenodd" stroke-linecap="square" stroke-width="1.5" transform="translate(1 1)"><path stroke="#D5D5D5" d="M10.91 5.09l-5.82 5.82M10.91 10.91L5.09 5.09"/><circle cx="8" cy="8" r="8" stroke="#D5D5D5"/></g></svg>
|
|
|
common/src/resources/postcss/utilities/mixins/_buttons.pcss
CHANGED
|
@@ -26,25 +26,6 @@
|
|
| 26 |
transition: var(--transition-background-color);
|
| 27 |
}
|
| 28 |
|
| 29 |
-
/* -----------------------------------------------------------------------------
|
| 30 |
-
* Button - Link
|
| 31 |
-
* ----------------------------------------------------------------------------- */
|
| 32 |
-
|
| 33 |
-
@define-mixin button-link {
|
| 34 |
-
@mixin desktop-body-2;
|
| 35 |
-
@mixin button-global;
|
| 36 |
-
|
| 37 |
-
background-color: transparent;
|
| 38 |
-
text-align: center;
|
| 39 |
-
text-decoration: underline;
|
| 40 |
-
transition: var(--transition-color);
|
| 41 |
-
|
| 42 |
-
&:hover,
|
| 43 |
-
&:focus {
|
| 44 |
-
background-color: transparent;
|
| 45 |
-
}
|
| 46 |
-
}
|
| 47 |
-
|
| 48 |
/* -----------------------------------------------------------------------------
|
| 49 |
* Button - Border
|
| 50 |
* ----------------------------------------------------------------------------- */
|
| 26 |
transition: var(--transition-background-color);
|
| 27 |
}
|
| 28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
/* -----------------------------------------------------------------------------
|
| 30 |
* Button - Border
|
| 31 |
* ----------------------------------------------------------------------------- */
|
common/src/resources/postcss/utilities/variables/_box-shadows.pcss
CHANGED
|
@@ -6,6 +6,6 @@
|
|
| 6 |
--box-shadow-default: 0 2px 5px 0 var(--color-box-shadow);
|
| 7 |
--box-shadow-tooltip: 0 2px 12px 0 var(--color-box-shadow);
|
| 8 |
--box-shadow-card: 0 1px 6px 2px var(--color-box-shadow);
|
| 9 |
-
--box-shadow-multiday: 16px 6px 6px -2px var(--color-box-shadow);
|
| 10 |
}
|
| 11 |
|
| 6 |
--box-shadow-default: 0 2px 5px 0 var(--color-box-shadow);
|
| 7 |
--box-shadow-tooltip: 0 2px 12px 0 var(--color-box-shadow);
|
| 8 |
--box-shadow-card: 0 1px 6px 2px var(--color-box-shadow);
|
| 9 |
+
--box-shadow-multiday: 16px 6px 6px -2px var(--color-box-shadow-secondary);
|
| 10 |
}
|
| 11 |
|
common/src/resources/postcss/utilities/variables/_colors.pcss
CHANGED
|
@@ -4,6 +4,7 @@
|
|
| 4 |
* ----------------------------------------------------------------------------- */
|
| 5 |
|
| 6 |
--color-text-primary: #141827;
|
|
|
|
| 7 |
--color-text-secondary: #727272;
|
| 8 |
--color-text-disabled: #D5D5D5;
|
| 9 |
|
|
@@ -16,7 +17,6 @@
|
|
| 16 |
--color-icon-active: #141827;
|
| 17 |
--color-icon-disabled: #D5D5D5;
|
| 18 |
--color-icon-focus: #334AFF;
|
| 19 |
-
--color-icon-error: #DA394D;
|
| 20 |
|
| 21 |
/* -----------------------------------------------------------------------------
|
| 22 |
* Colors - UI
|
|
@@ -48,9 +48,10 @@
|
|
| 48 |
--color-background: #FFFFFF;
|
| 49 |
--color-background-transparent: rgba(var(--color-background), 0.6);
|
| 50 |
--color-background-secondary: #F7F6F6;
|
|
|
|
| 51 |
--color-background-secondary-hover: #F0EEEE;
|
| 52 |
-
--color-background-error: rgba(var(--color-icon-error), 0.08);
|
| 53 |
--color-box-shadow: rgba(#000000, 0.14);
|
|
|
|
| 54 |
--color-scroll-track: rgba(#000000, 0.25);
|
| 55 |
--color-scroll-bar: rgba(#000000, 0.5);
|
| 56 |
|
| 4 |
* ----------------------------------------------------------------------------- */
|
| 5 |
|
| 6 |
--color-text-primary: #141827;
|
| 7 |
+
--color-text-primary-light: rgba(var(--color-text-primary), 0.62);
|
| 8 |
--color-text-secondary: #727272;
|
| 9 |
--color-text-disabled: #D5D5D5;
|
| 10 |
|
| 17 |
--color-icon-active: #141827;
|
| 18 |
--color-icon-disabled: #D5D5D5;
|
| 19 |
--color-icon-focus: #334AFF;
|
|
|
|
| 20 |
|
| 21 |
/* -----------------------------------------------------------------------------
|
| 22 |
* Colors - UI
|
| 48 |
--color-background: #FFFFFF;
|
| 49 |
--color-background-transparent: rgba(var(--color-background), 0.6);
|
| 50 |
--color-background-secondary: #F7F6F6;
|
| 51 |
+
--color-background-messages: rgba(var(--color-text-primary), 0.07);
|
| 52 |
--color-background-secondary-hover: #F0EEEE;
|
|
|
|
| 53 |
--color-box-shadow: rgba(#000000, 0.14);
|
| 54 |
+
--color-box-shadow-secondary: rgba(#000000, 0.1);
|
| 55 |
--color-scroll-track: rgba(#000000, 0.25);
|
| 56 |
--color-scroll-bar: rgba(#000000, 0.5);
|
| 57 |
|
common/src/resources/postcss/utilities/variables/_svgs.pcss
CHANGED
|
@@ -23,17 +23,6 @@
|
|
| 23 |
}
|
| 24 |
}
|
| 25 |
|
| 26 |
-
/* -----------------------------------------------------------------------------
|
| 27 |
-
* SVG - Arrow (light, left)
|
| 28 |
-
* ----------------------------------------------------------------------------- */
|
| 29 |
-
|
| 30 |
-
@svg-load arrow url('../icons/arrow.svg') {
|
| 31 |
-
|
| 32 |
-
path {
|
| 33 |
-
fill: var(--color-icon-primary);
|
| 34 |
-
}
|
| 35 |
-
}
|
| 36 |
-
|
| 37 |
/* -----------------------------------------------------------------------------
|
| 38 |
* SVG - Caret Down
|
| 39 |
* ----------------------------------------------------------------------------- */
|
|
@@ -135,17 +124,17 @@
|
|
| 135 |
* SVG - Close
|
| 136 |
* ----------------------------------------------------------------------------- */
|
| 137 |
|
| 138 |
-
@svg-load close
|
| 139 |
|
| 140 |
path {
|
| 141 |
-
stroke: var(--color-icon-
|
| 142 |
}
|
| 143 |
}
|
| 144 |
|
| 145 |
-
@svg-load close url('../icons/close.svg') {
|
| 146 |
|
| 147 |
path {
|
| 148 |
-
stroke: var(--color-icon-
|
| 149 |
}
|
| 150 |
}
|
| 151 |
|
|
@@ -171,17 +160,6 @@
|
|
| 171 |
}
|
| 172 |
}
|
| 173 |
|
| 174 |
-
/* -----------------------------------------------------------------------------
|
| 175 |
-
* SVG - Error
|
| 176 |
-
* ----------------------------------------------------------------------------- */
|
| 177 |
-
|
| 178 |
-
@svg-load error-active url('../icons/error.svg') {
|
| 179 |
-
|
| 180 |
-
path {
|
| 181 |
-
fill: var(--color-icon-active);
|
| 182 |
-
}
|
| 183 |
-
}
|
| 184 |
-
|
| 185 |
/* -----------------------------------------------------------------------------
|
| 186 |
* SVG - Featured
|
| 187 |
* ----------------------------------------------------------------------------- */
|
|
@@ -244,6 +222,17 @@
|
|
| 244 |
}
|
| 245 |
}
|
| 246 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 247 |
/* -----------------------------------------------------------------------------
|
| 248 |
* SVG - List
|
| 249 |
* ----------------------------------------------------------------------------- */
|
|
@@ -287,17 +276,45 @@
|
|
| 287 |
}
|
| 288 |
}
|
| 289 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 290 |
/* -----------------------------------------------------------------------------
|
| 291 |
* SVG - Map
|
| 292 |
* ----------------------------------------------------------------------------- */
|
| 293 |
|
| 294 |
@svg-load map url('../icons/map.svg') {
|
| 295 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 296 |
path {
|
| 297 |
stroke: var(--color-icon-active);
|
| 298 |
}
|
| 299 |
}
|
| 300 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 301 |
/* -----------------------------------------------------------------------------
|
| 302 |
* SVG - Month
|
| 303 |
* ----------------------------------------------------------------------------- */
|
|
@@ -310,44 +327,48 @@
|
|
| 310 |
}
|
| 311 |
|
| 312 |
/* -----------------------------------------------------------------------------
|
| 313 |
-
* SVG -
|
| 314 |
* ----------------------------------------------------------------------------- */
|
| 315 |
|
| 316 |
-
@svg-load
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 317 |
|
| 318 |
path {
|
| 319 |
-
|
| 320 |
}
|
| 321 |
}
|
| 322 |
|
| 323 |
/* -----------------------------------------------------------------------------
|
| 324 |
-
* SVG -
|
| 325 |
* ----------------------------------------------------------------------------- */
|
| 326 |
|
| 327 |
-
@svg-load
|
| 328 |
|
| 329 |
path {
|
| 330 |
-
fill: var(--color-
|
| 331 |
}
|
| 332 |
}
|
| 333 |
|
| 334 |
/* -----------------------------------------------------------------------------
|
| 335 |
-
* SVG -
|
| 336 |
* ----------------------------------------------------------------------------- */
|
| 337 |
|
| 338 |
-
@svg-load
|
| 339 |
|
| 340 |
-
circle,
|
| 341 |
path {
|
| 342 |
-
|
| 343 |
}
|
| 344 |
}
|
| 345 |
|
| 346 |
-
@svg-load
|
| 347 |
|
| 348 |
-
circle,
|
| 349 |
path {
|
| 350 |
-
|
| 351 |
}
|
| 352 |
}
|
| 353 |
|
| 23 |
}
|
| 24 |
}
|
| 25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 26 |
/* -----------------------------------------------------------------------------
|
| 27 |
* SVG - Caret Down
|
| 28 |
* ----------------------------------------------------------------------------- */
|
| 124 |
* SVG - Close
|
| 125 |
* ----------------------------------------------------------------------------- */
|
| 126 |
|
| 127 |
+
@svg-load close url('../icons/close.svg') {
|
| 128 |
|
| 129 |
path {
|
| 130 |
+
stroke: var(--color-icon-primary);
|
| 131 |
}
|
| 132 |
}
|
| 133 |
|
| 134 |
+
@svg-load close-secondary url('../icons/close.svg') {
|
| 135 |
|
| 136 |
path {
|
| 137 |
+
stroke: var(--color-icon-secondary);
|
| 138 |
}
|
| 139 |
}
|
| 140 |
|
| 160 |
}
|
| 161 |
}
|
| 162 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 163 |
/* -----------------------------------------------------------------------------
|
| 164 |
* SVG - Featured
|
| 165 |
* ----------------------------------------------------------------------------- */
|
| 222 |
}
|
| 223 |
}
|
| 224 |
|
| 225 |
+
/* -----------------------------------------------------------------------------
|
| 226 |
+
* SVG - Link
|
| 227 |
+
* ----------------------------------------------------------------------------- */
|
| 228 |
+
|
| 229 |
+
@svg-load link-active url('../icons/link.svg') {
|
| 230 |
+
|
| 231 |
+
path {
|
| 232 |
+
stroke: var(--color-icon-active);
|
| 233 |
+
}
|
| 234 |
+
}
|
| 235 |
+
|
| 236 |
/* -----------------------------------------------------------------------------
|
| 237 |
* SVG - List
|
| 238 |
* ----------------------------------------------------------------------------- */
|
| 276 |
}
|
| 277 |
}
|
| 278 |
|
| 279 |
+
/* -----------------------------------------------------------------------------
|
| 280 |
+
* SVG - Mail
|
| 281 |
+
* ----------------------------------------------------------------------------- */
|
| 282 |
+
|
| 283 |
+
@svg-load mail-active url('../icons/mail.svg') {
|
| 284 |
+
|
| 285 |
+
path {
|
| 286 |
+
stroke: var(--color-icon-active);
|
| 287 |
+
}
|
| 288 |
+
}
|
| 289 |
+
|
| 290 |
/* -----------------------------------------------------------------------------
|
| 291 |
* SVG - Map
|
| 292 |
* ----------------------------------------------------------------------------- */
|
| 293 |
|
| 294 |
@svg-load map url('../icons/map.svg') {
|
| 295 |
|
| 296 |
+
path {
|
| 297 |
+
fill: var(--color-icon-active);
|
| 298 |
+
}
|
| 299 |
+
}
|
| 300 |
+
|
| 301 |
+
/* -----------------------------------------------------------------------------
|
| 302 |
+
* SVG - Map pin
|
| 303 |
+
* ----------------------------------------------------------------------------- */
|
| 304 |
+
|
| 305 |
+
@svg-load map-pin-active url('../icons/map-pin.svg') {
|
| 306 |
+
|
| 307 |
path {
|
| 308 |
stroke: var(--color-icon-active);
|
| 309 |
}
|
| 310 |
}
|
| 311 |
|
| 312 |
+
/* -----------------------------------------------------------------------------
|
| 313 |
+
* SVG - Messages
|
| 314 |
+
* ----------------------------------------------------------------------------- */
|
| 315 |
+
|
| 316 |
+
@svg-load messages-not-found url('../icons/messages-not-found.svg') {}
|
| 317 |
+
|
| 318 |
/* -----------------------------------------------------------------------------
|
| 319 |
* SVG - Month
|
| 320 |
* ----------------------------------------------------------------------------- */
|
| 327 |
}
|
| 328 |
|
| 329 |
/* -----------------------------------------------------------------------------
|
| 330 |
+
* SVG - No Map
|
| 331 |
* ----------------------------------------------------------------------------- */
|
| 332 |
|
| 333 |
+
@svg-load no-map url('../icons/no-map.svg') {}
|
| 334 |
+
|
| 335 |
+
/* -----------------------------------------------------------------------------
|
| 336 |
+
* SVG - Phone
|
| 337 |
+
* ----------------------------------------------------------------------------- */
|
| 338 |
+
|
| 339 |
+
@svg-load phone-active url('../icons/phone.svg') {
|
| 340 |
|
| 341 |
path {
|
| 342 |
+
stroke: var(--color-icon-active);
|
| 343 |
}
|
| 344 |
}
|
| 345 |
|
| 346 |
/* -----------------------------------------------------------------------------
|
| 347 |
+
* SVG - Photo
|
| 348 |
* ----------------------------------------------------------------------------- */
|
| 349 |
|
| 350 |
+
@svg-load photo url('../icons/photo.svg') {
|
| 351 |
|
| 352 |
path {
|
| 353 |
+
fill: var(--color-icon-active);
|
| 354 |
}
|
| 355 |
}
|
| 356 |
|
| 357 |
/* -----------------------------------------------------------------------------
|
| 358 |
+
* SVG - Recurring
|
| 359 |
* ----------------------------------------------------------------------------- */
|
| 360 |
|
| 361 |
+
@svg-load recurring url('../icons/recurring-events.svg') {
|
| 362 |
|
|
|
|
| 363 |
path {
|
| 364 |
+
fill: var(--color-accent-primary);
|
| 365 |
}
|
| 366 |
}
|
| 367 |
|
| 368 |
+
@svg-load recurring-active url('../icons/recurring-events.svg') {
|
| 369 |
|
|
|
|
| 370 |
path {
|
| 371 |
+
fill: var(--color-icon-active);
|
| 372 |
}
|
| 373 |
}
|
| 374 |
|
common/src/resources/postcss/utilities/variables/_z-index.pcss
CHANGED
|
@@ -13,4 +13,5 @@
|
|
| 13 |
--z-index-map-event-hover: 5;
|
| 14 |
--z-index-map-event-hover-actions: 6;
|
| 15 |
--z-index-multiday-event: 5;
|
|
|
|
| 16 |
}
|
| 13 |
--z-index-map-event-hover: 5;
|
| 14 |
--z-index-map-event-hover-actions: 6;
|
| 15 |
--z-index-multiday-event: 5;
|
| 16 |
+
--z-index-multiday-event-bar: 2;
|
| 17 |
}
|
common/vendor/autoload.php
CHANGED
|
@@ -4,4 +4,4 @@
|
|
| 4 |
|
| 5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
| 6 |
|
| 7 |
-
return
|
| 4 |
|
| 5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
| 6 |
|
| 7 |
+
return ComposerAutoloaderInit45e5a9d8cf34dec530211a7c9e3d4ba1::getLoader();
|
common/vendor/autoload_52.php
CHANGED
|
@@ -4,4 +4,4 @@
|
|
| 4 |
|
| 5 |
require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
|
| 6 |
|
| 7 |
-
return
|
| 4 |
|
| 5 |
require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
|
| 6 |
|
| 7 |
+
return ComposerAutoloaderInitb66f981e26d6b97fe576db7aa8e3b5ff::getLoader();
|
common/vendor/composer/autoload_classmap.php
CHANGED
|
@@ -131,6 +131,8 @@ return array(
|
|
| 131 |
'Tribe\\Traits\\Cache_User' => $baseDir . '/src/Tribe/Traits/Cache_User.php',
|
| 132 |
'Tribe\\Utils\\Collection_Interface' => $baseDir . '/src/Tribe/Utils/Collection_Interface.php',
|
| 133 |
'Tribe\\Utils\\Collection_Trait' => $baseDir . '/src/Tribe/Utils/Collection_Trait.php',
|
|
|
|
|
|
|
| 134 |
'Tribe\\Utils\\Element_Classes' => $baseDir . '/src/Tribe/Utils/Element_Classes.php',
|
| 135 |
'Tribe\\Utils\\Lazy_Collection' => $baseDir . '/src/Tribe/Utils/Lazy_Collection.php',
|
| 136 |
'Tribe\\Utils\\Lazy_Events' => $baseDir . '/src/Tribe/Utils/Lazy_Events.php',
|
| 131 |
'Tribe\\Traits\\Cache_User' => $baseDir . '/src/Tribe/Traits/Cache_User.php',
|
| 132 |
'Tribe\\Utils\\Collection_Interface' => $baseDir . '/src/Tribe/Utils/Collection_Interface.php',
|
| 133 |
'Tribe\\Utils\\Collection_Trait' => $baseDir . '/src/Tribe/Utils/Collection_Trait.php',
|
| 134 |
+
'Tribe\\Utils\\Date_I18n' => $baseDir . '/src/Tribe/Utils/Date_I18n.php',
|
| 135 |
+
'Tribe\\Utils\\Date_I18n_Immutable' => $baseDir . '/src/Tribe/Utils/Date_I18n_Immutable.php',
|
| 136 |
'Tribe\\Utils\\Element_Classes' => $baseDir . '/src/Tribe/Utils/Element_Classes.php',
|
| 137 |
'Tribe\\Utils\\Lazy_Collection' => $baseDir . '/src/Tribe/Utils/Lazy_Collection.php',
|
| 138 |
'Tribe\\Utils\\Lazy_Events' => $baseDir . '/src/Tribe/Utils/Lazy_Events.php',
|
common/vendor/composer/autoload_real.php
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
// autoload_real.php @generated by Composer
|
| 4 |
|
| 5 |
-
class
|
| 6 |
{
|
| 7 |
private static $loader;
|
| 8 |
|
|
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit3a672380888faa1d26541e85d9fd9364
|
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
-
spl_autoload_register(array('
|
| 23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
| 24 |
-
spl_autoload_unregister(array('
|
| 25 |
|
| 26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
| 27 |
if ($useStaticLoader) {
|
| 28 |
require_once __DIR__ . '/autoload_static.php';
|
| 29 |
|
| 30 |
-
call_user_func(\Composer\Autoload\
|
| 31 |
} else {
|
| 32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
| 33 |
foreach ($map as $namespace => $path) {
|
| 2 |
|
| 3 |
// autoload_real.php @generated by Composer
|
| 4 |
|
| 5 |
+
class ComposerAutoloaderInit45e5a9d8cf34dec530211a7c9e3d4ba1
|
| 6 |
{
|
| 7 |
private static $loader;
|
| 8 |
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
+
spl_autoload_register(array('ComposerAutoloaderInit45e5a9d8cf34dec530211a7c9e3d4ba1', 'loadClassLoader'), true, true);
|
| 23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
| 24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit45e5a9d8cf34dec530211a7c9e3d4ba1', 'loadClassLoader'));
|
| 25 |
|
| 26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
| 27 |
if ($useStaticLoader) {
|
| 28 |
require_once __DIR__ . '/autoload_static.php';
|
| 29 |
|
| 30 |
+
call_user_func(\Composer\Autoload\ComposerStaticInit45e5a9d8cf34dec530211a7c9e3d4ba1::getInitializer($loader));
|
| 31 |
} else {
|
| 32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
| 33 |
foreach ($map as $namespace => $path) {
|
common/vendor/composer/autoload_real_52.php
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
// autoload_real_52.php generated by xrstf/composer-php52
|
| 4 |
|
| 5 |
-
class
|
| 6 |
private static $loader;
|
| 7 |
|
| 8 |
public static function loadClassLoader($class) {
|
|
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit110480551d212fc5dacee2f78e99948c {
|
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
-
spl_autoload_register(array('
|
| 23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
| 24 |
-
spl_autoload_unregister(array('
|
| 25 |
|
| 26 |
$vendorDir = dirname(dirname(__FILE__));
|
| 27 |
$baseDir = dirname($vendorDir);
|
| 2 |
|
| 3 |
// autoload_real_52.php generated by xrstf/composer-php52
|
| 4 |
|
| 5 |
+
class ComposerAutoloaderInitb66f981e26d6b97fe576db7aa8e3b5ff {
|
| 6 |
private static $loader;
|
| 7 |
|
| 8 |
public static function loadClassLoader($class) {
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
+
spl_autoload_register(array('ComposerAutoloaderInitb66f981e26d6b97fe576db7aa8e3b5ff', 'loadClassLoader'), true /*, true */);
|
| 23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
| 24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInitb66f981e26d6b97fe576db7aa8e3b5ff', 'loadClassLoader'));
|
| 25 |
|
| 26 |
$vendorDir = dirname(dirname(__FILE__));
|
| 27 |
$baseDir = dirname($vendorDir);
|
common/vendor/composer/autoload_static.php
CHANGED
|
@@ -4,7 +4,7 @@
|
|
| 4 |
|
| 5 |
namespace Composer\Autoload;
|
| 6 |
|
| 7 |
-
class
|
| 8 |
{
|
| 9 |
public static $prefixLengthsPsr4 = array (
|
| 10 |
'T' =>
|
|
@@ -187,6 +187,8 @@ class ComposerStaticInit3a672380888faa1d26541e85d9fd9364
|
|
| 187 |
'Tribe\\Traits\\Cache_User' => __DIR__ . '/../..' . '/src/Tribe/Traits/Cache_User.php',
|
| 188 |
'Tribe\\Utils\\Collection_Interface' => __DIR__ . '/../..' . '/src/Tribe/Utils/Collection_Interface.php',
|
| 189 |
'Tribe\\Utils\\Collection_Trait' => __DIR__ . '/../..' . '/src/Tribe/Utils/Collection_Trait.php',
|
|
|
|
|
|
|
| 190 |
'Tribe\\Utils\\Element_Classes' => __DIR__ . '/../..' . '/src/Tribe/Utils/Element_Classes.php',
|
| 191 |
'Tribe\\Utils\\Lazy_Collection' => __DIR__ . '/../..' . '/src/Tribe/Utils/Lazy_Collection.php',
|
| 192 |
'Tribe\\Utils\\Lazy_Events' => __DIR__ . '/../..' . '/src/Tribe/Utils/Lazy_Events.php',
|
|
@@ -205,10 +207,10 @@ class ComposerStaticInit3a672380888faa1d26541e85d9fd9364
|
|
| 205 |
public static function getInitializer(ClassLoader $loader)
|
| 206 |
{
|
| 207 |
return \Closure::bind(function () use ($loader) {
|
| 208 |
-
$loader->prefixLengthsPsr4 =
|
| 209 |
-
$loader->prefixDirsPsr4 =
|
| 210 |
-
$loader->prefixesPsr0 =
|
| 211 |
-
$loader->classMap =
|
| 212 |
|
| 213 |
}, null, ClassLoader::class);
|
| 214 |
}
|
| 4 |
|
| 5 |
namespace Composer\Autoload;
|
| 6 |
|
| 7 |
+
class ComposerStaticInit45e5a9d8cf34dec530211a7c9e3d4ba1
|
| 8 |
{
|
| 9 |
public static $prefixLengthsPsr4 = array (
|
| 10 |
'T' =>
|
| 187 |
'Tribe\\Traits\\Cache_User' => __DIR__ . '/../..' . '/src/Tribe/Traits/Cache_User.php',
|
| 188 |
'Tribe\\Utils\\Collection_Interface' => __DIR__ . '/../..' . '/src/Tribe/Utils/Collection_Interface.php',
|
| 189 |
'Tribe\\Utils\\Collection_Trait' => __DIR__ . '/../..' . '/src/Tribe/Utils/Collection_Trait.php',
|
| 190 |
+
'Tribe\\Utils\\Date_I18n' => __DIR__ . '/../..' . '/src/Tribe/Utils/Date_I18n.php',
|
| 191 |
+
'Tribe\\Utils\\Date_I18n_Immutable' => __DIR__ . '/../..' . '/src/Tribe/Utils/Date_I18n_Immutable.php',
|
| 192 |
'Tribe\\Utils\\Element_Classes' => __DIR__ . '/../..' . '/src/Tribe/Utils/Element_Classes.php',
|
| 193 |
'Tribe\\Utils\\Lazy_Collection' => __DIR__ . '/../..' . '/src/Tribe/Utils/Lazy_Collection.php',
|
| 194 |
'Tribe\\Utils\\Lazy_Events' => __DIR__ . '/../..' . '/src/Tribe/Utils/Lazy_Events.php',
|
| 207 |
public static function getInitializer(ClassLoader $loader)
|
| 208 |
{
|
| 209 |
return \Closure::bind(function () use ($loader) {
|
| 210 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit45e5a9d8cf34dec530211a7c9e3d4ba1::$prefixLengthsPsr4;
|
| 211 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit45e5a9d8cf34dec530211a7c9e3d4ba1::$prefixDirsPsr4;
|
| 212 |
+
$loader->prefixesPsr0 = ComposerStaticInit45e5a9d8cf34dec530211a7c9e3d4ba1::$prefixesPsr0;
|
| 213 |
+
$loader->classMap = ComposerStaticInit45e5a9d8cf34dec530211a7c9e3d4ba1::$classMap;
|
| 214 |
|
| 215 |
}, null, ClassLoader::class);
|
| 216 |
}
|
lang/the-events-calendar-zh_TW.mo
CHANGED
|
Binary file
|
lang/the-events-calendar.pot
CHANGED
|
@@ -2,14 +2,14 @@
|
|
| 2 |
# This file is distributed under the same license as the The Events Calendar package.
|
| 3 |
msgid ""
|
| 4 |
msgstr ""
|
| 5 |
-
"Project-Id-Version: The Events Calendar
|
| 6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/the-events-"
|
| 7 |
"calendar\n"
|
| 8 |
-
"POT-Creation-Date: 2020-01-
|
| 9 |
"MIME-Version: 1.0\n"
|
| 10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
| 11 |
"Content-Transfer-Encoding: 8bit\n"
|
| 12 |
-
"PO-Revision-Date: 2020-01-
|
| 13 |
"Last-Translator: \n"
|
| 14 |
"Language-Team: \n"
|
| 15 |
|
|
@@ -47,7 +47,7 @@ msgstr ""
|
|
| 47 |
msgid "%s"
|
| 48 |
msgstr ""
|
| 49 |
|
| 50 |
-
#: src/Tribe/Admin/Bar/Default_Configurator.php:45 src/Tribe/Main.php:
|
| 51 |
#: src/admin-views/tribe-options-upgrade.php:20
|
| 52 |
msgid "View Calendar"
|
| 53 |
msgstr ""
|
|
@@ -57,8 +57,8 @@ msgid "Add %s"
|
|
| 57 |
msgstr ""
|
| 58 |
|
| 59 |
#: src/Tribe/Admin/Bar/Default_Configurator.php:62
|
| 60 |
-
#: src/Tribe/Linked_Posts/Chooser_Meta_Box.php:211 src/Tribe/Main.php:
|
| 61 |
-
#: src/Tribe/Main.php:
|
| 62 |
#: src/Tribe/Venue.php:112
|
| 63 |
msgid "Edit %s"
|
| 64 |
msgstr ""
|
|
@@ -69,7 +69,7 @@ msgstr ""
|
|
| 69 |
msgid "Import"
|
| 70 |
msgstr ""
|
| 71 |
|
| 72 |
-
#: src/Tribe/Admin/Bar/Default_Configurator.php:89 src/Tribe/Main.php:
|
| 73 |
msgid "Settings"
|
| 74 |
msgstr ""
|
| 75 |
|
|
@@ -154,7 +154,7 @@ msgid ""
|
|
| 154 |
"refresh and try again."
|
| 155 |
msgstr ""
|
| 156 |
|
| 157 |
-
#: src/Tribe/Admin_List.php:246 src/Tribe/Main.php:
|
| 158 |
msgid "%s Categories"
|
| 159 |
msgstr ""
|
| 160 |
|
|
@@ -1936,29 +1936,29 @@ msgstr ""
|
|
| 1936 |
msgid "Custom"
|
| 1937 |
msgstr ""
|
| 1938 |
|
| 1939 |
-
#: src/Tribe/Customizer/Global_Elements.php:
|
| 1940 |
msgid "Global Elements"
|
| 1941 |
msgstr ""
|
| 1942 |
|
| 1943 |
-
#: src/Tribe/Customizer/Global_Elements.php:
|
| 1944 |
msgid ""
|
| 1945 |
"Options selected here will override what was selected in the \"General Theme"
|
| 1946 |
"\" section"
|
| 1947 |
msgstr ""
|
| 1948 |
|
| 1949 |
-
#: src/Tribe/Customizer/Global_Elements.php:
|
| 1950 |
msgid "Link Color"
|
| 1951 |
msgstr ""
|
| 1952 |
|
| 1953 |
-
#: src/Tribe/Customizer/Global_Elements.php:
|
| 1954 |
msgid "Filter Bar Color"
|
| 1955 |
msgstr ""
|
| 1956 |
|
| 1957 |
-
#: src/Tribe/Customizer/Global_Elements.php:
|
| 1958 |
msgid "Button Color"
|
| 1959 |
msgstr ""
|
| 1960 |
|
| 1961 |
-
#: src/Tribe/Customizer/Global_Elements.php:
|
| 1962 |
msgid "Map Pin"
|
| 1963 |
msgstr ""
|
| 1964 |
|
|
@@ -2035,8 +2035,9 @@ msgstr ""
|
|
| 2035 |
|
| 2036 |
#: src/Tribe/Editor/Template.php:70 src/Tribe/Template/Embed.php:59
|
| 2037 |
#: src/Tribe/Template/Single_Event.php:119
|
| 2038 |
-
#: src/Tribe/Views/V2/Template_Bootstrap.php:
|
| 2039 |
#: src/Tribe/Views/V2/Template_Bootstrap.php:160
|
|
|
|
| 2040 |
msgid "This %s has passed."
|
| 2041 |
msgstr ""
|
| 2042 |
|
|
@@ -2639,202 +2640,202 @@ msgstr ""
|
|
| 2639 |
msgid "Upcoming Events"
|
| 2640 |
msgstr ""
|
| 2641 |
|
| 2642 |
-
#. #-#-#-#-# the-events-calendar.pot (The Events Calendar
|
| 2643 |
#. Plugin Name of the plugin/theme
|
| 2644 |
-
#: src/Tribe/Main.php:
|
| 2645 |
-
#: src/functions/template-tags/general.php:
|
| 2646 |
msgid "The Events Calendar"
|
| 2647 |
msgstr ""
|
| 2648 |
|
| 2649 |
-
#: src/Tribe/Main.php:
|
| 2650 |
msgid "month"
|
| 2651 |
msgstr ""
|
| 2652 |
|
| 2653 |
-
#: src/Tribe/Main.php:
|
| 2654 |
msgid "list"
|
| 2655 |
msgstr ""
|
| 2656 |
|
| 2657 |
-
#: src/Tribe/Main.php:
|
| 2658 |
msgid "upcoming"
|
| 2659 |
msgstr ""
|
| 2660 |
|
| 2661 |
-
#: src/Tribe/Main.php:
|
| 2662 |
msgid "past"
|
| 2663 |
msgstr ""
|
| 2664 |
|
| 2665 |
-
#: src/Tribe/Main.php:
|
| 2666 |
msgid "day"
|
| 2667 |
msgstr ""
|
| 2668 |
|
| 2669 |
-
#: src/Tribe/Main.php:
|
| 2670 |
msgid "today"
|
| 2671 |
msgstr ""
|
| 2672 |
|
| 2673 |
-
#: src/Tribe/Main.php:
|
| 2674 |
msgctxt "featured events slug"
|
| 2675 |
msgid "featured"
|
| 2676 |
msgstr ""
|
| 2677 |
|
| 2678 |
-
#: src/Tribe/Main.php:
|
| 2679 |
msgctxt "all events slug"
|
| 2680 |
msgid "all"
|
| 2681 |
msgstr ""
|
| 2682 |
|
| 2683 |
-
#: src/Tribe/Main.php:
|
| 2684 |
msgid "Initializing Tribe Events on %s"
|
| 2685 |
msgstr ""
|
| 2686 |
|
| 2687 |
-
#: src/Tribe/Main.php:
|
| 2688 |
msgid "Welcome to The Events Calendar!"
|
| 2689 |
msgstr ""
|
| 2690 |
|
| 2691 |
-
#: src/Tribe/Main.php:
|
| 2692 |
msgid ""
|
| 2693 |
"The %3$s \"%1$s\" uses the \"/%2$s\" slug: the Events Calendar plugin will "
|
| 2694 |
"show its calendar in place of the page."
|
| 2695 |
msgstr ""
|
| 2696 |
|
| 2697 |
-
#: src/Tribe/Main.php:
|
| 2698 |
msgid "Ask the site administrator to edit the %s slug"
|
| 2699 |
msgstr ""
|
| 2700 |
|
| 2701 |
-
#: src/Tribe/Main.php:
|
| 2702 |
msgid "Edit the %s slug"
|
| 2703 |
msgstr ""
|
| 2704 |
|
| 2705 |
-
#: src/Tribe/Main.php:
|
| 2706 |
-
msgid " ask the site administrator set a different Events URL slug."
|
| 2707 |
msgstr ""
|
| 2708 |
|
| 2709 |
-
#: src/Tribe/Main.php:
|
| 2710 |
msgid "edit Events settings."
|
| 2711 |
msgstr ""
|
| 2712 |
|
| 2713 |
-
#: src/Tribe/Main.php:
|
| 2714 |
msgid "%1$s or %2$s"
|
| 2715 |
msgstr ""
|
| 2716 |
|
| 2717 |
-
#: src/Tribe/Main.php:
|
| 2718 |
msgid "Upgrade your calendar views"
|
| 2719 |
msgstr ""
|
| 2720 |
|
| 2721 |
-
#: src/Tribe/Main.php:
|
| 2722 |
msgid "Upgrade"
|
| 2723 |
msgstr ""
|
| 2724 |
|
| 2725 |
-
#: src/Tribe/Main.php:
|
| 2726 |
msgid "New User Primer"
|
| 2727 |
msgstr ""
|
| 2728 |
|
| 2729 |
-
#: src/Tribe/Main.php:
|
| 2730 |
msgid ""
|
| 2731 |
"We are committed to helping make your calendar spectacular and have a wealth "
|
| 2732 |
"of resources available, including a handy %s to get your calendar up and "
|
| 2733 |
"running."
|
| 2734 |
msgstr ""
|
| 2735 |
|
| 2736 |
-
#: src/Tribe/Main.php:
|
| 2737 |
msgid "Support for The Events Calendar"
|
| 2738 |
msgstr ""
|
| 2739 |
|
| 2740 |
-
#: src/Tribe/Main.php:
|
| 2741 |
msgid ""
|
| 2742 |
"%s: A thorough walkthrough of The Events Calendar and the settings that are "
|
| 2743 |
"available to you."
|
| 2744 |
msgstr ""
|
| 2745 |
|
| 2746 |
-
#: src/Tribe/Main.php:
|
| 2747 |
msgid "Settings overview"
|
| 2748 |
msgstr ""
|
| 2749 |
|
| 2750 |
-
#: src/Tribe/Main.php:
|
| 2751 |
msgid ""
|
| 2752 |
"%s: A complete look at the features you can expect to see right out of the "
|
| 2753 |
"box as well as how to use them."
|
| 2754 |
msgstr ""
|
| 2755 |
|
| 2756 |
-
#: src/Tribe/Main.php:
|
| 2757 |
msgid "Features overview"
|
| 2758 |
msgstr ""
|
| 2759 |
|
| 2760 |
-
#: src/Tribe/Main.php:
|
| 2761 |
msgid ""
|
| 2762 |
"%s: Our most comprehensive outline for customizing the calendar to suit your "
|
| 2763 |
"needs, including custom layouts and styles."
|
| 2764 |
msgstr ""
|
| 2765 |
|
| 2766 |
-
#: src/Tribe/Main.php:
|
| 2767 |
msgid "Themer’s Guide"
|
| 2768 |
msgstr ""
|
| 2769 |
|
| 2770 |
-
#: src/Tribe/Main.php:
|
| 2771 |
msgid ""
|
| 2772 |
"%s: An overview of the default templates and styles that are included in the "
|
| 2773 |
"plugin, as well as how to change them."
|
| 2774 |
msgstr ""
|
| 2775 |
|
| 2776 |
-
#: src/Tribe/Main.php:
|
| 2777 |
msgid "Using stylesheets and page templates"
|
| 2778 |
msgstr ""
|
| 2779 |
|
| 2780 |
-
#: src/Tribe/Main.php:
|
| 2781 |
msgid ""
|
| 2782 |
"%s: Do you see an issue with your calendar? Go here first to find where it’s "
|
| 2783 |
"coming from and how to fix it."
|
| 2784 |
msgstr ""
|
| 2785 |
|
| 2786 |
-
#: src/Tribe/Main.php:
|
| 2787 |
msgid "Troubleshooting common problems"
|
| 2788 |
msgstr ""
|
| 2789 |
|
| 2790 |
-
#: src/Tribe/Main.php:
|
| 2791 |
msgid ""
|
| 2792 |
"%s: Code and guides for customizing your calendar in useful and interesting "
|
| 2793 |
"ways."
|
| 2794 |
msgstr ""
|
| 2795 |
|
| 2796 |
-
#: src/Tribe/Main.php:
|
| 2797 |
msgid "Customizing the Events plugins"
|
| 2798 |
msgstr ""
|
| 2799 |
|
| 2800 |
-
#: src/Tribe/Main.php:
|
| 2801 |
msgid "Events Tickets"
|
| 2802 |
msgstr ""
|
| 2803 |
|
| 2804 |
-
#: src/Tribe/Main.php:
|
| 2805 |
msgid ""
|
| 2806 |
"If you have tried the above steps and are still having trouble, you can post "
|
| 2807 |
"a new thread to our WordPress.org forums for %1$s or %2$s. Our support staff "
|
| 2808 |
"monitors these forums once a week and would be happy to assist you there. "
|
| 2809 |
msgstr ""
|
| 2810 |
|
| 2811 |
-
#: src/Tribe/Main.php:
|
| 2812 |
msgid "premium support on our website"
|
| 2813 |
msgstr ""
|
| 2814 |
|
| 2815 |
-
#: src/Tribe/Main.php:
|
| 2816 |
msgid ""
|
| 2817 |
"<strong>Looking for more immediate support?</strong> We offer %s with the "
|
| 2818 |
"purchase of any of our premium plugins. Pick up a license and you can post "
|
| 2819 |
"there directly and expect a response within 24-48 hours during weekdays"
|
| 2820 |
msgstr ""
|
| 2821 |
|
| 2822 |
-
#: src/Tribe/Main.php:
|
| 2823 |
msgid "open-source forum on WordPress.org"
|
| 2824 |
msgstr ""
|
| 2825 |
|
| 2826 |
-
#: src/Tribe/Main.php:
|
| 2827 |
msgid ""
|
| 2828 |
"If you have tried the above steps and are still having trouble, you can post "
|
| 2829 |
"a new thread to our %s. Our support staff monitors these forums once a week "
|
| 2830 |
"and would be happy to assist you there."
|
| 2831 |
msgstr ""
|
| 2832 |
|
| 2833 |
-
#: src/Tribe/Main.php:
|
| 2834 |
msgid "Events Calendar PRO"
|
| 2835 |
msgstr ""
|
| 2836 |
|
| 2837 |
-
#: src/Tribe/Main.php:
|
| 2838 |
msgid ""
|
| 2839 |
"<strong>Looking for more immediate support?</strong> We offer %1$s with the "
|
| 2840 |
"purchase of any of our premium plugins (like %2$s). Pick up a license and "
|
|
@@ -2842,427 +2843,427 @@ msgid ""
|
|
| 2842 |
"weekdays."
|
| 2843 |
msgstr ""
|
| 2844 |
|
| 2845 |
-
#: src/Tribe/Main.php:
|
| 2846 |
msgid "post a thread"
|
| 2847 |
msgstr ""
|
| 2848 |
|
| 2849 |
-
#: src/Tribe/Main.php:
|
| 2850 |
msgid ""
|
| 2851 |
"If you have a valid license for one of our paid plugins, you can %s in our "
|
| 2852 |
"premium support forums. Our support team monitors the forums and will "
|
| 2853 |
"respond to your thread within 24-48 hours (during the week)."
|
| 2854 |
msgstr ""
|
| 2855 |
|
| 2856 |
-
#: src/Tribe/Main.php:
|
| 2857 |
#: src/deprecated/Tribe__Events__Importer__Admin_Page.php:207
|
| 2858 |
#: src/functions/template-tags/general.php:95
|
| 2859 |
msgid "Events"
|
| 2860 |
msgstr ""
|
| 2861 |
|
| 2862 |
-
#: src/Tribe/Main.php:
|
| 2863 |
#: src/admin-views/aggregator/tabs/import-form.php:220
|
| 2864 |
#: src/functions/template-tags/general.php:63
|
| 2865 |
msgid "Event"
|
| 2866 |
msgstr ""
|
| 2867 |
|
| 2868 |
-
#: src/Tribe/Main.php:
|
| 2869 |
msgid ""
|
| 2870 |
"Sorry, The Events Calendar requires WordPress %s or higher. Please upgrade "
|
| 2871 |
"your WordPress install."
|
| 2872 |
msgstr ""
|
| 2873 |
|
| 2874 |
-
#: src/Tribe/Main.php:
|
| 2875 |
msgid ""
|
| 2876 |
"Sorry, The Events Calendar requires PHP %s or higher. Talk to your Web host "
|
| 2877 |
"about moving you to a newer version of PHP."
|
| 2878 |
msgstr ""
|
| 2879 |
|
| 2880 |
-
#: src/Tribe/Main.php:
|
| 2881 |
msgid ""
|
| 2882 |
"To continue using The Events Calendar, please install the latest version of"
|
| 2883 |
msgstr ""
|
| 2884 |
|
| 2885 |
-
#: src/Tribe/Main.php:
|
| 2886 |
msgid "Event Tickets"
|
| 2887 |
msgstr ""
|
| 2888 |
|
| 2889 |
-
#: src/Tribe/Main.php:
|
| 2890 |
msgid ""
|
| 2891 |
"It appears as if the tribe-common libraries cannot be found! The directory "
|
| 2892 |
"should be in the \"common/\" directory in the events calendar plugin."
|
| 2893 |
msgstr ""
|
| 2894 |
|
| 2895 |
-
#: src/Tribe/Main.php:
|
| 2896 |
msgid "category"
|
| 2897 |
msgstr ""
|
| 2898 |
|
| 2899 |
-
#: src/Tribe/Main.php:
|
| 2900 |
msgid "tag"
|
| 2901 |
msgstr ""
|
| 2902 |
|
| 2903 |
-
#: src/Tribe/Main.php:
|
| 2904 |
msgid "Add New"
|
| 2905 |
msgstr ""
|
| 2906 |
|
| 2907 |
-
#: src/Tribe/Main.php:
|
| 2908 |
#: src/Tribe/Organizer.php:92 src/Tribe/Venue.php:111
|
| 2909 |
msgid "Add New %s"
|
| 2910 |
msgstr ""
|
| 2911 |
|
| 2912 |
-
#: src/Tribe/Main.php:
|
| 2913 |
msgid "New %s"
|
| 2914 |
msgstr ""
|
| 2915 |
|
| 2916 |
-
#: src/Tribe/Main.php:
|
| 2917 |
#: src/views/month/single-day.php:26
|
| 2918 |
msgid "View %s"
|
| 2919 |
msgstr ""
|
| 2920 |
|
| 2921 |
-
#: src/Tribe/Main.php:
|
| 2922 |
msgid "Search %s"
|
| 2923 |
msgstr ""
|
| 2924 |
|
| 2925 |
-
#: src/Tribe/Main.php:
|
| 2926 |
msgid "No %s found"
|
| 2927 |
msgstr ""
|
| 2928 |
|
| 2929 |
-
#: src/Tribe/Main.php:
|
| 2930 |
msgid "No %s found in Trash"
|
| 2931 |
msgstr ""
|
| 2932 |
|
| 2933 |
-
#: src/Tribe/Main.php:
|
| 2934 |
#: src/Tribe/Organizer.php:99 src/Tribe/Venue.php:118
|
| 2935 |
msgid "%s published."
|
| 2936 |
msgstr ""
|
| 2937 |
|
| 2938 |
-
#: src/Tribe/Main.php:
|
| 2939 |
msgid "%s published privately."
|
| 2940 |
msgstr ""
|
| 2941 |
|
| 2942 |
-
#: src/Tribe/Main.php:
|
| 2943 |
msgid "%s reverted to draft."
|
| 2944 |
msgstr ""
|
| 2945 |
|
| 2946 |
-
#: src/Tribe/Main.php:
|
| 2947 |
msgid "%s scheduled."
|
| 2948 |
msgstr ""
|
| 2949 |
|
| 2950 |
-
#: src/Tribe/Main.php:
|
| 2951 |
-
#: src/Tribe/Main.php:
|
| 2952 |
#: src/Tribe/Organizer.php:103 src/Tribe/Venue.php:122
|
| 2953 |
msgid "%s updated."
|
| 2954 |
msgstr ""
|
| 2955 |
|
| 2956 |
-
#: src/Tribe/Main.php:
|
| 2957 |
msgid "%s Category"
|
| 2958 |
msgstr ""
|
| 2959 |
|
| 2960 |
-
#: src/Tribe/Main.php:
|
| 2961 |
msgid "Search %s Categories"
|
| 2962 |
msgstr ""
|
| 2963 |
|
| 2964 |
-
#: src/Tribe/Main.php:
|
| 2965 |
msgid "All %s Categories"
|
| 2966 |
msgstr ""
|
| 2967 |
|
| 2968 |
-
#: src/Tribe/Main.php:
|
| 2969 |
msgid "Parent %s Category"
|
| 2970 |
msgstr ""
|
| 2971 |
|
| 2972 |
-
#: src/Tribe/Main.php:
|
| 2973 |
msgid "Parent %s Category:"
|
| 2974 |
msgstr ""
|
| 2975 |
|
| 2976 |
-
#: src/Tribe/Main.php:
|
| 2977 |
msgid "Edit %s Category"
|
| 2978 |
msgstr ""
|
| 2979 |
|
| 2980 |
-
#: src/Tribe/Main.php:
|
| 2981 |
msgid "Update %s Category"
|
| 2982 |
msgstr ""
|
| 2983 |
|
| 2984 |
-
#: src/Tribe/Main.php:
|
| 2985 |
msgid "Add New %s Category"
|
| 2986 |
msgstr ""
|
| 2987 |
|
| 2988 |
-
#: src/Tribe/Main.php:
|
| 2989 |
msgid "New %s Category Name"
|
| 2990 |
msgstr ""
|
| 2991 |
|
| 2992 |
-
#: src/Tribe/Main.php:
|
| 2993 |
msgid "%1$s updated. %2$sView %1$s%3$s"
|
| 2994 |
msgstr ""
|
| 2995 |
|
| 2996 |
-
#: src/Tribe/Main.php:
|
| 2997 |
msgid "Custom field updated."
|
| 2998 |
msgstr ""
|
| 2999 |
|
| 3000 |
-
#: src/Tribe/Main.php:
|
| 3001 |
msgid "Custom field deleted."
|
| 3002 |
msgstr ""
|
| 3003 |
|
| 3004 |
#. translators: %s: date and time of the revision
|
| 3005 |
-
#: src/Tribe/Main.php:
|
| 3006 |
msgid "%1$s restored to revision from %2$s"
|
| 3007 |
msgstr ""
|
| 3008 |
|
| 3009 |
-
#: src/Tribe/Main.php:
|
| 3010 |
msgid "%1$s published. %2$sView %3$s"
|
| 3011 |
msgstr ""
|
| 3012 |
|
| 3013 |
-
#: src/Tribe/Main.php:
|
| 3014 |
msgid "%s saved."
|
| 3015 |
msgstr ""
|
| 3016 |
|
| 3017 |
-
#: src/Tribe/Main.php:
|
| 3018 |
msgid "%1$s submitted. %2$sPreview %3$s"
|
| 3019 |
msgstr ""
|
| 3020 |
|
| 3021 |
-
#: src/Tribe/Main.php:
|
| 3022 |
msgid "%1$s scheduled for: %2$s. %3$sPreview %4$s"
|
| 3023 |
msgstr ""
|
| 3024 |
|
| 3025 |
#. translators: Publish box date format, see http://php.net/date
|
| 3026 |
-
#: src/Tribe/Main.php:
|
| 3027 |
msgid "M j, Y @ G:i"
|
| 3028 |
msgstr ""
|
| 3029 |
|
| 3030 |
-
#: src/Tribe/Main.php:
|
| 3031 |
msgid "%1$s draft updated. %2$sPreview %3$s"
|
| 3032 |
msgstr ""
|
| 3033 |
|
| 3034 |
-
#: src/Tribe/Main.php:
|
| 3035 |
msgid "%s submitted."
|
| 3036 |
msgstr ""
|
| 3037 |
|
| 3038 |
-
#: src/Tribe/Main.php:
|
| 3039 |
msgid "%1$s scheduled for: %2$s."
|
| 3040 |
msgstr ""
|
| 3041 |
|
| 3042 |
-
#: src/Tribe/Main.php:
|
| 3043 |
msgid "%s draft updated."
|
| 3044 |
msgstr ""
|
| 3045 |
|
| 3046 |
#. translators: %s: date and time of the revision
|
| 3047 |
-
#: src/Tribe/Main.php:
|
| 3048 |
msgid "%s restored to revision from %s"
|
| 3049 |
msgstr ""
|
| 3050 |
|
| 3051 |
-
#: src/Tribe/Main.php:
|
| 3052 |
msgid ""
|
| 3053 |
"Without a defined location your event will not display a %sGoogle Rich "
|
| 3054 |
"Snippet%s on the search results."
|
| 3055 |
msgstr ""
|
| 3056 |
|
| 3057 |
-
#: src/Tribe/Main.php:
|
| 3058 |
msgid "page"
|
| 3059 |
msgstr ""
|
| 3060 |
|
| 3061 |
-
#: src/Tribe/Main.php:
|
| 3062 |
msgid "event"
|
| 3063 |
msgstr ""
|
| 3064 |
|
| 3065 |
-
#: src/Tribe/Main.php:
|
| 3066 |
msgid "events"
|
| 3067 |
msgstr ""
|
| 3068 |
|
| 3069 |
-
#: src/Tribe/Main.php:
|
| 3070 |
msgid "all"
|
| 3071 |
msgstr ""
|
| 3072 |
|
| 3073 |
-
#: src/Tribe/Main.php:
|
| 3074 |
msgid " (View Full %1$s Description Here: %2$s)"
|
| 3075 |
msgstr ""
|
| 3076 |
|
| 3077 |
-
#: src/Tribe/Main.php:
|
| 3078 |
#: src/functions/template-tags/day.php:157
|
| 3079 |
#: src/functions/template-tags/day.php:178
|
| 3080 |
msgid "Date out of range."
|
| 3081 |
msgstr ""
|
| 3082 |
|
| 3083 |
-
#: src/Tribe/Main.php:
|
| 3084 |
msgid "%s Options"
|
| 3085 |
msgstr ""
|
| 3086 |
|
| 3087 |
-
#: src/Tribe/Main.php:
|
| 3088 |
msgid "%s Information"
|
| 3089 |
msgstr ""
|
| 3090 |
|
| 3091 |
-
#: src/Tribe/Main.php:
|
| 3092 |
msgid "Support"
|
| 3093 |
msgstr ""
|
| 3094 |
|
| 3095 |
-
#: src/Tribe/Main.php:
|
| 3096 |
msgid "View All Add-Ons"
|
| 3097 |
msgstr ""
|
| 3098 |
|
| 3099 |
-
#: src/Tribe/Main.php:
|
| 3100 |
msgid "News from Modern Tribe"
|
| 3101 |
msgstr ""
|
| 3102 |
|
| 3103 |
-
#: src/Tribe/Main.php:
|
| 3104 |
msgid "Additional Functionality"
|
| 3105 |
msgstr ""
|
| 3106 |
|
| 3107 |
-
#: src/Tribe/Main.php:
|
| 3108 |
msgid ""
|
| 3109 |
"Looking for additional functionality including recurring events, ticket "
|
| 3110 |
"sales, publicly submitted events, new views and more?"
|
| 3111 |
msgstr ""
|
| 3112 |
|
| 3113 |
-
#: src/Tribe/Main.php:
|
| 3114 |
msgid "Check out the %savailable add-ons%s."
|
| 3115 |
msgstr ""
|
| 3116 |
|
| 3117 |
-
#: src/Tribe/Main.php:
|
| 3118 |
msgid "Calendar"
|
| 3119 |
msgstr ""
|
| 3120 |
|
| 3121 |
-
#: src/Tribe/Main.php:
|
| 3122 |
msgid "List"
|
| 3123 |
msgstr ""
|
| 3124 |
|
| 3125 |
-
#: src/Tribe/Main.php:
|
| 3126 |
msgid "Month"
|
| 3127 |
msgstr ""
|
| 3128 |
|
| 3129 |
-
#: src/Tribe/Main.php:
|
| 3130 |
#: src/admin-views/aggregator/fields/schedule.php:62
|
| 3131 |
msgid "Day"
|
| 3132 |
msgstr ""
|
| 3133 |
|
| 3134 |
-
#: src/Tribe/Main.php:
|
| 3135 |
msgid "Search for %s by Keyword."
|
| 3136 |
msgstr ""
|
| 3137 |
|
| 3138 |
-
#: src/Tribe/Main.php:
|
| 3139 |
#: src/views/v2/components/events-bar/search-button.php:25
|
| 3140 |
msgid "Search"
|
| 3141 |
msgstr ""
|
| 3142 |
|
| 3143 |
-
#: src/Tribe/Main.php:
|
| 3144 |
msgid "Keyword"
|
| 3145 |
msgstr ""
|
| 3146 |
|
| 3147 |
-
#: src/Tribe/Main.php:
|
| 3148 |
msgid "4 digit year hyphen 2 digit month hyphen 2 digit day"
|
| 3149 |
msgstr ""
|
| 3150 |
|
| 3151 |
-
#: src/Tribe/Main.php:
|
| 3152 |
msgid "1 digit month slash 1 digit day slash 4 digit year"
|
| 3153 |
msgstr ""
|
| 3154 |
|
| 3155 |
-
#: src/Tribe/Main.php:
|
| 3156 |
msgid "2 digit month slash 2 digit day slash 4 digit year"
|
| 3157 |
msgstr ""
|
| 3158 |
|
| 3159 |
-
#: src/Tribe/Main.php:
|
| 3160 |
msgid "1 digit day slash 1 digit month slash 4 digit year"
|
| 3161 |
msgstr ""
|
| 3162 |
|
| 3163 |
-
#: src/Tribe/Main.php:
|
| 3164 |
msgid "2 digit day slash 2 digit month slash 4 digit year"
|
| 3165 |
msgstr ""
|
| 3166 |
|
| 3167 |
-
#: src/Tribe/Main.php:
|
| 3168 |
msgid "1 digit month hyphen 1 digit day hyphen 4 digit year"
|
| 3169 |
msgstr ""
|
| 3170 |
|
| 3171 |
-
#: src/Tribe/Main.php:
|
| 3172 |
msgid "1 digit month hyphen 2 digit day hyphen 4 digit year"
|
| 3173 |
msgstr ""
|
| 3174 |
|
| 3175 |
-
#: src/Tribe/Main.php:
|
| 3176 |
msgid "1 digit day hyphen 1 digit month hyphen 4 digit year"
|
| 3177 |
msgstr ""
|
| 3178 |
|
| 3179 |
-
#: src/Tribe/Main.php:
|
| 3180 |
msgid "2 digit day hyphen 2 digit month hyphen 4 digit year"
|
| 3181 |
msgstr ""
|
| 3182 |
|
| 3183 |
-
#: src/Tribe/Main.php:
|
| 3184 |
msgid "4 digit year dot 2 digit month dot 2 digit day"
|
| 3185 |
msgstr ""
|
| 3186 |
|
| 3187 |
-
#: src/Tribe/Main.php:
|
| 3188 |
msgid "2 digit month dot 2 digit day dot 4 digit year"
|
| 3189 |
msgstr ""
|
| 3190 |
|
| 3191 |
-
#: src/Tribe/Main.php:
|
| 3192 |
msgid "2 digit day dot 2 digit month dot 4 digit year"
|
| 3193 |
msgstr ""
|
| 3194 |
|
| 3195 |
-
#: src/Tribe/Main.php:
|
| 3196 |
msgid "4 digit year hyphen 2 digit month"
|
| 3197 |
msgstr ""
|
| 3198 |
|
| 3199 |
-
#: src/Tribe/Main.php:
|
| 3200 |
msgid "1 digit month slash 4 digit year"
|
| 3201 |
msgstr ""
|
| 3202 |
|
| 3203 |
-
#: src/Tribe/Main.php:
|
| 3204 |
msgid "2 digit month slash 4 digit year"
|
| 3205 |
msgstr ""
|
| 3206 |
|
| 3207 |
-
#: src/Tribe/Main.php:
|
| 3208 |
msgid "1 digit month hyphen 4 digit year"
|
| 3209 |
msgstr ""
|
| 3210 |
|
| 3211 |
-
#: src/Tribe/Main.php:
|
| 3212 |
msgid "2 digit month hyphen 4 digit year"
|
| 3213 |
msgstr ""
|
| 3214 |
|
| 3215 |
-
#: src/Tribe/Main.php:
|
| 3216 |
msgid "4 digit year dot 2 digit month"
|
| 3217 |
msgstr ""
|
| 3218 |
|
| 3219 |
-
#: src/Tribe/Main.php:
|
| 3220 |
msgid "2 digit month dot 4 digit year"
|
| 3221 |
msgstr ""
|
| 3222 |
|
| 3223 |
-
#: src/Tribe/Main.php:
|
| 3224 |
#: src/admin-views/aggregator/origins/refine.php:7
|
| 3225 |
msgid "Date"
|
| 3226 |
msgstr ""
|
| 3227 |
|
| 3228 |
-
#: src/Tribe/Main.php:
|
| 3229 |
msgid "Search for %s by Date. Please use the format %s."
|
| 3230 |
msgstr ""
|
| 3231 |
|
| 3232 |
-
#: src/Tribe/Main.php:
|
| 3233 |
msgid "%s In"
|
| 3234 |
msgstr ""
|
| 3235 |
|
| 3236 |
-
#: src/Tribe/Main.php:
|
| 3237 |
msgid "Search for %s by month. Please use the format %s."
|
| 3238 |
msgstr ""
|
| 3239 |
|
| 3240 |
-
#: src/Tribe/Main.php:
|
| 3241 |
msgid "%s From"
|
| 3242 |
msgstr ""
|
| 3243 |
|
| 3244 |
-
#: src/Tribe/Main.php:
|
| 3245 |
msgid "Day Of"
|
| 3246 |
msgstr ""
|
| 3247 |
|
| 3248 |
-
#: src/Tribe/Main.php:
|
| 3249 |
msgid "Once Every 30 Mins"
|
| 3250 |
msgstr ""
|
| 3251 |
|
| 3252 |
-
#: src/Tribe/Main.php:
|
| 3253 |
msgid ""
|
| 3254 |
"Your version of The Events Calendar is not up-to-date with one of your The "
|
| 3255 |
"Events Calendar add-ons. Please %supdate now.%s"
|
| 3256 |
msgstr ""
|
| 3257 |
|
| 3258 |
-
#: src/Tribe/Main.php:
|
| 3259 |
msgid ""
|
| 3260 |
"The following plugins are out of date: %1$s. All add-ons contain "
|
| 3261 |
"dependencies on The Events Calendar and will not function properly unless "
|
| 3262 |
"paired with the right version. %2$sLearn More%3$s."
|
| 3263 |
msgstr ""
|
| 3264 |
|
| 3265 |
-
#: src/Tribe/Main.php:
|
| 3266 |
msgid "Use Saved %s:"
|
| 3267 |
msgstr ""
|
| 3268 |
|
|
@@ -4611,6 +4612,11 @@ msgstr ""
|
|
| 4611 |
msgid "No previous %s "
|
| 4612 |
msgstr ""
|
| 4613 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4614 |
#: src/Tribe/Templates.php:625
|
| 4615 |
msgid "Template overrides should be moved to the correct subdirectory: %s"
|
| 4616 |
msgstr ""
|
|
@@ -4672,15 +4678,15 @@ msgstr ""
|
|
| 4672 |
msgid "Unnamed Venue"
|
| 4673 |
msgstr ""
|
| 4674 |
|
| 4675 |
-
#: src/Tribe/Views/V2/Hooks.php:
|
| 4676 |
msgid "We recommend a 16:9 aspect ratio for featured images."
|
| 4677 |
msgstr ""
|
| 4678 |
|
| 4679 |
-
#: src/Tribe/Views/V2/Hooks.php:
|
| 4680 |
msgid "Recommended for all sites using the updated calendar views."
|
| 4681 |
msgstr ""
|
| 4682 |
|
| 4683 |
-
#: src/Tribe/Views/V2/Hooks.php:
|
| 4684 |
msgid "The Events Calendar - View V2"
|
| 4685 |
msgstr ""
|
| 4686 |
|
|
@@ -4737,7 +4743,7 @@ msgctxt "day_view"
|
|
| 4737 |
msgid "%1$s for %2$s"
|
| 4738 |
msgstr ""
|
| 4739 |
|
| 4740 |
-
#: src/Tribe/Views/V2/View.php:
|
| 4741 |
#: src/views/v2/day/event/date.php:28 src/views/v2/day/event/date.php:32
|
| 4742 |
#: src/views/v2/list/event/date.php:27 src/views/v2/list/event/date.php:28
|
| 4743 |
#: src/views/v2/list/event/date.php:32
|
|
@@ -4745,38 +4751,46 @@ msgstr ""
|
|
| 4745 |
#: src/views/v2/month/calendar-body/day/calendar-events/calendar-event/date.php:28
|
| 4746 |
#: src/views/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/date.php:26
|
| 4747 |
#: src/views/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/date.php:27
|
| 4748 |
-
#: src/views/v2/month/calendar-body/day/multiday-events/multiday-event.php:
|
| 4749 |
-
#: src/views/v2/month/calendar-body/day/multiday-events/multiday-event.php:
|
| 4750 |
-
#: src/views/v2/month/calendar-body/day/multiday-events/multiday-event.php:108
|
| 4751 |
#: src/views/v2/month/calendar-body/day/multiday-events/multiday-event.php:109
|
|
|
|
| 4752 |
#: src/views/v2/month/mobile-events/mobile-day/mobile-event/date.php:27
|
| 4753 |
#: src/views/v2/month/mobile-events/mobile-day/mobile-event/date.php:28
|
| 4754 |
#: src/views/v2/month/mobile-events/mobile-day/mobile-event/date.php:32
|
| 4755 |
msgid "Featured"
|
| 4756 |
msgstr ""
|
| 4757 |
|
| 4758 |
-
#: src/Tribe/Views/V2/View.php:
|
| 4759 |
msgid "Export Events"
|
| 4760 |
msgstr ""
|
| 4761 |
|
| 4762 |
-
#: src/Tribe/Views/V2/View.php:
|
| 4763 |
msgid ""
|
| 4764 |
"Use this to share calendar data with Google Calendar, Apple iCal and other "
|
| 4765 |
"compatible apps"
|
| 4766 |
msgstr ""
|
| 4767 |
|
| 4768 |
-
#: src/Tribe/Views/V2/Views/List_Behavior.php:49
|
| 4769 |
msgctxt "The datepicker label when the range start is now."
|
| 4770 |
msgid "Now"
|
| 4771 |
msgstr ""
|
| 4772 |
|
| 4773 |
#. translators: the placeholder is for the date range start, e.g. "Now" or
|
| 4774 |
#. "October 23".
|
| 4775 |
-
#: src/Tribe/Views/V2/Views/List_Behavior.php:
|
| 4776 |
msgctxt "The datepicker range definition when no events are found."
|
| 4777 |
msgid "%s onwards"
|
| 4778 |
msgstr ""
|
| 4779 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4780 |
#: src/Tribe/iCal.php:53
|
| 4781 |
msgctxt "feed link"
|
| 4782 |
msgid "»"
|
|
@@ -7218,15 +7232,15 @@ msgstr ""
|
|
| 7218 |
msgid "Loading %s"
|
| 7219 |
msgstr ""
|
| 7220 |
|
| 7221 |
-
#: src/functions/template-tags/general.php:
|
| 7222 |
msgid "Find out more »"
|
| 7223 |
msgstr ""
|
| 7224 |
|
| 7225 |
-
#: src/functions/template-tags/general.php:
|
| 7226 |
msgid "%s for"
|
| 7227 |
msgstr ""
|
| 7228 |
|
| 7229 |
-
#: src/functions/template-tags/general.php:
|
| 7230 |
msgid "Calendar powered by %s"
|
| 7231 |
msgstr ""
|
| 7232 |
|
|
@@ -7328,7 +7342,7 @@ msgstr ""
|
|
| 7328 |
msgid "Find %s"
|
| 7329 |
msgstr ""
|
| 7330 |
|
| 7331 |
-
#: src/views/modules/bar.php:86 src/views/v2/components/events-bar/views.php:
|
| 7332 |
msgid "%s Views Navigation"
|
| 7333 |
msgstr ""
|
| 7334 |
|
|
@@ -7406,23 +7420,23 @@ msgstr ""
|
|
| 7406 |
msgid "Previous"
|
| 7407 |
msgstr ""
|
| 7408 |
|
| 7409 |
-
#: src/views/v2/day/top-bar/datepicker.php:
|
| 7410 |
-
#: src/views/v2/list/top-bar/datepicker.php:
|
| 7411 |
-
#: src/views/v2/month/top-bar/datepicker.php:
|
| 7412 |
msgid "Select date."
|
| 7413 |
msgstr ""
|
| 7414 |
|
| 7415 |
-
#: src/views/v2/day.php:
|
| 7416 |
msgid "Loading..."
|
| 7417 |
msgstr ""
|
| 7418 |
|
| 7419 |
#. translators: %s: Event (plural or singular).
|
| 7420 |
-
#: src/views/v2/list/nav/next-disabled.php:
|
| 7421 |
msgid "Next %1$s"
|
| 7422 |
msgstr ""
|
| 7423 |
|
| 7424 |
#. translators: %s: Event (plural or singular).
|
| 7425 |
-
#: src/views/v2/list/nav/prev-disabled.php:
|
| 7426 |
msgid "Previous %1$s"
|
| 7427 |
msgstr ""
|
| 7428 |
|
| 2 |
# This file is distributed under the same license as the The Events Calendar package.
|
| 3 |
msgid ""
|
| 4 |
msgstr ""
|
| 5 |
+
"Project-Id-Version: The Events Calendar 5.0.0\n"
|
| 6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/the-events-"
|
| 7 |
"calendar\n"
|
| 8 |
+
"POT-Creation-Date: 2020-01-23 20:32:53+00:00\n"
|
| 9 |
"MIME-Version: 1.0\n"
|
| 10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
| 11 |
"Content-Transfer-Encoding: 8bit\n"
|
| 12 |
+
"PO-Revision-Date: 2020-01-23 20:32\n"
|
| 13 |
"Last-Translator: \n"
|
| 14 |
"Language-Team: \n"
|
| 15 |
|
| 47 |
msgid "%s"
|
| 48 |
msgstr ""
|
| 49 |
|
| 50 |
+
#: src/Tribe/Admin/Bar/Default_Configurator.php:45 src/Tribe/Main.php:4194
|
| 51 |
#: src/admin-views/tribe-options-upgrade.php:20
|
| 52 |
msgid "View Calendar"
|
| 53 |
msgstr ""
|
| 57 |
msgstr ""
|
| 58 |
|
| 59 |
#: src/Tribe/Admin/Bar/Default_Configurator.php:62
|
| 60 |
+
#: src/Tribe/Linked_Posts/Chooser_Meta_Box.php:211 src/Tribe/Main.php:2019
|
| 61 |
+
#: src/Tribe/Main.php:5290 src/Tribe/Main.php:5337 src/Tribe/Organizer.php:93
|
| 62 |
#: src/Tribe/Venue.php:112
|
| 63 |
msgid "Edit %s"
|
| 64 |
msgstr ""
|
| 69 |
msgid "Import"
|
| 70 |
msgstr ""
|
| 71 |
|
| 72 |
+
#: src/Tribe/Admin/Bar/Default_Configurator.php:89 src/Tribe/Main.php:4242
|
| 73 |
msgid "Settings"
|
| 74 |
msgstr ""
|
| 75 |
|
| 154 |
"refresh and try again."
|
| 155 |
msgstr ""
|
| 156 |
|
| 157 |
+
#: src/Tribe/Admin_List.php:246 src/Tribe/Main.php:2038
|
| 158 |
msgid "%s Categories"
|
| 159 |
msgstr ""
|
| 160 |
|
| 1936 |
msgid "Custom"
|
| 1937 |
msgstr ""
|
| 1938 |
|
| 1939 |
+
#: src/Tribe/Customizer/Global_Elements.php:117
|
| 1940 |
msgid "Global Elements"
|
| 1941 |
msgstr ""
|
| 1942 |
|
| 1943 |
+
#: src/Tribe/Customizer/Global_Elements.php:118
|
| 1944 |
msgid ""
|
| 1945 |
"Options selected here will override what was selected in the \"General Theme"
|
| 1946 |
"\" section"
|
| 1947 |
msgstr ""
|
| 1948 |
|
| 1949 |
+
#: src/Tribe/Customizer/Global_Elements.php:149
|
| 1950 |
msgid "Link Color"
|
| 1951 |
msgstr ""
|
| 1952 |
|
| 1953 |
+
#: src/Tribe/Customizer/Global_Elements.php:177
|
| 1954 |
msgid "Filter Bar Color"
|
| 1955 |
msgstr ""
|
| 1956 |
|
| 1957 |
+
#: src/Tribe/Customizer/Global_Elements.php:199
|
| 1958 |
msgid "Button Color"
|
| 1959 |
msgstr ""
|
| 1960 |
|
| 1961 |
+
#: src/Tribe/Customizer/Global_Elements.php:223
|
| 1962 |
msgid "Map Pin"
|
| 1963 |
msgstr ""
|
| 1964 |
|
| 2035 |
|
| 2036 |
#: src/Tribe/Editor/Template.php:70 src/Tribe/Template/Embed.php:59
|
| 2037 |
#: src/Tribe/Template/Single_Event.php:119
|
| 2038 |
+
#: src/Tribe/Views/V2/Template_Bootstrap.php:124
|
| 2039 |
#: src/Tribe/Views/V2/Template_Bootstrap.php:160
|
| 2040 |
+
#: src/Tribe/Views/V2/Template_Bootstrap.php:382
|
| 2041 |
msgid "This %s has passed."
|
| 2042 |
msgstr ""
|
| 2043 |
|
| 2640 |
msgid "Upcoming Events"
|
| 2641 |
msgstr ""
|
| 2642 |
|
| 2643 |
+
#. #-#-#-#-# the-events-calendar.pot (The Events Calendar 5.0.0) #-#-#-#-#
|
| 2644 |
#. Plugin Name of the plugin/theme
|
| 2645 |
+
#: src/Tribe/Main.php:919 src/Tribe/Main.php:1374 src/Tribe/Privacy.php:29
|
| 2646 |
+
#: src/functions/template-tags/general.php:1373 the-events-calendar.php:56
|
| 2647 |
msgid "The Events Calendar"
|
| 2648 |
msgstr ""
|
| 2649 |
|
| 2650 |
+
#: src/Tribe/Main.php:926
|
| 2651 |
msgid "month"
|
| 2652 |
msgstr ""
|
| 2653 |
|
| 2654 |
+
#: src/Tribe/Main.php:927
|
| 2655 |
msgid "list"
|
| 2656 |
msgstr ""
|
| 2657 |
|
| 2658 |
+
#: src/Tribe/Main.php:928
|
| 2659 |
msgid "upcoming"
|
| 2660 |
msgstr ""
|
| 2661 |
|
| 2662 |
+
#: src/Tribe/Main.php:929
|
| 2663 |
msgid "past"
|
| 2664 |
msgstr ""
|
| 2665 |
|
| 2666 |
+
#: src/Tribe/Main.php:930
|
| 2667 |
msgid "day"
|
| 2668 |
msgstr ""
|
| 2669 |
|
| 2670 |
+
#: src/Tribe/Main.php:931
|
| 2671 |
msgid "today"
|
| 2672 |
msgstr ""
|
| 2673 |
|
| 2674 |
+
#: src/Tribe/Main.php:932
|
| 2675 |
msgctxt "featured events slug"
|
| 2676 |
msgid "featured"
|
| 2677 |
msgstr ""
|
| 2678 |
|
| 2679 |
+
#: src/Tribe/Main.php:933
|
| 2680 |
msgctxt "all events slug"
|
| 2681 |
msgid "all"
|
| 2682 |
msgstr ""
|
| 2683 |
|
| 2684 |
+
#: src/Tribe/Main.php:957
|
| 2685 |
msgid "Initializing Tribe Events on %s"
|
| 2686 |
msgstr ""
|
| 2687 |
|
| 2688 |
+
#: src/Tribe/Main.php:1015 src/Tribe/Main.php:1017
|
| 2689 |
msgid "Welcome to The Events Calendar!"
|
| 2690 |
msgstr ""
|
| 2691 |
|
| 2692 |
+
#: src/Tribe/Main.php:1163
|
| 2693 |
msgid ""
|
| 2694 |
"The %3$s \"%1$s\" uses the \"/%2$s\" slug: the Events Calendar plugin will "
|
| 2695 |
"show its calendar in place of the page."
|
| 2696 |
msgstr ""
|
| 2697 |
|
| 2698 |
+
#: src/Tribe/Main.php:1166
|
| 2699 |
msgid "Ask the site administrator to edit the %s slug"
|
| 2700 |
msgstr ""
|
| 2701 |
|
| 2702 |
+
#: src/Tribe/Main.php:1168
|
| 2703 |
msgid "Edit the %s slug"
|
| 2704 |
msgstr ""
|
| 2705 |
|
| 2706 |
+
#: src/Tribe/Main.php:1172
|
| 2707 |
+
msgid " ask the site administrator to set a different Events URL slug."
|
| 2708 |
msgstr ""
|
| 2709 |
|
| 2710 |
+
#: src/Tribe/Main.php:1177
|
| 2711 |
msgid "edit Events settings."
|
| 2712 |
msgstr ""
|
| 2713 |
|
| 2714 |
+
#: src/Tribe/Main.php:1180
|
| 2715 |
msgid "%1$s or %2$s"
|
| 2716 |
msgstr ""
|
| 2717 |
|
| 2718 |
+
#: src/Tribe/Main.php:1249
|
| 2719 |
msgid "Upgrade your calendar views"
|
| 2720 |
msgstr ""
|
| 2721 |
|
| 2722 |
+
#: src/Tribe/Main.php:1285
|
| 2723 |
msgid "Upgrade"
|
| 2724 |
msgstr ""
|
| 2725 |
|
| 2726 |
+
#: src/Tribe/Main.php:1334 src/admin-views/admin-welcome-message.php:19
|
| 2727 |
msgid "New User Primer"
|
| 2728 |
msgstr ""
|
| 2729 |
|
| 2730 |
+
#: src/Tribe/Main.php:1336
|
| 2731 |
msgid ""
|
| 2732 |
"We are committed to helping make your calendar spectacular and have a wealth "
|
| 2733 |
"of resources available, including a handy %s to get your calendar up and "
|
| 2734 |
"running."
|
| 2735 |
msgstr ""
|
| 2736 |
|
| 2737 |
+
#: src/Tribe/Main.php:1347
|
| 2738 |
msgid "Support for The Events Calendar"
|
| 2739 |
msgstr ""
|
| 2740 |
|
| 2741 |
+
#: src/Tribe/Main.php:1350
|
| 2742 |
msgid ""
|
| 2743 |
"%s: A thorough walkthrough of The Events Calendar and the settings that are "
|
| 2744 |
"available to you."
|
| 2745 |
msgstr ""
|
| 2746 |
|
| 2747 |
+
#: src/Tribe/Main.php:1350
|
| 2748 |
msgid "Settings overview"
|
| 2749 |
msgstr ""
|
| 2750 |
|
| 2751 |
+
#: src/Tribe/Main.php:1352
|
| 2752 |
msgid ""
|
| 2753 |
"%s: A complete look at the features you can expect to see right out of the "
|
| 2754 |
"box as well as how to use them."
|
| 2755 |
msgstr ""
|
| 2756 |
|
| 2757 |
+
#: src/Tribe/Main.php:1352
|
| 2758 |
msgid "Features overview"
|
| 2759 |
msgstr ""
|
| 2760 |
|
| 2761 |
+
#: src/Tribe/Main.php:1354
|
| 2762 |
msgid ""
|
| 2763 |
"%s: Our most comprehensive outline for customizing the calendar to suit your "
|
| 2764 |
"needs, including custom layouts and styles."
|
| 2765 |
msgstr ""
|
| 2766 |
|
| 2767 |
+
#: src/Tribe/Main.php:1354
|
| 2768 |
msgid "Themer’s Guide"
|
| 2769 |
msgstr ""
|
| 2770 |
|
| 2771 |
+
#: src/Tribe/Main.php:1356
|
| 2772 |
msgid ""
|
| 2773 |
"%s: An overview of the default templates and styles that are included in the "
|
| 2774 |
"plugin, as well as how to change them."
|
| 2775 |
msgstr ""
|
| 2776 |
|
| 2777 |
+
#: src/Tribe/Main.php:1356
|
| 2778 |
msgid "Using stylesheets and page templates"
|
| 2779 |
msgstr ""
|
| 2780 |
|
| 2781 |
+
#: src/Tribe/Main.php:1358
|
| 2782 |
msgid ""
|
| 2783 |
"%s: Do you see an issue with your calendar? Go here first to find where it’s "
|
| 2784 |
"coming from and how to fix it."
|
| 2785 |
msgstr ""
|
| 2786 |
|
| 2787 |
+
#: src/Tribe/Main.php:1358
|
| 2788 |
msgid "Troubleshooting common problems"
|
| 2789 |
msgstr ""
|
| 2790 |
|
| 2791 |
+
#: src/Tribe/Main.php:1360
|
| 2792 |
msgid ""
|
| 2793 |
"%s: Code and guides for customizing your calendar in useful and interesting "
|
| 2794 |
"ways."
|
| 2795 |
msgstr ""
|
| 2796 |
|
| 2797 |
+
#: src/Tribe/Main.php:1360
|
| 2798 |
msgid "Customizing the Events plugins"
|
| 2799 |
msgstr ""
|
| 2800 |
|
| 2801 |
+
#: src/Tribe/Main.php:1375
|
| 2802 |
msgid "Events Tickets"
|
| 2803 |
msgstr ""
|
| 2804 |
|
| 2805 |
+
#: src/Tribe/Main.php:1376
|
| 2806 |
msgid ""
|
| 2807 |
"If you have tried the above steps and are still having trouble, you can post "
|
| 2808 |
"a new thread to our WordPress.org forums for %1$s or %2$s. Our support staff "
|
| 2809 |
"monitors these forums once a week and would be happy to assist you there. "
|
| 2810 |
msgstr ""
|
| 2811 |
|
| 2812 |
+
#: src/Tribe/Main.php:1378 src/Tribe/Main.php:1386
|
| 2813 |
msgid "premium support on our website"
|
| 2814 |
msgstr ""
|
| 2815 |
|
| 2816 |
+
#: src/Tribe/Main.php:1379
|
| 2817 |
msgid ""
|
| 2818 |
"<strong>Looking for more immediate support?</strong> We offer %s with the "
|
| 2819 |
"purchase of any of our premium plugins. Pick up a license and you can post "
|
| 2820 |
"there directly and expect a response within 24-48 hours during weekdays"
|
| 2821 |
msgstr ""
|
| 2822 |
|
| 2823 |
+
#: src/Tribe/Main.php:1383
|
| 2824 |
msgid "open-source forum on WordPress.org"
|
| 2825 |
msgstr ""
|
| 2826 |
|
| 2827 |
+
#: src/Tribe/Main.php:1384
|
| 2828 |
msgid ""
|
| 2829 |
"If you have tried the above steps and are still having trouble, you can post "
|
| 2830 |
"a new thread to our %s. Our support staff monitors these forums once a week "
|
| 2831 |
"and would be happy to assist you there."
|
| 2832 |
msgstr ""
|
| 2833 |
|
| 2834 |
+
#: src/Tribe/Main.php:1387
|
| 2835 |
msgid "Events Calendar PRO"
|
| 2836 |
msgstr ""
|
| 2837 |
|
| 2838 |
+
#: src/Tribe/Main.php:1388
|
| 2839 |
msgid ""
|
| 2840 |
"<strong>Looking for more immediate support?</strong> We offer %1$s with the "
|
| 2841 |
"purchase of any of our premium plugins (like %2$s). Pick up a license and "
|
| 2843 |
"weekdays."
|
| 2844 |
msgstr ""
|
| 2845 |
|
| 2846 |
+
#: src/Tribe/Main.php:1392
|
| 2847 |
msgid "post a thread"
|
| 2848 |
msgstr ""
|
| 2849 |
|
| 2850 |
+
#: src/Tribe/Main.php:1393
|
| 2851 |
msgid ""
|
| 2852 |
"If you have a valid license for one of our paid plugins, you can %s in our "
|
| 2853 |
"premium support forums. Our support team monitors the forums and will "
|
| 2854 |
"respond to your thread within 24-48 hours (during the week)."
|
| 2855 |
msgstr ""
|
| 2856 |
|
| 2857 |
+
#: src/Tribe/Main.php:1436
|
| 2858 |
#: src/deprecated/Tribe__Events__Importer__Admin_Page.php:207
|
| 2859 |
#: src/functions/template-tags/general.php:95
|
| 2860 |
msgid "Events"
|
| 2861 |
msgstr ""
|
| 2862 |
|
| 2863 |
+
#: src/Tribe/Main.php:1444 src/admin-views/aggregator/tabs/import-form.php:208
|
| 2864 |
#: src/admin-views/aggregator/tabs/import-form.php:220
|
| 2865 |
#: src/functions/template-tags/general.php:63
|
| 2866 |
msgid "Event"
|
| 2867 |
msgstr ""
|
| 2868 |
|
| 2869 |
+
#: src/Tribe/Main.php:1661
|
| 2870 |
msgid ""
|
| 2871 |
"Sorry, The Events Calendar requires WordPress %s or higher. Please upgrade "
|
| 2872 |
"your WordPress install."
|
| 2873 |
msgstr ""
|
| 2874 |
|
| 2875 |
+
#: src/Tribe/Main.php:1664
|
| 2876 |
msgid ""
|
| 2877 |
"Sorry, The Events Calendar requires PHP %s or higher. Talk to your Web host "
|
| 2878 |
"about moving you to a newer version of PHP."
|
| 2879 |
msgstr ""
|
| 2880 |
|
| 2881 |
+
#: src/Tribe/Main.php:1696
|
| 2882 |
msgid ""
|
| 2883 |
"To continue using The Events Calendar, please install the latest version of"
|
| 2884 |
msgstr ""
|
| 2885 |
|
| 2886 |
+
#: src/Tribe/Main.php:1698 src/Tribe/Main.php:1699
|
| 2887 |
msgid "Event Tickets"
|
| 2888 |
msgstr ""
|
| 2889 |
|
| 2890 |
+
#: src/Tribe/Main.php:1734
|
| 2891 |
msgid ""
|
| 2892 |
"It appears as if the tribe-common libraries cannot be found! The directory "
|
| 2893 |
"should be in the \"common/\" directory in the events calendar plugin."
|
| 2894 |
msgstr ""
|
| 2895 |
|
| 2896 |
+
#: src/Tribe/Main.php:1970 src/Tribe/Main.php:2429
|
| 2897 |
msgid "category"
|
| 2898 |
msgstr ""
|
| 2899 |
|
| 2900 |
+
#: src/Tribe/Main.php:1984 src/Tribe/Main.php:2428
|
| 2901 |
msgid "tag"
|
| 2902 |
msgstr ""
|
| 2903 |
|
| 2904 |
+
#: src/Tribe/Main.php:2017 src/Tribe/Organizer.php:91 src/Tribe/Venue.php:110
|
| 2905 |
msgid "Add New"
|
| 2906 |
msgstr ""
|
| 2907 |
|
| 2908 |
+
#: src/Tribe/Main.php:2018 src/Tribe/Main.php:2155 src/Tribe/Main.php:2156
|
| 2909 |
#: src/Tribe/Organizer.php:92 src/Tribe/Venue.php:111
|
| 2910 |
msgid "Add New %s"
|
| 2911 |
msgstr ""
|
| 2912 |
|
| 2913 |
+
#: src/Tribe/Main.php:2020 src/Tribe/Organizer.php:94 src/Tribe/Venue.php:113
|
| 2914 |
msgid "New %s"
|
| 2915 |
msgstr ""
|
| 2916 |
|
| 2917 |
+
#: src/Tribe/Main.php:2021 src/Tribe/Organizer.php:95 src/Tribe/Venue.php:114
|
| 2918 |
#: src/views/month/single-day.php:26
|
| 2919 |
msgid "View %s"
|
| 2920 |
msgstr ""
|
| 2921 |
|
| 2922 |
+
#: src/Tribe/Main.php:2022 src/Tribe/Organizer.php:96 src/Tribe/Venue.php:115
|
| 2923 |
msgid "Search %s"
|
| 2924 |
msgstr ""
|
| 2925 |
|
| 2926 |
+
#: src/Tribe/Main.php:2023 src/Tribe/Organizer.php:97 src/Tribe/Venue.php:116
|
| 2927 |
msgid "No %s found"
|
| 2928 |
msgstr ""
|
| 2929 |
|
| 2930 |
+
#: src/Tribe/Main.php:2024 src/Tribe/Organizer.php:98 src/Tribe/Venue.php:117
|
| 2931 |
msgid "No %s found in Trash"
|
| 2932 |
msgstr ""
|
| 2933 |
|
| 2934 |
+
#: src/Tribe/Main.php:2025 src/Tribe/Main.php:2112 src/Tribe/Main.php:2132
|
| 2935 |
#: src/Tribe/Organizer.php:99 src/Tribe/Venue.php:118
|
| 2936 |
msgid "%s published."
|
| 2937 |
msgstr ""
|
| 2938 |
|
| 2939 |
+
#: src/Tribe/Main.php:2026 src/Tribe/Organizer.php:100 src/Tribe/Venue.php:119
|
| 2940 |
msgid "%s published privately."
|
| 2941 |
msgstr ""
|
| 2942 |
|
| 2943 |
+
#: src/Tribe/Main.php:2027 src/Tribe/Organizer.php:101 src/Tribe/Venue.php:120
|
| 2944 |
msgid "%s reverted to draft."
|
| 2945 |
msgstr ""
|
| 2946 |
|
| 2947 |
+
#: src/Tribe/Main.php:2028 src/Tribe/Organizer.php:102 src/Tribe/Venue.php:121
|
| 2948 |
msgid "%s scheduled."
|
| 2949 |
msgstr ""
|
| 2950 |
|
| 2951 |
+
#: src/Tribe/Main.php:2029 src/Tribe/Main.php:2071 src/Tribe/Main.php:2106
|
| 2952 |
+
#: src/Tribe/Main.php:2109 src/Tribe/Main.php:2126 src/Tribe/Main.php:2129
|
| 2953 |
#: src/Tribe/Organizer.php:103 src/Tribe/Venue.php:122
|
| 2954 |
msgid "%s updated."
|
| 2955 |
msgstr ""
|
| 2956 |
|
| 2957 |
+
#: src/Tribe/Main.php:2039
|
| 2958 |
msgid "%s Category"
|
| 2959 |
msgstr ""
|
| 2960 |
|
| 2961 |
+
#: src/Tribe/Main.php:2040
|
| 2962 |
msgid "Search %s Categories"
|
| 2963 |
msgstr ""
|
| 2964 |
|
| 2965 |
+
#: src/Tribe/Main.php:2041
|
| 2966 |
msgid "All %s Categories"
|
| 2967 |
msgstr ""
|
| 2968 |
|
| 2969 |
+
#: src/Tribe/Main.php:2042
|
| 2970 |
msgid "Parent %s Category"
|
| 2971 |
msgstr ""
|
| 2972 |
|
| 2973 |
+
#: src/Tribe/Main.php:2043
|
| 2974 |
msgid "Parent %s Category:"
|
| 2975 |
msgstr ""
|
| 2976 |
|
| 2977 |
+
#: src/Tribe/Main.php:2044
|
| 2978 |
msgid "Edit %s Category"
|
| 2979 |
msgstr ""
|
| 2980 |
|
| 2981 |
+
#: src/Tribe/Main.php:2045
|
| 2982 |
msgid "Update %s Category"
|
| 2983 |
msgstr ""
|
| 2984 |
|
| 2985 |
+
#: src/Tribe/Main.php:2046
|
| 2986 |
msgid "Add New %s Category"
|
| 2987 |
msgstr ""
|
| 2988 |
|
| 2989 |
+
#: src/Tribe/Main.php:2047
|
| 2990 |
msgid "New %s Category Name"
|
| 2991 |
msgstr ""
|
| 2992 |
|
| 2993 |
+
#: src/Tribe/Main.php:2064
|
| 2994 |
msgid "%1$s updated. %2$sView %1$s%3$s"
|
| 2995 |
msgstr ""
|
| 2996 |
|
| 2997 |
+
#: src/Tribe/Main.php:2069 src/Tribe/Main.php:2107 src/Tribe/Main.php:2127
|
| 2998 |
msgid "Custom field updated."
|
| 2999 |
msgstr ""
|
| 3000 |
|
| 3001 |
+
#: src/Tribe/Main.php:2070 src/Tribe/Main.php:2108 src/Tribe/Main.php:2128
|
| 3002 |
msgid "Custom field deleted."
|
| 3003 |
msgstr ""
|
| 3004 |
|
| 3005 |
#. translators: %s: date and time of the revision
|
| 3006 |
+
#: src/Tribe/Main.php:2073 src/Tribe/Main.php:2111
|
| 3007 |
msgid "%1$s restored to revision from %2$s"
|
| 3008 |
msgstr ""
|
| 3009 |
|
| 3010 |
+
#: src/Tribe/Main.php:2075
|
| 3011 |
msgid "%1$s published. %2$sView %3$s"
|
| 3012 |
msgstr ""
|
| 3013 |
|
| 3014 |
+
#: src/Tribe/Main.php:2080 src/Tribe/Main.php:2113 src/Tribe/Main.php:2133
|
| 3015 |
msgid "%s saved."
|
| 3016 |
msgstr ""
|
| 3017 |
|
| 3018 |
+
#: src/Tribe/Main.php:2082
|
| 3019 |
msgid "%1$s submitted. %2$sPreview %3$s"
|
| 3020 |
msgstr ""
|
| 3021 |
|
| 3022 |
+
#: src/Tribe/Main.php:2088
|
| 3023 |
msgid "%1$s scheduled for: %2$s. %3$sPreview %4$s"
|
| 3024 |
msgstr ""
|
| 3025 |
|
| 3026 |
#. translators: Publish box date format, see http://php.net/date
|
| 3027 |
+
#: src/Tribe/Main.php:2091 src/Tribe/Main.php:2119 src/Tribe/Main.php:2139
|
| 3028 |
msgid "M j, Y @ G:i"
|
| 3029 |
msgstr ""
|
| 3030 |
|
| 3031 |
+
#: src/Tribe/Main.php:2097
|
| 3032 |
msgid "%1$s draft updated. %2$sPreview %3$s"
|
| 3033 |
msgstr ""
|
| 3034 |
|
| 3035 |
+
#: src/Tribe/Main.php:2114 src/Tribe/Main.php:2134
|
| 3036 |
msgid "%s submitted."
|
| 3037 |
msgstr ""
|
| 3038 |
|
| 3039 |
+
#: src/Tribe/Main.php:2116 src/Tribe/Main.php:2136
|
| 3040 |
msgid "%1$s scheduled for: %2$s."
|
| 3041 |
msgstr ""
|
| 3042 |
|
| 3043 |
+
#: src/Tribe/Main.php:2121 src/Tribe/Main.php:2141
|
| 3044 |
msgid "%s draft updated."
|
| 3045 |
msgstr ""
|
| 3046 |
|
| 3047 |
#. translators: %s: date and time of the revision
|
| 3048 |
+
#: src/Tribe/Main.php:2131
|
| 3049 |
msgid "%s restored to revision from %s"
|
| 3050 |
msgstr ""
|
| 3051 |
|
| 3052 |
+
#: src/Tribe/Main.php:2185
|
| 3053 |
msgid ""
|
| 3054 |
"Without a defined location your event will not display a %sGoogle Rich "
|
| 3055 |
"Snippet%s on the search results."
|
| 3056 |
msgstr ""
|
| 3057 |
|
| 3058 |
+
#: src/Tribe/Main.php:2430
|
| 3059 |
msgid "page"
|
| 3060 |
msgstr ""
|
| 3061 |
|
| 3062 |
+
#: src/Tribe/Main.php:2431 src/functions/template-tags/general.php:79
|
| 3063 |
msgid "event"
|
| 3064 |
msgstr ""
|
| 3065 |
|
| 3066 |
+
#: src/Tribe/Main.php:2432 src/functions/template-tags/general.php:111
|
| 3067 |
msgid "events"
|
| 3068 |
msgstr ""
|
| 3069 |
|
| 3070 |
+
#: src/Tribe/Main.php:2433
|
| 3071 |
msgid "all"
|
| 3072 |
msgstr ""
|
| 3073 |
|
| 3074 |
+
#: src/Tribe/Main.php:2824
|
| 3075 |
msgid " (View Full %1$s Description Here: %2$s)"
|
| 3076 |
msgstr ""
|
| 3077 |
|
| 3078 |
+
#: src/Tribe/Main.php:3640 src/Tribe/Main.php:3675
|
| 3079 |
#: src/functions/template-tags/day.php:157
|
| 3080 |
#: src/functions/template-tags/day.php:178
|
| 3081 |
msgid "Date out of range."
|
| 3082 |
msgstr ""
|
| 3083 |
|
| 3084 |
+
#: src/Tribe/Main.php:3717
|
| 3085 |
msgid "%s Options"
|
| 3086 |
msgstr ""
|
| 3087 |
|
| 3088 |
+
#: src/Tribe/Main.php:3726 src/Tribe/Main.php:3739
|
| 3089 |
msgid "%s Information"
|
| 3090 |
msgstr ""
|
| 3091 |
|
| 3092 |
+
#: src/Tribe/Main.php:4068
|
| 3093 |
msgid "Support"
|
| 3094 |
msgstr ""
|
| 3095 |
|
| 3096 |
+
#: src/Tribe/Main.php:4071
|
| 3097 |
msgid "View All Add-Ons"
|
| 3098 |
msgstr ""
|
| 3099 |
|
| 3100 |
+
#: src/Tribe/Main.php:4091
|
| 3101 |
msgid "News from Modern Tribe"
|
| 3102 |
msgstr ""
|
| 3103 |
|
| 3104 |
+
#: src/Tribe/Main.php:4136
|
| 3105 |
msgid "Additional Functionality"
|
| 3106 |
msgstr ""
|
| 3107 |
|
| 3108 |
+
#: src/Tribe/Main.php:4141
|
| 3109 |
msgid ""
|
| 3110 |
"Looking for additional functionality including recurring events, ticket "
|
| 3111 |
"sales, publicly submitted events, new views and more?"
|
| 3112 |
msgstr ""
|
| 3113 |
|
| 3114 |
+
#: src/Tribe/Main.php:4142
|
| 3115 |
msgid "Check out the %savailable add-ons%s."
|
| 3116 |
msgstr ""
|
| 3117 |
|
| 3118 |
+
#: src/Tribe/Main.php:4243
|
| 3119 |
msgid "Calendar"
|
| 3120 |
msgstr ""
|
| 3121 |
|
| 3122 |
+
#: src/Tribe/Main.php:4259
|
| 3123 |
msgid "List"
|
| 3124 |
msgstr ""
|
| 3125 |
|
| 3126 |
+
#: src/Tribe/Main.php:4277
|
| 3127 |
msgid "Month"
|
| 3128 |
msgstr ""
|
| 3129 |
|
| 3130 |
+
#: src/Tribe/Main.php:4294 src/admin-views/aggregator/fields/schedule.php:44
|
| 3131 |
#: src/admin-views/aggregator/fields/schedule.php:62
|
| 3132 |
msgid "Day"
|
| 3133 |
msgstr ""
|
| 3134 |
|
| 3135 |
+
#: src/Tribe/Main.php:4317
|
| 3136 |
msgid "Search for %s by Keyword."
|
| 3137 |
msgstr ""
|
| 3138 |
|
| 3139 |
+
#: src/Tribe/Main.php:4320
|
| 3140 |
#: src/views/v2/components/events-bar/search-button.php:25
|
| 3141 |
msgid "Search"
|
| 3142 |
msgstr ""
|
| 3143 |
|
| 3144 |
+
#: src/Tribe/Main.php:4321
|
| 3145 |
msgid "Keyword"
|
| 3146 |
msgstr ""
|
| 3147 |
|
| 3148 |
+
#: src/Tribe/Main.php:4338
|
| 3149 |
msgid "4 digit year hyphen 2 digit month hyphen 2 digit day"
|
| 3150 |
msgstr ""
|
| 3151 |
|
| 3152 |
+
#: src/Tribe/Main.php:4339
|
| 3153 |
msgid "1 digit month slash 1 digit day slash 4 digit year"
|
| 3154 |
msgstr ""
|
| 3155 |
|
| 3156 |
+
#: src/Tribe/Main.php:4340
|
| 3157 |
msgid "2 digit month slash 2 digit day slash 4 digit year"
|
| 3158 |
msgstr ""
|
| 3159 |
|
| 3160 |
+
#: src/Tribe/Main.php:4341
|
| 3161 |
msgid "1 digit day slash 1 digit month slash 4 digit year"
|
| 3162 |
msgstr ""
|
| 3163 |
|
| 3164 |
+
#: src/Tribe/Main.php:4342
|
| 3165 |
msgid "2 digit day slash 2 digit month slash 4 digit year"
|
| 3166 |
msgstr ""
|
| 3167 |
|
| 3168 |
+
#: src/Tribe/Main.php:4343
|
| 3169 |
msgid "1 digit month hyphen 1 digit day hyphen 4 digit year"
|
| 3170 |
msgstr ""
|
| 3171 |
|
| 3172 |
+
#: src/Tribe/Main.php:4344
|
| 3173 |
msgid "1 digit month hyphen 2 digit day hyphen 4 digit year"
|
| 3174 |
msgstr ""
|
| 3175 |
|
| 3176 |
+
#: src/Tribe/Main.php:4345
|
| 3177 |
msgid "1 digit day hyphen 1 digit month hyphen 4 digit year"
|
| 3178 |
msgstr ""
|
| 3179 |
|
| 3180 |
+
#: src/Tribe/Main.php:4346
|
| 3181 |
msgid "2 digit day hyphen 2 digit month hyphen 4 digit year"
|
| 3182 |
msgstr ""
|
| 3183 |
|
| 3184 |
+
#: src/Tribe/Main.php:4347
|
| 3185 |
msgid "4 digit year dot 2 digit month dot 2 digit day"
|
| 3186 |
msgstr ""
|
| 3187 |
|
| 3188 |
+
#: src/Tribe/Main.php:4348
|
| 3189 |
msgid "2 digit month dot 2 digit day dot 4 digit year"
|
| 3190 |
msgstr ""
|
| 3191 |
|
| 3192 |
+
#: src/Tribe/Main.php:4349
|
| 3193 |
msgid "2 digit day dot 2 digit month dot 4 digit year"
|
| 3194 |
msgstr ""
|
| 3195 |
|
| 3196 |
+
#: src/Tribe/Main.php:4353
|
| 3197 |
msgid "4 digit year hyphen 2 digit month"
|
| 3198 |
msgstr ""
|
| 3199 |
|
| 3200 |
+
#: src/Tribe/Main.php:4354 src/Tribe/Main.php:4356
|
| 3201 |
msgid "1 digit month slash 4 digit year"
|
| 3202 |
msgstr ""
|
| 3203 |
|
| 3204 |
+
#: src/Tribe/Main.php:4355 src/Tribe/Main.php:4357
|
| 3205 |
msgid "2 digit month slash 4 digit year"
|
| 3206 |
msgstr ""
|
| 3207 |
|
| 3208 |
+
#: src/Tribe/Main.php:4358 src/Tribe/Main.php:4359 src/Tribe/Main.php:4360
|
| 3209 |
msgid "1 digit month hyphen 4 digit year"
|
| 3210 |
msgstr ""
|
| 3211 |
|
| 3212 |
+
#: src/Tribe/Main.php:4361
|
| 3213 |
msgid "2 digit month hyphen 4 digit year"
|
| 3214 |
msgstr ""
|
| 3215 |
|
| 3216 |
+
#: src/Tribe/Main.php:4362
|
| 3217 |
msgid "4 digit year dot 2 digit month"
|
| 3218 |
msgstr ""
|
| 3219 |
|
| 3220 |
+
#: src/Tribe/Main.php:4363 src/Tribe/Main.php:4364
|
| 3221 |
msgid "2 digit month dot 4 digit year"
|
| 3222 |
msgstr ""
|
| 3223 |
|
| 3224 |
+
#: src/Tribe/Main.php:4393 src/Tribe/Main.php:4430
|
| 3225 |
#: src/admin-views/aggregator/origins/refine.php:7
|
| 3226 |
msgid "Date"
|
| 3227 |
msgstr ""
|
| 3228 |
|
| 3229 |
+
#: src/Tribe/Main.php:4395
|
| 3230 |
msgid "Search for %s by Date. Please use the format %s."
|
| 3231 |
msgstr ""
|
| 3232 |
|
| 3233 |
+
#: src/Tribe/Main.php:4408
|
| 3234 |
msgid "%s In"
|
| 3235 |
msgstr ""
|
| 3236 |
|
| 3237 |
+
#: src/Tribe/Main.php:4410
|
| 3238 |
msgid "Search for %s by month. Please use the format %s."
|
| 3239 |
msgstr ""
|
| 3240 |
|
| 3241 |
+
#: src/Tribe/Main.php:4413
|
| 3242 |
msgid "%s From"
|
| 3243 |
msgstr ""
|
| 3244 |
|
| 3245 |
+
#: src/Tribe/Main.php:4416
|
| 3246 |
msgid "Day Of"
|
| 3247 |
msgstr ""
|
| 3248 |
|
| 3249 |
+
#: src/Tribe/Main.php:4496
|
| 3250 |
msgid "Once Every 30 Mins"
|
| 3251 |
msgstr ""
|
| 3252 |
|
| 3253 |
+
#: src/Tribe/Main.php:5223
|
| 3254 |
msgid ""
|
| 3255 |
"Your version of The Events Calendar is not up-to-date with one of your The "
|
| 3256 |
"Events Calendar add-ons. Please %supdate now.%s"
|
| 3257 |
msgstr ""
|
| 3258 |
|
| 3259 |
+
#: src/Tribe/Main.php:5235
|
| 3260 |
msgid ""
|
| 3261 |
"The following plugins are out of date: %1$s. All add-ons contain "
|
| 3262 |
"dependencies on The Events Calendar and will not function properly unless "
|
| 3263 |
"paired with the right version. %2$sLearn More%3$s."
|
| 3264 |
msgstr ""
|
| 3265 |
|
| 3266 |
+
#: src/Tribe/Main.php:5274 src/Tribe/Main.php:5331
|
| 3267 |
msgid "Use Saved %s:"
|
| 3268 |
msgstr ""
|
| 3269 |
|
| 4612 |
msgid "No previous %s "
|
| 4613 |
msgstr ""
|
| 4614 |
|
| 4615 |
+
#. translators: %s: Protected post title.
|
| 4616 |
+
#: src/Tribe/Template_Factory.php:600 src/Tribe/Views/V2/Template/Event.php:133
|
| 4617 |
+
msgid "Protected: %s"
|
| 4618 |
+
msgstr ""
|
| 4619 |
+
|
| 4620 |
#: src/Tribe/Templates.php:625
|
| 4621 |
msgid "Template overrides should be moved to the correct subdirectory: %s"
|
| 4622 |
msgstr ""
|
| 4678 |
msgid "Unnamed Venue"
|
| 4679 |
msgstr ""
|
| 4680 |
|
| 4681 |
+
#: src/Tribe/Views/V2/Hooks.php:395
|
| 4682 |
msgid "We recommend a 16:9 aspect ratio for featured images."
|
| 4683 |
msgstr ""
|
| 4684 |
|
| 4685 |
+
#: src/Tribe/Views/V2/Hooks.php:457
|
| 4686 |
msgid "Recommended for all sites using the updated calendar views."
|
| 4687 |
msgstr ""
|
| 4688 |
|
| 4689 |
+
#: src/Tribe/Views/V2/Hooks.php:472
|
| 4690 |
msgid "The Events Calendar - View V2"
|
| 4691 |
msgstr ""
|
| 4692 |
|
| 4743 |
msgid "%1$s for %2$s"
|
| 4744 |
msgstr ""
|
| 4745 |
|
| 4746 |
+
#: src/Tribe/Views/V2/View.php:1801 src/views/v2/day/event/date.php:27
|
| 4747 |
#: src/views/v2/day/event/date.php:28 src/views/v2/day/event/date.php:32
|
| 4748 |
#: src/views/v2/list/event/date.php:27 src/views/v2/list/event/date.php:28
|
| 4749 |
#: src/views/v2/list/event/date.php:32
|
| 4751 |
#: src/views/v2/month/calendar-body/day/calendar-events/calendar-event/date.php:28
|
| 4752 |
#: src/views/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/date.php:26
|
| 4753 |
#: src/views/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/date.php:27
|
| 4754 |
+
#: src/views/v2/month/calendar-body/day/multiday-events/multiday-event.php:91
|
| 4755 |
+
#: src/views/v2/month/calendar-body/day/multiday-events/multiday-event.php:92
|
|
|
|
| 4756 |
#: src/views/v2/month/calendar-body/day/multiday-events/multiday-event.php:109
|
| 4757 |
+
#: src/views/v2/month/calendar-body/day/multiday-events/multiday-event.php:110
|
| 4758 |
#: src/views/v2/month/mobile-events/mobile-day/mobile-event/date.php:27
|
| 4759 |
#: src/views/v2/month/mobile-events/mobile-day/mobile-event/date.php:28
|
| 4760 |
#: src/views/v2/month/mobile-events/mobile-day/mobile-event/date.php:32
|
| 4761 |
msgid "Featured"
|
| 4762 |
msgstr ""
|
| 4763 |
|
| 4764 |
+
#: src/Tribe/Views/V2/View.php:1886 src/Tribe/iCal.php:162
|
| 4765 |
msgid "Export Events"
|
| 4766 |
msgstr ""
|
| 4767 |
|
| 4768 |
+
#: src/Tribe/Views/V2/View.php:1888 src/Tribe/iCal.php:163
|
| 4769 |
msgid ""
|
| 4770 |
"Use this to share calendar data with Google Calendar, Apple iCal and other "
|
| 4771 |
"compatible apps"
|
| 4772 |
msgstr ""
|
| 4773 |
|
| 4774 |
+
#: src/Tribe/Views/V2/Views/Traits/List_Behavior.php:49
|
| 4775 |
msgctxt "The datepicker label when the range start is now."
|
| 4776 |
msgid "Now"
|
| 4777 |
msgstr ""
|
| 4778 |
|
| 4779 |
#. translators: the placeholder is for the date range start, e.g. "Now" or
|
| 4780 |
#. "October 23".
|
| 4781 |
+
#: src/Tribe/Views/V2/Views/Traits/List_Behavior.php:152
|
| 4782 |
msgctxt "The datepicker range definition when no events are found."
|
| 4783 |
msgid "%s onwards"
|
| 4784 |
msgstr ""
|
| 4785 |
|
| 4786 |
+
#. translators: the placeholder is for the date range start, e.g. "Now" or
|
| 4787 |
+
#. "1/1/2020".
|
| 4788 |
+
#: src/Tribe/Views/V2/Views/Traits/List_Behavior.php:158
|
| 4789 |
+
msgctxt ""
|
| 4790 |
+
"The datepicker range definition when no events are found (for mobile)."
|
| 4791 |
+
msgid "%s onwards"
|
| 4792 |
+
msgstr ""
|
| 4793 |
+
|
| 4794 |
#: src/Tribe/iCal.php:53
|
| 4795 |
msgctxt "feed link"
|
| 4796 |
msgid "»"
|
| 7232 |
msgid "Loading %s"
|
| 7233 |
msgstr ""
|
| 7234 |
|
| 7235 |
+
#: src/functions/template-tags/general.php:1251
|
| 7236 |
msgid "Find out more »"
|
| 7237 |
msgstr ""
|
| 7238 |
|
| 7239 |
+
#: src/functions/template-tags/general.php:1252
|
| 7240 |
msgid "%s for"
|
| 7241 |
msgstr ""
|
| 7242 |
|
| 7243 |
+
#: src/functions/template-tags/general.php:1373
|
| 7244 |
msgid "Calendar powered by %s"
|
| 7245 |
msgstr ""
|
| 7246 |
|
| 7342 |
msgid "Find %s"
|
| 7343 |
msgstr ""
|
| 7344 |
|
| 7345 |
+
#: src/views/modules/bar.php:86 src/views/v2/components/events-bar/views.php:29
|
| 7346 |
msgid "%s Views Navigation"
|
| 7347 |
msgstr ""
|
| 7348 |
|
| 7420 |
msgid "Previous"
|
| 7421 |
msgstr ""
|
| 7422 |
|
| 7423 |
+
#: src/views/v2/day/top-bar/datepicker.php:63
|
| 7424 |
+
#: src/views/v2/list/top-bar/datepicker.php:85
|
| 7425 |
+
#: src/views/v2/month/top-bar/datepicker.php:62
|
| 7426 |
msgid "Select date."
|
| 7427 |
msgstr ""
|
| 7428 |
|
| 7429 |
+
#: src/views/v2/day.php:40 src/views/v2/list.php:39 src/views/v2/month.php:38
|
| 7430 |
msgid "Loading..."
|
| 7431 |
msgstr ""
|
| 7432 |
|
| 7433 |
#. translators: %s: Event (plural or singular).
|
| 7434 |
+
#: src/views/v2/list/nav/next-disabled.php:23 src/views/v2/list/nav/next.php:30
|
| 7435 |
msgid "Next %1$s"
|
| 7436 |
msgstr ""
|
| 7437 |
|
| 7438 |
#. translators: %s: Event (plural or singular).
|
| 7439 |
+
#: src/views/v2/list/nav/prev-disabled.php:23 src/views/v2/list/nav/prev.php:30
|
| 7440 |
msgid "Previous %1$s"
|
| 7441 |
msgstr ""
|
| 7442 |
|
readme.txt
CHANGED
|
@@ -3,9 +3,9 @@
|
|
| 3 |
Contributors: ModernTribe, borkweb, barry.hughes, bordoni, brianjessee, aguseo, cliffpaulick, courane01, faction23, GeoffBel, geoffgraham, ggwicz, jbrinley, jentheo, leahkoerper, lucatume, mastromktg, MZAWeb, neillmcshea, nicosantos, patriciahillebrandt, peterchester, reid.peifer, roblagatta, ryancurban, shane.pearlman, tribecari, vicskf, zbtirrell, juanfra
|
| 4 |
Tags: events, calendar, event, venue, organizer, dates, date, google maps, conference, workshop, concert, meeting, seminar, summit, class, modern tribe, tribe, widget
|
| 5 |
Donate link: http://m.tri.be/29
|
| 6 |
-
Requires at least: 4.
|
| 7 |
-
Stable tag:
|
| 8 |
-
Tested up to: 5.3
|
| 9 |
Requires PHP: 5.6
|
| 10 |
License: GPLv2 or later
|
| 11 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
|
@@ -94,17 +94,14 @@ That's it! Just configure your settings as you see fit, and you're on your way t
|
|
| 94 |
== Screenshots ==
|
| 95 |
|
| 96 |
1. Month View with hover
|
| 97 |
-
2.
|
| 98 |
-
3.
|
| 99 |
-
4.
|
| 100 |
-
5.
|
| 101 |
-
6.
|
| 102 |
-
7.
|
| 103 |
-
8.
|
| 104 |
-
9.
|
| 105 |
-
10. Events List Widget
|
| 106 |
-
11. Mobile Month View
|
| 107 |
-
12. CSV Importer
|
| 108 |
|
| 109 |
== Frequently Asked Questions ==
|
| 110 |
|
|
@@ -215,6 +212,34 @@ Still not happy? Shoot us an email to support@theeventscalendar.com or tweet to
|
|
| 215 |
|
| 216 |
== Changelog ==
|
| 217 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 218 |
= [4.9.14] 2020-01-15 =
|
| 219 |
|
| 220 |
* Feature - Add Repository filter `where_meta_related_by_meta` for getting a post by the meta value an associated post. [133333]
|
| 3 |
Contributors: ModernTribe, borkweb, barry.hughes, bordoni, brianjessee, aguseo, cliffpaulick, courane01, faction23, GeoffBel, geoffgraham, ggwicz, jbrinley, jentheo, leahkoerper, lucatume, mastromktg, MZAWeb, neillmcshea, nicosantos, patriciahillebrandt, peterchester, reid.peifer, roblagatta, ryancurban, shane.pearlman, tribecari, vicskf, zbtirrell, juanfra
|
| 4 |
Tags: events, calendar, event, venue, organizer, dates, date, google maps, conference, workshop, concert, meeting, seminar, summit, class, modern tribe, tribe, widget
|
| 5 |
Donate link: http://m.tri.be/29
|
| 6 |
+
Requires at least: 4.9
|
| 7 |
+
Stable tag: 5.0.0
|
| 8 |
+
Tested up to: 5.3.2
|
| 9 |
Requires PHP: 5.6
|
| 10 |
License: GPLv2 or later
|
| 11 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 94 |
== Screenshots ==
|
| 95 |
|
| 96 |
1. Month View with hover
|
| 97 |
+
2. Mobile Views
|
| 98 |
+
3. Single event
|
| 99 |
+
4. List View
|
| 100 |
+
5. Event Editor
|
| 101 |
+
6. Events admin listing
|
| 102 |
+
7. General Settings
|
| 103 |
+
8. Display Settings
|
| 104 |
+
9. CSV Importer
|
|
|
|
|
|
|
|
|
|
| 105 |
|
| 106 |
== Frequently Asked Questions ==
|
| 107 |
|
| 212 |
|
| 213 |
== Changelog ==
|
| 214 |
|
| 215 |
+
= [5.0.0] 2020-01-27 =
|
| 216 |
+
|
| 217 |
+
* Feature - Created new Month, Day, and List views with all new HTML, CSS, and JavaScript.
|
| 218 |
+
* Feature - Add upgrade path for new Month, Day, and List views making it opt-in for any existing users.
|
| 219 |
+
* Feature - New templating engine to power the new Views. [See More](http://m.tri.be/1aid)
|
| 220 |
+
* Feature - Views initialization and instance includes more filters and actions to allow improved extensibility and customization. (See all filters below)
|
| 221 |
+
* Feature - Views manager and bootstraping classes were created to allow more control over where and when views will be initialized. (See filters related to those below)
|
| 222 |
+
* Feature - Reduced maintenance burden of customizations by leveraging atomic templates for the new views. (See list of files now available below)
|
| 223 |
+
* Feature - CSS uses a Block Element Modifier (BEM) methodology to improve reusablility of components. [See More](http://m.tri.be/1aib)
|
| 224 |
+
* Feature - New Views share one JavaScript Manager, which contains multiple jQuery actions and customization points.
|
| 225 |
+
* Feature - View navigation relies on the WP Rest API, improving reliability and caching opportunities.
|
| 226 |
+
* Feature - Event permalinks are now more consistent across navigation using `WP_Rewrite` to map params to their matching URL, which improves SEO.
|
| 227 |
+
* Feature - Event data filtering used across all new views: `tribe_get_event_before`, `tribe_get_event`, `tribe_get_event_after`, `tribe_events_organizers_fetch_callback`, `tribe_events_venues_fetch_callback`
|
| 228 |
+
* Feature - Venue data filtering used across all new views: `tribe_get_venue_object_before`, `tribe_get_venue_object`
|
| 229 |
+
* Tweak - Custom Before and After HTML on the Events > Settings page will now prefer event view styling over the Theme's CSS.
|
| 230 |
+
* Tweak - Lowered the reliance on the global `$wp_query` to create more consistent output and faster maintenance. [See More](http://m.tri.be/1aic)
|
| 231 |
+
* Tweak - View overrides for the new views will look within a new folder in your theme to avoid conflicting with old The Events Calendar theme customizations [See More](http://m.tri.be/1aia)
|
| 232 |
+
* Tweak - Switch to a compact date while on day and month view in mobile [136789]
|
| 233 |
+
* Tweak - Remove `tribe_events_getLink` in favor of `tribe_events_get_link` which was a deprecated filter since version 4.3
|
| 234 |
+
* Hooks - View template include and render filters and actions: `tribe_template_before_include`, `tribe_template_before_include:{$template_path}`, `tribe_template_after_include`, `tribe_template_after_include:{$template_path}`, `tribe_template_html`, `tribe_template_html:{$template_path}`
|
| 235 |
+
* Hooks - View instance filters and actions: `tribe_events_views_v2_view_template`, `tribe_events_views_v2_{$view_slug}_view_template`, `tribe_events_views_v2_view_context`, `tribe_events_views_v2_{$view_slug}_view_context`, `tribe_events_views_v2_view_repository`, `tribe_events_views_v2_{$view_slug}_view_repository`, `tribe_events_views_v2_view_url_query_args`, `tribe_events_views_v2_{$view_slug}_view_url_query_args`, `tribe_events_views_v2_view_html_classes`, `tribe_events_views_v2_{$view_slug}_view_html_classes`, `tribe_events_views_v2_url_query_args`, `tribe_events_views_v2_view_template_vars`, `tribe_events_views_v2_view_{$view_slug}_template_vars`, `tribe_events_views_v2_view_url`, `tribe_events_views_v2_view_{$view_slug}_url`, `tribe_events_views_v2_view_prev_url`, `tribe_events_views_v2_view_{$view_slug}_prev_url`, `tribe_events_views_v2_view_next_url`, `tribe_events_views_v2_view_{$view_slug}_next_url`, `tribe_events_views_v2_view_repository_args`, `tribe_events_views_v2_view_link_label_format`, `tribe_events_views_v2_view_{$view_slug}_link_label_format`, `tribe_events_views_v2_view_title`, `tribe_events_views_v2_view_{$view_slug}_title`, `tribe_events_views_v2_view_messages`, `tribe_events_views_v2_view_{$view_slug}_messages`, `tribe_events_views_v2_view_breadcrumbs`, `tribe_events_views_v2_view_{$view_slug}_breadcrumbs`, `tribe_events_views_v2_view_display_events_bar`, `tribe_events_views_v2_view_{$view_slug}_display_events_bar`, `tribe_events_views_v2_view_ical_data`, `tribe_events_views_v2_view_{$view_slug}_ical_data`, `tribe_events_views_v2_view_show_datepicker_submit`, `tribe_events_views_v2_view_{$view_slug}_show_datepicker_submit`, `tribe_events_views_v2_view_public_views`, `tribe_events_views_v2_view_{$view_slug}_public_views`, `tribe_events_views_v2_view_data`, `tribe_events_views_v2_{$view_slug}_view_data`, `tribe_events_views_v2_{$view_slug}_events_per_day`, `tribe_events_views_v2_month_events_per_day`, `tribe_events_views_v2_month_nav_skip_empty`, `tribe_events_views_v2_view_breakpoints`, `tribe_events_views_v2_view_{$view_slug}_breakpoints`, `tribe_events_views_v2_before_make_view`, `tribe_events_views_v2_after_make_view`, `tribe_events_views_v2_messages_map`, `tribe_events_views_v2_view_messages_before_render`
|
| 236 |
+
* Hooks - View REST API HTML request actions and filters: `tribe_events_views_v2_request_arguments`, `tribe_events_views_v2_rest_endpoint_available`, `tribe_events_views_v2_rest_params`, `tribe_events_views_v2_{$view_slug}_rest_params`
|
| 237 |
+
* Hooks - Views Bootstrap filters and actions: `tribe_events_views_v2_bootstrap_pre_get_view_html`, `tribe_events_views_v2_bootstrap_should_display_single`, `tribe_events_views_v2_bootstrap_view_slug`, `tribe_events_views_v2_bootstrap_pre_should_load`, `tribe_events_views_v2_should_hijack_page_template`
|
| 238 |
+
* Hooks - Views Manager filters and actions: `tribe_events_views`, `tribe_events_views_v2_manager_default_view`, `tribe_events_views_v2_manager_view_label_domain`, `tribe_events_views_v2_manager_{$view_slug}_view_label_domain`, `tribe_events_views_v2_manager_view_label`, `tribe_events_views_v2_manager_{$view_slug}_view_label`
|
| 239 |
+
* Hooks - Other views filters and actions: `tribe_events_views_v2_is_enabled`, `tribe_events_views_v2_assets_should_enqueue_frontend`, `tribe_events_views_v2_assets_should_enqueue_full_styles`, `tribe_events_v2_view_title`, `tribe_events_views_v2_should_replace_excerpt_more_link`, `tribe_events_views_v2_view_before_events_html`, `tribe_events_views_v2_view_after_events_html`, `tribe_events_views_v2_month_title`, `tribe_events_views_v2_day_title`, `tribe_events_views_v2_category_title`, `tribe_events_views_v2_theme_compatibility_registered`, `tribe_events_views_v2_stack_spacer`, `tribe_events_views_v2_stack_recycle_spaces`, `tribe_events_views_v2_stack_events`, `tribe_events_views_v2_stack_filter_event`, `tribe_events_views_v2_stack_normalize`
|
| 240 |
+
* Templates - Views refactored template files: `v2/base`, `v2/components/after`, `v2/components/before`, `v2/components/breadcrumbs`, `v2/components/breadcrumbs/breadcrumb`, `v2/components/breadcrumbs/linked-breadcrumb`, `v2/components/breakpoints`, `v2/components/data`, `v2/components/events-bar`, `v2/components/events-bar/filters`, `v2/components/events-bar/search-button`, `v2/components/events-bar/search-button/icon`, `v2/components/events-bar/search`, `v2/components/events-bar/search/keyword`, `v2/components/events-bar/search/submit`, `v2/components/events-bar/tabs`, `v2/components/events-bar/views`, `v2/components/events-bar/views/list`, `v2/components/events-bar/views/list/item`, `v2/components/filter-bar`, `v2/components/ical-link`, `v2/components/loader`, `v2/components/messages`, `v2/components/read-more`, `v2/components/top-bar/actions`, `v2/components/top-bar/actions/content`, `v2/components/top-bar/datepicker/submit`, `v2/components/top-bar/nav`, `v2/components/top-bar/nav/next-disabled`, `v2/components/top-bar/nav/next`, `v2/components/top-bar/nav/prev-disabled`, `v2/components/top-bar/nav/prev`, `v2/components/top-bar/today`, `v2/day`, `v2/day/event`, `v2/day/event/cost`, `v2/day/event/date`, `v2/day/event/date/meta`, `v2/day/event/description`, `v2/day/event/featured-image`, `v2/day/event/title`, `v2/day/event/venue`, `v2/day/nav`, `v2/day/nav/next-disabled`, `v2/day/nav/next`, `v2/day/nav/prev-disabled`, `v2/day/nav/prev`, `v2/day/time-separator`, `v2/day/top-bar`, `v2/day/top-bar/datepicker`, `v2/day/type-separator`, `v2/index`, `v2/list`, `v2/list/event`, `v2/list/event/cost`, `v2/list/event/date-tag`, `v2/list/event/date`, `v2/list/event/date/meta`, `v2/list/event/description`, `v2/list/event/featured-image`, `v2/list/event/title`, `v2/list/event/venue`, `v2/list/month-separator`, `v2/list/nav`, `v2/list/nav/next-disabled`, `v2/list/nav/next`, `v2/list/nav/prev-disabled`, `v2/list/nav/prev`, `v2/list/nav/today`, `v2/list/top-bar`, `v2/list/top-bar/datepicker`, `v2/month`, `v2/month/calendar-body`, `v2/month/calendar-body/day`, `v2/month/calendar-body/day/calendar-events`, `v2/month/calendar-body/day/calendar-events/calendar-event`, `v2/month/calendar-body/day/calendar-events/calendar-event/date`, `v2/month/calendar-body/day/calendar-events/calendar-event/date/meta`, `v2/month/calendar-body/day/calendar-events/calendar-event/featured-image`, `v2/month/calendar-body/day/calendar-events/calendar-event/title`, `v2/month/calendar-body/day/calendar-events/calendar-event/tooltip`, `v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/cost`, `v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/date`, `v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/date/meta`, `v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/description`, `v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/featured-image`, `v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/title`, `v2/month/calendar-body/day/more-events`, `v2/month/calendar-body/day/multiday-events`, `v2/month/calendar-body/day/multiday-events/multiday-event-spacer`, `v2/month/calendar-body/day/multiday-events/multiday-event`, `v2/month/calendar-header`, `v2/month/mobile-events`, `v2/month/mobile-events/mobile-day`, `v2/month/mobile-events/mobile-day/day-marker`, `v2/month/mobile-events/mobile-day/mobile-event`, `v2/month/mobile-events/mobile-day/mobile-event/cost`, `v2/month/mobile-events/mobile-day/mobile-event/date`, `v2/month/mobile-events/mobile-day/mobile-event/date/meta`, `v2/month/mobile-events/mobile-day/mobile-event/featured-image`, `v2/month/mobile-events/mobile-day/mobile-event/title`, `v2/month/mobile-events/mobile-day/more-events`, `v2/month/mobile-events/nav`, `v2/month/mobile-events/nav/next-disabled`, `v2/month/mobile-events/nav/next`, `v2/month/mobile-events/nav/prev-disabled`, `v2/month/mobile-events/nav/prev`, `v2/month/mobile-events/nav/today`, `v2/month/top-bar`, `v2/month/top-bar/datepicker`, `v2/not-found`
|
| 241 |
+
* Language - 2 new strings added, 169 updated, 1 fuzzied, and 0 obsoleted
|
| 242 |
+
|
| 243 |
= [4.9.14] 2020-01-15 =
|
| 244 |
|
| 245 |
* Feature - Add Repository filter `where_meta_related_by_meta` for getting a post by the meta value an associated post. [133333]
|
src/Tribe/Aggregator/Record/Queue.php
CHANGED
|
@@ -66,6 +66,8 @@ class Tribe__Events__Aggregator__Record__Queue implements Tribe__Events__Aggrega
|
|
| 66 |
* @param Tribe__Events__Aggregator__Record__Queue_Cleaner|null $cleaner
|
| 67 |
*/
|
| 68 |
public function __construct( $record, $items = array(), Tribe__Events__Aggregator__Record__Queue_Cleaner $cleaner = null ) {
|
|
|
|
|
|
|
| 69 |
if ( is_numeric( $record ) ) {
|
| 70 |
$record = Tribe__Events__Aggregator__Records::instance()->get_by_post_id( $record );
|
| 71 |
}
|
| 66 |
* @param Tribe__Events__Aggregator__Record__Queue_Cleaner|null $cleaner
|
| 67 |
*/
|
| 68 |
public function __construct( $record, $items = array(), Tribe__Events__Aggregator__Record__Queue_Cleaner $cleaner = null ) {
|
| 69 |
+
tribe( 'chunker' );
|
| 70 |
+
|
| 71 |
if ( is_numeric( $record ) ) {
|
| 72 |
$record = Tribe__Events__Aggregator__Records::instance()->get_by_post_id( $record );
|
| 73 |
}
|
src/Tribe/Collections/Lazy_Post_Collection.php
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Models a lazy collection of posts that will store the post IDs in cache during serialization and rebuild the
|
| 4 |
+
* collection items from post IDs during unserialization.
|
| 5 |
+
*
|
| 6 |
+
* @since 5.0.0
|
| 7 |
+
*
|
| 8 |
+
* @package Tribe\Events\Collections
|
| 9 |
+
*/
|
| 10 |
+
|
| 11 |
+
namespace Tribe\Events\Collections;
|
| 12 |
+
|
| 13 |
+
use Tribe\Utils\Lazy_Collection;
|
| 14 |
+
|
| 15 |
+
/**
|
| 16 |
+
* Class Lazy_Post_Collection
|
| 17 |
+
*
|
| 18 |
+
* @since 5.0.0
|
| 19 |
+
*
|
| 20 |
+
* @package Tribe\Events\Collections
|
| 21 |
+
*/
|
| 22 |
+
class Lazy_Post_Collection extends Lazy_Collection {
|
| 23 |
+
/**
|
| 24 |
+
* The callback function that should be called to rebuild the collection items from an array of post IDs.
|
| 25 |
+
*
|
| 26 |
+
* @since 5.0.0
|
| 27 |
+
*
|
| 28 |
+
* @var callable|string
|
| 29 |
+
*/
|
| 30 |
+
protected $unserialize_callback;
|
| 31 |
+
|
| 32 |
+
/**
|
| 33 |
+
* Lazy_Post_Collection constructor.
|
| 34 |
+
*
|
| 35 |
+
* @since 5.0.0
|
| 36 |
+
*
|
| 37 |
+
* @param callable $callback The callback that should be used to fetch the collection items.
|
| 38 |
+
* @param string $unserialize_callback The callback that should be used to rebuild the collection items from the
|
| 39 |
+
* serialized post IDs.
|
| 40 |
+
*/
|
| 41 |
+
public function __construct( callable $callback, $unserialize_callback = 'get_post' ) {
|
| 42 |
+
parent::__construct( $callback );
|
| 43 |
+
$this->unserialize_callback = $unserialize_callback;
|
| 44 |
+
}
|
| 45 |
+
|
| 46 |
+
/**
|
| 47 |
+
* Plucks the post IDs from the collection items before serialization.
|
| 48 |
+
*
|
| 49 |
+
* While serializing a post object w/ added properties will not generate any error during serialization, doing the
|
| 50 |
+
* same during unserialization will yield a `false` result.
|
| 51 |
+
* To avoid dealing with the lower level details of how the post object is built or decorated, here we extract
|
| 52 |
+
* the post IDs to only store those.
|
| 53 |
+
*
|
| 54 |
+
* @since 5.0.0
|
| 55 |
+
*
|
| 56 |
+
* @param array<\WP_Post> $items The posts part of this collection.
|
| 57 |
+
*
|
| 58 |
+
* @return array The collection post IDs and callback.
|
| 59 |
+
*
|
| 60 |
+
* @see Lazy_Post_Collection::custom_unserialize() for the other part of the post handling.
|
| 61 |
+
*/
|
| 62 |
+
protected function before_serialize( array $items ) {
|
| 63 |
+
return [
|
| 64 |
+
'callback' => $this->unserialize_callback,
|
| 65 |
+
'ids' => wp_list_pluck( $items, 'ID' ),
|
| 66 |
+
];
|
| 67 |
+
}
|
| 68 |
+
|
| 69 |
+
/**
|
| 70 |
+
* Custom handling of the lazy collection unserialization, this method will build complete post objects from
|
| 71 |
+
* the serialized post IDs.
|
| 72 |
+
*
|
| 73 |
+
* @since 5.0.0
|
| 74 |
+
*
|
| 75 |
+
* @param string $serialized The serialized values, usually an array of post IDs.
|
| 76 |
+
*
|
| 77 |
+
* @return array<\WP_Post>|null Either the rebuilt collection, or `null` if the serialized string cannot be
|
| 78 |
+
* unserialized.
|
| 79 |
+
*/
|
| 80 |
+
protected function custom_unserialize( $serialized ) {
|
| 81 |
+
$unserialized = unserialize( $serialized );
|
| 82 |
+
|
| 83 |
+
if ( false === $unserialized || ! is_array( $unserialized ) ) {
|
| 84 |
+
return null;
|
| 85 |
+
}
|
| 86 |
+
|
| 87 |
+
return array_map( $unserialized['callback'], $unserialized['ids'] );
|
| 88 |
+
}
|
| 89 |
+
}
|
src/Tribe/Customizer/Global_Elements.php
CHANGED
|
@@ -41,6 +41,10 @@ final class Tribe__Events__Customizer__Global_Elements extends Tribe__Customizer
|
|
| 41 |
';
|
| 42 |
}
|
| 43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
if ( $customizer->has_option( $this->ID, 'filterbar_color' ) ) {
|
| 45 |
$template .= '
|
| 46 |
#tribe-bar-form {
|
|
@@ -148,6 +152,12 @@ final class Tribe__Events__Customizer__Global_Elements extends Tribe__Customizer
|
|
| 148 |
)
|
| 149 |
);
|
| 150 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 151 |
$manager->add_setting(
|
| 152 |
$customizer->get_setting_name( 'filterbar_color', $section ),
|
| 153 |
array(
|
|
@@ -218,12 +228,10 @@ final class Tribe__Events__Customizer__Global_Elements extends Tribe__Customizer
|
|
| 218 |
}
|
| 219 |
|
| 220 |
// Introduced to make Selective Refresh have less code duplication
|
| 221 |
-
$customizer->add_setting_name( $customizer->get_setting_name( 'link_color', $section ) );
|
| 222 |
$customizer->add_setting_name( $customizer->get_setting_name( 'filterbar_color', $section ) );
|
| 223 |
$customizer->add_setting_name( $customizer->get_setting_name( 'button_color', $section ) );
|
| 224 |
|
| 225 |
// To add Live Edit Pins will require some JS refactor to be able to work
|
| 226 |
// $customizer->add_setting_name( $customizer->get_setting_name( 'map_pin', $section ) );
|
| 227 |
-
|
| 228 |
}
|
| 229 |
}
|
| 41 |
';
|
| 42 |
}
|
| 43 |
|
| 44 |
+
if ( tribe_events_views_v2_is_enabled() ) {
|
| 45 |
+
return $template;
|
| 46 |
+
}
|
| 47 |
+
|
| 48 |
if ( $customizer->has_option( $this->ID, 'filterbar_color' ) ) {
|
| 49 |
$template .= '
|
| 50 |
#tribe-bar-form {
|
| 152 |
)
|
| 153 |
);
|
| 154 |
|
| 155 |
+
$customizer->add_setting_name( $customizer->get_setting_name( 'link_color', $section ) );
|
| 156 |
+
|
| 157 |
+
if ( tribe_events_views_v2_is_enabled() ) {
|
| 158 |
+
return;
|
| 159 |
+
}
|
| 160 |
+
|
| 161 |
$manager->add_setting(
|
| 162 |
$customizer->get_setting_name( 'filterbar_color', $section ),
|
| 163 |
array(
|
| 228 |
}
|
| 229 |
|
| 230 |
// Introduced to make Selective Refresh have less code duplication
|
|
|
|
| 231 |
$customizer->add_setting_name( $customizer->get_setting_name( 'filterbar_color', $section ) );
|
| 232 |
$customizer->add_setting_name( $customizer->get_setting_name( 'button_color', $section ) );
|
| 233 |
|
| 234 |
// To add Live Edit Pins will require some JS refactor to be able to work
|
| 235 |
// $customizer->add_setting_name( $customizer->get_setting_name( 'map_pin', $section ) );
|
|
|
|
| 236 |
}
|
| 237 |
}
|
src/Tribe/Front_Page_View.php
CHANGED
|
@@ -29,7 +29,7 @@ class Tribe__Events__Front_Page_View {
|
|
| 29 |
if ( tribe_get_option( 'front_page_event_archive', false ) ) {
|
| 30 |
// Implement front page view
|
| 31 |
add_action( 'parse_query', array( $this, 'parse_query' ), 5 );
|
| 32 |
-
add_filter( '
|
| 33 |
}
|
| 34 |
|
| 35 |
add_action( 'parse_query', array( $this, 'parse_customizer_query' ) );
|
| 29 |
if ( tribe_get_option( 'front_page_event_archive', false ) ) {
|
| 30 |
// Implement front page view
|
| 31 |
add_action( 'parse_query', array( $this, 'parse_query' ), 5 );
|
| 32 |
+
add_filter( 'tribe_events_get_link', array( $this, 'main_event_page_links' ) );
|
| 33 |
}
|
| 34 |
|
| 35 |
add_action( 'parse_query', array( $this, 'parse_customizer_query' ) );
|
src/Tribe/Main.php
CHANGED
|
@@ -32,7 +32,7 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 32 |
const VENUE_POST_TYPE = 'tribe_venue';
|
| 33 |
const ORGANIZER_POST_TYPE = 'tribe_organizer';
|
| 34 |
|
| 35 |
-
const VERSION = '
|
| 36 |
|
| 37 |
/**
|
| 38 |
* Min Pro Addon
|
|
@@ -69,7 +69,7 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 69 |
*
|
| 70 |
* @since 4.8
|
| 71 |
*/
|
| 72 |
-
protected $min_et_version = '4.
|
| 73 |
|
| 74 |
/**
|
| 75 |
* Maybe display data wrapper
|
|
@@ -553,14 +553,6 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 553 |
// Assets loader
|
| 554 |
tribe_singleton( 'tec.assets', 'Tribe__Events__Assets', array( 'register', 'hook' ) );
|
| 555 |
|
| 556 |
-
// Register and start the Customizer Sections
|
| 557 |
-
tribe_singleton( 'tec.customizer.general-theme', new Tribe__Events__Customizer__General_Theme() );
|
| 558 |
-
tribe_singleton( 'tec.customizer.global-elements', new Tribe__Events__Customizer__Global_Elements() );
|
| 559 |
-
tribe_singleton( 'tec.customizer.day-list-view', new Tribe__Events__Customizer__Day_List_View() );
|
| 560 |
-
tribe_singleton( 'tec.customizer.month-week-view', new Tribe__Events__Customizer__Month_Week_View() );
|
| 561 |
-
tribe_singleton( 'tec.customizer.single-event', new Tribe__Events__Customizer__Single_Event() );
|
| 562 |
-
tribe_singleton( 'tec.customizer.widget', new Tribe__Events__Customizer__Widget() );
|
| 563 |
-
|
| 564 |
// Tribe Bar
|
| 565 |
tribe_singleton( 'tec.bar', 'Tribe__Events__Bar', array( 'hook' ) );
|
| 566 |
|
|
@@ -606,6 +598,24 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 606 |
// The Views v2 service provider.
|
| 607 |
tribe_register_provider( Tribe\Events\Views\V2\Service_Provider::class );
|
| 608 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 609 |
/**
|
| 610 |
* Allows other plugins and services to override/change the bound implementations.
|
| 611 |
*/
|
|
@@ -853,7 +863,6 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 853 |
|
| 854 |
// Register all of the post types in the chunker and start the chunker
|
| 855 |
add_filter( 'tribe_meta_chunker_post_types', array( $this, 'filter_meta_chunker_post_types' ) );
|
| 856 |
-
tribe( 'chunker' );
|
| 857 |
|
| 858 |
// Purge old events
|
| 859 |
add_action( 'update_option_' . Tribe__Main::OPTIONNAME, tribe_callback( 'tec.event-cleaner', 'move_old_events_to_trash' ), 10, 2 );
|
|
@@ -1160,7 +1169,7 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 1160 |
}
|
| 1161 |
|
| 1162 |
$settings_cap = apply_filters( 'tribe_settings_req_cap', 'manage_options' );
|
| 1163 |
-
$edit_settings_link = __( ' ask the site administrator set a different Events URL slug.', 'the-events-calendar' );
|
| 1164 |
|
| 1165 |
if ( current_user_can( $settings_cap ) ) {
|
| 1166 |
$admin_slug = apply_filters( 'tribe_settings_admin_slug', 'tribe-common' );
|
|
@@ -2573,6 +2582,8 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 2573 |
* @return string The link.
|
| 2574 |
*/
|
| 2575 |
public function getLink( $type = 'home', $secondary = false, $term = null, $featured = null ) {
|
|
|
|
|
|
|
| 2576 |
// if permalinks are off or user doesn't want them: ugly.
|
| 2577 |
if ( '' === get_option( 'permalink_structure' ) ) {
|
| 2578 |
return esc_url_raw( $this->uglyLink( $type, $secondary ) );
|
|
@@ -2605,7 +2616,15 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 2605 |
|
| 2606 |
// Append Events structure
|
| 2607 |
$slug = _x( Tribe__Settings_Manager::get_option( 'eventsSlug', 'events' ), 'Archive Events Slug', 'the-events-calendar' );
|
| 2608 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2609 |
|
| 2610 |
// if we're on an Event Cat, show the cat link, except for home and days.
|
| 2611 |
if ( $type !== 'home' && is_tax( self::TAXONOMY ) && $term !== false && ! is_numeric( $term ) ) {
|
|
@@ -2632,17 +2651,12 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 2632 |
}
|
| 2633 |
break;
|
| 2634 |
case 'list':
|
| 2635 |
-
$event_url = trailingslashit( esc_url_raw( $event_url . $this->listSlug ) );
|
| 2636 |
-
break;
|
| 2637 |
case 'upcoming':
|
| 2638 |
$event_url = trailingslashit( esc_url_raw( $event_url . $this->listSlug ) );
|
| 2639 |
break;
|
| 2640 |
case 'past':
|
| 2641 |
$event_url = esc_url_raw( add_query_arg( 'tribe_event_display', 'past', trailingslashit( $event_url . $this->listSlug ) ) );
|
| 2642 |
break;
|
| 2643 |
-
case 'dropdown':
|
| 2644 |
-
$event_url = esc_url_raw( $event_url );
|
| 2645 |
-
break;
|
| 2646 |
case 'single':
|
| 2647 |
global $post;
|
| 2648 |
$p = $secondary ? $secondary : $post;
|
|
@@ -2665,11 +2679,6 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 2665 |
// Filter get link
|
| 2666 |
$event_url = apply_filters( 'tribe_events_get_link', $event_url, $type, $secondary, $term, $url_args, $featured );
|
| 2667 |
|
| 2668 |
-
/**
|
| 2669 |
-
* @deprecated 4.3
|
| 2670 |
-
*/
|
| 2671 |
-
$event_url = apply_filters( 'tribe_events_getLink', $event_url, $type, $secondary, $term, $url_args );
|
| 2672 |
-
|
| 2673 |
// Add the Arguments back
|
| 2674 |
$event_url = add_query_arg( $url_args, $event_url );
|
| 2675 |
|
|
@@ -3015,6 +3024,12 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 3015 |
require_once dirname( __FILE__ ) . '/Deactivation.php';
|
| 3016 |
}
|
| 3017 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3018 |
$deactivation = new Tribe__Events__Deactivation( $network_deactivating );
|
| 3019 |
add_action( 'shutdown', array( $deactivation, 'deactivate' ) );
|
| 3020 |
}
|
|
@@ -3797,17 +3812,30 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 3797 |
* @return bool Is it a venue?
|
| 3798 |
*/
|
| 3799 |
public function isVenue( $postId = null ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3800 |
if ( $postId === null || ! is_numeric( $postId ) ) {
|
| 3801 |
global $post;
|
| 3802 |
if ( isset( $post->ID ) ) {
|
| 3803 |
$postId = $post->ID;
|
| 3804 |
}
|
| 3805 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3806 |
if ( isset( $postId ) && get_post_field( 'post_type', $postId ) == Tribe__Events__Venue::POSTTYPE ) {
|
| 3807 |
-
|
|
|
|
|
|
|
| 3808 |
}
|
| 3809 |
|
| 3810 |
-
|
|
|
|
| 3811 |
}
|
| 3812 |
|
| 3813 |
/**
|
|
@@ -3818,17 +3846,31 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 3818 |
* @return bool Is it an organizer?
|
| 3819 |
*/
|
| 3820 |
public function isOrganizer( $postId = null ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3821 |
if ( $postId === null || ! is_numeric( $postId ) ) {
|
| 3822 |
global $post;
|
| 3823 |
if ( isset( $post->ID ) ) {
|
| 3824 |
$postId = $post->ID;
|
| 3825 |
}
|
| 3826 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3827 |
if ( isset( $postId ) && get_post_field( 'post_type', $postId ) == Tribe__Events__Organizer::POSTTYPE ) {
|
| 3828 |
-
|
|
|
|
|
|
|
| 3829 |
}
|
| 3830 |
|
| 3831 |
-
|
|
|
|
|
|
|
| 3832 |
}
|
| 3833 |
|
| 3834 |
/**
|
| 32 |
const VENUE_POST_TYPE = 'tribe_venue';
|
| 33 |
const ORGANIZER_POST_TYPE = 'tribe_organizer';
|
| 34 |
|
| 35 |
+
const VERSION = '5.0.0';
|
| 36 |
|
| 37 |
/**
|
| 38 |
* Min Pro Addon
|
| 69 |
*
|
| 70 |
* @since 4.8
|
| 71 |
*/
|
| 72 |
+
protected $min_et_version = '4.11.2-dev';
|
| 73 |
|
| 74 |
/**
|
| 75 |
* Maybe display data wrapper
|
| 553 |
// Assets loader
|
| 554 |
tribe_singleton( 'tec.assets', 'Tribe__Events__Assets', array( 'register', 'hook' ) );
|
| 555 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 556 |
// Tribe Bar
|
| 557 |
tribe_singleton( 'tec.bar', 'Tribe__Events__Bar', array( 'hook' ) );
|
| 558 |
|
| 598 |
// The Views v2 service provider.
|
| 599 |
tribe_register_provider( Tribe\Events\Views\V2\Service_Provider::class );
|
| 600 |
|
| 601 |
+
// Register and start the Customizer Sections
|
| 602 |
+
if ( ! tribe_events_views_v2_is_enabled() ){
|
| 603 |
+
tribe_singleton( 'tec.customizer.general-theme', new Tribe__Events__Customizer__General_Theme() );
|
| 604 |
+
}
|
| 605 |
+
|
| 606 |
+
tribe_singleton( 'tec.customizer.global-elements', new Tribe__Events__Customizer__Global_Elements() );
|
| 607 |
+
|
| 608 |
+
if ( ! tribe_events_views_v2_is_enabled() ) {
|
| 609 |
+
tribe_singleton( 'tec.customizer.day-list-view', new Tribe__Events__Customizer__Day_List_View() );
|
| 610 |
+
tribe_singleton( 'tec.customizer.month-week-view', new Tribe__Events__Customizer__Month_Week_View() );
|
| 611 |
+
}
|
| 612 |
+
|
| 613 |
+
tribe_singleton( 'tec.customizer.single-event', new Tribe__Events__Customizer__Single_Event() );
|
| 614 |
+
|
| 615 |
+
if ( ! tribe_events_views_v2_is_enabled() ) {
|
| 616 |
+
tribe_singleton( 'tec.customizer.widget', new Tribe__Events__Customizer__Widget() );
|
| 617 |
+
}
|
| 618 |
+
|
| 619 |
/**
|
| 620 |
* Allows other plugins and services to override/change the bound implementations.
|
| 621 |
*/
|
| 863 |
|
| 864 |
// Register all of the post types in the chunker and start the chunker
|
| 865 |
add_filter( 'tribe_meta_chunker_post_types', array( $this, 'filter_meta_chunker_post_types' ) );
|
|
|
|
| 866 |
|
| 867 |
// Purge old events
|
| 868 |
add_action( 'update_option_' . Tribe__Main::OPTIONNAME, tribe_callback( 'tec.event-cleaner', 'move_old_events_to_trash' ), 10, 2 );
|
| 1169 |
}
|
| 1170 |
|
| 1171 |
$settings_cap = apply_filters( 'tribe_settings_req_cap', 'manage_options' );
|
| 1172 |
+
$edit_settings_link = __( ' ask the site administrator to set a different Events URL slug.', 'the-events-calendar' );
|
| 1173 |
|
| 1174 |
if ( current_user_can( $settings_cap ) ) {
|
| 1175 |
$admin_slug = apply_filters( 'tribe_settings_admin_slug', 'tribe-common' );
|
| 2582 |
* @return string The link.
|
| 2583 |
*/
|
| 2584 |
public function getLink( $type = 'home', $secondary = false, $term = null, $featured = null ) {
|
| 2585 |
+
static $cache_var_name = __METHOD__;
|
| 2586 |
+
|
| 2587 |
// if permalinks are off or user doesn't want them: ugly.
|
| 2588 |
if ( '' === get_option( 'permalink_structure' ) ) {
|
| 2589 |
return esc_url_raw( $this->uglyLink( $type, $secondary ) );
|
| 2616 |
|
| 2617 |
// Append Events structure
|
| 2618 |
$slug = _x( Tribe__Settings_Manager::get_option( 'eventsSlug', 'events' ), 'Archive Events Slug', 'the-events-calendar' );
|
| 2619 |
+
|
| 2620 |
+
$cache_event_url_slugs = tribe_get_var( $cache_var_name, [] );
|
| 2621 |
+
|
| 2622 |
+
if ( ! isset( $cache_event_url_slugs[ $slug ] ) ) {
|
| 2623 |
+
$cache_event_url_slugs[ $slug ] = trailingslashit( sanitize_title( $slug ) );
|
| 2624 |
+
tribe_set_var( $cache_var_name, $cache_event_url_slugs );
|
| 2625 |
+
}
|
| 2626 |
+
|
| 2627 |
+
$event_url .= $cache_event_url_slugs[ $slug ];
|
| 2628 |
|
| 2629 |
// if we're on an Event Cat, show the cat link, except for home and days.
|
| 2630 |
if ( $type !== 'home' && is_tax( self::TAXONOMY ) && $term !== false && ! is_numeric( $term ) ) {
|
| 2651 |
}
|
| 2652 |
break;
|
| 2653 |
case 'list':
|
|
|
|
|
|
|
| 2654 |
case 'upcoming':
|
| 2655 |
$event_url = trailingslashit( esc_url_raw( $event_url . $this->listSlug ) );
|
| 2656 |
break;
|
| 2657 |
case 'past':
|
| 2658 |
$event_url = esc_url_raw( add_query_arg( 'tribe_event_display', 'past', trailingslashit( $event_url . $this->listSlug ) ) );
|
| 2659 |
break;
|
|
|
|
|
|
|
|
|
|
| 2660 |
case 'single':
|
| 2661 |
global $post;
|
| 2662 |
$p = $secondary ? $secondary : $post;
|
| 2679 |
// Filter get link
|
| 2680 |
$event_url = apply_filters( 'tribe_events_get_link', $event_url, $type, $secondary, $term, $url_args, $featured );
|
| 2681 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2682 |
// Add the Arguments back
|
| 2683 |
$event_url = add_query_arg( $url_args, $event_url );
|
| 2684 |
|
| 3024 |
require_once dirname( __FILE__ ) . '/Deactivation.php';
|
| 3025 |
}
|
| 3026 |
|
| 3027 |
+
if ( ! class_exists( 'Tribe__Cache' ) ) {
|
| 3028 |
+
require_once dirname( dirname( __FILE__ ) ) . '/common/src/Tribe/Cache.php';
|
| 3029 |
+
}
|
| 3030 |
+
|
| 3031 |
+
wp_clear_scheduled_hook( \Tribe__Cache::SCHEDULED_EVENT_DELETE_TRANSIENT );
|
| 3032 |
+
|
| 3033 |
$deactivation = new Tribe__Events__Deactivation( $network_deactivating );
|
| 3034 |
add_action( 'shutdown', array( $deactivation, 'deactivate' ) );
|
| 3035 |
}
|
| 3812 |
* @return bool Is it a venue?
|
| 3813 |
*/
|
| 3814 |
public function isVenue( $postId = null ) {
|
| 3815 |
+
static $cache_var_name = __METHOD__;
|
| 3816 |
+
|
| 3817 |
+
$is_venue = tribe_get_var( $cache_var_name, [] );
|
| 3818 |
+
|
| 3819 |
if ( $postId === null || ! is_numeric( $postId ) ) {
|
| 3820 |
global $post;
|
| 3821 |
if ( isset( $post->ID ) ) {
|
| 3822 |
$postId = $post->ID;
|
| 3823 |
}
|
| 3824 |
}
|
| 3825 |
+
|
| 3826 |
+
// Return if we've already fetched this info.
|
| 3827 |
+
if ( isset( $is_venue[ $postId ] ) ) {
|
| 3828 |
+
return $is_venue[ $postId ];
|
| 3829 |
+
}
|
| 3830 |
+
|
| 3831 |
if ( isset( $postId ) && get_post_field( 'post_type', $postId ) == Tribe__Events__Venue::POSTTYPE ) {
|
| 3832 |
+
$is_venue[ $postId ] = true;
|
| 3833 |
+
} else {
|
| 3834 |
+
$is_venue[ $postId ] = false;
|
| 3835 |
}
|
| 3836 |
|
| 3837 |
+
tribe_set_var( $cache_var_name, $is_venue );
|
| 3838 |
+
return $is_venue[ $postId ];
|
| 3839 |
}
|
| 3840 |
|
| 3841 |
/**
|
| 3846 |
* @return bool Is it an organizer?
|
| 3847 |
*/
|
| 3848 |
public function isOrganizer( $postId = null ) {
|
| 3849 |
+
static $cache_var_name = __METHOD__;
|
| 3850 |
+
|
| 3851 |
+
$is_organizer = tribe_get_var( $cache_var_name, [] );
|
| 3852 |
+
|
| 3853 |
if ( $postId === null || ! is_numeric( $postId ) ) {
|
| 3854 |
global $post;
|
| 3855 |
if ( isset( $post->ID ) ) {
|
| 3856 |
$postId = $post->ID;
|
| 3857 |
}
|
| 3858 |
}
|
| 3859 |
+
|
| 3860 |
+
// Return if we've already fetched this info.
|
| 3861 |
+
if ( isset( $is_organizer[ $postId ] ) ) {
|
| 3862 |
+
return $is_organizer[ $postId ];
|
| 3863 |
+
}
|
| 3864 |
+
|
| 3865 |
if ( isset( $postId ) && get_post_field( 'post_type', $postId ) == Tribe__Events__Organizer::POSTTYPE ) {
|
| 3866 |
+
$is_organizer[ $postId ] = true;
|
| 3867 |
+
} else {
|
| 3868 |
+
$is_organizer[ $postId ] = false;
|
| 3869 |
}
|
| 3870 |
|
| 3871 |
+
tribe_set_var( $cache_var_name, $is_organizer );
|
| 3872 |
+
|
| 3873 |
+
return $is_organizer[ $postId ];
|
| 3874 |
}
|
| 3875 |
|
| 3876 |
/**
|
src/Tribe/Models/Post_Types/Event.php
CHANGED
|
@@ -11,8 +11,8 @@ namespace Tribe\Events\Models\Post_Types;
|
|
| 11 |
|
| 12 |
use DateInterval;
|
| 13 |
use DatePeriod;
|
| 14 |
-
use DateTimeImmutable;
|
| 15 |
use DateTimeZone;
|
|
|
|
| 16 |
use Tribe\Models\Post_Types\Base;
|
| 17 |
use Tribe\Utils\Lazy_Collection;
|
| 18 |
use Tribe\Utils\Lazy_String;
|
|
@@ -46,22 +46,24 @@ class Event extends Base {
|
|
| 46 |
|
| 47 |
$post_id = $this->post->ID;
|
| 48 |
|
| 49 |
-
$
|
| 50 |
-
|
| 51 |
-
$
|
| 52 |
-
$
|
| 53 |
-
$
|
|
|
|
|
|
|
| 54 |
$timezone_string = Timezones::get_event_timezone_string( $post_id );
|
| 55 |
-
$all_day = tribe_is_truthy(
|
| 56 |
$end_of_day = tribe_end_of_day( $start_date );
|
| 57 |
$timezone = Timezones::build_timezone_object( $timezone_string );
|
| 58 |
$site_timezone = Timezones::build_timezone_object();
|
| 59 |
$utc_timezone = new DateTimezone( 'UTC' );
|
| 60 |
-
$start_date_object =
|
| 61 |
-
$end_date_object =
|
| 62 |
-
$start_date_utc_object =
|
| 63 |
-
$end_date_utc_object =
|
| 64 |
-
$end_of_day_object =
|
| 65 |
|
| 66 |
if ( empty( $duration ) ) {
|
| 67 |
// This is really an edge case, but here we have the information to rebuild it.
|
|
@@ -72,8 +74,30 @@ class Event extends Base {
|
|
| 72 |
* An event is multi-day if its end date is after the end-of-day cutoff of the start date.
|
| 73 |
* We add one second to make sure events ending at end-of-day, same day, cutoff are not marked as multi-day.
|
| 74 |
*/
|
| 75 |
-
$
|
| 76 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 77 |
|
| 78 |
// Without a context these values will not make sense; we'll set them if the `$filter` argument is a date.
|
| 79 |
$starts_this_week = null;
|
|
@@ -81,21 +105,6 @@ class Event extends Base {
|
|
| 81 |
$happens_this_week = null;
|
| 82 |
$this_week_duration = null;
|
| 83 |
|
| 84 |
-
// Multi-day events will span at least two days: the day they start on and the following one.
|
| 85 |
-
if ( $is_multiday ) {
|
| 86 |
-
/*
|
| 87 |
-
* Count the number of cut-offs happening before the end date and add 1.
|
| 88 |
-
* Do not add 1 for all-day events as they span cut-off to cut-off.
|
| 89 |
-
*/
|
| 90 |
-
$multiday = $all_day ? 0 : 1;
|
| 91 |
-
|
| 92 |
-
// The end date should be inclusive, since it's not in the DatePeriod we work-around it adding a second.
|
| 93 |
-
$period = new DatePeriod( $end_of_day_object, $one_day, $end_date_object );
|
| 94 |
-
foreach ( $period as $date ) {
|
| 95 |
-
++ $multiday;
|
| 96 |
-
};
|
| 97 |
-
}
|
| 98 |
-
|
| 99 |
if ( Dates::is_valid_date( $filter ) ) {
|
| 100 |
list( $week_start, $week_end ) = Dates::get_week_start_end( $filter );
|
| 101 |
|
|
@@ -130,9 +139,9 @@ class Event extends Base {
|
|
| 130 |
if ( $starts_this_week && $ends_this_week ) {
|
| 131 |
$this_week_duration = min( 7, max( 1, Dates::date_diff( $the_end_ymd, $the_start_ymd ) ) + $cross_day );
|
| 132 |
} elseif ( $ends_this_week ) {
|
| 133 |
-
$this_week_duration = $the_end_ymd
|
| 134 |
} elseif ( $starts_this_week ) {
|
| 135 |
-
$this_week_duration = $week_end_ymd
|
| 136 |
} else {
|
| 137 |
// If it happens this week and it doesn't start or end this week, then it spans the week.
|
| 138 |
$this_week_duration = 7;
|
|
@@ -141,7 +150,7 @@ class Event extends Base {
|
|
| 141 |
}
|
| 142 |
}
|
| 143 |
|
| 144 |
-
$featured = tribe_is_truthy(
|
| 145 |
$sticky = get_post_field( 'menu_order', $post_id ) === -1;
|
| 146 |
$organizer_fetch = Organizer::get_fetch_callback( $post_id );
|
| 147 |
$venue_fetch = Venue::get_fetch_callback( $post_id );
|
|
@@ -184,9 +193,17 @@ class Event extends Base {
|
|
| 184 |
false
|
| 185 |
) )->on_resolve( $cache_this ),
|
| 186 |
'organizers' => ( new Lazy_Collection( $organizer_fetch ) )->on_resolve( $cache_this ),
|
| 187 |
-
'venues' => ( new
|
|
|
|
|
|
|
|
|
|
| 188 |
'thumbnail' => ( new Post_Thumbnail( $post_id ) )->on_resolve( $cache_this ),
|
| 189 |
-
'permalink' =>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 190 |
'schedule_details' => ( new Lazy_String(
|
| 191 |
static function () use ( $post_id ) {
|
| 192 |
return tribe_events_event_schedule_details( $post_id );
|
|
@@ -199,6 +216,12 @@ class Event extends Base {
|
|
| 199 |
},
|
| 200 |
false
|
| 201 |
) )->on_resolve( $cache_this ),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 202 |
];
|
| 203 |
} catch ( \Exception $e ) {
|
| 204 |
return [];
|
| 11 |
|
| 12 |
use DateInterval;
|
| 13 |
use DatePeriod;
|
|
|
|
| 14 |
use DateTimeZone;
|
| 15 |
+
use Tribe\Events\Collections\Lazy_Post_Collection;
|
| 16 |
use Tribe\Models\Post_Types\Base;
|
| 17 |
use Tribe\Utils\Lazy_Collection;
|
| 18 |
use Tribe\Utils\Lazy_String;
|
| 46 |
|
| 47 |
$post_id = $this->post->ID;
|
| 48 |
|
| 49 |
+
$post_meta = get_post_meta( $post_id );
|
| 50 |
+
|
| 51 |
+
$start_date = isset( $post_meta['_EventStartDate'][0] ) ? $post_meta['_EventStartDate'][0] : null;
|
| 52 |
+
$start_date_utc = isset( $post_meta['_EventStartDateUTC'][0] ) ? $post_meta['_EventStartDateUTC'][0] : null;
|
| 53 |
+
$end_date = isset( $post_meta['_EventEndDate'][0] ) ? $post_meta['_EventEndDate'][0] : null;
|
| 54 |
+
$end_date_utc = isset( $post_meta['_EventEndDateUTC'][0] ) ? $post_meta['_EventEndDateUTC'][0] : null;
|
| 55 |
+
$duration = (int) isset( $post_meta['_EventDuration'][0] ) ? $post_meta['_EventDuration'][0] : null;
|
| 56 |
$timezone_string = Timezones::get_event_timezone_string( $post_id );
|
| 57 |
+
$all_day = tribe_is_truthy( isset( $post_meta['_EventAllDay'][0] ) ? $post_meta['_EventAllDay'][0] : null );
|
| 58 |
$end_of_day = tribe_end_of_day( $start_date );
|
| 59 |
$timezone = Timezones::build_timezone_object( $timezone_string );
|
| 60 |
$site_timezone = Timezones::build_timezone_object();
|
| 61 |
$utc_timezone = new DateTimezone( 'UTC' );
|
| 62 |
+
$start_date_object = Dates::immutable( $start_date, $timezone );
|
| 63 |
+
$end_date_object = Dates::immutable( $end_date, $timezone );
|
| 64 |
+
$start_date_utc_object = Dates::immutable( $start_date_utc, $utc_timezone );
|
| 65 |
+
$end_date_utc_object = Dates::immutable( $end_date_utc, $utc_timezone );
|
| 66 |
+
$end_of_day_object = Dates::immutable( $end_of_day, $timezone );
|
| 67 |
|
| 68 |
if ( empty( $duration ) ) {
|
| 69 |
// This is really an edge case, but here we have the information to rebuild it.
|
| 74 |
* An event is multi-day if its end date is after the end-of-day cutoff of the start date.
|
| 75 |
* We add one second to make sure events ending at end-of-day, same day, cutoff are not marked as multi-day.
|
| 76 |
*/
|
| 77 |
+
$multiday = false;
|
| 78 |
+
|
| 79 |
+
if ( $all_day ) {
|
| 80 |
+
$start_end_diff = $start_date_object->diff( $end_date_object );
|
| 81 |
+
$is_multiday = $start_end_diff->days > 1;
|
| 82 |
+
$multiday = $is_multiday ? $start_end_diff->days : false;
|
| 83 |
+
} else {
|
| 84 |
+
$is_multiday = $end_of_day_object->add( $one_second ) < $end_date_object;
|
| 85 |
+
|
| 86 |
+
// Multi-day events will span at least two days: the day they start on and the following one.
|
| 87 |
+
if ( $is_multiday ) {
|
| 88 |
+
/*
|
| 89 |
+
* Count the number of cut-offs happening before the end date and add 1.
|
| 90 |
+
* Do not add 1 for all-day events as they span cut-off to cut-off.
|
| 91 |
+
*/
|
| 92 |
+
$multiday = 1;
|
| 93 |
+
|
| 94 |
+
// The end date should be inclusive, since it's not in the DatePeriod we work-around it adding a second.
|
| 95 |
+
$period = new DatePeriod( $end_of_day_object, $one_day, $end_date_object );
|
| 96 |
+
foreach ( $period as $date ) {
|
| 97 |
+
++ $multiday;
|
| 98 |
+
}
|
| 99 |
+
}
|
| 100 |
+
}
|
| 101 |
|
| 102 |
// Without a context these values will not make sense; we'll set them if the `$filter` argument is a date.
|
| 103 |
$starts_this_week = null;
|
| 105 |
$happens_this_week = null;
|
| 106 |
$this_week_duration = null;
|
| 107 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 108 |
if ( Dates::is_valid_date( $filter ) ) {
|
| 109 |
list( $week_start, $week_end ) = Dates::get_week_start_end( $filter );
|
| 110 |
|
| 139 |
if ( $starts_this_week && $ends_this_week ) {
|
| 140 |
$this_week_duration = min( 7, max( 1, Dates::date_diff( $the_end_ymd, $the_start_ymd ) ) + $cross_day );
|
| 141 |
} elseif ( $ends_this_week ) {
|
| 142 |
+
$this_week_duration = Dates::date_diff( $the_end_ymd, $week_start_ymd ) + $cross_day;
|
| 143 |
} elseif ( $starts_this_week ) {
|
| 144 |
+
$this_week_duration = Dates::date_diff( $week_end_ymd, $the_start_ymd ) + $cross_day;
|
| 145 |
} else {
|
| 146 |
// If it happens this week and it doesn't start or end this week, then it spans the week.
|
| 147 |
$this_week_duration = 7;
|
| 150 |
}
|
| 151 |
}
|
| 152 |
|
| 153 |
+
$featured = tribe_is_truthy( isset( $post_meta[ Featured::FEATURED_EVENT_KEY ][0] ) ? $post_meta[ Featured::FEATURED_EVENT_KEY ][0] : null );
|
| 154 |
$sticky = get_post_field( 'menu_order', $post_id ) === -1;
|
| 155 |
$organizer_fetch = Organizer::get_fetch_callback( $post_id );
|
| 156 |
$venue_fetch = Venue::get_fetch_callback( $post_id );
|
| 193 |
false
|
| 194 |
) )->on_resolve( $cache_this ),
|
| 195 |
'organizers' => ( new Lazy_Collection( $organizer_fetch ) )->on_resolve( $cache_this ),
|
| 196 |
+
'venues' => ( new Lazy_Post_Collection(
|
| 197 |
+
$venue_fetch,
|
| 198 |
+
'tribe_get_venue_object' )
|
| 199 |
+
)->on_resolve( $cache_this ),
|
| 200 |
'thumbnail' => ( new Post_Thumbnail( $post_id ) )->on_resolve( $cache_this ),
|
| 201 |
+
'permalink' => ( new Lazy_String(
|
| 202 |
+
static function () use ( $post_id ) {
|
| 203 |
+
return get_permalink( $post_id );
|
| 204 |
+
},
|
| 205 |
+
false
|
| 206 |
+
) )->on_resolve( $cache_this ),
|
| 207 |
'schedule_details' => ( new Lazy_String(
|
| 208 |
static function () use ( $post_id ) {
|
| 209 |
return tribe_events_event_schedule_details( $post_id );
|
| 216 |
},
|
| 217 |
false
|
| 218 |
) )->on_resolve( $cache_this ),
|
| 219 |
+
'title' => ( new Lazy_String(
|
| 220 |
+
static function () use ( $post_id ) {
|
| 221 |
+
return get_the_title( $post_id );
|
| 222 |
+
},
|
| 223 |
+
false
|
| 224 |
+
) )->on_resolve( $cache_this ),
|
| 225 |
];
|
| 226 |
} catch ( \Exception $e ) {
|
| 227 |
return [];
|
src/Tribe/Organizer.php
CHANGED
|
@@ -640,7 +640,12 @@ class Tribe__Events__Organizer extends Tribe__Events__Linked_Posts__Base {
|
|
| 640 |
}
|
| 641 |
|
| 642 |
return static function () use ( $event ) {
|
| 643 |
-
$organizer_ids =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 644 |
|
| 645 |
$organizers = ! empty( $organizer_ids )
|
| 646 |
? array_map( 'tribe_get_organizer', $organizer_ids )
|
| 640 |
}
|
| 641 |
|
| 642 |
return static function () use ( $event ) {
|
| 643 |
+
$organizer_ids = array_filter(
|
| 644 |
+
array_map(
|
| 645 |
+
'absint',
|
| 646 |
+
(array) get_post_meta( $event, '_EventOrganizerID' )
|
| 647 |
+
)
|
| 648 |
+
);
|
| 649 |
|
| 650 |
$organizers = ! empty( $organizer_ids )
|
| 651 |
? array_map( 'tribe_get_organizer', $organizer_ids )
|
src/Tribe/Plugin_Register.php
CHANGED
|
@@ -6,11 +6,11 @@ class Tribe__Events__Plugin_Register extends Tribe__Abstract_Plugin_Register {
|
|
| 6 |
protected $main_class = 'Tribe__Events__Main';
|
| 7 |
protected $dependencies = array(
|
| 8 |
'addon-dependencies' => array(
|
| 9 |
-
'Tribe__Events__Pro__Main' => '
|
| 10 |
-
'Tribe__Events__Filterbar__View' => '4.
|
| 11 |
'Tribe__Events__Tickets__Eventbrite__Main' => '4.6-dev',
|
| 12 |
'Tribe__Events__Community__Main' => '4.6-dev',
|
| 13 |
-
'Tribe__Events__Community__Tickets__Main' => '4.
|
| 14 |
),
|
| 15 |
);
|
| 16 |
|
| 6 |
protected $main_class = 'Tribe__Events__Main';
|
| 7 |
protected $dependencies = array(
|
| 8 |
'addon-dependencies' => array(
|
| 9 |
+
'Tribe__Events__Pro__Main' => '5.0.0-dev',
|
| 10 |
+
'Tribe__Events__Filterbar__View' => '4.9.0-dev',
|
| 11 |
'Tribe__Events__Tickets__Eventbrite__Main' => '4.6-dev',
|
| 12 |
'Tribe__Events__Community__Main' => '4.6-dev',
|
| 13 |
+
'Tribe__Events__Community__Tickets__Main' => '4.7.2-dev',
|
| 14 |
),
|
| 15 |
);
|
| 16 |
|
src/Tribe/REST/V1/Post_Repository.php
CHANGED
|
@@ -104,7 +104,6 @@ class Tribe__Events__REST__V1__Post_Repository implements Tribe__Events__REST__I
|
|
| 104 |
'date_utc' => $event->post_date_gmt,
|
| 105 |
'modified' => $event->post_modified,
|
| 106 |
'modified_utc' => $event->post_modified_gmt,
|
| 107 |
-
'status' => $event->post_status,
|
| 108 |
'url' => get_the_permalink( $event_id ),
|
| 109 |
'rest_url' => tribe_events_rest_url( 'events/' . $event_id ),
|
| 110 |
'title' => trim( apply_filters( 'the_title', $event->post_title, $event_id ) ),
|
| 104 |
'date_utc' => $event->post_date_gmt,
|
| 105 |
'modified' => $event->post_modified,
|
| 106 |
'modified_utc' => $event->post_modified_gmt,
|
|
|
|
| 107 |
'url' => get_the_permalink( $event_id ),
|
| 108 |
'rest_url' => tribe_events_rest_url( 'events/' . $event_id ),
|
| 109 |
'title' => trim( apply_filters( 'the_title', $event->post_title, $event_id ) ),
|
src/Tribe/Repositories/Event.php
CHANGED
|
@@ -1486,6 +1486,10 @@ class Tribe__Events__Repositories__Event extends Tribe__Repository {
|
|
| 1486 |
case $timestamp_key:
|
| 1487 |
$this->filter_query->orderby( [ $timestamp_key => $default_order ], null, null, $after );
|
| 1488 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1489 |
default:
|
| 1490 |
$after = $after || 1 === $loop;
|
| 1491 |
if ( empty( $this->query_args['orderby'] ) ) {
|
| 1486 |
case $timestamp_key:
|
| 1487 |
$this->filter_query->orderby( [ $timestamp_key => $default_order ], null, null, $after );
|
| 1488 |
break;
|
| 1489 |
+
case '__none':
|
| 1490 |
+
unset( $this->query_args['orderby'] );
|
| 1491 |
+
unset( $this->query_args['order'] );
|
| 1492 |
+
break;
|
| 1493 |
default:
|
| 1494 |
$after = $after || 1 === $loop;
|
| 1495 |
if ( empty( $this->query_args['orderby'] ) ) {
|
src/Tribe/Rewrite.php
CHANGED
|
@@ -436,7 +436,7 @@ class Tribe__Events__Rewrite extends Tribe__Rewrite {
|
|
| 436 |
* {@inheritDoc}
|
| 437 |
*/
|
| 438 |
protected function get_matcher_to_query_var_map() {
|
| 439 |
-
$
|
| 440 |
'month' => 'eventDisplay',
|
| 441 |
'list' => 'eventDisplay',
|
| 442 |
'today' => 'eventDisplay',
|
|
@@ -456,9 +456,9 @@ class Tribe__Events__Rewrite extends Tribe__Rewrite {
|
|
| 456 |
* @param array array of the current matchers for query vars.
|
| 457 |
* @param self $rewrite
|
| 458 |
*/
|
| 459 |
-
$
|
| 460 |
|
| 461 |
-
return $
|
| 462 |
}
|
| 463 |
|
| 464 |
/**
|
|
@@ -530,7 +530,7 @@ class Tribe__Events__Rewrite extends Tribe__Rewrite {
|
|
| 530 |
}
|
| 531 |
|
| 532 |
/**
|
| 533 |
-
* Overrides the base method, from
|
| 534 |
* the `eventDisplay` query variable.
|
| 535 |
*
|
| 536 |
* {@inheritDoc}
|
| 436 |
* {@inheritDoc}
|
| 437 |
*/
|
| 438 |
protected function get_matcher_to_query_var_map() {
|
| 439 |
+
$map = [
|
| 440 |
'month' => 'eventDisplay',
|
| 441 |
'list' => 'eventDisplay',
|
| 442 |
'today' => 'eventDisplay',
|
| 456 |
* @param array array of the current matchers for query vars.
|
| 457 |
* @param self $rewrite
|
| 458 |
*/
|
| 459 |
+
$map = apply_filters( 'tribe_events_rewrite_matchers_to_query_vars_map', $map, $this );
|
| 460 |
|
| 461 |
+
return $map;
|
| 462 |
}
|
| 463 |
|
| 464 |
/**
|
| 530 |
}
|
| 531 |
|
| 532 |
/**
|
| 533 |
+
* Overrides the base method, from common, to filter the parsed query variables and handle some cases related to
|
| 534 |
* the `eventDisplay` query variable.
|
| 535 |
*
|
| 536 |
* {@inheritDoc}
|
src/Tribe/Service_Providers/Context.php
CHANGED
|
@@ -179,8 +179,23 @@ class Context extends \tad_DI52_ServiceProvider {
|
|
| 179 |
*/
|
| 180 |
'read' => [
|
| 181 |
Tribe__Context::REQUEST_VAR => [ 'view', 'tribe_view', 'tribe_event_display', 'eventDisplay' ],
|
| 182 |
-
Tribe__Context::WP_PARSED => [ 'eventDisplay' ],
|
| 183 |
-
Tribe__Context::QUERY_VAR => 'eventDisplay',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 184 |
],
|
| 185 |
],
|
| 186 |
'keyword' => [
|
|
@@ -317,6 +332,14 @@ class Context extends \tad_DI52_ServiceProvider {
|
|
| 317 |
],
|
| 318 |
],
|
| 319 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 320 |
]
|
| 321 |
);
|
| 322 |
|
| 179 |
*/
|
| 180 |
'read' => [
|
| 181 |
Tribe__Context::REQUEST_VAR => [ 'view', 'tribe_view', 'tribe_event_display', 'eventDisplay' ],
|
| 182 |
+
Tribe__Context::WP_PARSED => [ 'eventDisplay', 'tribe_event_display' ],
|
| 183 |
+
Tribe__Context::QUERY_VAR => [ 'eventDisplay', 'tribe_event_display' ],
|
| 184 |
+
],
|
| 185 |
+
],
|
| 186 |
+
'tribe_event_display' => [
|
| 187 |
+
/**
|
| 188 |
+
* On V1 we depend on `tribe_event_display` to handle Plain permalink usage of `past` events.
|
| 189 |
+
* The context need to be aware of where to read and write this from.
|
| 190 |
+
*/
|
| 191 |
+
'read' => [
|
| 192 |
+
Tribe__Context::REQUEST_VAR => [ 'tribe_event_display' ],
|
| 193 |
+
Tribe__Context::WP_PARSED => [ 'tribe_event_display' ],
|
| 194 |
+
Tribe__Context::QUERY_VAR => [ 'tribe_event_display' ],
|
| 195 |
+
],
|
| 196 |
+
'write' => [
|
| 197 |
+
Tribe__Context::REQUEST_VAR => [ 'tribe_event_display', 'event_display_mode' ],
|
| 198 |
+
Tribe__Context::QUERY_VAR => [ 'tribe_event_display' ],
|
| 199 |
],
|
| 200 |
],
|
| 201 |
'keyword' => [
|
| 332 |
],
|
| 333 |
],
|
| 334 |
],
|
| 335 |
+
'view_request' => [
|
| 336 |
+
'read' => [
|
| 337 |
+
Tribe__Context::WP_MATCHED_QUERY => [ 'eventDisplay' ],
|
| 338 |
+
Tribe__Context::WP_PARSED => [ 'eventDisplay' ],
|
| 339 |
+
Tribe__Context::REQUEST_VAR => [ 'view', 'tribe_view', 'tribe_event_display', 'eventDisplay' ],
|
| 340 |
+
Tribe__Context::QUERY_VAR => [ 'tribe_view', 'eventDisplay' ],
|
| 341 |
+
],
|
| 342 |
+
],
|
| 343 |
]
|
| 344 |
);
|
| 345 |
|
src/Tribe/Template_Factory.php
CHANGED
|
@@ -408,10 +408,15 @@ class Tribe__Events__Template_Factory extends Tribe__Template_Factory {
|
|
| 408 |
add_filter( 'tribe_events_recurrence_tooltip', '__return_false' );
|
| 409 |
add_filter( 'tribe_event_meta_venue_name', '__return_empty_string' );
|
| 410 |
add_filter( 'tribe_event_meta_venue_address', '__return_empty_string' );
|
|
|
|
| 411 |
add_filter( 'tribe_event_featured_image', '__return_empty_string' );
|
| 412 |
add_filter( 'tribe_get_venue', '__return_empty_string' );
|
| 413 |
add_filter( 'tribe_get_cost', '__return_empty_string' );
|
| 414 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 415 |
if ( is_singular( Tribe__Events__Main::POSTTYPE ) ) {
|
| 416 |
add_filter( 'the_title', '__return_empty_string' );
|
| 417 |
add_filter( 'tribe_get_template_part_templates', '__return_empty_array' );
|
|
@@ -425,6 +430,10 @@ class Tribe__Events__Template_Factory extends Tribe__Template_Factory {
|
|
| 425 |
remove_filter( 'tribe_get_venue', '__return_empty_string' );
|
| 426 |
remove_filter( 'tribe_get_cost', '__return_empty_string' );
|
| 427 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 428 |
if ( is_singular( Tribe__Events__Main::POSTTYPE ) ) {
|
| 429 |
remove_filter( 'the_title', '__return_empty_string' );
|
| 430 |
remove_filter( 'tribe_get_template_part_templates', '__return_empty_array' );
|
|
@@ -567,4 +576,36 @@ class Tribe__Events__Template_Factory extends Tribe__Template_Factory {
|
|
| 567 |
'meta_after' => '',
|
| 568 |
) );
|
| 569 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 570 |
}
|
| 408 |
add_filter( 'tribe_events_recurrence_tooltip', '__return_false' );
|
| 409 |
add_filter( 'tribe_event_meta_venue_name', '__return_empty_string' );
|
| 410 |
add_filter( 'tribe_event_meta_venue_address', '__return_empty_string' );
|
| 411 |
+
add_filter( 'tribe_get_full_address', '__return_empty_string' );
|
| 412 |
add_filter( 'tribe_event_featured_image', '__return_empty_string' );
|
| 413 |
add_filter( 'tribe_get_venue', '__return_empty_string' );
|
| 414 |
add_filter( 'tribe_get_cost', '__return_empty_string' );
|
| 415 |
|
| 416 |
+
if ( wp_doing_ajax() ) {
|
| 417 |
+
add_filter( 'the_title', [ $this, 'filter_get_the_title' ], 10, 2 );
|
| 418 |
+
}
|
| 419 |
+
|
| 420 |
if ( is_singular( Tribe__Events__Main::POSTTYPE ) ) {
|
| 421 |
add_filter( 'the_title', '__return_empty_string' );
|
| 422 |
add_filter( 'tribe_get_template_part_templates', '__return_empty_array' );
|
| 430 |
remove_filter( 'tribe_get_venue', '__return_empty_string' );
|
| 431 |
remove_filter( 'tribe_get_cost', '__return_empty_string' );
|
| 432 |
|
| 433 |
+
if ( wp_doing_ajax() ) {
|
| 434 |
+
remove_filter( 'the_title', [ $this, 'filter_get_the_title' ], 10 );
|
| 435 |
+
}
|
| 436 |
+
|
| 437 |
if ( is_singular( Tribe__Events__Main::POSTTYPE ) ) {
|
| 438 |
remove_filter( 'the_title', '__return_empty_string' );
|
| 439 |
remove_filter( 'tribe_get_template_part_templates', '__return_empty_array' );
|
| 576 |
'meta_after' => '',
|
| 577 |
) );
|
| 578 |
}
|
| 579 |
+
|
| 580 |
+
/**
|
| 581 |
+
* Filters the post title as WordPress does in `get_the_title` to apply the password-protected prefix in
|
| 582 |
+
* the context of AJAX requests.
|
| 583 |
+
*
|
| 584 |
+
* @since 5.0.0
|
| 585 |
+
*
|
| 586 |
+
* @param string $title The post title.
|
| 587 |
+
* @param int|WP_Post $post_id The post ID, or object, to apply the filter for.
|
| 588 |
+
*
|
| 589 |
+
* @return string The filtered post title.
|
| 590 |
+
*/
|
| 591 |
+
public function filter_get_the_title( $title, $post_id = 0 ) {
|
| 592 |
+
$post = get_post( $post_id );
|
| 593 |
+
|
| 594 |
+
if ( ! $post instanceof WP_Post ) {
|
| 595 |
+
return $title;
|
| 596 |
+
}
|
| 597 |
+
|
| 598 |
+
if ( ! empty( $post->post_password ) ) {
|
| 599 |
+
/* translators: %s: Protected post title. */
|
| 600 |
+
$prepend = __( 'Protected: %s' );
|
| 601 |
+
|
| 602 |
+
/**
|
| 603 |
+
* @see get_the_title() for the original filter documentation.
|
| 604 |
+
*/
|
| 605 |
+
$protected_title_format = apply_filters( 'protected_title_format', $prepend, $post );
|
| 606 |
+
$title = sprintf( $protected_title_format, $title );
|
| 607 |
+
}
|
| 608 |
+
|
| 609 |
+
return $title;
|
| 610 |
+
}
|
| 611 |
}
|
src/Tribe/Timezones.php
CHANGED
|
@@ -131,6 +131,16 @@ class Tribe__Events__Timezones extends Tribe__Timezones {
|
|
| 131 |
* @return int
|
| 132 |
*/
|
| 133 |
protected static function get_event_timestamp( $event_id, $type = 'Start', $timezone = null ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 134 |
$event = get_post( Tribe__Events__Main::postIdHelper( $event_id ) );
|
| 135 |
$event_tz = get_post_meta( $event->ID, '_EventTimezone', true );
|
| 136 |
$site_tz = self::wp_timezone_string();
|
|
@@ -151,7 +161,7 @@ class Tribe__Events__Timezones extends Tribe__Timezones {
|
|
| 151 |
if ( $use_event_tz || ( $use_site_tz && $site_zone_is_event_zone ) ) {
|
| 152 |
$datetime = get_post_meta( $event->ID, "_Event{$type}Date", true );
|
| 153 |
|
| 154 |
-
return strtotime( $datetime );
|
| 155 |
}
|
| 156 |
|
| 157 |
// Otherwise lets load the event's UTC time and convert it
|
|
@@ -164,7 +174,11 @@ class Tribe__Events__Timezones extends Tribe__Timezones {
|
|
| 164 |
: $timezone;
|
| 165 |
|
| 166 |
$localized = self::to_tz( $datetime, $tzstring );
|
| 167 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 168 |
}
|
| 169 |
|
| 170 |
|
| 131 |
* @return int
|
| 132 |
*/
|
| 133 |
protected static function get_event_timestamp( $event_id, $type = 'Start', $timezone = null ) {
|
| 134 |
+
static $cache_var_name = __METHOD__;
|
| 135 |
+
|
| 136 |
+
$timestamps = tribe_get_var( $cache_var_name, [] );
|
| 137 |
+
|
| 138 |
+
$cache_key = "{$event_id}:{$type}:{$timezone}";
|
| 139 |
+
|
| 140 |
+
if ( isset( $timestamps[ $cache_key ] ) ) {
|
| 141 |
+
return $timestamps[ $cache_key ];
|
| 142 |
+
}
|
| 143 |
+
|
| 144 |
$event = get_post( Tribe__Events__Main::postIdHelper( $event_id ) );
|
| 145 |
$event_tz = get_post_meta( $event->ID, '_EventTimezone', true );
|
| 146 |
$site_tz = self::wp_timezone_string();
|
| 161 |
if ( $use_event_tz || ( $use_site_tz && $site_zone_is_event_zone ) ) {
|
| 162 |
$datetime = get_post_meta( $event->ID, "_Event{$type}Date", true );
|
| 163 |
|
| 164 |
+
return $timestamps[ $cache_key ] = strtotime( $datetime );
|
| 165 |
}
|
| 166 |
|
| 167 |
// Otherwise lets load the event's UTC time and convert it
|
| 174 |
: $timezone;
|
| 175 |
|
| 176 |
$localized = self::to_tz( $datetime, $tzstring );
|
| 177 |
+
$timestamps[ $cache_key ] = strtotime( $localized );
|
| 178 |
+
|
| 179 |
+
tribe_set_var( $cache_var_name, $timestamps );
|
| 180 |
+
|
| 181 |
+
return $timestamps[ $cache_key ];
|
| 182 |
}
|
| 183 |
|
| 184 |
|
src/Tribe/Venue.php
CHANGED
|
@@ -698,7 +698,12 @@ class Tribe__Events__Venue extends Tribe__Events__Linked_Posts__Base {
|
|
| 698 |
}
|
| 699 |
|
| 700 |
return static function () use ( $event ) {
|
| 701 |
-
$venue_ids =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 702 |
|
| 703 |
$venues = ! empty( $venue_ids )
|
| 704 |
? array_map( 'tribe_get_venue_object', $venue_ids )
|
| 698 |
}
|
| 699 |
|
| 700 |
return static function () use ( $event ) {
|
| 701 |
+
$venue_ids = array_filter(
|
| 702 |
+
array_map(
|
| 703 |
+
'absint',
|
| 704 |
+
(array) get_post_meta( $event, '_EventVenueID' )
|
| 705 |
+
)
|
| 706 |
+
);
|
| 707 |
|
| 708 |
$venues = ! empty( $venue_ids )
|
| 709 |
? array_map( 'tribe_get_venue_object', $venue_ids )
|
src/Tribe/Views/V2/Assets.php
CHANGED
|
@@ -12,6 +12,7 @@
|
|
| 12 |
namespace Tribe\Events\Views\V2;
|
| 13 |
|
| 14 |
use Tribe__Events__Main as Plugin;
|
|
|
|
| 15 |
|
| 16 |
/**
|
| 17 |
* Register
|
|
@@ -147,6 +148,7 @@ class Assets extends \tad_DI52_ServiceProvider {
|
|
| 147 |
[
|
| 148 |
'jquery',
|
| 149 |
'tribe-common',
|
|
|
|
| 150 |
],
|
| 151 |
null,
|
| 152 |
[
|
|
@@ -261,6 +263,7 @@ class Assets extends \tad_DI52_ServiceProvider {
|
|
| 261 |
[
|
| 262 |
'jquery',
|
| 263 |
'tribe-common',
|
|
|
|
| 264 |
'tribe-events-views-v2-accordion',
|
| 265 |
],
|
| 266 |
null,
|
|
@@ -297,6 +300,43 @@ class Assets extends \tad_DI52_ServiceProvider {
|
|
| 297 |
'priority' => 10,
|
| 298 |
]
|
| 299 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 300 |
}
|
| 301 |
|
| 302 |
/**
|
| 12 |
namespace Tribe\Events\Views\V2;
|
| 13 |
|
| 14 |
use Tribe__Events__Main as Plugin;
|
| 15 |
+
use Tribe__Events__Templates;
|
| 16 |
|
| 17 |
/**
|
| 18 |
* Register
|
| 148 |
[
|
| 149 |
'jquery',
|
| 150 |
'tribe-common',
|
| 151 |
+
'tribe-events-views-v2-breakpoints',
|
| 152 |
],
|
| 153 |
null,
|
| 154 |
[
|
| 263 |
[
|
| 264 |
'jquery',
|
| 265 |
'tribe-common',
|
| 266 |
+
'tribe-events-views-v2-viewport',
|
| 267 |
'tribe-events-views-v2-accordion',
|
| 268 |
],
|
| 269 |
null,
|
| 300 |
'priority' => 10,
|
| 301 |
]
|
| 302 |
);
|
| 303 |
+
|
| 304 |
+
tribe_asset(
|
| 305 |
+
$plugin,
|
| 306 |
+
'tribe-events-views-v2-breakpoints',
|
| 307 |
+
'views/breakpoints.js',
|
| 308 |
+
[
|
| 309 |
+
'jquery',
|
| 310 |
+
'tribe-common',
|
| 311 |
+
],
|
| 312 |
+
'wp_enqueue_scripts',
|
| 313 |
+
[
|
| 314 |
+
'priority' => 10,
|
| 315 |
+
'conditionals' => [ $this, 'should_enqueue_frontend' ],
|
| 316 |
+
'groups' => [ static::$group_key ],
|
| 317 |
+
'in_footer' => false,
|
| 318 |
+
]
|
| 319 |
+
);
|
| 320 |
+
|
| 321 |
+
$overrides_stylesheet = Tribe__Events__Templates::locate_stylesheet( 'tribe-events/tribe-events.css' );
|
| 322 |
+
|
| 323 |
+
if ( ! empty( $overrides_stylesheet ) ) {
|
| 324 |
+
tribe_asset(
|
| 325 |
+
$plugin,
|
| 326 |
+
'tribe-events-views-v2-override-style',
|
| 327 |
+
$overrides_stylesheet,
|
| 328 |
+
[
|
| 329 |
+
'tribe-common-full-style',
|
| 330 |
+
'tribe-events-views-v2-skeleton',
|
| 331 |
+
],
|
| 332 |
+
'wp_enqueue_scripts',
|
| 333 |
+
[
|
| 334 |
+
'priority' => 10,
|
| 335 |
+
'conditionals' => [ $this, 'should_enqueue_frontend' ],
|
| 336 |
+
'groups' => [ static::$group_key ],
|
| 337 |
+
]
|
| 338 |
+
);
|
| 339 |
+
}
|
| 340 |
}
|
| 341 |
|
| 342 |
/**
|
src/Tribe/Views/V2/Hooks.php
CHANGED
|
@@ -19,11 +19,12 @@ namespace Tribe\Events\Views\V2;
|
|
| 19 |
|
| 20 |
use Tribe\Events\Views\V2\Query\Abstract_Query_Controller;
|
| 21 |
use Tribe\Events\Views\V2\Query\Event_Query_Controller;
|
| 22 |
-
use Tribe\Events\Views\V2\Repository\Caching_Set_Decorator;
|
| 23 |
use Tribe\Events\Views\V2\Repository\Event_Period;
|
| 24 |
use Tribe\Events\Views\V2\Template\Title;
|
| 25 |
use Tribe__Events__Main as TEC;
|
| 26 |
-
use Tribe__Rewrite as
|
|
|
|
|
|
|
| 27 |
|
| 28 |
/**
|
| 29 |
* Class Hooks
|
|
@@ -58,6 +59,7 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
| 58 |
add_action( 'wp_enqueue_scripts', [ $this, 'action_disable_assets_v1' ], 0 );
|
| 59 |
add_action( 'tribe_events_pro_shortcode_tribe_events_after_assets', [ $this, 'action_disable_shortcode_assets_v1' ] );
|
| 60 |
add_action( 'updated_option', [ $this, 'action_save_wplang' ], 10, 3 );
|
|
|
|
| 61 |
}
|
| 62 |
|
| 63 |
/**
|
|
@@ -66,8 +68,8 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
| 66 |
* @since 4.9.2
|
| 67 |
*/
|
| 68 |
protected function add_filters() {
|
| 69 |
-
add_filter( 'wp_redirect', [ $this, '
|
| 70 |
-
add_filter( 'redirect_canonical', [ $this, '
|
| 71 |
add_action( 'tribe_events_parse_query', [ $this, 'parse_query' ] );
|
| 72 |
add_filter( 'template_include', [ $this, 'filter_template_include' ], 50 );
|
| 73 |
add_filter( 'embed_template', [ $this, 'filter_template_include' ], 50 );
|
|
@@ -84,10 +86,14 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
| 84 |
add_filter( 'tribe_events_event_repository_map', [ $this, 'add_period_repository' ], 10, 3 );
|
| 85 |
|
| 86 |
add_filter( 'tribe_general_settings_tab_fields', [ $this, 'filter_general_settings_tab_live_update' ], 20 );
|
|
|
|
|
|
|
|
|
|
| 87 |
|
| 88 |
if ( tribe_context()->doing_php_initial_state() ) {
|
| 89 |
add_filter( 'wp_title', [ $this, 'filter_wp_title' ], 10, 2 );
|
| 90 |
add_filter( 'document_title_parts', [ $this, 'filter_document_title_parts' ] );
|
|
|
|
| 91 |
}
|
| 92 |
}
|
| 93 |
|
|
@@ -159,7 +165,7 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
| 159 |
*
|
| 160 |
* @param \Tribe__Events__Rewrite $rewrite An instance of the Tribe rewrite abstraction.
|
| 161 |
*/
|
| 162 |
-
public function on_tribe_events_pre_rewrite(
|
| 163 |
$this->container->make( Kitchen_Sink::class )->generate_rules( $rewrite );
|
| 164 |
}
|
| 165 |
|
|
@@ -297,13 +303,33 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
| 297 |
* @return string The modified page title, if required.
|
| 298 |
*/
|
| 299 |
public function filter_wp_title( $title, $sep = null ) {
|
| 300 |
-
|
|
|
|
| 301 |
return $title;
|
| 302 |
}
|
| 303 |
|
| 304 |
return $this->container->make( Title::class )->filter_wp_title( $title, $sep );
|
| 305 |
}
|
| 306 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 307 |
/**
|
| 308 |
* Filters the `wp_get_document_title` template tag.
|
| 309 |
*
|
|
@@ -316,10 +342,12 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
| 316 |
* @return string The modified page title, if required.
|
| 317 |
*/
|
| 318 |
public function filter_document_title_parts( $title ) {
|
| 319 |
-
|
|
|
|
| 320 |
return $title;
|
| 321 |
}
|
| 322 |
|
|
|
|
| 323 |
return $this->container->make( Title::class )->filter_document_title_parts( $title );
|
| 324 |
}
|
| 325 |
|
|
@@ -376,15 +404,40 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
| 376 |
*
|
| 377 |
* @return string A redirection URL, or `false` to prevent redirection.
|
| 378 |
*/
|
| 379 |
-
public function
|
|
|
|
|
|
|
|
|
|
|
|
|
| 380 |
$context = tribe_context();
|
| 381 |
|
| 382 |
-
|
| 383 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 384 |
return $redirect_url;
|
| 385 |
}
|
| 386 |
|
| 387 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 388 |
}
|
| 389 |
|
| 390 |
/**
|
|
@@ -401,11 +454,6 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
| 401 |
return $fields;
|
| 402 |
}
|
| 403 |
|
| 404 |
-
$disable_bar = tribe_is_truthy( tribe_get_option( 'tribeDisableTribeBar', false ) );
|
| 405 |
-
if ( $disable_bar ) {
|
| 406 |
-
return $fields;
|
| 407 |
-
}
|
| 408 |
-
|
| 409 |
$fields['liveFiltersUpdate']['tooltip'] .= '<br/>' . esc_html__( 'Recommended for all sites using the updated calendar views.', 'the-events-calendar' );
|
| 410 |
|
| 411 |
return $fields;
|
|
@@ -485,4 +533,72 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
| 485 |
// And `flush_rewrite_rules()` doesn't take effect.
|
| 486 |
delete_option( 'rewrite_rules' );
|
| 487 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 488 |
}
|
| 19 |
|
| 20 |
use Tribe\Events\Views\V2\Query\Abstract_Query_Controller;
|
| 21 |
use Tribe\Events\Views\V2\Query\Event_Query_Controller;
|
|
|
|
| 22 |
use Tribe\Events\Views\V2\Repository\Event_Period;
|
| 23 |
use Tribe\Events\Views\V2\Template\Title;
|
| 24 |
use Tribe__Events__Main as TEC;
|
| 25 |
+
use Tribe__Rewrite as TEC_Rewrite;
|
| 26 |
+
use Tribe__Utils__Array as Arr;
|
| 27 |
+
use Tribe__Date_Utils as Dates;
|
| 28 |
|
| 29 |
/**
|
| 30 |
* Class Hooks
|
| 59 |
add_action( 'wp_enqueue_scripts', [ $this, 'action_disable_assets_v1' ], 0 );
|
| 60 |
add_action( 'tribe_events_pro_shortcode_tribe_events_after_assets', [ $this, 'action_disable_shortcode_assets_v1' ] );
|
| 61 |
add_action( 'updated_option', [ $this, 'action_save_wplang' ], 10, 3 );
|
| 62 |
+
add_action( 'the_post', [ $this, 'manage_sensitive_info' ] );
|
| 63 |
}
|
| 64 |
|
| 65 |
/**
|
| 68 |
* @since 4.9.2
|
| 69 |
*/
|
| 70 |
protected function add_filters() {
|
| 71 |
+
add_filter( 'wp_redirect', [ $this, 'filter_redirect_canonical' ], 10, 2 );
|
| 72 |
+
add_filter( 'redirect_canonical', [ $this, 'filter_redirect_canonical' ], 10, 2 );
|
| 73 |
add_action( 'tribe_events_parse_query', [ $this, 'parse_query' ] );
|
| 74 |
add_filter( 'template_include', [ $this, 'filter_template_include' ], 50 );
|
| 75 |
add_filter( 'embed_template', [ $this, 'filter_template_include' ], 50 );
|
| 86 |
add_filter( 'tribe_events_event_repository_map', [ $this, 'add_period_repository' ], 10, 3 );
|
| 87 |
|
| 88 |
add_filter( 'tribe_general_settings_tab_fields', [ $this, 'filter_general_settings_tab_live_update' ], 20 );
|
| 89 |
+
add_filter( 'tribe_events_rewrite_i18n_slugs_raw', [ $this, 'filter_rewrite_i18n_slugs_raw' ], 50, 2 );
|
| 90 |
+
add_filter( 'tribe_get_event_after', [ $this, 'filter_events_properties' ] );
|
| 91 |
+
add_filter( 'tribe_template_file', [ $this, 'filter_template_file' ], 10, 3 );
|
| 92 |
|
| 93 |
if ( tribe_context()->doing_php_initial_state() ) {
|
| 94 |
add_filter( 'wp_title', [ $this, 'filter_wp_title' ], 10, 2 );
|
| 95 |
add_filter( 'document_title_parts', [ $this, 'filter_document_title_parts' ] );
|
| 96 |
+
add_filter( 'pre_get_document_title', [ $this, 'pre_get_document_title' ], 20 );
|
| 97 |
}
|
| 98 |
}
|
| 99 |
|
| 165 |
*
|
| 166 |
* @param \Tribe__Events__Rewrite $rewrite An instance of the Tribe rewrite abstraction.
|
| 167 |
*/
|
| 168 |
+
public function on_tribe_events_pre_rewrite( TEC_Rewrite $rewrite ) {
|
| 169 |
$this->container->make( Kitchen_Sink::class )->generate_rules( $rewrite );
|
| 170 |
}
|
| 171 |
|
| 303 |
* @return string The modified page title, if required.
|
| 304 |
*/
|
| 305 |
public function filter_wp_title( $title, $sep = null ) {
|
| 306 |
+
$bootstrap = $this->container->make( Template_Bootstrap::class );
|
| 307 |
+
if ( ! $bootstrap->should_load() || $bootstrap->is_single_event() ) {
|
| 308 |
return $title;
|
| 309 |
}
|
| 310 |
|
| 311 |
return $this->container->make( Title::class )->filter_wp_title( $title, $sep );
|
| 312 |
}
|
| 313 |
|
| 314 |
+
/**
|
| 315 |
+
* Filters the `pre_get_document_title` to prevent conflicts when other plugins
|
| 316 |
+
* modify this initial value on our pages.
|
| 317 |
+
*
|
| 318 |
+
* @since 5.0.0
|
| 319 |
+
*
|
| 320 |
+
* @param string $title The current title value.
|
| 321 |
+
*
|
| 322 |
+
* @return string The current title or empty string.
|
| 323 |
+
*/
|
| 324 |
+
public function pre_get_document_title( $title ) {
|
| 325 |
+
$bootstrap = $this->container->make( Template_Bootstrap::class );
|
| 326 |
+
if ( ! $bootstrap->should_load() || $bootstrap->is_single_event() ) {
|
| 327 |
+
return $title;
|
| 328 |
+
}
|
| 329 |
+
|
| 330 |
+
return '';
|
| 331 |
+
}
|
| 332 |
+
|
| 333 |
/**
|
| 334 |
* Filters the `wp_get_document_title` template tag.
|
| 335 |
*
|
| 342 |
* @return string The modified page title, if required.
|
| 343 |
*/
|
| 344 |
public function filter_document_title_parts( $title ) {
|
| 345 |
+
$bootstrap = $this->container->make( Template_Bootstrap::class );
|
| 346 |
+
if ( ! $bootstrap->should_load() || $bootstrap->is_single_event() ) {
|
| 347 |
return $title;
|
| 348 |
}
|
| 349 |
|
| 350 |
+
|
| 351 |
return $this->container->make( Title::class )->filter_document_title_parts( $title );
|
| 352 |
}
|
| 353 |
|
| 404 |
*
|
| 405 |
* @return string A redirection URL, or `false` to prevent redirection.
|
| 406 |
*/
|
| 407 |
+
public function filter_redirect_canonical( $redirect_url = null, $original_url = null ) {
|
| 408 |
+
if ( trailingslashit( $original_url ) === trailingslashit( $redirect_url ) ) {
|
| 409 |
+
return $redirect_url;
|
| 410 |
+
}
|
| 411 |
+
|
| 412 |
$context = tribe_context();
|
| 413 |
|
| 414 |
+
$view = $context->get( 'view_request', null );
|
| 415 |
+
|
| 416 |
+
if ( 'embed' === $view ) {
|
| 417 |
+
// Do not redirect embedded Views.
|
| 418 |
+
return false;
|
| 419 |
+
}
|
| 420 |
+
|
| 421 |
+
if ( empty( $view ) || 'single-event' === $view ) {
|
| 422 |
+
// Let the redirection go on.
|
| 423 |
return $redirect_url;
|
| 424 |
}
|
| 425 |
|
| 426 |
+
$parsed = \Tribe__Events__Rewrite::instance()->parse_request( $redirect_url );
|
| 427 |
+
|
| 428 |
+
if (
|
| 429 |
+
empty( $parsed['tribe_redirected'] )
|
| 430 |
+
&& $view !== Arr::get( (array) $parsed, 'eventDisplay' )
|
| 431 |
+
) {
|
| 432 |
+
|
| 433 |
+
/*
|
| 434 |
+
* If we're here we know we should be looking at a View URL.
|
| 435 |
+
* If the proposed URL does not resolve to a View, do not redirect.
|
| 436 |
+
*/
|
| 437 |
+
return false;
|
| 438 |
+
}
|
| 439 |
+
|
| 440 |
+
return $redirect_url;
|
| 441 |
}
|
| 442 |
|
| 443 |
/**
|
| 454 |
return $fields;
|
| 455 |
}
|
| 456 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 457 |
$fields['liveFiltersUpdate']['tooltip'] .= '<br/>' . esc_html__( 'Recommended for all sites using the updated calendar views.', 'the-events-calendar' );
|
| 458 |
|
| 459 |
return $fields;
|
| 533 |
// And `flush_rewrite_rules()` doesn't take effect.
|
| 534 |
delete_option( 'rewrite_rules' );
|
| 535 |
}
|
| 536 |
+
|
| 537 |
+
/**
|
| 538 |
+
* Filters rewrite rules to modify and update them for Views V2.
|
| 539 |
+
*
|
| 540 |
+
* @since 5.0.0
|
| 541 |
+
*
|
| 542 |
+
* @param array $bases An array of rewrite bases that have been generated.
|
| 543 |
+
* @param string $method The method that's being used to generate the bases; defaults to `regex`.
|
| 544 |
+
*
|
| 545 |
+
* @return array<string,array> An array of rewrite rules. Modified, if required, to support Views V2.
|
| 546 |
+
*/
|
| 547 |
+
public function filter_rewrite_i18n_slugs_raw( $bases, $method ) {
|
| 548 |
+
if ( ! is_array( $bases ) ) {
|
| 549 |
+
return $bases;
|
| 550 |
+
}
|
| 551 |
+
|
| 552 |
+
return $this->container->make( Rewrite::class )->filter_raw_i18n_slugs( $bases, $method );
|
| 553 |
+
}
|
| 554 |
+
|
| 555 |
+
/**
|
| 556 |
+
* Fires to manage sensitive information on password protected posts.
|
| 557 |
+
*
|
| 558 |
+
* @since 5.0.0
|
| 559 |
+
*
|
| 560 |
+
* @param \WP_Post|int $post The event post ID or object currently being decorated.
|
| 561 |
+
*/
|
| 562 |
+
public function manage_sensitive_info( $post ) {
|
| 563 |
+
if ( $this->container->make( Template_Bootstrap::class )->is_single_event() ) {
|
| 564 |
+
$this->container->make( Template\Event::class )->manage_sensitive_info( $post );
|
| 565 |
+
}
|
| 566 |
+
}
|
| 567 |
+
|
| 568 |
+
/**
|
| 569 |
+
* Updates and modifies the properties added to the event post object by the `tribe_get_event` function to
|
| 570 |
+
* hide some sensitive information, if required.
|
| 571 |
+
*
|
| 572 |
+
* @since 5.0.0
|
| 573 |
+
*
|
| 574 |
+
* @param \WP_Post $event The event post object, decorated w/ properties added by the `tribe_get_event` function.
|
| 575 |
+
*
|
| 576 |
+
* @return \WP_Post The event post object, decorated w/ properties added by the `tribe_get_event` function, some of
|
| 577 |
+
* them updated to hide sensitive information, if required.
|
| 578 |
+
*/
|
| 579 |
+
public function filter_events_properties( $event ) {
|
| 580 |
+
if ( ! $event instanceof \WP_Post ) {
|
| 581 |
+
return $event;
|
| 582 |
+
}
|
| 583 |
+
|
| 584 |
+
return $this->container->make( Template\Event::class )->filter_event_properties( $event );
|
| 585 |
+
}
|
| 586 |
+
|
| 587 |
+
/**
|
| 588 |
+
* Filter the template file in case we're in single event
|
| 589 |
+
* and we need to use the theme overrides.
|
| 590 |
+
*
|
| 591 |
+
* @see tribe_template_file
|
| 592 |
+
*
|
| 593 |
+
* @since 5.0.0
|
| 594 |
+
*
|
| 595 |
+
* @param string $file Complete path to include the PHP File
|
| 596 |
+
* @param array $name Template name
|
| 597 |
+
* @param object $template Instance of the Tribe__Template
|
| 598 |
+
*
|
| 599 |
+
* @return string
|
| 600 |
+
*/
|
| 601 |
+
public function filter_template_file( $file, $name, $template ) {
|
| 602 |
+
return $this->container->make( Template_Bootstrap::class )->filter_template_file( $file, $name, $template );
|
| 603 |
+
}
|
| 604 |
}
|
src/Tribe/Views/V2/Index.php
CHANGED
|
@@ -22,6 +22,6 @@ class Index extends Template {
|
|
| 22 |
* Overrides the base implementation to allow plugins and themes to override the index file.
|
| 23 |
*/
|
| 24 |
public function __construct() {
|
| 25 |
-
parent::__construct( '
|
| 26 |
}
|
| 27 |
}
|
| 22 |
* Overrides the base implementation to allow plugins and themes to override the index file.
|
| 23 |
*/
|
| 24 |
public function __construct() {
|
| 25 |
+
parent::__construct( 'default-template' );
|
| 26 |
}
|
| 27 |
}
|
src/Tribe/Views/V2/Kitchen_Sink.php
CHANGED
|
@@ -9,7 +9,6 @@ namespace Tribe\Events\Views\V2;
|
|
| 9 |
|
| 10 |
use Tribe__Events__Main as Events;
|
| 11 |
use Tribe__Template as Template;
|
| 12 |
-
use Tribe__Events__Rewrite as Rewrite;
|
| 13 |
|
| 14 |
/**
|
| 15 |
* Class Kitchen_Sink
|
|
@@ -71,7 +70,7 @@ class Kitchen_Sink extends Template {
|
|
| 71 |
*
|
| 72 |
* @return void
|
| 73 |
*/
|
| 74 |
-
public function generate_rules(
|
| 75 |
$args = [
|
| 76 |
'post_type' => Events::POSTTYPE,
|
| 77 |
'tribe_events_views_kitchen_sink' => 'page',
|
| 9 |
|
| 10 |
use Tribe__Events__Main as Events;
|
| 11 |
use Tribe__Template as Template;
|
|
|
|
| 12 |
|
| 13 |
/**
|
| 14 |
* Class Kitchen_Sink
|
| 70 |
*
|
| 71 |
* @return void
|
| 72 |
*/
|
| 73 |
+
public function generate_rules( \Tribe__Events__Rewrite $rewrite ) {
|
| 74 |
$args = [
|
| 75 |
'post_type' => Events::POSTTYPE,
|
| 76 |
'tribe_events_views_kitchen_sink' => 'page',
|
src/Tribe/Views/V2/Manager.php
CHANGED
|
@@ -145,8 +145,7 @@ class Manager {
|
|
| 145 |
|
| 146 |
$views = array_filter(
|
| 147 |
$views,
|
| 148 |
-
static function ( $view_class, $slug ) use ( $enabled_views )
|
| 149 |
-
{
|
| 150 |
return in_array( $slug, $enabled_views, true )
|
| 151 |
&& (bool) call_user_func( [ $view_class, 'is_publicly_visible' ] );
|
| 152 |
},
|
|
@@ -156,6 +155,30 @@ class Manager {
|
|
| 156 |
return $views;
|
| 157 |
}
|
| 158 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 159 |
/**
|
| 160 |
* Returns the slug and class of a given view, accepts slug or class.
|
| 161 |
* Will return false for both in case both fail.
|
|
@@ -208,7 +231,7 @@ class Manager {
|
|
| 208 |
*
|
| 209 |
* @since 4.9.4
|
| 210 |
*
|
| 211 |
-
* @param string $slug The view
|
| 212 |
*
|
| 213 |
* @return string|false The class currently associated to a View slug if it is found, `false` otherwise.
|
| 214 |
*/
|
|
@@ -217,4 +240,103 @@ class Manager {
|
|
| 217 |
|
| 218 |
return Arr::get( $registered_views, $slug, false );
|
| 219 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 220 |
}
|
| 145 |
|
| 146 |
$views = array_filter(
|
| 147 |
$views,
|
| 148 |
+
static function ( $view_class, $slug ) use ( $enabled_views ) {
|
|
|
|
| 149 |
return in_array( $slug, $enabled_views, true )
|
| 150 |
&& (bool) call_user_func( [ $view_class, 'is_publicly_visible' ] );
|
| 151 |
},
|
| 155 |
return $views;
|
| 156 |
}
|
| 157 |
|
| 158 |
+
/**
|
| 159 |
+
* Returns an array of data of the public views.
|
| 160 |
+
*
|
| 161 |
+
* @since 5.0.0
|
| 162 |
+
*
|
| 163 |
+
* @return array
|
| 164 |
+
*/
|
| 165 |
+
public function get_publicly_visible_views_data() {
|
| 166 |
+
$views = $this->get_publicly_visible_views();
|
| 167 |
+
|
| 168 |
+
array_walk(
|
| 169 |
+
$views,
|
| 170 |
+
function ( &$value, $view_slug ) {
|
| 171 |
+
$value = (object) [
|
| 172 |
+
'view_class' => $value,
|
| 173 |
+
'view_url' => tribe_events_get_url( array_filter( [ 'eventDisplay' => $view_slug ] ) ),
|
| 174 |
+
'view_label' => $this->get_view_label_by_slug( $view_slug ),
|
| 175 |
+
];
|
| 176 |
+
}
|
| 177 |
+
);
|
| 178 |
+
|
| 179 |
+
return $views;
|
| 180 |
+
}
|
| 181 |
+
|
| 182 |
/**
|
| 183 |
* Returns the slug and class of a given view, accepts slug or class.
|
| 184 |
* Will return false for both in case both fail.
|
| 231 |
*
|
| 232 |
* @since 4.9.4
|
| 233 |
*
|
| 234 |
+
* @param string $slug The view slug.
|
| 235 |
*
|
| 236 |
* @return string|false The class currently associated to a View slug if it is found, `false` otherwise.
|
| 237 |
*/
|
| 240 |
|
| 241 |
return Arr::get( $registered_views, $slug, false );
|
| 242 |
}
|
| 243 |
+
|
| 244 |
+
/**
|
| 245 |
+
* Returns the view label based on the fully qualified class name.
|
| 246 |
+
*
|
| 247 |
+
* @since 5.0.0
|
| 248 |
+
*
|
| 249 |
+
* @param string $view_class The view fully qualified class name.
|
| 250 |
+
*
|
| 251 |
+
* @return string|false The label associated with a given View.
|
| 252 |
+
*/
|
| 253 |
+
public function get_view_label_by_class( $view_class ) {
|
| 254 |
+
$slug = $this->get_view_slug_by_class( $view_class );
|
| 255 |
+
|
| 256 |
+
if ( ! $slug ) {
|
| 257 |
+
return false;
|
| 258 |
+
}
|
| 259 |
+
|
| 260 |
+
return $this->prepare_view_label( $slug, $view_class );
|
| 261 |
+
}
|
| 262 |
+
|
| 263 |
+
/**
|
| 264 |
+
* Returns the view label based on the view slug.
|
| 265 |
+
*
|
| 266 |
+
* @since 5.0.0
|
| 267 |
+
*
|
| 268 |
+
* @param string $slug The view slug.
|
| 269 |
+
*
|
| 270 |
+
* @return string|false The label associated with a given View.
|
| 271 |
+
*/
|
| 272 |
+
public function get_view_label_by_slug( $slug ) {
|
| 273 |
+
$view_class = $this->get_view_class_by_slug( $slug );
|
| 274 |
+
|
| 275 |
+
if ( ! $view_class ) {
|
| 276 |
+
return false;
|
| 277 |
+
}
|
| 278 |
+
|
| 279 |
+
return $this->prepare_view_label( $slug, $view_class );
|
| 280 |
+
}
|
| 281 |
+
|
| 282 |
+
/**
|
| 283 |
+
* Prepare the view Label with filters for the domain and label.
|
| 284 |
+
*
|
| 285 |
+
* @param string $slug The view slug.
|
| 286 |
+
* @param string $view_class The view fully qualified class name.
|
| 287 |
+
*
|
| 288 |
+
* @return string The filtered label associated with a given View.
|
| 289 |
+
*/
|
| 290 |
+
protected function prepare_view_label( $slug, $view_class ) {
|
| 291 |
+
$label = ucfirst( $slug );
|
| 292 |
+
|
| 293 |
+
/**
|
| 294 |
+
* Filters the label that will be used on the UI for views listing.
|
| 295 |
+
*
|
| 296 |
+
* @since 5.0.0
|
| 297 |
+
*
|
| 298 |
+
* @param string $domain Text Domain for the View label.
|
| 299 |
+
* @param string $slug Slug of the view we are getting the label for.
|
| 300 |
+
* @param string $view_class Class Name of the view we are getting the label for.
|
| 301 |
+
*/
|
| 302 |
+
$domain = apply_filters( 'tribe_events_views_v2_manager_view_label_domain', 'the-events-calendar', $slug, $view_class );
|
| 303 |
+
|
| 304 |
+
/**
|
| 305 |
+
* Filters the label that will be used on the UI for views listing.
|
| 306 |
+
*
|
| 307 |
+
* @since 5.0.0
|
| 308 |
+
*
|
| 309 |
+
* @param string $domain Text Domain for the View label.
|
| 310 |
+
* @param string $view_class Class Name of the view we are getting the label for.
|
| 311 |
+
*/
|
| 312 |
+
$domain = apply_filters( "tribe_events_views_v2_manager_{$slug}_view_label_domain", $domain, $view_class );
|
| 313 |
+
|
| 314 |
+
/**
|
| 315 |
+
* Pass by the translation engine, dont remove.
|
| 316 |
+
*/
|
| 317 |
+
$label = __( $label, $domain );
|
| 318 |
+
|
| 319 |
+
/**
|
| 320 |
+
* Filters the label that will be used on the UI for views listing.
|
| 321 |
+
*
|
| 322 |
+
* @since 5.0.0
|
| 323 |
+
*
|
| 324 |
+
* @param string $label Label of the Current view.
|
| 325 |
+
* @param string $slug Slug of the view we are getting the label for.
|
| 326 |
+
* @param string $view_class Class Name of the view we are getting the label for.
|
| 327 |
+
*/
|
| 328 |
+
$label = apply_filters( 'tribe_events_views_v2_manager_view_label', $label, $slug, $view_class );
|
| 329 |
+
|
| 330 |
+
/**
|
| 331 |
+
* Filters the label that will be used on the UI for views listing.
|
| 332 |
+
*
|
| 333 |
+
* @since 5.0.0
|
| 334 |
+
*
|
| 335 |
+
* @param string $label Label of the Current view.
|
| 336 |
+
* @param string $view_class Class Name of the view we are getting the label for.
|
| 337 |
+
*/
|
| 338 |
+
$label = apply_filters( "tribe_events_views_v2_manager_{$slug}_view_label", $label, $view_class );
|
| 339 |
+
|
| 340 |
+
return $label;
|
| 341 |
+
}
|
| 342 |
}
|
src/Tribe/Views/V2/Repository/Event_Period.php
CHANGED
|
@@ -707,7 +707,7 @@ class Event_Period implements Core_Read_Interface {
|
|
| 707 |
$results = $this->query_for_sets_ending_after_period_start(
|
| 708 |
$limit,
|
| 709 |
$start,
|
| 710 |
-
|
| 711 |
);
|
| 712 |
|
| 713 |
if ( empty( $results ) ) {
|
|
@@ -715,7 +715,7 @@ class Event_Period implements Core_Read_Interface {
|
|
| 715 |
}
|
| 716 |
|
| 717 |
$starting_before_period_end = array_combine(
|
| 718 |
-
|
| 719 |
$starting_before_period_end
|
| 720 |
);
|
| 721 |
|
|
@@ -725,7 +725,7 @@ class Event_Period implements Core_Read_Interface {
|
|
| 725 |
}
|
| 726 |
unset( $result );
|
| 727 |
|
| 728 |
-
$post_ids =
|
| 729 |
$timezone_details = $this->query_for_meta( $limit, '_EventTimezone', $post_ids );
|
| 730 |
$all_day_details = $this->query_for_meta( $limit, '_EventAllDay', $post_ids, 'LEFT' );
|
| 731 |
|
|
@@ -925,7 +925,7 @@ class Event_Period implements Core_Read_Interface {
|
|
| 925 |
|
| 926 |
$results = $this->query_w_limit( $limit, $query, $prepare_args, $post_ids );
|
| 927 |
|
| 928 |
-
return array_combine(
|
| 929 |
}
|
| 930 |
|
| 931 |
/**
|
|
@@ -1222,11 +1222,9 @@ class Event_Period implements Core_Read_Interface {
|
|
| 1222 |
/** @var \DateTimeInterface $day */
|
| 1223 |
foreach ( $period as $day ) {
|
| 1224 |
$day_string = $day->format( Dates::DBDATEFORMAT );
|
|
|
|
| 1225 |
|
| 1226 |
-
$sets[ $day_string ] =
|
| 1227 |
-
static::get_cache_key( $day_string . '_set' ),
|
| 1228 |
-
$trigger
|
| 1229 |
-
) );
|
| 1230 |
}
|
| 1231 |
|
| 1232 |
return $sets;
|
| 707 |
$results = $this->query_for_sets_ending_after_period_start(
|
| 708 |
$limit,
|
| 709 |
$start,
|
| 710 |
+
wp_list_pluck( $starting_before_period_end, 'ID' )
|
| 711 |
);
|
| 712 |
|
| 713 |
if ( empty( $results ) ) {
|
| 715 |
}
|
| 716 |
|
| 717 |
$starting_before_period_end = array_combine(
|
| 718 |
+
wp_list_pluck( $starting_before_period_end, 'ID' ),
|
| 719 |
$starting_before_period_end
|
| 720 |
);
|
| 721 |
|
| 725 |
}
|
| 726 |
unset( $result );
|
| 727 |
|
| 728 |
+
$post_ids = wp_list_pluck( $results, 'ID' );
|
| 729 |
$timezone_details = $this->query_for_meta( $limit, '_EventTimezone', $post_ids );
|
| 730 |
$all_day_details = $this->query_for_meta( $limit, '_EventAllDay', $post_ids, 'LEFT' );
|
| 731 |
|
| 925 |
|
| 926 |
$results = $this->query_w_limit( $limit, $query, $prepare_args, $post_ids );
|
| 927 |
|
| 928 |
+
return array_combine( wp_list_pluck( $results, 'ID' ), $results );
|
| 929 |
}
|
| 930 |
|
| 931 |
/**
|
| 1222 |
/** @var \DateTimeInterface $day */
|
| 1223 |
foreach ( $period as $day ) {
|
| 1224 |
$day_string = $day->format( Dates::DBDATEFORMAT );
|
| 1225 |
+
$cached = $cache->get_transient( static::get_cache_key( $day_string . '_set' ), $trigger );
|
| 1226 |
|
| 1227 |
+
$sets[ $day_string ] = Events_Result_Set::from_value( $cached );
|
|
|
|
|
|
|
|
|
|
| 1228 |
}
|
| 1229 |
|
| 1230 |
return $sets;
|
src/Tribe/Views/V2/Repository/Events_Result_Set.php
CHANGED
|
@@ -41,6 +41,64 @@ class Events_Result_Set implements Collection_Interface {
|
|
| 41 |
$this->items = $this->normalize_event_results( $event_results );
|
| 42 |
}
|
| 43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
/**
|
| 45 |
* Builds a result set from different type of values.
|
| 46 |
*
|
|
@@ -57,20 +115,37 @@ class Events_Result_Set implements Collection_Interface {
|
|
| 57 |
}
|
| 58 |
|
| 59 |
if ( is_array( $value ) ) {
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
}
|
| 66 |
|
| 67 |
return new Events_Result_Set( [] );
|
| 68 |
}
|
| 69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 70 |
public function count() {
|
| 71 |
return count( $this->items );
|
| 72 |
}
|
| 73 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 74 |
public function order_by( $order_by, $order ) {
|
| 75 |
$order = strtoupper( $order );
|
| 76 |
if ( ! in_array( $order, [ 'ASC', 'DESC' ], true ) ) {
|
| 41 |
$this->items = $this->normalize_event_results( $event_results );
|
| 42 |
}
|
| 43 |
|
| 44 |
+
/**
|
| 45 |
+
* Returns whether a string represents a serialized instance of the class or not.
|
| 46 |
+
*
|
| 47 |
+
* @since 5.0.0
|
| 48 |
+
*
|
| 49 |
+
* @param mixed $value The value to test.
|
| 50 |
+
*
|
| 51 |
+
* @return bool Whether the input value is a string representing a serialized instance of the class or not.
|
| 52 |
+
*/
|
| 53 |
+
protected static function is_serialized( $value ) {
|
| 54 |
+
if ( ! is_string( $value ) ) {
|
| 55 |
+
return false;
|
| 56 |
+
}
|
| 57 |
+
|
| 58 |
+
$serialized_start = sprintf( 'C:%d:"%s"', strlen( __CLASS__ ), __CLASS__ );
|
| 59 |
+
|
| 60 |
+
return 0 === strpos( $value, $serialized_start );
|
| 61 |
+
}
|
| 62 |
+
|
| 63 |
+
/**
|
| 64 |
+
* Unserializes, with error handling, a result set to return a new instance of this class.
|
| 65 |
+
*
|
| 66 |
+
* @since 5.0.0
|
| 67 |
+
*
|
| 68 |
+
* @param string $value The serialized version of the result set.
|
| 69 |
+
*
|
| 70 |
+
* @return Events_Result_Set The unserialized result set, or an empty result set on failure.
|
| 71 |
+
*/
|
| 72 |
+
protected static function from_serialized( $value ) {
|
| 73 |
+
try {
|
| 74 |
+
$set = unserialize( $value );
|
| 75 |
+
if ( false === $set || ! $set instanceof static ) {
|
| 76 |
+
return new Events_Result_Set( [] );
|
| 77 |
+
}
|
| 78 |
+
|
| 79 |
+
return $set;
|
| 80 |
+
} catch ( \Exception $e ) {
|
| 81 |
+
return new Events_Result_Set( [] );
|
| 82 |
+
}
|
| 83 |
+
}
|
| 84 |
+
|
| 85 |
+
/**
|
| 86 |
+
* Builds a set from an array of event results.
|
| 87 |
+
*
|
| 88 |
+
* @since 5.0.0
|
| 89 |
+
*
|
| 90 |
+
* @param array<Event_Result> $event_results An array of event results.
|
| 91 |
+
*
|
| 92 |
+
* @return Events_Result_Set A new set, built from the input Event Results.
|
| 93 |
+
*/
|
| 94 |
+
protected static function from_array( $event_results ) {
|
| 95 |
+
try {
|
| 96 |
+
return new Events_Result_Set( $event_results );
|
| 97 |
+
} catch ( \Exception $e ) {
|
| 98 |
+
return new Events_Result_Set( [] );
|
| 99 |
+
}
|
| 100 |
+
}
|
| 101 |
+
|
| 102 |
/**
|
| 103 |
* Builds a result set from different type of values.
|
| 104 |
*
|
| 115 |
}
|
| 116 |
|
| 117 |
if ( is_array( $value ) ) {
|
| 118 |
+
return self::from_array( $value );
|
| 119 |
+
}
|
| 120 |
+
|
| 121 |
+
if ( self::is_serialized( $value ) ) {
|
| 122 |
+
return self::from_serialized( $value );
|
| 123 |
}
|
| 124 |
|
| 125 |
return new Events_Result_Set( [] );
|
| 126 |
}
|
| 127 |
|
| 128 |
+
/**
|
| 129 |
+
* Returns the number of Event Results in this set.
|
| 130 |
+
*
|
| 131 |
+
* @since 5.0.0
|
| 132 |
+
*
|
| 133 |
+
* @return int The number of Event Results in this set.
|
| 134 |
+
*/
|
| 135 |
public function count() {
|
| 136 |
return count( $this->items );
|
| 137 |
}
|
| 138 |
|
| 139 |
+
/**
|
| 140 |
+
* Orders the Event Results by a specified criteria.
|
| 141 |
+
*
|
| 142 |
+
* @since 5.0.0
|
| 143 |
+
*
|
| 144 |
+
* @param string $order_by The key to order the Event Results by, currently supported is only `start_date`.
|
| 145 |
+
* @param string $order The order direction, one of `ASC` or `DESC`.
|
| 146 |
+
*
|
| 147 |
+
* @return $this The current object, for chaining.
|
| 148 |
+
*/
|
| 149 |
public function order_by( $order_by, $order ) {
|
| 150 |
$order = strtoupper( $order );
|
| 151 |
if ( ! in_array( $order, [ 'ASC', 'DESC' ], true ) ) {
|
src/Tribe/Views/V2/Rewrite.php
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Modifies and updates rewrite rules for Views V2.
|
| 4 |
+
*
|
| 5 |
+
* @since 5.0.0
|
| 6 |
+
*
|
| 7 |
+
* @package Tribe\Events\Views\V2
|
| 8 |
+
*/
|
| 9 |
+
|
| 10 |
+
namespace Tribe\Events\Views\V2;
|
| 11 |
+
|
| 12 |
+
/**
|
| 13 |
+
* Class Rewrite
|
| 14 |
+
*
|
| 15 |
+
* @since 5.0.0
|
| 16 |
+
*
|
| 17 |
+
* @package Tribe\Events\Views\V2
|
| 18 |
+
*/
|
| 19 |
+
class Rewrite {
|
| 20 |
+
|
| 21 |
+
/**
|
| 22 |
+
* Filters The Events Calendar rewrite rules to fix and update them, if required.
|
| 23 |
+
*
|
| 24 |
+
* @since 5.0.0
|
| 25 |
+
*
|
| 26 |
+
* @param array $bases An array of rewrite bases that have been generated.
|
| 27 |
+
* @param string $method The method that's being used to generate the bases; defaults to `regex`.
|
| 28 |
+
*
|
| 29 |
+
* @return array<string,array> The filtered rewrite rules, updated or modified if required.
|
| 30 |
+
*/
|
| 31 |
+
public function filter_raw_i18n_slugs( array $bases, $method ) {
|
| 32 |
+
if ( $method !== 'regex' ) {
|
| 33 |
+
return $bases;
|
| 34 |
+
}
|
| 35 |
+
|
| 36 |
+
$bases = $this->add_url_encoded_slugs( $bases );
|
| 37 |
+
|
| 38 |
+
return $bases;
|
| 39 |
+
}
|
| 40 |
+
|
| 41 |
+
/**
|
| 42 |
+
* Adds the URL encoded version of the slugs to the rewrite rules to ensure rewrites will keep working
|
| 43 |
+
* in localized installations.
|
| 44 |
+
*
|
| 45 |
+
* This method wil "fill-in" wrongly formatted or encoded bases too and order bases so that the `Tribe__Rewrite`
|
| 46 |
+
* URL resolving methods will, preferably, resolve to the "pretty" (non URL-encoded) and human readable version.
|
| 47 |
+
*
|
| 48 |
+
* @since 5.0.0
|
| 49 |
+
*
|
| 50 |
+
* @param array<string,array> $bases The raw bases, as generated by The Events Calendar rewrite handler.
|
| 51 |
+
*
|
| 52 |
+
* @return array<string,array> The rules, updated to include the URL encoded version of the slugs.
|
| 53 |
+
*/
|
| 54 |
+
protected function add_url_encoded_slugs( $bases ) {
|
| 55 |
+
array_walk( $bases, function ( array &$base_group ) {
|
| 56 |
+
foreach ( $base_group as $value ) {
|
| 57 |
+
$is_encoded = $this->is_encoded( $value );
|
| 58 |
+
|
| 59 |
+
if ( $is_encoded ) {
|
| 60 |
+
$encoded = strtolower( $value );
|
| 61 |
+
$decoded = urldecode( $value );
|
| 62 |
+
} else {
|
| 63 |
+
$encoded = strtolower( urlencode( $value ) );
|
| 64 |
+
$decoded = $value;
|
| 65 |
+
}
|
| 66 |
+
|
| 67 |
+
if ( $encoded === $decoded ) {
|
| 68 |
+
continue;
|
| 69 |
+
}
|
| 70 |
+
|
| 71 |
+
// Some function expect, or provide, uppercase encoding chars, some don't. Cope w/ both.
|
| 72 |
+
$base_group[] = $decoded;
|
| 73 |
+
$base_group[] = strtoupper( $encoded );
|
| 74 |
+
$base_group[] = $encoded;
|
| 75 |
+
}
|
| 76 |
+
|
| 77 |
+
// Remove duplicates and put the non-encoded strings first.
|
| 78 |
+
$base_group = array_unique( $base_group );
|
| 79 |
+
usort( $base_group, [ $this, 'sort_by_encoding' ] );
|
| 80 |
+
} );
|
| 81 |
+
|
| 82 |
+
return $bases;
|
| 83 |
+
}
|
| 84 |
+
|
| 85 |
+
/**
|
| 86 |
+
* Detects, in a very specific manner, if the string is urlencoded or not.
|
| 87 |
+
*
|
| 88 |
+
* Refrain from moving this into a general-purpose function: this detections system makes a number of assumptions
|
| 89 |
+
* thare are just wrong in other contexts.
|
| 90 |
+
*
|
| 91 |
+
* @since 5.0.0
|
| 92 |
+
*
|
| 93 |
+
* @param strin $string The string to check for encoding.
|
| 94 |
+
*
|
| 95 |
+
* @return bool Whether the strins is encoded or not.
|
| 96 |
+
*/
|
| 97 |
+
protected function is_encoded( $string ) {
|
| 98 |
+
// We assume no localized slug will contain the `%` char as a legit translation.
|
| 99 |
+
return false !== strpos( $string, '%' );
|
| 100 |
+
}
|
| 101 |
+
|
| 102 |
+
/**
|
| 103 |
+
* Sorts a set of English, localize, encoded and not encoded slugs trying to put English and "pretty" first.
|
| 104 |
+
*
|
| 105 |
+
* URL encoded versions will be moved down the set, English will be put first, then "pretty" localized versions.
|
| 106 |
+
*
|
| 107 |
+
* @since 5.0.0
|
| 108 |
+
*
|
| 109 |
+
* @param string $a The first localized slug to check.
|
| 110 |
+
* @param $b The second localized slug to check.
|
| 111 |
+
*
|
| 112 |
+
* @return int The check result, `0` if the positions should not change, `-1` or `1` to move `$a` before `$b` or
|
| 113 |
+
* viceversa.
|
| 114 |
+
*/
|
| 115 |
+
protected function sort_by_encoding( $a, $b ) {
|
| 116 |
+
$a_is_encoded = $this->is_encoded( $a );
|
| 117 |
+
$b_is_encoded = $this->is_encoded( $b );
|
| 118 |
+
|
| 119 |
+
if ( $a_is_encoded === $b_is_encoded ) {
|
| 120 |
+
return 0;
|
| 121 |
+
}
|
| 122 |
+
|
| 123 |
+
return $a_is_encoded - $b_is_encoded;
|
| 124 |
+
}
|
| 125 |
+
}
|
src/Tribe/Views/V2/Service_Provider.php
CHANGED
|
@@ -24,10 +24,6 @@ class Service_Provider extends \tad_DI52_ServiceProvider {
|
|
| 24 |
require_once tribe( 'tec.main' )->plugin_path . 'src/functions/views/provider.php';
|
| 25 |
|
| 26 |
if ( ! tribe_events_views_v2_is_enabled() ) {
|
| 27 |
-
|
| 28 |
-
add_filter( 'tribe_events_show_upgrade_tab', '__return_false' );
|
| 29 |
-
add_filter( 'tribe_events_views_v2_should_smart_activate', '__return_false' );
|
| 30 |
-
|
| 31 |
return;
|
| 32 |
}
|
| 33 |
|
| 24 |
require_once tribe( 'tec.main' )->plugin_path . 'src/functions/views/provider.php';
|
| 25 |
|
| 26 |
if ( ! tribe_events_views_v2_is_enabled() ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
return;
|
| 28 |
}
|
| 29 |
|
src/Tribe/Views/V2/Template.php
CHANGED
|
@@ -89,6 +89,7 @@ class Template extends Base_Template {
|
|
| 89 |
// Set some defaults on the template.
|
| 90 |
$this->set( 'view_class', get_class( $view ), false );
|
| 91 |
$this->set( 'view_slug', $view->get_slug(), false );
|
|
|
|
| 92 |
|
| 93 |
// Set which view globally.
|
| 94 |
$this->set( 'view', $view, false );
|
|
@@ -150,6 +151,7 @@ class Template extends Base_Template {
|
|
| 150 |
|
| 151 |
if ( $this->view instanceof View_Interface ) {
|
| 152 |
$this->set( 'view_slug', $this->view->get_slug(), false );
|
|
|
|
| 153 |
$this->set( 'view_class', get_class( $this->view ), false );
|
| 154 |
}
|
| 155 |
|
|
@@ -207,4 +209,15 @@ class Template extends Base_Template {
|
|
| 207 |
public function get_view() {
|
| 208 |
return $this->view;
|
| 209 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 210 |
}
|
| 89 |
// Set some defaults on the template.
|
| 90 |
$this->set( 'view_class', get_class( $view ), false );
|
| 91 |
$this->set( 'view_slug', $view->get_slug(), false );
|
| 92 |
+
$this->set( 'view_label', $view->get_label(), false );
|
| 93 |
|
| 94 |
// Set which view globally.
|
| 95 |
$this->set( 'view', $view, false );
|
| 151 |
|
| 152 |
if ( $this->view instanceof View_Interface ) {
|
| 153 |
$this->set( 'view_slug', $this->view->get_slug(), false );
|
| 154 |
+
$this->set( 'view_label', $this->view->get_label(), false );
|
| 155 |
$this->set( 'view_class', get_class( $this->view ), false );
|
| 156 |
}
|
| 157 |
|
| 209 |
public function get_view() {
|
| 210 |
return $this->view;
|
| 211 |
}
|
| 212 |
+
|
| 213 |
+
/**
|
| 214 |
+
* Returns the current template context.
|
| 215 |
+
*
|
| 216 |
+
* @since 5.0.0
|
| 217 |
+
*
|
| 218 |
+
* @return \Tribe__Context The template context instance, or the global context if no context is set.
|
| 219 |
+
*/
|
| 220 |
+
public function get_context() {
|
| 221 |
+
return $this->context instanceof \Tribe__Context ? $this->context : tribe_context();
|
| 222 |
+
}
|
| 223 |
}
|
src/Tribe/Views/V2/Template/Event.php
CHANGED
|
@@ -10,9 +10,38 @@
|
|
| 10 |
*/
|
| 11 |
namespace Tribe\Events\Views\V2\Template;
|
| 12 |
|
|
|
|
|
|
|
| 13 |
use Tribe\Events\Views\V2\View;
|
|
|
|
|
|
|
| 14 |
|
| 15 |
class Event {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16 |
/**
|
| 17 |
* Determines the Path for the PHP file to be used as the main template
|
| 18 |
* For Page base template setting it will select from theme or child theme
|
|
@@ -25,7 +54,132 @@ class Event {
|
|
| 25 |
*/
|
| 26 |
public function get_path() {
|
| 27 |
$fake_view = View::make( 'reflector' );
|
| 28 |
-
$path
|
|
|
|
| 29 |
return $path;
|
| 30 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 31 |
}
|
| 10 |
*/
|
| 11 |
namespace Tribe\Events\Views\V2\Template;
|
| 12 |
|
| 13 |
+
use Tribe\Events\Collections\Lazy_Post_Collection;
|
| 14 |
+
use Tribe\Events\Views\V2\Template_Bootstrap;
|
| 15 |
use Tribe\Events\Views\V2\View;
|
| 16 |
+
use Tribe\Utils\Lazy_String;
|
| 17 |
+
use Tribe\Utils\Post_Thumbnail;
|
| 18 |
|
| 19 |
class Event {
|
| 20 |
+
/**
|
| 21 |
+
* @var boolean Whether or not we are currently filtering out content due to password protection
|
| 22 |
+
*/
|
| 23 |
+
protected $managing_sensitive_info = false;
|
| 24 |
+
|
| 25 |
+
/**
|
| 26 |
+
* The current template bootstrap instance.
|
| 27 |
+
*
|
| 28 |
+
* @since 5.0.0
|
| 29 |
+
*
|
| 30 |
+
* @var Template_Bootstrap
|
| 31 |
+
*/
|
| 32 |
+
protected $template_bootstrap;
|
| 33 |
+
|
| 34 |
+
/**
|
| 35 |
+
* Event constructor.
|
| 36 |
+
*
|
| 37 |
+
* @since 5.0.0
|
| 38 |
+
*
|
| 39 |
+
* @param Template_Bootstrap $template_bootstrap The current template bootstrap instance.
|
| 40 |
+
*/
|
| 41 |
+
public function __construct( Template_Bootstrap $template_bootstrap ) {
|
| 42 |
+
$this->template_bootstrap = $template_bootstrap;
|
| 43 |
+
}
|
| 44 |
+
|
| 45 |
/**
|
| 46 |
* Determines the Path for the PHP file to be used as the main template
|
| 47 |
* For Page base template setting it will select from theme or child theme
|
| 54 |
*/
|
| 55 |
public function get_path() {
|
| 56 |
$fake_view = View::make( 'reflector' );
|
| 57 |
+
$path = $fake_view->get_template()->get_template_file( 'default-template' );
|
| 58 |
+
|
| 59 |
return $path;
|
| 60 |
}
|
| 61 |
+
|
| 62 |
+
/**
|
| 63 |
+
* Add/remove filters to hide/show sensitive event info on password protected posts
|
| 64 |
+
*
|
| 65 |
+
* @since 5.0.0
|
| 66 |
+
*
|
| 67 |
+
* @param int|\WP_Post $post The post ID or object to filter.
|
| 68 |
+
**/
|
| 69 |
+
public function manage_sensitive_info( $post ) {
|
| 70 |
+
$password_required = post_password_required( $post );
|
| 71 |
+
|
| 72 |
+
if ( ! $this->managing_sensitive_info && $password_required ) {
|
| 73 |
+
add_filter( 'tribe_events_event_schedule_details', '__return_empty_string' );
|
| 74 |
+
add_filter( 'tribe_events_recurrence_tooltip', '__return_false' );
|
| 75 |
+
add_filter( 'tribe_event_meta_venue_name', '__return_empty_string' );
|
| 76 |
+
add_filter( 'tribe_event_meta_venue_address', '__return_empty_string' );
|
| 77 |
+
add_filter( 'tribe_event_featured_image', '__return_empty_string' );
|
| 78 |
+
add_filter( 'tribe_get_venue', '__return_empty_string' );
|
| 79 |
+
add_filter( 'tribe_get_cost', '__return_empty_string' );
|
| 80 |
+
|
| 81 |
+
if ( tribe_context()->doing_ajax() ) {
|
| 82 |
+
add_filter( 'the_title', [ $this, 'filter_get_the_title' ], 10, 2 );
|
| 83 |
+
}
|
| 84 |
+
|
| 85 |
+
if ( $this->template_bootstrap->is_single_event() ) {
|
| 86 |
+
add_filter( 'the_title', '__return_empty_string' );
|
| 87 |
+
add_filter( 'tribe_get_template_part_templates', '__return_empty_array' );
|
| 88 |
+
}
|
| 89 |
+
|
| 90 |
+
$this->managing_sensitive_info = true;
|
| 91 |
+
} elseif ( $this->managing_sensitive_info && ! $password_required ) {
|
| 92 |
+
remove_filter( 'tribe_events_event_schedule_details', '__return_empty_string' );
|
| 93 |
+
remove_filter( 'tribe_events_recurrence_tooltip', '__return_false' );
|
| 94 |
+
remove_filter( 'tribe_event_meta_venue_name', '__return_empty_string' );
|
| 95 |
+
remove_filter( 'tribe_event_meta_venue_address', '__return_empty_string' );
|
| 96 |
+
remove_filter( 'tribe_event_featured_image', '__return_empty_string' );
|
| 97 |
+
remove_filter( 'tribe_get_venue', '__return_empty_string' );
|
| 98 |
+
remove_filter( 'tribe_get_cost', '__return_empty_string' );
|
| 99 |
+
|
| 100 |
+
if ( tribe_context()->doing_ajax() ) {
|
| 101 |
+
remove_filter( 'the_title', [ $this, 'filter_get_the_title' ], 10 );
|
| 102 |
+
}
|
| 103 |
+
|
| 104 |
+
if ( $this->template_bootstrap->is_single_event() ) {
|
| 105 |
+
remove_filter( 'the_title', '__return_empty_string' );
|
| 106 |
+
remove_filter( 'tribe_get_template_part_templates', '__return_empty_array' );
|
| 107 |
+
}
|
| 108 |
+
|
| 109 |
+
$this->managing_sensitive_info = false;
|
| 110 |
+
}
|
| 111 |
+
}
|
| 112 |
+
|
| 113 |
+
/**
|
| 114 |
+
* Filters the post title as WordPress does in `get_the_title` to apply the password-protected prefix in
|
| 115 |
+
* the context of AJAX requests.
|
| 116 |
+
*
|
| 117 |
+
* @since 5.0.0
|
| 118 |
+
*
|
| 119 |
+
* @param string $title The post title.
|
| 120 |
+
* @param int|\WP_Post $post_id The post ID, or object, to apply the filter for.
|
| 121 |
+
*
|
| 122 |
+
* @return string The filtered post title.
|
| 123 |
+
*/
|
| 124 |
+
public function filter_get_the_title( $title, $post_id = 0 ) {
|
| 125 |
+
$post = get_post( $post_id );
|
| 126 |
+
|
| 127 |
+
if ( ! $post instanceof \WP_Post ) {
|
| 128 |
+
return $title;
|
| 129 |
+
}
|
| 130 |
+
|
| 131 |
+
if ( ! empty( $post->post_password ) ) {
|
| 132 |
+
/* translators: %s: Protected post title. */
|
| 133 |
+
$prepend = __( 'Protected: %s' );
|
| 134 |
+
|
| 135 |
+
/**
|
| 136 |
+
* @see get_the_title() for the original filter documentation.
|
| 137 |
+
*/
|
| 138 |
+
$protected_title_format = apply_filters( 'protected_title_format', $prepend, $post );
|
| 139 |
+
$title = sprintf( $protected_title_format, $title );
|
| 140 |
+
}
|
| 141 |
+
|
| 142 |
+
return $title;
|
| 143 |
+
}
|
| 144 |
+
|
| 145 |
+
/**
|
| 146 |
+
* Filters and modifies the event WP_Post object returned from the `tribe_get_event` function to hide some
|
| 147 |
+
* sensitive information if required.
|
| 148 |
+
*
|
| 149 |
+
* @since 5.0.0
|
| 150 |
+
*
|
| 151 |
+
* @param \WP_Post $event The event post object, decorated w/ properties added by the `tribe_get_event` function.
|
| 152 |
+
*
|
| 153 |
+
* @return \WP_Post The event post object, decorated w/ properties added by the `tribe_get_event` function, some of
|
| 154 |
+
* them updated to hide sensitive information, if required.
|
| 155 |
+
*/
|
| 156 |
+
public function filter_event_properties( \WP_Post $event ) {
|
| 157 |
+
if ( post_password_required( $event ) ) {
|
| 158 |
+
$props = [
|
| 159 |
+
'start_date',
|
| 160 |
+
'start_date_utc',
|
| 161 |
+
'end_date',
|
| 162 |
+
'end_date_utc',
|
| 163 |
+
'cost',
|
| 164 |
+
'recurring',
|
| 165 |
+
'permalink_all',
|
| 166 |
+
];
|
| 167 |
+
|
| 168 |
+
foreach ( $props as $prop ) {
|
| 169 |
+
$event->{$prop} = '';
|
| 170 |
+
}
|
| 171 |
+
|
| 172 |
+
foreach ( [ 'venues', 'organizers' ] as $lazy_collection ) {
|
| 173 |
+
$event->{$lazy_collection} = new Lazy_Post_Collection( '__return_empty_array' );
|
| 174 |
+
}
|
| 175 |
+
|
| 176 |
+
foreach ( [ 'plain_schedule_details', 'schedule_details', 'excerpt' ] as $lazy_string ) {
|
| 177 |
+
$event->{$lazy_string} = new Lazy_String( '__return_empty_string' );
|
| 178 |
+
}
|
| 179 |
+
|
| 180 |
+
$event->thumbnail = new Post_Thumbnail( - 1 );
|
| 181 |
+
}
|
| 182 |
+
|
| 183 |
+
return $event;
|
| 184 |
+
}
|
| 185 |
}
|
src/Tribe/Views/V2/Template/Excerpt.php
CHANGED
|
@@ -8,9 +8,9 @@
|
|
| 8 |
*/
|
| 9 |
namespace Tribe\Events\Views\V2\Template;
|
| 10 |
|
| 11 |
-
use Tribe__Template as Base_Template;
|
| 12 |
-
use Tribe__Events__Main as Plugin;
|
| 13 |
use Tribe\Events\Views\V2\Hooks;
|
|
|
|
|
|
|
| 14 |
|
| 15 |
/**
|
| 16 |
* Class Excerpt
|
|
@@ -67,7 +67,10 @@ class Excerpt extends Base_Template {
|
|
| 67 |
return $link;
|
| 68 |
}
|
| 69 |
|
| 70 |
-
|
|
|
|
|
|
|
|
|
|
| 71 |
|
| 72 |
$template = strtolower( get_template() );
|
| 73 |
|
|
@@ -75,17 +78,17 @@ class Excerpt extends Base_Template {
|
|
| 75 |
$should_replace_read_more = $template && 'twentyseventeen' === $template;
|
| 76 |
|
| 77 |
/**
|
| 78 |
-
*
|
| 79 |
*
|
| 80 |
* @since 4.9.11
|
| 81 |
*
|
| 82 |
-
* @param bool
|
| 83 |
-
*
|
| 84 |
-
*
|
|
|
|
| 85 |
*/
|
| 86 |
$should_replace_read_more = apply_filters( 'tribe_events_views_v2_should_replace_excerpt_more_link', $should_replace_read_more, $event );
|
| 87 |
|
| 88 |
-
// If shouldn't replace we bail.
|
| 89 |
if ( ! $should_replace_read_more ) {
|
| 90 |
return $link;
|
| 91 |
}
|
|
@@ -93,4 +96,39 @@ class Excerpt extends Base_Template {
|
|
| 93 |
return $this->template( 'components/read-more', [ 'event' => $event ], false );
|
| 94 |
}
|
| 95 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 96 |
}
|
| 8 |
*/
|
| 9 |
namespace Tribe\Events\Views\V2\Template;
|
| 10 |
|
|
|
|
|
|
|
| 11 |
use Tribe\Events\Views\V2\Hooks;
|
| 12 |
+
use Tribe__Events__Main as Plugin;
|
| 13 |
+
use Tribe__Template as Base_Template;
|
| 14 |
|
| 15 |
/**
|
| 16 |
* Class Excerpt
|
| 67 |
return $link;
|
| 68 |
}
|
| 69 |
|
| 70 |
+
// Read the method doc-block to understand why we do this here.
|
| 71 |
+
$event = $this->avoiding_filter_loop( static function () {
|
| 72 |
+
return tribe_get_event( get_the_ID() );
|
| 73 |
+
} );
|
| 74 |
|
| 75 |
$template = strtolower( get_template() );
|
| 76 |
|
| 78 |
$should_replace_read_more = $template && 'twentyseventeen' === $template;
|
| 79 |
|
| 80 |
/**
|
| 81 |
+
* Determines if we need to replace the excerpt read more link in a given scenario or not.
|
| 82 |
*
|
| 83 |
* @since 4.9.11
|
| 84 |
*
|
| 85 |
+
* @param bool $should_replace_read_more Whether we need to replace the excerpt read more link or not.
|
| 86 |
+
* @param \WP_Post $event Event that we are dealing with.
|
| 87 |
+
*
|
| 88 |
+
* @see tribe_get_event() for the format and the properties of the decorated post.
|
| 89 |
*/
|
| 90 |
$should_replace_read_more = apply_filters( 'tribe_events_views_v2_should_replace_excerpt_more_link', $should_replace_read_more, $event );
|
| 91 |
|
|
|
|
| 92 |
if ( ! $should_replace_read_more ) {
|
| 93 |
return $link;
|
| 94 |
}
|
| 96 |
return $this->template( 'components/read-more', [ 'event' => $event ], false );
|
| 97 |
}
|
| 98 |
|
| 99 |
+
/**
|
| 100 |
+
* Handles the infinite loop that could happen when the excerpt filtering fires as a consequence of a
|
| 101 |
+
* `Lazy_String` resolution in the `tribe_get_event` function.
|
| 102 |
+
*
|
| 103 |
+
* To correctly apply the `read-more` template, and account for possible third-parties overrides, we need the
|
| 104 |
+
* result of a call to the `tribe_get_event` function.
|
| 105 |
+
* If object caching is active that function will be fired on `shutdown` and will resolve all of its `Lazy_String`
|
| 106 |
+
* instances.
|
| 107 |
+
* One of those is the one holding the value of the filtered post excerpt.
|
| 108 |
+
* This will cause an infinite loop if not handled.
|
| 109 |
+
*
|
| 110 |
+
* @since 5.0.0
|
| 111 |
+
*
|
| 112 |
+
* @param callable $function The function that should be resolved avoiding a filter infinite loop.
|
| 113 |
+
*
|
| 114 |
+
* @return mixed The result value of the function call.
|
| 115 |
+
*/
|
| 116 |
+
protected function avoiding_filter_loop( callable $function ) {
|
| 117 |
+
$hooks = tribe( Hooks::class );
|
| 118 |
+
// As registered in `Tribe\Events\Views\V2\Hooks::action_include_filters_excerpt`.
|
| 119 |
+
$priority = 50;
|
| 120 |
+
$has_filter = has_filter( 'excerpt_more', [ $hooks, 'filter_excerpt_more' ] );
|
| 121 |
+
|
| 122 |
+
if ( $has_filter ) {
|
| 123 |
+
remove_filter( 'excerpt_more', [ $hooks, 'filter_excerpt_more' ], $priority );
|
| 124 |
+
}
|
| 125 |
+
|
| 126 |
+
$result = $function();
|
| 127 |
+
|
| 128 |
+
if ( $has_filter ) {
|
| 129 |
+
add_filter( 'excerpt_more', [ $hooks, 'filter_excerpt_more' ], $priority );
|
| 130 |
+
}
|
| 131 |
+
|
| 132 |
+
return $result;
|
| 133 |
+
}
|
| 134 |
}
|
src/Tribe/Views/V2/Template/Page.php
CHANGED
|
@@ -259,6 +259,16 @@ class Page {
|
|
| 259 |
public function should_hijack_page_template( \WP_Query $query ) {
|
| 260 |
$should_hijack = true;
|
| 261 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 262 |
// Dont hijack non-page event based
|
| 263 |
if ( 'page' !== tribe( Template_Bootstrap::class )->get_template_setting() ) {
|
| 264 |
$should_hijack = false;
|
| 259 |
public function should_hijack_page_template( \WP_Query $query ) {
|
| 260 |
$should_hijack = true;
|
| 261 |
|
| 262 |
+
// don't hijack a feed
|
| 263 |
+
if ( is_feed() ) {
|
| 264 |
+
$should_hijack = false;
|
| 265 |
+
}
|
| 266 |
+
|
| 267 |
+
// don't hijack a password protected page
|
| 268 |
+
if ( is_single() && post_password_required() ) {
|
| 269 |
+
$should_hijack = false;
|
| 270 |
+
}
|
| 271 |
+
|
| 272 |
// Dont hijack non-page event based
|
| 273 |
if ( 'page' !== tribe( Template_Bootstrap::class )->get_template_setting() ) {
|
| 274 |
$should_hijack = false;
|
src/Tribe/Views/V2/Template_Bootstrap.php
CHANGED
|
@@ -11,12 +11,11 @@
|
|
| 11 |
namespace Tribe\Events\Views\V2;
|
| 12 |
|
| 13 |
use Tribe__Events__Main as TEC;
|
| 14 |
-
use
|
| 15 |
use Tribe__Notices;
|
|
|
|
| 16 |
use Tribe__Utils__Array as Arr;
|
| 17 |
use WP_Query;
|
| 18 |
-
use Tribe__Templates as V1_Templates;
|
| 19 |
-
use Tribe__Events__Templates as V1_Event_Templates;
|
| 20 |
|
| 21 |
|
| 22 |
/**
|
|
@@ -98,8 +97,7 @@ class Template_Bootstrap {
|
|
| 98 |
}
|
| 99 |
|
| 100 |
/**
|
| 101 |
-
*
|
| 102 |
-
* base only on global context.
|
| 103 |
*
|
| 104 |
* @since 4.9.11
|
| 105 |
*
|
|
@@ -111,9 +109,7 @@ class Template_Bootstrap {
|
|
| 111 |
'single-event' === tribe_context()->get( 'view' ),
|
| 112 |
];
|
| 113 |
|
| 114 |
-
|
| 115 |
-
|
| 116 |
-
return $is_single_event;
|
| 117 |
}
|
| 118 |
|
| 119 |
/**
|
|
@@ -129,6 +125,10 @@ class Template_Bootstrap {
|
|
| 129 |
}
|
| 130 |
$setting = $this->get_template_setting();
|
| 131 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 132 |
ob_start();
|
| 133 |
if ( 'page' === $setting ) {
|
| 134 |
echo '<main id="tribe-events">';
|
|
@@ -178,11 +178,41 @@ class Template_Bootstrap {
|
|
| 178 |
$context = tribe_context();
|
| 179 |
$view_slug = $context->get( 'view' );
|
| 180 |
|
| 181 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 182 |
'single-event' === $view_slug
|
| 183 |
&& ! tribe_is_showing_all()
|
| 184 |
&& ! V1_Templates::is_embed()
|
| 185 |
-
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 186 |
$html = $this->get_v1_single_event_html();
|
| 187 |
} elseif ( isset( $query->query_vars['tribe_events_views_kitchen_sink'] ) ) {
|
| 188 |
$context = [
|
|
@@ -231,10 +261,27 @@ class Template_Bootstrap {
|
|
| 231 |
$query = tribe_get_global_query_object();
|
| 232 |
}
|
| 233 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 234 |
if ( ! $query instanceof \WP_Query ) {
|
| 235 |
return false;
|
| 236 |
}
|
| 237 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 238 |
/**
|
| 239 |
* Bail if we are not dealing with an Event, Venue or Organizer main query.
|
| 240 |
*
|
|
@@ -297,4 +344,45 @@ class Template_Bootstrap {
|
|
| 297 |
|
| 298 |
return $classes;
|
| 299 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 300 |
}
|
| 11 |
namespace Tribe\Events\Views\V2;
|
| 12 |
|
| 13 |
use Tribe__Events__Main as TEC;
|
| 14 |
+
use Tribe__Events__Templates as V1_Event_Templates;
|
| 15 |
use Tribe__Notices;
|
| 16 |
+
use Tribe__Templates as V1_Templates;
|
| 17 |
use Tribe__Utils__Array as Arr;
|
| 18 |
use WP_Query;
|
|
|
|
|
|
|
| 19 |
|
| 20 |
|
| 21 |
/**
|
| 97 |
}
|
| 98 |
|
| 99 |
/**
|
| 100 |
+
* Determines whether we are in a Single event page or not, base only on global context.
|
|
|
|
| 101 |
*
|
| 102 |
* @since 4.9.11
|
| 103 |
*
|
| 109 |
'single-event' === tribe_context()->get( 'view' ),
|
| 110 |
];
|
| 111 |
|
| 112 |
+
return in_array( true, $conditions, true );
|
|
|
|
|
|
|
| 113 |
}
|
| 114 |
|
| 115 |
/**
|
| 125 |
}
|
| 126 |
$setting = $this->get_template_setting();
|
| 127 |
|
| 128 |
+
// A number of TEC, and third-party, functions, depend on this. Let's fire it.
|
| 129 |
+
global $post;
|
| 130 |
+
do_action( 'the_post', $post );
|
| 131 |
+
|
| 132 |
ob_start();
|
| 133 |
if ( 'page' === $setting ) {
|
| 134 |
echo '<main id="tribe-events">';
|
| 178 |
$context = tribe_context();
|
| 179 |
$view_slug = $context->get( 'view' );
|
| 180 |
|
| 181 |
+
/**
|
| 182 |
+
* Filters the HTML for the view before we do any other logic around that.
|
| 183 |
+
*
|
| 184 |
+
* @since 5.0.0
|
| 185 |
+
*
|
| 186 |
+
* @param string $pre_html Allow pre-filtering the HTML that we will boostrap.
|
| 187 |
+
* @param string $view_slug The slug of the View that will be built, based on the context.
|
| 188 |
+
* @param \Tribe__Context $context Tribe context used to setup the view.
|
| 189 |
+
* @param \WP_Query $query The current WP Query object.
|
| 190 |
+
*/
|
| 191 |
+
$pre_html = apply_filters( 'tribe_events_views_v2_bootstrap_pre_get_view_html', null, $view_slug, $query, $context );
|
| 192 |
+
|
| 193 |
+
if ( null !== $pre_html ) {
|
| 194 |
+
return $pre_html;
|
| 195 |
+
}
|
| 196 |
+
|
| 197 |
+
$should_display_single = (
|
| 198 |
'single-event' === $view_slug
|
| 199 |
&& ! tribe_is_showing_all()
|
| 200 |
&& ! V1_Templates::is_embed()
|
| 201 |
+
);
|
| 202 |
+
|
| 203 |
+
/**
|
| 204 |
+
* Filters when we display the single for events.
|
| 205 |
+
*
|
| 206 |
+
* @since 5.0.0
|
| 207 |
+
*
|
| 208 |
+
* @param boolean $should_display_single If we are currently going to display single.
|
| 209 |
+
* @param string $view_slug The slug of the View that will be built, based on the context.
|
| 210 |
+
* @param \Tribe__Context $context Tribe context used to setup the view.
|
| 211 |
+
* @param \WP_Query $query The current WP Query object.
|
| 212 |
+
*/
|
| 213 |
+
$should_display_single = apply_filters( 'tribe_events_views_v2_bootstrap_should_display_single', $should_display_single, $view_slug, $query, $context );
|
| 214 |
+
|
| 215 |
+
if ( $should_display_single ) {
|
| 216 |
$html = $this->get_v1_single_event_html();
|
| 217 |
} elseif ( isset( $query->query_vars['tribe_events_views_kitchen_sink'] ) ) {
|
| 218 |
$context = [
|
| 261 |
$query = tribe_get_global_query_object();
|
| 262 |
}
|
| 263 |
|
| 264 |
+
/**
|
| 265 |
+
* Allows filtering if bootstrap should load.
|
| 266 |
+
*
|
| 267 |
+
* @since 5.0.0
|
| 268 |
+
*
|
| 269 |
+
* @param null|boolean $should_load Anything other then null will be returned after casting as bool.
|
| 270 |
+
* @param \WP_Query $query The current WP Query object.
|
| 271 |
+
*/
|
| 272 |
+
$should_load = apply_filters( 'tribe_events_views_v2_bootstrap_pre_should_load', null, $query );
|
| 273 |
+
if ( null !== $should_load ) {
|
| 274 |
+
return (bool) $should_load;
|
| 275 |
+
}
|
| 276 |
+
|
| 277 |
if ( ! $query instanceof \WP_Query ) {
|
| 278 |
return false;
|
| 279 |
}
|
| 280 |
|
| 281 |
+
if ( is_404() ) {
|
| 282 |
+
return false;
|
| 283 |
+
}
|
| 284 |
+
|
| 285 |
/**
|
| 286 |
* Bail if we are not dealing with an Event, Venue or Organizer main query.
|
| 287 |
*
|
| 344 |
|
| 345 |
return $classes;
|
| 346 |
}
|
| 347 |
+
|
| 348 |
+
/**
|
| 349 |
+
* Filter the template file in case we're in single event
|
| 350 |
+
* and we need to use the theme overrides.
|
| 351 |
+
*
|
| 352 |
+
* @since 5.0.0
|
| 353 |
+
*
|
| 354 |
+
* @param string $file Complete path to include the PHP File
|
| 355 |
+
* @param array $name Template name
|
| 356 |
+
* @param object $template Instance of the Tribe__Template
|
| 357 |
+
*
|
| 358 |
+
* @return string
|
| 359 |
+
*/
|
| 360 |
+
public function filter_template_file( $file, $name, $template ) {
|
| 361 |
+
$template_name = end( $name );
|
| 362 |
+
|
| 363 |
+
// Bail when we dont are not loading 'default-template'.
|
| 364 |
+
if ( 'default-template' !== $template_name ) {
|
| 365 |
+
return $file;
|
| 366 |
+
}
|
| 367 |
+
|
| 368 |
+
if (
|
| 369 |
+
! is_singular( TEC::POSTTYPE )
|
| 370 |
+
&& 'single-event' !== tribe_context()->get( 'view' )
|
| 371 |
+
) {
|
| 372 |
+
return $file;
|
| 373 |
+
}
|
| 374 |
+
|
| 375 |
+
$theme_file = locate_template( 'tribe-events/default-template.php', false, false );
|
| 376 |
+
|
| 377 |
+
if ( ! $theme_file ) {
|
| 378 |
+
return $file;
|
| 379 |
+
}
|
| 380 |
+
|
| 381 |
+
if ( ! tribe_is_showing_all() && tribe_is_past_event() ) {
|
| 382 |
+
Tribe__Notices::set_notice( 'event-past', sprintf( esc_html__( 'This %s has passed.', 'the-events-calendar' ), tribe_get_event_label_singular_lowercase() ) );
|
| 383 |
+
}
|
| 384 |
+
|
| 385 |
+
return $theme_file;
|
| 386 |
+
}
|
| 387 |
+
|
| 388 |
}
|
src/Tribe/Views/V2/Url.php
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
namespace Tribe\Events\Views\V2;
|
| 10 |
|
| 11 |
use Tribe__Context as Context;
|
| 12 |
-
use Tribe__Events__Rewrite as
|
| 13 |
use Tribe__Utils__Array as Arr;
|
| 14 |
|
| 15 |
/**
|
|
@@ -152,7 +152,7 @@ class Url {
|
|
| 152 |
*/
|
| 153 |
public function parse_url() {
|
| 154 |
$this->components = array_merge( static::$default_url_components, parse_url( $this->url ) );
|
| 155 |
-
$this->query_args =
|
| 156 |
if ( ! empty( $this->components['query'] ) ) {
|
| 157 |
parse_str( $this->components['query'], $query_component_args );
|
| 158 |
$this->query_args = $this->query_overrides_path
|
| 9 |
namespace Tribe\Events\Views\V2;
|
| 10 |
|
| 11 |
use Tribe__Context as Context;
|
| 12 |
+
use Tribe__Events__Rewrite as TEC_Rewrite;
|
| 13 |
use Tribe__Utils__Array as Arr;
|
| 14 |
|
| 15 |
/**
|
| 152 |
*/
|
| 153 |
public function parse_url() {
|
| 154 |
$this->components = array_merge( static::$default_url_components, parse_url( $this->url ) );
|
| 155 |
+
$this->query_args = TEC_Rewrite::instance()->parse_request( $this->url );
|
| 156 |
if ( ! empty( $this->components['query'] ) ) {
|
| 157 |
parse_str( $this->components['query'], $query_component_args );
|
| 158 |
$this->query_args = $this->query_overrides_path
|
src/Tribe/Views/V2/Utils/View.php
CHANGED
|
@@ -34,4 +34,24 @@ class View {
|
|
| 34 |
|
| 35 |
return empty( $found ) || $default === $found ? $default : $found;
|
| 36 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
}
|
| 34 |
|
| 35 |
return empty( $found ) || $default === $found ? $default : $found;
|
| 36 |
}
|
| 37 |
+
|
| 38 |
+
/**
|
| 39 |
+
* Based on the `permalink_structure` determines which variable the view should read `event_display_mode` for past
|
| 40 |
+
* URL management.
|
| 41 |
+
*
|
| 42 |
+
* @since 5.0.0
|
| 43 |
+
*
|
| 44 |
+
* @return string URL Query Variable Key
|
| 45 |
+
*/
|
| 46 |
+
public static function get_past_event_display_key() {
|
| 47 |
+
$event_display_key = 'eventDisplay';
|
| 48 |
+
|
| 49 |
+
// When dealing with "Plain Permalink" we need to move `past` into a separate url argument.
|
| 50 |
+
if ( ! get_option( 'permalink_structure' ) ) {
|
| 51 |
+
$event_display_key = 'tribe_event_display';
|
| 52 |
+
}
|
| 53 |
+
|
| 54 |
+
return $event_display_key;
|
| 55 |
+
}
|
| 56 |
+
|
| 57 |
}
|
src/Tribe/Views/V2/View.php
CHANGED
|
@@ -10,15 +10,18 @@ namespace Tribe\Events\Views\V2;
|
|
| 10 |
|
| 11 |
use Tribe\Events\Views\V2\Template\Settings\Advanced_Display;
|
| 12 |
use Tribe\Events\Views\V2\Template\Title;
|
|
|
|
|
|
|
| 13 |
use Tribe__Container as Container;
|
| 14 |
use Tribe__Context as Context;
|
| 15 |
use Tribe__Date_Utils as Dates;
|
| 16 |
use Tribe__Events__Main as TEC;
|
| 17 |
use Tribe__Events__Organizer as Organizer;
|
| 18 |
-
use Tribe__Events__Rewrite as
|
| 19 |
use Tribe__Events__Venue as Venue;
|
| 20 |
use Tribe__Repository__Interface as Repository;
|
| 21 |
use Tribe__Utils__Array as Arr;
|
|
|
|
| 22 |
|
| 23 |
/**
|
| 24 |
* Class View
|
|
@@ -27,10 +30,14 @@ use Tribe__Utils__Array as Arr;
|
|
| 27 |
* @since 4.9.2
|
| 28 |
*/
|
| 29 |
class View implements View_Interface {
|
|
|
|
|
|
|
|
|
|
|
|
|
| 30 |
/**
|
| 31 |
* An instance of the DI container.
|
| 32 |
*
|
| 33 |
-
* @var
|
| 34 |
*/
|
| 35 |
protected static $container;
|
| 36 |
|
|
@@ -71,7 +78,7 @@ class View implements View_Interface {
|
|
| 71 |
*
|
| 72 |
* This value will be set by the `View::make()` method while building a View instance.
|
| 73 |
*
|
| 74 |
-
* @var
|
| 75 |
*/
|
| 76 |
protected $template;
|
| 77 |
|
|
@@ -85,7 +92,7 @@ class View implements View_Interface {
|
|
| 85 |
/**
|
| 86 |
* The URL object the View is currently.
|
| 87 |
*
|
| 88 |
-
* @var
|
| 89 |
*/
|
| 90 |
protected $url;
|
| 91 |
|
|
@@ -127,6 +134,15 @@ class View implements View_Interface {
|
|
| 127 |
*/
|
| 128 |
protected $page_key = 'paged';
|
| 129 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 130 |
/**
|
| 131 |
* Whether the View instance should manage the URL
|
| 132 |
*
|
|
@@ -170,7 +186,7 @@ class View implements View_Interface {
|
|
| 170 |
*
|
| 171 |
* @since 4.9.13
|
| 172 |
*
|
| 173 |
-
* @var
|
| 174 |
*/
|
| 175 |
protected $rewrite;
|
| 176 |
|
|
@@ -182,6 +198,15 @@ class View implements View_Interface {
|
|
| 182 |
*/
|
| 183 |
protected static $date_in_url = true;
|
| 184 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 185 |
/**
|
| 186 |
* View constructor.
|
| 187 |
*
|
|
@@ -191,7 +216,12 @@ class View implements View_Interface {
|
|
| 191 |
*/
|
| 192 |
public function __construct( Messages $messages = null ) {
|
| 193 |
$this->messages = $messages ?: new Messages();
|
| 194 |
-
$this->rewrite =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 195 |
}
|
| 196 |
|
| 197 |
/**
|
|
@@ -206,6 +236,14 @@ class View implements View_Interface {
|
|
| 206 |
public static function make_for_rest( \WP_REST_Request $request ) {
|
| 207 |
// Try to read the slug from the REST request.
|
| 208 |
$params = $request->get_params();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 209 |
$slug = Arr::get( $params, 'view', false );
|
| 210 |
$url_object = Url::from_url_and_params( Arr::get( $params, 'url' ), $params );
|
| 211 |
|
|
@@ -255,7 +293,7 @@ class View implements View_Interface {
|
|
| 255 |
$slug = Arr::get( $params, 'eventDisplay', tribe_context()->get( 'view', 'default' ) );
|
| 256 |
}
|
| 257 |
|
| 258 |
-
$params['event_display_mode'] = Arr::get( $query_args, '
|
| 259 |
|
| 260 |
if ( ! empty( $slug ) ) {
|
| 261 |
/**
|
|
@@ -271,13 +309,13 @@ class View implements View_Interface {
|
|
| 271 |
|
| 272 |
// Determine context based on the request parameters.
|
| 273 |
$do_not_override = [ 'event_display_mode' ];
|
| 274 |
-
$
|
| 275 |
$context = tribe_context()
|
| 276 |
->alter(
|
| 277 |
array_merge(
|
| 278 |
$params,
|
| 279 |
tribe_context()->translate_sub_locations( $params, \Tribe__Context::REQUEST_VAR ),
|
| 280 |
-
$
|
| 281 |
)
|
| 282 |
);
|
| 283 |
|
|
@@ -351,9 +389,9 @@ class View implements View_Interface {
|
|
| 351 |
*
|
| 352 |
* @since 4.9.3
|
| 353 |
*
|
| 354 |
-
* @param
|
| 355 |
-
* @param string
|
| 356 |
-
* @param
|
| 357 |
*/
|
| 358 |
$template = apply_filters( 'tribe_events_views_v2_view_template', $template, $view_slug, $instance );
|
| 359 |
|
|
@@ -362,8 +400,8 @@ class View implements View_Interface {
|
|
| 362 |
*
|
| 363 |
* @since 4.9.3
|
| 364 |
*
|
| 365 |
-
* @param
|
| 366 |
-
* @param
|
| 367 |
*/
|
| 368 |
$template = apply_filters( "tribe_events_views_v2_{$view_slug}_view_template", $template, $instance );
|
| 369 |
|
|
@@ -379,10 +417,10 @@ class View implements View_Interface {
|
|
| 379 |
*
|
| 380 |
* @since 4.9.3
|
| 381 |
*
|
| 382 |
-
* @param \Tribe__Context
|
| 383 |
* view.
|
| 384 |
-
* @param string
|
| 385 |
-
* @param
|
| 386 |
*/
|
| 387 |
$view_context = apply_filters( 'tribe_events_views_v2_view_context', $view_context, $view_slug, $instance );
|
| 388 |
|
|
@@ -391,9 +429,9 @@ class View implements View_Interface {
|
|
| 391 |
*
|
| 392 |
* @since 4.9.3
|
| 393 |
*
|
| 394 |
-
* @param \Tribe__Context
|
| 395 |
* view.
|
| 396 |
-
* @param
|
| 397 |
*/
|
| 398 |
$view_context = apply_filters( "tribe_events_views_v2_{$view_slug}_view_context", $view_context, $instance );
|
| 399 |
|
|
@@ -410,7 +448,7 @@ class View implements View_Interface {
|
|
| 410 |
*
|
| 411 |
* @param \Tribe__Repository__Interface $view_repository The repository instance the View will use.
|
| 412 |
* @param string $view_slug The current view slug.
|
| 413 |
-
* @param
|
| 414 |
*/
|
| 415 |
$view_repository = apply_filters( 'tribe_events_views_v2_view_repository', $view_repository, $view_slug, $instance );
|
| 416 |
|
|
@@ -420,7 +458,7 @@ class View implements View_Interface {
|
|
| 420 |
* @since 4.9.11
|
| 421 |
*
|
| 422 |
* @param \Tribe__Repository__Interface $view_repository The repository instance the View will use.
|
| 423 |
-
* @param
|
| 424 |
*/
|
| 425 |
$view_repository = apply_filters( "tribe_events_views_v2_{$view_slug}_view_repository", $view_repository, $instance );
|
| 426 |
|
|
@@ -431,9 +469,9 @@ class View implements View_Interface {
|
|
| 431 |
*
|
| 432 |
* @since 4.9.11
|
| 433 |
*
|
| 434 |
-
* @param array
|
| 435 |
-
* @param string
|
| 436 |
-
* @param
|
| 437 |
*/
|
| 438 |
$view_url_query_args = apply_filters( 'tribe_events_views_v2_view_url_query_args', [], $view_slug, $instance );
|
| 439 |
|
|
@@ -442,8 +480,8 @@ class View implements View_Interface {
|
|
| 442 |
*
|
| 443 |
* @since 4.9.11
|
| 444 |
*
|
| 445 |
-
* @param array
|
| 446 |
-
* @param
|
| 447 |
*/
|
| 448 |
$view_url_query_args = apply_filters( "tribe_events_views_v2_{$view_slug}_view_url_query_args", $view_url_query_args, $instance );
|
| 449 |
|
|
@@ -454,7 +492,7 @@ class View implements View_Interface {
|
|
| 454 |
*
|
| 455 |
* @since 4.9.11
|
| 456 |
*
|
| 457 |
-
* @param
|
| 458 |
*/
|
| 459 |
do_action( 'tribe_events_views_v2_after_make_view', $instance );
|
| 460 |
|
|
@@ -464,7 +502,7 @@ class View implements View_Interface {
|
|
| 464 |
/**
|
| 465 |
* Sets the DI container the class should use to build views.
|
| 466 |
*
|
| 467 |
-
* @param
|
| 468 |
*
|
| 469 |
* @since 4.9.2
|
| 470 |
*
|
|
@@ -522,8 +560,12 @@ class View implements View_Interface {
|
|
| 522 |
*/
|
| 523 |
$this->repository_args = $repository_args;
|
| 524 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 525 |
if ( ! tribe_events_view_v2_use_period_repository() ) {
|
| 526 |
-
// @todo @bluedevs do we still need this? It's slow and time-consuming!
|
| 527 |
$this->setup_the_loop( $repository_args );
|
| 528 |
}
|
| 529 |
|
|
@@ -535,6 +577,13 @@ class View implements View_Interface {
|
|
| 535 |
|
| 536 |
$this->restore_the_loop();
|
| 537 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 538 |
return $html;
|
| 539 |
}
|
| 540 |
|
|
@@ -542,34 +591,7 @@ class View implements View_Interface {
|
|
| 542 |
* {@inheritDoc}
|
| 543 |
*/
|
| 544 |
public function get_label() {
|
| 545 |
-
|
| 546 |
-
|
| 547 |
-
/**
|
| 548 |
-
* Pass by the translation engine, dont remove.
|
| 549 |
-
*/
|
| 550 |
-
$label = __( $label, 'the-events-calendar' );
|
| 551 |
-
|
| 552 |
-
/**
|
| 553 |
-
* Filters the label that will be used on the UI for views listing.
|
| 554 |
-
*
|
| 555 |
-
* @since 4.9.4
|
| 556 |
-
*
|
| 557 |
-
* @param string $label Label of the Current view.
|
| 558 |
-
* @param View_Interface $view The current view whose template variables are being set.
|
| 559 |
-
*/
|
| 560 |
-
$label = apply_filters( 'tribe_events_views_v2_view_label', $label, $this );
|
| 561 |
-
|
| 562 |
-
/**
|
| 563 |
-
* Filters the label that will be used on the UI for views listing.
|
| 564 |
-
*
|
| 565 |
-
* @since 4.9.4
|
| 566 |
-
*
|
| 567 |
-
* @param string $label Label of the Current view.
|
| 568 |
-
* @param View_Interface $view The current view whose template variables are being set.
|
| 569 |
-
*/
|
| 570 |
-
$label = apply_filters( "tribe_events_views_v2_view_{$this->slug}_label", $label, $this );
|
| 571 |
-
|
| 572 |
-
return $label;
|
| 573 |
}
|
| 574 |
|
| 575 |
/**
|
|
@@ -622,23 +644,23 @@ class View implements View_Interface {
|
|
| 622 |
$html_classes = array_merge( $base_classes, $parents, $classes );
|
| 623 |
|
| 624 |
/**
|
| 625 |
-
* Filters the
|
| 626 |
*
|
| 627 |
* @since 4.9.13
|
| 628 |
*
|
| 629 |
-
* @param array
|
| 630 |
-
* @param string
|
| 631 |
-
* @param
|
| 632 |
*/
|
| 633 |
$html_classes = apply_filters( 'tribe_events_views_v2_view_html_classes', $html_classes, $this->get_slug(), $this );
|
| 634 |
|
| 635 |
/**
|
| 636 |
-
* Filters the
|
| 637 |
*
|
| 638 |
* @since 4.9.13
|
| 639 |
*
|
| 640 |
-
* @param array
|
| 641 |
-
* @param
|
| 642 |
*/
|
| 643 |
$html_classes = apply_filters( "tribe_events_views_v2_{$this->get_slug()}_view_html_classes", $html_classes, $this );
|
| 644 |
|
|
@@ -684,23 +706,14 @@ class View implements View_Interface {
|
|
| 684 |
unset( $query_args['featured'] );
|
| 685 |
}
|
| 686 |
|
| 687 |
-
|
| 688 |
-
* Filters the query arguments that will be used to build a View URL.
|
| 689 |
-
*
|
| 690 |
-
* @since 4.9.10
|
| 691 |
-
*
|
| 692 |
-
* @param array $query_args An array of query args that will be used to build the URL for the View.
|
| 693 |
-
* @param View_Interface $this This View instance.
|
| 694 |
-
* @param bool $canonical Whether the URL should be the canonical one or not.
|
| 695 |
-
*/
|
| 696 |
-
$query_args = apply_filters( 'tribe_events_views_v2_url_query_args', $query_args, $this, $canonical );
|
| 697 |
|
| 698 |
if ( ! empty( $query_args['tribe-bar-date'] ) ) {
|
| 699 |
// If the Events Bar date is the same as today's date, then drop it.
|
| 700 |
-
$today
|
| 701 |
-
$url_date_format
|
| 702 |
-
$today_date
|
| 703 |
-
$tribe_bar_date
|
| 704 |
|
| 705 |
if ( static::$date_in_url ) {
|
| 706 |
if ( $today_date !== $tribe_bar_date ) {
|
|
@@ -713,7 +726,10 @@ class View implements View_Interface {
|
|
| 713 |
}
|
| 714 |
|
| 715 |
// When we find nothing we're always on page 1.
|
| 716 |
-
$page = $this->
|
|
|
|
|
|
|
|
|
|
| 717 |
|
| 718 |
if ( $page > 1 ) {
|
| 719 |
$query_args[ $this->page_key ] = $page;
|
|
@@ -726,8 +742,11 @@ class View implements View_Interface {
|
|
| 726 |
}
|
| 727 |
|
| 728 |
$event_display_mode = $this->context->get( 'event_display_mode', false );
|
| 729 |
-
if (
|
| 730 |
-
|
|
|
|
|
|
|
|
|
|
| 731 |
}
|
| 732 |
|
| 733 |
$url = $this->filter_view_url( $canonical, $url );
|
|
@@ -739,33 +758,54 @@ class View implements View_Interface {
|
|
| 739 |
* {@inheritDoc}
|
| 740 |
*/
|
| 741 |
public function next_url( $canonical = false, array $passthru_vars = [] ) {
|
| 742 |
-
|
|
|
|
|
|
|
| 743 |
|
| 744 |
$url = $this->get_url();
|
| 745 |
|
|
|
|
|
|
|
| 746 |
if ( ! empty( $passthru_vars ) ) {
|
| 747 |
// Remove the pass-thru vars, we'll re-apply them to the URL later.
|
| 748 |
$url = remove_query_arg( array_keys( $passthru_vars ), $url );
|
| 749 |
}
|
| 750 |
|
| 751 |
// Make sure the view slug is always set to correctly match rewrites.
|
| 752 |
-
$
|
| 753 |
|
| 754 |
-
|
| 755 |
-
|
| 756 |
-
: '';
|
| 757 |
|
| 758 |
-
|
| 759 |
-
$url =
|
| 760 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 761 |
|
| 762 |
-
|
| 763 |
-
|
| 764 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 765 |
}
|
| 766 |
|
| 767 |
$url = $this->filter_next_url( $canonical, $url );
|
| 768 |
|
|
|
|
|
|
|
| 769 |
return $url;
|
| 770 |
}
|
| 771 |
|
|
@@ -773,9 +813,15 @@ class View implements View_Interface {
|
|
| 773 |
* {@inheritDoc}
|
| 774 |
*/
|
| 775 |
public function prev_url( $canonical = false, array $passthru_vars = [] ) {
|
| 776 |
-
|
| 777 |
-
|
| 778 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 779 |
? [ $this->page_key => $paged ]
|
| 780 |
: [];
|
| 781 |
|
|
@@ -787,28 +833,74 @@ class View implements View_Interface {
|
|
| 787 |
}
|
| 788 |
|
| 789 |
// Make sure the view slug is always set to correctly match rewrites.
|
| 790 |
-
$
|
| 791 |
|
| 792 |
-
|
|
|
|
| 793 |
|
| 794 |
-
|
| 795 |
-
$url =
|
| 796 |
-
}
|
| 797 |
|
| 798 |
-
|
| 799 |
-
|
| 800 |
-
|
|
|
|
| 801 |
|
| 802 |
-
|
| 803 |
-
|
| 804 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 805 |
}
|
| 806 |
|
| 807 |
$url = $this->filter_prev_url( $canonical, $url );
|
| 808 |
|
|
|
|
|
|
|
| 809 |
return $url;
|
| 810 |
}
|
| 811 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 812 |
/**
|
| 813 |
* {@inheritDoc}
|
| 814 |
*/
|
|
@@ -984,16 +1076,30 @@ class View implements View_Interface {
|
|
| 984 |
|
| 985 |
$context_arr = $context->to_array();
|
| 986 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 987 |
$args = [
|
| 988 |
-
'posts_per_page' => $context_arr['events_per_page'],
|
| 989 |
'paged' => max( Arr::get_first_set( array_filter( $context_arr ), [
|
| 990 |
'paged',
|
| 991 |
'page',
|
| 992 |
], 1 ), 1 ),
|
| 993 |
'search' => $context->get( 'keyword', '' ),
|
| 994 |
'hidden_from_upcoming' => false,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 995 |
];
|
| 996 |
|
|
|
|
|
|
|
| 997 |
// Set's up category URL for all views.
|
| 998 |
if ( ! empty( $context_arr[ TEC::TAXONOMY ] ) ) {
|
| 999 |
$args[ TEC::TAXONOMY ] = $context_arr[ TEC::TAXONOMY ];
|
|
@@ -1009,6 +1115,33 @@ class View implements View_Interface {
|
|
| 1009 |
return $args;
|
| 1010 |
}
|
| 1011 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1012 |
/**
|
| 1013 |
* Filters the current URL returned for a specific View.
|
| 1014 |
*
|
|
@@ -1121,7 +1254,11 @@ class View implements View_Interface {
|
|
| 1121 |
* {@inheritDoc}
|
| 1122 |
*/
|
| 1123 |
public function found_post_ids() {
|
| 1124 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1125 |
}
|
| 1126 |
|
| 1127 |
/**
|
|
@@ -1131,6 +1268,42 @@ class View implements View_Interface {
|
|
| 1131 |
return static::$publicly_visible;
|
| 1132 |
}
|
| 1133 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1134 |
/**
|
| 1135 |
* Sets up the View template variables.
|
| 1136 |
*
|
|
@@ -1146,13 +1319,29 @@ class View implements View_Interface {
|
|
| 1146 |
|
| 1147 |
$events = (array) $this->repository->all();
|
| 1148 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1149 |
$this->setup_messages( $events );
|
| 1150 |
|
| 1151 |
$today_url = $this->get_today_url( true );
|
| 1152 |
$today = $this->context->get( 'today', 'today' );
|
| 1153 |
|
| 1154 |
$event_date = $this->context->get( 'event_date', false );
|
| 1155 |
-
|
|
|
|
|
|
|
| 1156 |
? Dates::build_date_object( $event_date )->format( Dates::DBDATEFORMAT )
|
| 1157 |
: false;
|
| 1158 |
|
|
@@ -1177,10 +1366,11 @@ class View implements View_Interface {
|
|
| 1177 |
'prev_label' => $this->get_link_label( $this->prev_url( false ) ),
|
| 1178 |
'next_label' => $this->get_link_label( $this->next_url( false ) ),
|
| 1179 |
'date_formats' => (object) [
|
| 1180 |
-
'compact'
|
| 1181 |
-
'
|
| 1182 |
-
'
|
| 1183 |
-
'
|
|
|
|
| 1184 |
],
|
| 1185 |
'messages' => $this->get_messages( $events ),
|
| 1186 |
'start_of_week' => get_option( 'start_of_week', 0 ),
|
|
@@ -1192,8 +1382,12 @@ class View implements View_Interface {
|
|
| 1192 |
'live_refresh' => tribe_is_truthy( tribe_get_option( 'liveFiltersUpdate', true ) ),
|
| 1193 |
'ical' => $this->get_ical_data(),
|
| 1194 |
'container_classes' => $this->get_html_classes(),
|
|
|
|
| 1195 |
'is_past' => 'past' === $this->context->get( 'event_display_mode', false ),
|
| 1196 |
'show_datepicker_submit' => $this->get_show_datepicker_submit(),
|
|
|
|
|
|
|
|
|
|
| 1197 |
];
|
| 1198 |
|
| 1199 |
return $template_vars;
|
|
@@ -1293,7 +1487,7 @@ class View implements View_Interface {
|
|
| 1293 |
* {@inheritDoc}
|
| 1294 |
*/
|
| 1295 |
public function get_today_url( $canonical = false ) {
|
| 1296 |
-
$to_remove = [ 'tribe-bar-date', 'paged', 'page', 'eventDate' ];
|
| 1297 |
|
| 1298 |
// While we want to remove the date query vars, we want to keep any other query var.
|
| 1299 |
$query_args = $this->url->get_query_args();
|
|
@@ -1301,6 +1495,8 @@ class View implements View_Interface {
|
|
| 1301 |
// Handle the `eventDisplay` query arg due to its particular usage to indicate the mode too.
|
| 1302 |
$query_args['eventDisplay'] = $this->slug;
|
| 1303 |
|
|
|
|
|
|
|
| 1304 |
$ugly_url = add_query_arg( $query_args, $this->get_url( false ) );
|
| 1305 |
$ugly_url = remove_query_arg( $to_remove, $ugly_url );
|
| 1306 |
|
|
@@ -1588,28 +1784,23 @@ class View implements View_Interface {
|
|
| 1588 |
protected function get_breadcrumbs() {
|
| 1589 |
$context = $this->context;
|
| 1590 |
$breadcrumbs = [];
|
| 1591 |
-
$
|
|
|
|
| 1592 |
|
| 1593 |
// Get term slug if taxonomy is not empty
|
| 1594 |
if ( ! empty( $context_tax ) ) {
|
| 1595 |
-
$
|
| 1596 |
-
|
| 1597 |
-
|
| 1598 |
-
|
| 1599 |
-
|
| 1600 |
-
|
| 1601 |
-
|
| 1602 |
-
|
| 1603 |
-
|
| 1604 |
-
|
| 1605 |
-
|
| 1606 |
-
|
| 1607 |
-
];
|
| 1608 |
-
$breadcrumbs[] = [
|
| 1609 |
-
'link' => '',
|
| 1610 |
-
'label' => $label,
|
| 1611 |
-
];
|
| 1612 |
-
}
|
| 1613 |
}
|
| 1614 |
}
|
| 1615 |
|
|
@@ -1617,10 +1808,13 @@ class View implements View_Interface {
|
|
| 1617 |
if ( $is_featured = tribe_is_truthy( $this->context->get( 'featured', false ) ) ) {
|
| 1618 |
$non_featured_link = tribe_events_get_url( [ 'featured' => 0 ] );
|
| 1619 |
|
| 1620 |
-
$
|
| 1621 |
-
|
| 1622 |
-
|
| 1623 |
-
|
|
|
|
|
|
|
|
|
|
| 1624 |
$breadcrumbs[] = [
|
| 1625 |
'link' => '',
|
| 1626 |
'label' => esc_html__( 'Featured', 'the-events-calendar' ),
|
|
@@ -1755,11 +1949,78 @@ class View implements View_Interface {
|
|
| 1755 |
$live_refresh = tribe_is_truthy( tribe_get_option( 'liveFiltersUpdate', true ) );
|
| 1756 |
$disable_events_bar = tribe_is_truthy( tribe_get_option( 'tribeDisableTribeBar', false ) );
|
| 1757 |
|
| 1758 |
-
|
| 1759 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1760 |
}
|
| 1761 |
|
| 1762 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1763 |
}
|
| 1764 |
|
| 1765 |
/**
|
|
@@ -1807,4 +2068,36 @@ class View implements View_Interface {
|
|
| 1807 |
protected function get_url_date_format() {
|
| 1808 |
return Dates::DBDATEFORMAT;
|
| 1809 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1810 |
}
|
| 10 |
|
| 11 |
use Tribe\Events\Views\V2\Template\Settings\Advanced_Display;
|
| 12 |
use Tribe\Events\Views\V2\Template\Title;
|
| 13 |
+
use Tribe\Events\Views\V2\Views\Traits\Breakpoint_Behavior;
|
| 14 |
+
use Tribe\Events\Views\V2\Views\Traits\HTML_Cache;
|
| 15 |
use Tribe__Container as Container;
|
| 16 |
use Tribe__Context as Context;
|
| 17 |
use Tribe__Date_Utils as Dates;
|
| 18 |
use Tribe__Events__Main as TEC;
|
| 19 |
use Tribe__Events__Organizer as Organizer;
|
| 20 |
+
use Tribe__Events__Rewrite as TEC_Rewrite;
|
| 21 |
use Tribe__Events__Venue as Venue;
|
| 22 |
use Tribe__Repository__Interface as Repository;
|
| 23 |
use Tribe__Utils__Array as Arr;
|
| 24 |
+
use Tribe\Events\Views\V2\Utils;
|
| 25 |
|
| 26 |
/**
|
| 27 |
* Class View
|
| 30 |
* @since 4.9.2
|
| 31 |
*/
|
| 32 |
class View implements View_Interface {
|
| 33 |
+
|
| 34 |
+
use Breakpoint_Behavior;
|
| 35 |
+
use HTML_Cache;
|
| 36 |
+
|
| 37 |
/**
|
| 38 |
* An instance of the DI container.
|
| 39 |
*
|
| 40 |
+
* @var Container
|
| 41 |
*/
|
| 42 |
protected static $container;
|
| 43 |
|
| 78 |
*
|
| 79 |
* This value will be set by the `View::make()` method while building a View instance.
|
| 80 |
*
|
| 81 |
+
* @var Template
|
| 82 |
*/
|
| 83 |
protected $template;
|
| 84 |
|
| 92 |
/**
|
| 93 |
* The URL object the View is currently.
|
| 94 |
*
|
| 95 |
+
* @var Url
|
| 96 |
*/
|
| 97 |
protected $url;
|
| 98 |
|
| 134 |
*/
|
| 135 |
protected $page_key = 'paged';
|
| 136 |
|
| 137 |
+
/**
|
| 138 |
+
* Indicates whether there are more events beyond the current view
|
| 139 |
+
*
|
| 140 |
+
* @since 5.0.0
|
| 141 |
+
*
|
| 142 |
+
* @var bool
|
| 143 |
+
*/
|
| 144 |
+
protected $has_next_event = false;
|
| 145 |
+
|
| 146 |
/**
|
| 147 |
* Whether the View instance should manage the URL
|
| 148 |
*
|
| 186 |
*
|
| 187 |
* @since 4.9.13
|
| 188 |
*
|
| 189 |
+
* @var TEC_Rewrite
|
| 190 |
*/
|
| 191 |
protected $rewrite;
|
| 192 |
|
| 198 |
*/
|
| 199 |
protected static $date_in_url = true;
|
| 200 |
|
| 201 |
+
/**
|
| 202 |
+
* Cached URLs
|
| 203 |
+
*
|
| 204 |
+
* @since 5.0.0
|
| 205 |
+
*
|
| 206 |
+
* @var array
|
| 207 |
+
*/
|
| 208 |
+
protected $cached_urls = [];
|
| 209 |
+
|
| 210 |
/**
|
| 211 |
* View constructor.
|
| 212 |
*
|
| 216 |
*/
|
| 217 |
public function __construct( Messages $messages = null ) {
|
| 218 |
$this->messages = $messages ?: new Messages();
|
| 219 |
+
$this->rewrite = TEC_Rewrite::instance();
|
| 220 |
+
|
| 221 |
+
// For plain permalinks, the pagination variable is "page".
|
| 222 |
+
if ( ! get_option( 'permalink_structure' ) ) {
|
| 223 |
+
$this->page_key = 'page';
|
| 224 |
+
}
|
| 225 |
}
|
| 226 |
|
| 227 |
/**
|
| 236 |
public static function make_for_rest( \WP_REST_Request $request ) {
|
| 237 |
// Try to read the slug from the REST request.
|
| 238 |
$params = $request->get_params();
|
| 239 |
+
if ( isset( $params['url'] ) ) {
|
| 240 |
+
$params['url'] = untrailingslashit( $params['url'] );
|
| 241 |
+
}
|
| 242 |
+
|
| 243 |
+
if ( isset( $params['prev_url'] ) ) {
|
| 244 |
+
$params['prev_url'] = untrailingslashit( $params['prev_url'] );
|
| 245 |
+
}
|
| 246 |
+
|
| 247 |
$slug = Arr::get( $params, 'view', false );
|
| 248 |
$url_object = Url::from_url_and_params( Arr::get( $params, 'url' ), $params );
|
| 249 |
|
| 293 |
$slug = Arr::get( $params, 'eventDisplay', tribe_context()->get( 'view', 'default' ) );
|
| 294 |
}
|
| 295 |
|
| 296 |
+
$params['event_display_mode'] = Arr::get( $query_args, Utils\View::get_past_event_display_key(), 'default' );
|
| 297 |
|
| 298 |
if ( ! empty( $slug ) ) {
|
| 299 |
/**
|
| 309 |
|
| 310 |
// Determine context based on the request parameters.
|
| 311 |
$do_not_override = [ 'event_display_mode' ];
|
| 312 |
+
$not_overridable_params = array_intersect_key( $params, array_combine( $do_not_override, $do_not_override ) );
|
| 313 |
$context = tribe_context()
|
| 314 |
->alter(
|
| 315 |
array_merge(
|
| 316 |
$params,
|
| 317 |
tribe_context()->translate_sub_locations( $params, \Tribe__Context::REQUEST_VAR ),
|
| 318 |
+
$not_overridable_params
|
| 319 |
)
|
| 320 |
);
|
| 321 |
|
| 389 |
*
|
| 390 |
* @since 4.9.3
|
| 391 |
*
|
| 392 |
+
* @param Template $template The template object for the View.
|
| 393 |
+
* @param string $view_slug The current view slug.
|
| 394 |
+
* @param View $instance The current View object.
|
| 395 |
*/
|
| 396 |
$template = apply_filters( 'tribe_events_views_v2_view_template', $template, $view_slug, $instance );
|
| 397 |
|
| 400 |
*
|
| 401 |
* @since 4.9.3
|
| 402 |
*
|
| 403 |
+
* @param Template $template The template object for the View.
|
| 404 |
+
* @param View $instance The current View object.
|
| 405 |
*/
|
| 406 |
$template = apply_filters( "tribe_events_views_v2_{$view_slug}_view_template", $template, $instance );
|
| 407 |
|
| 417 |
*
|
| 418 |
* @since 4.9.3
|
| 419 |
*
|
| 420 |
+
* @param \Tribe__Context $view_context The context abstraction object that will be passed to the
|
| 421 |
* view.
|
| 422 |
+
* @param string $view The current view slug.
|
| 423 |
+
* @param View $instance The current View object.
|
| 424 |
*/
|
| 425 |
$view_context = apply_filters( 'tribe_events_views_v2_view_context', $view_context, $view_slug, $instance );
|
| 426 |
|
| 429 |
*
|
| 430 |
* @since 4.9.3
|
| 431 |
*
|
| 432 |
+
* @param \Tribe__Context $view_context The context abstraction object that will be passed to the
|
| 433 |
* view.
|
| 434 |
+
* @param View $instance The current View object.
|
| 435 |
*/
|
| 436 |
$view_context = apply_filters( "tribe_events_views_v2_{$view_slug}_view_context", $view_context, $instance );
|
| 437 |
|
| 448 |
*
|
| 449 |
* @param \Tribe__Repository__Interface $view_repository The repository instance the View will use.
|
| 450 |
* @param string $view_slug The current view slug.
|
| 451 |
+
* @param View $instance The current View object.
|
| 452 |
*/
|
| 453 |
$view_repository = apply_filters( 'tribe_events_views_v2_view_repository', $view_repository, $view_slug, $instance );
|
| 454 |
|
| 458 |
* @since 4.9.11
|
| 459 |
*
|
| 460 |
* @param \Tribe__Repository__Interface $view_repository The repository instance the View will use.
|
| 461 |
+
* @param View $instance The current View object.
|
| 462 |
*/
|
| 463 |
$view_repository = apply_filters( "tribe_events_views_v2_{$view_slug}_view_repository", $view_repository, $instance );
|
| 464 |
|
| 469 |
*
|
| 470 |
* @since 4.9.11
|
| 471 |
*
|
| 472 |
+
* @param array $query_args Arguments used to build the URL.
|
| 473 |
+
* @param string $view_slug The current view slug.
|
| 474 |
+
* @param View $instance The current View object.
|
| 475 |
*/
|
| 476 |
$view_url_query_args = apply_filters( 'tribe_events_views_v2_view_url_query_args', [], $view_slug, $instance );
|
| 477 |
|
| 480 |
*
|
| 481 |
* @since 4.9.11
|
| 482 |
*
|
| 483 |
+
* @param array $query_args Arguments used to build the URL.
|
| 484 |
+
* @param View $instance The current View object.
|
| 485 |
*/
|
| 486 |
$view_url_query_args = apply_filters( "tribe_events_views_v2_{$view_slug}_view_url_query_args", $view_url_query_args, $instance );
|
| 487 |
|
| 492 |
*
|
| 493 |
* @since 4.9.11
|
| 494 |
*
|
| 495 |
+
* @param View $instance The current View object.
|
| 496 |
*/
|
| 497 |
do_action( 'tribe_events_views_v2_after_make_view', $instance );
|
| 498 |
|
| 502 |
/**
|
| 503 |
* Sets the DI container the class should use to build views.
|
| 504 |
*
|
| 505 |
+
* @param Container $container The DI container instance to use.
|
| 506 |
*
|
| 507 |
* @since 4.9.2
|
| 508 |
*
|
| 560 |
*/
|
| 561 |
$this->repository_args = $repository_args;
|
| 562 |
|
| 563 |
+
// If HTML_Cache is a class trait and we have content to display, display it.
|
| 564 |
+
if ( method_exists( $this, 'maybe_get_cached_html' ) && $cached_html = $this->maybe_get_cached_html() ) {
|
| 565 |
+
return $cached_html;
|
| 566 |
+
}
|
| 567 |
+
|
| 568 |
if ( ! tribe_events_view_v2_use_period_repository() ) {
|
|
|
|
| 569 |
$this->setup_the_loop( $repository_args );
|
| 570 |
}
|
| 571 |
|
| 577 |
|
| 578 |
$this->restore_the_loop();
|
| 579 |
|
| 580 |
+
// If HTML_Cache is a class trait, perhaps the markup should be cached.
|
| 581 |
+
if ( method_exists( $this, 'maybe_cache_html' ) ) {
|
| 582 |
+
$this->maybe_cache_html( $html );
|
| 583 |
+
}
|
| 584 |
+
|
| 585 |
+
remove_filter( 'tribe_repository_query_arg_offset_override', [ $this, 'filter_repository_query_arg_offset_override' ], 10, 2 );
|
| 586 |
+
|
| 587 |
return $html;
|
| 588 |
}
|
| 589 |
|
| 591 |
* {@inheritDoc}
|
| 592 |
*/
|
| 593 |
public function get_label() {
|
| 594 |
+
return tribe( Manager::class )->get_view_label_by_slug( $this->get_slug() );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 595 |
}
|
| 596 |
|
| 597 |
/**
|
| 644 |
$html_classes = array_merge( $base_classes, $parents, $classes );
|
| 645 |
|
| 646 |
/**
|
| 647 |
+
* Filters the HTML classes applied to a View top-level container.
|
| 648 |
*
|
| 649 |
* @since 4.9.13
|
| 650 |
*
|
| 651 |
+
* @param array $html_classes Array of classes used for this view.
|
| 652 |
+
* @param string $view_slug The current view slug.
|
| 653 |
+
* @param View $instance The current View object.
|
| 654 |
*/
|
| 655 |
$html_classes = apply_filters( 'tribe_events_views_v2_view_html_classes', $html_classes, $this->get_slug(), $this );
|
| 656 |
|
| 657 |
/**
|
| 658 |
+
* Filters the HTML classes applied to a specific View top-level container.
|
| 659 |
*
|
| 660 |
* @since 4.9.13
|
| 661 |
*
|
| 662 |
+
* @param array $html_classes Array of classes used for this view.
|
| 663 |
+
* @param View $instance The current View object.
|
| 664 |
*/
|
| 665 |
$html_classes = apply_filters( "tribe_events_views_v2_{$this->get_slug()}_view_html_classes", $html_classes, $this );
|
| 666 |
|
| 706 |
unset( $query_args['featured'] );
|
| 707 |
}
|
| 708 |
|
| 709 |
+
$query_args = $this->filter_query_args( $query_args, $canonical );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 710 |
|
| 711 |
if ( ! empty( $query_args['tribe-bar-date'] ) ) {
|
| 712 |
// If the Events Bar date is the same as today's date, then drop it.
|
| 713 |
+
$today = $this->context->get( 'today', 'today' );
|
| 714 |
+
$url_date_format = $this->get_url_date_format();
|
| 715 |
+
$today_date = Dates::build_date_object( $today )->format( $url_date_format );
|
| 716 |
+
$tribe_bar_date = Dates::build_date_object( $query_args['tribe-bar-date'] ) ->format( $url_date_format );
|
| 717 |
|
| 718 |
if ( static::$date_in_url ) {
|
| 719 |
if ( $today_date !== $tribe_bar_date ) {
|
| 726 |
}
|
| 727 |
|
| 728 |
// When we find nothing we're always on page 1.
|
| 729 |
+
$page = $this->url->get_current_page();
|
| 730 |
+
if ( ! $page ) {
|
| 731 |
+
$page = 1;
|
| 732 |
+
}
|
| 733 |
|
| 734 |
if ( $page > 1 ) {
|
| 735 |
$query_args[ $this->page_key ] = $page;
|
| 742 |
}
|
| 743 |
|
| 744 |
$event_display_mode = $this->context->get( 'event_display_mode', false );
|
| 745 |
+
if (
|
| 746 |
+
'past' === $event_display_mode
|
| 747 |
+
&& $event_display_mode !== $this->context->get( 'eventDisplay' )
|
| 748 |
+
) {
|
| 749 |
+
$url = add_query_arg( [ Utils\View::get_past_event_display_key() => $event_display_mode ], $url );
|
| 750 |
}
|
| 751 |
|
| 752 |
$url = $this->filter_view_url( $canonical, $url );
|
| 758 |
* {@inheritDoc}
|
| 759 |
*/
|
| 760 |
public function next_url( $canonical = false, array $passthru_vars = [] ) {
|
| 761 |
+
if ( isset( $this->cached_urls['next_url'] ) ) {
|
| 762 |
+
return $this->cached_urls['next_url'];
|
| 763 |
+
}
|
| 764 |
|
| 765 |
$url = $this->get_url();
|
| 766 |
|
| 767 |
+
$query_args = [];
|
| 768 |
+
|
| 769 |
if ( ! empty( $passthru_vars ) ) {
|
| 770 |
// Remove the pass-thru vars, we'll re-apply them to the URL later.
|
| 771 |
$url = remove_query_arg( array_keys( $passthru_vars ), $url );
|
| 772 |
}
|
| 773 |
|
| 774 |
// Make sure the view slug is always set to correctly match rewrites.
|
| 775 |
+
$query_args['eventDisplay'] = $this->slug;
|
| 776 |
|
| 777 |
+
if ( $this->has_next_event ) {
|
| 778 |
+
$query_args[ $this->page_key ] = $this->url->get_current_page() + 1;
|
|
|
|
| 779 |
|
| 780 |
+
// Default to the current URL.
|
| 781 |
+
$url = $url ?: home_url( add_query_arg( [] ) );
|
| 782 |
+
|
| 783 |
+
$query_args = $this->filter_query_args( $query_args, $url );
|
| 784 |
+
$query_args = array_filter( $query_args );
|
| 785 |
+
|
| 786 |
+
if ( ! empty( $query_args ) ) {
|
| 787 |
+
$url = add_query_arg( $query_args, $url );
|
| 788 |
+
}
|
| 789 |
+
|
| 790 |
+
// Remove the inverse of the page key we are using.
|
| 791 |
+
$url = remove_query_arg( 'page' === $this->page_key ? 'paged' : 'page', $url );
|
| 792 |
|
| 793 |
+
if ( $canonical ) {
|
| 794 |
+
$url = tribe( 'events.rewrite' )->get_clean_url( $url );
|
| 795 |
+
}
|
| 796 |
+
|
| 797 |
+
if ( ! empty( $passthru_vars ) && ! empty( $url ) ) {
|
| 798 |
+
// Re-apply the pass-thru query arguments.
|
| 799 |
+
$url = add_query_arg( $passthru_vars, $url );
|
| 800 |
+
}
|
| 801 |
+
} else {
|
| 802 |
+
$url = '';
|
| 803 |
}
|
| 804 |
|
| 805 |
$url = $this->filter_next_url( $canonical, $url );
|
| 806 |
|
| 807 |
+
$this->cached_urls['next_url'] = $url;
|
| 808 |
+
|
| 809 |
return $url;
|
| 810 |
}
|
| 811 |
|
| 813 |
* {@inheritDoc}
|
| 814 |
*/
|
| 815 |
public function prev_url( $canonical = false, array $passthru_vars = [] ) {
|
| 816 |
+
if ( isset( $this->cached_urls['prev_url'] ) ) {
|
| 817 |
+
return $this->cached_urls['prev_url'];
|
| 818 |
+
}
|
| 819 |
+
|
| 820 |
+
$prev_page = $this->repository->prev()->order_by( '__none' );
|
| 821 |
+
|
| 822 |
+
$paged = $this->url->get_current_page() - 1;
|
| 823 |
+
$query_args = [];
|
| 824 |
+
$page_query_args = $paged > 1
|
| 825 |
? [ $this->page_key => $paged ]
|
| 826 |
: [];
|
| 827 |
|
| 833 |
}
|
| 834 |
|
| 835 |
// Make sure the view slug is always set to correctly match rewrites.
|
| 836 |
+
$query_args['eventDisplay'] = $this->slug;
|
| 837 |
|
| 838 |
+
if ( $prev_page->count() > 0 ) {
|
| 839 |
+
$query_args = array_merge( $query_args, $page_query_args );
|
| 840 |
|
| 841 |
+
// Default to the current URL.
|
| 842 |
+
$url = $url ?: home_url( add_query_arg( [] ) );
|
|
|
|
| 843 |
|
| 844 |
+
if ( $paged === 1 ) {
|
| 845 |
+
$url = remove_query_arg( $this->page_key, $url );
|
| 846 |
+
unset( $query_args[ $this->page_key ] );
|
| 847 |
+
}
|
| 848 |
|
| 849 |
+
$query_args = $this->filter_query_args( $query_args, $url );
|
| 850 |
+
$query_args = array_filter( $query_args );
|
| 851 |
+
|
| 852 |
+
if ( ! empty( $query_args ) ) {
|
| 853 |
+
$url = add_query_arg( $query_args, $url );
|
| 854 |
+
}
|
| 855 |
+
|
| 856 |
+
// Remove the inverse of the page key we are using.
|
| 857 |
+
$url = remove_query_arg( 'page' === $this->page_key ? 'paged' : 'page', $url );
|
| 858 |
+
|
| 859 |
+
if ( $canonical ) {
|
| 860 |
+
$url = tribe( 'events.rewrite' )->get_clean_url( $url );
|
| 861 |
+
}
|
| 862 |
+
|
| 863 |
+
if ( ! empty( $passthru_vars ) ) {
|
| 864 |
+
// Re-apply the pass-thru query arguments.
|
| 865 |
+
$url = add_query_arg( $passthru_vars, $url );
|
| 866 |
+
}
|
| 867 |
+
} else {
|
| 868 |
+
$url = '';
|
| 869 |
}
|
| 870 |
|
| 871 |
$url = $this->filter_prev_url( $canonical, $url );
|
| 872 |
|
| 873 |
+
$this->cached_urls['prev_url'] = $url;
|
| 874 |
+
|
| 875 |
return $url;
|
| 876 |
}
|
| 877 |
|
| 878 |
+
/**
|
| 879 |
+
* Filters URL query args with a predictable filter
|
| 880 |
+
*
|
| 881 |
+
* @since 5.0.0
|
| 882 |
+
*
|
| 883 |
+
* @param array $query_args An array of query args that will be used to build the URL for the View.
|
| 884 |
+
* @param bool $canonical Whether the URL should be the canonical one or not.
|
| 885 |
+
*
|
| 886 |
+
* @return array Filtered array of query arguments.
|
| 887 |
+
*/
|
| 888 |
+
public function filter_query_args( $query_args, $canonical ) {
|
| 889 |
+
/**
|
| 890 |
+
* Filters the query arguments that will be used to build a View URL.
|
| 891 |
+
*
|
| 892 |
+
* @since 4.9.10
|
| 893 |
+
*
|
| 894 |
+
* @param array $query_args An array of query args that will be used to build the URL for the View.
|
| 895 |
+
* @param View_Interface $this This View instance.
|
| 896 |
+
* @param bool $canonical Whether the URL should be the canonical one or not.
|
| 897 |
+
*/
|
| 898 |
+
$query_args = apply_filters( 'tribe_events_views_v2_url_query_args', $query_args, $this, $canonical );
|
| 899 |
+
|
| 900 |
+
return $query_args;
|
| 901 |
+
}
|
| 902 |
+
|
| 903 |
+
|
| 904 |
/**
|
| 905 |
* {@inheritDoc}
|
| 906 |
*/
|
| 1076 |
|
| 1077 |
$context_arr = $context->to_array();
|
| 1078 |
|
| 1079 |
+
/*
|
| 1080 |
+
* Note: we are setting events_per_page to +1 so we don't need to query twice to
|
| 1081 |
+
* determine if there are subsequent pages. When running setup_template_vars, we pop
|
| 1082 |
+
* the last item off the array if the returned posts are > events_per_page.
|
| 1083 |
+
*
|
| 1084 |
+
* @since 5.0.0
|
| 1085 |
+
*/
|
| 1086 |
$args = [
|
| 1087 |
+
'posts_per_page' => $context_arr['events_per_page'] + 1,
|
| 1088 |
'paged' => max( Arr::get_first_set( array_filter( $context_arr ), [
|
| 1089 |
'paged',
|
| 1090 |
'page',
|
| 1091 |
], 1 ), 1 ),
|
| 1092 |
'search' => $context->get( 'keyword', '' ),
|
| 1093 |
'hidden_from_upcoming' => false,
|
| 1094 |
+
/*
|
| 1095 |
+
* Passing this parameter that is only used in this object to control whether or not the
|
| 1096 |
+
* offset value should be overridden with the `tribe_repository_query_arg_offset_override` filter.
|
| 1097 |
+
*/
|
| 1098 |
+
'view_override_offset' => true,
|
| 1099 |
];
|
| 1100 |
|
| 1101 |
+
add_filter( 'tribe_repository_query_arg_offset_override', [ $this, 'filter_repository_query_arg_offset_override' ], 10, 2 );
|
| 1102 |
+
|
| 1103 |
// Set's up category URL for all views.
|
| 1104 |
if ( ! empty( $context_arr[ TEC::TAXONOMY ] ) ) {
|
| 1105 |
$args[ TEC::TAXONOMY ] = $context_arr[ TEC::TAXONOMY ];
|
| 1115 |
return $args;
|
| 1116 |
}
|
| 1117 |
|
| 1118 |
+
/**
|
| 1119 |
+
* Filters the offset value separate from the posts_per_page/paged calculation.
|
| 1120 |
+
*
|
| 1121 |
+
* This allows us to save a query when determining pagination for list-like views.
|
| 1122 |
+
*
|
| 1123 |
+
* @since 5.0.0
|
| 1124 |
+
*
|
| 1125 |
+
* @param null|int $offset_override Offset override value.
|
| 1126 |
+
* @param \WP_Query $query WP Query object.
|
| 1127 |
+
*
|
| 1128 |
+
* @return null|int
|
| 1129 |
+
*/
|
| 1130 |
+
public function filter_repository_query_arg_offset_override( $offset_override, $query ) {
|
| 1131 |
+
if ( ! isset( $query['view_override_offset'] ) ) {
|
| 1132 |
+
return $offset_override;
|
| 1133 |
+
}
|
| 1134 |
+
|
| 1135 |
+
$context = $this->get_context();
|
| 1136 |
+
|
| 1137 |
+
$current_page = max(
|
| 1138 |
+
$context->get( 'page' ),
|
| 1139 |
+
$context->get( 'paged' ),
|
| 1140 |
+
1
|
| 1141 |
+
);
|
| 1142 |
+
return ( $current_page - 1 ) * $this->get_context()->get( 'events_per_page' );
|
| 1143 |
+
}
|
| 1144 |
+
|
| 1145 |
/**
|
| 1146 |
* Filters the current URL returned for a specific View.
|
| 1147 |
*
|
| 1254 |
* {@inheritDoc}
|
| 1255 |
*/
|
| 1256 |
public function found_post_ids() {
|
| 1257 |
+
$events = $this->repository->get_ids();
|
| 1258 |
+
if ( $this->has_next_event( $events ) ) {
|
| 1259 |
+
array_pop( $events );
|
| 1260 |
+
}
|
| 1261 |
+
return $events;
|
| 1262 |
}
|
| 1263 |
|
| 1264 |
/**
|
| 1268 |
return static::$publicly_visible;
|
| 1269 |
}
|
| 1270 |
|
| 1271 |
+
/**
|
| 1272 |
+
* Sets the has_next_event boolean flag, which determines if we have events in the next page.
|
| 1273 |
+
*
|
| 1274 |
+
* This flag is required due to being required to optimize the determination of whether
|
| 1275 |
+
* there are future events, we increased events_per_page by +1 during setup_repository_args. Because of that
|
| 1276 |
+
* if the number of events returned are greater than events_per_page, we need to
|
| 1277 |
+
* pop an element off the end and set a boolean.
|
| 1278 |
+
*
|
| 1279 |
+
* @since 5.0.0
|
| 1280 |
+
*
|
| 1281 |
+
* @param boolean $value Which value will be set to has_next_event, will be casted as boolean.
|
| 1282 |
+
*
|
| 1283 |
+
* @return mixed Value passed after being saved and casted as boolean.
|
| 1284 |
+
*/
|
| 1285 |
+
public function set_has_next_event( $value ) {
|
| 1286 |
+
return $this->has_next_event = (bool) $value;
|
| 1287 |
+
}
|
| 1288 |
+
|
| 1289 |
+
/**
|
| 1290 |
+
* Determines from a given array of events if we have next events or not.
|
| 1291 |
+
*
|
| 1292 |
+
* @since 5.0.0
|
| 1293 |
+
*
|
| 1294 |
+
* @param array $events Array that will be counted to verify if we have events.
|
| 1295 |
+
* @param boolean $overwrite_flag If we should overwrite the flag when we discover the result.
|
| 1296 |
+
*
|
| 1297 |
+
* @return mixed Weather the array of events has a next page.
|
| 1298 |
+
*/
|
| 1299 |
+
public function has_next_event( array $events, $overwrite_flag = true ) {
|
| 1300 |
+
$has_next_events = count( $events ) > $this->get_context()->get( 'events_per_page', 12 );
|
| 1301 |
+
if ( (bool) $overwrite_flag ) {
|
| 1302 |
+
$this->set_has_next_event( $has_next_events );
|
| 1303 |
+
}
|
| 1304 |
+
return $has_next_events;
|
| 1305 |
+
}
|
| 1306 |
+
|
| 1307 |
/**
|
| 1308 |
* Sets up the View template variables.
|
| 1309 |
*
|
| 1319 |
|
| 1320 |
$events = (array) $this->repository->all();
|
| 1321 |
|
| 1322 |
+
$is_paginated = isset( $this->repository_args['posts_per_page'] ) && -1 !== $this->repository_args['posts_per_page'];
|
| 1323 |
+
|
| 1324 |
+
/*
|
| 1325 |
+
* To optimize the determination of whether there are future events, we
|
| 1326 |
+
* increased events_per_page by +1 during setup_repository_args. Because of that
|
| 1327 |
+
* if the number of events returned is greater than events_per_page, we need to
|
| 1328 |
+
* pop an element off the end and set a boolean.
|
| 1329 |
+
*
|
| 1330 |
+
* @since 5.0.0
|
| 1331 |
+
*/
|
| 1332 |
+
if ( $is_paginated && $this->has_next_event( $events ) ) {
|
| 1333 |
+
array_pop( $events );
|
| 1334 |
+
}
|
| 1335 |
+
|
| 1336 |
$this->setup_messages( $events );
|
| 1337 |
|
| 1338 |
$today_url = $this->get_today_url( true );
|
| 1339 |
$today = $this->context->get( 'today', 'today' );
|
| 1340 |
|
| 1341 |
$event_date = $this->context->get( 'event_date', false );
|
| 1342 |
+
|
| 1343 |
+
// Set the URL event date only if it's not empty or "now": both are implicit, default, date selections.
|
| 1344 |
+
$url_event_date = ( ! empty( $event_date ) && 'now' !== $event_date )
|
| 1345 |
? Dates::build_date_object( $event_date )->format( Dates::DBDATEFORMAT )
|
| 1346 |
: false;
|
| 1347 |
|
| 1366 |
'prev_label' => $this->get_link_label( $this->prev_url( false ) ),
|
| 1367 |
'next_label' => $this->get_link_label( $this->next_url( false ) ),
|
| 1368 |
'date_formats' => (object) [
|
| 1369 |
+
'compact' => Dates::datepicker_formats( tribe_get_option( 'datepickerFormat' ) ),
|
| 1370 |
+
'month_and_year_compact' => Dates::datepicker_formats( 'm' . tribe_get_option( 'datepickerFormat' ) ),
|
| 1371 |
+
'month_and_year' => tribe_get_date_option( 'monthAndYearFormat', 'F Y' ),
|
| 1372 |
+
'time_range_separator' => tribe_get_date_option( 'timeRangeSeparator', ' - ' ),
|
| 1373 |
+
'date_time_separator' => tribe_get_date_option( 'dateTimeSeparator', ' @ ' ),
|
| 1374 |
],
|
| 1375 |
'messages' => $this->get_messages( $events ),
|
| 1376 |
'start_of_week' => get_option( 'start_of_week', 0 ),
|
| 1382 |
'live_refresh' => tribe_is_truthy( tribe_get_option( 'liveFiltersUpdate', true ) ),
|
| 1383 |
'ical' => $this->get_ical_data(),
|
| 1384 |
'container_classes' => $this->get_html_classes(),
|
| 1385 |
+
'container_data' => $this->get_container_data(),
|
| 1386 |
'is_past' => 'past' === $this->context->get( 'event_display_mode', false ),
|
| 1387 |
'show_datepicker_submit' => $this->get_show_datepicker_submit(),
|
| 1388 |
+
'breakpoints' => $this->get_breakpoints(),
|
| 1389 |
+
'is_initial_load' => $this->context->doing_php_initial_state(),
|
| 1390 |
+
'public_views' => $this->get_public_views( $url_event_date ),
|
| 1391 |
];
|
| 1392 |
|
| 1393 |
return $template_vars;
|
| 1487 |
* {@inheritDoc}
|
| 1488 |
*/
|
| 1489 |
public function get_today_url( $canonical = false ) {
|
| 1490 |
+
$to_remove = [ 'tribe-bar-date', 'paged', 'page', 'eventDate', 'tribe_event_display' ];
|
| 1491 |
|
| 1492 |
// While we want to remove the date query vars, we want to keep any other query var.
|
| 1493 |
$query_args = $this->url->get_query_args();
|
| 1495 |
// Handle the `eventDisplay` query arg due to its particular usage to indicate the mode too.
|
| 1496 |
$query_args['eventDisplay'] = $this->slug;
|
| 1497 |
|
| 1498 |
+
$query_args = $this->filter_query_args( $query_args, $canonical );
|
| 1499 |
+
|
| 1500 |
$ugly_url = add_query_arg( $query_args, $this->get_url( false ) );
|
| 1501 |
$ugly_url = remove_query_arg( $to_remove, $ugly_url );
|
| 1502 |
|
| 1784 |
protected function get_breadcrumbs() {
|
| 1785 |
$context = $this->context;
|
| 1786 |
$breadcrumbs = [];
|
| 1787 |
+
$taxonomy = TEC::TAXONOMY;
|
| 1788 |
+
$context_tax = $context->get( $taxonomy, false );
|
| 1789 |
|
| 1790 |
// Get term slug if taxonomy is not empty
|
| 1791 |
if ( ! empty( $context_tax ) ) {
|
| 1792 |
+
$term = get_term_by( 'slug', $context_tax, $taxonomy );
|
| 1793 |
+
if ( ! empty( $term->name ) ) {
|
| 1794 |
+
$label = $term->name;
|
| 1795 |
+
|
| 1796 |
+
$breadcrumbs[] = [
|
| 1797 |
+
'link' => $this->get_today_url( true ),
|
| 1798 |
+
'label' => tribe_get_event_label_plural(),
|
| 1799 |
+
];
|
| 1800 |
+
$breadcrumbs[] = [
|
| 1801 |
+
'link' => '',
|
| 1802 |
+
'label' => $label,
|
| 1803 |
+
];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1804 |
}
|
| 1805 |
}
|
| 1806 |
|
| 1808 |
if ( $is_featured = tribe_is_truthy( $this->context->get( 'featured', false ) ) ) {
|
| 1809 |
$non_featured_link = tribe_events_get_url( [ 'featured' => 0 ] );
|
| 1810 |
|
| 1811 |
+
if ( empty( $context_tax ) ) {
|
| 1812 |
+
$breadcrumbs[] = [
|
| 1813 |
+
'link' => $non_featured_link,
|
| 1814 |
+
'label' => tribe_get_event_label_plural(),
|
| 1815 |
+
];
|
| 1816 |
+
}
|
| 1817 |
+
|
| 1818 |
$breadcrumbs[] = [
|
| 1819 |
'link' => '',
|
| 1820 |
'label' => esc_html__( 'Featured', 'the-events-calendar' ),
|
| 1949 |
$live_refresh = tribe_is_truthy( tribe_get_option( 'liveFiltersUpdate', true ) );
|
| 1950 |
$disable_events_bar = tribe_is_truthy( tribe_get_option( 'tribeDisableTribeBar', false ) );
|
| 1951 |
|
| 1952 |
+
$show_datepicker_submit = empty( $live_refresh ) && ! empty( $disable_events_bar );
|
| 1953 |
+
|
| 1954 |
+
/**
|
| 1955 |
+
* Filters the show datepicker submit value.
|
| 1956 |
+
*
|
| 1957 |
+
* @since 5.0.0
|
| 1958 |
+
*
|
| 1959 |
+
* @param object $show_datepicker_submit The show datepicker submit value.
|
| 1960 |
+
* @param View $this The current View instance being rendered.
|
| 1961 |
+
*/
|
| 1962 |
+
$show_datepicker_submit = apply_filters( "tribe_events_views_v2_view_show_datepicker_submit", $show_datepicker_submit, $this );
|
| 1963 |
+
|
| 1964 |
+
/**
|
| 1965 |
+
* Filters the show datepicker submit value for a specific view.
|
| 1966 |
+
*
|
| 1967 |
+
* @since 5.0.0
|
| 1968 |
+
*
|
| 1969 |
+
* @param object $show_datepicker_submit The show datepicker submit value.
|
| 1970 |
+
* @param View $this The current View instance being rendered.
|
| 1971 |
+
*/
|
| 1972 |
+
$show_datepicker_submit = apply_filters( "tribe_events_views_v2_view_{$this->slug}_show_datepicker_submit", $show_datepicker_submit, $this );
|
| 1973 |
+
|
| 1974 |
+
return $show_datepicker_submit;
|
| 1975 |
+
}
|
| 1976 |
+
|
| 1977 |
+
/**
|
| 1978 |
+
* Manipulates public views data, if necessary, and returns result.
|
| 1979 |
+
*
|
| 1980 |
+
* @since 5.0.0
|
| 1981 |
+
*
|
| 1982 |
+
* @param string|bool $url_event_date The value, `Y-m-d` format, of the `eventDate` request variable to
|
| 1983 |
+
* append to the view URL, if any.
|
| 1984 |
+
*
|
| 1985 |
+
* @return array
|
| 1986 |
+
*/
|
| 1987 |
+
protected function get_public_views( $url_event_date ) {
|
| 1988 |
+
$public_views = tribe( Manager::class )->get_publicly_visible_views_data();
|
| 1989 |
+
|
| 1990 |
+
if ( ! empty( $url_event_date ) ) {
|
| 1991 |
+
// Each View expects the event date in a specific format, here we account for it.
|
| 1992 |
+
$query_args = wp_parse_url( $this->get_url( false ), PHP_URL_QUERY );
|
| 1993 |
+
|
| 1994 |
+
array_walk(
|
| 1995 |
+
$public_views,
|
| 1996 |
+
function ( &$view_data, $view_slug ) use ( $url_event_date, $query_args ) {
|
| 1997 |
+
$view_instance = View::make( $view_data->view_class );
|
| 1998 |
+
$view_data->view_url = $view_instance->url_for_query_args( $url_event_date, $query_args );
|
| 1999 |
+
}
|
| 2000 |
+
);
|
| 2001 |
}
|
| 2002 |
|
| 2003 |
+
/**
|
| 2004 |
+
* Filters the public views.
|
| 2005 |
+
*
|
| 2006 |
+
* @since 5.0.0
|
| 2007 |
+
*
|
| 2008 |
+
* @param object $public_views The public views.
|
| 2009 |
+
* @param View $this The current View instance being rendered.
|
| 2010 |
+
*/
|
| 2011 |
+
$public_views = apply_filters( "tribe_events_views_v2_view_public_views", $public_views, $this );
|
| 2012 |
+
|
| 2013 |
+
/**
|
| 2014 |
+
* Filters the public views for a specific view.
|
| 2015 |
+
*
|
| 2016 |
+
* @since 5.0.0
|
| 2017 |
+
*
|
| 2018 |
+
* @param object $public_views The public views.
|
| 2019 |
+
* @param View $this The current View instance being rendered.
|
| 2020 |
+
*/
|
| 2021 |
+
$public_views = apply_filters( "tribe_events_views_v2_view_{$this->slug}_public_views", $public_views, $this );
|
| 2022 |
+
|
| 2023 |
+
return $public_views;
|
| 2024 |
}
|
| 2025 |
|
| 2026 |
/**
|
| 2068 |
protected function get_url_date_format() {
|
| 2069 |
return Dates::DBDATEFORMAT;
|
| 2070 |
}
|
| 2071 |
+
|
| 2072 |
+
/**
|
| 2073 |
+
* Returns the filtered container data attributes for the View top-level container.
|
| 2074 |
+
*
|
| 2075 |
+
* @since 5.0.0
|
| 2076 |
+
*
|
| 2077 |
+
* @return array<string,string> The filtered list of data attributes for the View top-level container.
|
| 2078 |
+
*/
|
| 2079 |
+
protected function get_container_data() {
|
| 2080 |
+
/**
|
| 2081 |
+
* Filters the data for a View top-level container.
|
| 2082 |
+
*
|
| 2083 |
+
* @since 5.0.0
|
| 2084 |
+
*
|
| 2085 |
+
* @param array<string,string> $data Associative array of data for the View top-level container.
|
| 2086 |
+
* @param string $view_slug The current view slug.
|
| 2087 |
+
* @param View $instance The current View object.
|
| 2088 |
+
*/
|
| 2089 |
+
$data = apply_filters( 'tribe_events_views_v2_view_data', [], $this->get_slug(), $this );
|
| 2090 |
+
|
| 2091 |
+
/**
|
| 2092 |
+
* Filters the data for a specific View top-level container.
|
| 2093 |
+
*
|
| 2094 |
+
* @since 4.9.13
|
| 2095 |
+
*
|
| 2096 |
+
* @param array<string,string> $data Associative array of data for the View top-level container.
|
| 2097 |
+
* @param View $instance The current View object.
|
| 2098 |
+
*/
|
| 2099 |
+
$data = apply_filters( "tribe_events_views_v2_{$this->get_slug()}_view_data", $data, $this );
|
| 2100 |
+
|
| 2101 |
+
return $data;
|
| 2102 |
+
}
|
| 2103 |
}
|
src/Tribe/Views/V2/Views/By_Day_View.php
CHANGED
|
@@ -16,6 +16,7 @@ use Tribe\Events\Views\V2\View;
|
|
| 16 |
use Tribe\Traits\Cache_User;
|
| 17 |
use Tribe__Cache_Listener as Cache_Listener;
|
| 18 |
use Tribe__Date_Utils as Dates;
|
|
|
|
| 19 |
use Tribe__Utils__Array as Arr;
|
| 20 |
|
| 21 |
/**
|
|
@@ -28,6 +29,8 @@ use Tribe__Utils__Array as Arr;
|
|
| 28 |
abstract class By_Day_View extends View {
|
| 29 |
use Cache_User;
|
| 30 |
|
|
|
|
|
|
|
| 31 |
/**
|
| 32 |
* The date input by the user, either by selecting the default view or using the bar.
|
| 33 |
*
|
|
@@ -54,6 +57,15 @@ abstract class By_Day_View extends View {
|
|
| 54 |
*/
|
| 55 |
protected $grid_days_found_cache = [];
|
| 56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 57 |
/**
|
| 58 |
* An instance of the Stack object.
|
| 59 |
*
|
|
@@ -95,7 +107,7 @@ abstract class By_Day_View extends View {
|
|
| 95 |
! $force
|
| 96 |
&& ! empty( $this->grid_days_cache )
|
| 97 |
&& isset( $this->user_date )
|
| 98 |
-
&& (
|
| 99 |
) {
|
| 100 |
return $this->grid_days_cache;
|
| 101 |
}
|
|
@@ -124,7 +136,7 @@ abstract class By_Day_View extends View {
|
|
| 124 |
/**
|
| 125 |
* If repository arguments have not ben set up yet, let's do it now.
|
| 126 |
*/
|
| 127 |
-
$this->repository_args = $this->filter_repository_args( $this->setup_repository_args() );
|
| 128 |
}
|
| 129 |
|
| 130 |
$repository_args = $this->repository_args;
|
|
@@ -147,8 +159,77 @@ abstract class By_Day_View extends View {
|
|
| 147 |
$repository = tribe_events( 'period' );
|
| 148 |
}
|
| 149 |
$repository->by_period( $grid_start_date, $grid_end_date )->fetch();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 150 |
}
|
| 151 |
|
|
|
|
|
|
|
| 152 |
// phpcs:ignore
|
| 153 |
/** @var \DateTime $day */
|
| 154 |
foreach ( $days as $day ) {
|
|
@@ -164,38 +245,45 @@ abstract class By_Day_View extends View {
|
|
| 164 |
$event_ids = array_map( 'absint', $day_results->pluck( 'ID' ) );
|
| 165 |
}
|
| 166 |
|
| 167 |
-
|
| 168 |
-
|
|
|
|
| 169 |
|
| 170 |
$this->grid_days_cache[ $day_string ] = $day_event_ids;
|
| 171 |
$this->grid_days_found_cache[ $day_string ] = $day_results->count();
|
| 172 |
} else {
|
| 173 |
$start = tribe_beginning_of_day( $day->format( Dates::DBDATETIMEFORMAT ) );
|
| 174 |
$end = tribe_end_of_day( $day->format( Dates::DBDATETIMEFORMAT ) );
|
| 175 |
-
|
| 176 |
-
|
| 177 |
-
|
| 178 |
-
|
| 179 |
-
|
| 180 |
-
|
| 181 |
-
|
| 182 |
-
|
| 183 |
-
|
| 184 |
-
|
| 185 |
-
|
| 186 |
-
$
|
| 187 |
-
|
| 188 |
-
|
| 189 |
-
|
|
|
|
|
|
|
| 190 |
}
|
| 191 |
|
| 192 |
-
|
| 193 |
-
* Multi-day events will always appear on the second day and forward, back-fill if they did not make the
|
| 194 |
-
* cut (of events per day) on previous days.
|
| 195 |
-
*/
|
| 196 |
-
$this->backfill_multiday_event_ids( $day_event_ids );
|
| 197 |
}
|
| 198 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 199 |
if ( $using_period_repository ) {
|
| 200 |
$post_ids = array_filter( array_unique( array_merge( ... array_values( $this->grid_days_cache ) ) ) );
|
| 201 |
/** @var \Tribe__Cache $cache */
|
|
@@ -381,6 +469,39 @@ abstract class By_Day_View extends View {
|
|
| 381 |
return $grid_days;
|
| 382 |
}
|
| 383 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 384 |
/**
|
| 385 |
* Back-fills the days cache to add multi-day events that, due to events-per-day limits, might not appear on first
|
| 386 |
* day.
|
|
@@ -393,10 +514,10 @@ abstract class By_Day_View extends View {
|
|
| 393 |
*
|
| 394 |
* @since 4.9.12
|
| 395 |
*
|
| 396 |
-
* @param array $
|
| 397 |
*/
|
| 398 |
-
protected function backfill_multiday_event_ids( array $
|
| 399 |
-
if ( empty( $
|
| 400 |
return;
|
| 401 |
}
|
| 402 |
|
|
@@ -406,8 +527,10 @@ abstract class By_Day_View extends View {
|
|
| 406 |
return;
|
| 407 |
}
|
| 408 |
|
|
|
|
|
|
|
| 409 |
foreach ( $event_ids as $event_id ) {
|
| 410 |
-
$event =
|
| 411 |
|
| 412 |
if ( ! $event instanceof \WP_Post ) {
|
| 413 |
continue;
|
|
@@ -454,4 +577,24 @@ abstract class By_Day_View extends View {
|
|
| 454 |
return defined( 'TRIBE_EVENTS_V2_VIEWS_USE_PERIOD_REPOSITORY' )
|
| 455 |
&& TRIBE_EVENTS_V2_VIEWS_USE_PERIOD_REPOSITORY;
|
| 456 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 457 |
}
|
| 16 |
use Tribe\Traits\Cache_User;
|
| 17 |
use Tribe__Cache_Listener as Cache_Listener;
|
| 18 |
use Tribe__Date_Utils as Dates;
|
| 19 |
+
use Tribe__Timezones as Timezones;
|
| 20 |
use Tribe__Utils__Array as Arr;
|
| 21 |
|
| 22 |
/**
|
| 29 |
abstract class By_Day_View extends View {
|
| 30 |
use Cache_User;
|
| 31 |
|
| 32 |
+
const CHUNK_SIZE = 200;
|
| 33 |
+
|
| 34 |
/**
|
| 35 |
* The date input by the user, either by selecting the default view or using the bar.
|
| 36 |
*
|
| 57 |
*/
|
| 58 |
protected $grid_days_found_cache = [];
|
| 59 |
|
| 60 |
+
/**
|
| 61 |
+
* An array of cached events for the grid.
|
| 62 |
+
*
|
| 63 |
+
* @since 5.0.0
|
| 64 |
+
*
|
| 65 |
+
* @var array
|
| 66 |
+
*/
|
| 67 |
+
protected $grid_events = [];
|
| 68 |
+
|
| 69 |
/**
|
| 70 |
* An instance of the Stack object.
|
| 71 |
*
|
| 107 |
! $force
|
| 108 |
&& ! empty( $this->grid_days_cache )
|
| 109 |
&& isset( $this->user_date )
|
| 110 |
+
&& ( ! $date || $this->user_date === $date )
|
| 111 |
) {
|
| 112 |
return $this->grid_days_cache;
|
| 113 |
}
|
| 136 |
/**
|
| 137 |
* If repository arguments have not ben set up yet, let's do it now.
|
| 138 |
*/
|
| 139 |
+
$this->repository_args = $this->filter_repository_args( $this->setup_repository_args( $this->context ) );
|
| 140 |
}
|
| 141 |
|
| 142 |
$repository_args = $this->repository_args;
|
| 159 |
$repository = tribe_events( 'period' );
|
| 160 |
}
|
| 161 |
$repository->by_period( $grid_start_date, $grid_end_date )->fetch();
|
| 162 |
+
} else {
|
| 163 |
+
global $wpdb;
|
| 164 |
+
|
| 165 |
+
$first_grid_day = $days->start;
|
| 166 |
+
$start = tribe_beginning_of_day( $first_grid_day->format( Dates::DBDATETIMEFORMAT ) );
|
| 167 |
+
$last_grid_day = $days->end;
|
| 168 |
+
$end = tribe_end_of_day( $last_grid_day->format( Dates::DBDATETIMEFORMAT ) );
|
| 169 |
+
|
| 170 |
+
$view_event_ids = tribe_events()
|
| 171 |
+
->set_found_rows( true )
|
| 172 |
+
->fields( 'ids' )
|
| 173 |
+
->by_args( $repository_args )
|
| 174 |
+
->where( 'date_overlaps', $start, $end, null, 2 )
|
| 175 |
+
->per_page( -1 )
|
| 176 |
+
->order_by( $order_by, $order )
|
| 177 |
+
->all();
|
| 178 |
+
|
| 179 |
+
$day_results = [];
|
| 180 |
+
|
| 181 |
+
$start_meta_key = '_EventStartDate';
|
| 182 |
+
$end_meta_key = '_EventEndDate';
|
| 183 |
+
|
| 184 |
+
if ( Timezones::is_mode( 'site' ) ) {
|
| 185 |
+
$start_meta_key = '_EventStartDateUTC';
|
| 186 |
+
$end_meta_key = '_EventEndDateUTC';
|
| 187 |
+
}
|
| 188 |
+
|
| 189 |
+
$results = [];
|
| 190 |
+
$request_chunks = array_chunk( $view_event_ids, $this->get_chunk_size() );
|
| 191 |
+
|
| 192 |
+
foreach ( $request_chunks as $chunk_ids ) {
|
| 193 |
+
$sql = "
|
| 194 |
+
SELECT
|
| 195 |
+
post_id,
|
| 196 |
+
meta_key,
|
| 197 |
+
meta_value
|
| 198 |
+
FROM
|
| 199 |
+
{$wpdb->postmeta}
|
| 200 |
+
WHERE
|
| 201 |
+
meta_key IN ( %s, %s )
|
| 202 |
+
AND post_id IN ( " . implode( ',', $chunk_ids ) . " )
|
| 203 |
+
";
|
| 204 |
+
|
| 205 |
+
$chunk_results = $wpdb->get_results( $wpdb->prepare( $sql, [ $start_meta_key, $end_meta_key ] ) );
|
| 206 |
+
|
| 207 |
+
$results = array_merge( $results, $chunk_results );
|
| 208 |
+
}
|
| 209 |
+
|
| 210 |
+
$indexed_results = [];
|
| 211 |
+
|
| 212 |
+
foreach ( $results as $row ) {
|
| 213 |
+
if ( ! isset( $indexed_results[ $row->post_id ] ) ) {
|
| 214 |
+
$indexed_results[ $row->post_id ] = [
|
| 215 |
+
'ID' => $row->post_id,
|
| 216 |
+
'start_date' => null,
|
| 217 |
+
'end_date' => null,
|
| 218 |
+
];
|
| 219 |
+
}
|
| 220 |
+
|
| 221 |
+
$key = $start_meta_key === $row->meta_key ? 'start_date' : 'end_date';
|
| 222 |
+
|
| 223 |
+
$indexed_results[ $row->post_id ][ $key ] = $row->meta_value;
|
| 224 |
+
}
|
| 225 |
+
|
| 226 |
+
foreach ( $view_event_ids as $id ) {
|
| 227 |
+
$day_results[] = (object) $indexed_results[ $id ];
|
| 228 |
+
}
|
| 229 |
}
|
| 230 |
|
| 231 |
+
$all_day_event_ids = [];
|
| 232 |
+
|
| 233 |
// phpcs:ignore
|
| 234 |
/** @var \DateTime $day */
|
| 235 |
foreach ( $days as $day ) {
|
| 245 |
$event_ids = array_map( 'absint', $day_results->pluck( 'ID' ) );
|
| 246 |
}
|
| 247 |
|
| 248 |
+
if ( $events_per_day > -1 ) {
|
| 249 |
+
$day_event_ids = array_slice( $event_ids, 0, $events_per_day );
|
| 250 |
+
}
|
| 251 |
|
| 252 |
$this->grid_days_cache[ $day_string ] = $day_event_ids;
|
| 253 |
$this->grid_days_found_cache[ $day_string ] = $day_results->count();
|
| 254 |
} else {
|
| 255 |
$start = tribe_beginning_of_day( $day->format( Dates::DBDATETIMEFORMAT ) );
|
| 256 |
$end = tribe_end_of_day( $day->format( Dates::DBDATETIMEFORMAT ) );
|
| 257 |
+
|
| 258 |
+
// Events overlap a day if Event start date <= Day End AND Event end date >= Day Start.
|
| 259 |
+
$results_in_day = array_filter(
|
| 260 |
+
$day_results,
|
| 261 |
+
static function ( $event ) use ( $start, $end ) {
|
| 262 |
+
return $event->start_date <= $end && $event->end_date >= $start;
|
| 263 |
+
}
|
| 264 |
+
);
|
| 265 |
+
|
| 266 |
+
$day_event_ids = array_map( 'absint', wp_list_pluck( $results_in_day, 'ID' ) );
|
| 267 |
+
|
| 268 |
+
if ( $events_per_day > -1 ) {
|
| 269 |
+
$day_event_ids = array_slice( $day_event_ids, 0, $events_per_day );
|
| 270 |
+
}
|
| 271 |
+
|
| 272 |
+
$this->grid_days_cache[ $day_string ] = $day_event_ids;
|
| 273 |
+
$this->grid_days_found_cache[ $day_string ] = count( $results_in_day );
|
| 274 |
}
|
| 275 |
|
| 276 |
+
$all_day_event_ids = array_merge( $all_day_event_ids, $day_event_ids );
|
|
|
|
|
|
|
|
|
|
|
|
|
| 277 |
}
|
| 278 |
|
| 279 |
+
$this->grid_events = $this->get_grid_events( $all_day_event_ids );
|
| 280 |
+
|
| 281 |
+
/*
|
| 282 |
+
* Multi-day events will always appear on the second day and forward, back-fill if they did not make the
|
| 283 |
+
* cut (of events per day) on previous days.
|
| 284 |
+
*/
|
| 285 |
+
$this->backfill_multiday_event_ids( $this->grid_events );
|
| 286 |
+
|
| 287 |
if ( $using_period_repository ) {
|
| 288 |
$post_ids = array_filter( array_unique( array_merge( ... array_values( $this->grid_days_cache ) ) ) );
|
| 289 |
/** @var \Tribe__Cache $cache */
|
| 469 |
return $grid_days;
|
| 470 |
}
|
| 471 |
|
| 472 |
+
/**
|
| 473 |
+
* Fetches events for the grid in chunks so we do not have to fetch events a second time.
|
| 474 |
+
*
|
| 475 |
+
* @since 5.0.0
|
| 476 |
+
*
|
| 477 |
+
* @param array $event_ids
|
| 478 |
+
*
|
| 479 |
+
* @return array|void
|
| 480 |
+
*/
|
| 481 |
+
protected function get_grid_events( array $event_ids = [] ) {
|
| 482 |
+
if ( empty( $event_ids ) ) {
|
| 483 |
+
return [];
|
| 484 |
+
}
|
| 485 |
+
|
| 486 |
+
$events = [];
|
| 487 |
+
|
| 488 |
+
$event_id_chunks = array_chunk( $event_ids, $this->get_chunk_size() );
|
| 489 |
+
foreach ( $event_id_chunks as $ids ) {
|
| 490 |
+
// Prefetch provided events in a single query.
|
| 491 |
+
$event_results = tribe_events()
|
| 492 |
+
->in( $ids )
|
| 493 |
+
->per_page( -1 )
|
| 494 |
+
->all();
|
| 495 |
+
|
| 496 |
+
// Massage events to be indexed by event ID.
|
| 497 |
+
foreach ( $event_results as $event_result ) {
|
| 498 |
+
$events[ $event_result->ID ] = $event_result;
|
| 499 |
+
}
|
| 500 |
+
}
|
| 501 |
+
|
| 502 |
+
return $events;
|
| 503 |
+
}
|
| 504 |
+
|
| 505 |
/**
|
| 506 |
* Back-fills the days cache to add multi-day events that, due to events-per-day limits, might not appear on first
|
| 507 |
* day.
|
| 514 |
*
|
| 515 |
* @since 4.9.12
|
| 516 |
*
|
| 517 |
+
* @param array $events An array of event posts
|
| 518 |
*/
|
| 519 |
+
protected function backfill_multiday_event_ids( array $events = [] ) {
|
| 520 |
+
if ( empty( $events ) ) {
|
| 521 |
return;
|
| 522 |
}
|
| 523 |
|
| 527 |
return;
|
| 528 |
}
|
| 529 |
|
| 530 |
+
$event_ids = wp_list_pluck( $events, 'ID' );
|
| 531 |
+
|
| 532 |
foreach ( $event_ids as $event_id ) {
|
| 533 |
+
$event = $events[ $event_id ];
|
| 534 |
|
| 535 |
if ( ! $event instanceof \WP_Post ) {
|
| 536 |
continue;
|
| 577 |
return defined( 'TRIBE_EVENTS_V2_VIEWS_USE_PERIOD_REPOSITORY' )
|
| 578 |
&& TRIBE_EVENTS_V2_VIEWS_USE_PERIOD_REPOSITORY;
|
| 579 |
}
|
| 580 |
+
|
| 581 |
+
/**
|
| 582 |
+
* Gets the current desired chunk size for breaking up batched queries.
|
| 583 |
+
*
|
| 584 |
+
* @since 5.0.0
|
| 585 |
+
*
|
| 586 |
+
* @return int
|
| 587 |
+
*/
|
| 588 |
+
protected function get_chunk_size() {
|
| 589 |
+
/**
|
| 590 |
+
* Filters the chunk size used for building grid dates.
|
| 591 |
+
*
|
| 592 |
+
* @since 5.0.0
|
| 593 |
+
*
|
| 594 |
+
* @param int $chunk_size Max number of values to query at a time.
|
| 595 |
+
* @param \Tribe__Context $context Context of request.
|
| 596 |
+
* @param By_Day_View $view Current view object.
|
| 597 |
+
*/
|
| 598 |
+
return apply_filters( 'tribe_events_views_v2_by_day_view_chunk_size', self::CHUNK_SIZE, $this->get_context(), $this );
|
| 599 |
+
}
|
| 600 |
}
|
src/Tribe/Views/V2/Views/Day_View.php
CHANGED
|
@@ -38,6 +38,10 @@ class Day_View extends View {
|
|
| 38 |
* {@inheritDoc}
|
| 39 |
*/
|
| 40 |
public function prev_url( $canonical = false, array $passthru_vars = [] ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
| 41 |
$date = $this->context->get( 'event_date', $this->context->get( 'today', 'today' ) );
|
| 42 |
|
| 43 |
$one_day = new \DateInterval( 'P1D' );
|
|
@@ -51,13 +55,21 @@ class Day_View extends View {
|
|
| 51 |
$url = $this->build_url_for_date( $url_date, $canonical, $passthru_vars );
|
| 52 |
}
|
| 53 |
|
| 54 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 55 |
}
|
| 56 |
|
| 57 |
/**
|
| 58 |
* {@inheritDoc}
|
| 59 |
*/
|
| 60 |
public function next_url( $canonical = false, array $passthru_vars = [] ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
| 61 |
$date = $this->context->get( 'event_date', $this->context->get( 'today', 'today' ) );
|
| 62 |
|
| 63 |
$one_day = new \DateInterval( 'P1D' );
|
|
@@ -71,7 +83,11 @@ class Day_View extends View {
|
|
| 71 |
$url = $this->build_url_for_date( $url_date, $canonical, $passthru_vars );
|
| 72 |
}
|
| 73 |
|
| 74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 75 |
}
|
| 76 |
|
| 77 |
/**
|
| 38 |
* {@inheritDoc}
|
| 39 |
*/
|
| 40 |
public function prev_url( $canonical = false, array $passthru_vars = [] ) {
|
| 41 |
+
if ( isset( $this->cached_urls[ __METHOD__ ] ) ) {
|
| 42 |
+
return $this->cached_urls[ __METHOD__ ];
|
| 43 |
+
}
|
| 44 |
+
|
| 45 |
$date = $this->context->get( 'event_date', $this->context->get( 'today', 'today' ) );
|
| 46 |
|
| 47 |
$one_day = new \DateInterval( 'P1D' );
|
| 55 |
$url = $this->build_url_for_date( $url_date, $canonical, $passthru_vars );
|
| 56 |
}
|
| 57 |
|
| 58 |
+
$url = $this->filter_prev_url( $canonical, $url );
|
| 59 |
+
|
| 60 |
+
$this->cached_urls[ __METHOD__ ] = $url;
|
| 61 |
+
|
| 62 |
+
return $url;
|
| 63 |
}
|
| 64 |
|
| 65 |
/**
|
| 66 |
* {@inheritDoc}
|
| 67 |
*/
|
| 68 |
public function next_url( $canonical = false, array $passthru_vars = [] ) {
|
| 69 |
+
if ( isset( $this->cached_urls[ __METHOD__ ] ) ) {
|
| 70 |
+
return $this->cached_urls[ __METHOD__ ];
|
| 71 |
+
}
|
| 72 |
+
|
| 73 |
$date = $this->context->get( 'event_date', $this->context->get( 'today', 'today' ) );
|
| 74 |
|
| 75 |
$one_day = new \DateInterval( 'P1D' );
|
| 83 |
$url = $this->build_url_for_date( $url_date, $canonical, $passthru_vars );
|
| 84 |
}
|
| 85 |
|
| 86 |
+
$url = $this->filter_next_url( $canonical, $url );
|
| 87 |
+
|
| 88 |
+
$this->cached_urls[ __METHOD__ ] = $url;
|
| 89 |
+
|
| 90 |
+
return $url;
|
| 91 |
}
|
| 92 |
|
| 93 |
/**
|
src/Tribe/Views/V2/Views/List_View.php
CHANGED
|
@@ -9,10 +9,12 @@
|
|
| 9 |
namespace Tribe\Events\Views\V2\Views;
|
| 10 |
|
| 11 |
use Tribe\Events\Views\V2\View;
|
|
|
|
| 12 |
use Tribe__Context;
|
| 13 |
use Tribe__Events__Main as TEC;
|
| 14 |
-
use Tribe__Events__Rewrite as
|
| 15 |
use Tribe__Utils__Array as Arr;
|
|
|
|
| 16 |
|
| 17 |
class List_View extends View {
|
| 18 |
use List_Behavior;
|
|
@@ -46,11 +48,15 @@ class List_View extends View {
|
|
| 46 |
* {@inheritDoc}
|
| 47 |
*/
|
| 48 |
public function prev_url( $canonical = false, array $passthru_vars = [] ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
| 49 |
$current_page = (int) $this->context->get( 'page', 1 );
|
| 50 |
$display = $this->context->get( 'event_display_mode', 'list' );
|
| 51 |
|
| 52 |
if ( 'past' === $display ) {
|
| 53 |
-
$url = parent::next_url( $canonical, [
|
| 54 |
} else if ( $current_page > 1 ) {
|
| 55 |
$url = parent::prev_url( $canonical );
|
| 56 |
} else {
|
|
@@ -59,6 +65,8 @@ class List_View extends View {
|
|
| 59 |
|
| 60 |
$url = $this->filter_prev_url( $canonical, $url );
|
| 61 |
|
|
|
|
|
|
|
| 62 |
return $url;
|
| 63 |
}
|
| 64 |
|
|
@@ -66,19 +74,25 @@ class List_View extends View {
|
|
| 66 |
* {@inheritDoc}
|
| 67 |
*/
|
| 68 |
public function next_url( $canonical = false, array $passthru_vars = [] ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
| 69 |
$current_page = (int) $this->context->get( 'page', 1 );
|
| 70 |
$display = $this->context->get( 'event_display_mode', 'list' );
|
| 71 |
|
| 72 |
if ( $this->slug === $display || 'default' === $display ) {
|
| 73 |
$url = parent::next_url( $canonical );
|
| 74 |
-
}
|
| 75 |
-
$url = parent::prev_url( $canonical, [
|
| 76 |
} else {
|
| 77 |
$url = $this->get_upcoming_url( $canonical );
|
| 78 |
}
|
| 79 |
|
| 80 |
$url = $this->filter_next_url( $canonical, $url );
|
| 81 |
|
|
|
|
|
|
|
| 82 |
return $url;
|
| 83 |
}
|
| 84 |
|
|
@@ -102,14 +116,21 @@ class List_View extends View {
|
|
| 102 |
'paged' => $page,
|
| 103 |
] ) ) );
|
| 104 |
|
|
|
|
|
|
|
| 105 |
if ( $past->count() > 0 ) {
|
| 106 |
-
$
|
|
|
|
| 107 |
'post_type' => TEC::POSTTYPE,
|
| 108 |
-
|
| 109 |
'eventDate' => $event_date_var,
|
| 110 |
$this->page_key => $page,
|
| 111 |
'tribe-bar-search' => $this->context->get( 'keyword' ),
|
| 112 |
-
]
|
|
|
|
|
|
|
|
|
|
|
|
|
| 113 |
|
| 114 |
$past_url = (string) $past_url_object;
|
| 115 |
|
|
@@ -118,7 +139,7 @@ class List_View extends View {
|
|
| 118 |
}
|
| 119 |
|
| 120 |
// We've got rewrite rules handling `eventDate` and `eventDisplay`, but not List. Let's remove it.
|
| 121 |
-
$canonical_url =
|
| 122 |
add_query_arg(
|
| 123 |
[ 'eventDisplay' => $this->slug ],
|
| 124 |
remove_query_arg( [ 'eventDate' ], $past_url )
|
|
@@ -126,7 +147,7 @@ class List_View extends View {
|
|
| 126 |
);
|
| 127 |
|
| 128 |
// We use the `eventDisplay` query var as a display mode indicator: we have to make sure it's there.
|
| 129 |
-
$url = add_query_arg( [
|
| 130 |
|
| 131 |
// Let's re-add the `eventDate` if we had one and we're not already passing it with one of its aliases.
|
| 132 |
if ( ! (
|
|
@@ -159,18 +180,24 @@ class List_View extends View {
|
|
| 159 |
$url = '';
|
| 160 |
|
| 161 |
$upcoming = tribe_events()->by_args( $this->setup_repository_args( $this->context->alter( [
|
| 162 |
-
'eventDisplay' =>
|
| 163 |
'paged' => $page,
|
| 164 |
] ) ) );
|
| 165 |
|
|
|
|
|
|
|
| 166 |
if ( $upcoming->count() > 0 ) {
|
| 167 |
-
$
|
| 168 |
'post_type' => TEC::POSTTYPE,
|
| 169 |
-
'eventDisplay' =>
|
| 170 |
$this->page_key => $page,
|
| 171 |
'eventDate' => $event_date_var,
|
| 172 |
'tribe-bar-search' => $this->context->get( 'keyword' ),
|
| 173 |
-
]
|
|
|
|
|
|
|
|
|
|
|
|
|
| 174 |
|
| 175 |
$upcoming_url = (string) $upcoming_url_object;
|
| 176 |
|
|
@@ -180,7 +207,7 @@ class List_View extends View {
|
|
| 180 |
|
| 181 |
// We've got rewrite rules handling `eventDate`, but not List. Let's remove it to build the URL.
|
| 182 |
$url = tribe( 'events.rewrite' )->get_clean_url(
|
| 183 |
-
remove_query_arg( [ 'eventDate' ], $upcoming_url )
|
| 184 |
);
|
| 185 |
|
| 186 |
// Let's re-add the `eventDate` if we had one and we're not already passing it with one of its aliases.
|
| 9 |
namespace Tribe\Events\Views\V2\Views;
|
| 10 |
|
| 11 |
use Tribe\Events\Views\V2\View;
|
| 12 |
+
use Tribe\Events\Views\V2\Views\Traits\List_Behavior;
|
| 13 |
use Tribe__Context;
|
| 14 |
use Tribe__Events__Main as TEC;
|
| 15 |
+
use Tribe__Events__Rewrite as TEC_Rewrite;
|
| 16 |
use Tribe__Utils__Array as Arr;
|
| 17 |
+
use Tribe\Events\Views\V2\Utils;
|
| 18 |
|
| 19 |
class List_View extends View {
|
| 20 |
use List_Behavior;
|
| 48 |
* {@inheritDoc}
|
| 49 |
*/
|
| 50 |
public function prev_url( $canonical = false, array $passthru_vars = [] ) {
|
| 51 |
+
if ( isset( $this->cached_urls[ __METHOD__ ] ) ) {
|
| 52 |
+
return $this->cached_urls[ __METHOD__ ];
|
| 53 |
+
}
|
| 54 |
+
|
| 55 |
$current_page = (int) $this->context->get( 'page', 1 );
|
| 56 |
$display = $this->context->get( 'event_display_mode', 'list' );
|
| 57 |
|
| 58 |
if ( 'past' === $display ) {
|
| 59 |
+
$url = parent::next_url( $canonical, [ Utils\View::get_past_event_display_key() => 'past' ] );
|
| 60 |
} else if ( $current_page > 1 ) {
|
| 61 |
$url = parent::prev_url( $canonical );
|
| 62 |
} else {
|
| 65 |
|
| 66 |
$url = $this->filter_prev_url( $canonical, $url );
|
| 67 |
|
| 68 |
+
$this->cached_urls[ __METHOD__ ] = $url;
|
| 69 |
+
|
| 70 |
return $url;
|
| 71 |
}
|
| 72 |
|
| 74 |
* {@inheritDoc}
|
| 75 |
*/
|
| 76 |
public function next_url( $canonical = false, array $passthru_vars = [] ) {
|
| 77 |
+
if ( isset( $this->cached_urls[ __METHOD__ ] ) ) {
|
| 78 |
+
return $this->cached_urls[ __METHOD__ ];
|
| 79 |
+
}
|
| 80 |
+
|
| 81 |
$current_page = (int) $this->context->get( 'page', 1 );
|
| 82 |
$display = $this->context->get( 'event_display_mode', 'list' );
|
| 83 |
|
| 84 |
if ( $this->slug === $display || 'default' === $display ) {
|
| 85 |
$url = parent::next_url( $canonical );
|
| 86 |
+
} elseif ( $current_page > 1 ) {
|
| 87 |
+
$url = parent::prev_url( $canonical, [ Utils\View::get_past_event_display_key() => 'past' ] );
|
| 88 |
} else {
|
| 89 |
$url = $this->get_upcoming_url( $canonical );
|
| 90 |
}
|
| 91 |
|
| 92 |
$url = $this->filter_next_url( $canonical, $url );
|
| 93 |
|
| 94 |
+
$this->cached_urls[ __METHOD__ ] = $url;
|
| 95 |
+
|
| 96 |
return $url;
|
| 97 |
}
|
| 98 |
|
| 116 |
'paged' => $page,
|
| 117 |
] ) ) );
|
| 118 |
|
| 119 |
+
$past->order_by( '__none' );
|
| 120 |
+
|
| 121 |
if ( $past->count() > 0 ) {
|
| 122 |
+
$event_display_key = Utils\View::get_past_event_display_key();
|
| 123 |
+
$query_args = [
|
| 124 |
'post_type' => TEC::POSTTYPE,
|
| 125 |
+
$event_display_key => 'past',
|
| 126 |
'eventDate' => $event_date_var,
|
| 127 |
$this->page_key => $page,
|
| 128 |
'tribe-bar-search' => $this->context->get( 'keyword' ),
|
| 129 |
+
];
|
| 130 |
+
|
| 131 |
+
$query_args = $this->filter_query_args( $query_args, $canonical );
|
| 132 |
+
|
| 133 |
+
$past_url_object = clone $this->url->add_query_args( array_filter( $query_args ) );
|
| 134 |
|
| 135 |
$past_url = (string) $past_url_object;
|
| 136 |
|
| 139 |
}
|
| 140 |
|
| 141 |
// We've got rewrite rules handling `eventDate` and `eventDisplay`, but not List. Let's remove it.
|
| 142 |
+
$canonical_url = TEC_Rewrite::instance()->get_clean_url(
|
| 143 |
add_query_arg(
|
| 144 |
[ 'eventDisplay' => $this->slug ],
|
| 145 |
remove_query_arg( [ 'eventDate' ], $past_url )
|
| 147 |
);
|
| 148 |
|
| 149 |
// We use the `eventDisplay` query var as a display mode indicator: we have to make sure it's there.
|
| 150 |
+
$url = add_query_arg( [ $event_display_key => 'past' ], $canonical_url );
|
| 151 |
|
| 152 |
// Let's re-add the `eventDate` if we had one and we're not already passing it with one of its aliases.
|
| 153 |
if ( ! (
|
| 180 |
$url = '';
|
| 181 |
|
| 182 |
$upcoming = tribe_events()->by_args( $this->setup_repository_args( $this->context->alter( [
|
| 183 |
+
'eventDisplay' => $this->slug,
|
| 184 |
'paged' => $page,
|
| 185 |
] ) ) );
|
| 186 |
|
| 187 |
+
$upcoming->order_by( '__none' );
|
| 188 |
+
|
| 189 |
if ( $upcoming->count() > 0 ) {
|
| 190 |
+
$query_args = [
|
| 191 |
'post_type' => TEC::POSTTYPE,
|
| 192 |
+
'eventDisplay' => $this->slug,
|
| 193 |
$this->page_key => $page,
|
| 194 |
'eventDate' => $event_date_var,
|
| 195 |
'tribe-bar-search' => $this->context->get( 'keyword' ),
|
| 196 |
+
];
|
| 197 |
+
|
| 198 |
+
$query_args = $this->filter_query_args( $query_args, $canonical );
|
| 199 |
+
|
| 200 |
+
$upcoming_url_object = clone $this->url->add_query_args( array_filter( $query_args ) );
|
| 201 |
|
| 202 |
$upcoming_url = (string) $upcoming_url_object;
|
| 203 |
|
| 207 |
|
| 208 |
// We've got rewrite rules handling `eventDate`, but not List. Let's remove it to build the URL.
|
| 209 |
$url = tribe( 'events.rewrite' )->get_clean_url(
|
| 210 |
+
remove_query_arg( [ 'eventDate', 'tribe_event_display' ], $upcoming_url )
|
| 211 |
);
|
| 212 |
|
| 213 |
// Let's re-add the `eventDate` if we had one and we're not already passing it with one of its aliases.
|
src/Tribe/Views/V2/Views/Month_View.php
CHANGED
|
@@ -58,6 +58,10 @@ class Month_View extends By_Day_View {
|
|
| 58 |
* {@inheritDoc}
|
| 59 |
*/
|
| 60 |
public function prev_url( $canonical = false, array $passthru_vars = [] ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
| 61 |
// Setup the Default date for the month view here.
|
| 62 |
$default_date = 'today';
|
| 63 |
$date = $this->context->get( 'event_date', $default_date );
|
|
@@ -90,14 +94,21 @@ class Month_View extends By_Day_View {
|
|
| 90 |
}
|
| 91 |
|
| 92 |
$url = $this->build_url_for_date( $prev_date, $canonical, $passthru_vars );
|
|
|
|
|
|
|
|
|
|
| 93 |
|
| 94 |
-
return $
|
| 95 |
}
|
| 96 |
|
| 97 |
/**
|
| 98 |
* {@inheritDoc}
|
| 99 |
*/
|
| 100 |
public function next_url( $canonical = false, array $passthru_vars = [] ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
| 101 |
// Setup the Default date for the month view here.
|
| 102 |
$default_date = 'today';
|
| 103 |
$date = $this->context->get( 'event_date', $default_date );
|
|
@@ -130,8 +141,11 @@ class Month_View extends By_Day_View {
|
|
| 130 |
}
|
| 131 |
|
| 132 |
$url = $this->build_url_for_date( $next_date, $canonical, $passthru_vars );
|
|
|
|
|
|
|
|
|
|
| 133 |
|
| 134 |
-
return $
|
| 135 |
}
|
| 136 |
|
| 137 |
/**
|
|
@@ -211,26 +225,28 @@ class Month_View extends By_Day_View {
|
|
| 211 |
|
| 212 |
$days = $this->get_days_data( $grid_days );
|
| 213 |
|
| 214 |
-
$grid_date_str
|
| 215 |
-
$grid_date
|
| 216 |
-
$month_and_year_format
|
|
|
|
| 217 |
|
| 218 |
$prev_month_num = Dates::build_date_object( $grid_date_str )->modify( 'first day of last month' )->format( 'n' );
|
| 219 |
$next_month_num = Dates::build_date_object( $grid_date_str )->modify( 'first day of next month' )->format( 'n' );
|
| 220 |
$prev_month = Dates::wp_locale_month( $prev_month_num, 'short' );
|
| 221 |
$next_month = Dates::wp_locale_month( $next_month_num, 'short' );
|
| 222 |
|
| 223 |
-
$today
|
| 224 |
-
$template_vars['the_date']
|
| 225 |
-
$template_vars['today_date']
|
| 226 |
-
$template_vars['grid_date']
|
| 227 |
-
$template_vars['formatted_grid_date']
|
| 228 |
-
$template_vars['
|
| 229 |
-
$template_vars['
|
| 230 |
-
$template_vars['
|
| 231 |
-
$template_vars['
|
| 232 |
-
$template_vars['
|
| 233 |
-
$template_vars['
|
|
|
|
| 234 |
|
| 235 |
return $template_vars;
|
| 236 |
}
|
|
@@ -330,12 +346,13 @@ class Month_View extends By_Day_View {
|
|
| 330 |
);
|
| 331 |
|
| 332 |
$start_of_week = get_option( 'start_of_week', 0 );
|
|
|
|
| 333 |
|
| 334 |
$day_url = tribe_events_get_url( [ 'eventDisplay' => 'day', 'eventDate' => $day_date ] );
|
| 335 |
|
| 336 |
-
$day_data
|
| 337 |
'date' => $day_date,
|
| 338 |
-
'is_start_of_week' => $
|
| 339 |
'year_number' => $date_object->format( 'Y' ),
|
| 340 |
'month_number' => $date_object->format( 'm' ),
|
| 341 |
'day_number' => $date_object->format( 'j' ),
|
| 58 |
* {@inheritDoc}
|
| 59 |
*/
|
| 60 |
public function prev_url( $canonical = false, array $passthru_vars = [] ) {
|
| 61 |
+
if ( isset( $this->cached_urls[ __METHOD__ ] ) ) {
|
| 62 |
+
return $this->cached_urls[ __METHOD__ ];
|
| 63 |
+
}
|
| 64 |
+
|
| 65 |
// Setup the Default date for the month view here.
|
| 66 |
$default_date = 'today';
|
| 67 |
$date = $this->context->get( 'event_date', $default_date );
|
| 94 |
}
|
| 95 |
|
| 96 |
$url = $this->build_url_for_date( $prev_date, $canonical, $passthru_vars );
|
| 97 |
+
$url = $this->filter_prev_url( $canonical, $url );
|
| 98 |
+
|
| 99 |
+
$this->cached_urls[ __METHOD__ ] = $url;
|
| 100 |
|
| 101 |
+
return $url;
|
| 102 |
}
|
| 103 |
|
| 104 |
/**
|
| 105 |
* {@inheritDoc}
|
| 106 |
*/
|
| 107 |
public function next_url( $canonical = false, array $passthru_vars = [] ) {
|
| 108 |
+
if ( isset( $this->cached_urls[ __METHOD__ ] ) ) {
|
| 109 |
+
return $this->cached_urls[ __METHOD__ ];
|
| 110 |
+
}
|
| 111 |
+
|
| 112 |
// Setup the Default date for the month view here.
|
| 113 |
$default_date = 'today';
|
| 114 |
$date = $this->context->get( 'event_date', $default_date );
|
| 141 |
}
|
| 142 |
|
| 143 |
$url = $this->build_url_for_date( $next_date, $canonical, $passthru_vars );
|
| 144 |
+
$url = $this->filter_next_url( $canonical, $url );
|
| 145 |
+
|
| 146 |
+
$this->cached_urls[ __METHOD__ ] = $url;
|
| 147 |
|
| 148 |
+
return $url;
|
| 149 |
}
|
| 150 |
|
| 151 |
/**
|
| 225 |
|
| 226 |
$days = $this->get_days_data( $grid_days );
|
| 227 |
|
| 228 |
+
$grid_date_str = $this->context->get( 'event_date', 'today' );
|
| 229 |
+
$grid_date = Dates::build_date_object( $grid_date_str );
|
| 230 |
+
$month_and_year_format = tribe_get_option( 'monthAndYearFormat', 'F Y' );
|
| 231 |
+
$month_and_year_format_compact = Dates::datepicker_formats( tribe_get_option( 'datepickerFormat', 'm1' ) );
|
| 232 |
|
| 233 |
$prev_month_num = Dates::build_date_object( $grid_date_str )->modify( 'first day of last month' )->format( 'n' );
|
| 234 |
$next_month_num = Dates::build_date_object( $grid_date_str )->modify( 'first day of next month' )->format( 'n' );
|
| 235 |
$prev_month = Dates::wp_locale_month( $prev_month_num, 'short' );
|
| 236 |
$next_month = Dates::wp_locale_month( $next_month_num, 'short' );
|
| 237 |
|
| 238 |
+
$today = $this->context->get( 'today' );
|
| 239 |
+
$template_vars['the_date'] = $grid_date;
|
| 240 |
+
$template_vars['today_date'] = Dates::build_date_object( $today )->format( 'Y-m-d' );
|
| 241 |
+
$template_vars['grid_date'] = $grid_date->format( 'Y-m-d' );
|
| 242 |
+
$template_vars['formatted_grid_date'] = $grid_date->format_i18n( $month_and_year_format );
|
| 243 |
+
$template_vars['formatted_grid_date_mobile'] = $grid_date->format( $month_and_year_format_compact );
|
| 244 |
+
$template_vars['events'] = $grid_days;
|
| 245 |
+
$template_vars['days'] = $days;
|
| 246 |
+
$template_vars['prev_label'] = $prev_month;
|
| 247 |
+
$template_vars['next_label'] = $next_month;
|
| 248 |
+
$template_vars['messages'] = $this->messages->to_array();
|
| 249 |
+
$template_vars['grid_start_date'] = $grid_start_date;
|
| 250 |
|
| 251 |
return $template_vars;
|
| 252 |
}
|
| 346 |
);
|
| 347 |
|
| 348 |
$start_of_week = get_option( 'start_of_week', 0 );
|
| 349 |
+
$is_start_of_week = (int)$start_of_week === (int)$date_object->format( 'w' );
|
| 350 |
|
| 351 |
$day_url = tribe_events_get_url( [ 'eventDisplay' => 'day', 'eventDate' => $day_date ] );
|
| 352 |
|
| 353 |
+
$day_data = [
|
| 354 |
'date' => $day_date,
|
| 355 |
+
'is_start_of_week' => $is_start_of_week,
|
| 356 |
'year_number' => $date_object->format( 'Y' ),
|
| 357 |
'month_number' => $date_object->format( 'm' ),
|
| 358 |
'day_number' => $date_object->format( 'j' ),
|
src/Tribe/Views/V2/Views/Traits/Breakpoint_Behavior.php
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Provides methods for Views for breakpoint behavior.
|
| 4 |
+
*
|
| 5 |
+
* @since 5.0.0
|
| 6 |
+
*
|
| 7 |
+
* @package Tribe\Events\Views\V2\Views\Traits
|
| 8 |
+
*/
|
| 9 |
+
|
| 10 |
+
namespace Tribe\Events\Views\V2\Views\Traits;
|
| 11 |
+
|
| 12 |
+
use Tribe\Events\Views\V2\View;
|
| 13 |
+
|
| 14 |
+
/**
|
| 15 |
+
* Trait Breakpoint_Behavior
|
| 16 |
+
*
|
| 17 |
+
* @since 5.0.0
|
| 18 |
+
*
|
| 19 |
+
* @package Tribe\Events\Views\V2\Views\Traits
|
| 20 |
+
*
|
| 21 |
+
* @property string $string The slug of the View instance.
|
| 22 |
+
*/
|
| 23 |
+
trait Breakpoint_Behavior {
|
| 24 |
+
/**
|
| 25 |
+
* Default breakpoints used by TEC views.
|
| 26 |
+
*
|
| 27 |
+
* @since 5.0.0
|
| 28 |
+
*
|
| 29 |
+
* @var array
|
| 30 |
+
*/
|
| 31 |
+
protected $default_breakpoints = [
|
| 32 |
+
'xsmall' => 500,
|
| 33 |
+
'medium' => 768,
|
| 34 |
+
'full' => 960,
|
| 35 |
+
];
|
| 36 |
+
|
| 37 |
+
/**
|
| 38 |
+
* Returns a given breakpoint.
|
| 39 |
+
*
|
| 40 |
+
* @since 5.0.0
|
| 41 |
+
*
|
| 42 |
+
* @param string $name Which index we getting the breakpoint for.
|
| 43 |
+
*
|
| 44 |
+
* @return int Returns the breakpoint with that given name or 0 when not available.
|
| 45 |
+
*/
|
| 46 |
+
public function get_breakpoint( $name ) {
|
| 47 |
+
$breakpoints = $this->get_breakpoints();
|
| 48 |
+
$breakpoint = false;
|
| 49 |
+
|
| 50 |
+
if ( isset( $breakpoints[ $name ] ) ) {
|
| 51 |
+
$breakpoint = $breakpoints[ $name ];
|
| 52 |
+
}
|
| 53 |
+
|
| 54 |
+
return absint( $breakpoint );
|
| 55 |
+
}
|
| 56 |
+
|
| 57 |
+
/**
|
| 58 |
+
* Returns all of the available breakpoints.
|
| 59 |
+
*
|
| 60 |
+
* @since 5.0.0
|
| 61 |
+
*
|
| 62 |
+
* @return array Indexed array of all available breakpoints.
|
| 63 |
+
*/
|
| 64 |
+
public function get_breakpoints() {
|
| 65 |
+
$breakpoints = $this->default_breakpoints;
|
| 66 |
+
|
| 67 |
+
/**
|
| 68 |
+
* Filters all the breakpoints available.
|
| 69 |
+
*
|
| 70 |
+
* @since 5.0.0
|
| 71 |
+
*
|
| 72 |
+
* @param array $breakpoints All breapoints available.
|
| 73 |
+
* @param View $this The current View instance being rendered.
|
| 74 |
+
*/
|
| 75 |
+
$breakpoints = apply_filters( "tribe_events_views_v2_view_breakpoints", $breakpoints, $this );
|
| 76 |
+
|
| 77 |
+
/**
|
| 78 |
+
* Filters the medium breakpoint value for a specific view.
|
| 79 |
+
*
|
| 80 |
+
* @since 5.0.0
|
| 81 |
+
*
|
| 82 |
+
* @param array $breakpoints All breapoints available.
|
| 83 |
+
* @param View $this The current View instance being rendered.
|
| 84 |
+
*/
|
| 85 |
+
$breakpoints = apply_filters( "tribe_events_views_v2_view_{$this->slug}_breakpoints", $breakpoints, $this );
|
| 86 |
+
|
| 87 |
+
return $breakpoints;
|
| 88 |
+
}
|
| 89 |
+
}
|
src/Tribe/Views/V2/Views/Traits/HTML_Cache.php
ADDED
|
@@ -0,0 +1,351 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Provides methods for HTML caching for views
|
| 4 |
+
*
|
| 5 |
+
* @since 4.9.11
|
| 6 |
+
*
|
| 7 |
+
* @package Tribe\Events\Views\V2\Views
|
| 8 |
+
*/
|
| 9 |
+
|
| 10 |
+
namespace Tribe\Events\Views\V2\Views\Traits;
|
| 11 |
+
|
| 12 |
+
use Tribe__Cache_Listener as Cache_Listener;
|
| 13 |
+
use Tribe__Context as Context;
|
| 14 |
+
use Tribe__Date_Utils as Dates;
|
| 15 |
+
use Tribe\Events\Views\V2\View;
|
| 16 |
+
|
| 17 |
+
/**
|
| 18 |
+
* Trait HTML_Cache
|
| 19 |
+
*
|
| 20 |
+
* @since 5.0.0
|
| 21 |
+
*
|
| 22 |
+
* @package Tribe\Events\Views\V2\Views
|
| 23 |
+
*
|
| 24 |
+
* @property Context $context The current View context.
|
| 25 |
+
*/
|
| 26 |
+
trait HTML_Cache {
|
| 27 |
+
/**
|
| 28 |
+
* Return cached HTML if enabled and cache is set.
|
| 29 |
+
*
|
| 30 |
+
* @since 5.0.0
|
| 31 |
+
*
|
| 32 |
+
* @return null|string
|
| 33 |
+
*/
|
| 34 |
+
public function maybe_get_cached_html() {
|
| 35 |
+
|
| 36 |
+
if ( ! $this->should_cache_html() ) {
|
| 37 |
+
return;
|
| 38 |
+
}
|
| 39 |
+
|
| 40 |
+
$cache_key = $this->get_cache_html_key();
|
| 41 |
+
|
| 42 |
+
$cached_html = tribe( 'cache' )->get_transient( $cache_key, $this->cache_html_triggers() );
|
| 43 |
+
|
| 44 |
+
if ( ! $cached_html ) {
|
| 45 |
+
return;
|
| 46 |
+
}
|
| 47 |
+
|
| 48 |
+
$cached_html = $this->inject_nonces_into_cached_html( $cached_html );
|
| 49 |
+
|
| 50 |
+
return $cached_html;
|
| 51 |
+
}
|
| 52 |
+
|
| 53 |
+
/**
|
| 54 |
+
* If caching is enabled, set the cache.
|
| 55 |
+
*
|
| 56 |
+
* @since 5.0.0
|
| 57 |
+
*
|
| 58 |
+
* @param string $html HTML markup for view.
|
| 59 |
+
*
|
| 60 |
+
* @return boolean If we successfully cached on the transient.
|
| 61 |
+
*/
|
| 62 |
+
public function maybe_cache_html( $html ) {
|
| 63 |
+
/**
|
| 64 |
+
* Filter the cache TTL
|
| 65 |
+
*
|
| 66 |
+
* @since 5.0.0
|
| 67 |
+
*
|
| 68 |
+
* @param int $cache_ttl Cache time to live.
|
| 69 |
+
* @param Context $context The View current context.
|
| 70 |
+
* @param View $this The current View instance.
|
| 71 |
+
*/
|
| 72 |
+
$cache_expiration = apply_filters( 'tribe_events_views_v2_cache_html_expiration', DAY_IN_SECONDS, $this->get_context(), $this );
|
| 73 |
+
|
| 74 |
+
$cache_key = $this->get_cache_html_key();
|
| 75 |
+
|
| 76 |
+
if ( ! $this->should_cache_html() ) {
|
| 77 |
+
return false;
|
| 78 |
+
}
|
| 79 |
+
|
| 80 |
+
$html = $this->extract_nonces_before_cache( $html );
|
| 81 |
+
|
| 82 |
+
return tribe( 'cache' )->set_transient( $cache_key, $html, $cache_expiration, $this->cache_html_triggers() );
|
| 83 |
+
}
|
| 84 |
+
|
| 85 |
+
/**
|
| 86 |
+
* Fetch the HTML cache triggers.
|
| 87 |
+
*
|
| 88 |
+
* @since 5.0.0
|
| 89 |
+
*
|
| 90 |
+
* @return array
|
| 91 |
+
*/
|
| 92 |
+
protected function cache_html_triggers() {
|
| 93 |
+
return [
|
| 94 |
+
Cache_Listener::TRIGGER_SAVE_POST,
|
| 95 |
+
Cache_Listener::TRIGGER_UPDATED_OPTION,
|
| 96 |
+
Cache_Listener::TRIGGER_GENERATE_REWRITE_RULES,
|
| 97 |
+
];
|
| 98 |
+
}
|
| 99 |
+
|
| 100 |
+
/**
|
| 101 |
+
* Determine if HTML of the current view needs to be cached.
|
| 102 |
+
*
|
| 103 |
+
* @since 5.0.0
|
| 104 |
+
*
|
| 105 |
+
* @return bool
|
| 106 |
+
*/
|
| 107 |
+
public function should_cache_html() {
|
| 108 |
+
$context = $this->get_context();
|
| 109 |
+
|
| 110 |
+
$cached_views = [
|
| 111 |
+
'month' => true,
|
| 112 |
+
'week' => true,
|
| 113 |
+
];
|
| 114 |
+
|
| 115 |
+
$should_cache = isset( $cached_views[ $this->get_slug() ] ) && $this->should_enable_html_cache( $context );
|
| 116 |
+
|
| 117 |
+
/**
|
| 118 |
+
* Should the v2 view HTML be cached?
|
| 119 |
+
*
|
| 120 |
+
* @since 5.0.0
|
| 121 |
+
*
|
| 122 |
+
* @param bool $should_cache_html Should the current view have its HTML cached?
|
| 123 |
+
* @param Context $context The View current context.
|
| 124 |
+
* @param View $this The current View instance.
|
| 125 |
+
*/
|
| 126 |
+
return (bool) apply_filters( 'tribe_events_views_v2_should_cache_html', $should_cache, $context, $this );
|
| 127 |
+
}
|
| 128 |
+
|
| 129 |
+
/**
|
| 130 |
+
* Determine if HTML of the current view needs to be cached.
|
| 131 |
+
*
|
| 132 |
+
* @since 5.0.0
|
| 133 |
+
*
|
| 134 |
+
* @return bool
|
| 135 |
+
*/
|
| 136 |
+
public function get_cache_html_key() {
|
| 137 |
+
$context = $this->get_context();
|
| 138 |
+
$args = $context->to_array();
|
| 139 |
+
|
| 140 |
+
unset( $args['now'] );
|
| 141 |
+
|
| 142 |
+
$cache_key = 'tribe_views_v2_cache_' . substr( sha1( wp_json_encode( $args ) ), 0, 12 ) . ':';
|
| 143 |
+
|
| 144 |
+
/**
|
| 145 |
+
* Filter the cached html key for v2 event views
|
| 146 |
+
*
|
| 147 |
+
* @since 5.0.0
|
| 148 |
+
*
|
| 149 |
+
* @param string $cache_html_key Cache HTML key.
|
| 150 |
+
* @param Context $context The View current context.
|
| 151 |
+
* @param View $this The current View instance.
|
| 152 |
+
*/
|
| 153 |
+
return apply_filters( 'tribe_events_views_v2_cache_html_key', $cache_key, $context, $this );
|
| 154 |
+
}
|
| 155 |
+
|
| 156 |
+
/**
|
| 157 |
+
* Indicates if HTML cache should be enabled or not.
|
| 158 |
+
*
|
| 159 |
+
* If the HTML cache setting itself is not enabled (or not set) then this
|
| 160 |
+
* method will always return false.
|
| 161 |
+
*
|
| 162 |
+
* In other cases, the default rules are to cache everything in the 2 months past
|
| 163 |
+
* to 12 months in the future range. This policy can be refined or replaced via
|
| 164 |
+
* the 'tribe_events_enable_month_view_cache' filter hook.
|
| 165 |
+
*
|
| 166 |
+
* @since 5.0.0
|
| 167 |
+
*
|
| 168 |
+
* @param Context $context Context object of the request.
|
| 169 |
+
*
|
| 170 |
+
* @return bool
|
| 171 |
+
*/
|
| 172 |
+
protected function should_enable_html_cache( $context ) {
|
| 173 |
+
$event_date = $context->get( 'event_date' );
|
| 174 |
+
|
| 175 |
+
// Respect the month view caching setting.
|
| 176 |
+
if ( ! tribe_get_option( 'enable_month_view_cache', true ) ) {
|
| 177 |
+
return false;
|
| 178 |
+
}
|
| 179 |
+
|
| 180 |
+
// Default to always caching the current month.
|
| 181 |
+
if ( ! $event_date ) {
|
| 182 |
+
return true;
|
| 183 |
+
}
|
| 184 |
+
|
| 185 |
+
// If the eventDate argument is not in the expected format then do not cache.
|
| 186 |
+
if ( ! preg_match( '/^[0-9]{4}-[0-9]{1,2}$/', $event_date ) ) {
|
| 187 |
+
return false;
|
| 188 |
+
}
|
| 189 |
+
|
| 190 |
+
// If the requested month is more than 2 months in the past, do not cache.
|
| 191 |
+
if ( $event_date < Dates::build_date_object( '-2 months' )->format( Dates::DBYEARMONTHTIMEFORMAT ) ) {
|
| 192 |
+
return false;
|
| 193 |
+
}
|
| 194 |
+
|
| 195 |
+
// If the requested month is more than 1yr in the future, do not cache.
|
| 196 |
+
if ( $event_date > Dates::build_date_object( '+1 year' )->format( Dates::DBYEARMONTHTIMEFORMAT ) ) {
|
| 197 |
+
return false;
|
| 198 |
+
}
|
| 199 |
+
|
| 200 |
+
// In all other cases, let's cache it!
|
| 201 |
+
return true;
|
| 202 |
+
}
|
| 203 |
+
|
| 204 |
+
/**
|
| 205 |
+
* Get the list of fields/input we will do replacement for HTML Cache.
|
| 206 |
+
*
|
| 207 |
+
* @since 5.0.0
|
| 208 |
+
*
|
| 209 |
+
* @return array List of fields/input that we are going to replace.
|
| 210 |
+
*/
|
| 211 |
+
protected function get_view_nonce_fields() {
|
| 212 |
+
$nonces = [
|
| 213 |
+
'wp_rest' => 'tribe-events-views[_wpnonce]',
|
| 214 |
+
];
|
| 215 |
+
|
| 216 |
+
/**
|
| 217 |
+
* Filter to control nonce fields replacement for HTML Cache.
|
| 218 |
+
*
|
| 219 |
+
* @since 5.0.0
|
| 220 |
+
*
|
| 221 |
+
* @param array $nonces List of action and field name where the nonce is stored.
|
| 222 |
+
* @param Context $context Context from the current view.
|
| 223 |
+
* @param View $view Which view instance we are currently rendering.
|
| 224 |
+
*/
|
| 225 |
+
return apply_filters( 'tribe_events_views_v2_get_view_nonce_fields', $nonces, $this->get_context(), $this );
|
| 226 |
+
}
|
| 227 |
+
|
| 228 |
+
/**
|
| 229 |
+
* Get the list of attributes we will do replacement for HTML Cache.
|
| 230 |
+
*
|
| 231 |
+
* @since 5.0.0
|
| 232 |
+
*
|
| 233 |
+
* @return array List of attributes that we are going to replace.
|
| 234 |
+
*/
|
| 235 |
+
protected function get_view_nonce_attributes() {
|
| 236 |
+
$nonces = [
|
| 237 |
+
'wp_rest' => 'data-view-rest-nonce',
|
| 238 |
+
];
|
| 239 |
+
|
| 240 |
+
/**
|
| 241 |
+
* Filter to control nonce attributes replacement for HTML Cache.
|
| 242 |
+
*
|
| 243 |
+
* @since 5.0.0
|
| 244 |
+
*
|
| 245 |
+
* @param array $nonces List of action and field name where the nonce is stored.
|
| 246 |
+
* @param Context $context Context from the current view.
|
| 247 |
+
* @param View $view Which view instance we are currently rendering.
|
| 248 |
+
*/
|
| 249 |
+
return apply_filters( 'tribe_events_views_v2_get_view_nonce_attributes', $nonces, $this->get_context(), $this );
|
| 250 |
+
}
|
| 251 |
+
|
| 252 |
+
/**
|
| 253 |
+
* Get the list of JSON properties we will do replacement for HTML Cache.
|
| 254 |
+
*
|
| 255 |
+
* @since 5.0.0
|
| 256 |
+
*
|
| 257 |
+
* @return array List of json properties that we are going to replace.
|
| 258 |
+
*/
|
| 259 |
+
protected function get_view_nonce_json_properties() {
|
| 260 |
+
$nonces = [
|
| 261 |
+
'wp_rest' => 'rest_nonce',
|
| 262 |
+
];
|
| 263 |
+
|
| 264 |
+
/**
|
| 265 |
+
* Filter to control nonce json properties replacement for HTML Cache.
|
| 266 |
+
*
|
| 267 |
+
* @since 5.0.0
|
| 268 |
+
*
|
| 269 |
+
* @param array $nonces List of action and field name where the nonce is stored.
|
| 270 |
+
* @param Context $context Context from the current view.
|
| 271 |
+
* @param View $view Which view instance we are currently rendering.
|
| 272 |
+
*/
|
| 273 |
+
return apply_filters( 'tribe_events_views_v2_get_view_nonce_json_properties', $nonces, $this->get_context(), $this );
|
| 274 |
+
}
|
| 275 |
+
|
| 276 |
+
/**
|
| 277 |
+
* Does string replacement on the HTML cached based on the possible places we look for cached nonce values to inject
|
| 278 |
+
* the correct string placeholder so we can remove it later.
|
| 279 |
+
*
|
| 280 |
+
* @since 5.0.0
|
| 281 |
+
*
|
| 282 |
+
* @param string $html HTML with the nonces to be replaced.
|
| 283 |
+
*
|
| 284 |
+
* @return string HTML after replacement is complete.
|
| 285 |
+
*/
|
| 286 |
+
protected function extract_nonces_before_cache( $html ) {
|
| 287 |
+
$nonce_fields = $this->get_view_nonce_fields();
|
| 288 |
+
$nonce_attrs = $this->get_view_nonce_attributes();
|
| 289 |
+
$nonce_props = $this->get_view_nonce_json_properties();
|
| 290 |
+
|
| 291 |
+
foreach ( $nonce_fields as $action => $field ) {
|
| 292 |
+
$html = preg_replace( '!(<input[^>]+name="' . preg_quote( $field, '!' ) . '"[^>]+value=")[^"]*("[^>]*>)!', '\1%%NONCE:' . $action . '%%\2', $html );
|
| 293 |
+
$html = preg_replace( '!(<input[^>]+value=")[^"]*("[^>]+name="' . preg_quote( $field, '!' ) . '"[^>]*>)!', '\1%%NONCE:' . $action . '%%\2', $html );
|
| 294 |
+
}
|
| 295 |
+
|
| 296 |
+
foreach ( $nonce_attrs as $action => $attr ) {
|
| 297 |
+
$html = preg_replace( '!(' . preg_quote( $attr, '!' ) . '=")[^"]*(")!', '\1%%NONCE:' . $action . '%%\2', $html );
|
| 298 |
+
}
|
| 299 |
+
|
| 300 |
+
foreach ( $nonce_props as $action => $prop ) {
|
| 301 |
+
$html = preg_replace( '!("' . preg_quote( $prop, '!' ) . '":")[^"]*(")!', '\1%%NONCE:' . $action . '%%\2', $html );
|
| 302 |
+
}
|
| 303 |
+
|
| 304 |
+
return $html;
|
| 305 |
+
}
|
| 306 |
+
|
| 307 |
+
/**
|
| 308 |
+
* Does string replacement on the HTML cached based on the possible places we look for cached nonce values.
|
| 309 |
+
*
|
| 310 |
+
* @since 5.0.0
|
| 311 |
+
*
|
| 312 |
+
* @param string $html HTML with the nonces to be replaced.
|
| 313 |
+
*
|
| 314 |
+
* @return string HTML after replacement is complete.
|
| 315 |
+
*/
|
| 316 |
+
protected function inject_nonces_into_cached_html( $html ) {
|
| 317 |
+
$nonce_fields = $this->get_view_nonce_fields();
|
| 318 |
+
$nonce_attrs = $this->get_view_nonce_attributes();
|
| 319 |
+
$nonce_props = $this->get_view_nonce_json_properties();
|
| 320 |
+
|
| 321 |
+
$nonce_actions = array_merge( array_keys( $nonce_fields ), array_keys( $nonce_attrs ), array_keys( $nonce_props ) );
|
| 322 |
+
$nonce_actions = array_unique( $nonce_actions );
|
| 323 |
+
|
| 324 |
+
foreach ( $nonce_actions as $nonce_action ) {
|
| 325 |
+
$nonce = $this->maybe_generate_nonce( $nonce_action );
|
| 326 |
+
$html = str_replace( "%%NONCE:{$nonce_action}%%", $nonce, $html );
|
| 327 |
+
}
|
| 328 |
+
|
| 329 |
+
return $html;
|
| 330 |
+
}
|
| 331 |
+
|
| 332 |
+
/**
|
| 333 |
+
* Get a generated nonce required for HTML cache replacement based on an action provided.
|
| 334 |
+
*
|
| 335 |
+
* @since 5.0.0
|
| 336 |
+
*
|
| 337 |
+
* @param string $action Which action will be used to generate the nonce.
|
| 338 |
+
*
|
| 339 |
+
* @return string Nonce based on action passed.
|
| 340 |
+
*/
|
| 341 |
+
protected function maybe_generate_nonce( $action ) {
|
| 342 |
+
$generated_nonces = tribe_get_var( __METHOD__, [] );
|
| 343 |
+
|
| 344 |
+
if ( ! isset( $generated_nonces[ $action ] ) ) {
|
| 345 |
+
$generated_nonces[ $action ] = wp_create_nonce( $action );
|
| 346 |
+
tribe_set_var( __METHOD__, $generated_nonces );
|
| 347 |
+
}
|
| 348 |
+
|
| 349 |
+
return $generated_nonces[ $action ];
|
| 350 |
+
}
|
| 351 |
+
}
|
src/Tribe/Views/V2/Views/{List_Behavior.php → Traits/List_Behavior.php}
RENAMED
|
@@ -7,7 +7,7 @@
|
|
| 7 |
* @package Tribe\Events\Views\V2\Views
|
| 8 |
*/
|
| 9 |
|
| 10 |
-
namespace Tribe\Events\Views\V2\Views;
|
| 11 |
|
| 12 |
use Tribe__Context as Context;
|
| 13 |
use Tribe__Date_Utils as Dates;
|
|
@@ -83,15 +83,36 @@ trait List_Behavior {
|
|
| 83 |
$show_now = $show_now && $this->context->get( 'page' ) <= 1;
|
| 84 |
|
| 85 |
if ( ! $is_past ) {
|
| 86 |
-
|
| 87 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 88 |
} else {
|
| 89 |
$start = $first_event instanceof \WP_Post ? $first_event->dates->start_display : $user_date;
|
| 90 |
$end = $last_event instanceof \WP_Post ? $last_event->dates->start_display : $user_date;
|
| 91 |
}
|
| 92 |
|
| 93 |
-
|
| 94 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 95 |
|
| 96 |
// Do the events all have the same start dates?
|
| 97 |
$diff_dates = count(
|
|
@@ -106,7 +127,7 @@ trait List_Behavior {
|
|
| 106 |
)
|
| 107 |
) > 1;
|
| 108 |
|
| 109 |
-
$show_end = ( $
|
| 110 |
|| (
|
| 111 |
$has_next_page
|
| 112 |
&& $diff_dates
|
|
@@ -117,17 +138,28 @@ trait List_Behavior {
|
|
| 117 |
$start_format_w_year = $today->format( 'Y' ) !== $start->format( 'Y' );
|
| 118 |
$start_label_format = tribe_get_date_format( $start_format_w_year );
|
| 119 |
|
| 120 |
-
$start_time_label
|
|
|
|
| 121 |
|
| 122 |
-
$now_label
|
|
|
|
| 123 |
if ( empty( $date_sorted_events ) || ! $has_next_page ) {
|
| 124 |
-
$onwards_label_start
|
| 125 |
-
$
|
|
|
|
|
|
|
| 126 |
// translators: the placeholder is for the date range start, e.g. "Now" or "October 23".
|
| 127 |
_x( '%s onwards', 'The datepicker range definition when no events are found.', 'the-events-calendar' ),
|
| 128 |
$onwards_label_start
|
| 129 |
);
|
| 130 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 131 |
}
|
| 132 |
|
| 133 |
$end_timestamp_w_offset = $end->getTimestamp() + $end->getOffset();
|
|
@@ -137,9 +169,10 @@ trait List_Behavior {
|
|
| 137 |
|
| 138 |
$template_vars['show_now'] = $show_now;
|
| 139 |
$template_vars['now_label'] = $now_label;
|
|
|
|
| 140 |
$template_vars['show_end'] = $show_end;
|
| 141 |
$template_vars['selected_start_datetime'] = date_i18n( 'Y-m-d', $start_timestamp_w_offset );
|
| 142 |
-
$template_vars['selected_start_date_mobile'] = $
|
| 143 |
$template_vars['selected_start_date_label'] = $start_time_label;
|
| 144 |
$template_vars['selected_end_datetime'] = date_i18n( 'Y-m-d', $end_timestamp_w_offset );
|
| 145 |
$template_vars['selected_end_date_mobile'] = $end->format( $compact_date_format );
|
| 7 |
* @package Tribe\Events\Views\V2\Views
|
| 8 |
*/
|
| 9 |
|
| 10 |
+
namespace Tribe\Events\Views\V2\Views\Traits;
|
| 11 |
|
| 12 |
use Tribe__Context as Context;
|
| 13 |
use Tribe__Date_Utils as Dates;
|
| 83 |
$show_now = $show_now && $this->context->get( 'page' ) <= 1;
|
| 84 |
|
| 85 |
if ( ! $is_past ) {
|
| 86 |
+
if ( $page === 1 ) {
|
| 87 |
+
// On the first page show the date the user has implicitly (today) or explicitly (w/ bar) selected.
|
| 88 |
+
$start = $user_date;
|
| 89 |
+
} else {
|
| 90 |
+
// On following pages use the date of the first event, if any.
|
| 91 |
+
$start = $first_event instanceof \WP_Post ? $first_event->dates->start_display : $user_date;
|
| 92 |
+
}
|
| 93 |
+
$end = $last_event instanceof \WP_Post ? $last_event->dates->start_display : $user_date;
|
| 94 |
+
|
| 95 |
+
// Never let the start of the range be lower than the top bar date.
|
| 96 |
+
if ( $start < $user_date ) {
|
| 97 |
+
$start = $user_date;
|
| 98 |
+
}
|
| 99 |
} else {
|
| 100 |
$start = $first_event instanceof \WP_Post ? $first_event->dates->start_display : $user_date;
|
| 101 |
$end = $last_event instanceof \WP_Post ? $last_event->dates->start_display : $user_date;
|
| 102 |
}
|
| 103 |
|
| 104 |
+
// Never let the start of the range exceed the start.
|
| 105 |
+
if ( $start > $end ) {
|
| 106 |
+
$end = $user_date;
|
| 107 |
+
}
|
| 108 |
+
|
| 109 |
+
$is_first_past_page = $is_past && 1 === $page;
|
| 110 |
+
|
| 111 |
+
if ( $is_first_past_page ) {
|
| 112 |
+
$end = $user_date;
|
| 113 |
+
}
|
| 114 |
+
|
| 115 |
+
$end_is_now = $now->format( 'Y-m-d' ) === $end->format( 'Y-m-d' );
|
| 116 |
|
| 117 |
// Do the events all have the same start dates?
|
| 118 |
$diff_dates = count(
|
| 127 |
)
|
| 128 |
) > 1;
|
| 129 |
|
| 130 |
+
$show_end = ( $is_first_past_page )
|
| 131 |
|| (
|
| 132 |
$has_next_page
|
| 133 |
&& $diff_dates
|
| 138 |
$start_format_w_year = $today->format( 'Y' ) !== $start->format( 'Y' );
|
| 139 |
$start_label_format = tribe_get_date_format( $start_format_w_year );
|
| 140 |
|
| 141 |
+
$start_time_label = date_i18n( $start_label_format, $start_timestamp_w_offset );
|
| 142 |
+
$start_date_mobile = $start->format( $compact_date_format );
|
| 143 |
|
| 144 |
+
$now_label = $now_text;
|
| 145 |
+
$now_label_mobile = $now_text;
|
| 146 |
if ( empty( $date_sorted_events ) || ! $has_next_page ) {
|
| 147 |
+
$onwards_label_start = $show_now ? $now_text : $start_time_label;
|
| 148 |
+
$onwards_label_start_mobile = $show_now ? $now_text : $start_date_mobile;
|
| 149 |
+
|
| 150 |
+
$now_label = sprintf(
|
| 151 |
// translators: the placeholder is for the date range start, e.g. "Now" or "October 23".
|
| 152 |
_x( '%s onwards', 'The datepicker range definition when no events are found.', 'the-events-calendar' ),
|
| 153 |
$onwards_label_start
|
| 154 |
);
|
| 155 |
+
|
| 156 |
+
$now_label_mobile = sprintf(
|
| 157 |
+
// translators: the placeholder is for the date range start, e.g. "Now" or "1/1/2020".
|
| 158 |
+
_x( '%s onwards', 'The datepicker range definition when no events are found (for mobile).', 'the-events-calendar' ),
|
| 159 |
+
$onwards_label_start_mobile
|
| 160 |
+
);
|
| 161 |
+
|
| 162 |
+
$show_now = true;
|
| 163 |
}
|
| 164 |
|
| 165 |
$end_timestamp_w_offset = $end->getTimestamp() + $end->getOffset();
|
| 169 |
|
| 170 |
$template_vars['show_now'] = $show_now;
|
| 171 |
$template_vars['now_label'] = $now_label;
|
| 172 |
+
$template_vars['now_label_mobile'] = $now_label_mobile;
|
| 173 |
$template_vars['show_end'] = $show_end;
|
| 174 |
$template_vars['selected_start_datetime'] = date_i18n( 'Y-m-d', $start_timestamp_w_offset );
|
| 175 |
+
$template_vars['selected_start_date_mobile'] = $start_date_mobile;
|
| 176 |
$template_vars['selected_start_date_label'] = $start_time_label;
|
| 177 |
$template_vars['selected_end_datetime'] = date_i18n( 'Y-m-d', $end_timestamp_w_offset );
|
| 178 |
$template_vars['selected_end_date_mobile'] = $end->format( $compact_date_format );
|
src/Tribe/iCal.php
CHANGED
|
@@ -439,18 +439,18 @@ class Tribe__Events__iCal {
|
|
| 439 |
$timezone = $row['timezone'];
|
| 440 |
|
| 441 |
$ordered = [
|
| 442 |
-
'start' =>
|
| 443 |
-
'end'
|
| 444 |
];
|
| 445 |
|
| 446 |
sort( $ordered['start'] );
|
| 447 |
rsort( $ordered['end'] );
|
| 448 |
|
| 449 |
$ordered['start'] = array_values( $ordered['start'] );
|
| 450 |
-
$ordered['end']
|
| 451 |
|
| 452 |
$start = reset( $ordered['start'] );
|
| 453 |
-
$end
|
| 454 |
|
| 455 |
if ( empty( $start ) || empty( $end ) ) {
|
| 456 |
continue;
|
| 439 |
$timezone = $row['timezone'];
|
| 440 |
|
| 441 |
$ordered = [
|
| 442 |
+
'start' => wp_list_pluck( $row['events'], 'start_year' ),
|
| 443 |
+
'end' => wp_list_pluck( $row['events'], 'end_year' ),
|
| 444 |
];
|
| 445 |
|
| 446 |
sort( $ordered['start'] );
|
| 447 |
rsort( $ordered['end'] );
|
| 448 |
|
| 449 |
$ordered['start'] = array_values( $ordered['start'] );
|
| 450 |
+
$ordered['end'] = array_values( $ordered['end'] );
|
| 451 |
|
| 452 |
$start = reset( $ordered['start'] );
|
| 453 |
+
$end = reset( $ordered['end'] );
|
| 454 |
|
| 455 |
if ( empty( $start ) || empty( $end ) ) {
|
| 456 |
continue;
|
src/admin-views/tribe-options-general.php
CHANGED
|
@@ -50,11 +50,11 @@ $general_tab_fields = Tribe__Main::array_insert_before_key(
|
|
| 50 |
'liveFiltersUpdate' => [
|
| 51 |
'type' => 'checkbox_bool',
|
| 52 |
'label' => esc_html__( 'Enable live refresh', 'the-events-calendar' ),
|
| 53 |
-
'tooltip' => tribe_get_option( 'tribeDisableTribeBar', false ) == true ? esc_html__( 'This option is disabled when "Disable the Event Search Bar" is checked on the Display settings tab.', 'the-events-calendar' ) : esc_html__( 'Instantly updates the calendar view when searching for or filtering events.', 'the-events-calendar' ),
|
| 54 |
-
'attributes' => tribe_get_option( 'tribeDisableTribeBar', false ) == true ? [ 'disabled' => 'disabled' ] : null,
|
| 55 |
'default' => true,
|
| 56 |
'validation_type' => 'boolean',
|
| 57 |
-
'class' => tribe_get_option( 'tribeDisableTribeBar', false ) == true ? 'tribe-fieldset-disabled' : null,
|
| 58 |
],
|
| 59 |
'showComments' => [
|
| 60 |
'type' => 'checkbox_bool',
|
| 50 |
'liveFiltersUpdate' => [
|
| 51 |
'type' => 'checkbox_bool',
|
| 52 |
'label' => esc_html__( 'Enable live refresh', 'the-events-calendar' ),
|
| 53 |
+
'tooltip' => tribe_get_option( 'tribeDisableTribeBar', false ) == true && ! tribe_events_views_v2_is_enabled() ? esc_html__( 'This option is disabled when "Disable the Event Search Bar" is checked on the Display settings tab.', 'the-events-calendar' ) : esc_html__( 'Instantly updates the calendar view when searching for or filtering events.', 'the-events-calendar' ),
|
| 54 |
+
'attributes' => tribe_get_option( 'tribeDisableTribeBar', false ) == true && ! tribe_events_views_v2_is_enabled() ? [ 'disabled' => 'disabled' ] : null,
|
| 55 |
'default' => true,
|
| 56 |
'validation_type' => 'boolean',
|
| 57 |
+
'class' => tribe_get_option( 'tribeDisableTribeBar', false ) == true && ! tribe_events_views_v2_is_enabled() ? 'tribe-fieldset-disabled' : null,
|
| 58 |
],
|
| 59 |
'showComments' => [
|
| 60 |
'type' => 'checkbox_bool',
|
src/admin-views/tribe-options-upgrade.php
CHANGED
|
@@ -54,7 +54,9 @@
|
|
| 54 |
<p><?php esc_html_e( 'We\'ve redesigned all of the calendar views to give you and your users a better experience. Beyond a brand new look, we\'ve optimized every design for mobile and introduced key improvements for each view.', 'the-events-calendar' ); ?></p>
|
| 55 |
|
| 56 |
<button type="button"><?php esc_html_e( 'Start your upgrade', 'the-events-calendar' ); ?></button>
|
| 57 |
-
<a href="http://m.tri.be/updated-views" target="_blank" rel="noopener"
|
|
|
|
|
|
|
| 58 |
|
| 59 |
<div class="step"><?php esc_html_e( 'Step 1 of 2', 'the-events-calendar' ); ?></div>
|
| 60 |
</div>
|
| 54 |
<p><?php esc_html_e( 'We\'ve redesigned all of the calendar views to give you and your users a better experience. Beyond a brand new look, we\'ve optimized every design for mobile and introduced key improvements for each view.', 'the-events-calendar' ); ?></p>
|
| 55 |
|
| 56 |
<button type="button"><?php esc_html_e( 'Start your upgrade', 'the-events-calendar' ); ?></button>
|
| 57 |
+
<a href="http://m.tri.be/updated-views" target="_blank" rel="noopener" class="tribe-upgrade-absolute-text">
|
| 58 |
+
<?php esc_html_e( 'Learn more about the upgrade', 'the-events-calendar' ); ?>
|
| 59 |
+
</a>
|
| 60 |
|
| 61 |
<div class="step"><?php esc_html_e( 'Step 1 of 2', 'the-events-calendar' ); ?></div>
|
| 62 |
</div>
|
src/functions/template-tags/event.php
CHANGED
|
@@ -99,8 +99,26 @@ if ( ! function_exists( 'tribe_get_event' ) ) {
|
|
| 99 |
}
|
| 100 |
|
| 101 |
$post = false;
|
|
|
|
| 102 |
if ( ! $force ) {
|
| 103 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 104 |
/** @var Tribe__Cache $cache */
|
| 105 |
$cache = tribe( 'cache' );
|
| 106 |
$post = $cache->get( $cache_key, Tribe__Cache_Listener::TRIGGER_SAVE_POST );
|
|
@@ -131,6 +149,23 @@ if ( ! function_exists( 'tribe_get_event' ) ) {
|
|
| 131 |
$cache->set( $cache_key, $post, WEEK_IN_SECONDS, Tribe__Cache_Listener::TRIGGER_SAVE_POST );
|
| 132 |
}
|
| 133 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 134 |
if ( OBJECT !== $output ) {
|
| 135 |
$post = ARRAY_A === $output ? (array) $post : array_values( (array) $post );
|
| 136 |
}
|
| 99 |
}
|
| 100 |
|
| 101 |
$post = false;
|
| 102 |
+
|
| 103 |
if ( ! $force ) {
|
| 104 |
+
$cache_post = get_post( $event );
|
| 105 |
+
if ( empty( $cache_post ) ) {
|
| 106 |
+
return null;
|
| 107 |
+
}
|
| 108 |
+
|
| 109 |
+
$key_fields = [
|
| 110 |
+
$cache_post->ID,
|
| 111 |
+
$cache_post->post_modified,
|
| 112 |
+
// Use the `post_password` field as we show/hide some information depending on that.
|
| 113 |
+
$cache_post->post_password,
|
| 114 |
+
// We must include options on cache key, because options influence the hydrated data on the Event object.
|
| 115 |
+
wp_json_encode( Tribe__Settings_Manager::get_options() ),
|
| 116 |
+
wp_json_encode( [ get_option( 'start_of_week' ), get_option( 'timezone_string' ), get_option( 'gmt_offset' ) ] ),
|
| 117 |
+
$output,
|
| 118 |
+
$filter
|
| 119 |
+
];
|
| 120 |
+
|
| 121 |
+
$cache_key = 'tribe_get_event_' . md5( wp_json_encode( $key_fields ) );
|
| 122 |
/** @var Tribe__Cache $cache */
|
| 123 |
$cache = tribe( 'cache' );
|
| 124 |
$post = $cache->get( $cache_key, Tribe__Cache_Listener::TRIGGER_SAVE_POST );
|
| 149 |
$cache->set( $cache_key, $post, WEEK_IN_SECONDS, Tribe__Cache_Listener::TRIGGER_SAVE_POST );
|
| 150 |
}
|
| 151 |
|
| 152 |
+
/**
|
| 153 |
+
* Filters the event result after the event has been built from the function.
|
| 154 |
+
*
|
| 155 |
+
* Note: this value will not be cached and the caching of this value is a duty left to the filtering function.
|
| 156 |
+
*
|
| 157 |
+
* @since 5.0.0
|
| 158 |
+
*
|
| 159 |
+
* @param WP_Post $post The event post object to filter and return.
|
| 160 |
+
* @param int|WP_Post $event The event object to fetch.
|
| 161 |
+
* @param string|null $output The required return type. One of OBJECT, ARRAY_A, or ARRAY_N, which
|
| 162 |
+
* correspond to a `WP_Post` object, an associative array, or a numeric array,
|
| 163 |
+
* respectively. Defaults to `OBJECT`.
|
| 164 |
+
* @param string $filter Type of filter to apply. Accepts 'raw', a valid date string or
|
| 165 |
+
* object to localize the event in a specific time-frame.
|
| 166 |
+
*/
|
| 167 |
+
$post = apply_filters( 'tribe_get_event_after', $post, $event, $output, $filter );
|
| 168 |
+
|
| 169 |
if ( OBJECT !== $output ) {
|
| 170 |
$post = ARRAY_A === $output ? (array) $post : array_values( (array) $post );
|
| 171 |
}
|
src/functions/template-tags/general.php
CHANGED
|
@@ -1037,6 +1037,8 @@ if ( class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 1037 |
* @return string The human-readable event schedule details formatted according to the current settings.
|
| 1038 |
*/
|
| 1039 |
function tribe_events_event_schedule_details( $event = null, $before = '', $after = '', $html = true ) {
|
|
|
|
|
|
|
| 1040 |
if ( is_null( $event ) ) {
|
| 1041 |
global $post;
|
| 1042 |
$event = $post;
|
|
@@ -1046,92 +1048,105 @@ if ( class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 1046 |
$event = get_post( $event );
|
| 1047 |
}
|
| 1048 |
|
| 1049 |
-
|
| 1050 |
-
$
|
| 1051 |
-
|
| 1052 |
-
|
| 1053 |
-
$time_format = get_option( 'time_format' );
|
| 1054 |
-
$datetime_separator = tribe_get_option( 'dateTimeSeparator', ' @ ' );
|
| 1055 |
-
$time_range_separator = tribe_get_option( 'timeRangeSeparator', ' - ' );
|
| 1056 |
|
| 1057 |
-
$
|
| 1058 |
-
|
| 1059 |
-
'time' => true,
|
| 1060 |
-
);
|
| 1061 |
|
| 1062 |
-
|
| 1063 |
-
|
| 1064 |
-
$
|
| 1065 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1066 |
|
| 1067 |
-
|
| 1068 |
-
|
| 1069 |
-
|
| 1070 |
-
|
| 1071 |
-
extract( $settings );
|
| 1072 |
|
| 1073 |
-
|
|
|
|
|
|
|
|
|
|
| 1074 |
|
| 1075 |
-
|
| 1076 |
-
|
| 1077 |
-
|
| 1078 |
-
|
| 1079 |
-
|
| 1080 |
-
* @param bool $use_yearless_format
|
| 1081 |
-
* @param WP_Post $event
|
| 1082 |
-
*/
|
| 1083 |
-
$use_yearless_format = apply_filters( 'tribe_events_event_schedule_details_use_yearless_format',
|
| 1084 |
-
(
|
| 1085 |
-
tribe_get_start_date( $event, false, 'Y' ) === date_i18n( 'Y' )
|
| 1086 |
-
&& tribe_get_end_date( $event, false, 'Y' ) === date_i18n( 'Y' )
|
| 1087 |
-
),
|
| 1088 |
-
$event
|
| 1089 |
-
);
|
| 1090 |
|
| 1091 |
-
|
| 1092 |
-
|
| 1093 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1094 |
|
| 1095 |
-
|
|
|
|
|
|
|
| 1096 |
|
| 1097 |
-
|
| 1098 |
|
| 1099 |
-
|
| 1100 |
-
|
| 1101 |
-
|
| 1102 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1103 |
|
| 1104 |
-
|
| 1105 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1106 |
|
| 1107 |
-
|
| 1108 |
-
if ( $end_date_full_timestamp <= strtotime( tribe_beginning_of_day( $end_date_full ) ) ) {
|
| 1109 |
-
$end_date = tribe_format_date( $end_date_full_timestamp - DAY_IN_SECONDS, false, $format2ndday );
|
| 1110 |
} else {
|
| 1111 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1112 |
}
|
| 1113 |
-
|
| 1114 |
-
$inner .= $end_date;
|
| 1115 |
-
} else {
|
| 1116 |
-
$inner .= tribe_get_start_date( $event, false, $format ) . ( $time ? $datetime_separator . tribe_get_start_date( $event, false, $time_format ) : '' );
|
| 1117 |
-
$inner .= ( $html ? '</span>' : '' ) . $time_range_separator;
|
| 1118 |
-
$inner .= $html ? '<span class="tribe-event-date-end">' : '';
|
| 1119 |
-
$inner .= tribe_get_end_date( $event, false, $format2ndday ) . ( $time ? $datetime_separator . tribe_get_end_date( $event, false, $time_format ) : '' );
|
| 1120 |
-
}
|
| 1121 |
-
} elseif ( tribe_event_is_all_day( $event ) ) { // all day event
|
| 1122 |
-
$inner .= tribe_get_start_date( $event, true, $format );
|
| 1123 |
-
} else { // single day event
|
| 1124 |
-
if ( tribe_get_start_date( $event, false, 'g:i A' ) === tribe_get_end_date( $event, false, 'g:i A' ) ) { // Same start/end time
|
| 1125 |
-
$inner .= tribe_get_start_date( $event, false, $format ) . ( $time ? $datetime_separator . tribe_get_start_date( $event, false, $time_format ) : '' );
|
| 1126 |
-
} else { // defined start/end time
|
| 1127 |
-
$inner .= tribe_get_start_date( $event, false, $format ) . ( $time ? $datetime_separator . tribe_get_start_date( $event, false, $time_format ) : '' );
|
| 1128 |
-
$inner .= ( $html ? '</span>' : '' ) . ( $show_end_time ? $time_range_separator : '' );
|
| 1129 |
-
$inner .= $html ? '<span class="tribe-event-time">' : '';
|
| 1130 |
-
$inner .= ( $show_end_time ? tribe_get_end_date( $event, false, $time_format ) : '' );
|
| 1131 |
}
|
| 1132 |
-
}
|
| 1133 |
|
| 1134 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1135 |
|
| 1136 |
/**
|
| 1137 |
* Provides an opportunity to modify the *inner* schedule details HTML (ie before it is
|
|
@@ -1140,7 +1155,7 @@ if ( class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 1140 |
* @param string $inner_html the output HTML
|
| 1141 |
* @param int $event_id post ID of the event we are interested in
|
| 1142 |
*/
|
| 1143 |
-
$inner = apply_filters( 'tribe_events_event_schedule_details_inner', $
|
| 1144 |
|
| 1145 |
// Wrap the schedule text
|
| 1146 |
$schedule = $before . $inner . $after;
|
|
@@ -1448,6 +1463,10 @@ if ( class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 1448 |
* @return string|null Will return null on Bad Post Instances
|
| 1449 |
*/
|
| 1450 |
function tribe_events_get_the_excerpt( $post = null, $allowed_html = null, $skip_postdata_manipulation = false ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1451 |
// If post is not numeric or instance of WP_Post it defaults to the current Post ID
|
| 1452 |
if ( ! is_numeric( $post ) && ! $post instanceof WP_Post ) {
|
| 1453 |
$post = get_the_ID();
|
|
@@ -1513,48 +1532,61 @@ if ( class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 1513 |
*/
|
| 1514 |
$remove_shortcodes = apply_filters( 'tribe_events_excerpt_shortcode_removal', true );
|
| 1515 |
|
| 1516 |
-
|
| 1517 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1518 |
|
| 1519 |
-
|
| 1520 |
-
|
| 1521 |
-
|
| 1522 |
-
|
| 1523 |
|
| 1524 |
-
|
| 1525 |
-
|
| 1526 |
-
$excerpt = preg_replace( '#\[.+\]#U', '', $excerpt );
|
| 1527 |
-
}
|
| 1528 |
|
| 1529 |
-
|
| 1530 |
-
|
|
|
|
|
|
|
| 1531 |
|
| 1532 |
-
|
| 1533 |
-
// Temporarily alter the global post in preparation for our filters.
|
| 1534 |
-
$global_post = isset( $GLOBALS['post'] ) ? $GLOBALS['post'] : null;
|
| 1535 |
-
$GLOBALS['post'] = $post;
|
| 1536 |
|
| 1537 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1538 |
|
| 1539 |
-
|
| 1540 |
-
|
| 1541 |
-
|
| 1542 |
-
|
| 1543 |
-
|
| 1544 |
-
|
| 1545 |
|
| 1546 |
-
|
| 1547 |
-
|
| 1548 |
-
*
|
| 1549 |
-
* @param string $more_string The string shown within the more link.
|
| 1550 |
-
*/
|
| 1551 |
-
$excerpt_more = apply_filters( 'excerpt_more', ' […]' );
|
| 1552 |
|
| 1553 |
-
|
| 1554 |
-
|
|
|
|
| 1555 |
|
| 1556 |
-
|
| 1557 |
-
$
|
| 1558 |
}
|
| 1559 |
|
| 1560 |
if ( ! $skip_postdata_manipulation ) {
|
|
@@ -1568,7 +1600,7 @@ if ( class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 1568 |
* @param string $excerpt
|
| 1569 |
* @param WP_Post $post
|
| 1570 |
*/
|
| 1571 |
-
$excerpt = apply_filters( 'tribe_events_get_the_excerpt',
|
| 1572 |
|
| 1573 |
if ( ! $skip_postdata_manipulation ) {
|
| 1574 |
wp_reset_postdata();
|
| 1037 |
* @return string The human-readable event schedule details formatted according to the current settings.
|
| 1038 |
*/
|
| 1039 |
function tribe_events_event_schedule_details( $event = null, $before = '', $after = '', $html = true ) {
|
| 1040 |
+
static $cache_var_name = __FUNCTION__;
|
| 1041 |
+
|
| 1042 |
if ( is_null( $event ) ) {
|
| 1043 |
global $post;
|
| 1044 |
$event = $post;
|
| 1048 |
$event = get_post( $event );
|
| 1049 |
}
|
| 1050 |
|
| 1051 |
+
// if the post is password protected, don't return the schedule details
|
| 1052 |
+
if ( post_password_required( $event ) ) {
|
| 1053 |
+
return '';
|
| 1054 |
+
}
|
|
|
|
|
|
|
|
|
|
| 1055 |
|
| 1056 |
+
$cache_details = tribe_get_var( $cache_var_name, [] );
|
| 1057 |
+
$cache_details_key = "{$event->ID}:{$before}:{$after}:{$html}";
|
|
|
|
|
|
|
| 1058 |
|
| 1059 |
+
if ( ! isset( $cache_details[ $cache_details_key ] ) ) {
|
| 1060 |
+
$inner = $html ? '<span class="tribe-event-date-start">' : '';
|
| 1061 |
+
$format = '';
|
| 1062 |
+
$date_without_year_format = tribe_get_date_format();
|
| 1063 |
+
$date_with_year_format = tribe_get_date_format( true );
|
| 1064 |
+
$time_format = get_option( 'time_format' );
|
| 1065 |
+
$datetime_separator = tribe_get_option( 'dateTimeSeparator', ' @ ' );
|
| 1066 |
+
$time_range_separator = tribe_get_option( 'timeRangeSeparator', ' - ' );
|
| 1067 |
|
| 1068 |
+
$settings = array(
|
| 1069 |
+
'show_end_time' => true,
|
| 1070 |
+
'time' => true,
|
| 1071 |
+
);
|
|
|
|
| 1072 |
|
| 1073 |
+
$settings = wp_parse_args( apply_filters( 'tribe_events_event_schedule_details_formatting', $settings ), $settings );
|
| 1074 |
+
if ( ! $settings['time'] ) {
|
| 1075 |
+
$settings['show_end_time'] = false;
|
| 1076 |
+
}
|
| 1077 |
|
| 1078 |
+
/**
|
| 1079 |
+
* @var $show_end_time
|
| 1080 |
+
* @var $time
|
| 1081 |
+
*/
|
| 1082 |
+
extract( $settings );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1083 |
|
| 1084 |
+
$format = $date_with_year_format;
|
| 1085 |
+
|
| 1086 |
+
/**
|
| 1087 |
+
* If a yearless date format should be preferred.
|
| 1088 |
+
*
|
| 1089 |
+
* By default, this will be true if the event starts and ends in the current year.
|
| 1090 |
+
*
|
| 1091 |
+
* @param bool $use_yearless_format
|
| 1092 |
+
* @param WP_Post $event
|
| 1093 |
+
*/
|
| 1094 |
+
$use_yearless_format = apply_filters( 'tribe_events_event_schedule_details_use_yearless_format',
|
| 1095 |
+
(
|
| 1096 |
+
tribe_get_start_date( $event, false, 'Y' ) === date_i18n( 'Y' )
|
| 1097 |
+
&& tribe_get_end_date( $event, false, 'Y' ) === date_i18n( 'Y' )
|
| 1098 |
+
),
|
| 1099 |
+
$event
|
| 1100 |
+
);
|
| 1101 |
|
| 1102 |
+
if ( $use_yearless_format ) {
|
| 1103 |
+
$format = $date_without_year_format;
|
| 1104 |
+
}
|
| 1105 |
|
| 1106 |
+
if ( tribe_event_is_multiday( $event ) ) { // multi-date event
|
| 1107 |
|
| 1108 |
+
$format2ndday = apply_filters( 'tribe_format_second_date_in_range', $format, $event );
|
| 1109 |
+
|
| 1110 |
+
if ( tribe_event_is_all_day( $event ) ) {
|
| 1111 |
+
$inner .= tribe_get_start_date( $event, true, $format );
|
| 1112 |
+
$inner .= ( $html ? '</span>' : '' ) . $time_range_separator;
|
| 1113 |
+
$inner .= $html ? '<span class="tribe-event-date-end">' : '';
|
| 1114 |
+
|
| 1115 |
+
$end_date_full = tribe_get_end_date( $event, true, Tribe__Date_Utils::DBDATETIMEFORMAT );
|
| 1116 |
+
$end_date_full_timestamp = strtotime( $end_date_full );
|
| 1117 |
|
| 1118 |
+
// if the end date is <= the beginning of the day, consider it the previous day
|
| 1119 |
+
if ( $end_date_full_timestamp <= strtotime( tribe_beginning_of_day( $end_date_full ) ) ) {
|
| 1120 |
+
$end_date = tribe_format_date( $end_date_full_timestamp - DAY_IN_SECONDS, false, $format2ndday );
|
| 1121 |
+
} else {
|
| 1122 |
+
$end_date = tribe_get_end_date( $event, false, $format2ndday );
|
| 1123 |
+
}
|
| 1124 |
|
| 1125 |
+
$inner .= $end_date;
|
|
|
|
|
|
|
| 1126 |
} else {
|
| 1127 |
+
$inner .= tribe_get_start_date( $event, false, $format ) . ( $time ? $datetime_separator . tribe_get_start_date( $event, false, $time_format ) : '' );
|
| 1128 |
+
$inner .= ( $html ? '</span>' : '' ) . $time_range_separator;
|
| 1129 |
+
$inner .= $html ? '<span class="tribe-event-date-end">' : '';
|
| 1130 |
+
$inner .= tribe_get_end_date( $event, false, $format2ndday ) . ( $time ? $datetime_separator . tribe_get_end_date( $event, false, $time_format ) : '' );
|
| 1131 |
+
}
|
| 1132 |
+
} elseif ( tribe_event_is_all_day( $event ) ) { // all day event
|
| 1133 |
+
$inner .= tribe_get_start_date( $event, true, $format );
|
| 1134 |
+
} else { // single day event
|
| 1135 |
+
if ( tribe_get_start_date( $event, false, 'g:i A' ) === tribe_get_end_date( $event, false, 'g:i A' ) ) { // Same start/end time
|
| 1136 |
+
$inner .= tribe_get_start_date( $event, false, $format ) . ( $time ? $datetime_separator . tribe_get_start_date( $event, false, $time_format ) : '' );
|
| 1137 |
+
} else { // defined start/end time
|
| 1138 |
+
$inner .= tribe_get_start_date( $event, false, $format ) . ( $time ? $datetime_separator . tribe_get_start_date( $event, false, $time_format ) : '' );
|
| 1139 |
+
$inner .= ( $html ? '</span>' : '' ) . ( $show_end_time ? $time_range_separator : '' );
|
| 1140 |
+
$inner .= $html ? '<span class="tribe-event-time">' : '';
|
| 1141 |
+
$inner .= ( $show_end_time ? tribe_get_end_date( $event, false, $time_format ) : '' );
|
| 1142 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1143 |
}
|
|
|
|
| 1144 |
|
| 1145 |
+
$inner .= $html ? '</span>' : '';
|
| 1146 |
+
|
| 1147 |
+
$cache_details[ $cache_details_key ] = $inner;
|
| 1148 |
+
tribe_set_var( $cache_var_name, $cache_details );
|
| 1149 |
+
}
|
| 1150 |
|
| 1151 |
/**
|
| 1152 |
* Provides an opportunity to modify the *inner* schedule details HTML (ie before it is
|
| 1155 |
* @param string $inner_html the output HTML
|
| 1156 |
* @param int $event_id post ID of the event we are interested in
|
| 1157 |
*/
|
| 1158 |
+
$inner = apply_filters( 'tribe_events_event_schedule_details_inner', $cache_details[ $cache_details_key ], $event->ID );
|
| 1159 |
|
| 1160 |
// Wrap the schedule text
|
| 1161 |
$schedule = $before . $inner . $after;
|
| 1463 |
* @return string|null Will return null on Bad Post Instances
|
| 1464 |
*/
|
| 1465 |
function tribe_events_get_the_excerpt( $post = null, $allowed_html = null, $skip_postdata_manipulation = false ) {
|
| 1466 |
+
static $cache_var_name = __FUNCTION__;
|
| 1467 |
+
|
| 1468 |
+
$cache_excerpts = tribe_get_var( $cache_var_name, [] );
|
| 1469 |
+
|
| 1470 |
// If post is not numeric or instance of WP_Post it defaults to the current Post ID
|
| 1471 |
if ( ! is_numeric( $post ) && ! $post instanceof WP_Post ) {
|
| 1472 |
$post = get_the_ID();
|
| 1532 |
*/
|
| 1533 |
$remove_shortcodes = apply_filters( 'tribe_events_excerpt_shortcode_removal', true );
|
| 1534 |
|
| 1535 |
+
$cache_excerpts_key = implode( ':', [
|
| 1536 |
+
$post->ID,
|
| 1537 |
+
$skip_postdata_manipulation,
|
| 1538 |
+
$allow_shortcodes,
|
| 1539 |
+
$remove_shortcodes,
|
| 1540 |
+
json_encode( $allowed_html )
|
| 1541 |
+
] );
|
| 1542 |
+
|
| 1543 |
+
if ( ! isset( $cache_excerpts[ $cache_excerpts_key ] ) ) {
|
| 1544 |
+
// Get the Excerpt or content based on what is available
|
| 1545 |
+
$excerpt = has_excerpt( $post->ID ) ? $post->post_excerpt : $post->post_content;
|
| 1546 |
+
|
| 1547 |
+
// If shortcode filter is enabled let's process them
|
| 1548 |
+
if ( $allow_shortcodes ) {
|
| 1549 |
+
$excerpt = do_shortcode( $excerpt );
|
| 1550 |
+
}
|
| 1551 |
|
| 1552 |
+
// Remove all shortcode Content before removing HTML
|
| 1553 |
+
if ( $remove_shortcodes ) {
|
| 1554 |
+
$excerpt = preg_replace( '#\[.+\]#U', '', $excerpt );
|
| 1555 |
+
}
|
| 1556 |
|
| 1557 |
+
// Remove "all" HTML based on what is allowed
|
| 1558 |
+
$excerpt = wp_kses( $excerpt, $allowed_html );
|
|
|
|
|
|
|
| 1559 |
|
| 1560 |
+
if ( ! has_excerpt( $post->ID ) ) {
|
| 1561 |
+
// Temporarily alter the global post in preparation for our filters.
|
| 1562 |
+
$global_post = isset( $GLOBALS['post'] ) ? $GLOBALS['post'] : null;
|
| 1563 |
+
$GLOBALS['post'] = $post;
|
| 1564 |
|
| 1565 |
+
// We will only trim Excerpt if it comes from Post Content
|
|
|
|
|
|
|
|
|
|
| 1566 |
|
| 1567 |
+
/**
|
| 1568 |
+
* Filter the number of words in an excerpt.
|
| 1569 |
+
*
|
| 1570 |
+
* @param int $number The number of words. Default 55.
|
| 1571 |
+
*/
|
| 1572 |
+
$excerpt_length = apply_filters( 'excerpt_length', 55 );
|
| 1573 |
|
| 1574 |
+
/**
|
| 1575 |
+
* Filter the string in the "more" link displayed after a trimmed excerpt.
|
| 1576 |
+
*
|
| 1577 |
+
* @param string $more_string The string shown within the more link.
|
| 1578 |
+
*/
|
| 1579 |
+
$excerpt_more = apply_filters( 'excerpt_more', ' […]' );
|
| 1580 |
|
| 1581 |
+
// Now we actually trim it
|
| 1582 |
+
$excerpt = wp_trim_words( $excerpt, $excerpt_length, $excerpt_more );
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1583 |
|
| 1584 |
+
// Original post is back in action!
|
| 1585 |
+
$GLOBALS['post'] = $global_post;
|
| 1586 |
+
}
|
| 1587 |
|
| 1588 |
+
$cache_excerpts[ $cache_excerpts_key ] = wpautop( $excerpt );
|
| 1589 |
+
tribe_set_var( $cache_var_name, $cache_excerpts );
|
| 1590 |
}
|
| 1591 |
|
| 1592 |
if ( ! $skip_postdata_manipulation ) {
|
| 1600 |
* @param string $excerpt
|
| 1601 |
* @param WP_Post $post
|
| 1602 |
*/
|
| 1603 |
+
$excerpt = apply_filters( 'tribe_events_get_the_excerpt', $cache_excerpts[ $cache_excerpts_key ], $post );
|
| 1604 |
|
| 1605 |
if ( ! $skip_postdata_manipulation ) {
|
| 1606 |
wp_reset_postdata();
|
src/resources/css/events-admin.css
CHANGED
|
@@ -10,92 +10,71 @@
|
|
| 10 |
|
| 11 |
/* = Post Type Listing
|
| 12 |
=============================================*/
|
| 13 |
-
|
| 14 |
.events-cal .tablenav select[name=m],
|
| 15 |
.events-cal #post-query-submit {
|
| 16 |
display: none;
|
| 17 |
}
|
| 18 |
-
|
| 19 |
.fixed .column-start-date,
|
| 20 |
.fixed .column-end-date,
|
| 21 |
.fixed .column-events-cats {
|
| 22 |
width: 14%;
|
| 23 |
}
|
| 24 |
-
|
| 25 |
#additional-field-table input,
|
| 26 |
#additional-field-table select,
|
| 27 |
#additional-field-table textarea {
|
| 28 |
width: 200px;
|
| 29 |
}
|
| 30 |
-
|
| 31 |
#additional-field-table tbody tr {
|
| 32 |
height: 72px;
|
| 33 |
}
|
| 34 |
-
|
| 35 |
.tribe-restore-link + a {
|
| 36 |
display: none;
|
| 37 |
}
|
| 38 |
-
|
| 39 |
/* = Post Type Editing
|
| 40 |
=============================================*/
|
| 41 |
-
|
| 42 |
.eventForm {
|
| 43 |
margin-top: -20px;
|
| 44 |
}
|
| 45 |
-
|
| 46 |
.eventForm td {
|
| 47 |
font-size: 12px;
|
| 48 |
padding: 0 6px 10px 0;
|
| 49 |
vertical-align: middle;
|
| 50 |
}
|
| 51 |
-
|
| 52 |
/* Add extra separation between form inputs when left aligned */
|
| 53 |
-
|
| 54 |
.eventForm td input.alignleft, .eventForm td select.alignleft {
|
| 55 |
margin-right: 0.3rem;
|
| 56 |
}
|
| 57 |
-
|
| 58 |
.eventForm #EventURL {
|
| 59 |
width: 70%;
|
| 60 |
}
|
| 61 |
-
|
| 62 |
.eventForm #event-meta td {
|
| 63 |
vertical-align: top;
|
| 64 |
}
|
| 65 |
-
|
| 66 |
.eventForm #event-meta td:first-child {
|
| 67 |
line-height: 30px;
|
| 68 |
}
|
| 69 |
-
|
| 70 |
.eventForm #event-meta td div {
|
| 71 |
margin-bottom: 10px;
|
| 72 |
}
|
| 73 |
-
|
| 74 |
.eventForm #event-meta td div:last-child {
|
| 75 |
margin-bottom: 20px;
|
| 76 |
}
|
| 77 |
-
|
| 78 |
.eventForm textarea {
|
| 79 |
width: 100%;
|
| 80 |
}
|
| 81 |
-
|
| 82 |
.eventForm h4 {
|
| 83 |
font-size: 1.2em;
|
| 84 |
margin: 1em 0 1em;
|
| 85 |
}
|
| 86 |
-
|
| 87 |
.eventForm h4.event-time {
|
| 88 |
margin-top: 0;
|
| 89 |
}
|
| 90 |
-
|
| 91 |
.eventForm .tribe_sectionheader {
|
| 92 |
padding-bottom: 5px;
|
| 93 |
}
|
| 94 |
-
|
| 95 |
.eventForm p {
|
| 96 |
margin: 0 0 10px 0;
|
| 97 |
}
|
| 98 |
-
|
| 99 |
.eventForm input[type="text"],
|
| 100 |
.eventForm input[type="password"],
|
| 101 |
.eventForm input[type="color"],
|
|
@@ -117,34 +96,28 @@
|
|
| 117 |
line-height: 20px;
|
| 118 |
margin-left: 0;
|
| 119 |
}
|
| 120 |
-
|
| 121 |
.eventForm .event-dynamic-helper-text {
|
| 122 |
color: #999;
|
| 123 |
font-style: italic;
|
| 124 |
padding: 0;
|
| 125 |
}
|
| 126 |
-
|
| 127 |
.eventForm .tribe-datetime-block .tribe-allday {
|
| 128 |
margin: 10px 0 0;
|
| 129 |
}
|
| 130 |
-
|
| 131 |
.eventForm .tribe-datetime-block .tribe-field-start_date,
|
| 132 |
.eventForm .tribe-datetime-block .tribe-field-start_time,
|
| 133 |
.eventForm .tribe-datetime-block .tribe-field-end_date,
|
| 134 |
.eventForm .tribe-datetime-block .tribe-field-end_time {
|
| 135 |
height: 28px;
|
| 136 |
}
|
| 137 |
-
|
| 138 |
.eventForm .tribe-datetime-block .tribe-field-start_date,
|
| 139 |
.eventForm .tribe-datetime-block .tribe-field-end_date {
|
| 140 |
width: 100px;
|
| 141 |
}
|
| 142 |
-
|
| 143 |
.eventForm .tribe-datetime-block .tribe-field-start_time,
|
| 144 |
.eventForm .tribe-datetime-block .tribe-field-end_time {
|
| 145 |
width: 80px;
|
| 146 |
}
|
| 147 |
-
|
| 148 |
.eventForm .tribe-datetime-block .tribe-field-timezone {
|
| 149 |
width: 100%;
|
| 150 |
|
|
@@ -153,74 +126,58 @@
|
|
| 153 |
margin-top: -2px;
|
| 154 |
display: none;
|
| 155 |
}
|
| 156 |
-
|
| 157 |
.eventForm .tribe-datetime-block .tribe-field-timezone.select2-container {
|
| 158 |
display: inline-block;
|
| 159 |
margin-top: -4px;
|
| 160 |
}
|
| 161 |
-
|
| 162 |
.eventForm .tribe-datetime-block .tribe-change-timezone {
|
| 163 |
white-space: nowrap;
|
| 164 |
}
|
| 165 |
-
|
| 166 |
.eventForm .tribe-datetime-label {
|
| 167 |
vertical-align: top;
|
| 168 |
padding-top: 5px;
|
| 169 |
}
|
| 170 |
-
|
| 171 |
/* Apply a grey highlight to 'today' */
|
| 172 |
-
|
| 173 |
.ui-datepicker-calendar .ui-datepicker-today a {
|
| 174 |
background: linear-gradient(354deg, #ccc 0%, #eee 100%);
|
| 175 |
color: black;
|
| 176 |
}
|
| 177 |
-
|
| 178 |
/* If today is also the current selected day, prefer the default blue highlight */
|
| 179 |
-
|
| 180 |
.ui-datepicker-calendar .ui-datepicker-today.ui-datepicker-current-day a {
|
| 181 |
background: linear-gradient( 354deg, rgba( 10,85,160,1.00 ) 0%, rgba( 18,136,235,1.00 ) 100% );
|
| 182 |
color: #fff;
|
| 183 |
}
|
| 184 |
-
|
| 185 |
.ui-datepicker select.ui-datepicker-month {
|
| 186 |
width: 8rem;
|
| 187 |
}
|
| 188 |
-
|
| 189 |
.tribe-community-event-info {
|
| 190 |
width: 100%;
|
| 191 |
margin: 10px;
|
| 192 |
}
|
| 193 |
-
|
| 194 |
.eventtable,
|
| 195 |
#EventInfo {
|
| 196 |
width: 100%;
|
| 197 |
margin: 0;
|
| 198 |
padding-top: 0;
|
| 199 |
}
|
| 200 |
-
|
| 201 |
#event_tickets,
|
| 202 |
.eventtable.ticket_list.eventForm {
|
| 203 |
table-layout: fixed;
|
| 204 |
}
|
| 205 |
-
|
| 206 |
#ticket_start_date,
|
| 207 |
#ticket_end_date {
|
| 208 |
width: 100px;
|
| 209 |
}
|
| 210 |
-
|
| 211 |
.form-table form input {
|
| 212 |
border: none;
|
| 213 |
}
|
| 214 |
-
|
| 215 |
#submitLabel {
|
| 216 |
display: block;
|
| 217 |
}
|
| 218 |
-
|
| 219 |
#submitLabel input {
|
| 220 |
display: block;
|
| 221 |
padding: 0;
|
| 222 |
}
|
| 223 |
-
|
| 224 |
#EventBriteDetailDiv h4,
|
| 225 |
.tribe-community-event-info h4,
|
| 226 |
.eventForm .tribe_sectionheader h4 {
|
|
@@ -228,102 +185,81 @@
|
|
| 228 |
text-transform: uppercase;
|
| 229 |
border-bottom: 1px solid #e5e5e5;
|
| 230 |
}
|
| 231 |
-
|
| 232 |
.tribe-events-error {
|
| 233 |
display: none;
|
| 234 |
}
|
| 235 |
-
|
| 236 |
.tribe-events-multi-event-day {
|
| 237 |
color: #0f81bb;
|
| 238 |
}
|
| 239 |
-
|
| 240 |
.ui-front {
|
| 241 |
z-index: 1000000;
|
| 242 |
}
|
| 243 |
-
|
| 244 |
.events-cal .ui-widget-overlay.ui-front {
|
| 245 |
z-index: 90;
|
| 246 |
}
|
| 247 |
-
|
| 248 |
.edit-linked-post-link {
|
| 249 |
display: inline-block;
|
| 250 |
margin-left: 10px;
|
| 251 |
}
|
| 252 |
-
|
| 253 |
.linked-post-wrapper tbody + tbody tr.saved_linked-post td,
|
| 254 |
.linked-post-wrapper tbody + tfoot tr td {
|
| 255 |
margin-top: 1em;
|
| 256 |
padding-top: 1em;
|
| 257 |
}
|
| 258 |
-
|
| 259 |
.linked-post-wrapper .linked-post td:first-child {
|
| 260 |
padding-left: 30px;
|
| 261 |
}
|
| 262 |
-
|
| 263 |
.move-linked-post-group {
|
| 264 |
padding-right: .5em;
|
| 265 |
cursor: move;
|
| 266 |
}
|
| 267 |
-
|
| 268 |
.tribe-delete-this {
|
| 269 |
float: right;
|
| 270 |
color: #444;
|
| 271 |
}
|
| 272 |
-
|
| 273 |
.tribe-delete-this:hover,
|
| 274 |
.tribe-delete-this.hover-state {
|
| 275 |
color: #a00;
|
| 276 |
}
|
| 277 |
-
|
| 278 |
.tribe-delete-this.tribe-confirm-delete-this {
|
| 279 |
display : none;
|
| 280 |
}
|
| 281 |
-
|
| 282 |
.tribe_community_edit .edit-linked-post-link a {
|
| 283 |
display: none;
|
| 284 |
}
|
| 285 |
-
|
| 286 |
.tribe-linked-post-error.error {
|
| 287 |
display: inline;
|
| 288 |
margin-left: 5px;
|
| 289 |
padding: 5px 10px;
|
| 290 |
}
|
| 291 |
-
|
| 292 |
/* = Settings
|
| 293 |
=============================================*/
|
| 294 |
-
|
| 295 |
#tribe-field-toggle_blocks_editor_hidden_field {
|
| 296 |
display: none;
|
| 297 |
}
|
| 298 |
-
|
| 299 |
/* upgrades */
|
| 300 |
-
|
| 301 |
#modern-tribe-info.tribe-upgrade{
|
| 302 |
padding: 0;
|
|
|
|
| 303 |
}
|
| 304 |
-
|
| 305 |
#modern-tribe-info.tribe-upgrade a, #modern-tribe-info.tribe-upgrade .dashicons {
|
| 306 |
color: #334AFF;
|
| 307 |
}
|
| 308 |
-
|
| 309 |
#modern-tribe-info.tribe-upgrade h3 {
|
| 310 |
font-size: 24px;
|
|
|
|
| 311 |
}
|
| 312 |
-
|
| 313 |
#modern-tribe-info.tribe-upgrade ul {
|
| 314 |
list-style-type: none;
|
| 315 |
margin-left: 0;
|
| 316 |
}
|
| 317 |
-
|
| 318 |
#modern-tribe-info.tribe-upgrade li > h4 {
|
| 319 |
margin-bottom: 0;
|
| 320 |
}
|
| 321 |
-
|
| 322 |
#modern-tribe-info.tribe-upgrade li > p {
|
| 323 |
margin-top: 0;
|
| 324 |
padding-left: 1.5rem;
|
| 325 |
}
|
| 326 |
-
|
| 327 |
#modern-tribe-info.tribe-upgrade #tribe-upgrade-step1,
|
| 328 |
#modern-tribe-info.tribe-upgrade #tribe-upgrade-step2,
|
| 329 |
#modern-tribe-info.tribe-upgrade #tribe-upgrade-complete {
|
|
@@ -335,15 +271,12 @@
|
|
| 335 |
-webkit-box-pack: justify;
|
| 336 |
justify-content: space-between;
|
| 337 |
}
|
| 338 |
-
|
| 339 |
#modern-tribe-info.tribe-upgrade #tribe-upgrade-step1.hidden, #modern-tribe-info.tribe-upgrade #tribe-upgrade-step2.hidden, #modern-tribe-info.tribe-upgrade #tribe-upgrade-complete.hidden {
|
| 340 |
display: none;
|
| 341 |
}
|
| 342 |
-
|
| 343 |
#modern-tribe-info.tribe-upgrade #tribe-upgrade-step1 span {
|
| 344 |
color: #334AFF;
|
| 345 |
}
|
| 346 |
-
|
| 347 |
#modern-tribe-info.tribe-upgrade .button, #modern-tribe-info.tribe-upgrade button {
|
| 348 |
background: #334AFF;
|
| 349 |
border-radius: 0.25rem;
|
|
@@ -359,22 +292,18 @@
|
|
| 359 |
white-space: nowrap;
|
| 360 |
width: 200px;
|
| 361 |
}
|
| 362 |
-
|
| 363 |
#modern-tribe-info.tribe-upgrade .button {
|
| 364 |
height: 3rem;
|
| 365 |
line-height: 1rem;
|
| 366 |
text-align: center;
|
| 367 |
}
|
| 368 |
-
|
| 369 |
#modern-tribe-info.tribe-upgrade .content-container {
|
| 370 |
max-width: 600px;
|
| 371 |
padding: 2rem;
|
| 372 |
}
|
| 373 |
-
|
| 374 |
#modern-tribe-info.tribe-upgrade .image-container {
|
| 375 |
text-align: right;
|
| 376 |
}
|
| 377 |
-
|
| 378 |
#modern-tribe-info.tribe-upgrade .image-container img {
|
| 379 |
border-radius: 0.5rem;
|
| 380 |
display: inline-block;
|
|
@@ -385,11 +314,9 @@
|
|
| 385 |
vertical-align: top;
|
| 386 |
width: 100%;
|
| 387 |
}
|
| 388 |
-
|
| 389 |
#modern-tribe-info.tribe-upgrade .screenshot {
|
| 390 |
float: left;
|
| 391 |
}
|
| 392 |
-
|
| 393 |
#modern-tribe-info.tribe-upgrade .step {
|
| 394 |
font-size: 0.9rem;
|
| 395 |
font-weight: 200;
|
|
@@ -397,7 +324,6 @@
|
|
| 397 |
text-align: center;
|
| 398 |
width: 200px;
|
| 399 |
}
|
| 400 |
-
|
| 401 |
#upgrade-button {
|
| 402 |
background: #334AFF;
|
| 403 |
border-radius: 0.25rem;
|
|
@@ -411,16 +337,13 @@
|
|
| 411 |
vertical-align: top;
|
| 412 |
margin: 2px 0 0 0.75rem;
|
| 413 |
}
|
| 414 |
-
|
| 415 |
/* = Eventbrite
|
| 416 |
=============================================*/
|
| 417 |
-
|
| 418 |
.tribe-community-event-info small,
|
| 419 |
#EventBriteDetailDiv small {
|
| 420 |
font-size: 10px;
|
| 421 |
color: #a3a3a3;
|
| 422 |
}
|
| 423 |
-
|
| 424 |
#eventBriteTicketing,
|
| 425 |
#mainDonateRow {
|
| 426 |
margin: -11px 6px 0;
|
|
@@ -435,121 +358,96 @@
|
|
| 435 |
background: url(../images/bg_fade.png) repeat-x top left;
|
| 436 |
background-color: #fff;
|
| 437 |
}
|
| 438 |
-
|
| 439 |
#eventBriteTicketing h2 {
|
| 440 |
height: 80px;
|
| 441 |
margin: 0;
|
| 442 |
background: url(../images/eb_press_little.gif) no-repeat top right;
|
| 443 |
}
|
| 444 |
-
|
| 445 |
.tribe-community-event-info,
|
| 446 |
table.eventForm {
|
| 447 |
width: 100%;
|
| 448 |
}
|
| 449 |
-
|
| 450 |
/* = Recurrence
|
| 451 |
=============================================*/
|
| 452 |
-
|
| 453 |
#custom-recurrence-weeks label {
|
| 454 |
display: block;
|
| 455 |
float: left;
|
| 456 |
width: 45px;
|
| 457 |
margin-bottom: 3px;
|
| 458 |
}
|
| 459 |
-
|
| 460 |
#custom-recurrence-frequency input {
|
| 461 |
width: 30px;
|
| 462 |
}
|
| 463 |
-
|
| 464 |
#custom-recurrence-years label {
|
| 465 |
display: block;
|
| 466 |
float: left;
|
| 467 |
width: 50px;
|
| 468 |
margin-bottom: 3px;
|
| 469 |
}
|
| 470 |
-
|
| 471 |
#recurrence-changed-row {
|
| 472 |
display: none;
|
| 473 |
color: red;
|
| 474 |
}
|
| 475 |
-
|
| 476 |
#rec-end-error {
|
| 477 |
color: red;
|
| 478 |
}
|
| 479 |
-
|
| 480 |
#rec-days-error {
|
| 481 |
color: red;
|
| 482 |
}
|
| 483 |
-
|
| 484 |
.rec-error {
|
| 485 |
display: none;
|
| 486 |
}
|
| 487 |
-
|
| 488 |
#recurrence-pattern-description {
|
| 489 |
font-style: italic;
|
| 490 |
}
|
| 491 |
-
|
| 492 |
.recurrence-pattern-description-row {
|
| 493 |
display: none;
|
| 494 |
}
|
| 495 |
-
|
| 496 |
/* = Chosen
|
| 497 |
=============================================*/
|
| 498 |
-
|
| 499 |
.chosen,
|
| 500 |
.tribe-chosen,
|
| 501 |
.chzn-container {
|
| 502 |
margin-right: 10px!important;
|
| 503 |
}
|
| 504 |
-
|
| 505 |
.events-dropdown,
|
| 506 |
#eventsDefaultState,
|
| 507 |
#defaultCountry,
|
| 508 |
#StateProvinceSelect {
|
| 509 |
min-width: 220px;
|
| 510 |
}
|
| 511 |
-
|
| 512 |
.multi-day-cutoff-dropdown {
|
| 513 |
width: 100px !important;
|
| 514 |
}
|
| 515 |
-
|
| 516 |
/* fix for widgets + chosen support */
|
| 517 |
-
|
| 518 |
.widget-liquid-right .widget,
|
| 519 |
.inactive-sidebar .widget,
|
| 520 |
.widget-liquid-right .sidebar-description {
|
| 521 |
overflow: visible !important;
|
| 522 |
}
|
| 523 |
-
|
| 524 |
.tribe-aggregator-import-details {
|
| 525 |
overflow: hidden;
|
| 526 |
}
|
| 527 |
-
|
| 528 |
.tribe-aggregator-import-details dt {
|
| 529 |
clear: left;
|
| 530 |
float: left;
|
| 531 |
margin-right: .25rem;
|
| 532 |
}
|
| 533 |
-
|
| 534 |
.tribe-aggregator-import-details dd {
|
| 535 |
margin-left: 0;
|
| 536 |
}
|
| 537 |
-
|
| 538 |
.tribe-aggregator-import-details .tribe-value {
|
| 539 |
font-weight: bold;
|
| 540 |
}
|
| 541 |
-
|
| 542 |
.tribe-ea-eventbrite-disconnect {
|
| 543 |
color: #a00;
|
| 544 |
display: inline-block;
|
| 545 |
margin-left: 1rem;
|
| 546 |
}
|
| 547 |
-
|
| 548 |
.tribe-ea-eventbrite-disconnect:active,
|
| 549 |
.tribe-ea-eventbrite-disconnect:hover {
|
| 550 |
color: #f00;
|
| 551 |
}
|
| 552 |
-
|
| 553 |
.tribe-ea-eventbrite-button {
|
| 554 |
border-radius: 3px;
|
| 555 |
color: #fff;
|
|
@@ -559,38 +457,31 @@ table.eventForm {
|
|
| 559 |
-webkit-transition: background-color 0.5s ease;
|
| 560 |
transition: background-color 0.5s ease;
|
| 561 |
}
|
| 562 |
-
|
| 563 |
.tribe-ea-eventbrite-button:active,
|
| 564 |
.tribe-ea-eventbrite-button:hover {
|
| 565 |
color: #fff;
|
| 566 |
cursor: pointer;
|
| 567 |
}
|
| 568 |
-
|
| 569 |
.tribe-ea-eventbrite-button {
|
| 570 |
background: #f6682f;
|
| 571 |
}
|
| 572 |
-
|
| 573 |
.tribe-ea-eventbrite-button:active,
|
| 574 |
.tribe-ea-eventbrite-button:hover,
|
| 575 |
.tribe-ea-eventbrite-button:focus {
|
| 576 |
background: #c85b2f;
|
| 577 |
}
|
| 578 |
-
|
| 579 |
/*
|
| 580 |
Meetup
|
| 581 |
*/
|
| 582 |
-
|
| 583 |
.tribe-ea-meetup-disconnect {
|
| 584 |
color: #a00;
|
| 585 |
display: inline-block;
|
| 586 |
margin-left: 1rem;
|
| 587 |
}
|
| 588 |
-
|
| 589 |
.tribe-ea-meetup-disconnect:active,
|
| 590 |
.tribe-ea-meetup-disconnect:hover {
|
| 591 |
color: #f00;
|
| 592 |
}
|
| 593 |
-
|
| 594 |
.tribe-ea-meetup-button {
|
| 595 |
border-radius: 3px;
|
| 596 |
color: #fff;
|
|
@@ -600,26 +491,21 @@ table.eventForm {
|
|
| 600 |
-webkit-transition: background-color 0.5s ease;
|
| 601 |
transition: background-color 0.5s ease;
|
| 602 |
}
|
| 603 |
-
|
| 604 |
.tribe-ea-meetup-button:active,
|
| 605 |
.tribe-ea-meetup-button:hover {
|
| 606 |
color: #fff;
|
| 607 |
cursor: pointer;
|
| 608 |
}
|
| 609 |
-
|
| 610 |
.tribe-ea-meetup-button {
|
| 611 |
background: #f41940;
|
| 612 |
}
|
| 613 |
-
|
| 614 |
.tribe-ea-meetup-button:active,
|
| 615 |
.tribe-ea-meetup-button:hover,
|
| 616 |
.tribe-ea-meetup-button:focus {
|
| 617 |
background: #f41940;
|
| 618 |
}
|
| 619 |
-
|
| 620 |
/* = Event Aggregator Status
|
| 621 |
=============================================*/
|
| 622 |
-
|
| 623 |
.event-aggregator-status {
|
| 624 |
background-color: #fff;
|
| 625 |
width: 100%;
|
|
@@ -627,75 +513,60 @@ table.eventForm {
|
|
| 627 |
border-spacing: 0;
|
| 628 |
margin-bottom: 16px;
|
| 629 |
}
|
| 630 |
-
|
| 631 |
.event-aggregator-status tbody tr:nth-child(even) td {
|
| 632 |
background-color: #f9f9f9;
|
| 633 |
}
|
| 634 |
-
|
| 635 |
.event-aggregator-status th {
|
| 636 |
text-align: left;
|
| 637 |
border-bottom: 1px solid #e4e5e6;
|
| 638 |
}
|
| 639 |
-
|
| 640 |
.event-aggregator-status th, .event-aggregator-status td {
|
| 641 |
padding: 8px 12px;
|
| 642 |
background-color: #fff;
|
| 643 |
}
|
| 644 |
-
|
| 645 |
.event-aggregator-status td.label {
|
| 646 |
width: 220px;
|
| 647 |
/* @todo: responsive breakpoint? */
|
| 648 |
}
|
| 649 |
-
|
| 650 |
.event-aggregator-status td.label img {
|
| 651 |
width: 18px;
|
| 652 |
height: 18px;
|
| 653 |
margin-right: 6px;
|
| 654 |
float: left;
|
| 655 |
}
|
| 656 |
-
|
| 657 |
.event-aggregator-status td.indicator {
|
| 658 |
width: 20px;
|
| 659 |
}
|
| 660 |
-
|
| 661 |
.event-aggregator-status td.indicator.good {
|
| 662 |
color: #38b042;
|
| 663 |
}
|
| 664 |
-
|
| 665 |
.event-aggregator-status td.indicator.bad {
|
| 666 |
color: #ed5047;
|
| 667 |
}
|
| 668 |
-
|
| 669 |
.event-aggregator-status td.indicator.warning {
|
| 670 |
color: #f3ae46;
|
| 671 |
}
|
| 672 |
-
|
| 673 |
@media (max-width: 782px) {
|
| 674 |
-
|
| 675 |
.eventForm .tribe-datetime-block .tribe-field-start_date,
|
| 676 |
.eventForm .tribe-datetime-block .tribe-field-end_date {
|
| 677 |
width: 63%;
|
| 678 |
display: inline-block
|
| 679 |
}
|
| 680 |
-
|
| 681 |
.eventForm .tribe-datetime-block .tribe-field-start_time,
|
| 682 |
.eventForm .tribe-datetime-block .tribe-field-end_time {
|
| 683 |
width: 35%;
|
| 684 |
display: inline-block
|
| 685 |
}
|
| 686 |
-
|
| 687 |
.eventForm .tribe-datetime-block .tribe-datetime-separator {
|
| 688 |
width: 100%;
|
| 689 |
display: block;
|
| 690 |
text-align: center;
|
| 691 |
padding: 5px 0
|
| 692 |
}
|
| 693 |
-
|
| 694 |
.eventForm .tribe-datetime-block .tribe-field-timezone.select2-container {
|
| 695 |
display: table;
|
| 696 |
margin: 10px auto 0
|
| 697 |
}
|
| 698 |
-
|
| 699 |
.eventForm .tribe-datetime-block .tribe-change-timezone {
|
| 700 |
width: 100%;
|
| 701 |
display: block;
|
|
@@ -703,10 +574,22 @@ table.eventForm {
|
|
| 703 |
padding: 5px 0
|
| 704 |
}
|
| 705 |
}
|
| 706 |
-
|
| 707 |
@media( min-width: 1193px ) {
|
| 708 |
-
|
| 709 |
.eventForm .tribe-datetime-block .tribe-field-timezone {
|
| 710 |
width: calc(100% - 400px)
|
| 711 |
}
|
| 712 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
|
| 11 |
/* = Post Type Listing
|
| 12 |
=============================================*/
|
|
|
|
| 13 |
.events-cal .tablenav select[name=m],
|
| 14 |
.events-cal #post-query-submit {
|
| 15 |
display: none;
|
| 16 |
}
|
|
|
|
| 17 |
.fixed .column-start-date,
|
| 18 |
.fixed .column-end-date,
|
| 19 |
.fixed .column-events-cats {
|
| 20 |
width: 14%;
|
| 21 |
}
|
|
|
|
| 22 |
#additional-field-table input,
|
| 23 |
#additional-field-table select,
|
| 24 |
#additional-field-table textarea {
|
| 25 |
width: 200px;
|
| 26 |
}
|
|
|
|
| 27 |
#additional-field-table tbody tr {
|
| 28 |
height: 72px;
|
| 29 |
}
|
|
|
|
| 30 |
.tribe-restore-link + a {
|
| 31 |
display: none;
|
| 32 |
}
|
|
|
|
| 33 |
/* = Post Type Editing
|
| 34 |
=============================================*/
|
|
|
|
| 35 |
.eventForm {
|
| 36 |
margin-top: -20px;
|
| 37 |
}
|
|
|
|
| 38 |
.eventForm td {
|
| 39 |
font-size: 12px;
|
| 40 |
padding: 0 6px 10px 0;
|
| 41 |
vertical-align: middle;
|
| 42 |
}
|
|
|
|
| 43 |
/* Add extra separation between form inputs when left aligned */
|
|
|
|
| 44 |
.eventForm td input.alignleft, .eventForm td select.alignleft {
|
| 45 |
margin-right: 0.3rem;
|
| 46 |
}
|
|
|
|
| 47 |
.eventForm #EventURL {
|
| 48 |
width: 70%;
|
| 49 |
}
|
|
|
|
| 50 |
.eventForm #event-meta td {
|
| 51 |
vertical-align: top;
|
| 52 |
}
|
|
|
|
| 53 |
.eventForm #event-meta td:first-child {
|
| 54 |
line-height: 30px;
|
| 55 |
}
|
|
|
|
| 56 |
.eventForm #event-meta td div {
|
| 57 |
margin-bottom: 10px;
|
| 58 |
}
|
|
|
|
| 59 |
.eventForm #event-meta td div:last-child {
|
| 60 |
margin-bottom: 20px;
|
| 61 |
}
|
|
|
|
| 62 |
.eventForm textarea {
|
| 63 |
width: 100%;
|
| 64 |
}
|
|
|
|
| 65 |
.eventForm h4 {
|
| 66 |
font-size: 1.2em;
|
| 67 |
margin: 1em 0 1em;
|
| 68 |
}
|
|
|
|
| 69 |
.eventForm h4.event-time {
|
| 70 |
margin-top: 0;
|
| 71 |
}
|
|
|
|
| 72 |
.eventForm .tribe_sectionheader {
|
| 73 |
padding-bottom: 5px;
|
| 74 |
}
|
|
|
|
| 75 |
.eventForm p {
|
| 76 |
margin: 0 0 10px 0;
|
| 77 |
}
|
|
|
|
| 78 |
.eventForm input[type="text"],
|
| 79 |
.eventForm input[type="password"],
|
| 80 |
.eventForm input[type="color"],
|
| 96 |
line-height: 20px;
|
| 97 |
margin-left: 0;
|
| 98 |
}
|
|
|
|
| 99 |
.eventForm .event-dynamic-helper-text {
|
| 100 |
color: #999;
|
| 101 |
font-style: italic;
|
| 102 |
padding: 0;
|
| 103 |
}
|
|
|
|
| 104 |
.eventForm .tribe-datetime-block .tribe-allday {
|
| 105 |
margin: 10px 0 0;
|
| 106 |
}
|
|
|
|
| 107 |
.eventForm .tribe-datetime-block .tribe-field-start_date,
|
| 108 |
.eventForm .tribe-datetime-block .tribe-field-start_time,
|
| 109 |
.eventForm .tribe-datetime-block .tribe-field-end_date,
|
| 110 |
.eventForm .tribe-datetime-block .tribe-field-end_time {
|
| 111 |
height: 28px;
|
| 112 |
}
|
|
|
|
| 113 |
.eventForm .tribe-datetime-block .tribe-field-start_date,
|
| 114 |
.eventForm .tribe-datetime-block .tribe-field-end_date {
|
| 115 |
width: 100px;
|
| 116 |
}
|
|
|
|
| 117 |
.eventForm .tribe-datetime-block .tribe-field-start_time,
|
| 118 |
.eventForm .tribe-datetime-block .tribe-field-end_time {
|
| 119 |
width: 80px;
|
| 120 |
}
|
|
|
|
| 121 |
.eventForm .tribe-datetime-block .tribe-field-timezone {
|
| 122 |
width: 100%;
|
| 123 |
|
| 126 |
margin-top: -2px;
|
| 127 |
display: none;
|
| 128 |
}
|
|
|
|
| 129 |
.eventForm .tribe-datetime-block .tribe-field-timezone.select2-container {
|
| 130 |
display: inline-block;
|
| 131 |
margin-top: -4px;
|
| 132 |
}
|
|
|
|
| 133 |
.eventForm .tribe-datetime-block .tribe-change-timezone {
|
| 134 |
white-space: nowrap;
|
| 135 |
}
|
|
|
|
| 136 |
.eventForm .tribe-datetime-label {
|
| 137 |
vertical-align: top;
|
| 138 |
padding-top: 5px;
|
| 139 |
}
|
|
|
|
| 140 |
/* Apply a grey highlight to 'today' */
|
|
|
|
| 141 |
.ui-datepicker-calendar .ui-datepicker-today a {
|
| 142 |
background: linear-gradient(354deg, #ccc 0%, #eee 100%);
|
| 143 |
color: black;
|
| 144 |
}
|
|
|
|
| 145 |
/* If today is also the current selected day, prefer the default blue highlight */
|
|
|
|
| 146 |
.ui-datepicker-calendar .ui-datepicker-today.ui-datepicker-current-day a {
|
| 147 |
background: linear-gradient( 354deg, rgba( 10,85,160,1.00 ) 0%, rgba( 18,136,235,1.00 ) 100% );
|
| 148 |
color: #fff;
|
| 149 |
}
|
|
|
|
| 150 |
.ui-datepicker select.ui-datepicker-month {
|
| 151 |
width: 8rem;
|
| 152 |
}
|
|
|
|
| 153 |
.tribe-community-event-info {
|
| 154 |
width: 100%;
|
| 155 |
margin: 10px;
|
| 156 |
}
|
|
|
|
| 157 |
.eventtable,
|
| 158 |
#EventInfo {
|
| 159 |
width: 100%;
|
| 160 |
margin: 0;
|
| 161 |
padding-top: 0;
|
| 162 |
}
|
|
|
|
| 163 |
#event_tickets,
|
| 164 |
.eventtable.ticket_list.eventForm {
|
| 165 |
table-layout: fixed;
|
| 166 |
}
|
|
|
|
| 167 |
#ticket_start_date,
|
| 168 |
#ticket_end_date {
|
| 169 |
width: 100px;
|
| 170 |
}
|
|
|
|
| 171 |
.form-table form input {
|
| 172 |
border: none;
|
| 173 |
}
|
|
|
|
| 174 |
#submitLabel {
|
| 175 |
display: block;
|
| 176 |
}
|
|
|
|
| 177 |
#submitLabel input {
|
| 178 |
display: block;
|
| 179 |
padding: 0;
|
| 180 |
}
|
|
|
|
| 181 |
#EventBriteDetailDiv h4,
|
| 182 |
.tribe-community-event-info h4,
|
| 183 |
.eventForm .tribe_sectionheader h4 {
|
| 185 |
text-transform: uppercase;
|
| 186 |
border-bottom: 1px solid #e5e5e5;
|
| 187 |
}
|
|
|
|
| 188 |
.tribe-events-error {
|
| 189 |
display: none;
|
| 190 |
}
|
|
|
|
| 191 |
.tribe-events-multi-event-day {
|
| 192 |
color: #0f81bb;
|
| 193 |
}
|
|
|
|
| 194 |
.ui-front {
|
| 195 |
z-index: 1000000;
|
| 196 |
}
|
|
|
|
| 197 |
.events-cal .ui-widget-overlay.ui-front {
|
| 198 |
z-index: 90;
|
| 199 |
}
|
|
|
|
| 200 |
.edit-linked-post-link {
|
| 201 |
display: inline-block;
|
| 202 |
margin-left: 10px;
|
| 203 |
}
|
|
|
|
| 204 |
.linked-post-wrapper tbody + tbody tr.saved_linked-post td,
|
| 205 |
.linked-post-wrapper tbody + tfoot tr td {
|
| 206 |
margin-top: 1em;
|
| 207 |
padding-top: 1em;
|
| 208 |
}
|
|
|
|
| 209 |
.linked-post-wrapper .linked-post td:first-child {
|
| 210 |
padding-left: 30px;
|
| 211 |
}
|
|
|
|
| 212 |
.move-linked-post-group {
|
| 213 |
padding-right: .5em;
|
| 214 |
cursor: move;
|
| 215 |
}
|
|
|
|
| 216 |
.tribe-delete-this {
|
| 217 |
float: right;
|
| 218 |
color: #444;
|
| 219 |
}
|
|
|
|
| 220 |
.tribe-delete-this:hover,
|
| 221 |
.tribe-delete-this.hover-state {
|
| 222 |
color: #a00;
|
| 223 |
}
|
|
|
|
| 224 |
.tribe-delete-this.tribe-confirm-delete-this {
|
| 225 |
display : none;
|
| 226 |
}
|
|
|
|
| 227 |
.tribe_community_edit .edit-linked-post-link a {
|
| 228 |
display: none;
|
| 229 |
}
|
|
|
|
| 230 |
.tribe-linked-post-error.error {
|
| 231 |
display: inline;
|
| 232 |
margin-left: 5px;
|
| 233 |
padding: 5px 10px;
|
| 234 |
}
|
|
|
|
| 235 |
/* = Settings
|
| 236 |
=============================================*/
|
|
|
|
| 237 |
#tribe-field-toggle_blocks_editor_hidden_field {
|
| 238 |
display: none;
|
| 239 |
}
|
|
|
|
| 240 |
/* upgrades */
|
|
|
|
| 241 |
#modern-tribe-info.tribe-upgrade{
|
| 242 |
padding: 0;
|
| 243 |
+
position: relative;
|
| 244 |
}
|
|
|
|
| 245 |
#modern-tribe-info.tribe-upgrade a, #modern-tribe-info.tribe-upgrade .dashicons {
|
| 246 |
color: #334AFF;
|
| 247 |
}
|
|
|
|
| 248 |
#modern-tribe-info.tribe-upgrade h3 {
|
| 249 |
font-size: 24px;
|
| 250 |
+
line-height: 1.4em;
|
| 251 |
}
|
|
|
|
| 252 |
#modern-tribe-info.tribe-upgrade ul {
|
| 253 |
list-style-type: none;
|
| 254 |
margin-left: 0;
|
| 255 |
}
|
|
|
|
| 256 |
#modern-tribe-info.tribe-upgrade li > h4 {
|
| 257 |
margin-bottom: 0;
|
| 258 |
}
|
|
|
|
| 259 |
#modern-tribe-info.tribe-upgrade li > p {
|
| 260 |
margin-top: 0;
|
| 261 |
padding-left: 1.5rem;
|
| 262 |
}
|
|
|
|
| 263 |
#modern-tribe-info.tribe-upgrade #tribe-upgrade-step1,
|
| 264 |
#modern-tribe-info.tribe-upgrade #tribe-upgrade-step2,
|
| 265 |
#modern-tribe-info.tribe-upgrade #tribe-upgrade-complete {
|
| 271 |
-webkit-box-pack: justify;
|
| 272 |
justify-content: space-between;
|
| 273 |
}
|
|
|
|
| 274 |
#modern-tribe-info.tribe-upgrade #tribe-upgrade-step1.hidden, #modern-tribe-info.tribe-upgrade #tribe-upgrade-step2.hidden, #modern-tribe-info.tribe-upgrade #tribe-upgrade-complete.hidden {
|
| 275 |
display: none;
|
| 276 |
}
|
|
|
|
| 277 |
#modern-tribe-info.tribe-upgrade #tribe-upgrade-step1 span {
|
| 278 |
color: #334AFF;
|
| 279 |
}
|
|
|
|
| 280 |
#modern-tribe-info.tribe-upgrade .button, #modern-tribe-info.tribe-upgrade button {
|
| 281 |
background: #334AFF;
|
| 282 |
border-radius: 0.25rem;
|
| 292 |
white-space: nowrap;
|
| 293 |
width: 200px;
|
| 294 |
}
|
|
|
|
| 295 |
#modern-tribe-info.tribe-upgrade .button {
|
| 296 |
height: 3rem;
|
| 297 |
line-height: 1rem;
|
| 298 |
text-align: center;
|
| 299 |
}
|
|
|
|
| 300 |
#modern-tribe-info.tribe-upgrade .content-container {
|
| 301 |
max-width: 600px;
|
| 302 |
padding: 2rem;
|
| 303 |
}
|
|
|
|
| 304 |
#modern-tribe-info.tribe-upgrade .image-container {
|
| 305 |
text-align: right;
|
| 306 |
}
|
|
|
|
| 307 |
#modern-tribe-info.tribe-upgrade .image-container img {
|
| 308 |
border-radius: 0.5rem;
|
| 309 |
display: inline-block;
|
| 314 |
vertical-align: top;
|
| 315 |
width: 100%;
|
| 316 |
}
|
|
|
|
| 317 |
#modern-tribe-info.tribe-upgrade .screenshot {
|
| 318 |
float: left;
|
| 319 |
}
|
|
|
|
| 320 |
#modern-tribe-info.tribe-upgrade .step {
|
| 321 |
font-size: 0.9rem;
|
| 322 |
font-weight: 200;
|
| 324 |
text-align: center;
|
| 325 |
width: 200px;
|
| 326 |
}
|
|
|
|
| 327 |
#upgrade-button {
|
| 328 |
background: #334AFF;
|
| 329 |
border-radius: 0.25rem;
|
| 337 |
vertical-align: top;
|
| 338 |
margin: 2px 0 0 0.75rem;
|
| 339 |
}
|
|
|
|
| 340 |
/* = Eventbrite
|
| 341 |
=============================================*/
|
|
|
|
| 342 |
.tribe-community-event-info small,
|
| 343 |
#EventBriteDetailDiv small {
|
| 344 |
font-size: 10px;
|
| 345 |
color: #a3a3a3;
|
| 346 |
}
|
|
|
|
| 347 |
#eventBriteTicketing,
|
| 348 |
#mainDonateRow {
|
| 349 |
margin: -11px 6px 0;
|
| 358 |
background: url(../images/bg_fade.png) repeat-x top left;
|
| 359 |
background-color: #fff;
|
| 360 |
}
|
|
|
|
| 361 |
#eventBriteTicketing h2 {
|
| 362 |
height: 80px;
|
| 363 |
margin: 0;
|
| 364 |
background: url(../images/eb_press_little.gif) no-repeat top right;
|
| 365 |
}
|
|
|
|
| 366 |
.tribe-community-event-info,
|
| 367 |
table.eventForm {
|
| 368 |
width: 100%;
|
| 369 |
}
|
|
|
|
| 370 |
/* = Recurrence
|
| 371 |
=============================================*/
|
|
|
|
| 372 |
#custom-recurrence-weeks label {
|
| 373 |
display: block;
|
| 374 |
float: left;
|
| 375 |
width: 45px;
|
| 376 |
margin-bottom: 3px;
|
| 377 |
}
|
|
|
|
| 378 |
#custom-recurrence-frequency input {
|
| 379 |
width: 30px;
|
| 380 |
}
|
|
|
|
| 381 |
#custom-recurrence-years label {
|
| 382 |
display: block;
|
| 383 |
float: left;
|
| 384 |
width: 50px;
|
| 385 |
margin-bottom: 3px;
|
| 386 |
}
|
|
|
|
| 387 |
#recurrence-changed-row {
|
| 388 |
display: none;
|
| 389 |
color: red;
|
| 390 |
}
|
|
|
|
| 391 |
#rec-end-error {
|
| 392 |
color: red;
|
| 393 |
}
|
|
|
|
| 394 |
#rec-days-error {
|
| 395 |
color: red;
|
| 396 |
}
|
|
|
|
| 397 |
.rec-error {
|
| 398 |
display: none;
|
| 399 |
}
|
|
|
|
| 400 |
#recurrence-pattern-description {
|
| 401 |
font-style: italic;
|
| 402 |
}
|
|
|
|
| 403 |
.recurrence-pattern-description-row {
|
| 404 |
display: none;
|
| 405 |
}
|
|
|
|
| 406 |
/* = Chosen
|
| 407 |
=============================================*/
|
|
|
|
| 408 |
.chosen,
|
| 409 |
.tribe-chosen,
|
| 410 |
.chzn-container {
|
| 411 |
margin-right: 10px!important;
|
| 412 |
}
|
|
|
|
| 413 |
.events-dropdown,
|
| 414 |
#eventsDefaultState,
|
| 415 |
#defaultCountry,
|
| 416 |
#StateProvinceSelect {
|
| 417 |
min-width: 220px;
|
| 418 |
}
|
|
|
|
| 419 |
.multi-day-cutoff-dropdown {
|
| 420 |
width: 100px !important;
|
| 421 |
}
|
|
|
|
| 422 |
/* fix for widgets + chosen support */
|
|
|
|
| 423 |
.widget-liquid-right .widget,
|
| 424 |
.inactive-sidebar .widget,
|
| 425 |
.widget-liquid-right .sidebar-description {
|
| 426 |
overflow: visible !important;
|
| 427 |
}
|
|
|
|
| 428 |
.tribe-aggregator-import-details {
|
| 429 |
overflow: hidden;
|
| 430 |
}
|
|
|
|
| 431 |
.tribe-aggregator-import-details dt {
|
| 432 |
clear: left;
|
| 433 |
float: left;
|
| 434 |
margin-right: .25rem;
|
| 435 |
}
|
|
|
|
| 436 |
.tribe-aggregator-import-details dd {
|
| 437 |
margin-left: 0;
|
| 438 |
}
|
|
|
|
| 439 |
.tribe-aggregator-import-details .tribe-value {
|
| 440 |
font-weight: bold;
|
| 441 |
}
|
|
|
|
| 442 |
.tribe-ea-eventbrite-disconnect {
|
| 443 |
color: #a00;
|
| 444 |
display: inline-block;
|
| 445 |
margin-left: 1rem;
|
| 446 |
}
|
|
|
|
| 447 |
.tribe-ea-eventbrite-disconnect:active,
|
| 448 |
.tribe-ea-eventbrite-disconnect:hover {
|
| 449 |
color: #f00;
|
| 450 |
}
|
|
|
|
| 451 |
.tribe-ea-eventbrite-button {
|
| 452 |
border-radius: 3px;
|
| 453 |
color: #fff;
|
| 457 |
-webkit-transition: background-color 0.5s ease;
|
| 458 |
transition: background-color 0.5s ease;
|
| 459 |
}
|
|
|
|
| 460 |
.tribe-ea-eventbrite-button:active,
|
| 461 |
.tribe-ea-eventbrite-button:hover {
|
| 462 |
color: #fff;
|
| 463 |
cursor: pointer;
|
| 464 |
}
|
|
|
|
| 465 |
.tribe-ea-eventbrite-button {
|
| 466 |
background: #f6682f;
|
| 467 |
}
|
|
|
|
| 468 |
.tribe-ea-eventbrite-button:active,
|
| 469 |
.tribe-ea-eventbrite-button:hover,
|
| 470 |
.tribe-ea-eventbrite-button:focus {
|
| 471 |
background: #c85b2f;
|
| 472 |
}
|
|
|
|
| 473 |
/*
|
| 474 |
Meetup
|
| 475 |
*/
|
|
|
|
| 476 |
.tribe-ea-meetup-disconnect {
|
| 477 |
color: #a00;
|
| 478 |
display: inline-block;
|
| 479 |
margin-left: 1rem;
|
| 480 |
}
|
|
|
|
| 481 |
.tribe-ea-meetup-disconnect:active,
|
| 482 |
.tribe-ea-meetup-disconnect:hover {
|
| 483 |
color: #f00;
|
| 484 |
}
|
|
|
|
| 485 |
.tribe-ea-meetup-button {
|
| 486 |
border-radius: 3px;
|
| 487 |
color: #fff;
|
| 491 |
-webkit-transition: background-color 0.5s ease;
|
| 492 |
transition: background-color 0.5s ease;
|
| 493 |
}
|
|
|
|
| 494 |
.tribe-ea-meetup-button:active,
|
| 495 |
.tribe-ea-meetup-button:hover {
|
| 496 |
color: #fff;
|
| 497 |
cursor: pointer;
|
| 498 |
}
|
|
|
|
| 499 |
.tribe-ea-meetup-button {
|
| 500 |
background: #f41940;
|
| 501 |
}
|
|
|
|
| 502 |
.tribe-ea-meetup-button:active,
|
| 503 |
.tribe-ea-meetup-button:hover,
|
| 504 |
.tribe-ea-meetup-button:focus {
|
| 505 |
background: #f41940;
|
| 506 |
}
|
|
|
|
| 507 |
/* = Event Aggregator Status
|
| 508 |
=============================================*/
|
|
|
|
| 509 |
.event-aggregator-status {
|
| 510 |
background-color: #fff;
|
| 511 |
width: 100%;
|
| 513 |
border-spacing: 0;
|
| 514 |
margin-bottom: 16px;
|
| 515 |
}
|
|
|
|
| 516 |
.event-aggregator-status tbody tr:nth-child(even) td {
|
| 517 |
background-color: #f9f9f9;
|
| 518 |
}
|
|
|
|
| 519 |
.event-aggregator-status th {
|
| 520 |
text-align: left;
|
| 521 |
border-bottom: 1px solid #e4e5e6;
|
| 522 |
}
|
|
|
|
| 523 |
.event-aggregator-status th, .event-aggregator-status td {
|
| 524 |
padding: 8px 12px;
|
| 525 |
background-color: #fff;
|
| 526 |
}
|
|
|
|
| 527 |
.event-aggregator-status td.label {
|
| 528 |
width: 220px;
|
| 529 |
/* @todo: responsive breakpoint? */
|
| 530 |
}
|
|
|
|
| 531 |
.event-aggregator-status td.label img {
|
| 532 |
width: 18px;
|
| 533 |
height: 18px;
|
| 534 |
margin-right: 6px;
|
| 535 |
float: left;
|
| 536 |
}
|
|
|
|
| 537 |
.event-aggregator-status td.indicator {
|
| 538 |
width: 20px;
|
| 539 |
}
|
|
|
|
| 540 |
.event-aggregator-status td.indicator.good {
|
| 541 |
color: #38b042;
|
| 542 |
}
|
|
|
|
| 543 |
.event-aggregator-status td.indicator.bad {
|
| 544 |
color: #ed5047;
|
| 545 |
}
|
|
|
|
| 546 |
.event-aggregator-status td.indicator.warning {
|
| 547 |
color: #f3ae46;
|
| 548 |
}
|
|
|
|
| 549 |
@media (max-width: 782px) {
|
|
|
|
| 550 |
.eventForm .tribe-datetime-block .tribe-field-start_date,
|
| 551 |
.eventForm .tribe-datetime-block .tribe-field-end_date {
|
| 552 |
width: 63%;
|
| 553 |
display: inline-block
|
| 554 |
}
|
|
|
|
| 555 |
.eventForm .tribe-datetime-block .tribe-field-start_time,
|
| 556 |
.eventForm .tribe-datetime-block .tribe-field-end_time {
|
| 557 |
width: 35%;
|
| 558 |
display: inline-block
|
| 559 |
}
|
|
|
|
| 560 |
.eventForm .tribe-datetime-block .tribe-datetime-separator {
|
| 561 |
width: 100%;
|
| 562 |
display: block;
|
| 563 |
text-align: center;
|
| 564 |
padding: 5px 0
|
| 565 |
}
|
|
|
|
| 566 |
.eventForm .tribe-datetime-block .tribe-field-timezone.select2-container {
|
| 567 |
display: table;
|
| 568 |
margin: 10px auto 0
|
| 569 |
}
|
|
|
|
| 570 |
.eventForm .tribe-datetime-block .tribe-change-timezone {
|
| 571 |
width: 100%;
|
| 572 |
display: block;
|
| 574 |
padding: 5px 0
|
| 575 |
}
|
| 576 |
}
|
|
|
|
| 577 |
@media( min-width: 1193px ) {
|
|
|
|
| 578 |
.eventForm .tribe-datetime-block .tribe-field-timezone {
|
| 579 |
width: calc(100% - 400px)
|
| 580 |
}
|
| 581 |
+
}
|
| 582 |
+
@media (min-width: 480px) {
|
| 583 |
+
#modern-tribe-info.tribe-upgrade #tribe-upgrade-step1 .tribe-upgrade-absolute-text, #modern-tribe-info.tribe-upgrade #tribe-upgrade-step2 .tribe-upgrade-absolute-text, #modern-tribe-info.tribe-upgrade #tribe-upgrade-complete .tribe-upgrade-absolute-text {
|
| 584 |
+
position: absolute;
|
| 585 |
+
word-wrap: break-word;
|
| 586 |
+
white-space: nowrap;
|
| 587 |
+
bottom: 80px;
|
| 588 |
+
}
|
| 589 |
+
}
|
| 590 |
+
@media (max-width: 480px) {
|
| 591 |
+
#modern-tribe-info.tribe-upgrade #tribe-upgrade-step1 .tribe-upgrade-absolute-text, #modern-tribe-info.tribe-upgrade #tribe-upgrade-step2 .tribe-upgrade-absolute-text, #modern-tribe-info.tribe-upgrade #tribe-upgrade-complete .tribe-upgrade-absolute-text {
|
| 592 |
+
display: block;
|
| 593 |
+
margin: 15px 10px;
|
| 594 |
+
}
|
| 595 |
+
}
|
src/resources/css/events-admin.min.css
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
.events-cal #post-query-submit,.events-cal .tablenav select[name=m]{display:none}.fixed .column-end-date,.fixed .column-events-cats,.fixed .column-start-date{width:14%}#additional-field-table input,#additional-field-table select,#additional-field-table textarea{width:200px}#additional-field-table tbody tr{height:72px}.tribe-restore-link+a{display:none}.eventForm{margin-top:-20px}.eventForm td{font-size:12px;padding:0 6px 10px 0;vertical-align:middle}.eventForm td input.alignleft,.eventForm td select.alignleft{margin-right:.3rem}.eventForm #EventURL{width:70%}.eventForm #event-meta td{vertical-align:top}.eventForm #event-meta td:first-child{line-height:30px}.eventForm #event-meta td div{margin-bottom:10px}.eventForm #event-meta td div:last-child{margin-bottom:20px}.eventForm textarea{width:100%}.eventForm h4{font-size:1.2em;margin:1em 0}.eventForm h4.event-time{margin-top:0}.eventForm .tribe_sectionheader{padding-bottom:5px}.eventForm p{margin:0 0 10px}.eventForm input[type=color],.eventForm input[type=date],.eventForm input[type=datetime-local],.eventForm input[type=datetime],.eventForm input[type=email],.eventForm input[type=month],.eventForm input[type=number],.eventForm input[type=password],.eventForm input[type=search],.eventForm input[type=tel],.eventForm input[type=text],.eventForm input[type=time],.eventForm input[type=url],.eventForm input[type=week]{background-image:none;border:1px solid #ccc;border-radius:3px;line-height:20px;margin-left:0}.eventForm .event-dynamic-helper-text{color:#999;font-style:italic;padding:0}.eventForm .tribe-datetime-block .tribe-allday{margin:10px 0 0}.eventForm .tribe-datetime-block .tribe-field-end_date,.eventForm .tribe-datetime-block .tribe-field-end_time,.eventForm .tribe-datetime-block .tribe-field-start_date,.eventForm .tribe-datetime-block .tribe-field-start_time{height:28px}.eventForm .tribe-datetime-block .tribe-field-end_date,.eventForm .tribe-datetime-block .tribe-field-start_date{width:100px}.eventForm .tribe-datetime-block .tribe-field-end_time,.eventForm .tribe-datetime-block .tribe-field-start_time{width:80px}.eventForm .tribe-datetime-block .tribe-field-timezone{width:100%;max-width:199px;min-width:100px;margin-top:-2px;display:none}.eventForm .tribe-datetime-block .tribe-field-timezone.select2-container{display:inline-block;margin-top:-4px}.eventForm .tribe-datetime-block .tribe-change-timezone{white-space:nowrap}.eventForm .tribe-datetime-label{vertical-align:top;padding-top:5px}.ui-datepicker-calendar .ui-datepicker-today a{background:linear-gradient(354deg,#ccc,#eee);color:#000}.ui-datepicker-calendar .ui-datepicker-today.ui-datepicker-current-day a{background:linear-gradient(354deg,#0a55a0,#1288eb);color:#fff}.ui-datepicker select.ui-datepicker-month{width:8rem}.tribe-community-event-info{width:100%;margin:10px}#EventInfo,.eventtable{width:100%;margin:0;padding-top:0}#event_tickets,.eventtable.ticket_list.eventForm{table-layout:fixed}#ticket_end_date,#ticket_start_date{width:100px}.form-table form input{border:none}#submitLabel{display:block}#submitLabel input{display:block;padding:0}#EventBriteDetailDiv h4,.eventForm .tribe_sectionheader h4,.tribe-community-event-info h4{padding-bottom:6px;text-transform:uppercase;border-bottom:1px solid #e5e5e5}.tribe-events-error{display:none}.tribe-events-multi-event-day{color:#0f81bb}.ui-front{z-index:1000000}.events-cal .ui-widget-overlay.ui-front{z-index:90}.edit-linked-post-link{display:inline-block;margin-left:10px}.linked-post-wrapper tbody+tbody tr.saved_linked-post td,.linked-post-wrapper tbody+tfoot tr td{margin-top:1em;padding-top:1em}.linked-post-wrapper .linked-post td:first-child{padding-left:30px}.move-linked-post-group{padding-right:.5em;cursor:move}.tribe-delete-this{float:right;color:#444}.tribe-delete-this.hover-state,.tribe-delete-this:hover{color:#a00}.tribe-delete-this.tribe-confirm-delete-this,.tribe_community_edit .edit-linked-post-link a{display:none}.tribe-linked-post-error.error{display:inline;margin-left:5px;padding:5px 10px}#tribe-field-toggle_blocks_editor_hidden_field{display:none}#modern-tribe-info.tribe-upgrade{padding:0}#modern-tribe-info.tribe-upgrade .dashicons,#modern-tribe-info.tribe-upgrade a{color:#334aff}#modern-tribe-info.tribe-upgrade h3{font-size:24px}#modern-tribe-info.tribe-upgrade ul{list-style-type:none;margin-left:0}#modern-tribe-info.tribe-upgrade li>h4{margin-bottom:0}#modern-tribe-info.tribe-upgrade li>p{margin-top:0;padding-left:1.5rem}#modern-tribe-info.tribe-upgrade #tribe-upgrade-complete,#modern-tribe-info.tribe-upgrade #tribe-upgrade-step1,#modern-tribe-info.tribe-upgrade #tribe-upgrade-step2{display:flex;flex-direction:row;justify-content:space-between}#modern-tribe-info.tribe-upgrade #tribe-upgrade-complete.hidden,#modern-tribe-info.tribe-upgrade #tribe-upgrade-step1.hidden,#modern-tribe-info.tribe-upgrade #tribe-upgrade-step2.hidden{display:none}#modern-tribe-info.tribe-upgrade #tribe-upgrade-step1 span{color:#334aff}#modern-tribe-info.tribe-upgrade .button,#modern-tribe-info.tribe-upgrade button{background:#334aff;border-radius:.25rem;border:0;box-shadow:0 2px #000;color:#fff;cursor:pointer;font-size:1rem;line-height:1.2;margin:2rem 1.5rem .25rem .25rem;padding:1rem .5rem;text-decoration:none;white-space:nowrap;width:200px}#modern-tribe-info.tribe-upgrade .button{height:3rem;line-height:1rem;text-align:center}#modern-tribe-info.tribe-upgrade .content-container{max-width:600px;padding:2rem}#modern-tribe-info.tribe-upgrade .image-container{text-align:right}#modern-tribe-info.tribe-upgrade .image-container img{border-radius:.5rem;display:inline-block;filter:drop-shadow(0 0 6px #ccc);height:auto;margin:0;vertical-align:top;width:100%}#modern-tribe-info.tribe-upgrade .screenshot{float:left}#modern-tribe-info.tribe-upgrade .step{font-size:.9rem;font-weight:200;padding-top:.5rem;text-align:center;width:200px}#upgrade-button{background:#334aff;border-radius:.25rem;border:0;box-shadow:0 2px #000;color:#fff;cursor:pointer;font-size:.8rem;height:1.6rem;padding-right:.8rem;vertical-align:top;margin:2px 0 0 .75rem}#EventBriteDetailDiv small,.tribe-community-event-info small{font-size:10px;color:#a3a3a3}#eventBriteTicketing,#mainDonateRow{margin:-11px 6px 0;padding:10px 15px;border:1px solid #e2e2e2;border-radius:3px;-webkit-border-top-left-radius:0;-moz-border-radius-topleft:0;-webkit-border-top-right-radius:0;-moz-border-radius-topright:0;-khtml-border-radius:3px;background:url(../images/bg_fade.png) repeat-x 0 0;background-color:#fff}#eventBriteTicketing h2{height:80px;margin:0;background:url(../images/eb_press_little.gif) no-repeat 100% 0}.tribe-community-event-info,table.eventForm{width:100%}#custom-recurrence-weeks label{display:block;float:left;width:45px;margin-bottom:3px}#custom-recurrence-frequency input{width:30px}#custom-recurrence-years label{display:block;float:left;width:50px;margin-bottom:3px}#recurrence-changed-row{display:none;color:red}#rec-days-error,#rec-end-error{color:red}.rec-error{display:none}#recurrence-pattern-description{font-style:italic}.recurrence-pattern-description-row{display:none}.chosen,.chzn-container,.tribe-chosen{margin-right:10px!important}#defaultCountry,#eventsDefaultState,#StateProvinceSelect,.events-dropdown{min-width:220px}.multi-day-cutoff-dropdown{width:100px!important}.inactive-sidebar .widget,.widget-liquid-right .sidebar-description,.widget-liquid-right .widget{overflow:visible!important}.tribe-aggregator-import-details{overflow:hidden}.tribe-aggregator-import-details dt{clear:left;float:left;margin-right:.25rem}.tribe-aggregator-import-details dd{margin-left:0}.tribe-aggregator-import-details .tribe-value{font-weight:700}.tribe-ea-eventbrite-disconnect{color:#a00;display:inline-block;margin-left:1rem}.tribe-ea-eventbrite-disconnect:active,.tribe-ea-eventbrite-disconnect:hover{color:red}.tribe-ea-eventbrite-button{border-radius:3px;color:#fff;display:inline-block;padding:.5rem 1.5rem;text-decoration:none;transition:background-color .5s ease}.tribe-ea-eventbrite-button:active,.tribe-ea-eventbrite-button:hover{color:#fff;cursor:pointer}.tribe-ea-eventbrite-button{background:#f6682f}.tribe-ea-eventbrite-button:active,.tribe-ea-eventbrite-button:focus,.tribe-ea-eventbrite-button:hover{background:#c85b2f}.tribe-ea-meetup-disconnect{color:#a00;display:inline-block;margin-left:1rem}.tribe-ea-meetup-disconnect:active,.tribe-ea-meetup-disconnect:hover{color:red}.tribe-ea-meetup-button{border-radius:3px;color:#fff;display:inline-block;padding:.5rem 1.5rem;text-decoration:none;transition:background-color .5s ease}.tribe-ea-meetup-button:active,.tribe-ea-meetup-button:hover{color:#fff;cursor:pointer}.tribe-ea-meetup-button,.tribe-ea-meetup-button:active,.tribe-ea-meetup-button:focus,.tribe-ea-meetup-button:hover{background:#f41940}.event-aggregator-status{background-color:#fff;width:100%;border:2px solid #e4e5e6;border-spacing:0;margin-bottom:16px}.event-aggregator-status tbody tr:nth-child(2n) td{background-color:#f9f9f9}.event-aggregator-status th{text-align:left;border-bottom:1px solid #e4e5e6}.event-aggregator-status td,.event-aggregator-status th{padding:8px 12px;background-color:#fff}.event-aggregator-status td.label{width:220px}.event-aggregator-status td.label img{width:18px;height:18px;margin-right:6px;float:left}.event-aggregator-status td.indicator{width:20px}.event-aggregator-status td.indicator.good{color:#38b042}.event-aggregator-status td.indicator.bad{color:#ed5047}.event-aggregator-status td.indicator.warning{color:#f3ae46}@media (max-width:782px){.eventForm .tribe-datetime-block .tribe-field-end_date,.eventForm .tribe-datetime-block .tribe-field-start_date{width:63%;display:inline-block}.eventForm .tribe-datetime-block .tribe-field-end_time,.eventForm .tribe-datetime-block .tribe-field-start_time{width:35%;display:inline-block}.eventForm .tribe-datetime-block .tribe-datetime-separator{width:100%;display:block;text-align:center;padding:5px 0}.eventForm .tribe-datetime-block .tribe-field-timezone.select2-container{display:table;margin:10px auto 0}.eventForm .tribe-datetime-block .tribe-change-timezone{width:100%;display:block;text-align:center;padding:5px 0}}@media(min-width:1193px){.eventForm .tribe-datetime-block .tribe-field-timezone{width:calc(100% - 400px)}}
|
| 1 |
+
.events-cal #post-query-submit,.events-cal .tablenav select[name=m]{display:none}.fixed .column-end-date,.fixed .column-events-cats,.fixed .column-start-date{width:14%}#additional-field-table input,#additional-field-table select,#additional-field-table textarea{width:200px}#additional-field-table tbody tr{height:72px}.tribe-restore-link+a{display:none}.eventForm{margin-top:-20px}.eventForm td{font-size:12px;padding:0 6px 10px 0;vertical-align:middle}.eventForm td input.alignleft,.eventForm td select.alignleft{margin-right:.3rem}.eventForm #EventURL{width:70%}.eventForm #event-meta td{vertical-align:top}.eventForm #event-meta td:first-child{line-height:30px}.eventForm #event-meta td div{margin-bottom:10px}.eventForm #event-meta td div:last-child{margin-bottom:20px}.eventForm textarea{width:100%}.eventForm h4{font-size:1.2em;margin:1em 0}.eventForm h4.event-time{margin-top:0}.eventForm .tribe_sectionheader{padding-bottom:5px}.eventForm p{margin:0 0 10px}.eventForm input[type=color],.eventForm input[type=date],.eventForm input[type=datetime-local],.eventForm input[type=datetime],.eventForm input[type=email],.eventForm input[type=month],.eventForm input[type=number],.eventForm input[type=password],.eventForm input[type=search],.eventForm input[type=tel],.eventForm input[type=text],.eventForm input[type=time],.eventForm input[type=url],.eventForm input[type=week]{background-image:none;border:1px solid #ccc;border-radius:3px;line-height:20px;margin-left:0}.eventForm .event-dynamic-helper-text{color:#999;font-style:italic;padding:0}.eventForm .tribe-datetime-block .tribe-allday{margin:10px 0 0}.eventForm .tribe-datetime-block .tribe-field-end_date,.eventForm .tribe-datetime-block .tribe-field-end_time,.eventForm .tribe-datetime-block .tribe-field-start_date,.eventForm .tribe-datetime-block .tribe-field-start_time{height:28px}.eventForm .tribe-datetime-block .tribe-field-end_date,.eventForm .tribe-datetime-block .tribe-field-start_date{width:100px}.eventForm .tribe-datetime-block .tribe-field-end_time,.eventForm .tribe-datetime-block .tribe-field-start_time{width:80px}.eventForm .tribe-datetime-block .tribe-field-timezone{width:100%;max-width:199px;min-width:100px;margin-top:-2px;display:none}.eventForm .tribe-datetime-block .tribe-field-timezone.select2-container{display:inline-block;margin-top:-4px}.eventForm .tribe-datetime-block .tribe-change-timezone{white-space:nowrap}.eventForm .tribe-datetime-label{vertical-align:top;padding-top:5px}.ui-datepicker-calendar .ui-datepicker-today a{background:linear-gradient(354deg,#ccc,#eee);color:#000}.ui-datepicker-calendar .ui-datepicker-today.ui-datepicker-current-day a{background:linear-gradient(354deg,#0a55a0,#1288eb);color:#fff}.ui-datepicker select.ui-datepicker-month{width:8rem}.tribe-community-event-info{width:100%;margin:10px}#EventInfo,.eventtable{width:100%;margin:0;padding-top:0}#event_tickets,.eventtable.ticket_list.eventForm{table-layout:fixed}#ticket_end_date,#ticket_start_date{width:100px}.form-table form input{border:none}#submitLabel{display:block}#submitLabel input{display:block;padding:0}#EventBriteDetailDiv h4,.eventForm .tribe_sectionheader h4,.tribe-community-event-info h4{padding-bottom:6px;text-transform:uppercase;border-bottom:1px solid #e5e5e5}.tribe-events-error{display:none}.tribe-events-multi-event-day{color:#0f81bb}.ui-front{z-index:1000000}.events-cal .ui-widget-overlay.ui-front{z-index:90}.edit-linked-post-link{display:inline-block;margin-left:10px}.linked-post-wrapper tbody+tbody tr.saved_linked-post td,.linked-post-wrapper tbody+tfoot tr td{margin-top:1em;padding-top:1em}.linked-post-wrapper .linked-post td:first-child{padding-left:30px}.move-linked-post-group{padding-right:.5em;cursor:move}.tribe-delete-this{float:right;color:#444}.tribe-delete-this.hover-state,.tribe-delete-this:hover{color:#a00}.tribe-delete-this.tribe-confirm-delete-this,.tribe_community_edit .edit-linked-post-link a{display:none}.tribe-linked-post-error.error{display:inline;margin-left:5px;padding:5px 10px}#tribe-field-toggle_blocks_editor_hidden_field{display:none}#modern-tribe-info.tribe-upgrade{padding:0;position:relative}#modern-tribe-info.tribe-upgrade .dashicons,#modern-tribe-info.tribe-upgrade a{color:#334aff}#modern-tribe-info.tribe-upgrade h3{font-size:24px;line-height:1.4em}#modern-tribe-info.tribe-upgrade ul{list-style-type:none;margin-left:0}#modern-tribe-info.tribe-upgrade li>h4{margin-bottom:0}#modern-tribe-info.tribe-upgrade li>p{margin-top:0;padding-left:1.5rem}#modern-tribe-info.tribe-upgrade #tribe-upgrade-complete,#modern-tribe-info.tribe-upgrade #tribe-upgrade-step1,#modern-tribe-info.tribe-upgrade #tribe-upgrade-step2{display:flex;flex-direction:row;justify-content:space-between}#modern-tribe-info.tribe-upgrade #tribe-upgrade-complete.hidden,#modern-tribe-info.tribe-upgrade #tribe-upgrade-step1.hidden,#modern-tribe-info.tribe-upgrade #tribe-upgrade-step2.hidden{display:none}#modern-tribe-info.tribe-upgrade #tribe-upgrade-step1 span{color:#334aff}#modern-tribe-info.tribe-upgrade .button,#modern-tribe-info.tribe-upgrade button{background:#334aff;border-radius:.25rem;border:0;box-shadow:0 2px #000;color:#fff;cursor:pointer;font-size:1rem;line-height:1.2;margin:2rem 1.5rem .25rem .25rem;padding:1rem .5rem;text-decoration:none;white-space:nowrap;width:200px}#modern-tribe-info.tribe-upgrade .button{height:3rem;line-height:1rem;text-align:center}#modern-tribe-info.tribe-upgrade .content-container{max-width:600px;padding:2rem}#modern-tribe-info.tribe-upgrade .image-container{text-align:right}#modern-tribe-info.tribe-upgrade .image-container img{border-radius:.5rem;display:inline-block;filter:drop-shadow(0 0 6px #ccc);height:auto;margin:0;vertical-align:top;width:100%}#modern-tribe-info.tribe-upgrade .screenshot{float:left}#modern-tribe-info.tribe-upgrade .step{font-size:.9rem;font-weight:200;padding-top:.5rem;text-align:center;width:200px}#upgrade-button{background:#334aff;border-radius:.25rem;border:0;box-shadow:0 2px #000;color:#fff;cursor:pointer;font-size:.8rem;height:1.6rem;padding-right:.8rem;vertical-align:top;margin:2px 0 0 .75rem}#EventBriteDetailDiv small,.tribe-community-event-info small{font-size:10px;color:#a3a3a3}#eventBriteTicketing,#mainDonateRow{margin:-11px 6px 0;padding:10px 15px;border:1px solid #e2e2e2;border-radius:3px;-webkit-border-top-left-radius:0;-moz-border-radius-topleft:0;-webkit-border-top-right-radius:0;-moz-border-radius-topright:0;-khtml-border-radius:3px;background:url(../images/bg_fade.png) repeat-x 0 0;background-color:#fff}#eventBriteTicketing h2{height:80px;margin:0;background:url(../images/eb_press_little.gif) no-repeat 100% 0}.tribe-community-event-info,table.eventForm{width:100%}#custom-recurrence-weeks label{display:block;float:left;width:45px;margin-bottom:3px}#custom-recurrence-frequency input{width:30px}#custom-recurrence-years label{display:block;float:left;width:50px;margin-bottom:3px}#recurrence-changed-row{display:none;color:red}#rec-days-error,#rec-end-error{color:red}.rec-error{display:none}#recurrence-pattern-description{font-style:italic}.recurrence-pattern-description-row{display:none}.chosen,.chzn-container,.tribe-chosen{margin-right:10px!important}#defaultCountry,#eventsDefaultState,#StateProvinceSelect,.events-dropdown{min-width:220px}.multi-day-cutoff-dropdown{width:100px!important}.inactive-sidebar .widget,.widget-liquid-right .sidebar-description,.widget-liquid-right .widget{overflow:visible!important}.tribe-aggregator-import-details{overflow:hidden}.tribe-aggregator-import-details dt{clear:left;float:left;margin-right:.25rem}.tribe-aggregator-import-details dd{margin-left:0}.tribe-aggregator-import-details .tribe-value{font-weight:700}.tribe-ea-eventbrite-disconnect{color:#a00;display:inline-block;margin-left:1rem}.tribe-ea-eventbrite-disconnect:active,.tribe-ea-eventbrite-disconnect:hover{color:red}.tribe-ea-eventbrite-button{border-radius:3px;color:#fff;display:inline-block;padding:.5rem 1.5rem;text-decoration:none;transition:background-color .5s ease}.tribe-ea-eventbrite-button:active,.tribe-ea-eventbrite-button:hover{color:#fff;cursor:pointer}.tribe-ea-eventbrite-button{background:#f6682f}.tribe-ea-eventbrite-button:active,.tribe-ea-eventbrite-button:focus,.tribe-ea-eventbrite-button:hover{background:#c85b2f}.tribe-ea-meetup-disconnect{color:#a00;display:inline-block;margin-left:1rem}.tribe-ea-meetup-disconnect:active,.tribe-ea-meetup-disconnect:hover{color:red}.tribe-ea-meetup-button{border-radius:3px;color:#fff;display:inline-block;padding:.5rem 1.5rem;text-decoration:none;transition:background-color .5s ease}.tribe-ea-meetup-button:active,.tribe-ea-meetup-button:hover{color:#fff;cursor:pointer}.tribe-ea-meetup-button,.tribe-ea-meetup-button:active,.tribe-ea-meetup-button:focus,.tribe-ea-meetup-button:hover{background:#f41940}.event-aggregator-status{background-color:#fff;width:100%;border:2px solid #e4e5e6;border-spacing:0;margin-bottom:16px}.event-aggregator-status tbody tr:nth-child(2n) td{background-color:#f9f9f9}.event-aggregator-status th{text-align:left;border-bottom:1px solid #e4e5e6}.event-aggregator-status td,.event-aggregator-status th{padding:8px 12px;background-color:#fff}.event-aggregator-status td.label{width:220px}.event-aggregator-status td.label img{width:18px;height:18px;margin-right:6px;float:left}.event-aggregator-status td.indicator{width:20px}.event-aggregator-status td.indicator.good{color:#38b042}.event-aggregator-status td.indicator.bad{color:#ed5047}.event-aggregator-status td.indicator.warning{color:#f3ae46}@media (max-width:782px){.eventForm .tribe-datetime-block .tribe-field-end_date,.eventForm .tribe-datetime-block .tribe-field-start_date{width:63%;display:inline-block}.eventForm .tribe-datetime-block .tribe-field-end_time,.eventForm .tribe-datetime-block .tribe-field-start_time{width:35%;display:inline-block}.eventForm .tribe-datetime-block .tribe-datetime-separator{width:100%;display:block;text-align:center;padding:5px 0}.eventForm .tribe-datetime-block .tribe-field-timezone.select2-container{display:table;margin:10px auto 0}.eventForm .tribe-datetime-block .tribe-change-timezone{width:100%;display:block;text-align:center;padding:5px 0}}@media(min-width:1193px){.eventForm .tribe-datetime-block .tribe-field-timezone{width:calc(100% - 400px)}}@media (min-width:480px){#modern-tribe-info.tribe-upgrade #tribe-upgrade-complete .tribe-upgrade-absolute-text,#modern-tribe-info.tribe-upgrade #tribe-upgrade-step1 .tribe-upgrade-absolute-text,#modern-tribe-info.tribe-upgrade #tribe-upgrade-step2 .tribe-upgrade-absolute-text{position:absolute;word-wrap:break-word;white-space:nowrap;bottom:80px}}@media (max-width:480px){#modern-tribe-info.tribe-upgrade #tribe-upgrade-complete .tribe-upgrade-absolute-text,#modern-tribe-info.tribe-upgrade #tribe-upgrade-step1 .tribe-upgrade-absolute-text,#modern-tribe-info.tribe-upgrade #tribe-upgrade-step2 .tribe-upgrade-absolute-text{display:block;margin:15px 10px}}
|
src/resources/css/views-full.css
CHANGED
|
@@ -413,6 +413,11 @@
|
|
| 413 |
line-height: 1.42;
|
| 414 |
}
|
| 415 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 416 |
.tribe-events .tribe-events-c-breadcrumbs__list-item-link {
|
| 417 |
color: #727272;
|
| 418 |
-webkit-transition: color 0.2s ease;
|
|
@@ -579,6 +584,10 @@
|
|
| 579 |
margin-top: 8px;
|
| 580 |
}
|
| 581 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 582 |
/* -----------------------------------------------------------------------------
|
| 583 |
* Theme Overrides - Enfold
|
| 584 |
* ----------------------------------------------------------------------------- */
|
|
@@ -793,6 +802,14 @@
|
|
| 793 |
background-color: #FFFFFF;
|
| 794 |
}
|
| 795 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 796 |
.tribe-events .tribe-events-c-events-bar__search-button:hover .tribe-events-c-events-bar__search-button-icon, .tribe-events .tribe-events-c-events-bar__search-button:focus .tribe-events-c-events-bar__search-button-icon {
|
| 797 |
opacity: 0.8;
|
| 798 |
}
|
|
@@ -901,6 +918,10 @@
|
|
| 901 |
margin-right: 12px;
|
| 902 |
}
|
| 903 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 904 |
/* Navigation */
|
| 905 |
|
| 906 |
/* -----------------------------------------------------------------------------
|
|
@@ -936,16 +957,27 @@
|
|
| 936 |
white-space: pre;
|
| 937 |
}
|
| 938 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 939 |
.tribe-events .tribe-events-c-nav__prev:hover,
|
| 940 |
.tribe-events .tribe-events-c-nav__prev:focus,
|
| 941 |
.tribe-events .tribe-events-c-nav__next:hover,
|
| 942 |
-
.tribe-events .tribe-events-c-nav__next:focus
|
| 943 |
-
.tribe-events .tribe-events-c-nav__today:hover,
|
| 944 |
-
.tribe-events .tribe-events-c-nav__today:focus {
|
| 945 |
color: rgba(20,24,39, 0.8);
|
| 946 |
}
|
| 947 |
|
| 948 |
-
.tribe-events .tribe-events-c-nav__prev:active, .tribe-events .tribe-events-c-nav__next:active
|
| 949 |
color: #141827;
|
| 950 |
}
|
| 951 |
|
|
@@ -964,6 +996,13 @@
|
|
| 964 |
width: 7px;
|
| 965 |
}
|
| 966 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 967 |
.tribe-events .tribe-events-c-nav__prev:hover:before, .tribe-events .tribe-events-c-nav__prev:focus:before {
|
| 968 |
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23141827'/%3E%3C/svg%3E");
|
| 969 |
opacity: 0.8;
|
|
@@ -987,6 +1026,13 @@
|
|
| 987 |
width: 7px;
|
| 988 |
}
|
| 989 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 990 |
.tribe-events .tribe-events-c-nav__next:hover:after, .tribe-events .tribe-events-c-nav__next:focus:after {
|
| 991 |
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23141827'/%3E%3C/svg%3E");
|
| 992 |
opacity: 0.8;
|
|
@@ -1082,11 +1128,23 @@
|
|
| 1082 |
*
|
| 1083 |
* ----------------------------------------------------------------------------- */
|
| 1084 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1085 |
.tribe-events .tribe-events-c-search__input--icon {
|
| 1086 |
background-repeat: no-repeat;
|
| 1087 |
background-position: right center;
|
| 1088 |
}
|
| 1089 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1090 |
.tribe-events .tribe-events-c-search__input-control--keyword .tribe-events-c-search__input {
|
| 1091 |
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23727272'/%3E%3C/svg%3E");
|
| 1092 |
background-size: 16px;
|
|
@@ -1122,6 +1180,10 @@
|
|
| 1122 |
background-position: right center;
|
| 1123 |
}
|
| 1124 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1125 |
#top.tribe-theme-enfold .tribe-events .tribe-events-c-search__input-control--keyword .tribe-events-c-search__input {
|
| 1126 |
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23727272'/%3E%3C/svg%3E");
|
| 1127 |
background-size: 16px;
|
|
@@ -1220,6 +1282,11 @@
|
|
| 1220 |
width: 10px;
|
| 1221 |
}
|
| 1222 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1223 |
.tribe-events .tribe-events-c-top-bar__datepicker-button--open:after {
|
| 1224 |
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.21 7.15L6 2.36l4.79 4.79L11.94 6 6 .06.06 6z' fill='%23141827' fill-rule='nonzero'/%3E%3C/svg%3E");
|
| 1225 |
}
|
|
@@ -1276,6 +1343,60 @@
|
|
| 1276 |
*
|
| 1277 |
* ----------------------------------------------------------------------------- */
|
| 1278 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1279 |
.tribe-events .tribe-events-c-view-selector__button {
|
| 1280 |
text-align: left;
|
| 1281 |
}
|
|
@@ -1301,6 +1422,12 @@
|
|
| 1301 |
width: calc(100% - 8px);
|
| 1302 |
}
|
| 1303 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1304 |
.tribe-events .tribe-events-c-view-selector__button--active:before {
|
| 1305 |
display: block;
|
| 1306 |
}
|
|
@@ -1383,6 +1510,11 @@
|
|
| 1383 |
width: 3px;
|
| 1384 |
}
|
| 1385 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1386 |
.tribe-events .tribe-events-calendar-list__event-venue {
|
| 1387 |
font-style: normal;
|
| 1388 |
}
|
|
@@ -1412,6 +1544,11 @@
|
|
| 1412 |
opacity: 0.9;
|
| 1413 |
}
|
| 1414 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1415 |
.tribe-events .tribe-events-calendar-list__event-datetime-recurring-link:hover .tribe-events-calendar-list__event-datetime-recurring-icon, .tribe-events .tribe-events-calendar-list__event-datetime-recurring-link:focus .tribe-events-calendar-list__event-datetime-recurring-icon {
|
| 1416 |
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.333 3.826c0 .065 0 .13-.02.174 0 .022-.02.065-.02.087a.9.9 0 0 1-.197.37L10.45 7.37a.797.797 0 0 1-.592.26.797.797 0 0 1-.593-.26c-.316-.348-.316-.935 0-1.305l1.225-1.348H6.3C3.753 4.717 1.66 7 1.66 9.827c0 1.369.474 2.651 1.363 3.608.316.348.316.935 0 1.304A.797.797 0 0 1 2.43 15a.797.797 0 0 1-.593-.26C.652 13.434 0 11.695 0 9.847c0-3.826 2.825-6.935 6.301-6.935h4.208L9.284 1.565c-.316-.348-.316-.935 0-1.304.316-.348.85-.348 1.185 0l2.647 2.913c.099.109.158.239.198.37 0 .021.02.065.02.086v.196zM20 10.152c0 3.826-2.825 6.935-6.301 6.935H9.49l1.225 1.348c.336.348.336.935 0 1.304a.797.797 0 0 1-.593.261.83.83 0 0 1-.592-.26l-2.627-2.936a.948.948 0 0 1-.198-.37c0-.021-.02-.064-.02-.086-.02-.065-.02-.109-.02-.174 0-.065 0-.13.02-.174 0-.022.02-.065.02-.087a.9.9 0 0 1 .198-.37L9.55 12.63c.316-.347.849-.347 1.185 0 .336.348.336.935 0 1.305L9.51 15.283h4.208c2.548 0 4.641-2.283 4.641-5.11 0-1.369-.474-2.651-1.362-3.608a.97.97 0 0 1 0-1.304c.316-.348.849-.348 1.185 0C19.348 6.543 20 8.283 20 10.152z' fill='%23334AFF'/%3E%3C/svg%3E");
|
| 1417 |
}
|
|
@@ -1555,6 +1692,10 @@
|
|
| 1555 |
text-align: center;
|
| 1556 |
}
|
| 1557 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1558 |
.tribe-events {
|
| 1559 |
|
| 1560 |
/* -----------------------------------------------------------------------------
|
|
@@ -1570,6 +1711,27 @@
|
|
| 1570 |
border-radius: 4px;
|
| 1571 |
}
|
| 1572 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1573 |
.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date,
|
| 1574 |
.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link {
|
| 1575 |
color: #334AFF;
|
|
@@ -1823,6 +1985,11 @@
|
|
| 1823 |
width: 3px;
|
| 1824 |
}
|
| 1825 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1826 |
.tribe-events .tribe-events-calendar-day__event-venue {
|
| 1827 |
font-style: normal;
|
| 1828 |
}
|
|
@@ -1841,6 +2008,11 @@
|
|
| 1841 |
opacity: 0.9;
|
| 1842 |
}
|
| 1843 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1844 |
.tribe-events .tribe-events-calendar-day__event-datetime-recurring-link:hover .tribe-events-calendar-day__event-datetime-recurring-icon, .tribe-events .tribe-events-calendar-day__event-datetime-recurring-link:focus .tribe-events-calendar-day__event-datetime-recurring-icon {
|
| 1845 |
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.333 3.826c0 .065 0 .13-.02.174 0 .022-.02.065-.02.087a.9.9 0 0 1-.197.37L10.45 7.37a.797.797 0 0 1-.592.26.797.797 0 0 1-.593-.26c-.316-.348-.316-.935 0-1.305l1.225-1.348H6.3C3.753 4.717 1.66 7 1.66 9.827c0 1.369.474 2.651 1.363 3.608.316.348.316.935 0 1.304A.797.797 0 0 1 2.43 15a.797.797 0 0 1-.593-.26C.652 13.434 0 11.695 0 9.847c0-3.826 2.825-6.935 6.301-6.935h4.208L9.284 1.565c-.316-.348-.316-.935 0-1.304.316-.348.85-.348 1.185 0l2.647 2.913c.099.109.158.239.198.37 0 .021.02.065.02.086v.196zM20 10.152c0 3.826-2.825 6.935-6.301 6.935H9.49l1.225 1.348c.336.348.336.935 0 1.304a.797.797 0 0 1-.593.261.83.83 0 0 1-.592-.26l-2.627-2.936a.948.948 0 0 1-.198-.37c0-.021-.02-.064-.02-.086-.02-.065-.02-.109-.02-.174 0-.065 0-.13.02-.174 0-.022.02-.065.02-.087a.9.9 0 0 1 .198-.37L9.55 12.63c.316-.347.849-.347 1.185 0 .336.348.336.935 0 1.305L9.51 15.283h4.208c2.548 0 4.641-2.283 4.641-5.11 0-1.369-.474-2.651-1.362-3.608a.97.97 0 0 1 0-1.304c.316-.348.849-.348 1.185 0C19.348 6.543 20 8.283 20 10.152z' fill='%23334AFF'/%3E%3C/svg%3E");
|
| 1846 |
}
|
|
@@ -1880,172 +2052,3 @@
|
|
| 1880 |
height: 1px;
|
| 1881 |
margin-left: 20px;
|
| 1882 |
}
|
| 1883 |
-
|
| 1884 |
-
@media (min-width: 768px) {
|
| 1885 |
-
|
| 1886 |
-
.tribe-events .tribe-events-c-breadcrumbs__list {
|
| 1887 |
-
font-size: 42px;
|
| 1888 |
-
line-height: 1.38
|
| 1889 |
-
}
|
| 1890 |
-
|
| 1891 |
-
.admin-bar .tribe-events .datepicker {
|
| 1892 |
-
margin-top: 16px
|
| 1893 |
-
}
|
| 1894 |
-
|
| 1895 |
-
.tribe-events .tribe-events-c-events-bar--border {
|
| 1896 |
-
border: 1px solid #E4E4E4
|
| 1897 |
-
}
|
| 1898 |
-
|
| 1899 |
-
.tribe-events .tribe-events-c-events-bar__filters {
|
| 1900 |
-
border-right: 1px solid #E4E4E4
|
| 1901 |
-
}
|
| 1902 |
-
|
| 1903 |
-
.tribe-events .tribe-events-c-messages__message-list {
|
| 1904 |
-
text-align: center
|
| 1905 |
-
}
|
| 1906 |
-
|
| 1907 |
-
.tribe-events .tribe-events-c-nav__prev,
|
| 1908 |
-
.tribe-events .tribe-events-c-nav__next {
|
| 1909 |
-
color: #727272
|
| 1910 |
-
}
|
| 1911 |
-
|
| 1912 |
-
.tribe-events .tribe-events-c-nav__prev:before {
|
| 1913 |
-
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23727272'/%3E%3C/svg%3E");
|
| 1914 |
-
height: 14px;
|
| 1915 |
-
margin-right: 15px;
|
| 1916 |
-
width: 9px
|
| 1917 |
-
}
|
| 1918 |
-
|
| 1919 |
-
.tribe-events .tribe-events-c-nav__next:after {
|
| 1920 |
-
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23727272'/%3E%3C/svg%3E");
|
| 1921 |
-
height: 14px;
|
| 1922 |
-
margin-left: 15px;
|
| 1923 |
-
width: 9px
|
| 1924 |
-
}
|
| 1925 |
-
|
| 1926 |
-
.tribe-events .tribe-events-c-search__input-control {
|
| 1927 |
-
border-right: 1px solid #E4E4E4
|
| 1928 |
-
}
|
| 1929 |
-
|
| 1930 |
-
.tribe-events .tribe-events-c-search__input-control:last-child {
|
| 1931 |
-
border-right: 0
|
| 1932 |
-
}
|
| 1933 |
-
|
| 1934 |
-
.tribe-events .tribe-events-c-search__input--icon {
|
| 1935 |
-
background-position: 16px center
|
| 1936 |
-
}
|
| 1937 |
-
|
| 1938 |
-
#top.tribe-theme-enfold .tribe-events .tribe-events-c-search__input--icon {
|
| 1939 |
-
background-position: 16px center
|
| 1940 |
-
}
|
| 1941 |
-
|
| 1942 |
-
.tribe-events .tribe-events-c-top-bar__datepicker-button:after {
|
| 1943 |
-
height: 7px;
|
| 1944 |
-
width: 12px
|
| 1945 |
-
}
|
| 1946 |
-
|
| 1947 |
-
.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button:before {
|
| 1948 |
-
content: none
|
| 1949 |
-
}
|
| 1950 |
-
|
| 1951 |
-
.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button:after {
|
| 1952 |
-
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.21.85L6 5.64 10.79.85 11.94 2 6 7.94.06 2z' fill='%23141827' fill-rule='nonzero'/%3E%3C/svg%3E");
|
| 1953 |
-
background-repeat: no-repeat;
|
| 1954 |
-
background-size: contain;
|
| 1955 |
-
content: '';
|
| 1956 |
-
display: block;
|
| 1957 |
-
-webkit-box-flex: 0;
|
| 1958 |
-
flex: none;
|
| 1959 |
-
height: 6px;
|
| 1960 |
-
margin-left: 8px;
|
| 1961 |
-
width: 10px
|
| 1962 |
-
}
|
| 1963 |
-
|
| 1964 |
-
.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button--active:after {
|
| 1965 |
-
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.21 7.15L6 2.36l4.79 4.79L11.94 6 6 .06.06 6z' fill='%23141827' fill-rule='nonzero'/%3E%3C/svg%3E")
|
| 1966 |
-
}
|
| 1967 |
-
|
| 1968 |
-
.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button-text {
|
| 1969 |
-
color: #141827;
|
| 1970 |
-
font-family: "Helvetica Neue", Helvetica, -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif;
|
| 1971 |
-
font-size: 14px;
|
| 1972 |
-
line-height: 1.62;
|
| 1973 |
-
font-weight: 400;
|
| 1974 |
-
font-weight: 700
|
| 1975 |
-
}
|
| 1976 |
-
|
| 1977 |
-
.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__content {
|
| 1978 |
-
box-shadow: 0 2px 5px 0 rgba(0,0,0, 0.14)
|
| 1979 |
-
}
|
| 1980 |
-
|
| 1981 |
-
.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__content {
|
| 1982 |
-
border: 0;
|
| 1983 |
-
border-radius: 0;
|
| 1984 |
-
box-shadow: none
|
| 1985 |
-
}
|
| 1986 |
-
|
| 1987 |
-
.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link {
|
| 1988 |
-
background-color: transparent
|
| 1989 |
-
}
|
| 1990 |
-
|
| 1991 |
-
.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link:after {
|
| 1992 |
-
background-color: #141827;
|
| 1993 |
-
bottom: -1px;
|
| 1994 |
-
content: '';
|
| 1995 |
-
display: block;
|
| 1996 |
-
height: 2px;
|
| 1997 |
-
position: absolute;
|
| 1998 |
-
width: 100%
|
| 1999 |
-
}
|
| 2000 |
-
|
| 2001 |
-
.tribe-events .tribe-events-c-view-selector__button:before {
|
| 2002 |
-
width: calc(100% - 16px);
|
| 2003 |
-
-webkit-transform: none;
|
| 2004 |
-
transform: none
|
| 2005 |
-
}
|
| 2006 |
-
|
| 2007 |
-
.tribe-events .tribe-events-calendar-list__event-row--featured .tribe-events-calendar-list__event-date-tag-datetime:after {
|
| 2008 |
-
right: -1px;
|
| 2009 |
-
width: 4px
|
| 2010 |
-
}
|
| 2011 |
-
|
| 2012 |
-
.tribe-events .tribe-events-calendar-list__event-datetime-featured-text {
|
| 2013 |
-
color: #334AFF;
|
| 2014 |
-
font-weight: 700
|
| 2015 |
-
}
|
| 2016 |
-
|
| 2017 |
-
.tribe-events .tribe-events-calendar-month__header-column-title {
|
| 2018 |
-
text-align: left
|
| 2019 |
-
}
|
| 2020 |
-
|
| 2021 |
-
.tribe-events .tribe-events-calendar-month__day {
|
| 2022 |
-
border-radius: 0
|
| 2023 |
-
}
|
| 2024 |
-
|
| 2025 |
-
.tribe-events .tribe-events-calendar-month__day:after {
|
| 2026 |
-
background-color: transparent;
|
| 2027 |
-
bottom: 0;
|
| 2028 |
-
content: '';
|
| 2029 |
-
display: block;
|
| 2030 |
-
height: 2px;
|
| 2031 |
-
left: -1px;
|
| 2032 |
-
position: absolute;
|
| 2033 |
-
-webkit-transition: background-color 0.2s ease;
|
| 2034 |
-
transition: background-color 0.2s ease;
|
| 2035 |
-
width: calc(100% + 2px)
|
| 2036 |
-
}
|
| 2037 |
-
|
| 2038 |
-
.tribe-events .tribe-events-calendar-month__day:hover:after {
|
| 2039 |
-
background-color: #141827
|
| 2040 |
-
}
|
| 2041 |
-
|
| 2042 |
-
.tribe-events .tribe-events-calendar-day__event--featured:after {
|
| 2043 |
-
left: calc(11.111% - 24px);
|
| 2044 |
-
width: 4px
|
| 2045 |
-
}
|
| 2046 |
-
|
| 2047 |
-
.tribe-events .tribe-events-calendar-day__event-datetime-featured-text {
|
| 2048 |
-
color: #334AFF;
|
| 2049 |
-
font-weight: 700
|
| 2050 |
-
}
|
| 2051 |
-
}
|
| 413 |
line-height: 1.42;
|
| 414 |
}
|
| 415 |
|
| 416 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-breadcrumbs__list {
|
| 417 |
+
font-size: 42px;
|
| 418 |
+
line-height: 1.38;
|
| 419 |
+
}
|
| 420 |
+
|
| 421 |
.tribe-events .tribe-events-c-breadcrumbs__list-item-link {
|
| 422 |
color: #727272;
|
| 423 |
-webkit-transition: color 0.2s ease;
|
| 584 |
margin-top: 8px;
|
| 585 |
}
|
| 586 |
|
| 587 |
+
.admin-bar .tribe-events.tribe-common--breakpoint-medium .datepicker {
|
| 588 |
+
margin-top: 16px;
|
| 589 |
+
}
|
| 590 |
+
|
| 591 |
/* -----------------------------------------------------------------------------
|
| 592 |
* Theme Overrides - Enfold
|
| 593 |
* ----------------------------------------------------------------------------- */
|
| 802 |
background-color: #FFFFFF;
|
| 803 |
}
|
| 804 |
|
| 805 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar--border {
|
| 806 |
+
border: 1px solid #E4E4E4;
|
| 807 |
+
}
|
| 808 |
+
|
| 809 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__filters {
|
| 810 |
+
border-right: 1px solid #E4E4E4;
|
| 811 |
+
}
|
| 812 |
+
|
| 813 |
.tribe-events .tribe-events-c-events-bar__search-button:hover .tribe-events-c-events-bar__search-button-icon, .tribe-events .tribe-events-c-events-bar__search-button:focus .tribe-events-c-events-bar__search-button-icon {
|
| 814 |
opacity: 0.8;
|
| 815 |
}
|
| 918 |
margin-right: 12px;
|
| 919 |
}
|
| 920 |
|
| 921 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-messages__message-list {
|
| 922 |
+
text-align: center;
|
| 923 |
+
}
|
| 924 |
+
|
| 925 |
/* Navigation */
|
| 926 |
|
| 927 |
/* -----------------------------------------------------------------------------
|
| 957 |
white-space: pre;
|
| 958 |
}
|
| 959 |
|
| 960 |
+
.tribe-events .tribe-events-c-nav__today:hover,
|
| 961 |
+
.tribe-events .tribe-events-c-nav__today:focus {
|
| 962 |
+
color: rgba(20,24,39, 0.8);
|
| 963 |
+
}
|
| 964 |
+
|
| 965 |
+
.tribe-events .tribe-events-c-nav__today:active {
|
| 966 |
+
color: #141827;
|
| 967 |
+
}
|
| 968 |
+
|
| 969 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__prev, .tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__next {
|
| 970 |
+
color: #727272;
|
| 971 |
+
}
|
| 972 |
+
|
| 973 |
.tribe-events .tribe-events-c-nav__prev:hover,
|
| 974 |
.tribe-events .tribe-events-c-nav__prev:focus,
|
| 975 |
.tribe-events .tribe-events-c-nav__next:hover,
|
| 976 |
+
.tribe-events .tribe-events-c-nav__next:focus {
|
|
|
|
|
|
|
| 977 |
color: rgba(20,24,39, 0.8);
|
| 978 |
}
|
| 979 |
|
| 980 |
+
.tribe-events .tribe-events-c-nav__prev:active, .tribe-events .tribe-events-c-nav__next:active {
|
| 981 |
color: #141827;
|
| 982 |
}
|
| 983 |
|
| 996 |
width: 7px;
|
| 997 |
}
|
| 998 |
|
| 999 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__prev:before {
|
| 1000 |
+
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23727272'/%3E%3C/svg%3E");
|
| 1001 |
+
height: 14px;
|
| 1002 |
+
margin-right: 15px;
|
| 1003 |
+
width: 9px;
|
| 1004 |
+
}
|
| 1005 |
+
|
| 1006 |
.tribe-events .tribe-events-c-nav__prev:hover:before, .tribe-events .tribe-events-c-nav__prev:focus:before {
|
| 1007 |
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23141827'/%3E%3C/svg%3E");
|
| 1008 |
opacity: 0.8;
|
| 1026 |
width: 7px;
|
| 1027 |
}
|
| 1028 |
|
| 1029 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__next:after {
|
| 1030 |
+
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23727272'/%3E%3C/svg%3E");
|
| 1031 |
+
height: 14px;
|
| 1032 |
+
margin-left: 15px;
|
| 1033 |
+
width: 9px;
|
| 1034 |
+
}
|
| 1035 |
+
|
| 1036 |
.tribe-events .tribe-events-c-nav__next:hover:after, .tribe-events .tribe-events-c-nav__next:focus:after {
|
| 1037 |
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23141827'/%3E%3C/svg%3E");
|
| 1038 |
opacity: 0.8;
|
| 1128 |
*
|
| 1129 |
* ----------------------------------------------------------------------------- */
|
| 1130 |
|
| 1131 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search__input-control {
|
| 1132 |
+
border-right: 1px solid #E4E4E4;
|
| 1133 |
+
}
|
| 1134 |
+
|
| 1135 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search__input-control:last-child {
|
| 1136 |
+
border-right: 0;
|
| 1137 |
+
}
|
| 1138 |
+
|
| 1139 |
.tribe-events .tribe-events-c-search__input--icon {
|
| 1140 |
background-repeat: no-repeat;
|
| 1141 |
background-position: right center;
|
| 1142 |
}
|
| 1143 |
|
| 1144 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search__input--icon {
|
| 1145 |
+
background-position: 16px center;
|
| 1146 |
+
}
|
| 1147 |
+
|
| 1148 |
.tribe-events .tribe-events-c-search__input-control--keyword .tribe-events-c-search__input {
|
| 1149 |
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23727272'/%3E%3C/svg%3E");
|
| 1150 |
background-size: 16px;
|
| 1180 |
background-position: right center;
|
| 1181 |
}
|
| 1182 |
|
| 1183 |
+
#top.tribe-theme-enfold .tribe-events.tribe-common--breakpoint-medium .tribe-events-c-search__input--icon {
|
| 1184 |
+
background-position: 16px center;
|
| 1185 |
+
}
|
| 1186 |
+
|
| 1187 |
#top.tribe-theme-enfold .tribe-events .tribe-events-c-search__input-control--keyword .tribe-events-c-search__input {
|
| 1188 |
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23727272'/%3E%3C/svg%3E");
|
| 1189 |
background-size: 16px;
|
| 1282 |
width: 10px;
|
| 1283 |
}
|
| 1284 |
|
| 1285 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-top-bar__datepicker-button:after {
|
| 1286 |
+
height: 7px;
|
| 1287 |
+
width: 12px;
|
| 1288 |
+
}
|
| 1289 |
+
|
| 1290 |
.tribe-events .tribe-events-c-top-bar__datepicker-button--open:after {
|
| 1291 |
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.21 7.15L6 2.36l4.79 4.79L11.94 6 6 .06.06 6z' fill='%23141827' fill-rule='nonzero'/%3E%3C/svg%3E");
|
| 1292 |
}
|
| 1343 |
*
|
| 1344 |
* ----------------------------------------------------------------------------- */
|
| 1345 |
|
| 1346 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button:before {
|
| 1347 |
+
content: none;
|
| 1348 |
+
}
|
| 1349 |
+
|
| 1350 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button:after {
|
| 1351 |
+
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.21.85L6 5.64 10.79.85 11.94 2 6 7.94.06 2z' fill='%23141827' fill-rule='nonzero'/%3E%3C/svg%3E");
|
| 1352 |
+
background-repeat: no-repeat;
|
| 1353 |
+
background-size: contain;
|
| 1354 |
+
content: '';
|
| 1355 |
+
display: block;
|
| 1356 |
+
-webkit-box-flex: 0;
|
| 1357 |
+
flex: none;
|
| 1358 |
+
height: 6px;
|
| 1359 |
+
margin-left: 8px;
|
| 1360 |
+
width: 10px;
|
| 1361 |
+
}
|
| 1362 |
+
|
| 1363 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button--active:after {
|
| 1364 |
+
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.21 7.15L6 2.36l4.79 4.79L11.94 6 6 .06.06 6z' fill='%23141827' fill-rule='nonzero'/%3E%3C/svg%3E");
|
| 1365 |
+
}
|
| 1366 |
+
|
| 1367 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button-text {
|
| 1368 |
+
color: #141827;
|
| 1369 |
+
font-family: "Helvetica Neue", Helvetica, -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif;
|
| 1370 |
+
font-size: 14px;
|
| 1371 |
+
line-height: 1.62;
|
| 1372 |
+
font-weight: 400;
|
| 1373 |
+
font-weight: 700;
|
| 1374 |
+
}
|
| 1375 |
+
|
| 1376 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__content {
|
| 1377 |
+
box-shadow: 0 2px 5px 0 rgba(0,0,0, 0.14);
|
| 1378 |
+
}
|
| 1379 |
+
|
| 1380 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__content {
|
| 1381 |
+
border: 0;
|
| 1382 |
+
border-radius: 0;
|
| 1383 |
+
box-shadow: none;
|
| 1384 |
+
}
|
| 1385 |
+
|
| 1386 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link {
|
| 1387 |
+
background-color: transparent;
|
| 1388 |
+
}
|
| 1389 |
+
|
| 1390 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link:after {
|
| 1391 |
+
background-color: #141827;
|
| 1392 |
+
bottom: -1px;
|
| 1393 |
+
content: '';
|
| 1394 |
+
display: block;
|
| 1395 |
+
height: 2px;
|
| 1396 |
+
position: absolute;
|
| 1397 |
+
width: 100%;
|
| 1398 |
+
}
|
| 1399 |
+
|
| 1400 |
.tribe-events .tribe-events-c-view-selector__button {
|
| 1401 |
text-align: left;
|
| 1402 |
}
|
| 1422 |
width: calc(100% - 8px);
|
| 1423 |
}
|
| 1424 |
|
| 1425 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector__button:before {
|
| 1426 |
+
width: calc(100% - 16px);
|
| 1427 |
+
-webkit-transform: none;
|
| 1428 |
+
transform: none;
|
| 1429 |
+
}
|
| 1430 |
+
|
| 1431 |
.tribe-events .tribe-events-c-view-selector__button--active:before {
|
| 1432 |
display: block;
|
| 1433 |
}
|
| 1510 |
width: 3px;
|
| 1511 |
}
|
| 1512 |
|
| 1513 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-row--featured .tribe-events-calendar-list__event-date-tag-datetime:after {
|
| 1514 |
+
right: -1px;
|
| 1515 |
+
width: 4px;
|
| 1516 |
+
}
|
| 1517 |
+
|
| 1518 |
.tribe-events .tribe-events-calendar-list__event-venue {
|
| 1519 |
font-style: normal;
|
| 1520 |
}
|
| 1544 |
opacity: 0.9;
|
| 1545 |
}
|
| 1546 |
|
| 1547 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-datetime-featured-text {
|
| 1548 |
+
color: #334AFF;
|
| 1549 |
+
font-weight: 700;
|
| 1550 |
+
}
|
| 1551 |
+
|
| 1552 |
.tribe-events .tribe-events-calendar-list__event-datetime-recurring-link:hover .tribe-events-calendar-list__event-datetime-recurring-icon, .tribe-events .tribe-events-calendar-list__event-datetime-recurring-link:focus .tribe-events-calendar-list__event-datetime-recurring-icon {
|
| 1553 |
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.333 3.826c0 .065 0 .13-.02.174 0 .022-.02.065-.02.087a.9.9 0 0 1-.197.37L10.45 7.37a.797.797 0 0 1-.592.26.797.797 0 0 1-.593-.26c-.316-.348-.316-.935 0-1.305l1.225-1.348H6.3C3.753 4.717 1.66 7 1.66 9.827c0 1.369.474 2.651 1.363 3.608.316.348.316.935 0 1.304A.797.797 0 0 1 2.43 15a.797.797 0 0 1-.593-.26C.652 13.434 0 11.695 0 9.847c0-3.826 2.825-6.935 6.301-6.935h4.208L9.284 1.565c-.316-.348-.316-.935 0-1.304.316-.348.85-.348 1.185 0l2.647 2.913c.099.109.158.239.198.37 0 .021.02.065.02.086v.196zM20 10.152c0 3.826-2.825 6.935-6.301 6.935H9.49l1.225 1.348c.336.348.336.935 0 1.304a.797.797 0 0 1-.593.261.83.83 0 0 1-.592-.26l-2.627-2.936a.948.948 0 0 1-.198-.37c0-.021-.02-.064-.02-.086-.02-.065-.02-.109-.02-.174 0-.065 0-.13.02-.174 0-.022.02-.065.02-.087a.9.9 0 0 1 .198-.37L9.55 12.63c.316-.347.849-.347 1.185 0 .336.348.336.935 0 1.305L9.51 15.283h4.208c2.548 0 4.641-2.283 4.641-5.11 0-1.369-.474-2.651-1.362-3.608a.97.97 0 0 1 0-1.304c.316-.348.849-.348 1.185 0C19.348 6.543 20 8.283 20 10.152z' fill='%23334AFF'/%3E%3C/svg%3E");
|
| 1554 |
}
|
| 1692 |
text-align: center;
|
| 1693 |
}
|
| 1694 |
|
| 1695 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__header-column-title {
|
| 1696 |
+
text-align: left;
|
| 1697 |
+
}
|
| 1698 |
+
|
| 1699 |
.tribe-events {
|
| 1700 |
|
| 1701 |
/* -----------------------------------------------------------------------------
|
| 1711 |
border-radius: 4px;
|
| 1712 |
}
|
| 1713 |
|
| 1714 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day {
|
| 1715 |
+
border-radius: 0;
|
| 1716 |
+
}
|
| 1717 |
+
|
| 1718 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day:after {
|
| 1719 |
+
background-color: transparent;
|
| 1720 |
+
bottom: 0;
|
| 1721 |
+
content: '';
|
| 1722 |
+
display: block;
|
| 1723 |
+
height: 2px;
|
| 1724 |
+
left: -1px;
|
| 1725 |
+
position: absolute;
|
| 1726 |
+
-webkit-transition: background-color 0.2s ease;
|
| 1727 |
+
transition: background-color 0.2s ease;
|
| 1728 |
+
width: calc(100% + 2px);
|
| 1729 |
+
}
|
| 1730 |
+
|
| 1731 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day:hover:after {
|
| 1732 |
+
background-color: #141827;
|
| 1733 |
+
}
|
| 1734 |
+
|
| 1735 |
.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date,
|
| 1736 |
.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link {
|
| 1737 |
color: #334AFF;
|
| 1985 |
width: 3px;
|
| 1986 |
}
|
| 1987 |
|
| 1988 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event--featured:after {
|
| 1989 |
+
left: calc(11.111% - 24px);
|
| 1990 |
+
width: 4px;
|
| 1991 |
+
}
|
| 1992 |
+
|
| 1993 |
.tribe-events .tribe-events-calendar-day__event-venue {
|
| 1994 |
font-style: normal;
|
| 1995 |
}
|
| 2008 |
opacity: 0.9;
|
| 2009 |
}
|
| 2010 |
|
| 2011 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-datetime-featured-text {
|
| 2012 |
+
color: #334AFF;
|
| 2013 |
+
font-weight: 700;
|
| 2014 |
+
}
|
| 2015 |
+
|
| 2016 |
.tribe-events .tribe-events-calendar-day__event-datetime-recurring-link:hover .tribe-events-calendar-day__event-datetime-recurring-icon, .tribe-events .tribe-events-calendar-day__event-datetime-recurring-link:focus .tribe-events-calendar-day__event-datetime-recurring-icon {
|
| 2017 |
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.333 3.826c0 .065 0 .13-.02.174 0 .022-.02.065-.02.087a.9.9 0 0 1-.197.37L10.45 7.37a.797.797 0 0 1-.592.26.797.797 0 0 1-.593-.26c-.316-.348-.316-.935 0-1.305l1.225-1.348H6.3C3.753 4.717 1.66 7 1.66 9.827c0 1.369.474 2.651 1.363 3.608.316.348.316.935 0 1.304A.797.797 0 0 1 2.43 15a.797.797 0 0 1-.593-.26C.652 13.434 0 11.695 0 9.847c0-3.826 2.825-6.935 6.301-6.935h4.208L9.284 1.565c-.316-.348-.316-.935 0-1.304.316-.348.85-.348 1.185 0l2.647 2.913c.099.109.158.239.198.37 0 .021.02.065.02.086v.196zM20 10.152c0 3.826-2.825 6.935-6.301 6.935H9.49l1.225 1.348c.336.348.336.935 0 1.304a.797.797 0 0 1-.593.261.83.83 0 0 1-.592-.26l-2.627-2.936a.948.948 0 0 1-.198-.37c0-.021-.02-.064-.02-.086-.02-.065-.02-.109-.02-.174 0-.065 0-.13.02-.174 0-.022.02-.065.02-.087a.9.9 0 0 1 .198-.37L9.55 12.63c.316-.347.849-.347 1.185 0 .336.348.336.935 0 1.305L9.51 15.283h4.208c2.548 0 4.641-2.283 4.641-5.11 0-1.369-.474-2.651-1.362-3.608a.97.97 0 0 1 0-1.304c.316-.348.849-.348 1.185 0C19.348 6.543 20 8.283 20 10.152z' fill='%23334AFF'/%3E%3C/svg%3E");
|
| 2018 |
}
|
| 2052 |
height: 1px;
|
| 2053 |
margin-left: 20px;
|
| 2054 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/resources/css/views-full.min.css
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
.tribe-events .tribe-events-c-breadcrumbs__list{font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:24px;line-height:1.42}.tribe-events .tribe-events-c-breadcrumbs__list-item-link{color:#727272;transition:color .2s ease}.tribe-events .tribe-events-c-breadcrumbs__list-item-link:visited{color:#727272}.tribe-events .tribe-events-c-breadcrumbs__list-item-link:focus,.tribe-events .tribe-events-c-breadcrumbs__list-item-link:hover{color:#141827}.tribe-events .datepicker{background-color:#fff;border:1px solid #d5d5d5;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.14)}.tribe-events .datepicker:after,.tribe-events .datepicker:before{content:none}.tribe-events .datepicker .datepicker-switch:active,.tribe-events .datepicker .datepicker-switch:focus,.tribe-events .datepicker .datepicker-switch:hover,.tribe-events .datepicker .next:active,.tribe-events .datepicker .next:focus,.tribe-events .datepicker .next:hover,.tribe-events .datepicker .prev:active,.tribe-events .datepicker .prev:focus,.tribe-events .datepicker .prev:hover{background-color:#fff}.tribe-events .datepicker .datepicker-switch{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:16px;line-height:1.62;font-weight:400}.tribe-events .datepicker .datepicker-switch:focus,.tribe-events .datepicker .datepicker-switch:hover{color:rgba(20,24,39,.8)}.tribe-events .datepicker .datepicker-switch:active{color:rgba(20,24,39,.9)}.tribe-events .datepicker .dow{font-size:11px;line-height:1.5}.tribe-events .datepicker .day,.tribe-events .datepicker .dow{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:400}.tribe-events .datepicker .day{font-size:16px;line-height:1.62}.tribe-events .datepicker .month,.tribe-events .datepicker .year{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:12px;line-height:1.38;font-weight:400}.tribe-events .datepicker .past{color:rgba(20,24,39,.62)}.tribe-events .datepicker .day,.tribe-events .datepicker .month,.tribe-events .datepicker .year{border-radius:4px}.tribe-events .datepicker .day.focused,.tribe-events .datepicker .day:focus,.tribe-events .datepicker .day:hover,.tribe-events .datepicker .month.focused,.tribe-events .datepicker .month:focus,.tribe-events .datepicker .month:hover,.tribe-events .datepicker .year.focused,.tribe-events .datepicker .year:focus,.tribe-events .datepicker .year:hover{background:#f7f6f6}.tribe-events .datepicker .day.current,.tribe-events .datepicker .day.current.focused,.tribe-events .datepicker .day.current:focus,.tribe-events .datepicker .day.current:hover,.tribe-events .datepicker .month.current,.tribe-events .datepicker .month.current.focused,.tribe-events .datepicker .month.current:focus,.tribe-events .datepicker .month.current:hover,.tribe-events .datepicker .year.current,.tribe-events .datepicker .year.current.focused,.tribe-events .datepicker .year.current:focus,.tribe-events .datepicker .year.current:hover{background:rgba(51,74,255,.07)}.tribe-events .datepicker .day.active,.tribe-events .datepicker .day.active.focused,.tribe-events .datepicker .day.active:focus,.tribe-events .datepicker .day.active:hover,.tribe-events .datepicker .month.active,.tribe-events .datepicker .month.active.focused,.tribe-events .datepicker .month.active:focus,.tribe-events .datepicker .month.active:hover,.tribe-events .datepicker .year.active,.tribe-events .datepicker .year.active.focused,.tribe-events .datepicker .year.active:focus,.tribe-events .datepicker .year.active:hover{color:#fff;background:#334aff;text-shadow:none}.admin-bar .tribe-events .datepicker{margin-top:8px}.tribe-theme-enfold .tribe-events .datepicker{border:1px solid #d5d5d5;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.14)}.tribe-theme-enfold .tribe-events .datepicker .datepicker-switch{color:#141827!important}.tribe-theme-enfold .tribe-events .datepicker .datepicker-switch:focus,.tribe-theme-enfold .tribe-events .datepicker .datepicker-switch:hover{color:rgba(20,24,39,.8)!important}.tribe-theme-enfold .tribe-events .datepicker .datepicker-switch:active{color:rgba(20,24,39,.9)!important}.tribe-theme-enfold .tribe-events .datepicker .day{background-color:#fff}.tribe-theme-enfold .tribe-events .datepicker .day.new,.tribe-theme-enfold .tribe-events .datepicker .day.old{opacity:1}.tribe-theme-enfold .tribe-events .datepicker .day,.tribe-theme-enfold .tribe-events .datepicker .month,.tribe-theme-enfold .tribe-events .datepicker .year{color:#141827;background-color:#fff}.tribe-theme-enfold .tribe-events .datepicker .day.focused,.tribe-theme-enfold .tribe-events .datepicker .day:focus,.tribe-theme-enfold .tribe-events .datepicker .day:hover,.tribe-theme-enfold .tribe-events .datepicker .month.focused,.tribe-theme-enfold .tribe-events .datepicker .month:focus,.tribe-theme-enfold .tribe-events .datepicker .month:hover,.tribe-theme-enfold .tribe-events .datepicker .year.focused,.tribe-theme-enfold .tribe-events .datepicker .year:focus,.tribe-theme-enfold .tribe-events .datepicker .year:hover{background:#f7f6f6}.tribe-theme-enfold .tribe-events .datepicker .day.past,.tribe-theme-enfold .tribe-events .datepicker .month.past,.tribe-theme-enfold .tribe-events .datepicker .year.past{color:rgba(20,24,39,.62)}.tribe-theme-enfold .tribe-events .datepicker .day.current,.tribe-theme-enfold .tribe-events .datepicker .day.current.focused,.tribe-theme-enfold .tribe-events .datepicker .day.current:focus,.tribe-theme-enfold .tribe-events .datepicker .day.current:hover,.tribe-theme-enfold .tribe-events .datepicker .month.current,.tribe-theme-enfold .tribe-events .datepicker .month.current.focused,.tribe-theme-enfold .tribe-events .datepicker .month.current:focus,.tribe-theme-enfold .tribe-events .datepicker .month.current:hover,.tribe-theme-enfold .tribe-events .datepicker .year.current,.tribe-theme-enfold .tribe-events .datepicker .year.current.focused,.tribe-theme-enfold .tribe-events .datepicker .year.current:focus,.tribe-theme-enfold .tribe-events .datepicker .year.current:hover{background:rgba(51,74,255,.07)}.tribe-theme-enfold .tribe-events .datepicker .day.active,.tribe-theme-enfold .tribe-events .datepicker .day.active.focused,.tribe-theme-enfold .tribe-events .datepicker .day.active:focus,.tribe-theme-enfold .tribe-events .datepicker .day.active:hover,.tribe-theme-enfold .tribe-events .datepicker .month.active,.tribe-theme-enfold .tribe-events .datepicker .month.active.focused,.tribe-theme-enfold .tribe-events .datepicker .month.active:focus,.tribe-theme-enfold .tribe-events .datepicker .month.active:hover,.tribe-theme-enfold .tribe-events .datepicker .year.active,.tribe-theme-enfold .tribe-events .datepicker .year.active.focused,.tribe-theme-enfold .tribe-events .datepicker .year.active:focus,.tribe-theme-enfold .tribe-events .datepicker .year.active:hover{color:#fff;background:#334aff}.tribe-theme-avada .tribe-events .datepicker{border:1px solid #d5d5d5;border-radius:4px}.tribe-theme-avada .tribe-events .datepicker tbody td{border:0}.tribe-theme-avada .tribe-events .datepicker .datepicker-switch,.tribe-theme-avada .tribe-events .datepicker .datepicker-switch:hover,.tribe-theme-avada .tribe-events .datepicker .next,.tribe-theme-avada .tribe-events .datepicker .next:hover,.tribe-theme-avada .tribe-events .datepicker .prev,.tribe-theme-avada .tribe-events .datepicker .prev:hover{background-color:#fff}.tribe-theme-avada .tribe-events .datepicker .day.new,.tribe-theme-avada .tribe-events .datepicker .day.old{background-color:transparent!important;color:#141827!important}.tribe-theme-avada .tribe-events .datepicker .day.new.focused,.tribe-theme-avada .tribe-events .datepicker .day.new:focus,.tribe-theme-avada .tribe-events .datepicker .day.new:hover,.tribe-theme-avada .tribe-events .datepicker .day.old.focused,.tribe-theme-avada .tribe-events .datepicker .day.old:focus,.tribe-theme-avada .tribe-events .datepicker .day.old:hover{background:#f7f6f6!important}.tribe-theme-avada .tribe-events .datepicker .day,.tribe-theme-avada .tribe-events .datepicker .month{background-color:transparent;color:#141827}.tribe-theme-avada .tribe-events .datepicker .day.focused,.tribe-theme-avada .tribe-events .datepicker .day:focus,.tribe-theme-avada .tribe-events .datepicker .day:hover,.tribe-theme-avada .tribe-events .datepicker .month.focused,.tribe-theme-avada .tribe-events .datepicker .month:focus,.tribe-theme-avada .tribe-events .datepicker .month:hover{background:#f7f6f6}.tribe-theme-avada .tribe-events .datepicker .day.past,.tribe-theme-avada .tribe-events .datepicker .month.past{color:rgba(20,24,39,.62)!important}.tribe-theme-avada .tribe-events .datepicker .day.current,.tribe-theme-avada .tribe-events .datepicker .day.current.focused,.tribe-theme-avada .tribe-events .datepicker .day.current:focus,.tribe-theme-avada .tribe-events .datepicker .day.current:hover,.tribe-theme-avada .tribe-events .datepicker .month.current,.tribe-theme-avada .tribe-events .datepicker .month.current.focused,.tribe-theme-avada .tribe-events .datepicker .month.current:focus,.tribe-theme-avada .tribe-events .datepicker .month.current:hover{background:rgba(51,74,255,.07)}.tribe-theme-avada .tribe-events .datepicker .day.active,.tribe-theme-avada .tribe-events .datepicker .day.active.focused,.tribe-theme-avada .tribe-events .datepicker .day.active:focus,.tribe-theme-avada .tribe-events .datepicker .day.active:hover,.tribe-theme-avada .tribe-events .datepicker .month.active,.tribe-theme-avada .tribe-events .datepicker .month.active.focused,.tribe-theme-avada .tribe-events .datepicker .month.active:focus,.tribe-theme-avada .tribe-events .datepicker .month.active:hover{color:#fff!important;background:#334aff!important}.tribe-events .tribe-events-c-day-marker:after{background-color:#d5d5d5;content:"";display:block;flex:auto;height:1px;margin-left:20px}.tribe-events .tribe-events-c-events-bar{background-color:#fff}.tribe-events .tribe-events-c-events-bar__search-button:focus .tribe-events-c-events-bar__search-button-icon,.tribe-events .tribe-events-c-events-bar__search-button:hover .tribe-events-c-events-bar__search-button-icon{opacity:.8}.tribe-events .tribe-events-c-events-bar__search-button:active .tribe-events-c-events-bar__search-button-icon{opacity:.9}.tribe-events .tribe-events-c-events-bar__search-button:before{background-color:#334aff;content:"";display:none;height:2px;pointer-events:none;position:absolute;top:100%;transform:translateY(4px);width:calc(100% - 8px)}.tribe-events .tribe-events-c-events-bar__search-button--active:before{display:block}.tribe-events .tribe-events-c-events-bar__tab{border-radius:4px}.tribe-events .tribe-events-c-events-bar__tab:active .tribe-events-c-events-bar__tab-text,.tribe-events .tribe-events-c-events-bar__tab:focus .tribe-events-c-events-bar__tab-text,.tribe-events .tribe-events-c-events-bar__tab:hover .tribe-events-c-events-bar__tab-text{font-weight:700}.tribe-events .tribe-events-c-events-bar__tab--active,.tribe-events .tribe-events-c-events-bar__tab--active:focus,.tribe-events .tribe-events-c-events-bar__tab--active:hover{background-color:#f7f6f6}.tribe-events .tribe-events-c-events-bar__tab--active .tribe-events-c-events-bar__tab-text{font-weight:700}.tribe-theme-twentyseventeen .tribe-events .tribe-events-c-events-bar__tab--active,.tribe-theme-twentyseventeen .tribe-events .tribe-events-c-events-bar__tab--active:focus,.tribe-theme-twentyseventeen .tribe-events .tribe-events-c-events-bar__tab--active:hover{background-color:#f7f6f6}.tribe-events .tribe-events-c-messages__message{background-color:rgba(20,24,39,.07);border-radius:4px}.tribe-events .tribe-events-c-messages__message--notice:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21 23'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath stroke='%23141827' d='M.5 2.5h20v20H.5z'/%3E%3Cpath stroke='%23334AFF' stroke-linecap='round' d='M7.583 11.583l5.834 5.834m0-5.834l-5.834 5.834'/%3E%3Cpath stroke='%23141827' stroke-linecap='round' d='M4.5.5v4m12-4v4'/%3E%3Cpath stroke='%23141827' stroke-linecap='square' d='M.5 7.5h20'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-size:22px;display:inline-block;content:"";min-width:22px;height:24px;margin-right:12px}.tribe-events .tribe-events-c-nav{border-top:1px solid #d5d5d5}.tribe-events .tribe-events-c-nav__list{list-style:none}.tribe-events .tribe-events-c-nav__next-label-plural,.tribe-events .tribe-events-c-nav__prev-label-plural{white-space:pre}.tribe-events .tribe-events-c-nav__next:focus,.tribe-events .tribe-events-c-nav__next:hover,.tribe-events .tribe-events-c-nav__prev:focus,.tribe-events .tribe-events-c-nav__prev:hover,.tribe-events .tribe-events-c-nav__today:focus,.tribe-events .tribe-events-c-nav__today:hover{color:rgba(20,24,39,.8)}.tribe-events .tribe-events-c-nav__next:active,.tribe-events .tribe-events-c-nav__prev:active,.tribe-events .tribe-events-c-nav__today:active{color:#141827}.tribe-events .tribe-events-c-nav__next:disabled,.tribe-events .tribe-events-c-nav__prev:disabled{background-color:transparent;color:#d5d5d5}.tribe-events .tribe-events-c-nav__prev:before{background-repeat:no-repeat;background-size:contain;content:"";height:12px;margin-right:8px;width:7px}.tribe-events .tribe-events-c-nav__prev:before,.tribe-events .tribe-events-c-nav__prev:focus:before,.tribe-events .tribe-events-c-nav__prev:hover:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-events .tribe-events-c-nav__prev:focus:before,.tribe-events .tribe-events-c-nav__prev:hover:before{opacity:.8}.tribe-events .tribe-events-c-nav__prev:active:before{opacity:1}.tribe-events .tribe-events-c-nav__prev:disabled:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23D5D5D5'/%3E%3C/svg%3E")}.tribe-events .tribe-events-c-nav__next:after{background-repeat:no-repeat;background-size:contain;content:"";height:12px;margin-left:8px;width:7px}.tribe-events .tribe-events-c-nav__next:after,.tribe-events .tribe-events-c-nav__next:focus:after,.tribe-events .tribe-events-c-nav__next:hover:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-events .tribe-events-c-nav__next:focus:after,.tribe-events .tribe-events-c-nav__next:hover:after{opacity:.8}.tribe-events .tribe-events-c-nav__next:active:after{opacity:1}.tribe-events .tribe-events-c-nav__next:disabled:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23D5D5D5'/%3E%3C/svg%3E")}.tribe-events .tribe-events-c-small-cta__stock{color:#727272}.tribe-events .tribe-events-c-search__input--icon{background-repeat:no-repeat;background-position:100%}.tribe-events .tribe-events-c-search__input-control--keyword .tribe-events-c-search__input{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23727272'/%3E%3C/svg%3E");background-size:16px}.tribe-events .tribe-events-c-search__input-control--keyword-focus .tribe-events-c-search__input,.tribe-events .tribe-events-c-search__input-control--keyword .tribe-events-c-search__input:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23334AFF'/%3E%3C/svg%3E")}.tribe-events .tribe-events-c-search__input-control--location .tribe-events-c-search__input{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.682 1.548a5.166 5.166 0 0 0-7.375 0C-3.073 5.984 4.959 15.36 4.994 15.36c.051-.001 8.092-9.35 3.688-13.812zM4.994 2.833c1.27 0 2.301 1.043 2.301 2.331 0 1.287-1.03 2.33-2.301 2.33-1.272 0-2.3-1.043-2.3-2.33 0-1.288 1.028-2.331 2.3-2.331z' fill='%23727272' fill-rule='evenodd'/%3E%3C/svg%3E");background-size:10px 15px}.tribe-events .tribe-events-c-search__input-control--location-focus .tribe-events-c-search__input,.tribe-events .tribe-events-c-search__input-control--location .tribe-events-c-search__input:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.682 1.548a5.166 5.166 0 0 0-7.375 0C-3.073 5.984 4.959 15.36 4.994 15.36c.051-.001 8.092-9.35 3.688-13.812zM4.994 2.833c1.27 0 2.301 1.043 2.301 2.331 0 1.287-1.03 2.33-2.301 2.33-1.272 0-2.3-1.043-2.3-2.33 0-1.288 1.028-2.331 2.3-2.331z' fill='%23334AFF' fill-rule='evenodd'/%3E%3C/svg%3E")}#top.tribe-theme-enfold .tribe-events .tribe-events-c-search__input--icon{background-repeat:no-repeat;background-position:100%}#top.tribe-theme-enfold .tribe-events .tribe-events-c-search__input-control--keyword .tribe-events-c-search__input{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23727272'/%3E%3C/svg%3E");background-size:16px}#top.tribe-theme-enfold .tribe-events .tribe-events-c-search__input-control--keyword-focus .tribe-events-c-search__input,#top.tribe-theme-enfold .tribe-events .tribe-events-c-search__input-control--keyword .tribe-events-c-search__input:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23334AFF'/%3E%3C/svg%3E")}#top.tribe-theme-enfold .tribe-events .tribe-events-c-search__input-control--location .tribe-events-c-search__input{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.682 1.548a5.166 5.166 0 0 0-7.375 0C-3.073 5.984 4.959 15.36 4.994 15.36c.051-.001 8.092-9.35 3.688-13.812zM4.994 2.833c1.27 0 2.301 1.043 2.301 2.331 0 1.287-1.03 2.33-2.301 2.33-1.272 0-2.3-1.043-2.3-2.33 0-1.288 1.028-2.331 2.3-2.331z' fill='%23727272' fill-rule='evenodd'/%3E%3C/svg%3E");background-size:10px 15px}#top.tribe-theme-enfold .tribe-events .tribe-events-c-search__input-control--location-focus .tribe-events-c-search__input,#top.tribe-theme-enfold .tribe-events .tribe-events-c-search__input-control--location .tribe-events-c-search__input:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.682 1.548a5.166 5.166 0 0 0-7.375 0C-3.073 5.984 4.959 15.36 4.994 15.36c.051-.001 8.092-9.35 3.688-13.812zM4.994 2.833c1.27 0 2.301 1.043 2.301 2.331 0 1.287-1.03 2.33-2.301 2.33-1.272 0-2.3-1.043-2.3-2.33 0-1.288 1.028-2.331 2.3-2.331z' fill='%23334AFF' fill-rule='evenodd'/%3E%3C/svg%3E")}.tooltipster-base.tribe-events-tooltip-theme{background-color:#fff;border:1px solid #d5d5d5;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.14)}.tooltipster-base.tribe-events-tooltip-theme .tooltipster-box{background-color:transparent;border:0;border-radius:0;box-shadow:none}.tooltipster-base.tribe-events-tooltip-theme .tooltipster-box .tooltipster-content{color:#141827;overflow:inherit}.tribe-events .tribe-events-c-top-bar__datepicker-button{transition:opacity .2s ease}.tribe-events .tribe-events-c-top-bar__datepicker-button:focus,.tribe-events .tribe-events-c-top-bar__datepicker-button:hover{opacity:.8}.tribe-events .tribe-events-c-top-bar__datepicker-button:active{opacity:.9}.tribe-events .tribe-events-c-top-bar__datepicker-button:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.21.85L6 5.64 10.79.85 11.94 2 6 7.94.06 2z' fill='%23141827'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;content:"";display:block;margin-left:8px;height:6px;width:10px}.tribe-events .tribe-events-c-top-bar__datepicker-button--open:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.21 7.15L6 2.36l4.79 4.79L11.94 6 6 .06.06 6z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-events .tribe-events-c-view-selector__button{text-align:left}.tribe-events .tribe-events-c-view-selector__button:focus .tribe-events-c-view-selector__button-icon,.tribe-events .tribe-events-c-view-selector__button:hover .tribe-events-c-view-selector__button-icon{opacity:.8}.tribe-events .tribe-events-c-view-selector__button:active .tribe-events-c-view-selector__button-icon{opacity:.9}.tribe-events .tribe-events-c-view-selector__button:before{background-color:#334aff;content:"";display:none;height:2px;pointer-events:none;position:absolute;top:100%;transform:translateY(4px);width:calc(100% - 8px)}.tribe-events .tribe-events-c-view-selector__button--active:before{display:block}.tribe-events .tribe-events-c-view-selector__content{border:1px solid #e4e4e4;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.14)}.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link{background-color:#f7f6f6}.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-text{font-weight:700}.tribe-events .tribe-events-c-view-selector__list-item-link{border-radius:4px}.tribe-events .tribe-events-c-view-selector__list-item-link:focus .tribe-events-c-view-selector__list-item-icon,.tribe-events .tribe-events-c-view-selector__list-item-link:hover .tribe-events-c-view-selector__list-item-icon{opacity:.8}.tribe-events .tribe-events-c-view-selector__list-item-link:focus .tribe-events-c-view-selector__list-item-text,.tribe-events .tribe-events-c-view-selector__list-item-link:hover .tribe-events-c-view-selector__list-item-text{color:rgba(20,24,39,.8)}.tribe-events .tribe-events-c-view-selector__list-item-text{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:14px;line-height:1.62;font-weight:400}.tribe-events .tribe-events-calendar-list__event-row--featured .tribe-events-calendar-list__event-date-tag-datetime:after{background-color:#334aff;content:"";height:100%;right:calc(100% - 3px);position:absolute;width:3px}.tribe-events .tribe-events-calendar-list__event-venue{font-style:normal}.tribe-events .tribe-events-calendar-list__event-date-tag-weekday{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:11px;font-weight:400;line-height:1.5;color:#727272;text-transform:uppercase}.tribe-events .tribe-events-calendar-list__event-featured-image-link{transition:opacity .2s ease}.tribe-events .tribe-events-calendar-list__event-featured-image-link:focus,.tribe-events .tribe-events-calendar-list__event-featured-image-link:hover{opacity:.8}.tribe-events .tribe-events-calendar-list__event-featured-image-link:active{opacity:.9}.tribe-events .tribe-events-calendar-list__event-datetime-recurring-link:focus .tribe-events-calendar-list__event-datetime-recurring-icon,.tribe-events .tribe-events-calendar-list__event-datetime-recurring-link:hover .tribe-events-calendar-list__event-datetime-recurring-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.333 3.826c0 .065 0 .13-.02.174 0 .022-.02.065-.02.087a.9.9 0 0 1-.197.37L10.45 7.37a.797.797 0 0 1-.592.26.797.797 0 0 1-.593-.26c-.316-.348-.316-.935 0-1.305l1.225-1.348H6.3c-2.547 0-4.64 2.283-4.64 5.11 0 1.369.474 2.651 1.363 3.608.316.348.316.935 0 1.304A.797.797 0 0 1 2.43 15a.797.797 0 0 1-.593-.26C.652 13.434 0 11.695 0 9.847c0-3.826 2.825-6.935 6.301-6.935h4.208L9.284 1.565c-.316-.348-.316-.935 0-1.304.316-.348.85-.348 1.185 0l2.647 2.913a.952.952 0 0 1 .198.37c0 .021.02.065.02.086v.196zM20 10.152c0 3.826-2.825 6.935-6.301 6.935H9.49l1.225 1.348c.336.348.336.935 0 1.304a.797.797 0 0 1-.593.261.83.83 0 0 1-.592-.26l-2.627-2.936a.948.948 0 0 1-.198-.37c0-.021-.02-.064-.02-.086-.02-.065-.02-.109-.02-.174 0-.065 0-.13.02-.174 0-.022.02-.065.02-.087a.9.9 0 0 1 .198-.37L9.55 12.63c.316-.347.849-.347 1.185 0 .336.348.336.935 0 1.305L9.51 15.283h4.208c2.548 0 4.641-2.283 4.641-5.11 0-1.369-.474-2.651-1.362-3.608a.97.97 0 0 1 0-1.304c.316-.348.849-.348 1.185 0C19.348 6.543 20 8.283 20 10.152z' fill='%23334AFF'/%3E%3C/svg%3E")}.tribe-events .tribe-events-calendar-list__month-separator:after{background-color:#d5d5d5;content:"";display:block;flex:auto;height:1px;margin-left:20px}.tribe-events .tribe-events-calendar-list-nav{border-top:1px solid #d5d5d5}.tribe-events .tribe-events-calendar-month__day--past .tribe-events-calendar-month__calendar-event{opacity:.5}.tribe-events .tribe-events-calendar-month__calendar-event-featured-image-link{transition:opacity .2s ease}.tribe-events .tribe-events-calendar-month__calendar-event-featured-image-link:focus,.tribe-events .tribe-events-calendar-month__calendar-event-featured-image-link:hover{opacity:.8}.tribe-events .tribe-events-calendar-month__calendar-event-featured-image-link:active{opacity:.9}.tribe-events .tribe-events-calendar-month__calendar-event-datetime{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:11px;font-weight:400;line-height:1.5;color:#727272}.tribe-events .tribe-events-calendar-month__calendar-event--featured:before{background-color:#334aff;content:"";height:100%;left:7px;position:absolute;width:2px}.tribe-events .tribe-events-calendar-month__calendar-event--featured:last-child:before{height:calc(100% - 16px)}.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-link:focus .tribe-events-calendar-month__calendar-event-datetime-recurring-icon,.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-link:hover .tribe-events-calendar-month__calendar-event-datetime-recurring-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.333 3.826c0 .065 0 .13-.02.174 0 .022-.02.065-.02.087a.9.9 0 0 1-.197.37L10.45 7.37a.797.797 0 0 1-.592.26.797.797 0 0 1-.593-.26c-.316-.348-.316-.935 0-1.305l1.225-1.348H6.3c-2.547 0-4.64 2.283-4.64 5.11 0 1.369.474 2.651 1.363 3.608.316.348.316.935 0 1.304A.797.797 0 0 1 2.43 15a.797.797 0 0 1-.593-.26C.652 13.434 0 11.695 0 9.847c0-3.826 2.825-6.935 6.301-6.935h4.208L9.284 1.565c-.316-.348-.316-.935 0-1.304.316-.348.85-.348 1.185 0l2.647 2.913a.952.952 0 0 1 .198.37c0 .021.02.065.02.086v.196zM20 10.152c0 3.826-2.825 6.935-6.301 6.935H9.49l1.225 1.348c.336.348.336.935 0 1.304a.797.797 0 0 1-.593.261.83.83 0 0 1-.592-.26l-2.627-2.936a.948.948 0 0 1-.198-.37c0-.021-.02-.064-.02-.086-.02-.065-.02-.109-.02-.174 0-.065 0-.13.02-.174 0-.022.02-.065.02-.087a.9.9 0 0 1 .198-.37L9.55 12.63c.316-.347.849-.347 1.185 0 .336.348.336.935 0 1.305L9.51 15.283h4.208c2.548 0 4.641-2.283 4.641-5.11 0-1.369-.474-2.651-1.362-3.608a.97.97 0 0 1 0-1.304c.316-.348.849-.348 1.185 0C19.348 6.543 20 8.283 20 10.152z' fill='%23334AFF'/%3E%3C/svg%3E")}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image-link{transition:opacity .2s ease}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image-link:focus,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image-link:hover{opacity:.8}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image-link:active{opacity:.9}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:11px;font-weight:400;line-height:1.5}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-link:focus .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-icon,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-link:hover .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.333 3.826c0 .065 0 .13-.02.174 0 .022-.02.065-.02.087a.9.9 0 0 1-.197.37L10.45 7.37a.797.797 0 0 1-.592.26.797.797 0 0 1-.593-.26c-.316-.348-.316-.935 0-1.305l1.225-1.348H6.3c-2.547 0-4.64 2.283-4.64 5.11 0 1.369.474 2.651 1.363 3.608.316.348.316.935 0 1.304A.797.797 0 0 1 2.43 15a.797.797 0 0 1-.593-.26C.652 13.434 0 11.695 0 9.847c0-3.826 2.825-6.935 6.301-6.935h4.208L9.284 1.565c-.316-.348-.316-.935 0-1.304.316-.348.85-.348 1.185 0l2.647 2.913a.952.952 0 0 1 .198.37c0 .021.02.065.02.086v.196zM20 10.152c0 3.826-2.825 6.935-6.301 6.935H9.49l1.225 1.348c.336.348.336.935 0 1.304a.797.797 0 0 1-.593.261.83.83 0 0 1-.592-.26l-2.627-2.936a.948.948 0 0 1-.198-.37c0-.021-.02-.064-.02-.086-.02-.065-.02-.109-.02-.174 0-.065 0-.13.02-.174 0-.022.02-.065.02-.087a.9.9 0 0 1 .198-.37L9.55 12.63c.316-.347.849-.347 1.185 0 .336.348.336.935 0 1.305L9.51 15.283h4.208c2.548 0 4.641-2.283 4.641-5.11 0-1.369-.474-2.651-1.362-3.608a.97.97 0 0 1 0-1.304c.316-.348.849-.348 1.185 0C19.348 6.543 20 8.283 20 10.152z' fill='%23334AFF'/%3E%3C/svg%3E")}.tribe-events .tribe-events-calendar-month__header-column{text-transform:uppercase}.tribe-events .tribe-events-calendar-month__header-column-title{color:#727272;text-align:center}.tribe-events .tribe-events-calendar-month__day{border-radius:4px}.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date,.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link{color:#334aff;font-weight:700}.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link:focus,.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link:hover{color:rgba(51,74,255,.8)}.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link:active{color:rgba(51,74,255,.9)}.tribe-events .tribe-events-calendar-month__day--past .tribe-events-calendar-month__day-date{opacity:.4}.tribe-events .tribe-events-calendar-month__day--past .tribe-events-calendar-month__mobile-events-icon--event{background-color:#141827;opacity:.5}.tribe-events .tribe-events-calendar-month__day--past .tribe-events-calendar-month__mobile-events-icon--featured{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h16v20l-7.902-5.122L0 20z' fill='%23141827'/%3E%3C/svg%3E");opacity:.5}.tribe-events .tribe-events-calendar-month__day-cell--mobile:focus,.tribe-events .tribe-events-calendar-month__day-cell--mobile:hover{background-color:#f7f6f6}.tribe-events .tribe-events-calendar-month__day-cell--selected,.tribe-events .tribe-events-calendar-month__day-cell--selected:focus,.tribe-events .tribe-events-calendar-month__day-cell--selected:hover{background-color:#334aff}.tribe-events .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__day-date{color:#fff;opacity:1}.tribe-events .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__mobile-events-icon--event{background-color:#fff;opacity:1}.tribe-events .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__mobile-events-icon--featured{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h16v20l-7.902-5.122L0 20z' fill='%23FFF'/%3E%3C/svg%3E");opacity:1}.tribe-events .tribe-events-calendar-month__day-date-link{color:#141827;transition:color .2s ease}.tribe-events .tribe-events-calendar-month__day-date-link:focus,.tribe-events .tribe-events-calendar-month__day-date-link:hover{color:rgba(20,24,39,.8)}.tribe-events .tribe-events-calendar-month__day-date-link:active{color:rgba(20,24,39,.9)}.tribe-events .tribe-events-calendar-month__mobile-events-icon--event{background-color:#334aff}.tribe-events .tribe-events-calendar-month__mobile-events-icon--featured{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h16v20l-7.902-5.122L0 20z' fill='%23334AFF'/%3E%3C/svg%3E")}.tribe-theme-twentyseventeen .tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link:focus,.tribe-theme-twentyseventeen .tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link:hover{color:rgba(51,74,255,.8)}.tribe-theme-twentyseventeen .tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link:active{color:rgba(51,74,255,.9)}.tribe-theme-twentyseventeen .tribe-events .tribe-events-calendar-month__day-cell--selected:focus,.tribe-theme-twentyseventeen .tribe-events .tribe-events-calendar-month__day-cell--selected:hover{background-color:#334aff}.tribe-theme-twentyseventeen .tribe-events .tribe-events-calendar-month__day-date-link:focus,.tribe-theme-twentyseventeen .tribe-events .tribe-events-calendar-month__day-date-link:hover{color:rgba(20,24,39,.8)}.tribe-theme-twentyseventeen .tribe-events .tribe-events-calendar-month__day-date-link:active{color:rgba(20,24,39,.9)}.tribe-theme-twentytwenty .tribe-events .tribe-events-calendar-month__day-cell--selected{background-color:#334aff}.tribe-theme-avada #main .tribe-events .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__day-date{color:#fff}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event+.tribe-events-calendar-month-mobile-events__mobile-event{border-top:1px solid #d5d5d5}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime{color:#727272}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime-featured-text{color:#334aff;font-weight:700}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime-recurring-link:focus .tribe-events-calendar-month-mobile-events__mobile-event-datetime-icon,.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime-recurring-link:hover .tribe-events-calendar-month-mobile-events__mobile-event-datetime-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.333 3.826c0 .065 0 .13-.02.174 0 .022-.02.065-.02.087a.9.9 0 0 1-.197.37L10.45 7.37a.797.797 0 0 1-.592.26.797.797 0 0 1-.593-.26c-.316-.348-.316-.935 0-1.305l1.225-1.348H6.3c-2.547 0-4.64 2.283-4.64 5.11 0 1.369.474 2.651 1.363 3.608.316.348.316.935 0 1.304A.797.797 0 0 1 2.43 15a.797.797 0 0 1-.593-.26C.652 13.434 0 11.695 0 9.847c0-3.826 2.825-6.935 6.301-6.935h4.208L9.284 1.565c-.316-.348-.316-.935 0-1.304.316-.348.85-.348 1.185 0l2.647 2.913a.952.952 0 0 1 .198.37c0 .021.02.065.02.086v.196zM20 10.152c0 3.826-2.825 6.935-6.301 6.935H9.49l1.225 1.348c.336.348.336.935 0 1.304a.797.797 0 0 1-.593.261.83.83 0 0 1-.592-.26l-2.627-2.936a.948.948 0 0 1-.198-.37c0-.021-.02-.064-.02-.086-.02-.065-.02-.109-.02-.174 0-.065 0-.13.02-.174 0-.022.02-.065.02-.087a.9.9 0 0 1 .198-.37L9.55 12.63c.316-.347.849-.347 1.185 0 .336.348.336.935 0 1.305L9.51 15.283h4.208c2.548 0 4.641-2.283 4.641-5.11 0-1.369-.474-2.651-1.362-3.608a.97.97 0 0 1 0-1.304c.316-.348.849-.348 1.185 0C19.348 6.543 20 8.283 20 10.152z' fill='%23334AFF'/%3E%3C/svg%3E")}.tribe-events .tribe-events-calendar-month__more-events{border-top:1px solid #e4e4e4}.tribe-events .tribe-events-calendar-month__day--past .tribe-events-calendar-month__more-events-link{opacity:.5}.tribe-events .tribe-events-calendar-month__multiday-event--start .tribe-events-calendar-month__multiday-event-bar{border-top-left-radius:9.5px;border-bottom-left-radius:9.5px}.tribe-events .tribe-events-calendar-month__multiday-event--end .tribe-events-calendar-month__multiday-event-bar{border-top-right-radius:9.5px;border-bottom-right-radius:9.5px}.tribe-events .tribe-events-calendar-month__multiday-event-bar-inner{background-color:rgba(51,74,255,.24);transition:background-color .2s ease}.tribe-events .tribe-events-calendar-month__multiday-event-bar-inner--focus,.tribe-events .tribe-events-calendar-month__multiday-event-bar-inner--hover,.tribe-events .tribe-events-calendar-month__multiday-event-bar-inner:focus,.tribe-events .tribe-events-calendar-month__multiday-event-bar-inner:hover{background-color:rgba(51,74,255,.34)}.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-inner{background-color:#f7f6f6}.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-inner--focus,.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-inner--hover,.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-inner:focus,.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-inner:hover{background-color:#f0eeee}.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-featured-icon,.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-title{opacity:.5}.tribe-events .tribe-events-calendar-month__multiday-event-bar-title{font-weight:400;text-overflow:ellipsis}.tribe-theme-avada #main .tribe-events .tribe-events-calendar-month__multiday-event-bar-title{font-weight:400}.tribe-events .tribe-events-calendar-day__event--featured{position:relative}.tribe-events .tribe-events-calendar-day__event--featured:after{background-color:#334aff;content:"";height:100%;left:21px;position:absolute;width:3px}.tribe-events .tribe-events-calendar-day__event-venue{font-style:normal}.tribe-events .tribe-events-calendar-day__event-featured-image-link{transition:opacity .2s ease}.tribe-events .tribe-events-calendar-day__event-featured-image-link:focus,.tribe-events .tribe-events-calendar-day__event-featured-image-link:hover{opacity:.8}.tribe-events .tribe-events-calendar-day__event-featured-image-link:active{opacity:.9}.tribe-events .tribe-events-calendar-day__event-datetime-recurring-link:focus .tribe-events-calendar-day__event-datetime-recurring-icon,.tribe-events .tribe-events-calendar-day__event-datetime-recurring-link:hover .tribe-events-calendar-day__event-datetime-recurring-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.333 3.826c0 .065 0 .13-.02.174 0 .022-.02.065-.02.087a.9.9 0 0 1-.197.37L10.45 7.37a.797.797 0 0 1-.592.26.797.797 0 0 1-.593-.26c-.316-.348-.316-.935 0-1.305l1.225-1.348H6.3c-2.547 0-4.64 2.283-4.64 5.11 0 1.369.474 2.651 1.363 3.608.316.348.316.935 0 1.304A.797.797 0 0 1 2.43 15a.797.797 0 0 1-.593-.26C.652 13.434 0 11.695 0 9.847c0-3.826 2.825-6.935 6.301-6.935h4.208L9.284 1.565c-.316-.348-.316-.935 0-1.304.316-.348.85-.348 1.185 0l2.647 2.913a.952.952 0 0 1 .198.37c0 .021.02.065.02.086v.196zM20 10.152c0 3.826-2.825 6.935-6.301 6.935H9.49l1.225 1.348c.336.348.336.935 0 1.304a.797.797 0 0 1-.593.261.83.83 0 0 1-.592-.26l-2.627-2.936a.948.948 0 0 1-.198-.37c0-.021-.02-.064-.02-.086-.02-.065-.02-.109-.02-.174 0-.065 0-.13.02-.174 0-.022.02-.065.02-.087a.9.9 0 0 1 .198-.37L9.55 12.63c.316-.347.849-.347 1.185 0 .336.348.336.935 0 1.305L9.51 15.283h4.208c2.548 0 4.641-2.283 4.641-5.11 0-1.369-.474-2.651-1.362-3.608a.97.97 0 0 1 0-1.304c.316-.348.849-.348 1.185 0C19.348 6.543 20 8.283 20 10.152z' fill='%23334AFF'/%3E%3C/svg%3E")}.tribe-events .tribe-events-calendar-day-nav{border-top:1px solid #d5d5d5}.tribe-events .tribe-events-calendar-day__time-separator:after,.tribe-events .tribe-events-calendar-day__type-separator:after{background-color:#d5d5d5;content:"";display:block;flex:auto;height:1px;margin-left:20px}@media (min-width:768px){.tribe-events .tribe-events-c-breadcrumbs__list{font-size:42px;line-height:1.38}.admin-bar .tribe-events .datepicker{margin-top:16px}.tribe-events .tribe-events-c-events-bar--border{border:1px solid #e4e4e4}.tribe-events .tribe-events-c-events-bar__filters{border-right:1px solid #e4e4e4}.tribe-events .tribe-events-c-messages__message-list{text-align:center}.tribe-events .tribe-events-c-nav__next,.tribe-events .tribe-events-c-nav__prev{color:#727272}.tribe-events .tribe-events-c-nav__prev:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23727272'/%3E%3C/svg%3E");height:14px;margin-right:15px;width:9px}.tribe-events .tribe-events-c-nav__next:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23727272'/%3E%3C/svg%3E");height:14px;margin-left:15px;width:9px}.tribe-events .tribe-events-c-search__input-control{border-right:1px solid #e4e4e4}.tribe-events .tribe-events-c-search__input-control:last-child{border-right:0}#top.tribe-theme-enfold .tribe-events .tribe-events-c-search__input--icon,.tribe-events .tribe-events-c-search__input--icon{background-position:16px}.tribe-events .tribe-events-c-top-bar__datepicker-button:after{height:7px;width:12px}.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button:before{content:none}.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.21.85L6 5.64 10.79.85 11.94 2 6 7.94.06 2z' fill='%23141827'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;content:"";display:block;flex:none;height:6px;margin-left:8px;width:10px}.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button--active:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.21 7.15L6 2.36l4.79 4.79L11.94 6 6 .06.06 6z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button-text{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:14px;line-height:1.62;font-weight:400;font-weight:700}.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__content{box-shadow:0 2px 5px 0 rgba(0,0,0,.14)}.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__content{border:0;border-radius:0;box-shadow:none}.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link{background-color:transparent}.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link:after{background-color:#141827;bottom:-1px;content:"";display:block;height:2px;position:absolute;width:100%}.tribe-events .tribe-events-c-view-selector__button:before{width:calc(100% - 16px);transform:none}.tribe-events .tribe-events-calendar-list__event-row--featured .tribe-events-calendar-list__event-date-tag-datetime:after{right:-1px;width:4px}.tribe-events .tribe-events-calendar-list__event-datetime-featured-text{color:#334aff;font-weight:700}.tribe-events .tribe-events-calendar-month__header-column-title{text-align:left}.tribe-events .tribe-events-calendar-month__day{border-radius:0}.tribe-events .tribe-events-calendar-month__day:after{background-color:transparent;bottom:0;content:"";display:block;height:2px;left:-1px;position:absolute;transition:background-color .2s ease;width:calc(100% + 2px)}.tribe-events .tribe-events-calendar-month__day:hover:after{background-color:#141827}.tribe-events .tribe-events-calendar-day__event--featured:after{left:calc(11.111% - 24px);width:4px}.tribe-events .tribe-events-calendar-day__event-datetime-featured-text{color:#334aff;font-weight:700}}
|
| 1 |
+
.tribe-events .tribe-events-c-breadcrumbs__list{font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:24px;line-height:1.42}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-breadcrumbs__list{font-size:42px;line-height:1.38}.tribe-events .tribe-events-c-breadcrumbs__list-item-link{color:#727272;transition:color .2s ease}.tribe-events .tribe-events-c-breadcrumbs__list-item-link:visited{color:#727272}.tribe-events .tribe-events-c-breadcrumbs__list-item-link:focus,.tribe-events .tribe-events-c-breadcrumbs__list-item-link:hover{color:#141827}.tribe-events .datepicker{background-color:#fff;border:1px solid #d5d5d5;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.14)}.tribe-events .datepicker:after,.tribe-events .datepicker:before{content:none}.tribe-events .datepicker .datepicker-switch:active,.tribe-events .datepicker .datepicker-switch:focus,.tribe-events .datepicker .datepicker-switch:hover,.tribe-events .datepicker .next:active,.tribe-events .datepicker .next:focus,.tribe-events .datepicker .next:hover,.tribe-events .datepicker .prev:active,.tribe-events .datepicker .prev:focus,.tribe-events .datepicker .prev:hover{background-color:#fff}.tribe-events .datepicker .datepicker-switch{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:16px;line-height:1.62;font-weight:400}.tribe-events .datepicker .datepicker-switch:focus,.tribe-events .datepicker .datepicker-switch:hover{color:rgba(20,24,39,.8)}.tribe-events .datepicker .datepicker-switch:active{color:rgba(20,24,39,.9)}.tribe-events .datepicker .dow{font-size:11px;line-height:1.5}.tribe-events .datepicker .day,.tribe-events .datepicker .dow{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:400}.tribe-events .datepicker .day{font-size:16px;line-height:1.62}.tribe-events .datepicker .month,.tribe-events .datepicker .year{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:12px;line-height:1.38;font-weight:400}.tribe-events .datepicker .past{color:rgba(20,24,39,.62)}.tribe-events .datepicker .day,.tribe-events .datepicker .month,.tribe-events .datepicker .year{border-radius:4px}.tribe-events .datepicker .day.focused,.tribe-events .datepicker .day:focus,.tribe-events .datepicker .day:hover,.tribe-events .datepicker .month.focused,.tribe-events .datepicker .month:focus,.tribe-events .datepicker .month:hover,.tribe-events .datepicker .year.focused,.tribe-events .datepicker .year:focus,.tribe-events .datepicker .year:hover{background:#f7f6f6}.tribe-events .datepicker .day.current,.tribe-events .datepicker .day.current.focused,.tribe-events .datepicker .day.current:focus,.tribe-events .datepicker .day.current:hover,.tribe-events .datepicker .month.current,.tribe-events .datepicker .month.current.focused,.tribe-events .datepicker .month.current:focus,.tribe-events .datepicker .month.current:hover,.tribe-events .datepicker .year.current,.tribe-events .datepicker .year.current.focused,.tribe-events .datepicker .year.current:focus,.tribe-events .datepicker .year.current:hover{background:rgba(51,74,255,.07)}.tribe-events .datepicker .day.active,.tribe-events .datepicker .day.active.focused,.tribe-events .datepicker .day.active:focus,.tribe-events .datepicker .day.active:hover,.tribe-events .datepicker .month.active,.tribe-events .datepicker .month.active.focused,.tribe-events .datepicker .month.active:focus,.tribe-events .datepicker .month.active:hover,.tribe-events .datepicker .year.active,.tribe-events .datepicker .year.active.focused,.tribe-events .datepicker .year.active:focus,.tribe-events .datepicker .year.active:hover{color:#fff;background:#334aff;text-shadow:none}.admin-bar .tribe-events .datepicker{margin-top:8px}.admin-bar .tribe-events.tribe-common--breakpoint-medium .datepicker{margin-top:16px}.tribe-theme-enfold .tribe-events .datepicker{border:1px solid #d5d5d5;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.14)}.tribe-theme-enfold .tribe-events .datepicker .datepicker-switch{color:#141827!important}.tribe-theme-enfold .tribe-events .datepicker .datepicker-switch:focus,.tribe-theme-enfold .tribe-events .datepicker .datepicker-switch:hover{color:rgba(20,24,39,.8)!important}.tribe-theme-enfold .tribe-events .datepicker .datepicker-switch:active{color:rgba(20,24,39,.9)!important}.tribe-theme-enfold .tribe-events .datepicker .day{background-color:#fff}.tribe-theme-enfold .tribe-events .datepicker .day.new,.tribe-theme-enfold .tribe-events .datepicker .day.old{opacity:1}.tribe-theme-enfold .tribe-events .datepicker .day,.tribe-theme-enfold .tribe-events .datepicker .month,.tribe-theme-enfold .tribe-events .datepicker .year{color:#141827;background-color:#fff}.tribe-theme-enfold .tribe-events .datepicker .day.focused,.tribe-theme-enfold .tribe-events .datepicker .day:focus,.tribe-theme-enfold .tribe-events .datepicker .day:hover,.tribe-theme-enfold .tribe-events .datepicker .month.focused,.tribe-theme-enfold .tribe-events .datepicker .month:focus,.tribe-theme-enfold .tribe-events .datepicker .month:hover,.tribe-theme-enfold .tribe-events .datepicker .year.focused,.tribe-theme-enfold .tribe-events .datepicker .year:focus,.tribe-theme-enfold .tribe-events .datepicker .year:hover{background:#f7f6f6}.tribe-theme-enfold .tribe-events .datepicker .day.past,.tribe-theme-enfold .tribe-events .datepicker .month.past,.tribe-theme-enfold .tribe-events .datepicker .year.past{color:rgba(20,24,39,.62)}.tribe-theme-enfold .tribe-events .datepicker .day.current,.tribe-theme-enfold .tribe-events .datepicker .day.current.focused,.tribe-theme-enfold .tribe-events .datepicker .day.current:focus,.tribe-theme-enfold .tribe-events .datepicker .day.current:hover,.tribe-theme-enfold .tribe-events .datepicker .month.current,.tribe-theme-enfold .tribe-events .datepicker .month.current.focused,.tribe-theme-enfold .tribe-events .datepicker .month.current:focus,.tribe-theme-enfold .tribe-events .datepicker .month.current:hover,.tribe-theme-enfold .tribe-events .datepicker .year.current,.tribe-theme-enfold .tribe-events .datepicker .year.current.focused,.tribe-theme-enfold .tribe-events .datepicker .year.current:focus,.tribe-theme-enfold .tribe-events .datepicker .year.current:hover{background:rgba(51,74,255,.07)}.tribe-theme-enfold .tribe-events .datepicker .day.active,.tribe-theme-enfold .tribe-events .datepicker .day.active.focused,.tribe-theme-enfold .tribe-events .datepicker .day.active:focus,.tribe-theme-enfold .tribe-events .datepicker .day.active:hover,.tribe-theme-enfold .tribe-events .datepicker .month.active,.tribe-theme-enfold .tribe-events .datepicker .month.active.focused,.tribe-theme-enfold .tribe-events .datepicker .month.active:focus,.tribe-theme-enfold .tribe-events .datepicker .month.active:hover,.tribe-theme-enfold .tribe-events .datepicker .year.active,.tribe-theme-enfold .tribe-events .datepicker .year.active.focused,.tribe-theme-enfold .tribe-events .datepicker .year.active:focus,.tribe-theme-enfold .tribe-events .datepicker .year.active:hover{color:#fff;background:#334aff}.tribe-theme-avada .tribe-events .datepicker{border:1px solid #d5d5d5;border-radius:4px}.tribe-theme-avada .tribe-events .datepicker tbody td{border:0}.tribe-theme-avada .tribe-events .datepicker .datepicker-switch,.tribe-theme-avada .tribe-events .datepicker .datepicker-switch:hover,.tribe-theme-avada .tribe-events .datepicker .next,.tribe-theme-avada .tribe-events .datepicker .next:hover,.tribe-theme-avada .tribe-events .datepicker .prev,.tribe-theme-avada .tribe-events .datepicker .prev:hover{background-color:#fff}.tribe-theme-avada .tribe-events .datepicker .day.new,.tribe-theme-avada .tribe-events .datepicker .day.old{background-color:transparent!important;color:#141827!important}.tribe-theme-avada .tribe-events .datepicker .day.new.focused,.tribe-theme-avada .tribe-events .datepicker .day.new:focus,.tribe-theme-avada .tribe-events .datepicker .day.new:hover,.tribe-theme-avada .tribe-events .datepicker .day.old.focused,.tribe-theme-avada .tribe-events .datepicker .day.old:focus,.tribe-theme-avada .tribe-events .datepicker .day.old:hover{background:#f7f6f6!important}.tribe-theme-avada .tribe-events .datepicker .day,.tribe-theme-avada .tribe-events .datepicker .month{background-color:transparent;color:#141827}.tribe-theme-avada .tribe-events .datepicker .day.focused,.tribe-theme-avada .tribe-events .datepicker .day:focus,.tribe-theme-avada .tribe-events .datepicker .day:hover,.tribe-theme-avada .tribe-events .datepicker .month.focused,.tribe-theme-avada .tribe-events .datepicker .month:focus,.tribe-theme-avada .tribe-events .datepicker .month:hover{background:#f7f6f6}.tribe-theme-avada .tribe-events .datepicker .day.past,.tribe-theme-avada .tribe-events .datepicker .month.past{color:rgba(20,24,39,.62)!important}.tribe-theme-avada .tribe-events .datepicker .day.current,.tribe-theme-avada .tribe-events .datepicker .day.current.focused,.tribe-theme-avada .tribe-events .datepicker .day.current:focus,.tribe-theme-avada .tribe-events .datepicker .day.current:hover,.tribe-theme-avada .tribe-events .datepicker .month.current,.tribe-theme-avada .tribe-events .datepicker .month.current.focused,.tribe-theme-avada .tribe-events .datepicker .month.current:focus,.tribe-theme-avada .tribe-events .datepicker .month.current:hover{background:rgba(51,74,255,.07)}.tribe-theme-avada .tribe-events .datepicker .day.active,.tribe-theme-avada .tribe-events .datepicker .day.active.focused,.tribe-theme-avada .tribe-events .datepicker .day.active:focus,.tribe-theme-avada .tribe-events .datepicker .day.active:hover,.tribe-theme-avada .tribe-events .datepicker .month.active,.tribe-theme-avada .tribe-events .datepicker .month.active.focused,.tribe-theme-avada .tribe-events .datepicker .month.active:focus,.tribe-theme-avada .tribe-events .datepicker .month.active:hover{color:#fff!important;background:#334aff!important}.tribe-events .tribe-events-c-day-marker:after{background-color:#d5d5d5;content:"";display:block;flex:auto;height:1px;margin-left:20px}.tribe-events .tribe-events-c-events-bar{background-color:#fff}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar--border{border:1px solid #e4e4e4}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__filters{border-right:1px solid #e4e4e4}.tribe-events .tribe-events-c-events-bar__search-button:focus .tribe-events-c-events-bar__search-button-icon,.tribe-events .tribe-events-c-events-bar__search-button:hover .tribe-events-c-events-bar__search-button-icon{opacity:.8}.tribe-events .tribe-events-c-events-bar__search-button:active .tribe-events-c-events-bar__search-button-icon{opacity:.9}.tribe-events .tribe-events-c-events-bar__search-button:before{background-color:#334aff;content:"";display:none;height:2px;pointer-events:none;position:absolute;top:100%;transform:translateY(4px);width:calc(100% - 8px)}.tribe-events .tribe-events-c-events-bar__search-button--active:before{display:block}.tribe-events .tribe-events-c-events-bar__tab{border-radius:4px}.tribe-events .tribe-events-c-events-bar__tab:active .tribe-events-c-events-bar__tab-text,.tribe-events .tribe-events-c-events-bar__tab:focus .tribe-events-c-events-bar__tab-text,.tribe-events .tribe-events-c-events-bar__tab:hover .tribe-events-c-events-bar__tab-text{font-weight:700}.tribe-events .tribe-events-c-events-bar__tab--active,.tribe-events .tribe-events-c-events-bar__tab--active:focus,.tribe-events .tribe-events-c-events-bar__tab--active:hover{background-color:#f7f6f6}.tribe-events .tribe-events-c-events-bar__tab--active .tribe-events-c-events-bar__tab-text{font-weight:700}.tribe-theme-twentyseventeen .tribe-events .tribe-events-c-events-bar__tab--active,.tribe-theme-twentyseventeen .tribe-events .tribe-events-c-events-bar__tab--active:focus,.tribe-theme-twentyseventeen .tribe-events .tribe-events-c-events-bar__tab--active:hover{background-color:#f7f6f6}.tribe-events .tribe-events-c-messages__message{background-color:rgba(20,24,39,.07);border-radius:4px}.tribe-events .tribe-events-c-messages__message--notice:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21 23'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath stroke='%23141827' d='M.5 2.5h20v20H.5z'/%3E%3Cpath stroke='%23334AFF' stroke-linecap='round' d='M7.583 11.583l5.834 5.834m0-5.834l-5.834 5.834'/%3E%3Cpath stroke='%23141827' stroke-linecap='round' d='M4.5.5v4m12-4v4'/%3E%3Cpath stroke='%23141827' stroke-linecap='square' d='M.5 7.5h20'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-size:22px;display:inline-block;content:"";min-width:22px;height:24px;margin-right:12px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-messages__message-list{text-align:center}.tribe-events .tribe-events-c-nav{border-top:1px solid #d5d5d5}.tribe-events .tribe-events-c-nav__list{list-style:none}.tribe-events .tribe-events-c-nav__next-label-plural,.tribe-events .tribe-events-c-nav__prev-label-plural{white-space:pre}.tribe-events .tribe-events-c-nav__today:focus,.tribe-events .tribe-events-c-nav__today:hover{color:rgba(20,24,39,.8)}.tribe-events .tribe-events-c-nav__today:active{color:#141827}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__next,.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__prev{color:#727272}.tribe-events .tribe-events-c-nav__next:focus,.tribe-events .tribe-events-c-nav__next:hover,.tribe-events .tribe-events-c-nav__prev:focus,.tribe-events .tribe-events-c-nav__prev:hover{color:rgba(20,24,39,.8)}.tribe-events .tribe-events-c-nav__next:active,.tribe-events .tribe-events-c-nav__prev:active{color:#141827}.tribe-events .tribe-events-c-nav__next:disabled,.tribe-events .tribe-events-c-nav__prev:disabled{background-color:transparent;color:#d5d5d5}.tribe-events .tribe-events-c-nav__prev:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23141827'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;content:"";height:12px;margin-right:8px;width:7px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__prev:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23727272'/%3E%3C/svg%3E");height:14px;margin-right:15px;width:9px}.tribe-events .tribe-events-c-nav__prev:focus:before,.tribe-events .tribe-events-c-nav__prev:hover:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23141827'/%3E%3C/svg%3E");opacity:.8}.tribe-events .tribe-events-c-nav__prev:active:before{opacity:1}.tribe-events .tribe-events-c-nav__prev:disabled:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23D5D5D5'/%3E%3C/svg%3E")}.tribe-events .tribe-events-c-nav__next:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23141827'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;content:"";height:12px;margin-left:8px;width:7px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__next:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23727272'/%3E%3C/svg%3E");height:14px;margin-left:15px;width:9px}.tribe-events .tribe-events-c-nav__next:focus:after,.tribe-events .tribe-events-c-nav__next:hover:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23141827'/%3E%3C/svg%3E");opacity:.8}.tribe-events .tribe-events-c-nav__next:active:after{opacity:1}.tribe-events .tribe-events-c-nav__next:disabled:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23D5D5D5'/%3E%3C/svg%3E")}.tribe-events .tribe-events-c-small-cta__stock{color:#727272}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search__input-control{border-right:1px solid #e4e4e4}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search__input-control:last-child{border-right:0}.tribe-events .tribe-events-c-search__input--icon{background-repeat:no-repeat;background-position:100%}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search__input--icon{background-position:16px}.tribe-events .tribe-events-c-search__input-control--keyword .tribe-events-c-search__input{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23727272'/%3E%3C/svg%3E");background-size:16px}.tribe-events .tribe-events-c-search__input-control--keyword-focus .tribe-events-c-search__input,.tribe-events .tribe-events-c-search__input-control--keyword .tribe-events-c-search__input:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23334AFF'/%3E%3C/svg%3E")}.tribe-events .tribe-events-c-search__input-control--location .tribe-events-c-search__input{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.682 1.548a5.166 5.166 0 0 0-7.375 0C-3.073 5.984 4.959 15.36 4.994 15.36c.051-.001 8.092-9.35 3.688-13.812zM4.994 2.833c1.27 0 2.301 1.043 2.301 2.331 0 1.287-1.03 2.33-2.301 2.33-1.272 0-2.3-1.043-2.3-2.33 0-1.288 1.028-2.331 2.3-2.331z' fill='%23727272' fill-rule='evenodd'/%3E%3C/svg%3E");background-size:10px 15px}.tribe-events .tribe-events-c-search__input-control--location-focus .tribe-events-c-search__input,.tribe-events .tribe-events-c-search__input-control--location .tribe-events-c-search__input:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.682 1.548a5.166 5.166 0 0 0-7.375 0C-3.073 5.984 4.959 15.36 4.994 15.36c.051-.001 8.092-9.35 3.688-13.812zM4.994 2.833c1.27 0 2.301 1.043 2.301 2.331 0 1.287-1.03 2.33-2.301 2.33-1.272 0-2.3-1.043-2.3-2.33 0-1.288 1.028-2.331 2.3-2.331z' fill='%23334AFF' fill-rule='evenodd'/%3E%3C/svg%3E")}#top.tribe-theme-enfold .tribe-events .tribe-events-c-search__input--icon{background-repeat:no-repeat;background-position:100%}#top.tribe-theme-enfold .tribe-events.tribe-common--breakpoint-medium .tribe-events-c-search__input--icon{background-position:16px}#top.tribe-theme-enfold .tribe-events .tribe-events-c-search__input-control--keyword .tribe-events-c-search__input{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23727272'/%3E%3C/svg%3E");background-size:16px}#top.tribe-theme-enfold .tribe-events .tribe-events-c-search__input-control--keyword-focus .tribe-events-c-search__input,#top.tribe-theme-enfold .tribe-events .tribe-events-c-search__input-control--keyword .tribe-events-c-search__input:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23334AFF'/%3E%3C/svg%3E")}#top.tribe-theme-enfold .tribe-events .tribe-events-c-search__input-control--location .tribe-events-c-search__input{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.682 1.548a5.166 5.166 0 0 0-7.375 0C-3.073 5.984 4.959 15.36 4.994 15.36c.051-.001 8.092-9.35 3.688-13.812zM4.994 2.833c1.27 0 2.301 1.043 2.301 2.331 0 1.287-1.03 2.33-2.301 2.33-1.272 0-2.3-1.043-2.3-2.33 0-1.288 1.028-2.331 2.3-2.331z' fill='%23727272' fill-rule='evenodd'/%3E%3C/svg%3E");background-size:10px 15px}#top.tribe-theme-enfold .tribe-events .tribe-events-c-search__input-control--location-focus .tribe-events-c-search__input,#top.tribe-theme-enfold .tribe-events .tribe-events-c-search__input-control--location .tribe-events-c-search__input:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.682 1.548a5.166 5.166 0 0 0-7.375 0C-3.073 5.984 4.959 15.36 4.994 15.36c.051-.001 8.092-9.35 3.688-13.812zM4.994 2.833c1.27 0 2.301 1.043 2.301 2.331 0 1.287-1.03 2.33-2.301 2.33-1.272 0-2.3-1.043-2.3-2.33 0-1.288 1.028-2.331 2.3-2.331z' fill='%23334AFF' fill-rule='evenodd'/%3E%3C/svg%3E")}.tooltipster-base.tribe-events-tooltip-theme{background-color:#fff;border:1px solid #d5d5d5;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.14)}.tooltipster-base.tribe-events-tooltip-theme .tooltipster-box{background-color:transparent;border:0;border-radius:0;box-shadow:none}.tooltipster-base.tribe-events-tooltip-theme .tooltipster-box .tooltipster-content{color:#141827;overflow:inherit}.tribe-events .tribe-events-c-top-bar__datepicker-button{transition:opacity .2s ease}.tribe-events .tribe-events-c-top-bar__datepicker-button:focus,.tribe-events .tribe-events-c-top-bar__datepicker-button:hover{opacity:.8}.tribe-events .tribe-events-c-top-bar__datepicker-button:active{opacity:.9}.tribe-events .tribe-events-c-top-bar__datepicker-button:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.21.85L6 5.64 10.79.85 11.94 2 6 7.94.06 2z' fill='%23141827'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;content:"";display:block;margin-left:8px;height:6px;width:10px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-top-bar__datepicker-button:after{height:7px;width:12px}.tribe-events .tribe-events-c-top-bar__datepicker-button--open:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.21 7.15L6 2.36l4.79 4.79L11.94 6 6 .06.06 6z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button:before{content:none}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.21.85L6 5.64 10.79.85 11.94 2 6 7.94.06 2z' fill='%23141827'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;content:"";display:block;flex:none;height:6px;margin-left:8px;width:10px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button--active:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.21 7.15L6 2.36l4.79 4.79L11.94 6 6 .06.06 6z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button-text{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:14px;line-height:1.62;font-weight:400;font-weight:700}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__content{box-shadow:0 2px 5px 0 rgba(0,0,0,.14)}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__content{border:0;border-radius:0;box-shadow:none}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link{background-color:transparent}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link:after{background-color:#141827;bottom:-1px;content:"";display:block;height:2px;position:absolute;width:100%}.tribe-events .tribe-events-c-view-selector__button{text-align:left}.tribe-events .tribe-events-c-view-selector__button:focus .tribe-events-c-view-selector__button-icon,.tribe-events .tribe-events-c-view-selector__button:hover .tribe-events-c-view-selector__button-icon{opacity:.8}.tribe-events .tribe-events-c-view-selector__button:active .tribe-events-c-view-selector__button-icon{opacity:.9}.tribe-events .tribe-events-c-view-selector__button:before{background-color:#334aff;content:"";display:none;height:2px;pointer-events:none;position:absolute;top:100%;transform:translateY(4px);width:calc(100% - 8px)}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector__button:before{width:calc(100% - 16px);transform:none}.tribe-events .tribe-events-c-view-selector__button--active:before{display:block}.tribe-events .tribe-events-c-view-selector__content{border:1px solid #e4e4e4;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.14)}.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link{background-color:#f7f6f6}.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-text{font-weight:700}.tribe-events .tribe-events-c-view-selector__list-item-link{border-radius:4px}.tribe-events .tribe-events-c-view-selector__list-item-link:focus .tribe-events-c-view-selector__list-item-icon,.tribe-events .tribe-events-c-view-selector__list-item-link:hover .tribe-events-c-view-selector__list-item-icon{opacity:.8}.tribe-events .tribe-events-c-view-selector__list-item-link:focus .tribe-events-c-view-selector__list-item-text,.tribe-events .tribe-events-c-view-selector__list-item-link:hover .tribe-events-c-view-selector__list-item-text{color:rgba(20,24,39,.8)}.tribe-events .tribe-events-c-view-selector__list-item-text{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:14px;line-height:1.62;font-weight:400}.tribe-events .tribe-events-calendar-list__event-row--featured .tribe-events-calendar-list__event-date-tag-datetime:after{background-color:#334aff;content:"";height:100%;right:calc(100% - 3px);position:absolute;width:3px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-row--featured .tribe-events-calendar-list__event-date-tag-datetime:after{right:-1px;width:4px}.tribe-events .tribe-events-calendar-list__event-venue{font-style:normal}.tribe-events .tribe-events-calendar-list__event-date-tag-weekday{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:11px;font-weight:400;line-height:1.5;color:#727272;text-transform:uppercase}.tribe-events .tribe-events-calendar-list__event-featured-image-link{transition:opacity .2s ease}.tribe-events .tribe-events-calendar-list__event-featured-image-link:focus,.tribe-events .tribe-events-calendar-list__event-featured-image-link:hover{opacity:.8}.tribe-events .tribe-events-calendar-list__event-featured-image-link:active{opacity:.9}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-datetime-featured-text{color:#334aff;font-weight:700}.tribe-events .tribe-events-calendar-list__event-datetime-recurring-link:focus .tribe-events-calendar-list__event-datetime-recurring-icon,.tribe-events .tribe-events-calendar-list__event-datetime-recurring-link:hover .tribe-events-calendar-list__event-datetime-recurring-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.333 3.826c0 .065 0 .13-.02.174 0 .022-.02.065-.02.087a.9.9 0 0 1-.197.37L10.45 7.37a.797.797 0 0 1-.592.26.797.797 0 0 1-.593-.26c-.316-.348-.316-.935 0-1.305l1.225-1.348H6.3c-2.547 0-4.64 2.283-4.64 5.11 0 1.369.474 2.651 1.363 3.608.316.348.316.935 0 1.304A.797.797 0 0 1 2.43 15a.797.797 0 0 1-.593-.26C.652 13.434 0 11.695 0 9.847c0-3.826 2.825-6.935 6.301-6.935h4.208L9.284 1.565c-.316-.348-.316-.935 0-1.304.316-.348.85-.348 1.185 0l2.647 2.913a.952.952 0 0 1 .198.37c0 .021.02.065.02.086v.196zM20 10.152c0 3.826-2.825 6.935-6.301 6.935H9.49l1.225 1.348c.336.348.336.935 0 1.304a.797.797 0 0 1-.593.261.83.83 0 0 1-.592-.26l-2.627-2.936a.948.948 0 0 1-.198-.37c0-.021-.02-.064-.02-.086-.02-.065-.02-.109-.02-.174 0-.065 0-.13.02-.174 0-.022.02-.065.02-.087a.9.9 0 0 1 .198-.37L9.55 12.63c.316-.347.849-.347 1.185 0 .336.348.336.935 0 1.305L9.51 15.283h4.208c2.548 0 4.641-2.283 4.641-5.11 0-1.369-.474-2.651-1.362-3.608a.97.97 0 0 1 0-1.304c.316-.348.849-.348 1.185 0C19.348 6.543 20 8.283 20 10.152z' fill='%23334AFF'/%3E%3C/svg%3E")}.tribe-events .tribe-events-calendar-list__month-separator:after{background-color:#d5d5d5;content:"";display:block;flex:auto;height:1px;margin-left:20px}.tribe-events .tribe-events-calendar-list-nav{border-top:1px solid #d5d5d5}.tribe-events .tribe-events-calendar-month__day--past .tribe-events-calendar-month__calendar-event{opacity:.5}.tribe-events .tribe-events-calendar-month__calendar-event-featured-image-link{transition:opacity .2s ease}.tribe-events .tribe-events-calendar-month__calendar-event-featured-image-link:focus,.tribe-events .tribe-events-calendar-month__calendar-event-featured-image-link:hover{opacity:.8}.tribe-events .tribe-events-calendar-month__calendar-event-featured-image-link:active{opacity:.9}.tribe-events .tribe-events-calendar-month__calendar-event-datetime{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:11px;font-weight:400;line-height:1.5;color:#727272}.tribe-events .tribe-events-calendar-month__calendar-event--featured:before{background-color:#334aff;content:"";height:100%;left:7px;position:absolute;width:2px}.tribe-events .tribe-events-calendar-month__calendar-event--featured:last-child:before{height:calc(100% - 16px)}.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-link:focus .tribe-events-calendar-month__calendar-event-datetime-recurring-icon,.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-link:hover .tribe-events-calendar-month__calendar-event-datetime-recurring-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.333 3.826c0 .065 0 .13-.02.174 0 .022-.02.065-.02.087a.9.9 0 0 1-.197.37L10.45 7.37a.797.797 0 0 1-.592.26.797.797 0 0 1-.593-.26c-.316-.348-.316-.935 0-1.305l1.225-1.348H6.3c-2.547 0-4.64 2.283-4.64 5.11 0 1.369.474 2.651 1.363 3.608.316.348.316.935 0 1.304A.797.797 0 0 1 2.43 15a.797.797 0 0 1-.593-.26C.652 13.434 0 11.695 0 9.847c0-3.826 2.825-6.935 6.301-6.935h4.208L9.284 1.565c-.316-.348-.316-.935 0-1.304.316-.348.85-.348 1.185 0l2.647 2.913a.952.952 0 0 1 .198.37c0 .021.02.065.02.086v.196zM20 10.152c0 3.826-2.825 6.935-6.301 6.935H9.49l1.225 1.348c.336.348.336.935 0 1.304a.797.797 0 0 1-.593.261.83.83 0 0 1-.592-.26l-2.627-2.936a.948.948 0 0 1-.198-.37c0-.021-.02-.064-.02-.086-.02-.065-.02-.109-.02-.174 0-.065 0-.13.02-.174 0-.022.02-.065.02-.087a.9.9 0 0 1 .198-.37L9.55 12.63c.316-.347.849-.347 1.185 0 .336.348.336.935 0 1.305L9.51 15.283h4.208c2.548 0 4.641-2.283 4.641-5.11 0-1.369-.474-2.651-1.362-3.608a.97.97 0 0 1 0-1.304c.316-.348.849-.348 1.185 0C19.348 6.543 20 8.283 20 10.152z' fill='%23334AFF'/%3E%3C/svg%3E")}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image-link{transition:opacity .2s ease}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image-link:focus,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image-link:hover{opacity:.8}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image-link:active{opacity:.9}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:11px;font-weight:400;line-height:1.5}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-link:focus .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-icon,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-link:hover .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.333 3.826c0 .065 0 .13-.02.174 0 .022-.02.065-.02.087a.9.9 0 0 1-.197.37L10.45 7.37a.797.797 0 0 1-.592.26.797.797 0 0 1-.593-.26c-.316-.348-.316-.935 0-1.305l1.225-1.348H6.3c-2.547 0-4.64 2.283-4.64 5.11 0 1.369.474 2.651 1.363 3.608.316.348.316.935 0 1.304A.797.797 0 0 1 2.43 15a.797.797 0 0 1-.593-.26C.652 13.434 0 11.695 0 9.847c0-3.826 2.825-6.935 6.301-6.935h4.208L9.284 1.565c-.316-.348-.316-.935 0-1.304.316-.348.85-.348 1.185 0l2.647 2.913a.952.952 0 0 1 .198.37c0 .021.02.065.02.086v.196zM20 10.152c0 3.826-2.825 6.935-6.301 6.935H9.49l1.225 1.348c.336.348.336.935 0 1.304a.797.797 0 0 1-.593.261.83.83 0 0 1-.592-.26l-2.627-2.936a.948.948 0 0 1-.198-.37c0-.021-.02-.064-.02-.086-.02-.065-.02-.109-.02-.174 0-.065 0-.13.02-.174 0-.022.02-.065.02-.087a.9.9 0 0 1 .198-.37L9.55 12.63c.316-.347.849-.347 1.185 0 .336.348.336.935 0 1.305L9.51 15.283h4.208c2.548 0 4.641-2.283 4.641-5.11 0-1.369-.474-2.651-1.362-3.608a.97.97 0 0 1 0-1.304c.316-.348.849-.348 1.185 0C19.348 6.543 20 8.283 20 10.152z' fill='%23334AFF'/%3E%3C/svg%3E")}.tribe-events .tribe-events-calendar-month__header-column{text-transform:uppercase}.tribe-events .tribe-events-calendar-month__header-column-title{color:#727272;text-align:center}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__header-column-title{text-align:left}.tribe-events .tribe-events-calendar-month__day{border-radius:4px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day{border-radius:0}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day:after{background-color:transparent;bottom:0;content:"";display:block;height:2px;left:-1px;position:absolute;transition:background-color .2s ease;width:calc(100% + 2px)}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day:hover:after{background-color:#141827}.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date,.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link{color:#334aff;font-weight:700}.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link:focus,.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link:hover{color:rgba(51,74,255,.8)}.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link:active{color:rgba(51,74,255,.9)}.tribe-events .tribe-events-calendar-month__day--past .tribe-events-calendar-month__day-date{opacity:.4}.tribe-events .tribe-events-calendar-month__day--past .tribe-events-calendar-month__mobile-events-icon--event{background-color:#141827;opacity:.5}.tribe-events .tribe-events-calendar-month__day--past .tribe-events-calendar-month__mobile-events-icon--featured{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h16v20l-7.902-5.122L0 20z' fill='%23141827'/%3E%3C/svg%3E");opacity:.5}.tribe-events .tribe-events-calendar-month__day-cell--mobile:focus,.tribe-events .tribe-events-calendar-month__day-cell--mobile:hover{background-color:#f7f6f6}.tribe-events .tribe-events-calendar-month__day-cell--selected,.tribe-events .tribe-events-calendar-month__day-cell--selected:focus,.tribe-events .tribe-events-calendar-month__day-cell--selected:hover{background-color:#334aff}.tribe-events .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__day-date{color:#fff;opacity:1}.tribe-events .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__mobile-events-icon--event{background-color:#fff;opacity:1}.tribe-events .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__mobile-events-icon--featured{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h16v20l-7.902-5.122L0 20z' fill='%23FFF'/%3E%3C/svg%3E");opacity:1}.tribe-events .tribe-events-calendar-month__day-date-link{color:#141827;transition:color .2s ease}.tribe-events .tribe-events-calendar-month__day-date-link:focus,.tribe-events .tribe-events-calendar-month__day-date-link:hover{color:rgba(20,24,39,.8)}.tribe-events .tribe-events-calendar-month__day-date-link:active{color:rgba(20,24,39,.9)}.tribe-events .tribe-events-calendar-month__mobile-events-icon--event{background-color:#334aff}.tribe-events .tribe-events-calendar-month__mobile-events-icon--featured{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h16v20l-7.902-5.122L0 20z' fill='%23334AFF'/%3E%3C/svg%3E")}.tribe-theme-twentyseventeen .tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link:focus,.tribe-theme-twentyseventeen .tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link:hover{color:rgba(51,74,255,.8)}.tribe-theme-twentyseventeen .tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link:active{color:rgba(51,74,255,.9)}.tribe-theme-twentyseventeen .tribe-events .tribe-events-calendar-month__day-cell--selected:focus,.tribe-theme-twentyseventeen .tribe-events .tribe-events-calendar-month__day-cell--selected:hover{background-color:#334aff}.tribe-theme-twentyseventeen .tribe-events .tribe-events-calendar-month__day-date-link:focus,.tribe-theme-twentyseventeen .tribe-events .tribe-events-calendar-month__day-date-link:hover{color:rgba(20,24,39,.8)}.tribe-theme-twentyseventeen .tribe-events .tribe-events-calendar-month__day-date-link:active{color:rgba(20,24,39,.9)}.tribe-theme-twentytwenty .tribe-events .tribe-events-calendar-month__day-cell--selected{background-color:#334aff}.tribe-theme-avada #main .tribe-events .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__day-date{color:#fff}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event+.tribe-events-calendar-month-mobile-events__mobile-event{border-top:1px solid #d5d5d5}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime{color:#727272}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime-featured-text{color:#334aff;font-weight:700}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime-recurring-link:focus .tribe-events-calendar-month-mobile-events__mobile-event-datetime-icon,.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime-recurring-link:hover .tribe-events-calendar-month-mobile-events__mobile-event-datetime-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.333 3.826c0 .065 0 .13-.02.174 0 .022-.02.065-.02.087a.9.9 0 0 1-.197.37L10.45 7.37a.797.797 0 0 1-.592.26.797.797 0 0 1-.593-.26c-.316-.348-.316-.935 0-1.305l1.225-1.348H6.3c-2.547 0-4.64 2.283-4.64 5.11 0 1.369.474 2.651 1.363 3.608.316.348.316.935 0 1.304A.797.797 0 0 1 2.43 15a.797.797 0 0 1-.593-.26C.652 13.434 0 11.695 0 9.847c0-3.826 2.825-6.935 6.301-6.935h4.208L9.284 1.565c-.316-.348-.316-.935 0-1.304.316-.348.85-.348 1.185 0l2.647 2.913a.952.952 0 0 1 .198.37c0 .021.02.065.02.086v.196zM20 10.152c0 3.826-2.825 6.935-6.301 6.935H9.49l1.225 1.348c.336.348.336.935 0 1.304a.797.797 0 0 1-.593.261.83.83 0 0 1-.592-.26l-2.627-2.936a.948.948 0 0 1-.198-.37c0-.021-.02-.064-.02-.086-.02-.065-.02-.109-.02-.174 0-.065 0-.13.02-.174 0-.022.02-.065.02-.087a.9.9 0 0 1 .198-.37L9.55 12.63c.316-.347.849-.347 1.185 0 .336.348.336.935 0 1.305L9.51 15.283h4.208c2.548 0 4.641-2.283 4.641-5.11 0-1.369-.474-2.651-1.362-3.608a.97.97 0 0 1 0-1.304c.316-.348.849-.348 1.185 0C19.348 6.543 20 8.283 20 10.152z' fill='%23334AFF'/%3E%3C/svg%3E")}.tribe-events .tribe-events-calendar-month__more-events{border-top:1px solid #e4e4e4}.tribe-events .tribe-events-calendar-month__day--past .tribe-events-calendar-month__more-events-link{opacity:.5}.tribe-events .tribe-events-calendar-month__multiday-event--start .tribe-events-calendar-month__multiday-event-bar{border-top-left-radius:9.5px;border-bottom-left-radius:9.5px}.tribe-events .tribe-events-calendar-month__multiday-event--end .tribe-events-calendar-month__multiday-event-bar{border-top-right-radius:9.5px;border-bottom-right-radius:9.5px}.tribe-events .tribe-events-calendar-month__multiday-event-bar-inner{background-color:rgba(51,74,255,.24);transition:background-color .2s ease}.tribe-events .tribe-events-calendar-month__multiday-event-bar-inner--focus,.tribe-events .tribe-events-calendar-month__multiday-event-bar-inner--hover,.tribe-events .tribe-events-calendar-month__multiday-event-bar-inner:focus,.tribe-events .tribe-events-calendar-month__multiday-event-bar-inner:hover{background-color:rgba(51,74,255,.34)}.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-inner{background-color:#f7f6f6}.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-inner--focus,.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-inner--hover,.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-inner:focus,.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-inner:hover{background-color:#f0eeee}.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-featured-icon,.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-title{opacity:.5}.tribe-events .tribe-events-calendar-month__multiday-event-bar-title{font-weight:400;text-overflow:ellipsis}.tribe-theme-avada #main .tribe-events .tribe-events-calendar-month__multiday-event-bar-title{font-weight:400}.tribe-events .tribe-events-calendar-day__event--featured{position:relative}.tribe-events .tribe-events-calendar-day__event--featured:after{background-color:#334aff;content:"";height:100%;left:21px;position:absolute;width:3px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event--featured:after{left:calc(11.111% - 24px);width:4px}.tribe-events .tribe-events-calendar-day__event-venue{font-style:normal}.tribe-events .tribe-events-calendar-day__event-featured-image-link{transition:opacity .2s ease}.tribe-events .tribe-events-calendar-day__event-featured-image-link:focus,.tribe-events .tribe-events-calendar-day__event-featured-image-link:hover{opacity:.8}.tribe-events .tribe-events-calendar-day__event-featured-image-link:active{opacity:.9}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-datetime-featured-text{color:#334aff;font-weight:700}.tribe-events .tribe-events-calendar-day__event-datetime-recurring-link:focus .tribe-events-calendar-day__event-datetime-recurring-icon,.tribe-events .tribe-events-calendar-day__event-datetime-recurring-link:hover .tribe-events-calendar-day__event-datetime-recurring-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.333 3.826c0 .065 0 .13-.02.174 0 .022-.02.065-.02.087a.9.9 0 0 1-.197.37L10.45 7.37a.797.797 0 0 1-.592.26.797.797 0 0 1-.593-.26c-.316-.348-.316-.935 0-1.305l1.225-1.348H6.3c-2.547 0-4.64 2.283-4.64 5.11 0 1.369.474 2.651 1.363 3.608.316.348.316.935 0 1.304A.797.797 0 0 1 2.43 15a.797.797 0 0 1-.593-.26C.652 13.434 0 11.695 0 9.847c0-3.826 2.825-6.935 6.301-6.935h4.208L9.284 1.565c-.316-.348-.316-.935 0-1.304.316-.348.85-.348 1.185 0l2.647 2.913a.952.952 0 0 1 .198.37c0 .021.02.065.02.086v.196zM20 10.152c0 3.826-2.825 6.935-6.301 6.935H9.49l1.225 1.348c.336.348.336.935 0 1.304a.797.797 0 0 1-.593.261.83.83 0 0 1-.592-.26l-2.627-2.936a.948.948 0 0 1-.198-.37c0-.021-.02-.064-.02-.086-.02-.065-.02-.109-.02-.174 0-.065 0-.13.02-.174 0-.022.02-.065.02-.087a.9.9 0 0 1 .198-.37L9.55 12.63c.316-.347.849-.347 1.185 0 .336.348.336.935 0 1.305L9.51 15.283h4.208c2.548 0 4.641-2.283 4.641-5.11 0-1.369-.474-2.651-1.362-3.608a.97.97 0 0 1 0-1.304c.316-.348.849-.348 1.185 0C19.348 6.543 20 8.283 20 10.152z' fill='%23334AFF'/%3E%3C/svg%3E")}.tribe-events .tribe-events-calendar-day-nav{border-top:1px solid #d5d5d5}.tribe-events .tribe-events-calendar-day__time-separator:after,.tribe-events .tribe-events-calendar-day__type-separator:after{background-color:#d5d5d5;content:"";display:block;flex:auto;height:1px;margin-left:20px}
|
src/resources/css/views-skeleton.css
CHANGED
|
@@ -391,8 +391,17 @@
|
|
| 391 |
.tribe-events .tribe-events-l-container {
|
| 392 |
padding-bottom: 80px;
|
| 393 |
padding-top: 64px;
|
|
|
|
| 394 |
}
|
| 395 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 396 |
/* Components */
|
| 397 |
|
| 398 |
/* -----------------------------------------------------------------------------
|
|
@@ -417,6 +426,10 @@
|
|
| 417 |
width: 100%;
|
| 418 |
}
|
| 419 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 420 |
.tribe-events .tribe-events-c-breadcrumbs__list {
|
| 421 |
display: -webkit-box;
|
| 422 |
display: flex;
|
|
@@ -441,6 +454,12 @@
|
|
| 441 |
margin: 0 6px;
|
| 442 |
}
|
| 443 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 444 |
/* Datepicker */
|
| 445 |
|
| 446 |
/* -----------------------------------------------------------------------------
|
|
@@ -463,6 +482,10 @@
|
|
| 463 |
padding: 0 16px 16px;
|
| 464 |
}
|
| 465 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 466 |
.tribe-events .datepicker table {
|
| 467 |
border-collapse: collapse;
|
| 468 |
}
|
|
@@ -471,6 +494,7 @@
|
|
| 471 |
.tribe-events .datepicker .prev,
|
| 472 |
.tribe-events .datepicker .next {
|
| 473 |
padding: 20px 0;
|
|
|
|
| 474 |
}
|
| 475 |
|
| 476 |
.tribe-events .datepicker .prev .tribe-common-svgicon, .tribe-events .datepicker .next .tribe-common-svgicon {
|
|
@@ -541,6 +565,10 @@
|
|
| 541 |
margin-top: 8px;
|
| 542 |
}
|
| 543 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 544 |
/* -----------------------------------------------------------------------------
|
| 545 |
* Theme Overrides - Divi
|
| 546 |
* ----------------------------------------------------------------------------- */
|
|
@@ -636,6 +664,12 @@
|
|
| 636 |
display: flex;
|
| 637 |
}
|
| 638 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 639 |
.tribe-events .tribe-events-c-events-bar__views {
|
| 640 |
display: -webkit-box;
|
| 641 |
display: flex;
|
|
@@ -656,6 +690,25 @@
|
|
| 656 |
z-index: 30;
|
| 657 |
}
|
| 658 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 659 |
.tribe-events .tribe-events-c-events-bar__search-form {
|
| 660 |
width: 100%;
|
| 661 |
}
|
|
@@ -670,11 +723,43 @@
|
|
| 670 |
margin-right: -12px;
|
| 671 |
}
|
| 672 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 673 |
.tribe-events .tribe-events-c-events-bar__filters-button {
|
| 674 |
display: none !important;
|
| 675 |
visibility: hidden;
|
| 676 |
}
|
| 677 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 678 |
.tribe-events .tribe-events-c-events-bar__search-button {
|
| 679 |
display: inline-block;
|
| 680 |
margin-right: 8px;
|
|
@@ -682,6 +767,11 @@
|
|
| 682 |
position: relative;
|
| 683 |
}
|
| 684 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 685 |
.tribe-events .tribe-events-c-events-bar__search-button-icon {
|
| 686 |
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23141827'/%3E%3C/svg%3E");
|
| 687 |
display: block;
|
|
@@ -705,6 +795,11 @@
|
|
| 705 |
padding-bottom: 12px;
|
| 706 |
}
|
| 707 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 708 |
.tribe-events .tribe-events-c-events-bar__tab {
|
| 709 |
-webkit-box-align: center;
|
| 710 |
align-items: center;
|
|
@@ -820,6 +915,12 @@
|
|
| 820 |
width: 100%;
|
| 821 |
}
|
| 822 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 823 |
/* Navigation */
|
| 824 |
|
| 825 |
/* -----------------------------------------------------------------------------
|
|
@@ -846,6 +947,10 @@
|
|
| 846 |
padding-top: 20px;
|
| 847 |
}
|
| 848 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 849 |
.tribe-events .tribe-events-c-nav__list {
|
| 850 |
display: -webkit-box;
|
| 851 |
display: flex;
|
|
@@ -861,6 +966,10 @@
|
|
| 861 |
width: 33.33%;
|
| 862 |
}
|
| 863 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 864 |
.tribe-events .tribe-events-c-nav__list-item--prev {
|
| 865 |
-webkit-box-pack: start;
|
| 866 |
justify-content: flex-start;
|
|
@@ -876,6 +985,11 @@
|
|
| 876 |
justify-content: center;
|
| 877 |
}
|
| 878 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 879 |
.tribe-events .tribe-events-c-nav__prev-label-plural,
|
| 880 |
.tribe-events .tribe-events-c-nav__next-label-plural {
|
| 881 |
border: 0;
|
|
@@ -888,6 +1002,14 @@
|
|
| 888 |
width: 1px;
|
| 889 |
}
|
| 890 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 891 |
.tribe-events .tribe-events-c-nav__prev,
|
| 892 |
.tribe-events .tribe-events-c-nav__next {
|
| 893 |
-webkit-box-align: center;
|
|
@@ -1003,18 +1125,58 @@
|
|
| 1003 |
*
|
| 1004 |
* ----------------------------------------------------------------------------- */
|
| 1005 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1006 |
.tribe-events .tribe-events-c-search__button {
|
| 1007 |
margin-top: 24px;
|
| 1008 |
}
|
| 1009 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1010 |
/* -----------------------------------------------------------------------------
|
| 1011 |
* Theme Overrides - Enfold
|
| 1012 |
* ----------------------------------------------------------------------------- */
|
| 1013 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1014 |
/* -----------------------------------------------------------------------------
|
| 1015 |
* Theme Overrides - Avada
|
| 1016 |
* ----------------------------------------------------------------------------- */
|
| 1017 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1018 |
/* Tooltip */
|
| 1019 |
|
| 1020 |
/* -----------------------------------------------------------------------------
|
|
@@ -1061,6 +1223,24 @@
|
|
| 1061 |
* ----------------------------------------------------------------------------- */
|
| 1062 |
}
|
| 1063 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1064 |
.tribe-events .tribe-events-c-top-bar__nav-list {
|
| 1065 |
display: -webkit-box;
|
| 1066 |
display: flex;
|
|
@@ -1080,6 +1260,19 @@
|
|
| 1080 |
display: block;
|
| 1081 |
}
|
| 1082 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1083 |
.tribe-events .tribe-events-c-top-bar__datepicker-form {
|
| 1084 |
-webkit-box-align: center;
|
| 1085 |
align-items: center;
|
|
@@ -1093,6 +1286,25 @@
|
|
| 1093 |
position: relative;
|
| 1094 |
}
|
| 1095 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1096 |
.tribe-events .tribe-events-c-top-bar__datepicker-button {
|
| 1097 |
-webkit-box-align: center;
|
| 1098 |
align-items: center;
|
|
@@ -1110,10 +1322,26 @@
|
|
| 1110 |
width: 363px;
|
| 1111 |
}
|
| 1112 |
|
| 1113 |
-
.tribe-events .tribe-events-c-top-
|
| 1114 |
-
|
| 1115 |
-
|
| 1116 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1117 |
|
| 1118 |
/* -----------------------------------------------------------------------------
|
| 1119 |
* Theme Overrides - Enfold
|
|
@@ -1202,6 +1430,80 @@
|
|
| 1202 |
width: 29px;
|
| 1203 |
}
|
| 1204 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1205 |
.tribe-events .tribe-events-c-view-selector__button {
|
| 1206 |
-webkit-box-align: center;
|
| 1207 |
align-items: center;
|
|
@@ -1212,12 +1514,21 @@
|
|
| 1212 |
width: 100%;
|
| 1213 |
}
|
| 1214 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1215 |
.tribe-events .tribe-events-c-view-selector__button-icon {
|
| 1216 |
display: block;
|
| 1217 |
height: 21px;
|
| 1218 |
width: 21px;
|
| 1219 |
}
|
| 1220 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1221 |
.tribe-events .tribe-events-c-view-selector__content {
|
| 1222 |
display: none;
|
| 1223 |
background-color: #FFFFFF;
|
|
@@ -1230,6 +1541,11 @@
|
|
| 1230 |
z-index: 30;
|
| 1231 |
}
|
| 1232 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1233 |
.tribe-events .tribe-events-c-view-selector__list-item-link {
|
| 1234 |
-webkit-box-align: center;
|
| 1235 |
align-items: center;
|
|
@@ -1288,21 +1604,57 @@
|
|
| 1288 |
position: relative;
|
| 1289 |
}
|
| 1290 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1291 |
.tribe-events .tribe-events-header__messages {
|
| 1292 |
margin-bottom: 16px;
|
| 1293 |
width: 100%;
|
| 1294 |
}
|
| 1295 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1296 |
.tribe-events .tribe-events-header__events-bar {
|
| 1297 |
-webkit-box-flex: 0;
|
| 1298 |
flex: none;
|
| 1299 |
}
|
| 1300 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1301 |
.tribe-events .tribe-events-header__top-bar {
|
| 1302 |
-webkit-box-flex: 1;
|
| 1303 |
flex: auto;
|
| 1304 |
}
|
| 1305 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1306 |
/* List */
|
| 1307 |
|
| 1308 |
/**
|
|
@@ -1322,14 +1674,34 @@
|
|
| 1322 |
margin-top: 32px;
|
| 1323 |
}
|
| 1324 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1325 |
.tribe-events .tribe-events-calendar-list__event-row:last-child {
|
| 1326 |
margin-bottom: 40px;
|
| 1327 |
}
|
| 1328 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1329 |
.tribe-events .tribe-events-calendar-list__month-separator + .tribe-events-calendar-list__event-row {
|
| 1330 |
margin-top: 20px;
|
| 1331 |
}
|
| 1332 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1333 |
.tribe-events .tribe-events-calendar-list__event-date-tag {
|
| 1334 |
-webkit-box-flex: 0;
|
| 1335 |
flex: none;
|
|
@@ -1337,6 +1709,11 @@
|
|
| 1337 |
position: relative;
|
| 1338 |
}
|
| 1339 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1340 |
.tribe-events .tribe-events-calendar-list__event-date-tag-datetime {
|
| 1341 |
display: -webkit-box;
|
| 1342 |
display: flex;
|
|
@@ -1357,18 +1734,36 @@
|
|
| 1357 |
width: calc(75% + 21px);
|
| 1358 |
}
|
| 1359 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1360 |
.tribe-events .tribe-events-calendar-list__event {
|
| 1361 |
-webkit-box-orient: vertical;
|
| 1362 |
-webkit-box-direction: normal;
|
| 1363 |
flex-direction: column;
|
| 1364 |
}
|
| 1365 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1366 |
.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper {
|
| 1367 |
-webkit-box-flex: 0;
|
| 1368 |
flex: none;
|
| 1369 |
margin-bottom: 16px;
|
| 1370 |
}
|
| 1371 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1372 |
.tribe-events .tribe-events-calendar-list__event-featured-image-link,
|
| 1373 |
.tribe-events .tribe-events-calendar-list__event-featured-image {
|
| 1374 |
display: block;
|
|
@@ -1379,15 +1774,23 @@
|
|
| 1379 |
flex: none;
|
| 1380 |
}
|
| 1381 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1382 |
.tribe-events .tribe-events-calendar-list__event-header > *:last-child {
|
| 1383 |
margin-bottom: 0;
|
| 1384 |
}
|
| 1385 |
|
| 1386 |
.tribe-events .tribe-events-calendar-list__event-datetime-wrapper,
|
| 1387 |
.tribe-events .tribe-events-calendar-list__event-title {
|
| 1388 |
-
margin
|
| 1389 |
}
|
| 1390 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1391 |
.tribe-events .tribe-events-calendar-list__event-datetime-wrapper:last-child, .tribe-events .tribe-events-calendar-list__event-title:last-child {
|
| 1392 |
margin-bottom: 0;
|
| 1393 |
}
|
|
@@ -1397,6 +1800,16 @@
|
|
| 1397 |
margin-right: 4px;
|
| 1398 |
}
|
| 1399 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1400 |
.tribe-events .tribe-events-calendar-list__event-datetime-recurring-icon {
|
| 1401 |
display: inline-block;
|
| 1402 |
margin-left: 4px;
|
|
@@ -1406,15 +1819,24 @@
|
|
| 1406 |
margin-bottom: 8px;
|
| 1407 |
}
|
| 1408 |
|
| 1409 |
-
.tribe-events .tribe-events-calendar-list__event-
|
| 1410 |
-
|
| 1411 |
-
|
| 1412 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1413 |
|
| 1414 |
.tribe-events .tribe-events-calendar-list__event-cost {
|
| 1415 |
margin-top: 12px;
|
| 1416 |
}
|
| 1417 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1418 |
/* -----------------------------------------------------------------------------
|
| 1419 |
* Month Separator
|
| 1420 |
* ----------------------------------------------------------------------------- */
|
|
@@ -1439,6 +1861,10 @@
|
|
| 1439 |
padding-top: 24px;
|
| 1440 |
}
|
| 1441 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1442 |
/* Month */
|
| 1443 |
|
| 1444 |
/**
|
|
@@ -1456,15 +1882,27 @@
|
|
| 1456 |
margin-bottom: 8px;
|
| 1457 |
}
|
| 1458 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1459 |
/* -----------------------------------------------------------------------------
|
| 1460 |
* Calendar Body
|
| 1461 |
* ----------------------------------------------------------------------------- */
|
| 1462 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1463 |
.tribe-events .tribe-events-calendar-month__week {
|
| 1464 |
display: -webkit-box;
|
| 1465 |
display: flex;
|
| 1466 |
}
|
| 1467 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1468 |
/* -----------------------------------------------------------------------------
|
| 1469 |
* Calendar Event
|
| 1470 |
* ----------------------------------------------------------------------------- */
|
|
@@ -1565,6 +2003,10 @@
|
|
| 1565 |
margin-bottom: 0;
|
| 1566 |
}
|
| 1567 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1568 |
.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-cost {
|
| 1569 |
margin-top: 16px;
|
| 1570 |
}
|
|
@@ -1602,6 +2044,20 @@
|
|
| 1602 |
padding-bottom: 16px;
|
| 1603 |
}
|
| 1604 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1605 |
.tribe-events {
|
| 1606 |
|
| 1607 |
/* -----------------------------------------------------------------------------
|
|
@@ -1621,6 +2077,15 @@
|
|
| 1621 |
width: 14.285%;
|
| 1622 |
}
|
| 1623 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1624 |
.tribe-events .tribe-events-calendar-month__day-cell {
|
| 1625 |
height: 100%;
|
| 1626 |
width: 100%;
|
|
@@ -1637,6 +2102,30 @@
|
|
| 1637 |
text-align: center;
|
| 1638 |
}
|
| 1639 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1640 |
.tribe-events .tribe-events-calendar-month__events {
|
| 1641 |
-webkit-box-flex: 1;
|
| 1642 |
flex: auto;
|
|
@@ -1661,6 +2150,11 @@
|
|
| 1661 |
* Mobile Events
|
| 1662 |
* ----------------------------------------------------------------------------- */
|
| 1663 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1664 |
.tribe-events .tribe-events-calendar-month-mobile-events__mobile-day {
|
| 1665 |
display: none;
|
| 1666 |
}
|
|
@@ -1707,6 +2201,10 @@
|
|
| 1707 |
margin-right: 8px;
|
| 1708 |
}
|
| 1709 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1710 |
.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-cost {
|
| 1711 |
margin-top: 8px;
|
| 1712 |
}
|
|
@@ -1737,6 +2235,12 @@
|
|
| 1737 |
* Multiday Event
|
| 1738 |
* ----------------------------------------------------------------------------- */
|
| 1739 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1740 |
.tribe-events .tribe-events-calendar-month__multiday-event--width-2 .tribe-events-calendar-month__multiday-event-bar {
|
| 1741 |
width: calc(200% + 1px);
|
| 1742 |
}
|
|
@@ -1770,6 +2274,8 @@
|
|
| 1770 |
}
|
| 1771 |
|
| 1772 |
.tribe-events .tribe-events-calendar-month__multiday-event-hidden-title {
|
|
|
|
|
|
|
| 1773 |
white-space: nowrap;
|
| 1774 |
}
|
| 1775 |
|
|
@@ -1805,6 +2311,7 @@
|
|
| 1805 |
.tribe-events .tribe-events-calendar-month__multiday-event-bar-title {
|
| 1806 |
-webkit-box-flex: 0;
|
| 1807 |
flex: none;
|
|
|
|
| 1808 |
max-width: 100%;
|
| 1809 |
overflow: hidden;
|
| 1810 |
white-space: nowrap;
|
|
@@ -1818,6 +2325,11 @@
|
|
| 1818 |
padding-top: 20px;
|
| 1819 |
}
|
| 1820 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1821 |
/* Day */
|
| 1822 |
|
| 1823 |
/**
|
|
@@ -1837,24 +2349,70 @@
|
|
| 1837 |
padding-left: 54px;
|
| 1838 |
}
|
| 1839 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1840 |
.tribe-events .tribe-events-calendar-day__event:last-child {
|
| 1841 |
margin-bottom: 40px;
|
| 1842 |
}
|
| 1843 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1844 |
.tribe-events .tribe-events-calendar-day__time-separator + .tribe-events-calendar-day__event,
|
| 1845 |
.tribe-events .tribe-events-calendar-day__type-separator + .tribe-events-calendar-day__event {
|
| 1846 |
margin-top: 20px;
|
| 1847 |
}
|
| 1848 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1849 |
.tribe-events .tribe-events-calendar-day__event-content {
|
| 1850 |
-webkit-box-flex: 0;
|
| 1851 |
flex: none;
|
| 1852 |
}
|
| 1853 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1854 |
.tribe-events .tribe-events-calendar-day__event-featured-image-wrapper {
|
| 1855 |
margin-bottom: 16px;
|
| 1856 |
}
|
| 1857 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1858 |
.tribe-events .tribe-events-calendar-day__event-featured-image-link,
|
| 1859 |
.tribe-events .tribe-events-calendar-list__event-featured-image {
|
| 1860 |
display: block;
|
|
@@ -1864,15 +2422,25 @@
|
|
| 1864 |
position: relative;
|
| 1865 |
}
|
| 1866 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1867 |
.tribe-events .tribe-events-calendar-day__event-header > *:last-child {
|
| 1868 |
margin-bottom: 0;
|
| 1869 |
}
|
| 1870 |
|
| 1871 |
.tribe-events .tribe-events-calendar-day__event-datetime-wrapper,
|
| 1872 |
.tribe-events .tribe-events-calendar-day__event-title {
|
| 1873 |
-
margin
|
| 1874 |
}
|
| 1875 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1876 |
.tribe-events .tribe-events-calendar-day__event-datetime-wrapper:last-child, .tribe-events .tribe-events-calendar-day__event-title:last-child {
|
| 1877 |
margin-bottom: 0;
|
| 1878 |
}
|
|
@@ -1882,6 +2450,16 @@
|
|
| 1882 |
margin-right: 4px;
|
| 1883 |
}
|
| 1884 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1885 |
.tribe-events .tribe-events-calendar-day__event-datetime-recurring-icon {
|
| 1886 |
display: inline-block;
|
| 1887 |
margin-left: 4px;
|
|
@@ -1891,15 +2469,24 @@
|
|
| 1891 |
margin-bottom: 8px;
|
| 1892 |
}
|
| 1893 |
|
| 1894 |
-
.tribe-events .tribe-events-calendar-day__event-
|
| 1895 |
-
|
| 1896 |
-
|
| 1897 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1898 |
|
| 1899 |
.tribe-events .tribe-events-calendar-day__event-cost {
|
| 1900 |
margin-top: 12px;
|
| 1901 |
}
|
| 1902 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1903 |
/* -------------------------------------------------------------------------
|
| 1904 |
* Theme Overrides - Twenty Nineteen
|
| 1905 |
* ------------------------------------------------------------------------- */
|
|
@@ -1914,11 +2501,26 @@
|
|
| 1914 |
margin-bottom: 40px;
|
| 1915 |
}
|
| 1916 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1917 |
.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-day__time-separator + .entry.tribe-events-calendar-day__event,
|
| 1918 |
.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-day__type-separator + .entry.tribe-events-calendar-day__event {
|
| 1919 |
margin-top: 20px;
|
| 1920 |
}
|
| 1921 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1922 |
/* -----------------------------------------------------------------------------
|
| 1923 |
* Nav
|
| 1924 |
* ----------------------------------------------------------------------------- */
|
|
@@ -1927,6 +2529,10 @@
|
|
| 1927 |
padding-top: 24px;
|
| 1928 |
}
|
| 1929 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1930 |
/* -----------------------------------------------------------------------------
|
| 1931 |
* Time separator
|
| 1932 |
* ----------------------------------------------------------------------------- */
|
|
@@ -1958,610 +2564,3 @@
|
|
| 1958 |
-webkit-box-flex: 0;
|
| 1959 |
flex: none;
|
| 1960 |
}
|
| 1961 |
-
|
| 1962 |
-
@media (min-width: 768px) {
|
| 1963 |
-
|
| 1964 |
-
.tribe-events .tribe-events-l-container {
|
| 1965 |
-
padding-bottom: 160px;
|
| 1966 |
-
padding-top: 96px
|
| 1967 |
-
}
|
| 1968 |
-
|
| 1969 |
-
.tribe-events .tribe-events-c-breadcrumbs {
|
| 1970 |
-
margin-bottom: 48px
|
| 1971 |
-
}
|
| 1972 |
-
|
| 1973 |
-
.tribe-events .tribe-events-c-breadcrumbs__list-item:not(:last-child):after {
|
| 1974 |
-
height: 16px;
|
| 1975 |
-
width: 10px;
|
| 1976 |
-
margin: 0 10px
|
| 1977 |
-
}
|
| 1978 |
-
|
| 1979 |
-
.tribe-events .datepicker {
|
| 1980 |
-
margin-top: 16px
|
| 1981 |
-
}
|
| 1982 |
-
|
| 1983 |
-
.admin-bar .tribe-events .datepicker {
|
| 1984 |
-
margin-top: 16px
|
| 1985 |
-
}
|
| 1986 |
-
|
| 1987 |
-
.tribe-events .tribe-events-c-events-bar {
|
| 1988 |
-
-webkit-box-orient: horizontal;
|
| 1989 |
-
-webkit-box-direction: normal;
|
| 1990 |
-
flex-direction: row
|
| 1991 |
-
}
|
| 1992 |
-
|
| 1993 |
-
.tribe-events .tribe-events-c-events-bar__search-filters-container {
|
| 1994 |
-
-webkit-box-align: center;
|
| 1995 |
-
align-items: center;
|
| 1996 |
-
display: -webkit-box;
|
| 1997 |
-
display: flex;
|
| 1998 |
-
-webkit-box-flex: 1;
|
| 1999 |
-
flex: auto;
|
| 2000 |
-
padding: 0;
|
| 2001 |
-
position: static;
|
| 2002 |
-
z-index: auto
|
| 2003 |
-
}
|
| 2004 |
-
|
| 2005 |
-
.tribe-events .tribe-events-c-events-bar__search {
|
| 2006 |
-
display: -webkit-box;
|
| 2007 |
-
display: flex;
|
| 2008 |
-
-webkit-box-flex: 1;
|
| 2009 |
-
flex: auto
|
| 2010 |
-
}
|
| 2011 |
-
|
| 2012 |
-
.tribe-events .tribe-events-c-events-bar__filters {
|
| 2013 |
-
margin: 12px 0
|
| 2014 |
-
}
|
| 2015 |
-
|
| 2016 |
-
.tribe-events .tribe-events-c-events-bar__filters-button {
|
| 2017 |
-
-webkit-box-align: center;
|
| 2018 |
-
align-items: center;
|
| 2019 |
-
display: -webkit-box !important;
|
| 2020 |
-
display: flex !important;
|
| 2021 |
-
margin: -12px 0;
|
| 2022 |
-
padding: 20px 24px;
|
| 2023 |
-
visibility: visible
|
| 2024 |
-
}
|
| 2025 |
-
|
| 2026 |
-
.tribe-events .tribe-events-c-events-bar__filters-button:hover:before, .tribe-events .tribe-events-c-events-bar__filters-button:focus:before, .tribe-events .tribe-events-c-events-bar__filters-button:active:before {
|
| 2027 |
-
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17'%3E%3Cg fill='none' fill-rule='evenodd' stroke='%23727272' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' transform='translate(1 1)'%3E%3Cpath d='M3 3V0M3 15v-2' stroke='%23141827'/%3E%3Ccircle cx='3' cy='9' r='3' stroke='%23141827'/%3E%3Cpath d='M12 9v6' stroke='%23141827'/%3E%3Ccircle cx='12' cy='3' r='3' transform='matrix(1 0 0 -1 0 6)' stroke='%23141827'/%3E%3C/g%3E%3C/svg%3E");
|
| 2028 |
-
}
|
| 2029 |
-
|
| 2030 |
-
.tribe-events .tribe-events-c-events-bar__filters-button:before {
|
| 2031 |
-
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17'%3E%3Cg fill='none' fill-rule='evenodd' stroke='%23727272' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' transform='translate(1 1)'%3E%3Cpath d='M3 3V0M3 15v-2' stroke='%23727272'/%3E%3Ccircle cx='3' cy='9' r='3' stroke='%23727272'/%3E%3Cpath d='M12 9v6' stroke='%23727272'/%3E%3Ccircle cx='12' cy='3' r='3' transform='matrix(1 0 0 -1 0 6)' stroke='%23727272'/%3E%3C/g%3E%3C/svg%3E");
|
| 2032 |
-
background-repeat: no-repeat;
|
| 2033 |
-
background-size: contain;
|
| 2034 |
-
background-size: 17px;
|
| 2035 |
-
content: '';
|
| 2036 |
-
display: inline-block;
|
| 2037 |
-
-webkit-box-flex: 0;
|
| 2038 |
-
flex: none;
|
| 2039 |
-
height: 17px;
|
| 2040 |
-
margin-right: 8px;
|
| 2041 |
-
width: 17px
|
| 2042 |
-
}
|
| 2043 |
-
|
| 2044 |
-
.tribe-events .tribe-events-c-events-bar__search-button {
|
| 2045 |
-
display: none !important;
|
| 2046 |
-
visibility: hidden
|
| 2047 |
-
}
|
| 2048 |
-
|
| 2049 |
-
.tribe-events .tribe-events-c-events-bar__tabs {
|
| 2050 |
-
display: none !important;
|
| 2051 |
-
visibility: hidden
|
| 2052 |
-
}
|
| 2053 |
-
|
| 2054 |
-
.tribe-events .tribe-events-c-messages__message {
|
| 2055 |
-
-webkit-box-pack: center;
|
| 2056 |
-
justify-content: center;
|
| 2057 |
-
padding: 16px
|
| 2058 |
-
}
|
| 2059 |
-
|
| 2060 |
-
.tribe-events .tribe-events-c-nav {
|
| 2061 |
-
padding-top: 28px
|
| 2062 |
-
}
|
| 2063 |
-
|
| 2064 |
-
.tribe-events .tribe-events-c-nav__list-item {
|
| 2065 |
-
width: 50%
|
| 2066 |
-
}
|
| 2067 |
-
|
| 2068 |
-
.tribe-events .tribe-events-c-nav__list-item--today {
|
| 2069 |
-
display: none !important;
|
| 2070 |
-
visibility: hidden
|
| 2071 |
-
}
|
| 2072 |
-
|
| 2073 |
-
.tribe-events .tribe-events-c-nav__prev-label-plural,
|
| 2074 |
-
.tribe-events .tribe-events-c-nav__next-label-plural {
|
| 2075 |
-
clip: auto;
|
| 2076 |
-
width: auto;
|
| 2077 |
-
height: auto;
|
| 2078 |
-
margin: 0;
|
| 2079 |
-
position: static
|
| 2080 |
-
}
|
| 2081 |
-
|
| 2082 |
-
.tribe-events .tribe-events-c-search {
|
| 2083 |
-
display: -webkit-box;
|
| 2084 |
-
display: flex;
|
| 2085 |
-
-webkit-box-align: center;
|
| 2086 |
-
align-items: center
|
| 2087 |
-
}
|
| 2088 |
-
|
| 2089 |
-
.tribe-events .tribe-events-c-search__input-group {
|
| 2090 |
-
-webkit-box-align: center;
|
| 2091 |
-
align-items: center;
|
| 2092 |
-
display: -webkit-box;
|
| 2093 |
-
display: flex;
|
| 2094 |
-
-webkit-box-flex: 1;
|
| 2095 |
-
flex: auto
|
| 2096 |
-
}
|
| 2097 |
-
|
| 2098 |
-
.tribe-events .tribe-events-c-search__input-control {
|
| 2099 |
-
-webkit-box-flex: 1;
|
| 2100 |
-
flex: auto;
|
| 2101 |
-
margin: 12px 0
|
| 2102 |
-
}
|
| 2103 |
-
|
| 2104 |
-
.tribe-events .tribe-events-c-search__input {
|
| 2105 |
-
margin: -12px 0
|
| 2106 |
-
}
|
| 2107 |
-
|
| 2108 |
-
.tribe-events .tribe-events-c-search__button {
|
| 2109 |
-
-webkit-box-flex: 0;
|
| 2110 |
-
flex: none;
|
| 2111 |
-
margin-top: 0
|
| 2112 |
-
}
|
| 2113 |
-
|
| 2114 |
-
#top.tribe-theme-enfold .tribe-events .tribe-events-c-search__input {
|
| 2115 |
-
margin: -12px 0
|
| 2116 |
-
}
|
| 2117 |
-
|
| 2118 |
-
.tribe-theme-avada .tribe-events .tribe-events-c-search__input {
|
| 2119 |
-
margin: -12px 0
|
| 2120 |
-
}
|
| 2121 |
-
|
| 2122 |
-
.tribe-events .tribe-events-c-top-bar {
|
| 2123 |
-
-webkit-box-align: center;
|
| 2124 |
-
align-items: center;
|
| 2125 |
-
display: -webkit-box;
|
| 2126 |
-
display: flex;
|
| 2127 |
-
-webkit-box-orient: horizontal;
|
| 2128 |
-
-webkit-box-direction: normal;
|
| 2129 |
-
flex-direction: row;
|
| 2130 |
-
flex-wrap: wrap
|
| 2131 |
-
}
|
| 2132 |
-
|
| 2133 |
-
.tribe-events .tribe-events-c-top-bar__nav {
|
| 2134 |
-
display: block !important;
|
| 2135 |
-
-webkit-box-flex: 0;
|
| 2136 |
-
flex: none;
|
| 2137 |
-
visibility: visible
|
| 2138 |
-
}
|
| 2139 |
-
|
| 2140 |
-
.tribe-events .tribe-events-c-top-bar__nav-link:before {
|
| 2141 |
-
height: 18px;
|
| 2142 |
-
width: 11px
|
| 2143 |
-
}
|
| 2144 |
-
|
| 2145 |
-
.tribe-events .tribe-events-c-top-bar__today-button {
|
| 2146 |
-
display: block !important;
|
| 2147 |
-
-webkit-box-flex: 0;
|
| 2148 |
-
flex: none;
|
| 2149 |
-
margin-right: 15px;
|
| 2150 |
-
visibility: visible
|
| 2151 |
-
}
|
| 2152 |
-
|
| 2153 |
-
.tribe-events .tribe-events-c-top-bar__datepicker {
|
| 2154 |
-
margin: 0;
|
| 2155 |
-
padding: 0
|
| 2156 |
-
}
|
| 2157 |
-
|
| 2158 |
-
.tribe-events .tribe-events-c-top-bar__datepicker-container {
|
| 2159 |
-
max-width: none;
|
| 2160 |
-
min-width: 363px
|
| 2161 |
-
}
|
| 2162 |
-
|
| 2163 |
-
.tribe-events .tribe-events-c-top-bar__datepicker-submit {
|
| 2164 |
-
display: block !important;
|
| 2165 |
-
-webkit-box-flex: 0;
|
| 2166 |
-
flex: none;
|
| 2167 |
-
margin-left: 15px;
|
| 2168 |
-
visibility: visible
|
| 2169 |
-
}
|
| 2170 |
-
|
| 2171 |
-
.tribe-events .tribe-events-c-top-bar__actions {
|
| 2172 |
-
display: block !important;
|
| 2173 |
-
-webkit-box-flex: 0;
|
| 2174 |
-
flex: none;
|
| 2175 |
-
margin-left: auto;
|
| 2176 |
-
visibility: visible
|
| 2177 |
-
}
|
| 2178 |
-
|
| 2179 |
-
.tribe-events .tribe-events-c-view-selector {
|
| 2180 |
-
width: auto
|
| 2181 |
-
}
|
| 2182 |
-
|
| 2183 |
-
.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button {
|
| 2184 |
-
height: 100%;
|
| 2185 |
-
padding: 20px 24px
|
| 2186 |
-
}
|
| 2187 |
-
|
| 2188 |
-
.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button-icon {
|
| 2189 |
-
display: none !important;
|
| 2190 |
-
visibility: hidden
|
| 2191 |
-
}
|
| 2192 |
-
|
| 2193 |
-
.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button-text {
|
| 2194 |
-
clip: auto;
|
| 2195 |
-
width: auto;
|
| 2196 |
-
height: auto;
|
| 2197 |
-
margin: 0;
|
| 2198 |
-
position: static;
|
| 2199 |
-
|
| 2200 |
-
-webkit-box-flex: 1;
|
| 2201 |
-
|
| 2202 |
-
flex: auto
|
| 2203 |
-
}
|
| 2204 |
-
|
| 2205 |
-
.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__content {
|
| 2206 |
-
left: 0;
|
| 2207 |
-
padding: 8px;
|
| 2208 |
-
right: auto;
|
| 2209 |
-
-webkit-transform: translateY(8px);
|
| 2210 |
-
transform: translateY(8px);
|
| 2211 |
-
width: auto
|
| 2212 |
-
}
|
| 2213 |
-
|
| 2214 |
-
.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__list-item-link {
|
| 2215 |
-
padding: 4px 32px 4px 16px
|
| 2216 |
-
}
|
| 2217 |
-
|
| 2218 |
-
.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__list-item-icon {
|
| 2219 |
-
display: none !important;
|
| 2220 |
-
visibility: hidden
|
| 2221 |
-
}
|
| 2222 |
-
|
| 2223 |
-
.tribe-events .tribe-events-c-view-selector--tabs {
|
| 2224 |
-
width: auto
|
| 2225 |
-
}
|
| 2226 |
-
|
| 2227 |
-
.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__button {
|
| 2228 |
-
display: none !important;
|
| 2229 |
-
visibility: hidden
|
| 2230 |
-
}
|
| 2231 |
-
|
| 2232 |
-
.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__content {
|
| 2233 |
-
display: block;
|
| 2234 |
-
height: 100%;
|
| 2235 |
-
padding: 0 12px;
|
| 2236 |
-
position: static;
|
| 2237 |
-
-webkit-transform: none;
|
| 2238 |
-
transform: none
|
| 2239 |
-
}
|
| 2240 |
-
|
| 2241 |
-
.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list {
|
| 2242 |
-
display: -webkit-box;
|
| 2243 |
-
display: flex;
|
| 2244 |
-
height: 100%
|
| 2245 |
-
}
|
| 2246 |
-
|
| 2247 |
-
.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item {
|
| 2248 |
-
margin: 0 12px
|
| 2249 |
-
}
|
| 2250 |
-
|
| 2251 |
-
.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item-link {
|
| 2252 |
-
height: 100%;
|
| 2253 |
-
padding: 20px 0;
|
| 2254 |
-
position: relative
|
| 2255 |
-
}
|
| 2256 |
-
|
| 2257 |
-
.tribe-events .tribe-events-c-view-selector__button {
|
| 2258 |
-
padding: 8px
|
| 2259 |
-
}
|
| 2260 |
-
|
| 2261 |
-
.tribe-events .tribe-events-c-view-selector__button-icon {
|
| 2262 |
-
height: 23px;
|
| 2263 |
-
width: 23px
|
| 2264 |
-
}
|
| 2265 |
-
|
| 2266 |
-
.tribe-events .tribe-events-c-view-selector__content {
|
| 2267 |
-
-webkit-transform: translateY(12px);
|
| 2268 |
-
transform: translateY(12px)
|
| 2269 |
-
}
|
| 2270 |
-
|
| 2271 |
-
.tribe-events .tribe-events-header {
|
| 2272 |
-
margin: 0;
|
| 2273 |
-
padding: 0
|
| 2274 |
-
}
|
| 2275 |
-
|
| 2276 |
-
.tribe-events .tribe-events-header--has-event-search {
|
| 2277 |
-
background-color: transparent;
|
| 2278 |
-
-webkit-box-orient: horizontal;
|
| 2279 |
-
-webkit-box-direction: normal;
|
| 2280 |
-
flex-direction: row
|
| 2281 |
-
}
|
| 2282 |
-
|
| 2283 |
-
.tribe-events .tribe-events-header--has-event-search .tribe-events-header__events-bar {
|
| 2284 |
-
margin-left: 0;
|
| 2285 |
-
width: 100%
|
| 2286 |
-
}
|
| 2287 |
-
|
| 2288 |
-
.tribe-events .tribe-events-header--has-event-search .tribe-events-header__top-bar {
|
| 2289 |
-
width: 100%
|
| 2290 |
-
}
|
| 2291 |
-
|
| 2292 |
-
.tribe-events .tribe-events-header__messages {
|
| 2293 |
-
margin-bottom: 32px;
|
| 2294 |
-
-webkit-box-ordinal-group: 2;
|
| 2295 |
-
order: 1
|
| 2296 |
-
}
|
| 2297 |
-
|
| 2298 |
-
.tribe-events .tribe-events-header__events-bar {
|
| 2299 |
-
margin-bottom: 32px;
|
| 2300 |
-
margin-left: 16px
|
| 2301 |
-
}
|
| 2302 |
-
|
| 2303 |
-
.tribe-events .tribe-events-header__top-bar {
|
| 2304 |
-
margin-bottom: 32px
|
| 2305 |
-
}
|
| 2306 |
-
|
| 2307 |
-
.tribe-events .tribe-events-calendar-list__event-row {
|
| 2308 |
-
margin-bottom: 40px;
|
| 2309 |
-
margin-top: 48px;
|
| 2310 |
-
margin-left: -24px;
|
| 2311 |
-
margin-right: -24px
|
| 2312 |
-
}
|
| 2313 |
-
|
| 2314 |
-
.tribe-events .tribe-events-calendar-list__event-row > .tribe-common-g-col {
|
| 2315 |
-
padding-left: 24px;
|
| 2316 |
-
padding-right: 24px
|
| 2317 |
-
}
|
| 2318 |
-
|
| 2319 |
-
.tribe-events .tribe-events-calendar-list__event-row:last-child {
|
| 2320 |
-
margin-bottom: 64px
|
| 2321 |
-
}
|
| 2322 |
-
|
| 2323 |
-
.tribe-events .tribe-events-calendar-list__month-separator + .tribe-events-calendar-list__event-row {
|
| 2324 |
-
margin-top: 40px
|
| 2325 |
-
}
|
| 2326 |
-
|
| 2327 |
-
.tribe-events .tribe-events-calendar-list__event-date-tag {
|
| 2328 |
-
min-width: 90px;
|
| 2329 |
-
width: 11.111%
|
| 2330 |
-
}
|
| 2331 |
-
|
| 2332 |
-
.tribe-events .tribe-events-calendar-list__event-wrapper {
|
| 2333 |
-
-webkit-box-flex: 1;
|
| 2334 |
-
flex: 1 1 88.888%
|
| 2335 |
-
}
|
| 2336 |
-
|
| 2337 |
-
.tribe-events .tribe-events-calendar-list__event {
|
| 2338 |
-
-webkit-box-orient: horizontal;
|
| 2339 |
-
-webkit-box-direction: reverse;
|
| 2340 |
-
flex-direction: row-reverse;
|
| 2341 |
-
-webkit-box-pack: end;
|
| 2342 |
-
justify-content: flex-end
|
| 2343 |
-
}
|
| 2344 |
-
|
| 2345 |
-
.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper {
|
| 2346 |
-
margin-bottom: 0;
|
| 2347 |
-
width: 37.5%
|
| 2348 |
-
}
|
| 2349 |
-
|
| 2350 |
-
.tribe-events .tribe-events-calendar-list__event-details {
|
| 2351 |
-
width: 62.5%
|
| 2352 |
-
}
|
| 2353 |
-
|
| 2354 |
-
.tribe-events .tribe-events-calendar-list__event-datetime-wrapper,
|
| 2355 |
-
.tribe-events .tribe-events-calendar-list__event-title {
|
| 2356 |
-
margin-bottom: 16px
|
| 2357 |
-
}
|
| 2358 |
-
|
| 2359 |
-
.tribe-events .tribe-events-calendar-list__event-datetime-featured-text {
|
| 2360 |
-
clip: auto;
|
| 2361 |
-
width: auto;
|
| 2362 |
-
height: auto;
|
| 2363 |
-
margin: 0;
|
| 2364 |
-
position: static;
|
| 2365 |
-
|
| 2366 |
-
margin-right: 8px
|
| 2367 |
-
}
|
| 2368 |
-
|
| 2369 |
-
.tribe-events .tribe-events-calendar-list__event-venue {
|
| 2370 |
-
margin-bottom: 16px
|
| 2371 |
-
}
|
| 2372 |
-
|
| 2373 |
-
.tribe-events .tribe-events-calendar-list__event-description {
|
| 2374 |
-
display: block !important;
|
| 2375 |
-
margin-top: 16px;
|
| 2376 |
-
visibility: visible
|
| 2377 |
-
}
|
| 2378 |
-
|
| 2379 |
-
.tribe-events .tribe-events-calendar-list__event-cost {
|
| 2380 |
-
margin-top: 16px
|
| 2381 |
-
}
|
| 2382 |
-
|
| 2383 |
-
.tribe-events .tribe-events-calendar-list-nav {
|
| 2384 |
-
padding-top: 32px
|
| 2385 |
-
}
|
| 2386 |
-
|
| 2387 |
-
.tribe-events .tribe-events-calendar-month {
|
| 2388 |
-
margin: 0
|
| 2389 |
-
}
|
| 2390 |
-
|
| 2391 |
-
.tribe-events .tribe-events-calendar-month__body {
|
| 2392 |
-
border-top: 1px solid #E4E4E4
|
| 2393 |
-
}
|
| 2394 |
-
|
| 2395 |
-
.tribe-events .tribe-events-calendar-month__week {
|
| 2396 |
-
border-left: 1px solid #E4E4E4
|
| 2397 |
-
}
|
| 2398 |
-
|
| 2399 |
-
.tribe-events .tribe-events-calendar-month__header-column-title-mobile {
|
| 2400 |
-
display: none !important;
|
| 2401 |
-
visibility: hidden
|
| 2402 |
-
}
|
| 2403 |
-
|
| 2404 |
-
.tribe-events .tribe-events-calendar-month__header-column-title-desktop {
|
| 2405 |
-
display: block !important;
|
| 2406 |
-
visibility: visible
|
| 2407 |
-
}
|
| 2408 |
-
|
| 2409 |
-
.tribe-events .tribe-events-calendar-month__day {
|
| 2410 |
-
border-color: #E4E4E4;
|
| 2411 |
-
border-style: solid;
|
| 2412 |
-
border-width: 0 1px 1px 0;
|
| 2413 |
-
height: auto;
|
| 2414 |
-
min-height: 168px;
|
| 2415 |
-
overflow: visible
|
| 2416 |
-
}
|
| 2417 |
-
|
| 2418 |
-
.tribe-events .tribe-events-calendar-month__day-cell--mobile {
|
| 2419 |
-
display: none !important;
|
| 2420 |
-
visibility: hidden
|
| 2421 |
-
}
|
| 2422 |
-
|
| 2423 |
-
.tribe-events .tribe-events-calendar-month__day-cell--desktop {
|
| 2424 |
-
display: -webkit-box !important;
|
| 2425 |
-
display: flex !important;
|
| 2426 |
-
-webkit-box-orient: vertical;
|
| 2427 |
-
-webkit-box-direction: normal;
|
| 2428 |
-
flex-direction: column;
|
| 2429 |
-
visibility: visible
|
| 2430 |
-
}
|
| 2431 |
-
|
| 2432 |
-
.tribe-events .tribe-events-calendar-month__day-date {
|
| 2433 |
-
-webkit-box-flex: 0;
|
| 2434 |
-
flex: none;
|
| 2435 |
-
padding: 8px 16px
|
| 2436 |
-
}
|
| 2437 |
-
|
| 2438 |
-
.tribe-events .tribe-events-calendar-month-mobile-events {
|
| 2439 |
-
display: none !important;
|
| 2440 |
-
visibility: hidden
|
| 2441 |
-
}
|
| 2442 |
-
|
| 2443 |
-
.tribe-events .tribe-events-calendar-month__multiday-event-wrapper {
|
| 2444 |
-
height: 19px;
|
| 2445 |
-
margin-bottom: 4px;
|
| 2446 |
-
position: relative
|
| 2447 |
-
}
|
| 2448 |
-
|
| 2449 |
-
.tribe-events .tribe-events-calendar-month-nav {
|
| 2450 |
-
display: none !important;
|
| 2451 |
-
visibility: hidden
|
| 2452 |
-
}
|
| 2453 |
-
|
| 2454 |
-
.tribe-events .tribe-events-calendar-day__event {
|
| 2455 |
-
margin-bottom: 40px;
|
| 2456 |
-
margin-top: 48px;
|
| 2457 |
-
padding-left: 0
|
| 2458 |
-
}
|
| 2459 |
-
|
| 2460 |
-
.tribe-events .tribe-events-calendar-day__event:last-child {
|
| 2461 |
-
margin-bottom: 64px
|
| 2462 |
-
}
|
| 2463 |
-
|
| 2464 |
-
.tribe-events .tribe-events-calendar-day__event:before {
|
| 2465 |
-
content: '';
|
| 2466 |
-
min-width: 90px;
|
| 2467 |
-
width: 11.111%
|
| 2468 |
-
}
|
| 2469 |
-
|
| 2470 |
-
.tribe-events .tribe-events-calendar-day__time-separator + .tribe-events-calendar-day__event,
|
| 2471 |
-
.tribe-events .tribe-events-calendar-day__type-separator + .tribe-events-calendar-day__event {
|
| 2472 |
-
margin-top: 40px
|
| 2473 |
-
}
|
| 2474 |
-
|
| 2475 |
-
.tribe-events .tribe-events-calendar-day__event-content {
|
| 2476 |
-
display: -webkit-box;
|
| 2477 |
-
display: flex;
|
| 2478 |
-
-webkit-box-orient: horizontal;
|
| 2479 |
-
-webkit-box-direction: reverse;
|
| 2480 |
-
flex-direction: row-reverse;
|
| 2481 |
-
-webkit-box-pack: end;
|
| 2482 |
-
justify-content: flex-end;
|
| 2483 |
-
-webkit-box-flex: 1;
|
| 2484 |
-
flex: 1 1 88.888%;
|
| 2485 |
-
margin-left: -24px;
|
| 2486 |
-
margin-right: -24px
|
| 2487 |
-
}
|
| 2488 |
-
|
| 2489 |
-
.tribe-events .tribe-events-calendar-day__event-content > * {
|
| 2490 |
-
padding-left: 24px;
|
| 2491 |
-
padding-right: 24px
|
| 2492 |
-
}
|
| 2493 |
-
|
| 2494 |
-
.tribe-events .tribe-events-calendar-day__event-featured-image-wrapper {
|
| 2495 |
-
-webkit-box-flex: 0;
|
| 2496 |
-
flex: none;
|
| 2497 |
-
margin-bottom: 0;
|
| 2498 |
-
width: 37.5%
|
| 2499 |
-
}
|
| 2500 |
-
|
| 2501 |
-
.tribe-events .tribe-events-calendar-day__event-details {
|
| 2502 |
-
-webkit-box-flex: 0;
|
| 2503 |
-
flex: none;
|
| 2504 |
-
width: 62.5%
|
| 2505 |
-
}
|
| 2506 |
-
|
| 2507 |
-
.tribe-events .tribe-events-calendar-day__event-datetime-wrapper,
|
| 2508 |
-
.tribe-events .tribe-events-calendar-day__event-title {
|
| 2509 |
-
margin-bottom: 16px
|
| 2510 |
-
}
|
| 2511 |
-
|
| 2512 |
-
.tribe-events .tribe-events-calendar-day__event-datetime-featured-text {
|
| 2513 |
-
clip: auto;
|
| 2514 |
-
width: auto;
|
| 2515 |
-
height: auto;
|
| 2516 |
-
margin: 0;
|
| 2517 |
-
position: static;
|
| 2518 |
-
|
| 2519 |
-
margin-right: 8px
|
| 2520 |
-
}
|
| 2521 |
-
|
| 2522 |
-
.tribe-events .tribe-events-calendar-day__event-venue {
|
| 2523 |
-
margin-bottom: 16px
|
| 2524 |
-
}
|
| 2525 |
-
|
| 2526 |
-
.tribe-events .tribe-events-calendar-day__event-description {
|
| 2527 |
-
display: block !important;
|
| 2528 |
-
margin-top: 16px;
|
| 2529 |
-
visibility: visible
|
| 2530 |
-
}
|
| 2531 |
-
|
| 2532 |
-
.tribe-events .tribe-events-calendar-day__event-cost {
|
| 2533 |
-
margin-top: 16px
|
| 2534 |
-
}
|
| 2535 |
-
|
| 2536 |
-
.tribe-theme-twentynineteen .tribe-events .entry.tribe-events-calendar-day__event {
|
| 2537 |
-
margin-bottom: 40px;
|
| 2538 |
-
margin-top: 48px;
|
| 2539 |
-
padding-left: 0
|
| 2540 |
-
}
|
| 2541 |
-
|
| 2542 |
-
.tribe-theme-twentynineteen .tribe-events .entry.tribe-events-calendar-day__event:last-child {
|
| 2543 |
-
margin-bottom: 64px
|
| 2544 |
-
}
|
| 2545 |
-
|
| 2546 |
-
.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-day__time-separator + .entry.tribe-events-calendar-day__event,
|
| 2547 |
-
.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-day__type-separator + .entry.tribe-events-calendar-day__event {
|
| 2548 |
-
margin-top: 40px
|
| 2549 |
-
}
|
| 2550 |
-
|
| 2551 |
-
.tribe-events .tribe-events-calendar-day-nav {
|
| 2552 |
-
padding-top: 32px
|
| 2553 |
-
}
|
| 2554 |
-
}
|
| 2555 |
-
|
| 2556 |
-
@media (min-width: 960px) {
|
| 2557 |
-
|
| 2558 |
-
.tribe-events .tribe-events-c-top-bar__datepicker-mobile {
|
| 2559 |
-
display: none !important;
|
| 2560 |
-
visibility: hidden
|
| 2561 |
-
}
|
| 2562 |
-
|
| 2563 |
-
.tribe-events .tribe-events-c-top-bar__datepicker-desktop {
|
| 2564 |
-
display: block !important;
|
| 2565 |
-
visibility: visible
|
| 2566 |
-
}
|
| 2567 |
-
}
|
| 391 |
.tribe-events .tribe-events-l-container {
|
| 392 |
padding-bottom: 80px;
|
| 393 |
padding-top: 64px;
|
| 394 |
+
min-height: 600px;
|
| 395 |
}
|
| 396 |
|
| 397 |
+
/* min height on container to show datepicker when no results, as some themes have containers with overflow hidden */
|
| 398 |
+
|
| 399 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
|
| 400 |
+
padding-bottom: 160px;
|
| 401 |
+
padding-top: 96px;
|
| 402 |
+
min-height: 700px; /* min height on container to show datepicker when no results, as some themes have containers with overflow hidden */
|
| 403 |
+
}
|
| 404 |
+
|
| 405 |
/* Components */
|
| 406 |
|
| 407 |
/* -----------------------------------------------------------------------------
|
| 426 |
width: 100%;
|
| 427 |
}
|
| 428 |
|
| 429 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-breadcrumbs {
|
| 430 |
+
margin-bottom: 48px;
|
| 431 |
+
}
|
| 432 |
+
|
| 433 |
.tribe-events .tribe-events-c-breadcrumbs__list {
|
| 434 |
display: -webkit-box;
|
| 435 |
display: flex;
|
| 454 |
margin: 0 6px;
|
| 455 |
}
|
| 456 |
|
| 457 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-breadcrumbs__list-item:not(:last-child):after {
|
| 458 |
+
height: 16px;
|
| 459 |
+
width: 10px;
|
| 460 |
+
margin: 0 10px;
|
| 461 |
+
}
|
| 462 |
+
|
| 463 |
/* Datepicker */
|
| 464 |
|
| 465 |
/* -----------------------------------------------------------------------------
|
| 482 |
padding: 0 16px 16px;
|
| 483 |
}
|
| 484 |
|
| 485 |
+
.tribe-common--breakpoint-medium.tribe-events .datepicker {
|
| 486 |
+
margin-top: 16px;
|
| 487 |
+
}
|
| 488 |
+
|
| 489 |
.tribe-events .datepicker table {
|
| 490 |
border-collapse: collapse;
|
| 491 |
}
|
| 494 |
.tribe-events .datepicker .prev,
|
| 495 |
.tribe-events .datepicker .next {
|
| 496 |
padding: 20px 0;
|
| 497 |
+
vertical-align: middle;
|
| 498 |
}
|
| 499 |
|
| 500 |
.tribe-events .datepicker .prev .tribe-common-svgicon, .tribe-events .datepicker .next .tribe-common-svgicon {
|
| 565 |
margin-top: 8px;
|
| 566 |
}
|
| 567 |
|
| 568 |
+
.admin-bar .tribe-events.tribe-common--breakpoint-medium .datepicker {
|
| 569 |
+
margin-top: 16px;
|
| 570 |
+
}
|
| 571 |
+
|
| 572 |
/* -----------------------------------------------------------------------------
|
| 573 |
* Theme Overrides - Divi
|
| 574 |
* ----------------------------------------------------------------------------- */
|
| 664 |
display: flex;
|
| 665 |
}
|
| 666 |
|
| 667 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar {
|
| 668 |
+
-webkit-box-orient: horizontal;
|
| 669 |
+
-webkit-box-direction: normal;
|
| 670 |
+
flex-direction: row;
|
| 671 |
+
}
|
| 672 |
+
|
| 673 |
.tribe-events .tribe-events-c-events-bar__views {
|
| 674 |
display: -webkit-box;
|
| 675 |
display: flex;
|
| 690 |
z-index: 30;
|
| 691 |
}
|
| 692 |
|
| 693 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__search-filters-container {
|
| 694 |
+
-webkit-box-align: center;
|
| 695 |
+
align-items: center;
|
| 696 |
+
display: -webkit-box;
|
| 697 |
+
display: flex;
|
| 698 |
+
-webkit-box-flex: 1;
|
| 699 |
+
flex: auto;
|
| 700 |
+
padding: 0;
|
| 701 |
+
position: static;
|
| 702 |
+
z-index: auto;
|
| 703 |
+
}
|
| 704 |
+
|
| 705 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__search {
|
| 706 |
+
display: -webkit-box;
|
| 707 |
+
display: flex;
|
| 708 |
+
-webkit-box-flex: 1;
|
| 709 |
+
flex: auto;
|
| 710 |
+
}
|
| 711 |
+
|
| 712 |
.tribe-events .tribe-events-c-events-bar__search-form {
|
| 713 |
width: 100%;
|
| 714 |
}
|
| 723 |
margin-right: -12px;
|
| 724 |
}
|
| 725 |
|
| 726 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__filters {
|
| 727 |
+
margin: 12px 0;
|
| 728 |
+
}
|
| 729 |
+
|
| 730 |
.tribe-events .tribe-events-c-events-bar__filters-button {
|
| 731 |
display: none !important;
|
| 732 |
visibility: hidden;
|
| 733 |
}
|
| 734 |
|
| 735 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__filters-button {
|
| 736 |
+
-webkit-box-align: center;
|
| 737 |
+
align-items: center;
|
| 738 |
+
display: -webkit-box !important;
|
| 739 |
+
display: flex !important;
|
| 740 |
+
margin: -12px 0;
|
| 741 |
+
padding: 20px 24px;
|
| 742 |
+
visibility: visible;
|
| 743 |
+
}
|
| 744 |
+
|
| 745 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__filters-button:hover:before, .tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__filters-button:focus:before, .tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__filters-button:active:before {
|
| 746 |
+
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17'%3E%3Cg fill='none' fill-rule='evenodd' stroke='%23727272' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' transform='translate(1 1)'%3E%3Cpath d='M3 3V0M3 15v-2' stroke='%23141827'/%3E%3Ccircle cx='3' cy='9' r='3' stroke='%23141827'/%3E%3Cpath d='M12 9v6' stroke='%23141827'/%3E%3Ccircle cx='12' cy='3' r='3' transform='matrix(1 0 0 -1 0 6)' stroke='%23141827'/%3E%3C/g%3E%3C/svg%3E");
|
| 747 |
+
}
|
| 748 |
+
|
| 749 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__filters-button:before {
|
| 750 |
+
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17'%3E%3Cg fill='none' fill-rule='evenodd' stroke='%23727272' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' transform='translate(1 1)'%3E%3Cpath d='M3 3V0M3 15v-2' stroke='%23727272'/%3E%3Ccircle cx='3' cy='9' r='3' stroke='%23727272'/%3E%3Cpath d='M12 9v6' stroke='%23727272'/%3E%3Ccircle cx='12' cy='3' r='3' transform='matrix(1 0 0 -1 0 6)' stroke='%23727272'/%3E%3C/g%3E%3C/svg%3E");
|
| 751 |
+
background-repeat: no-repeat;
|
| 752 |
+
background-size: contain;
|
| 753 |
+
background-size: 17px;
|
| 754 |
+
content: '';
|
| 755 |
+
display: inline-block;
|
| 756 |
+
-webkit-box-flex: 0;
|
| 757 |
+
flex: none;
|
| 758 |
+
height: 17px;
|
| 759 |
+
margin-right: 8px;
|
| 760 |
+
width: 17px;
|
| 761 |
+
}
|
| 762 |
+
|
| 763 |
.tribe-events .tribe-events-c-events-bar__search-button {
|
| 764 |
display: inline-block;
|
| 765 |
margin-right: 8px;
|
| 767 |
position: relative;
|
| 768 |
}
|
| 769 |
|
| 770 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__search-button {
|
| 771 |
+
display: none !important;
|
| 772 |
+
visibility: hidden;
|
| 773 |
+
}
|
| 774 |
+
|
| 775 |
.tribe-events .tribe-events-c-events-bar__search-button-icon {
|
| 776 |
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23141827'/%3E%3C/svg%3E");
|
| 777 |
display: block;
|
| 795 |
padding-bottom: 12px;
|
| 796 |
}
|
| 797 |
|
| 798 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__tabs {
|
| 799 |
+
display: none !important;
|
| 800 |
+
visibility: hidden;
|
| 801 |
+
}
|
| 802 |
+
|
| 803 |
.tribe-events .tribe-events-c-events-bar__tab {
|
| 804 |
-webkit-box-align: center;
|
| 805 |
align-items: center;
|
| 915 |
width: 100%;
|
| 916 |
}
|
| 917 |
|
| 918 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-messages__message {
|
| 919 |
+
-webkit-box-pack: center;
|
| 920 |
+
justify-content: center;
|
| 921 |
+
padding: 16px;
|
| 922 |
+
}
|
| 923 |
+
|
| 924 |
/* Navigation */
|
| 925 |
|
| 926 |
/* -----------------------------------------------------------------------------
|
| 947 |
padding-top: 20px;
|
| 948 |
}
|
| 949 |
|
| 950 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav {
|
| 951 |
+
padding-top: 28px;
|
| 952 |
+
}
|
| 953 |
+
|
| 954 |
.tribe-events .tribe-events-c-nav__list {
|
| 955 |
display: -webkit-box;
|
| 956 |
display: flex;
|
| 966 |
width: 33.33%;
|
| 967 |
}
|
| 968 |
|
| 969 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__list-item {
|
| 970 |
+
width: 50%;
|
| 971 |
+
}
|
| 972 |
+
|
| 973 |
.tribe-events .tribe-events-c-nav__list-item--prev {
|
| 974 |
-webkit-box-pack: start;
|
| 975 |
justify-content: flex-start;
|
| 985 |
justify-content: center;
|
| 986 |
}
|
| 987 |
|
| 988 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__list-item--today {
|
| 989 |
+
display: none !important;
|
| 990 |
+
visibility: hidden;
|
| 991 |
+
}
|
| 992 |
+
|
| 993 |
.tribe-events .tribe-events-c-nav__prev-label-plural,
|
| 994 |
.tribe-events .tribe-events-c-nav__next-label-plural {
|
| 995 |
border: 0;
|
| 1002 |
width: 1px;
|
| 1003 |
}
|
| 1004 |
|
| 1005 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__prev-label-plural, .tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__next-label-plural {
|
| 1006 |
+
clip: auto;
|
| 1007 |
+
width: auto;
|
| 1008 |
+
height: auto;
|
| 1009 |
+
margin: 0;
|
| 1010 |
+
position: static;
|
| 1011 |
+
}
|
| 1012 |
+
|
| 1013 |
.tribe-events .tribe-events-c-nav__prev,
|
| 1014 |
.tribe-events .tribe-events-c-nav__next {
|
| 1015 |
-webkit-box-align: center;
|
| 1125 |
*
|
| 1126 |
* ----------------------------------------------------------------------------- */
|
| 1127 |
|
| 1128 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search {
|
| 1129 |
+
display: -webkit-box;
|
| 1130 |
+
display: flex;
|
| 1131 |
+
-webkit-box-align: center;
|
| 1132 |
+
align-items: center;
|
| 1133 |
+
}
|
| 1134 |
+
|
| 1135 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search__input-group {
|
| 1136 |
+
-webkit-box-align: center;
|
| 1137 |
+
align-items: center;
|
| 1138 |
+
display: -webkit-box;
|
| 1139 |
+
display: flex;
|
| 1140 |
+
-webkit-box-flex: 1;
|
| 1141 |
+
flex: auto;
|
| 1142 |
+
}
|
| 1143 |
+
|
| 1144 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search__input-control {
|
| 1145 |
+
-webkit-box-flex: 1;
|
| 1146 |
+
flex: auto;
|
| 1147 |
+
margin: 12px 0;
|
| 1148 |
+
}
|
| 1149 |
+
|
| 1150 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search__input {
|
| 1151 |
+
margin: -12px 0;
|
| 1152 |
+
}
|
| 1153 |
+
|
| 1154 |
.tribe-events .tribe-events-c-search__button {
|
| 1155 |
margin-top: 24px;
|
| 1156 |
}
|
| 1157 |
|
| 1158 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search__button {
|
| 1159 |
+
-webkit-box-flex: 0;
|
| 1160 |
+
flex: none;
|
| 1161 |
+
margin-top: 0;
|
| 1162 |
+
}
|
| 1163 |
+
|
| 1164 |
/* -----------------------------------------------------------------------------
|
| 1165 |
* Theme Overrides - Enfold
|
| 1166 |
* ----------------------------------------------------------------------------- */
|
| 1167 |
|
| 1168 |
+
#top.tribe-theme-enfold .tribe-events.tribe-common--breakpoint-medium .tribe-events-c-search__input {
|
| 1169 |
+
margin: -12px 0;
|
| 1170 |
+
}
|
| 1171 |
+
|
| 1172 |
/* -----------------------------------------------------------------------------
|
| 1173 |
* Theme Overrides - Avada
|
| 1174 |
* ----------------------------------------------------------------------------- */
|
| 1175 |
|
| 1176 |
+
.tribe-theme-avada .tribe-events.tribe-common--breakpoint-medium .tribe-events-c-search__input {
|
| 1177 |
+
margin: -12px 0;
|
| 1178 |
+
}
|
| 1179 |
+
|
| 1180 |
/* Tooltip */
|
| 1181 |
|
| 1182 |
/* -----------------------------------------------------------------------------
|
| 1223 |
* ----------------------------------------------------------------------------- */
|
| 1224 |
}
|
| 1225 |
|
| 1226 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-top-bar {
|
| 1227 |
+
-webkit-box-align: center;
|
| 1228 |
+
align-items: center;
|
| 1229 |
+
display: -webkit-box;
|
| 1230 |
+
display: flex;
|
| 1231 |
+
-webkit-box-orient: horizontal;
|
| 1232 |
+
-webkit-box-direction: normal;
|
| 1233 |
+
flex-direction: row;
|
| 1234 |
+
flex-wrap: wrap;
|
| 1235 |
+
}
|
| 1236 |
+
|
| 1237 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-top-bar__nav {
|
| 1238 |
+
display: block !important;
|
| 1239 |
+
-webkit-box-flex: 0;
|
| 1240 |
+
flex: none;
|
| 1241 |
+
visibility: visible;
|
| 1242 |
+
}
|
| 1243 |
+
|
| 1244 |
.tribe-events .tribe-events-c-top-bar__nav-list {
|
| 1245 |
display: -webkit-box;
|
| 1246 |
display: flex;
|
| 1260 |
display: block;
|
| 1261 |
}
|
| 1262 |
|
| 1263 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-top-bar__nav-link:before {
|
| 1264 |
+
height: 18px;
|
| 1265 |
+
width: 11px;
|
| 1266 |
+
}
|
| 1267 |
+
|
| 1268 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-top-bar__today-button {
|
| 1269 |
+
display: block !important;
|
| 1270 |
+
-webkit-box-flex: 0;
|
| 1271 |
+
flex: none;
|
| 1272 |
+
margin-right: 15px;
|
| 1273 |
+
visibility: visible;
|
| 1274 |
+
}
|
| 1275 |
+
|
| 1276 |
.tribe-events .tribe-events-c-top-bar__datepicker-form {
|
| 1277 |
-webkit-box-align: center;
|
| 1278 |
align-items: center;
|
| 1286 |
position: relative;
|
| 1287 |
}
|
| 1288 |
|
| 1289 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-top-bar__datepicker {
|
| 1290 |
+
margin: 0;
|
| 1291 |
+
padding: 0;
|
| 1292 |
+
}
|
| 1293 |
+
|
| 1294 |
+
.tribe-events .tribe-events-c-top-bar__datepicker-separator {
|
| 1295 |
+
white-space: pre;
|
| 1296 |
+
}
|
| 1297 |
+
|
| 1298 |
+
.tribe-common--breakpoint-full.tribe-events .tribe-events-c-top-bar__datepicker-mobile {
|
| 1299 |
+
display: none !important;
|
| 1300 |
+
visibility: hidden;
|
| 1301 |
+
}
|
| 1302 |
+
|
| 1303 |
+
.tribe-common--breakpoint-full.tribe-events .tribe-events-c-top-bar__datepicker-desktop {
|
| 1304 |
+
display: block !important;
|
| 1305 |
+
visibility: visible
|
| 1306 |
+
}
|
| 1307 |
+
|
| 1308 |
.tribe-events .tribe-events-c-top-bar__datepicker-button {
|
| 1309 |
-webkit-box-align: center;
|
| 1310 |
align-items: center;
|
| 1322 |
width: 363px;
|
| 1323 |
}
|
| 1324 |
|
| 1325 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-top-bar__datepicker-container {
|
| 1326 |
+
max-width: none;
|
| 1327 |
+
min-width: 363px;
|
| 1328 |
+
}
|
| 1329 |
+
|
| 1330 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-top-bar__datepicker-submit {
|
| 1331 |
+
display: block !important;
|
| 1332 |
+
-webkit-box-flex: 0;
|
| 1333 |
+
flex: none;
|
| 1334 |
+
margin-left: 15px;
|
| 1335 |
+
visibility: visible;
|
| 1336 |
+
}
|
| 1337 |
+
|
| 1338 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-top-bar__actions {
|
| 1339 |
+
display: block !important;
|
| 1340 |
+
-webkit-box-flex: 0;
|
| 1341 |
+
flex: none;
|
| 1342 |
+
margin-left: auto;
|
| 1343 |
+
visibility: visible;
|
| 1344 |
+
}
|
| 1345 |
|
| 1346 |
/* -----------------------------------------------------------------------------
|
| 1347 |
* Theme Overrides - Enfold
|
| 1430 |
width: 29px;
|
| 1431 |
}
|
| 1432 |
|
| 1433 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector {
|
| 1434 |
+
width: auto;
|
| 1435 |
+
}
|
| 1436 |
+
|
| 1437 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button {
|
| 1438 |
+
height: 100%;
|
| 1439 |
+
padding: 20px 24px;
|
| 1440 |
+
}
|
| 1441 |
+
|
| 1442 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button-icon {
|
| 1443 |
+
display: none !important;
|
| 1444 |
+
visibility: hidden;
|
| 1445 |
+
}
|
| 1446 |
+
|
| 1447 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button-text {
|
| 1448 |
+
clip: auto;
|
| 1449 |
+
width: auto;
|
| 1450 |
+
height: auto;
|
| 1451 |
+
margin: 0;
|
| 1452 |
+
position: static;
|
| 1453 |
+
|
| 1454 |
+
-webkit-box-flex: 1;
|
| 1455 |
+
|
| 1456 |
+
flex: auto;
|
| 1457 |
+
}
|
| 1458 |
+
|
| 1459 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__content {
|
| 1460 |
+
left: 0;
|
| 1461 |
+
padding: 8px;
|
| 1462 |
+
right: auto;
|
| 1463 |
+
-webkit-transform: translateY(8px);
|
| 1464 |
+
transform: translateY(8px);
|
| 1465 |
+
width: auto;
|
| 1466 |
+
}
|
| 1467 |
+
|
| 1468 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__list-item-link {
|
| 1469 |
+
padding: 4px 32px 4px 16px;
|
| 1470 |
+
}
|
| 1471 |
+
|
| 1472 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__list-item-icon {
|
| 1473 |
+
display: none !important;
|
| 1474 |
+
visibility: hidden;
|
| 1475 |
+
}
|
| 1476 |
+
|
| 1477 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__button {
|
| 1478 |
+
display: none !important;
|
| 1479 |
+
visibility: hidden;
|
| 1480 |
+
}
|
| 1481 |
+
|
| 1482 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__content {
|
| 1483 |
+
display: block;
|
| 1484 |
+
height: 100%;
|
| 1485 |
+
padding: 0 12px;
|
| 1486 |
+
position: static;
|
| 1487 |
+
-webkit-transform: none;
|
| 1488 |
+
transform: none;
|
| 1489 |
+
}
|
| 1490 |
+
|
| 1491 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list {
|
| 1492 |
+
display: -webkit-box;
|
| 1493 |
+
display: flex;
|
| 1494 |
+
height: 100%;
|
| 1495 |
+
}
|
| 1496 |
+
|
| 1497 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item {
|
| 1498 |
+
margin: 0 12px;
|
| 1499 |
+
}
|
| 1500 |
+
|
| 1501 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item-link {
|
| 1502 |
+
height: 100%;
|
| 1503 |
+
padding: 20px 0;
|
| 1504 |
+
position: relative;
|
| 1505 |
+
}
|
| 1506 |
+
|
| 1507 |
.tribe-events .tribe-events-c-view-selector__button {
|
| 1508 |
-webkit-box-align: center;
|
| 1509 |
align-items: center;
|
| 1514 |
width: 100%;
|
| 1515 |
}
|
| 1516 |
|
| 1517 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector__button {
|
| 1518 |
+
padding: 8px;
|
| 1519 |
+
}
|
| 1520 |
+
|
| 1521 |
.tribe-events .tribe-events-c-view-selector__button-icon {
|
| 1522 |
display: block;
|
| 1523 |
height: 21px;
|
| 1524 |
width: 21px;
|
| 1525 |
}
|
| 1526 |
|
| 1527 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector__button-icon {
|
| 1528 |
+
height: 23px;
|
| 1529 |
+
width: 23px;
|
| 1530 |
+
}
|
| 1531 |
+
|
| 1532 |
.tribe-events .tribe-events-c-view-selector__content {
|
| 1533 |
display: none;
|
| 1534 |
background-color: #FFFFFF;
|
| 1541 |
z-index: 30;
|
| 1542 |
}
|
| 1543 |
|
| 1544 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector__content {
|
| 1545 |
+
-webkit-transform: translateY(12px);
|
| 1546 |
+
transform: translateY(12px);
|
| 1547 |
+
}
|
| 1548 |
+
|
| 1549 |
.tribe-events .tribe-events-c-view-selector__list-item-link {
|
| 1550 |
-webkit-box-align: center;
|
| 1551 |
align-items: center;
|
| 1604 |
position: relative;
|
| 1605 |
}
|
| 1606 |
|
| 1607 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-header {
|
| 1608 |
+
margin: 0;
|
| 1609 |
+
padding: 0;
|
| 1610 |
+
}
|
| 1611 |
+
|
| 1612 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-header--has-event-search {
|
| 1613 |
+
background-color: transparent;
|
| 1614 |
+
-webkit-box-orient: horizontal;
|
| 1615 |
+
-webkit-box-direction: normal;
|
| 1616 |
+
flex-direction: row;
|
| 1617 |
+
}
|
| 1618 |
+
|
| 1619 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-header--has-event-search .tribe-events-header__events-bar {
|
| 1620 |
+
margin-left: 0;
|
| 1621 |
+
width: 100%;
|
| 1622 |
+
}
|
| 1623 |
+
|
| 1624 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-header--has-event-search .tribe-events-header__top-bar {
|
| 1625 |
+
width: 100%;
|
| 1626 |
+
}
|
| 1627 |
+
|
| 1628 |
.tribe-events .tribe-events-header__messages {
|
| 1629 |
margin-bottom: 16px;
|
| 1630 |
width: 100%;
|
| 1631 |
}
|
| 1632 |
|
| 1633 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-header__messages {
|
| 1634 |
+
margin-bottom: 32px;
|
| 1635 |
+
-webkit-box-ordinal-group: 2;
|
| 1636 |
+
order: 1;
|
| 1637 |
+
}
|
| 1638 |
+
|
| 1639 |
.tribe-events .tribe-events-header__events-bar {
|
| 1640 |
-webkit-box-flex: 0;
|
| 1641 |
flex: none;
|
| 1642 |
}
|
| 1643 |
|
| 1644 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-header__events-bar {
|
| 1645 |
+
margin-bottom: 32px;
|
| 1646 |
+
margin-left: 16px;
|
| 1647 |
+
}
|
| 1648 |
+
|
| 1649 |
.tribe-events .tribe-events-header__top-bar {
|
| 1650 |
-webkit-box-flex: 1;
|
| 1651 |
flex: auto;
|
| 1652 |
}
|
| 1653 |
|
| 1654 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-header__top-bar {
|
| 1655 |
+
margin-bottom: 32px;
|
| 1656 |
+
}
|
| 1657 |
+
|
| 1658 |
/* List */
|
| 1659 |
|
| 1660 |
/**
|
| 1674 |
margin-top: 32px;
|
| 1675 |
}
|
| 1676 |
|
| 1677 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-row {
|
| 1678 |
+
margin-bottom: 40px;
|
| 1679 |
+
margin-top: 48px;
|
| 1680 |
+
margin-left: -24px;
|
| 1681 |
+
margin-right: -24px;
|
| 1682 |
+
}
|
| 1683 |
+
|
| 1684 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-row > .tribe-common-g-col {
|
| 1685 |
+
padding-left: 24px;
|
| 1686 |
+
padding-right: 24px;
|
| 1687 |
+
}
|
| 1688 |
+
|
| 1689 |
.tribe-events .tribe-events-calendar-list__event-row:last-child {
|
| 1690 |
margin-bottom: 40px;
|
| 1691 |
}
|
| 1692 |
|
| 1693 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-row:last-child {
|
| 1694 |
+
margin-bottom: 64px;
|
| 1695 |
+
}
|
| 1696 |
+
|
| 1697 |
.tribe-events .tribe-events-calendar-list__month-separator + .tribe-events-calendar-list__event-row {
|
| 1698 |
margin-top: 20px;
|
| 1699 |
}
|
| 1700 |
|
| 1701 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__month-separator + .tribe-events-calendar-list__event-row {
|
| 1702 |
+
margin-top: 40px;
|
| 1703 |
+
}
|
| 1704 |
+
|
| 1705 |
.tribe-events .tribe-events-calendar-list__event-date-tag {
|
| 1706 |
-webkit-box-flex: 0;
|
| 1707 |
flex: none;
|
| 1709 |
position: relative;
|
| 1710 |
}
|
| 1711 |
|
| 1712 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-date-tag {
|
| 1713 |
+
min-width: 90px;
|
| 1714 |
+
width: 11.111%;
|
| 1715 |
+
}
|
| 1716 |
+
|
| 1717 |
.tribe-events .tribe-events-calendar-list__event-date-tag-datetime {
|
| 1718 |
display: -webkit-box;
|
| 1719 |
display: flex;
|
| 1734 |
width: calc(75% + 21px);
|
| 1735 |
}
|
| 1736 |
|
| 1737 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-wrapper {
|
| 1738 |
+
-webkit-box-flex: 1;
|
| 1739 |
+
flex: 1 1 88.888%;
|
| 1740 |
+
}
|
| 1741 |
+
|
| 1742 |
.tribe-events .tribe-events-calendar-list__event {
|
| 1743 |
-webkit-box-orient: vertical;
|
| 1744 |
-webkit-box-direction: normal;
|
| 1745 |
flex-direction: column;
|
| 1746 |
}
|
| 1747 |
|
| 1748 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event {
|
| 1749 |
+
-webkit-box-orient: horizontal;
|
| 1750 |
+
-webkit-box-direction: reverse;
|
| 1751 |
+
flex-direction: row-reverse;
|
| 1752 |
+
-webkit-box-pack: end;
|
| 1753 |
+
justify-content: flex-end;
|
| 1754 |
+
}
|
| 1755 |
+
|
| 1756 |
.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper {
|
| 1757 |
-webkit-box-flex: 0;
|
| 1758 |
flex: none;
|
| 1759 |
margin-bottom: 16px;
|
| 1760 |
}
|
| 1761 |
|
| 1762 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper {
|
| 1763 |
+
margin-bottom: 0;
|
| 1764 |
+
width: 37.5%;
|
| 1765 |
+
}
|
| 1766 |
+
|
| 1767 |
.tribe-events .tribe-events-calendar-list__event-featured-image-link,
|
| 1768 |
.tribe-events .tribe-events-calendar-list__event-featured-image {
|
| 1769 |
display: block;
|
| 1774 |
flex: none;
|
| 1775 |
}
|
| 1776 |
|
| 1777 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-details {
|
| 1778 |
+
width: 62.5%;
|
| 1779 |
+
}
|
| 1780 |
+
|
| 1781 |
.tribe-events .tribe-events-calendar-list__event-header > *:last-child {
|
| 1782 |
margin-bottom: 0;
|
| 1783 |
}
|
| 1784 |
|
| 1785 |
.tribe-events .tribe-events-calendar-list__event-datetime-wrapper,
|
| 1786 |
.tribe-events .tribe-events-calendar-list__event-title {
|
| 1787 |
+
margin: 0 0 8px;
|
| 1788 |
}
|
| 1789 |
|
| 1790 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-datetime-wrapper, .tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-title {
|
| 1791 |
+
margin: 0 0 16px;
|
| 1792 |
+
}
|
| 1793 |
+
|
| 1794 |
.tribe-events .tribe-events-calendar-list__event-datetime-wrapper:last-child, .tribe-events .tribe-events-calendar-list__event-title:last-child {
|
| 1795 |
margin-bottom: 0;
|
| 1796 |
}
|
| 1800 |
margin-right: 4px;
|
| 1801 |
}
|
| 1802 |
|
| 1803 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-datetime-featured-text {
|
| 1804 |
+
clip: auto;
|
| 1805 |
+
width: auto;
|
| 1806 |
+
height: auto;
|
| 1807 |
+
margin: 0;
|
| 1808 |
+
position: static;
|
| 1809 |
+
|
| 1810 |
+
margin-right: 8px;
|
| 1811 |
+
}
|
| 1812 |
+
|
| 1813 |
.tribe-events .tribe-events-calendar-list__event-datetime-recurring-icon {
|
| 1814 |
display: inline-block;
|
| 1815 |
margin-left: 4px;
|
| 1819 |
margin-bottom: 8px;
|
| 1820 |
}
|
| 1821 |
|
| 1822 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-venue {
|
| 1823 |
+
margin-bottom: 16px;
|
| 1824 |
+
}
|
| 1825 |
+
|
| 1826 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-description {
|
| 1827 |
+
display: block !important;
|
| 1828 |
+
margin-top: 16px;
|
| 1829 |
+
visibility: visible;
|
| 1830 |
+
}
|
| 1831 |
|
| 1832 |
.tribe-events .tribe-events-calendar-list__event-cost {
|
| 1833 |
margin-top: 12px;
|
| 1834 |
}
|
| 1835 |
|
| 1836 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-cost {
|
| 1837 |
+
margin-top: 16px;
|
| 1838 |
+
}
|
| 1839 |
+
|
| 1840 |
/* -----------------------------------------------------------------------------
|
| 1841 |
* Month Separator
|
| 1842 |
* ----------------------------------------------------------------------------- */
|
| 1861 |
padding-top: 24px;
|
| 1862 |
}
|
| 1863 |
|
| 1864 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list-nav {
|
| 1865 |
+
padding-top: 32px;
|
| 1866 |
+
}
|
| 1867 |
+
|
| 1868 |
/* Month */
|
| 1869 |
|
| 1870 |
/**
|
| 1882 |
margin-bottom: 8px;
|
| 1883 |
}
|
| 1884 |
|
| 1885 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month {
|
| 1886 |
+
margin: 0;
|
| 1887 |
+
}
|
| 1888 |
+
|
| 1889 |
/* -----------------------------------------------------------------------------
|
| 1890 |
* Calendar Body
|
| 1891 |
* ----------------------------------------------------------------------------- */
|
| 1892 |
|
| 1893 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__body {
|
| 1894 |
+
border-top: 1px solid #E4E4E4;
|
| 1895 |
+
}
|
| 1896 |
+
|
| 1897 |
.tribe-events .tribe-events-calendar-month__week {
|
| 1898 |
display: -webkit-box;
|
| 1899 |
display: flex;
|
| 1900 |
}
|
| 1901 |
|
| 1902 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__week {
|
| 1903 |
+
border-left: 1px solid #E4E4E4;
|
| 1904 |
+
}
|
| 1905 |
+
|
| 1906 |
/* -----------------------------------------------------------------------------
|
| 1907 |
* Calendar Event
|
| 1908 |
* ----------------------------------------------------------------------------- */
|
| 2003 |
margin-bottom: 0;
|
| 2004 |
}
|
| 2005 |
|
| 2006 |
+
.tribe-events .tribe-events-calendar-month__calendar-event-title {
|
| 2007 |
+
margin: 0;
|
| 2008 |
+
}
|
| 2009 |
+
|
| 2010 |
.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-cost {
|
| 2011 |
margin-top: 16px;
|
| 2012 |
}
|
| 2044 |
padding-bottom: 16px;
|
| 2045 |
}
|
| 2046 |
|
| 2047 |
+
.tribe-events .tribe-events-calendar-month__header-column-title {
|
| 2048 |
+
margin: 0;
|
| 2049 |
+
}
|
| 2050 |
+
|
| 2051 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__header-column-title-mobile {
|
| 2052 |
+
display: none !important;
|
| 2053 |
+
visibility: hidden;
|
| 2054 |
+
}
|
| 2055 |
+
|
| 2056 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__header-column-title-desktop {
|
| 2057 |
+
display: block !important;
|
| 2058 |
+
visibility: visible
|
| 2059 |
+
}
|
| 2060 |
+
|
| 2061 |
.tribe-events {
|
| 2062 |
|
| 2063 |
/* -----------------------------------------------------------------------------
|
| 2077 |
width: 14.285%;
|
| 2078 |
}
|
| 2079 |
|
| 2080 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day {
|
| 2081 |
+
border-color: #E4E4E4;
|
| 2082 |
+
border-style: solid;
|
| 2083 |
+
border-width: 0 1px 1px 0;
|
| 2084 |
+
height: auto;
|
| 2085 |
+
min-height: 168px;
|
| 2086 |
+
overflow: visible;
|
| 2087 |
+
}
|
| 2088 |
+
|
| 2089 |
.tribe-events .tribe-events-calendar-month__day-cell {
|
| 2090 |
height: 100%;
|
| 2091 |
width: 100%;
|
| 2102 |
text-align: center;
|
| 2103 |
}
|
| 2104 |
|
| 2105 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day-cell--mobile {
|
| 2106 |
+
display: none !important;
|
| 2107 |
+
visibility: hidden;
|
| 2108 |
+
}
|
| 2109 |
+
|
| 2110 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day-cell--desktop {
|
| 2111 |
+
display: -webkit-box !important;
|
| 2112 |
+
display: flex !important;
|
| 2113 |
+
-webkit-box-orient: vertical;
|
| 2114 |
+
-webkit-box-direction: normal;
|
| 2115 |
+
flex-direction: column;
|
| 2116 |
+
visibility: visible;
|
| 2117 |
+
}
|
| 2118 |
+
|
| 2119 |
+
.tribe-events .tribe-events-calendar-month__day-date {
|
| 2120 |
+
margin: 0;
|
| 2121 |
+
}
|
| 2122 |
+
|
| 2123 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day-date {
|
| 2124 |
+
-webkit-box-flex: 0;
|
| 2125 |
+
flex: none;
|
| 2126 |
+
padding: 8px 16px;
|
| 2127 |
+
}
|
| 2128 |
+
|
| 2129 |
.tribe-events .tribe-events-calendar-month__events {
|
| 2130 |
-webkit-box-flex: 1;
|
| 2131 |
flex: auto;
|
| 2150 |
* Mobile Events
|
| 2151 |
* ----------------------------------------------------------------------------- */
|
| 2152 |
|
| 2153 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month-mobile-events {
|
| 2154 |
+
display: none !important;
|
| 2155 |
+
visibility: hidden;
|
| 2156 |
+
}
|
| 2157 |
+
|
| 2158 |
.tribe-events .tribe-events-calendar-month-mobile-events__mobile-day {
|
| 2159 |
display: none;
|
| 2160 |
}
|
| 2201 |
margin-right: 8px;
|
| 2202 |
}
|
| 2203 |
|
| 2204 |
+
.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-title {
|
| 2205 |
+
margin: 0;
|
| 2206 |
+
}
|
| 2207 |
+
|
| 2208 |
.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-cost {
|
| 2209 |
margin-top: 8px;
|
| 2210 |
}
|
| 2235 |
* Multiday Event
|
| 2236 |
* ----------------------------------------------------------------------------- */
|
| 2237 |
|
| 2238 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__multiday-event-wrapper {
|
| 2239 |
+
height: 19px;
|
| 2240 |
+
margin-bottom: 4px;
|
| 2241 |
+
position: relative;
|
| 2242 |
+
}
|
| 2243 |
+
|
| 2244 |
.tribe-events .tribe-events-calendar-month__multiday-event--width-2 .tribe-events-calendar-month__multiday-event-bar {
|
| 2245 |
width: calc(200% + 1px);
|
| 2246 |
}
|
| 2274 |
}
|
| 2275 |
|
| 2276 |
.tribe-events .tribe-events-calendar-month__multiday-event-hidden-title {
|
| 2277 |
+
margin: 0;
|
| 2278 |
+
overflow: hidden;
|
| 2279 |
white-space: nowrap;
|
| 2280 |
}
|
| 2281 |
|
| 2311 |
.tribe-events .tribe-events-calendar-month__multiday-event-bar-title {
|
| 2312 |
-webkit-box-flex: 0;
|
| 2313 |
flex: none;
|
| 2314 |
+
margin: 0;
|
| 2315 |
max-width: 100%;
|
| 2316 |
overflow: hidden;
|
| 2317 |
white-space: nowrap;
|
| 2325 |
padding-top: 20px;
|
| 2326 |
}
|
| 2327 |
|
| 2328 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month-nav {
|
| 2329 |
+
display: none !important;
|
| 2330 |
+
visibility: hidden;
|
| 2331 |
+
}
|
| 2332 |
+
|
| 2333 |
/* Day */
|
| 2334 |
|
| 2335 |
/**
|
| 2349 |
padding-left: 54px;
|
| 2350 |
}
|
| 2351 |
|
| 2352 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event {
|
| 2353 |
+
margin-bottom: 40px;
|
| 2354 |
+
margin-top: 48px;
|
| 2355 |
+
padding-left: 0;
|
| 2356 |
+
}
|
| 2357 |
+
|
| 2358 |
.tribe-events .tribe-events-calendar-day__event:last-child {
|
| 2359 |
margin-bottom: 40px;
|
| 2360 |
}
|
| 2361 |
|
| 2362 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event:last-child {
|
| 2363 |
+
margin-bottom: 64px;
|
| 2364 |
+
}
|
| 2365 |
+
|
| 2366 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event:before {
|
| 2367 |
+
content: '';
|
| 2368 |
+
min-width: 90px;
|
| 2369 |
+
width: 11.111%;
|
| 2370 |
+
}
|
| 2371 |
+
|
| 2372 |
.tribe-events .tribe-events-calendar-day__time-separator + .tribe-events-calendar-day__event,
|
| 2373 |
.tribe-events .tribe-events-calendar-day__type-separator + .tribe-events-calendar-day__event {
|
| 2374 |
margin-top: 20px;
|
| 2375 |
}
|
| 2376 |
|
| 2377 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__time-separator + .tribe-events-calendar-day__event, .tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__type-separator + .tribe-events-calendar-day__event {
|
| 2378 |
+
margin-top: 40px;
|
| 2379 |
+
}
|
| 2380 |
+
|
| 2381 |
.tribe-events .tribe-events-calendar-day__event-content {
|
| 2382 |
-webkit-box-flex: 0;
|
| 2383 |
flex: none;
|
| 2384 |
}
|
| 2385 |
|
| 2386 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-content {
|
| 2387 |
+
display: -webkit-box;
|
| 2388 |
+
display: flex;
|
| 2389 |
+
-webkit-box-orient: horizontal;
|
| 2390 |
+
-webkit-box-direction: reverse;
|
| 2391 |
+
flex-direction: row-reverse;
|
| 2392 |
+
-webkit-box-pack: end;
|
| 2393 |
+
justify-content: flex-end;
|
| 2394 |
+
-webkit-box-flex: 1;
|
| 2395 |
+
flex: 1 1 88.888%;
|
| 2396 |
+
margin-left: -24px;
|
| 2397 |
+
margin-right: -24px;
|
| 2398 |
+
}
|
| 2399 |
+
|
| 2400 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-content > * {
|
| 2401 |
+
padding-left: 24px;
|
| 2402 |
+
padding-right: 24px;
|
| 2403 |
+
}
|
| 2404 |
+
|
| 2405 |
.tribe-events .tribe-events-calendar-day__event-featured-image-wrapper {
|
| 2406 |
margin-bottom: 16px;
|
| 2407 |
}
|
| 2408 |
|
| 2409 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-featured-image-wrapper {
|
| 2410 |
+
-webkit-box-flex: 0;
|
| 2411 |
+
flex: none;
|
| 2412 |
+
margin-bottom: 0;
|
| 2413 |
+
width: 37.5%;
|
| 2414 |
+
}
|
| 2415 |
+
|
| 2416 |
.tribe-events .tribe-events-calendar-day__event-featured-image-link,
|
| 2417 |
.tribe-events .tribe-events-calendar-list__event-featured-image {
|
| 2418 |
display: block;
|
| 2422 |
position: relative;
|
| 2423 |
}
|
| 2424 |
|
| 2425 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-details {
|
| 2426 |
+
-webkit-box-flex: 0;
|
| 2427 |
+
flex: none;
|
| 2428 |
+
width: 62.5%;
|
| 2429 |
+
}
|
| 2430 |
+
|
| 2431 |
.tribe-events .tribe-events-calendar-day__event-header > *:last-child {
|
| 2432 |
margin-bottom: 0;
|
| 2433 |
}
|
| 2434 |
|
| 2435 |
.tribe-events .tribe-events-calendar-day__event-datetime-wrapper,
|
| 2436 |
.tribe-events .tribe-events-calendar-day__event-title {
|
| 2437 |
+
margin: 0 0 8px;
|
| 2438 |
}
|
| 2439 |
|
| 2440 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-datetime-wrapper, .tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-title {
|
| 2441 |
+
margin: 0 0 16px;
|
| 2442 |
+
}
|
| 2443 |
+
|
| 2444 |
.tribe-events .tribe-events-calendar-day__event-datetime-wrapper:last-child, .tribe-events .tribe-events-calendar-day__event-title:last-child {
|
| 2445 |
margin-bottom: 0;
|
| 2446 |
}
|
| 2450 |
margin-right: 4px;
|
| 2451 |
}
|
| 2452 |
|
| 2453 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-datetime-featured-text {
|
| 2454 |
+
clip: auto;
|
| 2455 |
+
width: auto;
|
| 2456 |
+
height: auto;
|
| 2457 |
+
margin: 0;
|
| 2458 |
+
position: static;
|
| 2459 |
+
|
| 2460 |
+
margin-right: 8px;
|
| 2461 |
+
}
|
| 2462 |
+
|
| 2463 |
.tribe-events .tribe-events-calendar-day__event-datetime-recurring-icon {
|
| 2464 |
display: inline-block;
|
| 2465 |
margin-left: 4px;
|
| 2469 |
margin-bottom: 8px;
|
| 2470 |
}
|
| 2471 |
|
| 2472 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-venue {
|
| 2473 |
+
margin-bottom: 16px;
|
| 2474 |
+
}
|
| 2475 |
+
|
| 2476 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-description {
|
| 2477 |
+
display: block !important;
|
| 2478 |
+
margin-top: 16px;
|
| 2479 |
+
visibility: visible;
|
| 2480 |
+
}
|
| 2481 |
|
| 2482 |
.tribe-events .tribe-events-calendar-day__event-cost {
|
| 2483 |
margin-top: 12px;
|
| 2484 |
}
|
| 2485 |
|
| 2486 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-cost {
|
| 2487 |
+
margin-top: 16px;
|
| 2488 |
+
}
|
| 2489 |
+
|
| 2490 |
/* -------------------------------------------------------------------------
|
| 2491 |
* Theme Overrides - Twenty Nineteen
|
| 2492 |
* ------------------------------------------------------------------------- */
|
| 2501 |
margin-bottom: 40px;
|
| 2502 |
}
|
| 2503 |
|
| 2504 |
+
.tribe-theme-twentynineteen .tribe-events.tribe-common--breakpoint-medium .entry.tribe-events-calendar-day__event {
|
| 2505 |
+
margin-bottom: 40px;
|
| 2506 |
+
margin-top: 48px;
|
| 2507 |
+
padding-left: 0;
|
| 2508 |
+
}
|
| 2509 |
+
|
| 2510 |
+
.tribe-theme-twentynineteen .tribe-events.tribe-common--breakpoint-medium .entry.tribe-events-calendar-day__event:last-child {
|
| 2511 |
+
margin-bottom: 64px;
|
| 2512 |
+
}
|
| 2513 |
+
|
| 2514 |
.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-day__time-separator + .entry.tribe-events-calendar-day__event,
|
| 2515 |
.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-day__type-separator + .entry.tribe-events-calendar-day__event {
|
| 2516 |
margin-top: 20px;
|
| 2517 |
}
|
| 2518 |
|
| 2519 |
+
.tribe-theme-twentynineteen .tribe-events.tribe-common--breakpoint-medium .tribe-events-calendar-day__time-separator + .entry.tribe-events-calendar-day__event,
|
| 2520 |
+
.tribe-theme-twentynineteen .tribe-events.tribe-common--breakpoint-medium .tribe-events-calendar-day__type-separator + .entry.tribe-events-calendar-day__event {
|
| 2521 |
+
margin-top: 40px;
|
| 2522 |
+
}
|
| 2523 |
+
|
| 2524 |
/* -----------------------------------------------------------------------------
|
| 2525 |
* Nav
|
| 2526 |
* ----------------------------------------------------------------------------- */
|
| 2529 |
padding-top: 24px;
|
| 2530 |
}
|
| 2531 |
|
| 2532 |
+
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day-nav {
|
| 2533 |
+
padding-top: 32px;
|
| 2534 |
+
}
|
| 2535 |
+
|
| 2536 |
/* -----------------------------------------------------------------------------
|
| 2537 |
* Time separator
|
| 2538 |
* ----------------------------------------------------------------------------- */
|
| 2564 |
-webkit-box-flex: 0;
|
| 2565 |
flex: none;
|
| 2566 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/resources/css/views-skeleton.min.css
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
.tribe-events-view{position:relative}.tribe-events .tribe-events-l-container{padding-bottom:80px;padding-top:64px}.tribe-events .tribe-events-c-breadcrumbs{margin-bottom:24px;width:100%}.tribe-events .tribe-events-c-breadcrumbs__list{display:flex;flex-wrap:wrap}.tribe-events .tribe-events-c-breadcrumbs__list-item{display:inline-flex;align-items:center}.tribe-events .tribe-events-c-breadcrumbs__list-item:not(:last-child):after{content:"";background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23727272'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;display:inline-block;height:10px;width:6px;margin:0 6px}.tribe-events .datepicker{margin-top:8px;padding:0 16px 16px}.tribe-events .datepicker table{border-collapse:collapse}.tribe-events .datepicker .datepicker-switch,.tribe-events .datepicker .next,.tribe-events .datepicker .prev{padding:20px 0}.tribe-events .datepicker .next .tribe-common-svgicon,.tribe-events .datepicker .prev .tribe-common-svgicon{display:block;height:14px;width:9px}.tribe-events .datepicker .prev:active .tribe-common-svgicon,.tribe-events .datepicker .prev:focus .tribe-common-svgicon,.tribe-events .datepicker .prev:hover .tribe-common-svgicon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-events .datepicker .prev .tribe-common-svgicon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23BABABA'/%3E%3C/svg%3E");margin-right:auto}.tribe-events .datepicker .next:active .tribe-common-svgicon,.tribe-events .datepicker .next:focus .tribe-common-svgicon,.tribe-events .datepicker .next:hover .tribe-common-svgicon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-events .datepicker .next .tribe-common-svgicon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23BABABA'/%3E%3C/svg%3E");margin-left:auto}.tribe-events .datepicker .datepicker-months td,.tribe-events .datepicker .datepicker-months th,.tribe-events .datepicker .datepicker-years td,.tribe-events .datepicker .datepicker-years th{padding:0}.tribe-events .datepicker .datepicker-months .datepicker-switch,.tribe-events .datepicker .datepicker-months .next,.tribe-events .datepicker .datepicker-months .prev,.tribe-events .datepicker .datepicker-years .datepicker-switch,.tribe-events .datepicker .datepicker-years .next,.tribe-events .datepicker .datepicker-years .prev{padding:20px 0 8px}.tribe-events .datepicker .dow{padding:0;width:14.285%}.tribe-events .datepicker .day{padding:11px 0;width:48px}.tribe-events .datepicker .month,.tribe-events .datepicker .year{height:auto;margin:0;padding:15px 0;width:25%}.admin-bar .tribe-events .datepicker{margin-top:8px}.tribe-theme-divi #content-area .tribe-events .datepicker .datepicker-switch,.tribe-theme-divi #content-area .tribe-events .datepicker .next,.tribe-theme-divi #content-area .tribe-events .datepicker .prev{padding:20px 0}.tribe-theme-divi #content-area .tribe-events .datepicker .datepicker-months .datepicker-switch,.tribe-theme-divi #content-area .tribe-events .datepicker .datepicker-months .next,.tribe-theme-divi #content-area .tribe-events .datepicker .datepicker-months .prev,.tribe-theme-divi #content-area .tribe-events .datepicker .datepicker-years .datepicker-switch,.tribe-theme-divi #content-area .tribe-events .datepicker .datepicker-years .next,.tribe-theme-divi #content-area .tribe-events .datepicker .datepicker-years .prev{padding:20px 0 8px}.tribe-theme-divi #content-area .tribe-events .datepicker .dow{padding:0}.tribe-theme-divi #content-area .tribe-events .datepicker .day{padding:11px 0}.tribe-theme-enfold .tribe-events .datepicker{min-width:0;padding:0 16px 16px}.tribe-theme-enfold .tribe-events .datepicker .datepicker-switch{cursor:pointer!important}.tribe-theme-avada .tribe-events .datepicker{padding:0 16px 16px}.tribe-theme-avada .tribe-events .datepicker .datepicker-months td{padding:0}.tribe-events .tribe-events-c-day-marker{align-items:center;display:flex}.tribe-events .tribe-events-c-day-marker__date{flex:none}.tribe-events .tribe-events-c-events-bar{display:flex}.tribe-events .tribe-events-c-events-bar__views{display:flex;flex:none;justify-content:center}.tribe-events .tribe-events-c-events-bar__search-filters-container{background-color:#fff;display:none;left:0;padding:12px 21px;position:absolute;right:0;top:calc(100% - 12px);z-index:30}.tribe-events .tribe-events-c-events-bar__search-form{width:100%}.tribe-events .tribe-events-c-events-bar__filters{display:flex;flex:none;justify-content:flex-end;margin-right:-12px}.tribe-events .tribe-events-c-events-bar__filters-button{display:none!important;visibility:hidden}.tribe-events .tribe-events-c-events-bar__search-button{display:inline-block;margin-right:8px;padding:4px;position:relative}.tribe-events .tribe-events-c-events-bar__search-button-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23141827'/%3E%3C/svg%3E");display:block;height:21px;width:21px}.tribe-events .tribe-events-c-events-bar__search-button-icon--filter{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='22'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='%23141827' fill-rule='nonzero' d='M30.128 21.41c.22.221.554.247.743.058l.6-.6c.19-.189.163-.524-.057-.744l-6.557-6.557c-.55-.55-1.83.743-1.278 1.295l6.549 6.549z'/%3E%3Ccircle cx='18.777' cy='8.777' r='7.564' stroke='%23141827' stroke-width='1.5' transform='rotate(4 18.777 8.777)'/%3E%3Cpath fill='%23141827' fill-rule='nonzero' d='M7.442 9.533C7.75 9.533 8 9.293 8 9v-.467A.547.547 0 0 0 7.442 8H.558A.547.547 0 0 0 0 8.533V9c0 .293.25.533.558.533h6.884zM9.533 2.5c.257 0 .467-.24.467-.533v-.434C10 1.24 9.79 1 9.533 1H.467C.21 1 0 1.24 0 1.533v.434c0 .293.21.533.467.533h9.066zM.535 16.533h3.93c.294 0 .535-.24.535-.533v-.467A.536.536 0 0 0 4.465 15H.535a.536.536 0 0 0-.535.533V16c0 .293.24.533.535.533z'/%3E%3C/g%3E%3C/svg%3E");width:31px}.tribe-events .tribe-events-c-events-bar__search-button-icon--filter+.tribe-events-c-events-bar__search-button-icon{display:none!important;visibility:hidden}.tribe-events .tribe-events-c-events-bar__tabs{display:flex;padding-bottom:12px}.tribe-events .tribe-events-c-events-bar__tab{align-items:center;display:flex;flex:1 1 50%;flex-direction:column;margin:0 4px;padding:16px 0}.tribe-events .tribe-events-c-events-bar__tab:active .tribe-common-svgicon--search,.tribe-events .tribe-events-c-events-bar__tab:focus .tribe-common-svgicon--search,.tribe-events .tribe-events-c-events-bar__tab:hover .tribe-common-svgicon--search{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-events .tribe-events-c-events-bar__tab:active .tribe-common-svgicon--filters,.tribe-events .tribe-events-c-events-bar__tab:focus .tribe-common-svgicon--filters,.tribe-events .tribe-events-c-events-bar__tab:hover .tribe-common-svgicon--filters{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17'%3E%3Cg fill='none' fill-rule='evenodd' stroke='%23141827' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' transform='translate(1 1)'%3E%3Cpath d='M3 3V0m0 15v-2'/%3E%3Ccircle cx='3' cy='9' r='3'/%3E%3Cpath d='M12 9v6'/%3E%3Ccircle cx='12' cy='3' r='3' transform='matrix(1 0 0 -1 0 6)'/%3E%3C/g%3E%3C/svg%3E")}.tribe-events .tribe-events-c-events-bar__tab:first-of-type{margin-left:0}.tribe-events .tribe-events-c-events-bar__tab:last-of-type{margin-right:0}.tribe-events .tribe-events-c-events-bar__tab--active .tribe-common-svgicon--search{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-events .tribe-events-c-events-bar__tab--active .tribe-common-svgicon--filters{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17'%3E%3Cg fill='none' fill-rule='evenodd' stroke='%23141827' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' transform='translate(1 1)'%3E%3Cpath d='M3 3V0m0 15v-2'/%3E%3Ccircle cx='3' cy='9' r='3'/%3E%3Cpath d='M12 9v6'/%3E%3Ccircle cx='12' cy='3' r='3' transform='matrix(1 0 0 -1 0 6)'/%3E%3C/g%3E%3C/svg%3E")}.tribe-events .tribe-events-c-events-bar__tab-icon{height:16px;margin-bottom:4px;width:16px}.tribe-events .tribe-events-c-ical{margin-top:20px;text-align:right}.tribe-events .tribe-events-view-loader{align-items:flex-start;justify-content:center;display:flex;position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;background-color:hsla(0,0%,100%,.6)}.tribe-events .tribe-events-c-messages{display:flex;flex-direction:column}.tribe-events .tribe-events-c-messages__message{align-items:center;display:flex;padding:12px;width:100%}.tribe-events .tribe-events-c-nav{padding-top:20px}.tribe-events .tribe-events-c-nav__list{display:flex;width:100%;flex-wrap:wrap;justify-content:space-between}.tribe-events .tribe-events-c-nav__list-item{display:flex;width:33.33%}.tribe-events .tribe-events-c-nav__list-item--prev{justify-content:flex-start}.tribe-events .tribe-events-c-nav__list-item--next{justify-content:flex-end}.tribe-events .tribe-events-c-nav__list-item--today{justify-content:center}.tribe-events .tribe-events-c-nav__next-label-plural,.tribe-events .tribe-events-c-nav__prev-label-plural{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tribe-events .tribe-events-c-nav__next,.tribe-events .tribe-events-c-nav__prev{align-items:center;display:flex;flex:none;flex-wrap:wrap;justify-content:center}.tribe-events .tribe-events-c-promo{margin-top:20px}.tribe-events .tribe-events-c-read-more{margin-top:12px}.tribe-events .tribe-events-c-small-cta>*{margin-left:8px}.tribe-events .tribe-events-c-small-cta>:first-child{margin-left:0}.tribe-events .tribe-events-c-small-cta__link{cursor:pointer}.tribe-events .tribe-events-c-small-cta__stock{margin-left:4px}.tribe-events .tribe-events-c-search__button{margin-top:24px}.tooltipster-base.tribe-events-tooltip-theme{height:auto!important;padding:24px;max-width:254px}.tooltipster-base.tribe-events-tooltip-theme .tooltipster-box{margin:0}.tooltipster-base.tribe-events-tooltip-theme .tooltipster-box .tooltipster-content{padding:0;word-break:break-word}.tooltipster-base.tribe-events-tooltip-theme .tooltipster-arrow{display:none}.tribe-events .tribe-events-c-top-bar__nav-list{display:flex}.tribe-events .tribe-events-c-top-bar__nav-list-item{flex:none;padding-right:15px}.tribe-events .tribe-events-c-top-bar__nav-list-item>*{vertical-align:middle}.tribe-events .tribe-events-c-top-bar__nav-link{display:block}.tribe-events .tribe-events-c-top-bar__datepicker-form{align-items:center;display:flex}.tribe-events .tribe-events-c-top-bar__datepicker{flex:auto;position:relative}.tribe-events .tribe-events-c-top-bar__datepicker-button{align-items:center;display:flex;flex:none}.tribe-events .tribe-events-c-top-bar__datepicker-container{bottom:0;left:0;max-width:calc(100% + 66px);position:absolute;width:363px}.tribe-events .tribe-events-c-top-bar__actions{display:none!important;visibility:hidden}#top.tribe-theme-enfold .tribe-events .tribe-events-c-top-bar__datepicker-input,.tribe-theme-avada .tribe-events .tribe-events-c-top-bar__datepicker-input{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tribe-events .tribe-events-c-view-selector{position:relative;width:29px}.tribe-events .tribe-events-c-view-selector__button{align-items:center;display:flex;padding:4px;position:relative;width:100%}.tribe-events .tribe-events-c-view-selector__button-icon{display:block;height:21px;width:21px}.tribe-events .tribe-events-c-view-selector__content{display:none;background-color:#fff;padding:12px 6px;position:absolute;right:0;top:100%;transform:translateY(16px);z-index:30}.tribe-events .tribe-events-c-view-selector__list-item-link{align-items:center;display:flex;padding:8px 24px 8px 12px}.tribe-events .tribe-events-c-view-selector__list-item-icon{flex:none;height:18px;margin-right:12px;width:18px}.tribe-events .tribe-events-c-view-selector__list-item-text{flex:auto}.tribe-events .tribe-events-header{align-items:center;background-color:#fff;display:flex;flex-direction:row-reverse;flex-wrap:wrap;justify-content:space-between;margin:0 -21px;padding:0 21px 16px;position:relative}.tribe-events .tribe-events-header__messages{margin-bottom:16px;width:100%}.tribe-events .tribe-events-header__events-bar{flex:none}.tribe-events .tribe-events-header__top-bar{flex:auto}.tribe-events .tribe-events-calendar-list__event-row{flex-wrap:nowrap;margin-bottom:24px;margin-top:32px}.tribe-events .tribe-events-calendar-list__event-row:last-child{margin-bottom:40px}.tribe-events .tribe-events-calendar-list__month-separator+.tribe-events-calendar-list__event-row{margin-top:20px}.tribe-events .tribe-events-calendar-list__event-date-tag{flex:none;width:54px;position:relative}.tribe-events .tribe-events-calendar-list__event-date-tag-datetime{display:flex;flex-direction:column;height:100%;text-align:center}.tribe-events .tribe-events-calendar-list__event-date-tag-weekday{margin-bottom:-4px}.tribe-events .tribe-events-calendar-list__event-wrapper{flex:1;width:calc(75% + 21px)}.tribe-events .tribe-events-calendar-list__event{flex-direction:column}.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper{flex:none;margin-bottom:16px}.tribe-events .tribe-events-calendar-list__event-featured-image,.tribe-events .tribe-events-calendar-list__event-featured-image-link{display:block}.tribe-events .tribe-events-calendar-list__event-details{flex:none}.tribe-events .tribe-events-calendar-list__event-header>:last-child{margin-bottom:0}.tribe-events .tribe-events-calendar-list__event-datetime-wrapper,.tribe-events .tribe-events-calendar-list__event-title{margin-bottom:8px}.tribe-events .tribe-events-calendar-list__event-datetime-wrapper:last-child,.tribe-events .tribe-events-calendar-list__event-title:last-child{margin-bottom:0}.tribe-events .tribe-events-calendar-list__event-datetime-featured-icon{display:inline-block;margin-right:4px}.tribe-events .tribe-events-calendar-list__event-datetime-recurring-icon{display:inline-block;margin-left:4px}.tribe-events .tribe-events-calendar-list__event-venue{margin-bottom:8px}.tribe-events .tribe-events-calendar-list__event-description{display:none!important;visibility:hidden}.tribe-events .tribe-events-calendar-list__event-cost{margin-top:12px}.tribe-events .tribe-events-calendar-list__month-separator{display:flex;align-items:center}.tribe-events .tribe-events-calendar-list__month-separator-text{flex:none}.tribe-events .tribe-events-calendar-list-nav{padding-top:24px}.tribe-events .tribe-events-calendar-month{margin-bottom:8px}.tribe-events .tribe-events-calendar-month__week{display:flex}.tribe-events .tribe-events-calendar-month__calendar-event{margin:8px 0;padding:0 16px;position:relative}.tribe-events .tribe-events-calendar-month__calendar-event:first-child{margin-top:0}.tribe-events .tribe-events-calendar-month__calendar-event:last-child{margin-bottom:0;padding-bottom:16px}.tribe-events .tribe-events-calendar-month__multiday-event-wrapper+.tribe-events-calendar-month__calendar-event{margin-top:0}.tribe-events .tribe-events-calendar-month__multiday-event-wrapper+.tribe-events-calendar-month__calendar-event--featured{margin-top:8px}.tribe-events .tribe-events-calendar-month__calendar-event-datetime-featured-icon,.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-icon{display:inline-block}.tribe-events .tribe-events-calendar-month__calendar-event-datetime-featured-icon{margin-right:4px}.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-icon{margin-left:2px}.tribe-events .tribe-events-calendar-month__calendar-event-featured-image-wrapper{margin-bottom:4px}.tribe-events .tribe-events-calendar-month__calendar-event-featured-image,.tribe-events .tribe-events-calendar-month__calendar-event-featured-image-link{display:block}.tribe-events .tribe-events-calendar-month__calendar-event-datetime>*{vertical-align:middle}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image-wrapper{margin-bottom:12px;width:206px}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image-wrapper:last-child{margin-bottom:0}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image-link{display:block}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime{margin-bottom:4px}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-featured-icon,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-icon{display:inline-block}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-featured-icon{margin-right:4px}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-icon{margin-left:2px}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-title{margin-bottom:4px}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-description{margin-bottom:8px}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-description:last-child{margin-bottom:0}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-cost{margin-top:16px}.tribe-theme-twentynineteen .entry .tribe-events .tribe-events-calendar-month__calendar-event,.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-month__calendar-event{margin:8px 0;padding:0 16px;position:relative}.tribe-theme-twentynineteen .entry .tribe-events .tribe-events-calendar-month__calendar-event:first-child,.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-month__calendar-event:first-child{margin-top:0}.tribe-theme-twentynineteen .entry .tribe-events .tribe-events-calendar-month__calendar-event:last-child,.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-month__calendar-event:last-child{margin-bottom:0;padding-bottom:16px}.tribe-events .tribe-events-calendar-month__header-row{display:flex}.tribe-events .tribe-events-calendar-month__header-column{width:14.285%;padding-bottom:16px}.tribe-events .tribe-events-calendar-month__day{height:48px;overflow:hidden;position:relative;width:14.285%}.tribe-events .tribe-events-calendar-month__day-cell{height:100%;width:100%}.tribe-events .tribe-events-calendar-month__day-cell--mobile{align-items:center;display:flex;flex-direction:column;text-align:center}.tribe-events .tribe-events-calendar-month__events{flex:auto}.tribe-events .tribe-events-calendar-month__mobile-events-icon--event{background-color:#141827;border-radius:50%;height:8px;width:8px}.tribe-events .tribe-events-calendar-month__mobile-events-icon--featured{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h16v20l-7.902-5.122L0 20z' fill='%23141827'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;height:10px;width:8px}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-day{display:none}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-day--show{display:block}.tribe-events .tribe-events-calendar-month-mobile-events__day-marker{padding-top:16px}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event{padding:12px 0}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event--featured{padding-bottom:20px}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-featured-image-wrapper{margin-bottom:12px}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime{margin-bottom:4px}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime>*{vertical-align:middle}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime-featured-icon{display:inline-block;margin-right:4px}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime-recurring-icon{display:inline-block;margin-left:4px}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime-featured-text{margin-right:8px}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-cost{margin-top:8px}.tribe-events .tribe-events-calendar-month-mobile-events__more-events{padding:4px 0 20px}.tribe-events .tribe-events-calendar-month__more-events{display:flex;flex:none;margin:0 16px;padding:8px 0 16px}.tribe-events .tribe-events-calendar-month__more-events-link{flex:none}.tribe-events .tribe-events-calendar-month__multiday-event--width-2 .tribe-events-calendar-month__multiday-event-bar{width:calc(200% + 1px)}.tribe-events .tribe-events-calendar-month__multiday-event--width-3 .tribe-events-calendar-month__multiday-event-bar{width:calc(300% + 2px)}.tribe-events .tribe-events-calendar-month__multiday-event--width-4 .tribe-events-calendar-month__multiday-event-bar{width:calc(400% + 3px)}.tribe-events .tribe-events-calendar-month__multiday-event--width-5 .tribe-events-calendar-month__multiday-event-bar{width:calc(500% + 4px)}.tribe-events .tribe-events-calendar-month__multiday-event--width-6 .tribe-events-calendar-month__multiday-event-bar{width:calc(600% + 5px)}.tribe-events .tribe-events-calendar-month__multiday-event--width-7 .tribe-events-calendar-month__multiday-event-bar{width:calc(700% + 6px)}.tribe-events .tribe-events-calendar-month__multiday-event-hidden{height:100%;opacity:0;position:absolute;width:100%;z-index:5}.tribe-events .tribe-events-calendar-month__multiday-event-hidden-title{white-space:nowrap}.tribe-events .tribe-events-calendar-month__multiday-event-hidden-link{display:block;height:100%}.tribe-events .tribe-events-calendar-month__multiday-event-bar{background-color:#fff;overflow:hidden;position:relative;width:100%;z-index:2}.tribe-events .tribe-events-calendar-month__multiday-event-bar-inner{align-items:center;cursor:pointer;display:flex;flex-wrap:nowrap;padding:1px 16px}.tribe-events .tribe-events-calendar-month__multiday-event-bar-featured-icon{flex:none;margin-right:5px}.tribe-events .tribe-events-calendar-month__multiday-event-bar-title{flex:none;max-width:100%;overflow:hidden;white-space:nowrap}.tribe-events .tribe-events-calendar-month-nav{padding-top:20px}.tribe-events .tribe-events-calendar-day__event{margin-bottom:24px;margin-top:32px;padding-left:54px}.tribe-events .tribe-events-calendar-day__event:last-child{margin-bottom:40px}.tribe-events .tribe-events-calendar-day__time-separator+.tribe-events-calendar-day__event,.tribe-events .tribe-events-calendar-day__type-separator+.tribe-events-calendar-day__event{margin-top:20px}.tribe-events .tribe-events-calendar-day__event-content{flex:none}.tribe-events .tribe-events-calendar-day__event-featured-image-wrapper{margin-bottom:16px}.tribe-events .tribe-events-calendar-day__event-featured-image-link,.tribe-events .tribe-events-calendar-list__event-featured-image{display:block}.tribe-events .tribe-events-calendar-day__event-details{position:relative}.tribe-events .tribe-events-calendar-day__event-header>:last-child{margin-bottom:0}.tribe-events .tribe-events-calendar-day__event-datetime-wrapper,.tribe-events .tribe-events-calendar-day__event-title{margin-bottom:8px}.tribe-events .tribe-events-calendar-day__event-datetime-wrapper:last-child,.tribe-events .tribe-events-calendar-day__event-title:last-child{margin-bottom:0}.tribe-events .tribe-events-calendar-day__event-datetime-featured-icon{display:inline-block;margin-right:4px}.tribe-events .tribe-events-calendar-day__event-datetime-recurring-icon{display:inline-block;margin-left:4px}.tribe-events .tribe-events-calendar-day__event-venue{margin-bottom:8px}.tribe-events .tribe-events-calendar-day__event-description{display:none!important;visibility:hidden}.tribe-events .tribe-events-calendar-day__event-cost{margin-top:12px}.tribe-theme-twentynineteen .tribe-events .entry.tribe-events-calendar-day__event{margin-bottom:24px;margin-top:32px;padding-left:54px}.tribe-theme-twentynineteen .tribe-events .entry.tribe-events-calendar-day__event:last-child{margin-bottom:40px}.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-day__time-separator+.entry.tribe-events-calendar-day__event,.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-day__type-separator+.entry.tribe-events-calendar-day__event{margin-top:20px}.tribe-events .tribe-events-calendar-day-nav{padding-top:24px}.tribe-events .tribe-events-calendar-day__time-separator{display:flex;align-items:center}.tribe-events .tribe-events-calendar-day__time-separator-text{flex:none}.tribe-events .tribe-events-calendar-day__type-separator{display:flex;align-items:center}.tribe-events .tribe-events-calendar-day__type-separator-text{flex:none}@media (min-width:768px){.tribe-events .tribe-events-l-container{padding-bottom:160px;padding-top:96px}.tribe-events .tribe-events-c-breadcrumbs{margin-bottom:48px}.tribe-events .tribe-events-c-breadcrumbs__list-item:not(:last-child):after{height:16px;width:10px;margin:0 10px}.admin-bar .tribe-events .datepicker,.tribe-events .datepicker{margin-top:16px}.tribe-events .tribe-events-c-events-bar{flex-direction:row}.tribe-events .tribe-events-c-events-bar__search-filters-container{align-items:center;display:flex;flex:auto;padding:0;position:static;z-index:auto}.tribe-events .tribe-events-c-events-bar__search{display:flex;flex:auto}.tribe-events .tribe-events-c-events-bar__filters{margin:12px 0}.tribe-events .tribe-events-c-events-bar__filters-button{align-items:center;display:flex!important;margin:-12px 0;padding:20px 24px;visibility:visible}.tribe-events .tribe-events-c-events-bar__filters-button:active:before,.tribe-events .tribe-events-c-events-bar__filters-button:focus:before,.tribe-events .tribe-events-c-events-bar__filters-button:hover:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17'%3E%3Cg fill='none' fill-rule='evenodd' stroke='%23141827' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' transform='translate(1 1)'%3E%3Cpath d='M3 3V0m0 15v-2'/%3E%3Ccircle cx='3' cy='9' r='3'/%3E%3Cpath d='M12 9v6'/%3E%3Ccircle cx='12' cy='3' r='3' transform='matrix(1 0 0 -1 0 6)'/%3E%3C/g%3E%3C/svg%3E")}.tribe-events .tribe-events-c-events-bar__filters-button:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17'%3E%3Cg fill='none' fill-rule='evenodd' stroke='%23727272' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' transform='translate(1 1)'%3E%3Cpath d='M3 3V0m0 15v-2'/%3E%3Ccircle cx='3' cy='9' r='3'/%3E%3Cpath d='M12 9v6'/%3E%3Ccircle cx='12' cy='3' r='3' transform='matrix(1 0 0 -1 0 6)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;background-size:17px;content:"";display:inline-block;flex:none;height:17px;margin-right:8px;width:17px}.tribe-events .tribe-events-c-events-bar__search-button,.tribe-events .tribe-events-c-events-bar__tabs{display:none!important;visibility:hidden}.tribe-events .tribe-events-c-messages__message{justify-content:center;padding:16px}.tribe-events .tribe-events-c-nav{padding-top:28px}.tribe-events .tribe-events-c-nav__list-item{width:50%}.tribe-events .tribe-events-c-nav__list-item--today{display:none!important;visibility:hidden}.tribe-events .tribe-events-c-nav__next-label-plural,.tribe-events .tribe-events-c-nav__prev-label-plural{clip:auto;width:auto;height:auto;margin:0;position:static}.tribe-events .tribe-events-c-search{display:flex;align-items:center}.tribe-events .tribe-events-c-search__input-group{align-items:center;display:flex;flex:auto}.tribe-events .tribe-events-c-search__input-control{flex:auto;margin:12px 0}.tribe-events .tribe-events-c-search__input{margin:-12px 0}.tribe-events .tribe-events-c-search__button{flex:none;margin-top:0}#top.tribe-theme-enfold .tribe-events .tribe-events-c-search__input,.tribe-theme-avada .tribe-events .tribe-events-c-search__input{margin:-12px 0}.tribe-events .tribe-events-c-top-bar{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap}.tribe-events .tribe-events-c-top-bar__nav{display:block!important;flex:none;visibility:visible}.tribe-events .tribe-events-c-top-bar__nav-link:before{height:18px;width:11px}.tribe-events .tribe-events-c-top-bar__today-button{display:block!important;flex:none;margin-right:15px;visibility:visible}.tribe-events .tribe-events-c-top-bar__datepicker{margin:0;padding:0}.tribe-events .tribe-events-c-top-bar__datepicker-container{max-width:none;min-width:363px}.tribe-events .tribe-events-c-top-bar__datepicker-submit{display:block!important;flex:none;margin-left:15px;visibility:visible}.tribe-events .tribe-events-c-top-bar__actions{display:block!important;flex:none;margin-left:auto;visibility:visible}.tribe-events .tribe-events-c-view-selector{width:auto}.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button{height:100%;padding:20px 24px}.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button-icon{display:none!important;visibility:hidden}.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button-text{clip:auto;width:auto;height:auto;margin:0;position:static;flex:auto}.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__content{left:0;padding:8px;right:auto;transform:translateY(8px);width:auto}.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__list-item-link{padding:4px 32px 4px 16px}.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__list-item-icon{display:none!important;visibility:hidden}.tribe-events .tribe-events-c-view-selector--tabs{width:auto}.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__button{display:none!important;visibility:hidden}.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__content{display:block;height:100%;padding:0 12px;position:static;transform:none}.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list{display:flex;height:100%}.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item{margin:0 12px}.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item-link{height:100%;padding:20px 0;position:relative}.tribe-events .tribe-events-c-view-selector__button{padding:8px}.tribe-events .tribe-events-c-view-selector__button-icon{height:23px;width:23px}.tribe-events .tribe-events-c-view-selector__content{transform:translateY(12px)}.tribe-events .tribe-events-header{margin:0;padding:0}.tribe-events .tribe-events-header--has-event-search{background-color:transparent;flex-direction:row}.tribe-events .tribe-events-header--has-event-search .tribe-events-header__events-bar{margin-left:0;width:100%}.tribe-events .tribe-events-header--has-event-search .tribe-events-header__top-bar{width:100%}.tribe-events .tribe-events-header__messages{margin-bottom:32px;order:1}.tribe-events .tribe-events-header__events-bar{margin-bottom:32px;margin-left:16px}.tribe-events .tribe-events-header__top-bar{margin-bottom:32px}.tribe-events .tribe-events-calendar-list__event-row{margin:48px -24px 40px}.tribe-events .tribe-events-calendar-list__event-row>.tribe-common-g-col{padding-left:24px;padding-right:24px}.tribe-events .tribe-events-calendar-list__event-row:last-child{margin-bottom:64px}.tribe-events .tribe-events-calendar-list__month-separator+.tribe-events-calendar-list__event-row{margin-top:40px}.tribe-events .tribe-events-calendar-list__event-date-tag{min-width:90px;width:11.111%}.tribe-events .tribe-events-calendar-list__event-wrapper{flex:1 1 88.888%}.tribe-events .tribe-events-calendar-list__event{flex-direction:row-reverse;justify-content:flex-end}.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper{margin-bottom:0;width:37.5%}.tribe-events .tribe-events-calendar-list__event-details{width:62.5%}.tribe-events .tribe-events-calendar-list__event-datetime-wrapper,.tribe-events .tribe-events-calendar-list__event-title{margin-bottom:16px}.tribe-events .tribe-events-calendar-list__event-datetime-featured-text{clip:auto;width:auto;height:auto;margin:0;position:static;margin-right:8px}.tribe-events .tribe-events-calendar-list__event-venue{margin-bottom:16px}.tribe-events .tribe-events-calendar-list__event-description{display:block!important;margin-top:16px;visibility:visible}.tribe-events .tribe-events-calendar-list__event-cost{margin-top:16px}.tribe-events .tribe-events-calendar-list-nav{padding-top:32px}.tribe-events .tribe-events-calendar-month{margin:0}.tribe-events .tribe-events-calendar-month__body{border-top:1px solid #e4e4e4}.tribe-events .tribe-events-calendar-month__week{border-left:1px solid #e4e4e4}.tribe-events .tribe-events-calendar-month__header-column-title-mobile{display:none!important;visibility:hidden}.tribe-events .tribe-events-calendar-month__header-column-title-desktop{display:block!important;visibility:visible}.tribe-events .tribe-events-calendar-month__day{border-color:#e4e4e4;border-style:solid;border-width:0 1px 1px 0;height:auto;min-height:168px;overflow:visible}.tribe-events .tribe-events-calendar-month__day-cell--mobile{display:none!important;visibility:hidden}.tribe-events .tribe-events-calendar-month__day-cell--desktop{display:flex!important;flex-direction:column;visibility:visible}.tribe-events .tribe-events-calendar-month__day-date{flex:none;padding:8px 16px}.tribe-events .tribe-events-calendar-month-mobile-events{display:none!important;visibility:hidden}.tribe-events .tribe-events-calendar-month__multiday-event-wrapper{height:19px;margin-bottom:4px;position:relative}.tribe-events .tribe-events-calendar-month-nav{display:none!important;visibility:hidden}.tribe-events .tribe-events-calendar-day__event{margin-bottom:40px;margin-top:48px;padding-left:0}.tribe-events .tribe-events-calendar-day__event:last-child{margin-bottom:64px}.tribe-events .tribe-events-calendar-day__event:before{content:"";min-width:90px;width:11.111%}.tribe-events .tribe-events-calendar-day__time-separator+.tribe-events-calendar-day__event,.tribe-events .tribe-events-calendar-day__type-separator+.tribe-events-calendar-day__event{margin-top:40px}.tribe-events .tribe-events-calendar-day__event-content{display:flex;flex-direction:row-reverse;justify-content:flex-end;flex:1 1 88.888%;margin-left:-24px;margin-right:-24px}.tribe-events .tribe-events-calendar-day__event-content>*{padding-left:24px;padding-right:24px}.tribe-events .tribe-events-calendar-day__event-featured-image-wrapper{flex:none;margin-bottom:0;width:37.5%}.tribe-events .tribe-events-calendar-day__event-details{flex:none;width:62.5%}.tribe-events .tribe-events-calendar-day__event-datetime-wrapper,.tribe-events .tribe-events-calendar-day__event-title{margin-bottom:16px}.tribe-events .tribe-events-calendar-day__event-datetime-featured-text{clip:auto;width:auto;height:auto;margin:0;position:static;margin-right:8px}.tribe-events .tribe-events-calendar-day__event-venue{margin-bottom:16px}.tribe-events .tribe-events-calendar-day__event-description{display:block!important;margin-top:16px;visibility:visible}.tribe-events .tribe-events-calendar-day__event-cost{margin-top:16px}.tribe-theme-twentynineteen .tribe-events .entry.tribe-events-calendar-day__event{margin-bottom:40px;margin-top:48px;padding-left:0}.tribe-theme-twentynineteen .tribe-events .entry.tribe-events-calendar-day__event:last-child{margin-bottom:64px}.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-day__time-separator+.entry.tribe-events-calendar-day__event,.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-day__type-separator+.entry.tribe-events-calendar-day__event{margin-top:40px}.tribe-events .tribe-events-calendar-day-nav{padding-top:32px}}@media (min-width:960px){.tribe-events .tribe-events-c-top-bar__datepicker-mobile{display:none!important;visibility:hidden}.tribe-events .tribe-events-c-top-bar__datepicker-desktop{display:block!important;visibility:visible}}
|
| 1 |
+
.tribe-events-view{position:relative}.tribe-events .tribe-events-l-container{padding-bottom:80px;padding-top:64px;min-height:600px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container{padding-bottom:160px;padding-top:96px;min-height:700px}.tribe-events .tribe-events-c-breadcrumbs{margin-bottom:24px;width:100%}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-breadcrumbs{margin-bottom:48px}.tribe-events .tribe-events-c-breadcrumbs__list{display:flex;flex-wrap:wrap}.tribe-events .tribe-events-c-breadcrumbs__list-item{display:inline-flex;align-items:center}.tribe-events .tribe-events-c-breadcrumbs__list-item:not(:last-child):after{content:"";background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23727272'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;display:inline-block;height:10px;width:6px;margin:0 6px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-breadcrumbs__list-item:not(:last-child):after{height:16px;width:10px;margin:0 10px}.tribe-events .datepicker{margin-top:8px;padding:0 16px 16px}.tribe-common--breakpoint-medium.tribe-events .datepicker{margin-top:16px}.tribe-events .datepicker table{border-collapse:collapse}.tribe-events .datepicker .datepicker-switch,.tribe-events .datepicker .next,.tribe-events .datepicker .prev{padding:20px 0;vertical-align:middle}.tribe-events .datepicker .next .tribe-common-svgicon,.tribe-events .datepicker .prev .tribe-common-svgicon{display:block;height:14px;width:9px}.tribe-events .datepicker .prev:active .tribe-common-svgicon,.tribe-events .datepicker .prev:focus .tribe-common-svgicon,.tribe-events .datepicker .prev:hover .tribe-common-svgicon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-events .datepicker .prev .tribe-common-svgicon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23BABABA'/%3E%3C/svg%3E");margin-right:auto}.tribe-events .datepicker .next:active .tribe-common-svgicon,.tribe-events .datepicker .next:focus .tribe-common-svgicon,.tribe-events .datepicker .next:hover .tribe-common-svgicon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-events .datepicker .next .tribe-common-svgicon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23BABABA'/%3E%3C/svg%3E");margin-left:auto}.tribe-events .datepicker .datepicker-months td,.tribe-events .datepicker .datepicker-months th,.tribe-events .datepicker .datepicker-years td,.tribe-events .datepicker .datepicker-years th{padding:0}.tribe-events .datepicker .datepicker-months .datepicker-switch,.tribe-events .datepicker .datepicker-months .next,.tribe-events .datepicker .datepicker-months .prev,.tribe-events .datepicker .datepicker-years .datepicker-switch,.tribe-events .datepicker .datepicker-years .next,.tribe-events .datepicker .datepicker-years .prev{padding:20px 0 8px}.tribe-events .datepicker .dow{padding:0;width:14.285%}.tribe-events .datepicker .day{padding:11px 0;width:48px}.tribe-events .datepicker .month,.tribe-events .datepicker .year{height:auto;margin:0;padding:15px 0;width:25%}.admin-bar .tribe-events .datepicker{margin-top:8px}.admin-bar .tribe-events.tribe-common--breakpoint-medium .datepicker{margin-top:16px}.tribe-theme-divi #content-area .tribe-events .datepicker .datepicker-switch,.tribe-theme-divi #content-area .tribe-events .datepicker .next,.tribe-theme-divi #content-area .tribe-events .datepicker .prev{padding:20px 0}.tribe-theme-divi #content-area .tribe-events .datepicker .datepicker-months .datepicker-switch,.tribe-theme-divi #content-area .tribe-events .datepicker .datepicker-months .next,.tribe-theme-divi #content-area .tribe-events .datepicker .datepicker-months .prev,.tribe-theme-divi #content-area .tribe-events .datepicker .datepicker-years .datepicker-switch,.tribe-theme-divi #content-area .tribe-events .datepicker .datepicker-years .next,.tribe-theme-divi #content-area .tribe-events .datepicker .datepicker-years .prev{padding:20px 0 8px}.tribe-theme-divi #content-area .tribe-events .datepicker .dow{padding:0}.tribe-theme-divi #content-area .tribe-events .datepicker .day{padding:11px 0}.tribe-theme-enfold .tribe-events .datepicker{min-width:0;padding:0 16px 16px}.tribe-theme-enfold .tribe-events .datepicker .datepicker-switch{cursor:pointer!important}.tribe-theme-avada .tribe-events .datepicker{padding:0 16px 16px}.tribe-theme-avada .tribe-events .datepicker .datepicker-months td{padding:0}.tribe-events .tribe-events-c-day-marker{align-items:center;display:flex}.tribe-events .tribe-events-c-day-marker__date{flex:none}.tribe-events .tribe-events-c-events-bar{display:flex}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar{flex-direction:row}.tribe-events .tribe-events-c-events-bar__views{display:flex;flex:none;justify-content:center}.tribe-events .tribe-events-c-events-bar__search-filters-container{background-color:#fff;display:none;left:0;padding:12px 21px;position:absolute;right:0;top:calc(100% - 12px);z-index:30}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__search-filters-container{align-items:center;display:flex;flex:auto;padding:0;position:static;z-index:auto}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__search{display:flex;flex:auto}.tribe-events .tribe-events-c-events-bar__search-form{width:100%}.tribe-events .tribe-events-c-events-bar__filters{display:flex;flex:none;justify-content:flex-end;margin-right:-12px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__filters{margin:12px 0}.tribe-events .tribe-events-c-events-bar__filters-button{display:none!important;visibility:hidden}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__filters-button{align-items:center;display:flex!important;margin:-12px 0;padding:20px 24px;visibility:visible}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__filters-button:active:before,.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__filters-button:focus:before,.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__filters-button:hover:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17'%3E%3Cg fill='none' fill-rule='evenodd' stroke='%23141827' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' transform='translate(1 1)'%3E%3Cpath d='M3 3V0m0 15v-2'/%3E%3Ccircle cx='3' cy='9' r='3'/%3E%3Cpath d='M12 9v6'/%3E%3Ccircle cx='12' cy='3' r='3' transform='matrix(1 0 0 -1 0 6)'/%3E%3C/g%3E%3C/svg%3E")}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__filters-button:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17'%3E%3Cg fill='none' fill-rule='evenodd' stroke='%23727272' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' transform='translate(1 1)'%3E%3Cpath d='M3 3V0m0 15v-2'/%3E%3Ccircle cx='3' cy='9' r='3'/%3E%3Cpath d='M12 9v6'/%3E%3Ccircle cx='12' cy='3' r='3' transform='matrix(1 0 0 -1 0 6)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;background-size:17px;content:"";display:inline-block;flex:none;height:17px;margin-right:8px;width:17px}.tribe-events .tribe-events-c-events-bar__search-button{display:inline-block;margin-right:8px;padding:4px;position:relative}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__search-button{display:none!important;visibility:hidden}.tribe-events .tribe-events-c-events-bar__search-button-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23141827'/%3E%3C/svg%3E");display:block;height:21px;width:21px}.tribe-events .tribe-events-c-events-bar__search-button-icon--filter{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='22'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='%23141827' fill-rule='nonzero' d='M30.128 21.41c.22.221.554.247.743.058l.6-.6c.19-.189.163-.524-.057-.744l-6.557-6.557c-.55-.55-1.83.743-1.278 1.295l6.549 6.549z'/%3E%3Ccircle cx='18.777' cy='8.777' r='7.564' stroke='%23141827' stroke-width='1.5' transform='rotate(4 18.777 8.777)'/%3E%3Cpath fill='%23141827' fill-rule='nonzero' d='M7.442 9.533C7.75 9.533 8 9.293 8 9v-.467A.547.547 0 0 0 7.442 8H.558A.547.547 0 0 0 0 8.533V9c0 .293.25.533.558.533h6.884zM9.533 2.5c.257 0 .467-.24.467-.533v-.434C10 1.24 9.79 1 9.533 1H.467C.21 1 0 1.24 0 1.533v.434c0 .293.21.533.467.533h9.066zM.535 16.533h3.93c.294 0 .535-.24.535-.533v-.467A.536.536 0 0 0 4.465 15H.535a.536.536 0 0 0-.535.533V16c0 .293.24.533.535.533z'/%3E%3C/g%3E%3C/svg%3E");width:31px}.tribe-events .tribe-events-c-events-bar__search-button-icon--filter+.tribe-events-c-events-bar__search-button-icon{display:none!important;visibility:hidden}.tribe-events .tribe-events-c-events-bar__tabs{display:flex;padding-bottom:12px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__tabs{display:none!important;visibility:hidden}.tribe-events .tribe-events-c-events-bar__tab{align-items:center;display:flex;flex:1 1 50%;flex-direction:column;margin:0 4px;padding:16px 0}.tribe-events .tribe-events-c-events-bar__tab:active .tribe-common-svgicon--search,.tribe-events .tribe-events-c-events-bar__tab:focus .tribe-common-svgicon--search,.tribe-events .tribe-events-c-events-bar__tab:hover .tribe-common-svgicon--search{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-events .tribe-events-c-events-bar__tab:active .tribe-common-svgicon--filters,.tribe-events .tribe-events-c-events-bar__tab:focus .tribe-common-svgicon--filters,.tribe-events .tribe-events-c-events-bar__tab:hover .tribe-common-svgicon--filters{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17'%3E%3Cg fill='none' fill-rule='evenodd' stroke='%23141827' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' transform='translate(1 1)'%3E%3Cpath d='M3 3V0m0 15v-2'/%3E%3Ccircle cx='3' cy='9' r='3'/%3E%3Cpath d='M12 9v6'/%3E%3Ccircle cx='12' cy='3' r='3' transform='matrix(1 0 0 -1 0 6)'/%3E%3C/g%3E%3C/svg%3E")}.tribe-events .tribe-events-c-events-bar__tab:first-of-type{margin-left:0}.tribe-events .tribe-events-c-events-bar__tab:last-of-type{margin-right:0}.tribe-events .tribe-events-c-events-bar__tab--active .tribe-common-svgicon--search{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-events .tribe-events-c-events-bar__tab--active .tribe-common-svgicon--filters{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17'%3E%3Cg fill='none' fill-rule='evenodd' stroke='%23141827' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' transform='translate(1 1)'%3E%3Cpath d='M3 3V0m0 15v-2'/%3E%3Ccircle cx='3' cy='9' r='3'/%3E%3Cpath d='M12 9v6'/%3E%3Ccircle cx='12' cy='3' r='3' transform='matrix(1 0 0 -1 0 6)'/%3E%3C/g%3E%3C/svg%3E")}.tribe-events .tribe-events-c-events-bar__tab-icon{height:16px;margin-bottom:4px;width:16px}.tribe-events .tribe-events-c-ical{margin-top:20px;text-align:right}.tribe-events .tribe-events-view-loader{align-items:flex-start;justify-content:center;display:flex;position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;background-color:hsla(0,0%,100%,.6)}.tribe-events .tribe-events-c-messages{display:flex;flex-direction:column}.tribe-events .tribe-events-c-messages__message{align-items:center;display:flex;padding:12px;width:100%}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-messages__message{justify-content:center;padding:16px}.tribe-events .tribe-events-c-nav{padding-top:20px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav{padding-top:28px}.tribe-events .tribe-events-c-nav__list{display:flex;width:100%;flex-wrap:wrap;justify-content:space-between}.tribe-events .tribe-events-c-nav__list-item{display:flex;width:33.33%}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__list-item{width:50%}.tribe-events .tribe-events-c-nav__list-item--prev{justify-content:flex-start}.tribe-events .tribe-events-c-nav__list-item--next{justify-content:flex-end}.tribe-events .tribe-events-c-nav__list-item--today{justify-content:center}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__list-item--today{display:none!important;visibility:hidden}.tribe-events .tribe-events-c-nav__next-label-plural,.tribe-events .tribe-events-c-nav__prev-label-plural{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__next-label-plural,.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__prev-label-plural{clip:auto;width:auto;height:auto;margin:0;position:static}.tribe-events .tribe-events-c-nav__next,.tribe-events .tribe-events-c-nav__prev{align-items:center;display:flex;flex:none;flex-wrap:wrap;justify-content:center}.tribe-events .tribe-events-c-promo{margin-top:20px}.tribe-events .tribe-events-c-read-more{margin-top:12px}.tribe-events .tribe-events-c-small-cta>*{margin-left:8px}.tribe-events .tribe-events-c-small-cta>:first-child{margin-left:0}.tribe-events .tribe-events-c-small-cta__link{cursor:pointer}.tribe-events .tribe-events-c-small-cta__stock{margin-left:4px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search{display:flex;align-items:center}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search__input-group{align-items:center;display:flex;flex:auto}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search__input-control{flex:auto;margin:12px 0}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search__input{margin:-12px 0}.tribe-events .tribe-events-c-search__button{margin-top:24px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search__button{flex:none;margin-top:0}#top.tribe-theme-enfold .tribe-events.tribe-common--breakpoint-medium .tribe-events-c-search__input,.tribe-theme-avada .tribe-events.tribe-common--breakpoint-medium .tribe-events-c-search__input{margin:-12px 0}.tooltipster-base.tribe-events-tooltip-theme{height:auto!important;padding:24px;max-width:254px}.tooltipster-base.tribe-events-tooltip-theme .tooltipster-box{margin:0}.tooltipster-base.tribe-events-tooltip-theme .tooltipster-box .tooltipster-content{padding:0;word-break:break-word}.tooltipster-base.tribe-events-tooltip-theme .tooltipster-arrow{display:none}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-top-bar{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-top-bar__nav{display:block!important;flex:none;visibility:visible}.tribe-events .tribe-events-c-top-bar__nav-list{display:flex}.tribe-events .tribe-events-c-top-bar__nav-list-item{flex:none;padding-right:15px}.tribe-events .tribe-events-c-top-bar__nav-list-item>*{vertical-align:middle}.tribe-events .tribe-events-c-top-bar__nav-link{display:block}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-top-bar__nav-link:before{height:18px;width:11px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-top-bar__today-button{display:block!important;flex:none;margin-right:15px;visibility:visible}.tribe-events .tribe-events-c-top-bar__datepicker-form{align-items:center;display:flex}.tribe-events .tribe-events-c-top-bar__datepicker{flex:auto;position:relative}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-top-bar__datepicker{margin:0;padding:0}.tribe-events .tribe-events-c-top-bar__datepicker-separator{white-space:pre}.tribe-common--breakpoint-full.tribe-events .tribe-events-c-top-bar__datepicker-mobile{display:none!important;visibility:hidden}.tribe-common--breakpoint-full.tribe-events .tribe-events-c-top-bar__datepicker-desktop{display:block!important;visibility:visible}.tribe-events .tribe-events-c-top-bar__datepicker-button{align-items:center;display:flex;flex:none}.tribe-events .tribe-events-c-top-bar__datepicker-container{bottom:0;left:0;max-width:calc(100% + 66px);position:absolute;width:363px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-top-bar__datepicker-container{max-width:none;min-width:363px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-top-bar__datepicker-submit{display:block!important;flex:none;margin-left:15px;visibility:visible}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-top-bar__actions{display:block!important;flex:none;margin-left:auto;visibility:visible}#top.tribe-theme-enfold .tribe-events .tribe-events-c-top-bar__datepicker-input,.tribe-theme-avada .tribe-events .tribe-events-c-top-bar__datepicker-input{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tribe-events .tribe-events-c-view-selector{position:relative;width:29px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector{width:auto}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button{height:100%;padding:20px 24px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button-icon{display:none!important;visibility:hidden}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button-text{clip:auto;width:auto;height:auto;margin:0;position:static;flex:auto}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__content{left:0;padding:8px;right:auto;transform:translateY(8px);width:auto}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__list-item-link{padding:4px 32px 4px 16px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__list-item-icon,.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__button{display:none!important;visibility:hidden}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__content{display:block;height:100%;padding:0 12px;position:static;transform:none}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list{display:flex;height:100%}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item{margin:0 12px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item-link{height:100%;padding:20px 0;position:relative}.tribe-events .tribe-events-c-view-selector__button{align-items:center;display:flex;padding:4px;position:relative;width:100%}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector__button{padding:8px}.tribe-events .tribe-events-c-view-selector__button-icon{display:block;height:21px;width:21px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector__button-icon{height:23px;width:23px}.tribe-events .tribe-events-c-view-selector__content{display:none;background-color:#fff;padding:12px 6px;position:absolute;right:0;top:100%;transform:translateY(16px);z-index:30}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector__content{transform:translateY(12px)}.tribe-events .tribe-events-c-view-selector__list-item-link{align-items:center;display:flex;padding:8px 24px 8px 12px}.tribe-events .tribe-events-c-view-selector__list-item-icon{flex:none;height:18px;margin-right:12px;width:18px}.tribe-events .tribe-events-c-view-selector__list-item-text{flex:auto}.tribe-events .tribe-events-header{align-items:center;background-color:#fff;display:flex;flex-direction:row-reverse;flex-wrap:wrap;justify-content:space-between;margin:0 -21px;padding:0 21px 16px;position:relative}.tribe-common--breakpoint-medium.tribe-events .tribe-events-header{margin:0;padding:0}.tribe-common--breakpoint-medium.tribe-events .tribe-events-header--has-event-search{background-color:transparent;flex-direction:row}.tribe-common--breakpoint-medium.tribe-events .tribe-events-header--has-event-search .tribe-events-header__events-bar{margin-left:0;width:100%}.tribe-common--breakpoint-medium.tribe-events .tribe-events-header--has-event-search .tribe-events-header__top-bar{width:100%}.tribe-events .tribe-events-header__messages{margin-bottom:16px;width:100%}.tribe-common--breakpoint-medium.tribe-events .tribe-events-header__messages{margin-bottom:32px;order:1}.tribe-events .tribe-events-header__events-bar{flex:none}.tribe-common--breakpoint-medium.tribe-events .tribe-events-header__events-bar{margin-bottom:32px;margin-left:16px}.tribe-events .tribe-events-header__top-bar{flex:auto}.tribe-common--breakpoint-medium.tribe-events .tribe-events-header__top-bar{margin-bottom:32px}.tribe-events .tribe-events-calendar-list__event-row{flex-wrap:nowrap;margin-bottom:24px;margin-top:32px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-row{margin:48px -24px 40px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-row>.tribe-common-g-col{padding-left:24px;padding-right:24px}.tribe-events .tribe-events-calendar-list__event-row:last-child{margin-bottom:40px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-row:last-child{margin-bottom:64px}.tribe-events .tribe-events-calendar-list__month-separator+.tribe-events-calendar-list__event-row{margin-top:20px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__month-separator+.tribe-events-calendar-list__event-row{margin-top:40px}.tribe-events .tribe-events-calendar-list__event-date-tag{flex:none;width:54px;position:relative}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-date-tag{min-width:90px;width:11.111%}.tribe-events .tribe-events-calendar-list__event-date-tag-datetime{display:flex;flex-direction:column;height:100%;text-align:center}.tribe-events .tribe-events-calendar-list__event-date-tag-weekday{margin-bottom:-4px}.tribe-events .tribe-events-calendar-list__event-wrapper{flex:1;width:calc(75% + 21px)}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-wrapper{flex:1 1 88.888%}.tribe-events .tribe-events-calendar-list__event{flex-direction:column}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event{flex-direction:row-reverse;justify-content:flex-end}.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper{flex:none;margin-bottom:16px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper{margin-bottom:0;width:37.5%}.tribe-events .tribe-events-calendar-list__event-featured-image,.tribe-events .tribe-events-calendar-list__event-featured-image-link{display:block}.tribe-events .tribe-events-calendar-list__event-details{flex:none}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-details{width:62.5%}.tribe-events .tribe-events-calendar-list__event-header>:last-child{margin-bottom:0}.tribe-events .tribe-events-calendar-list__event-datetime-wrapper,.tribe-events .tribe-events-calendar-list__event-title{margin:0 0 8px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-datetime-wrapper,.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-title{margin:0 0 16px}.tribe-events .tribe-events-calendar-list__event-datetime-wrapper:last-child,.tribe-events .tribe-events-calendar-list__event-title:last-child{margin-bottom:0}.tribe-events .tribe-events-calendar-list__event-datetime-featured-icon{display:inline-block;margin-right:4px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-datetime-featured-text{clip:auto;width:auto;height:auto;margin:0;position:static;margin-right:8px}.tribe-events .tribe-events-calendar-list__event-datetime-recurring-icon{display:inline-block;margin-left:4px}.tribe-events .tribe-events-calendar-list__event-venue{margin-bottom:8px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-venue{margin-bottom:16px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-description{display:block!important;margin-top:16px;visibility:visible}.tribe-events .tribe-events-calendar-list__event-cost{margin-top:12px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-cost{margin-top:16px}.tribe-events .tribe-events-calendar-list__month-separator{display:flex;align-items:center}.tribe-events .tribe-events-calendar-list__month-separator-text{flex:none}.tribe-events .tribe-events-calendar-list-nav{padding-top:24px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list-nav{padding-top:32px}.tribe-events .tribe-events-calendar-month{margin-bottom:8px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month{margin:0}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__body{border-top:1px solid #e4e4e4}.tribe-events .tribe-events-calendar-month__week{display:flex}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__week{border-left:1px solid #e4e4e4}.tribe-events .tribe-events-calendar-month__calendar-event{margin:8px 0;padding:0 16px;position:relative}.tribe-events .tribe-events-calendar-month__calendar-event:first-child{margin-top:0}.tribe-events .tribe-events-calendar-month__calendar-event:last-child{margin-bottom:0;padding-bottom:16px}.tribe-events .tribe-events-calendar-month__multiday-event-wrapper+.tribe-events-calendar-month__calendar-event{margin-top:0}.tribe-events .tribe-events-calendar-month__multiday-event-wrapper+.tribe-events-calendar-month__calendar-event--featured{margin-top:8px}.tribe-events .tribe-events-calendar-month__calendar-event-datetime-featured-icon,.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-icon{display:inline-block}.tribe-events .tribe-events-calendar-month__calendar-event-datetime-featured-icon{margin-right:4px}.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-icon{margin-left:2px}.tribe-events .tribe-events-calendar-month__calendar-event-featured-image-wrapper{margin-bottom:4px}.tribe-events .tribe-events-calendar-month__calendar-event-featured-image,.tribe-events .tribe-events-calendar-month__calendar-event-featured-image-link{display:block}.tribe-events .tribe-events-calendar-month__calendar-event-datetime>*{vertical-align:middle}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image-wrapper{margin-bottom:12px;width:206px}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image-wrapper:last-child{margin-bottom:0}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image-link{display:block}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime{margin-bottom:4px}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-featured-icon,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-icon{display:inline-block}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-featured-icon{margin-right:4px}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-icon{margin-left:2px}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-title{margin-bottom:4px}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-description{margin-bottom:8px}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-description:last-child{margin-bottom:0}.tribe-events .tribe-events-calendar-month__calendar-event-title{margin:0}.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-cost{margin-top:16px}.tribe-theme-twentynineteen .entry .tribe-events .tribe-events-calendar-month__calendar-event,.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-month__calendar-event{margin:8px 0;padding:0 16px;position:relative}.tribe-theme-twentynineteen .entry .tribe-events .tribe-events-calendar-month__calendar-event:first-child,.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-month__calendar-event:first-child{margin-top:0}.tribe-theme-twentynineteen .entry .tribe-events .tribe-events-calendar-month__calendar-event:last-child,.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-month__calendar-event:last-child{margin-bottom:0;padding-bottom:16px}.tribe-events .tribe-events-calendar-month__header-row{display:flex}.tribe-events .tribe-events-calendar-month__header-column{width:14.285%;padding-bottom:16px}.tribe-events .tribe-events-calendar-month__header-column-title{margin:0}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__header-column-title-mobile{display:none!important;visibility:hidden}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__header-column-title-desktop{display:block!important;visibility:visible}.tribe-events .tribe-events-calendar-month__day{height:48px;overflow:hidden;position:relative;width:14.285%}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day{border-color:#e4e4e4;border-style:solid;border-width:0 1px 1px 0;height:auto;min-height:168px;overflow:visible}.tribe-events .tribe-events-calendar-month__day-cell{height:100%;width:100%}.tribe-events .tribe-events-calendar-month__day-cell--mobile{align-items:center;display:flex;flex-direction:column;text-align:center}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day-cell--mobile{display:none!important;visibility:hidden}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day-cell--desktop{display:flex!important;flex-direction:column;visibility:visible}.tribe-events .tribe-events-calendar-month__day-date{margin:0}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day-date{flex:none;padding:8px 16px}.tribe-events .tribe-events-calendar-month__events{flex:auto}.tribe-events .tribe-events-calendar-month__mobile-events-icon--event{background-color:#141827;border-radius:50%;height:8px;width:8px}.tribe-events .tribe-events-calendar-month__mobile-events-icon--featured{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h16v20l-7.902-5.122L0 20z' fill='%23141827'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;height:10px;width:8px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month-mobile-events{display:none!important;visibility:hidden}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-day{display:none}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-day--show{display:block}.tribe-events .tribe-events-calendar-month-mobile-events__day-marker{padding-top:16px}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event{padding:12px 0}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event--featured{padding-bottom:20px}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-featured-image-wrapper{margin-bottom:12px}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime{margin-bottom:4px}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime>*{vertical-align:middle}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime-featured-icon{display:inline-block;margin-right:4px}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime-recurring-icon{display:inline-block;margin-left:4px}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime-featured-text{margin-right:8px}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-title{margin:0}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-cost{margin-top:8px}.tribe-events .tribe-events-calendar-month-mobile-events__more-events{padding:4px 0 20px}.tribe-events .tribe-events-calendar-month__more-events{display:flex;flex:none;margin:0 16px;padding:8px 0 16px}.tribe-events .tribe-events-calendar-month__more-events-link{flex:none}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__multiday-event-wrapper{height:19px;margin-bottom:4px;position:relative}.tribe-events .tribe-events-calendar-month__multiday-event--width-2 .tribe-events-calendar-month__multiday-event-bar{width:calc(200% + 1px)}.tribe-events .tribe-events-calendar-month__multiday-event--width-3 .tribe-events-calendar-month__multiday-event-bar{width:calc(300% + 2px)}.tribe-events .tribe-events-calendar-month__multiday-event--width-4 .tribe-events-calendar-month__multiday-event-bar{width:calc(400% + 3px)}.tribe-events .tribe-events-calendar-month__multiday-event--width-5 .tribe-events-calendar-month__multiday-event-bar{width:calc(500% + 4px)}.tribe-events .tribe-events-calendar-month__multiday-event--width-6 .tribe-events-calendar-month__multiday-event-bar{width:calc(600% + 5px)}.tribe-events .tribe-events-calendar-month__multiday-event--width-7 .tribe-events-calendar-month__multiday-event-bar{width:calc(700% + 6px)}.tribe-events .tribe-events-calendar-month__multiday-event-hidden{height:100%;opacity:0;position:absolute;width:100%;z-index:5}.tribe-events .tribe-events-calendar-month__multiday-event-hidden-title{margin:0;overflow:hidden;white-space:nowrap}.tribe-events .tribe-events-calendar-month__multiday-event-hidden-link{display:block;height:100%}.tribe-events .tribe-events-calendar-month__multiday-event-bar{background-color:#fff;overflow:hidden;position:relative;width:100%;z-index:2}.tribe-events .tribe-events-calendar-month__multiday-event-bar-inner{align-items:center;cursor:pointer;display:flex;flex-wrap:nowrap;padding:1px 16px}.tribe-events .tribe-events-calendar-month__multiday-event-bar-featured-icon{flex:none;margin-right:5px}.tribe-events .tribe-events-calendar-month__multiday-event-bar-title{flex:none;margin:0;max-width:100%;overflow:hidden;white-space:nowrap}.tribe-events .tribe-events-calendar-month-nav{padding-top:20px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month-nav{display:none!important;visibility:hidden}.tribe-events .tribe-events-calendar-day__event{margin-bottom:24px;margin-top:32px;padding-left:54px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event{margin-bottom:40px;margin-top:48px;padding-left:0}.tribe-events .tribe-events-calendar-day__event:last-child{margin-bottom:40px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event:last-child{margin-bottom:64px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event:before{content:"";min-width:90px;width:11.111%}.tribe-events .tribe-events-calendar-day__time-separator+.tribe-events-calendar-day__event,.tribe-events .tribe-events-calendar-day__type-separator+.tribe-events-calendar-day__event{margin-top:20px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__time-separator+.tribe-events-calendar-day__event,.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__type-separator+.tribe-events-calendar-day__event{margin-top:40px}.tribe-events .tribe-events-calendar-day__event-content{flex:none}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-content{display:flex;flex-direction:row-reverse;justify-content:flex-end;flex:1 1 88.888%;margin-left:-24px;margin-right:-24px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-content>*{padding-left:24px;padding-right:24px}.tribe-events .tribe-events-calendar-day__event-featured-image-wrapper{margin-bottom:16px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-featured-image-wrapper{flex:none;margin-bottom:0;width:37.5%}.tribe-events .tribe-events-calendar-day__event-featured-image-link,.tribe-events .tribe-events-calendar-list__event-featured-image{display:block}.tribe-events .tribe-events-calendar-day__event-details{position:relative}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-details{flex:none;width:62.5%}.tribe-events .tribe-events-calendar-day__event-header>:last-child{margin-bottom:0}.tribe-events .tribe-events-calendar-day__event-datetime-wrapper,.tribe-events .tribe-events-calendar-day__event-title{margin:0 0 8px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-datetime-wrapper,.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-title{margin:0 0 16px}.tribe-events .tribe-events-calendar-day__event-datetime-wrapper:last-child,.tribe-events .tribe-events-calendar-day__event-title:last-child{margin-bottom:0}.tribe-events .tribe-events-calendar-day__event-datetime-featured-icon{display:inline-block;margin-right:4px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-datetime-featured-text{clip:auto;width:auto;height:auto;margin:0;position:static;margin-right:8px}.tribe-events .tribe-events-calendar-day__event-datetime-recurring-icon{display:inline-block;margin-left:4px}.tribe-events .tribe-events-calendar-day__event-venue{margin-bottom:8px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-venue{margin-bottom:16px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-description{display:block!important;margin-top:16px;visibility:visible}.tribe-events .tribe-events-calendar-day__event-cost{margin-top:12px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-cost{margin-top:16px}.tribe-theme-twentynineteen .tribe-events .entry.tribe-events-calendar-day__event{margin-bottom:24px;margin-top:32px;padding-left:54px}.tribe-theme-twentynineteen .tribe-events .entry.tribe-events-calendar-day__event:last-child{margin-bottom:40px}.tribe-theme-twentynineteen .tribe-events.tribe-common--breakpoint-medium .entry.tribe-events-calendar-day__event{margin-bottom:40px;margin-top:48px;padding-left:0}.tribe-theme-twentynineteen .tribe-events.tribe-common--breakpoint-medium .entry.tribe-events-calendar-day__event:last-child{margin-bottom:64px}.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-day__time-separator+.entry.tribe-events-calendar-day__event,.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-day__type-separator+.entry.tribe-events-calendar-day__event{margin-top:20px}.tribe-theme-twentynineteen .tribe-events.tribe-common--breakpoint-medium .tribe-events-calendar-day__time-separator+.entry.tribe-events-calendar-day__event,.tribe-theme-twentynineteen .tribe-events.tribe-common--breakpoint-medium .tribe-events-calendar-day__type-separator+.entry.tribe-events-calendar-day__event{margin-top:40px}.tribe-events .tribe-events-calendar-day-nav{padding-top:24px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day-nav{padding-top:32px}.tribe-events .tribe-events-calendar-day__time-separator{display:flex;align-items:center}.tribe-events .tribe-events-calendar-day__time-separator-text{flex:none}.tribe-events .tribe-events-calendar-day__type-separator{display:flex;align-items:center}.tribe-events .tribe-events-calendar-day__type-separator-text{flex:none}
|
src/resources/js/views/README.md
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# The Events Calendar JavaScript
|
| 2 |
+
|
| 3 |
+
The Events Calendar uses JavaScript to support the functionalities of the views. Below is a breakdown of the main categories of JavaScript we have to support our plugin.
|
| 4 |
+
|
| 5 |
+
## Utilities
|
| 6 |
+
|
| 7 |
+
We have two main utility JavaScript files that are by various other scripts: Viewport and Accordion. These can be extended by other Modern Tribe plugins or custom scripts.
|
| 8 |
+
|
| 9 |
+
### Viewport
|
| 10 |
+
|
| 11 |
+
The Viewport JavaScript file mainly listens for the window resize event. On window resize, the `isMobile` state is set and a custom event `resize.tribeEvents` is fired on the document element. This custom event is used throughout the application and can be hooked onto to run custom user-defined scripts.
|
| 12 |
+
|
| 13 |
+
### Accordion
|
| 14 |
+
|
| 15 |
+
The Accordion JavaScript file offers 2 different ways of using the accordion functionality.
|
| 16 |
+
|
| 17 |
+
The first method is to add the `data-js="tribe-events-accordion-trigger"` and `aria-controls` attributes to the accordion trigger. The `aria-controls` attribute points to the `id` of the content element. The script binds onto the trigger and listen for clicks. When clicked, the content element will be toggled open or closed.
|
| 18 |
+
|
| 19 |
+
The second method is to manually initialize the accordion via the `tribe.events.views.accordion.initAccordion` and `tribe.events.views.accordion.initAccordionA11yAttrs` functions. This method still requires the `aria-controls` attribute to point to the `id` of the content element, but does not require the `data-js="tribe-events-accordion-trigger"` attribute. Don't forget to deinit the accordion via the `tribe.events.views.accordion.deinitAccordion` and `tribe.events.views.accordion.deinitAccordionA11yAttrs` functions.
|
| 20 |
+
|
| 21 |
+
## Breakpoints
|
| 22 |
+
|
| 23 |
+
The Breakpoints JavaScript is responsible for applying the correct container query classes to the container. See the [PostCSS README.md from The Events Calendar](https://github.com/moderntribe/the-events-calendar/blob/master/src/resources/postcss/README.md) on container queries for more information on the classes. The breakpoint values can also be filtered to customize the breakpoints.
|
| 24 |
+
|
| 25 |
+
This script is loaded in the header rather than the footer to prevent flash of unstyled content.
|
| 26 |
+
|
| 27 |
+
## Manager
|
| 28 |
+
|
| 29 |
+
The Manager JavaScript is responsible for all of the AJAX requests within the application. The datepicker selections, events bar actions, and view and page navigations are all run by this script.
|
| 30 |
+
|
| 31 |
+
There are a number of custom events that are fired on the container, but there are 2 events that can handle most cases when creating custom JavaScript off of the Manager.
|
| 32 |
+
|
| 33 |
+
The first is the `afterSetup.tribeEvents` event. This is fired when the container is loaded and the Manager script is ready. The event is also fired after an AJAX request is successful and the new container has been loaded. This is where you can hook into to perform any setup needed for your script.
|
| 34 |
+
|
| 35 |
+
The second is the `beforeAjaxSuccess.tribeEvents` event. The event fired when an AJAX response has been received but before the existing container is replaced. This is where you can perform any clean-up tasks on the existing container and remove event listeners to prevent memory leaks.
|
| 36 |
+
|
| 37 |
+
## Extendable
|
| 38 |
+
|
| 39 |
+
Extendable JavaScript files are scripts that can be extended by other Modern Tribe plugins or custom scripts.
|
| 40 |
+
|
| 41 |
+
### Multiday Events
|
| 42 |
+
|
| 43 |
+
The Multiday Events JavaScript allows linking of hidden multiday events (via `opacity: 0`) to the visible bar that represents the multiday event. Hover and focus events on the hidden events will reflect on the visible event bar. This is a fairly specific use case, but can be extended if needed.
|
| 44 |
+
|
| 45 |
+
Multiday events are currently only supported in Month View. The script will not run on other views. To expand to another view, hook into the `afterMultidayEventsInitAllowedViews.tribeEvents` on the container and modify the `tribeEventsMultidayEventsAllowedViews` data. You should also add the view and selector prefix to the `tribe.events.views.multidayEvents.selectorPrefixes` object. For example, if you want to use the Multiday Events script on list view, you may add:
|
| 46 |
+
|
| 47 |
+
```
|
| 48 |
+
tribe.events.views.multidayEvents.selectorPrefixes.list = '.tribe-events-calendar-list__';
|
| 49 |
+
```
|
| 50 |
+
|
| 51 |
+
The views should contain multiday event elements with the selector prefix and selector suffixes. See the month view multiday events for an example. Classes with `multiday-event-bar-inner--hover` and `multiday-event-bar-inner--focus` as suffixes are added on `hover` and `focus` events, respectively. These can be used to style the multiday event bar.
|
| 52 |
+
|
| 53 |
+
### Tooltips
|
| 54 |
+
|
| 55 |
+
The Tooltips JavaScript allows users to add their own custom tooltips using the existing tooltip script.
|
| 56 |
+
|
| 57 |
+
The tooltips have custom classes applied to them. To add your own class, hook into the `afterTooltipInitTheme.tribeEvents` event on the container and modify the `tribeEventsTooltipTheme` data. This allows you to add styles using your own classes.
|
| 58 |
+
|
| 59 |
+
To add a tooltip, you will need two components: the target and the tooltip contents. The target should have the attributes `data-js="tribe-events-tooltip"` and `data-tooltip-content` applied to it. The `data-tooltip-content` value should be the `id` of the element that will be the tooltip contents. The tooltip content element should have the `id` attribute assigned to it. It also helps to add the `role="tooltip"` aria attribute for accessibility.
|
| 60 |
+
|
| 61 |
+
Once that is set up, the tooltips should work. To hide the tooltip contents on the page, add a wrapper element around the tooltip contents and add `display: none;` and `visibility: hidden;` styles.
|
| 62 |
+
|
| 63 |
+
## Views JavaScript
|
| 64 |
+
|
| 65 |
+
The remaining JavaScript files power various different parts of the views.
|
| 66 |
+
|
| 67 |
+
### Datepicker
|
| 68 |
+
|
| 69 |
+
The Datepicker JavaScript powers the datepicker. This includes the date selection on list and day view and month selection on month view.
|
| 70 |
+
|
| 71 |
+
### Events Bar Inputs
|
| 72 |
+
|
| 73 |
+
The Events Bar Inputs JavaScript adds and removes classes to the events bar inputs based on whether the input contains content or not.
|
| 74 |
+
|
| 75 |
+
### Events Bar
|
| 76 |
+
|
| 77 |
+
The Events Bar JavaScript powers the mobile and desktop versions of the events bar.
|
| 78 |
+
|
| 79 |
+
### Month Grid
|
| 80 |
+
|
| 81 |
+
The Month Grid JavaScript initializes the mobile month grid and allows for keyboard navigation for accessibility.
|
| 82 |
+
|
| 83 |
+
### Month Mobile Events
|
| 84 |
+
|
| 85 |
+
The Month Mobile Events JavaScript allows users to view the selected day's events on mobile month view.
|
| 86 |
+
|
| 87 |
+
### Navigation Scroll
|
| 88 |
+
|
| 89 |
+
The Navigation Scroll JavaScript scrolls the viewport to the top if the user is 25% down the page after a successful AJAX request.
|
| 90 |
+
|
| 91 |
+
### View Selector
|
| 92 |
+
|
| 93 |
+
The View Selector JavaScript powers the view selector in both tab and accordion view.
|
src/resources/js/views/accordion.js
CHANGED
|
@@ -23,7 +23,7 @@ tribe.events.views.accordion = {};
|
|
| 23 |
* @since 4.9.4
|
| 24 |
*
|
| 25 |
* @param {PlainObject} $ jQuery
|
| 26 |
-
* @param {PlainObject} obj tribe.events.views.
|
| 27 |
*
|
| 28 |
* @return {void}
|
| 29 |
*/
|
|
@@ -270,6 +270,7 @@ tribe.events.views.accordion = {};
|
|
| 270 |
obj.unbindEvents = function( event, jqXHR, settings ) {
|
| 271 |
var $container = event.data.container;
|
| 272 |
obj.unbindAccordionEvents( $container );
|
|
|
|
| 273 |
};
|
| 274 |
|
| 275 |
/**
|
| 23 |
* @since 4.9.4
|
| 24 |
*
|
| 25 |
* @param {PlainObject} $ jQuery
|
| 26 |
+
* @param {PlainObject} obj tribe.events.views.accordion
|
| 27 |
*
|
| 28 |
* @return {void}
|
| 29 |
*/
|
| 270 |
obj.unbindEvents = function( event, jqXHR, settings ) {
|
| 271 |
var $container = event.data.container;
|
| 272 |
obj.unbindAccordionEvents( $container );
|
| 273 |
+
$container.off( 'beforeAjaxSuccess.tribeEvents', obj.unbindEvents );
|
| 274 |
};
|
| 275 |
|
| 276 |
/**
|
src/resources/js/views/breakpoints.js
ADDED
|
@@ -0,0 +1,214 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/**
|
| 2 |
+
* Makes sure we have all the required levels on the Tribe Object
|
| 3 |
+
*
|
| 4 |
+
* @since 5.0.0
|
| 5 |
+
*
|
| 6 |
+
* @type {PlainObject}
|
| 7 |
+
*/
|
| 8 |
+
tribe.events = tribe.events || {};
|
| 9 |
+
tribe.events.views = tribe.events.views || {};
|
| 10 |
+
|
| 11 |
+
/**
|
| 12 |
+
* Configures Breakpoints Object in the Global Tribe variable
|
| 13 |
+
*
|
| 14 |
+
* @since 5.0.0
|
| 15 |
+
*
|
| 16 |
+
* @type {PlainObject}
|
| 17 |
+
*/
|
| 18 |
+
tribe.events.views.breakpoints = {};
|
| 19 |
+
|
| 20 |
+
/**
|
| 21 |
+
* Initializes in a Strict env the code that manages the Event Views
|
| 22 |
+
*
|
| 23 |
+
* @since 5.0.0
|
| 24 |
+
*
|
| 25 |
+
* @param {PlainObject} $ jQuery
|
| 26 |
+
* @param {PlainObject} obj tribe.events.views.breakpoints
|
| 27 |
+
*
|
| 28 |
+
* @return {void}
|
| 29 |
+
*/
|
| 30 |
+
( function( $, obj ) {
|
| 31 |
+
'use strict';
|
| 32 |
+
var $document = $( document );
|
| 33 |
+
|
| 34 |
+
/**
|
| 35 |
+
* Selectors used for configuration and setup
|
| 36 |
+
*
|
| 37 |
+
* @since 5.0.0
|
| 38 |
+
*
|
| 39 |
+
* @type {PlainObject}
|
| 40 |
+
*/
|
| 41 |
+
obj.selectors = {
|
| 42 |
+
container: '[data-js="tribe-events-view"]',
|
| 43 |
+
dataScript: '[data-js="tribe-events-view-data"]',
|
| 44 |
+
breakpointClassPrefix: 'tribe-common--breakpoint-',
|
| 45 |
+
};
|
| 46 |
+
|
| 47 |
+
/**
|
| 48 |
+
* Object of breakpoints
|
| 49 |
+
*
|
| 50 |
+
* @since 5.0.0
|
| 51 |
+
*
|
| 52 |
+
* @type {PlainObject}
|
| 53 |
+
*/
|
| 54 |
+
obj.breakpoints = {};
|
| 55 |
+
|
| 56 |
+
/**
|
| 57 |
+
* Sets container classes based on breakpoint
|
| 58 |
+
*
|
| 59 |
+
* @since 5.0.0
|
| 60 |
+
*
|
| 61 |
+
* @param {jQuery} $container jQuery object of view container.
|
| 62 |
+
* @param {object} data data object passed from 'afterSetup.tribeEvents' event.
|
| 63 |
+
*
|
| 64 |
+
* @return {void}
|
| 65 |
+
*/
|
| 66 |
+
obj.setContainerClasses = function( $container, data ) {
|
| 67 |
+
var breakpoints = Object.keys( data.breakpoints );
|
| 68 |
+
|
| 69 |
+
breakpoints.forEach( function( breakpoint ) {
|
| 70 |
+
var className = obj.selectors.breakpointClassPrefix + breakpoint;
|
| 71 |
+
obj.breakpoints[ breakpoint ] = data.breakpoints[ breakpoint ];
|
| 72 |
+
|
| 73 |
+
if ( $container.outerWidth() < data.breakpoints[ breakpoint ] ) {
|
| 74 |
+
$container.removeClass( className );
|
| 75 |
+
} else {
|
| 76 |
+
$container.addClass( className );
|
| 77 |
+
}
|
| 78 |
+
} );
|
| 79 |
+
};
|
| 80 |
+
|
| 81 |
+
/**
|
| 82 |
+
* Handles resize event for window
|
| 83 |
+
*
|
| 84 |
+
* @since 5.0.0
|
| 85 |
+
*
|
| 86 |
+
* @param {Event} event event object for 'resize' event
|
| 87 |
+
*
|
| 88 |
+
* @return {void}
|
| 89 |
+
*/
|
| 90 |
+
obj.handleResize = function( event ) {
|
| 91 |
+
obj.setContainerClasses( event.data.container, event.data.data );
|
| 92 |
+
};
|
| 93 |
+
|
| 94 |
+
/**
|
| 95 |
+
* Unbinds events for container
|
| 96 |
+
*
|
| 97 |
+
* @since 5.0.0
|
| 98 |
+
*
|
| 99 |
+
* @param {jQuery} $container jQuery object of view container
|
| 100 |
+
*
|
| 101 |
+
* @return {void}
|
| 102 |
+
*/
|
| 103 |
+
obj.unbindEvents = function( $container ) {
|
| 104 |
+
$container
|
| 105 |
+
.off( 'resize.tribeEvents', obj.handleResize )
|
| 106 |
+
.off( 'beforeAjaxSuccess.tribeEvents', obj.deinit );
|
| 107 |
+
};
|
| 108 |
+
|
| 109 |
+
/**
|
| 110 |
+
* Binds events for container
|
| 111 |
+
*
|
| 112 |
+
* @since 5.0.0
|
| 113 |
+
*
|
| 114 |
+
* @param {jQuery} $container jQuery object of view container.
|
| 115 |
+
* @param {object} data data object passed from 'afterSetup.tribeEvents' event.
|
| 116 |
+
*
|
| 117 |
+
* @return {void}
|
| 118 |
+
*/
|
| 119 |
+
obj.bindEvents = function( $container, data ) {
|
| 120 |
+
$container
|
| 121 |
+
.on( 'resize.tribeEvents', { container: $container, data: data }, obj.handleResize )
|
| 122 |
+
.on( 'beforeAjaxSuccess.tribeEvents', { container: $container }, obj.deinit );
|
| 123 |
+
};
|
| 124 |
+
|
| 125 |
+
/**
|
| 126 |
+
* Deinitialize breakpoints JS
|
| 127 |
+
*
|
| 128 |
+
* @since 5.0.0
|
| 129 |
+
*
|
| 130 |
+
* @param {Event} event event object for 'beforeAjaxSuccess.tribeEvents' event
|
| 131 |
+
* @param {jqXHR} jqXHR Request object
|
| 132 |
+
* @param {PlainObject} settings Settings that this request was made with
|
| 133 |
+
*
|
| 134 |
+
* @return {void}
|
| 135 |
+
*/
|
| 136 |
+
obj.deinit = function( event, jqXHR, settings ) {
|
| 137 |
+
obj.unbindEvents( event.data.container );
|
| 138 |
+
};
|
| 139 |
+
|
| 140 |
+
/**
|
| 141 |
+
* Common initialization tasks
|
| 142 |
+
*
|
| 143 |
+
* @since 5.0.0
|
| 144 |
+
*
|
| 145 |
+
* @param {jQuery} $container jQuery object of view container.
|
| 146 |
+
* @param {object} data data object passed from 'afterSetup.tribeEvents' event.
|
| 147 |
+
*
|
| 148 |
+
* @return {void}
|
| 149 |
+
*/
|
| 150 |
+
obj.initTasks = function( $container, data ) {
|
| 151 |
+
obj.bindEvents( $container, data );
|
| 152 |
+
obj.setContainerClasses( $container, data );
|
| 153 |
+
|
| 154 |
+
var state = { initialized: true };
|
| 155 |
+
$container.data( 'tribeEventsBreakpoints', state );
|
| 156 |
+
};
|
| 157 |
+
|
| 158 |
+
/**
|
| 159 |
+
* Initialize breakpoints JS
|
| 160 |
+
*
|
| 161 |
+
* @since 5.0.0
|
| 162 |
+
*
|
| 163 |
+
* @param {Event} event event object for 'afterSetup.tribeEvents' event
|
| 164 |
+
* @param {integer} index jQuery.each index param from 'afterSetup.tribeEvents' event.
|
| 165 |
+
* @param {jQuery} $container jQuery object of view container.
|
| 166 |
+
* @param {object} data data object passed from 'afterSetup.tribeEvents' event.
|
| 167 |
+
*
|
| 168 |
+
* @return {void}
|
| 169 |
+
*/
|
| 170 |
+
obj.init = function( event, index, $container, data ) {
|
| 171 |
+
var state = $container.data( 'tribeEventsBreakpoints' );
|
| 172 |
+
if ( state && state.initialized ) {
|
| 173 |
+
return;
|
| 174 |
+
}
|
| 175 |
+
|
| 176 |
+
obj.initTasks( $container, data );
|
| 177 |
+
};
|
| 178 |
+
|
| 179 |
+
/**
|
| 180 |
+
* Setup breakpoints JS
|
| 181 |
+
*
|
| 182 |
+
* @since 5.0.0
|
| 183 |
+
*
|
| 184 |
+
* @param {HTMLElement} script HTML element of the script tag calling setup
|
| 185 |
+
*
|
| 186 |
+
* @return {void}
|
| 187 |
+
*/
|
| 188 |
+
obj.setup = function( script ) {
|
| 189 |
+
var $container = $( script ).prev( obj.selectors.container );
|
| 190 |
+
var $data = $container.find( obj.selectors.dataScript );
|
| 191 |
+
var data = {};
|
| 192 |
+
|
| 193 |
+
// If we have data element set it up.
|
| 194 |
+
if ( $data.length ) {
|
| 195 |
+
data = JSON.parse( $.trim( $data.text() ) );
|
| 196 |
+
}
|
| 197 |
+
|
| 198 |
+
obj.initTasks( $container, data );
|
| 199 |
+
};
|
| 200 |
+
|
| 201 |
+
/**
|
| 202 |
+
* Handles the initialization of breakpoints when Document is ready
|
| 203 |
+
*
|
| 204 |
+
* @since 5.0.0
|
| 205 |
+
*
|
| 206 |
+
* @return {void}
|
| 207 |
+
*/
|
| 208 |
+
obj.ready = function() {
|
| 209 |
+
$document.on( 'afterSetup.tribeEvents', obj.selectors.container, obj.init );
|
| 210 |
+
};
|
| 211 |
+
|
| 212 |
+
// Configure on document ready
|
| 213 |
+
$document.ready( obj.ready );
|
| 214 |
+
} )( jQuery, tribe.events.views.breakpoints );
|
src/resources/js/views/datepicker.js
CHANGED
|
@@ -23,7 +23,7 @@ tribe.events.views.datepicker = {};
|
|
| 23 |
* @since 4.9.5
|
| 24 |
*
|
| 25 |
* @param {PlainObject} $ jQuery
|
| 26 |
-
* @param {PlainObject} obj tribe.events.views.
|
| 27 |
*
|
| 28 |
* @return {void}
|
| 29 |
*/
|
|
@@ -79,6 +79,17 @@ tribe.events.views.datepicker = {};
|
|
| 79 |
},
|
| 80 |
};
|
| 81 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 82 |
/**
|
| 83 |
* Date object representing today
|
| 84 |
*
|
|
@@ -211,10 +222,6 @@ tribe.events.views.datepicker = {};
|
|
| 211 |
|
| 212 |
$forms.prepend( $input );
|
| 213 |
}
|
| 214 |
-
|
| 215 |
-
$container
|
| 216 |
-
.find( obj.selectors.input )
|
| 217 |
-
.bootstrapDatepicker( 'hide' );
|
| 218 |
}
|
| 219 |
};
|
| 220 |
|
|
@@ -252,8 +259,18 @@ tribe.events.views.datepicker = {};
|
|
| 252 |
*/
|
| 253 |
obj.handleChangeMonth = function( event ) {
|
| 254 |
var $container = event.data.container;
|
| 255 |
-
var month
|
| 256 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 257 |
|
| 258 |
var paddedMonth = obj.padNumber( month );
|
| 259 |
|
|
@@ -262,6 +279,23 @@ tribe.events.views.datepicker = {};
|
|
| 262 |
obj.submitRequest( $container, dateValue );
|
| 263 |
};
|
| 264 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 265 |
/**
|
| 266 |
* Handle datepicker show event
|
| 267 |
*
|
|
@@ -564,18 +598,10 @@ tribe.events.views.datepicker = {};
|
|
| 564 |
|
| 565 |
var $input = $container.find( obj.selectors.input );
|
| 566 |
var $datepickerButton = $container.find( obj.selectors.button );
|
| 567 |
-
var isMonthView = 'month' === event.data.viewSlug;
|
| 568 |
-
var changeEvent = isMonthView ? 'changeMonth' : 'changeDate';
|
| 569 |
-
var changeHandler = isMonthView ? obj.handleChangeMonth : obj.handleChangeDate;
|
| 570 |
|
| 571 |
-
$input
|
| 572 |
-
|
| 573 |
-
|
| 574 |
-
.off( 'show', obj.handleShow )
|
| 575 |
-
.off( 'hide', obj.handleHide );
|
| 576 |
-
$datepickerButton
|
| 577 |
-
.off( 'mousedown', obj.handleMousedown )
|
| 578 |
-
.off( 'click', obj.handleClick );
|
| 579 |
|
| 580 |
$container.trigger( 'afterDatepickerDeinit.tribeEvents', [ jqXHR, settings ] );
|
| 581 |
};
|
|
@@ -637,6 +663,12 @@ tribe.events.views.datepicker = {};
|
|
| 637 |
.on( 'show', { datepickerButton: $datepickerButton }, obj.handleShow )
|
| 638 |
.on( 'hide', { datepickerButton: $datepickerButton, input: $input, observer: obj.observer }, obj.handleHide );
|
| 639 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 640 |
$datepickerButton
|
| 641 |
.on( 'touchstart mousedown', { target: $datepickerButton }, obj.handleMousedown )
|
| 642 |
.on( 'click', { target: $datepickerButton, input: $input }, obj.handleClick )
|
| 23 |
* @since 4.9.5
|
| 24 |
*
|
| 25 |
* @param {PlainObject} $ jQuery
|
| 26 |
+
* @param {PlainObject} obj tribe.events.views.datepicker
|
| 27 |
*
|
| 28 |
* @return {void}
|
| 29 |
*/
|
| 79 |
},
|
| 80 |
};
|
| 81 |
|
| 82 |
+
/**
|
| 83 |
+
* Object of key codes
|
| 84 |
+
*
|
| 85 |
+
* @since 5.0.0
|
| 86 |
+
*
|
| 87 |
+
* @type {PlainObject}
|
| 88 |
+
*/
|
| 89 |
+
obj.keyCode = {
|
| 90 |
+
ENTER: 13,
|
| 91 |
+
};
|
| 92 |
+
|
| 93 |
/**
|
| 94 |
* Date object representing today
|
| 95 |
*
|
| 222 |
|
| 223 |
$forms.prepend( $input );
|
| 224 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 225 |
}
|
| 226 |
};
|
| 227 |
|
| 259 |
*/
|
| 260 |
obj.handleChangeMonth = function( event ) {
|
| 261 |
var $container = event.data.container;
|
| 262 |
+
var month, year;
|
| 263 |
+
|
| 264 |
+
if ( event.date ) {
|
| 265 |
+
month = event.date.getMonth() + 1;
|
| 266 |
+
year = event.date.getFullYear();
|
| 267 |
+
} else {
|
| 268 |
+
var date = $container
|
| 269 |
+
.find( obj.selectors.input )
|
| 270 |
+
.bootstrapDatepicker( 'getDate' );
|
| 271 |
+
month = date.getMonth() + 1;
|
| 272 |
+
year = date.getFullYear();
|
| 273 |
+
}
|
| 274 |
|
| 275 |
var paddedMonth = obj.padNumber( month );
|
| 276 |
|
| 279 |
obj.submitRequest( $container, dateValue );
|
| 280 |
};
|
| 281 |
|
| 282 |
+
/**
|
| 283 |
+
* Handle datepicker keydown event
|
| 284 |
+
*
|
| 285 |
+
* @since 5.0.0
|
| 286 |
+
*
|
| 287 |
+
* @param {Event} event event object for 'keydown' event
|
| 288 |
+
*
|
| 289 |
+
* @return {void}
|
| 290 |
+
*/
|
| 291 |
+
obj.handleKeyDown = function(event) {
|
| 292 |
+
if ( event.keyCode !== obj.keyCode.ENTER ) {
|
| 293 |
+
return;
|
| 294 |
+
}
|
| 295 |
+
|
| 296 |
+
event.data.input.bootstrapDatepicker().trigger( 'changeMonth' );
|
| 297 |
+
}
|
| 298 |
+
|
| 299 |
/**
|
| 300 |
* Handle datepicker show event
|
| 301 |
*
|
| 598 |
|
| 599 |
var $input = $container.find( obj.selectors.input );
|
| 600 |
var $datepickerButton = $container.find( obj.selectors.button );
|
|
|
|
|
|
|
|
|
|
| 601 |
|
| 602 |
+
$input.bootstrapDatepicker( 'destroy' ).off();
|
| 603 |
+
$datepickerButton.off();
|
| 604 |
+
$container.off( 'beforeAjaxSuccess.tribeEvents', obj.deinit );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 605 |
|
| 606 |
$container.trigger( 'afterDatepickerDeinit.tribeEvents', [ jqXHR, settings ] );
|
| 607 |
};
|
| 663 |
.on( 'show', { datepickerButton: $datepickerButton }, obj.handleShow )
|
| 664 |
.on( 'hide', { datepickerButton: $datepickerButton, input: $input, observer: obj.observer }, obj.handleHide );
|
| 665 |
|
| 666 |
+
if ( isMonthView ) {
|
| 667 |
+
$input
|
| 668 |
+
.bootstrapDatepicker()
|
| 669 |
+
.on( 'keydown', { input: $input }, obj.handleKeyDown );
|
| 670 |
+
}
|
| 671 |
+
|
| 672 |
$datepickerButton
|
| 673 |
.on( 'touchstart mousedown', { target: $datepickerButton }, obj.handleMousedown )
|
| 674 |
.on( 'click', { target: $datepickerButton, input: $input }, obj.handleClick )
|
src/resources/js/views/events-bar-inputs.js
CHANGED
|
@@ -23,7 +23,7 @@ tribe.events.views.eventsBarInputs = {};
|
|
| 23 |
* @since 4.9.4
|
| 24 |
*
|
| 25 |
* @param {PlainObject} $ jQuery
|
| 26 |
-
* @param {PlainObject} obj tribe.events.views.
|
| 27 |
*
|
| 28 |
* @return {void}
|
| 29 |
*/
|
|
@@ -132,6 +132,7 @@ tribe.events.views.eventsBarInputs = {};
|
|
| 132 |
obj.unbindEvents = function( event, jqXHR, settings ) {
|
| 133 |
var $container = event.data.container;
|
| 134 |
obj.unbindInputEvents( $container );
|
|
|
|
| 135 |
};
|
| 136 |
|
| 137 |
/**
|
| 23 |
* @since 4.9.4
|
| 24 |
*
|
| 25 |
* @param {PlainObject} $ jQuery
|
| 26 |
+
* @param {PlainObject} obj tribe.events.views.eventsBarInputs
|
| 27 |
*
|
| 28 |
* @return {void}
|
| 29 |
*/
|
| 132 |
obj.unbindEvents = function( event, jqXHR, settings ) {
|
| 133 |
var $container = event.data.container;
|
| 134 |
obj.unbindInputEvents( $container );
|
| 135 |
+
$container.off( 'beforeAjaxSuccess.tribeEvents', obj.unbindEvents );
|
| 136 |
};
|
| 137 |
|
| 138 |
/**
|
src/resources/js/views/events-bar.js
CHANGED
|
@@ -23,7 +23,7 @@ tribe.events.views.eventsBar = {};
|
|
| 23 |
* @since 4.9.4
|
| 24 |
*
|
| 25 |
* @param {PlainObject} $ jQuery
|
| 26 |
-
* @param {PlainObject} obj tribe.events.views.
|
| 27 |
*
|
| 28 |
* @return {void}
|
| 29 |
*/
|
|
@@ -222,8 +222,7 @@ tribe.events.views.eventsBar = {};
|
|
| 222 |
$( tab )
|
| 223 |
.removeAttr( 'aria-selected' )
|
| 224 |
.removeAttr( 'tabindex' )
|
| 225 |
-
.off(
|
| 226 |
-
.off( 'click', obj.handleTabClick );
|
| 227 |
} );
|
| 228 |
$container
|
| 229 |
.find( obj.selectors.tabPanel )
|
|
@@ -444,9 +443,11 @@ tribe.events.views.eventsBar = {};
|
|
| 444 |
if ( $eventsBar.length ) {
|
| 445 |
var state = $eventsBar.data( 'tribeEventsState' );
|
| 446 |
var $filtersButton = $container.find( obj.selectors.filtersButton );
|
|
|
|
|
|
|
| 447 |
|
| 448 |
// If viewport is mobile and mobile state is not initialized
|
| 449 |
-
if (
|
| 450 |
if ( $filtersButton.length ) {
|
| 451 |
obj.initTablist( $container );
|
| 452 |
obj.deinitFiltersAccordion( $container );
|
|
@@ -457,7 +458,7 @@ tribe.events.views.eventsBar = {};
|
|
| 457 |
$eventsBar.data( 'tribeEventsState', state );
|
| 458 |
|
| 459 |
// If viewport is desktop and desktop state is not initialized
|
| 460 |
-
} else if ( !
|
| 461 |
if ( $filtersButton.length ) {
|
| 462 |
obj.deinitTablist( $container );
|
| 463 |
obj.initFiltersAccordion( $container );
|
|
@@ -515,12 +516,13 @@ tribe.events.views.eventsBar = {};
|
|
| 515 |
*
|
| 516 |
* @since 4.9.7
|
| 517 |
*
|
|
|
|
|
|
|
| 518 |
* @return {void}
|
| 519 |
*/
|
| 520 |
-
obj.unbindEvents = function() {
|
| 521 |
-
$
|
| 522 |
-
|
| 523 |
-
.off( 'click', obj.handleClick );
|
| 524 |
};
|
| 525 |
|
| 526 |
/**
|
|
@@ -533,9 +535,8 @@ tribe.events.views.eventsBar = {};
|
|
| 533 |
* @return {void}
|
| 534 |
*/
|
| 535 |
obj.bindEvents = function( $container ) {
|
| 536 |
-
$
|
| 537 |
-
|
| 538 |
-
.on( 'click', { container: $container }, obj.handleClick );
|
| 539 |
};
|
| 540 |
|
| 541 |
/**
|
|
@@ -552,7 +553,8 @@ tribe.events.views.eventsBar = {};
|
|
| 552 |
obj.deinit = function( event, jqXHR, settings ) {
|
| 553 |
var $container = event.data.container;
|
| 554 |
obj.deinitEventsBar( $container );
|
| 555 |
-
obj.unbindEvents();
|
|
|
|
| 556 |
};
|
| 557 |
|
| 558 |
/**
|
| 23 |
* @since 4.9.4
|
| 24 |
*
|
| 25 |
* @param {PlainObject} $ jQuery
|
| 26 |
+
* @param {PlainObject} obj tribe.events.views.eventsBar
|
| 27 |
*
|
| 28 |
* @return {void}
|
| 29 |
*/
|
| 222 |
$( tab )
|
| 223 |
.removeAttr( 'aria-selected' )
|
| 224 |
.removeAttr( 'tabindex' )
|
| 225 |
+
.off();
|
|
|
|
| 226 |
} );
|
| 227 |
$container
|
| 228 |
.find( obj.selectors.tabPanel )
|
| 443 |
if ( $eventsBar.length ) {
|
| 444 |
var state = $eventsBar.data( 'tribeEventsState' );
|
| 445 |
var $filtersButton = $container.find( obj.selectors.filtersButton );
|
| 446 |
+
var containerState = $container.data( 'tribeEventsState' );
|
| 447 |
+
var isMobile = ( containerState && containerState.isMobile ) || true; // fallback to true if container state is undefined
|
| 448 |
|
| 449 |
// If viewport is mobile and mobile state is not initialized
|
| 450 |
+
if ( isMobile && ! state.mobileInitialized ) {
|
| 451 |
if ( $filtersButton.length ) {
|
| 452 |
obj.initTablist( $container );
|
| 453 |
obj.deinitFiltersAccordion( $container );
|
| 458 |
$eventsBar.data( 'tribeEventsState', state );
|
| 459 |
|
| 460 |
// If viewport is desktop and desktop state is not initialized
|
| 461 |
+
} else if ( ! isMobile && ! state.desktopInitialized ) {
|
| 462 |
if ( $filtersButton.length ) {
|
| 463 |
obj.deinitTablist( $container );
|
| 464 |
obj.initFiltersAccordion( $container );
|
| 516 |
*
|
| 517 |
* @since 4.9.7
|
| 518 |
*
|
| 519 |
+
* @param {jQuery} $container jQuery object of view container
|
| 520 |
+
*
|
| 521 |
* @return {void}
|
| 522 |
*/
|
| 523 |
+
obj.unbindEvents = function( $container ) {
|
| 524 |
+
$container.off( 'resize.tribeEvents', obj.handleResize );
|
| 525 |
+
$document.off( 'click', obj.handleClick );
|
|
|
|
| 526 |
};
|
| 527 |
|
| 528 |
/**
|
| 535 |
* @return {void}
|
| 536 |
*/
|
| 537 |
obj.bindEvents = function( $container ) {
|
| 538 |
+
$container.on( 'resize.tribeEvents', { container: $container }, obj.handleResize );
|
| 539 |
+
$document.on( 'click', { container: $container }, obj.handleClick );
|
|
|
|
| 540 |
};
|
| 541 |
|
| 542 |
/**
|
| 553 |
obj.deinit = function( event, jqXHR, settings ) {
|
| 554 |
var $container = event.data.container;
|
| 555 |
obj.deinitEventsBar( $container );
|
| 556 |
+
obj.unbindEvents( $container );
|
| 557 |
+
$container.off( 'beforeAjaxSuccess.tribeEvents', obj.deinit );
|
| 558 |
};
|
| 559 |
|
| 560 |
/**
|
src/resources/js/views/manager.js
CHANGED
|
@@ -88,6 +88,37 @@ tribe.events.views.manager = {};
|
|
| 88 |
*/
|
| 89 |
obj.$containers = $();
|
| 90 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 91 |
/**
|
| 92 |
* Setup the container for views management
|
| 93 |
*
|
|
@@ -95,8 +126,8 @@ tribe.events.views.manager = {};
|
|
| 95 |
*
|
| 96 |
* @todo Requirement to setup other JS modules after hijacking Click and Submit
|
| 97 |
*
|
| 98 |
-
* @param {integer}
|
| 99 |
-
* @param {Element} container Which element we are going to setup
|
| 100 |
*
|
| 101 |
* @return {void}
|
| 102 |
*/
|
|
@@ -116,14 +147,11 @@ tribe.events.views.manager = {};
|
|
| 116 |
$container.find( obj.selectors.link ).on( 'click.tribeEvents', obj.onLinkClick );
|
| 117 |
|
| 118 |
// Only catch the submit if properly setup on a form
|
| 119 |
-
if ( $form ) {
|
| 120 |
$form.on( 'submit.tribeEvents', obj.onSubmit );
|
| 121 |
}
|
| 122 |
|
| 123 |
$container.trigger( 'afterSetup.tribeEvents', [ index, $container, data ] );
|
| 124 |
-
|
| 125 |
-
// Binds and action to the container that will update the URL based on backed
|
| 126 |
-
$container.on( 'updateUrl.tribeEvents', obj.onUpdateUrl );
|
| 127 |
};
|
| 128 |
|
| 129 |
/**
|
|
@@ -200,16 +228,14 @@ tribe.events.views.manager = {};
|
|
| 200 |
*
|
| 201 |
* @since 4.9.4
|
| 202 |
*
|
| 203 |
-
* @param {
|
| 204 |
*
|
| 205 |
* @return {void}
|
| 206 |
*/
|
| 207 |
-
obj.
|
| 208 |
-
var $container = $( this );
|
| 209 |
-
|
| 210 |
// When handling popstate (broswer back/next) it will not handle this part.
|
| 211 |
if ( obj.doingPopstate ) {
|
| 212 |
-
return
|
| 213 |
}
|
| 214 |
|
| 215 |
// Bail when we dont manage URLs
|
|
@@ -270,6 +296,7 @@ tribe.events.views.manager = {};
|
|
| 270 |
var currentUrl = window.location.href;
|
| 271 |
var nonce = $link.data( 'view-rest-nonce' );
|
| 272 |
var shouldManageUrl = obj.shouldManageUrl( $container );
|
|
|
|
| 273 |
|
| 274 |
// Fetch nonce from container if the link doesnt have any
|
| 275 |
if ( ! nonce ) {
|
|
@@ -277,12 +304,16 @@ tribe.events.views.manager = {};
|
|
| 277 |
}
|
| 278 |
|
| 279 |
var data = {
|
| 280 |
-
prev_url: currentUrl,
|
| 281 |
-
url: url,
|
| 282 |
should_manage_url: shouldManageUrl,
|
| 283 |
-
_wpnonce: nonce
|
| 284 |
};
|
| 285 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 286 |
obj.request( data, $container );
|
| 287 |
|
| 288 |
$container.trigger( 'afterOnLinkClick.tribeEvents', event );
|
|
@@ -350,15 +381,12 @@ tribe.events.views.manager = {};
|
|
| 350 |
obj.currentAjaxRequest.abort();
|
| 351 |
}
|
| 352 |
|
| 353 |
-
var containerData = obj.getContainerData( $container );
|
| 354 |
-
|
| 355 |
// Flag that we are doing popstate globally.
|
| 356 |
obj.doingPopstate = true;
|
| 357 |
|
| 358 |
$container.trigger( 'beforePopState.tribeEvents', event );
|
| 359 |
|
| 360 |
var nonce = $container.data( 'view-rest-nonce' );
|
| 361 |
-
var shouldManageUrl = obj.shouldManageUrl( $container );
|
| 362 |
|
| 363 |
var data = {
|
| 364 |
url: url,
|
|
@@ -513,18 +541,21 @@ tribe.events.views.manager = {};
|
|
| 513 |
|
| 514 |
var $html = $( data );
|
| 515 |
|
|
|
|
|
|
|
|
|
|
| 516 |
// Replace the current container with the new Data.
|
| 517 |
$container.replaceWith( $html );
|
| 518 |
$container = $html;
|
| 519 |
|
| 520 |
// Setup the container with the data received.
|
| 521 |
-
obj.setup( 0, $
|
| 522 |
|
| 523 |
// Update the global set of containers with all of the manager object.
|
| 524 |
obj.selectContainers();
|
| 525 |
|
| 526 |
// Trigger the browser pushState
|
| 527 |
-
|
| 528 |
|
| 529 |
$container.trigger( 'afterAjaxSuccess.tribeEvents', [ data, textStatus, jqXHR ] );
|
| 530 |
|
| 88 |
*/
|
| 89 |
obj.$containers = $();
|
| 90 |
|
| 91 |
+
/**
|
| 92 |
+
* Clean up the container and event listeners
|
| 93 |
+
*
|
| 94 |
+
* @since 5.0.0
|
| 95 |
+
*
|
| 96 |
+
* @param {jQuery} container Which element we are going to clean up
|
| 97 |
+
*
|
| 98 |
+
* @return {void}
|
| 99 |
+
*/
|
| 100 |
+
obj.cleanup = function( container ) {
|
| 101 |
+
var $container = $( container );
|
| 102 |
+
var $form = $container.find( obj.selectors.form );
|
| 103 |
+
var $data = $container.find( obj.selectors.dataScript );
|
| 104 |
+
var data = {};
|
| 105 |
+
|
| 106 |
+
// If we have data element set it up.
|
| 107 |
+
if ( $data.length ) {
|
| 108 |
+
data = JSON.parse( $.trim( $data.text() ) );
|
| 109 |
+
}
|
| 110 |
+
|
| 111 |
+
$container.trigger( 'beforeCleanup.tribeEvents', [ $container, data ] );
|
| 112 |
+
|
| 113 |
+
$container.find( obj.selectors.link ).off( 'click.tribeEvents', obj.onLinkClick );
|
| 114 |
+
|
| 115 |
+
if ( $form.length ) {
|
| 116 |
+
$form.off( 'submit.tribeEvents', obj.onSubmit );
|
| 117 |
+
}
|
| 118 |
+
|
| 119 |
+
$container.trigger( 'afterCleanup.tribeEvents', [ $container, data ] );
|
| 120 |
+
};
|
| 121 |
+
|
| 122 |
/**
|
| 123 |
* Setup the container for views management
|
| 124 |
*
|
| 126 |
*
|
| 127 |
* @todo Requirement to setup other JS modules after hijacking Click and Submit
|
| 128 |
*
|
| 129 |
+
* @param {integer} index jQuery.each index param
|
| 130 |
+
* @param {Element|jQuery} container Which element we are going to setup
|
| 131 |
*
|
| 132 |
* @return {void}
|
| 133 |
*/
|
| 147 |
$container.find( obj.selectors.link ).on( 'click.tribeEvents', obj.onLinkClick );
|
| 148 |
|
| 149 |
// Only catch the submit if properly setup on a form
|
| 150 |
+
if ( $form.length ) {
|
| 151 |
$form.on( 'submit.tribeEvents', obj.onSubmit );
|
| 152 |
}
|
| 153 |
|
| 154 |
$container.trigger( 'afterSetup.tribeEvents', [ index, $container, data ] );
|
|
|
|
|
|
|
|
|
|
| 155 |
};
|
| 156 |
|
| 157 |
/**
|
| 228 |
*
|
| 229 |
* @since 4.9.4
|
| 230 |
*
|
| 231 |
+
* @param {jQuery} $container Which element we are updating the URL from.
|
| 232 |
*
|
| 233 |
* @return {void}
|
| 234 |
*/
|
| 235 |
+
obj.updateUrl = function( $container ) {
|
|
|
|
|
|
|
| 236 |
// When handling popstate (broswer back/next) it will not handle this part.
|
| 237 |
if ( obj.doingPopstate ) {
|
| 238 |
+
return;
|
| 239 |
}
|
| 240 |
|
| 241 |
// Bail when we dont manage URLs
|
| 296 |
var currentUrl = window.location.href;
|
| 297 |
var nonce = $link.data( 'view-rest-nonce' );
|
| 298 |
var shouldManageUrl = obj.shouldManageUrl( $container );
|
| 299 |
+
var shortcodeId = $container.data( 'view-shortcode' );
|
| 300 |
|
| 301 |
// Fetch nonce from container if the link doesnt have any
|
| 302 |
if ( ! nonce ) {
|
| 304 |
}
|
| 305 |
|
| 306 |
var data = {
|
| 307 |
+
prev_url: encodeURI( decodeURI( currentUrl ) ),
|
| 308 |
+
url: encodeURI( decodeURI( url ) ),
|
| 309 |
should_manage_url: shouldManageUrl,
|
| 310 |
+
_wpnonce: nonce,
|
| 311 |
};
|
| 312 |
|
| 313 |
+
if ( shortcodeId ) {
|
| 314 |
+
data['shortcode'] = shortcodeId;
|
| 315 |
+
}
|
| 316 |
+
|
| 317 |
obj.request( data, $container );
|
| 318 |
|
| 319 |
$container.trigger( 'afterOnLinkClick.tribeEvents', event );
|
| 381 |
obj.currentAjaxRequest.abort();
|
| 382 |
}
|
| 383 |
|
|
|
|
|
|
|
| 384 |
// Flag that we are doing popstate globally.
|
| 385 |
obj.doingPopstate = true;
|
| 386 |
|
| 387 |
$container.trigger( 'beforePopState.tribeEvents', event );
|
| 388 |
|
| 389 |
var nonce = $container.data( 'view-rest-nonce' );
|
|
|
|
| 390 |
|
| 391 |
var data = {
|
| 392 |
url: url,
|
| 541 |
|
| 542 |
var $html = $( data );
|
| 543 |
|
| 544 |
+
// Clean up the container and event listeners
|
| 545 |
+
obj.cleanup( $container );
|
| 546 |
+
|
| 547 |
// Replace the current container with the new Data.
|
| 548 |
$container.replaceWith( $html );
|
| 549 |
$container = $html;
|
| 550 |
|
| 551 |
// Setup the container with the data received.
|
| 552 |
+
obj.setup( 0, $container );
|
| 553 |
|
| 554 |
// Update the global set of containers with all of the manager object.
|
| 555 |
obj.selectContainers();
|
| 556 |
|
| 557 |
// Trigger the browser pushState
|
| 558 |
+
obj.updateUrl( $container );
|
| 559 |
|
| 560 |
$container.trigger( 'afterAjaxSuccess.tribeEvents', [ data, textStatus, jqXHR ] );
|
| 561 |
|
src/resources/js/views/month-grid.js
CHANGED
|
@@ -23,7 +23,7 @@ tribe.events.views.monthGrid = {};
|
|
| 23 |
* @since 4.9.4
|
| 24 |
*
|
| 25 |
* @param {PlainObject} $ jQuery
|
| 26 |
-
* @param {PlainObject} obj tribe.events.views.
|
| 27 |
*
|
| 28 |
* @return {void}
|
| 29 |
*/
|
|
@@ -331,9 +331,7 @@ tribe.events.views.monthGrid = {};
|
|
| 331 |
* @return {void}
|
| 332 |
*/
|
| 333 |
obj.unbindEvents = function( $grid ) {
|
| 334 |
-
$grid
|
| 335 |
-
.off( 'keydown', obj.handleKeydown )
|
| 336 |
-
.off( 'click', obj.handleClick );
|
| 337 |
};
|
| 338 |
|
| 339 |
/**
|
|
@@ -363,8 +361,10 @@ tribe.events.views.monthGrid = {};
|
|
| 363 |
* @return {void}
|
| 364 |
*/
|
| 365 |
obj.deinit = function( event, jqXHR, settings ) {
|
| 366 |
-
var $
|
|
|
|
| 367 |
obj.unbindEvents( $grid );
|
|
|
|
| 368 |
};
|
| 369 |
|
| 370 |
/**
|
| 23 |
* @since 4.9.4
|
| 24 |
*
|
| 25 |
* @param {PlainObject} $ jQuery
|
| 26 |
+
* @param {PlainObject} obj tribe.events.views.monthGrid
|
| 27 |
*
|
| 28 |
* @return {void}
|
| 29 |
*/
|
| 331 |
* @return {void}
|
| 332 |
*/
|
| 333 |
obj.unbindEvents = function( $grid ) {
|
| 334 |
+
$grid.off();
|
|
|
|
|
|
|
| 335 |
};
|
| 336 |
|
| 337 |
/**
|
| 361 |
* @return {void}
|
| 362 |
*/
|
| 363 |
obj.deinit = function( event, jqXHR, settings ) {
|
| 364 |
+
var $container = event.data.container;
|
| 365 |
+
var $grid = $container.find( obj.selectors.grid );
|
| 366 |
obj.unbindEvents( $grid );
|
| 367 |
+
$container.off( 'beforeAjaxSuccess.tribeEvents', obj.deinit );
|
| 368 |
};
|
| 369 |
|
| 370 |
/**
|
src/resources/js/views/month-mobile-events.js
CHANGED
|
@@ -23,7 +23,7 @@ tribe.events.views.monthMobileEvents = {};
|
|
| 23 |
* @since 4.9.4
|
| 24 |
*
|
| 25 |
* @param {PlainObject} $ jQuery
|
| 26 |
-
* @param {PlainObject} obj tribe.events.views.
|
| 27 |
*
|
| 28 |
* @return {void}
|
| 29 |
*/
|
|
@@ -199,8 +199,11 @@ tribe.events.views.monthMobileEvents = {};
|
|
| 199 |
*/
|
| 200 |
obj.initState = function( $container ) {
|
| 201 |
var $mobileEvents = $container.find( obj.selectors.mobileEvents );
|
|
|
|
|
|
|
|
|
|
| 202 |
var state = {
|
| 203 |
-
desktopInitialized: !
|
| 204 |
};
|
| 205 |
|
| 206 |
$mobileEvents.data( 'tribeEventsState', state );
|
|
@@ -216,13 +219,16 @@ tribe.events.views.monthMobileEvents = {};
|
|
| 216 |
* @return {void}
|
| 217 |
*/
|
| 218 |
obj.handleResize = function( event ) {
|
| 219 |
-
var $
|
|
|
|
| 220 |
var state = $mobileEvents.data( 'tribeEventsState' );
|
|
|
|
|
|
|
| 221 |
|
| 222 |
-
if ( !
|
| 223 |
-
obj.closeAllEvents(
|
| 224 |
state.desktopInitialized = true;
|
| 225 |
-
} else if (
|
| 226 |
state.desktopInitialized = false;
|
| 227 |
}
|
| 228 |
|
|
@@ -243,7 +249,9 @@ tribe.events.views.monthMobileEvents = {};
|
|
| 243 |
obj.deinit = function( event, jqXHR, settings ) {
|
| 244 |
var $container = event.data.container;
|
| 245 |
obj.unbindCalendarEvents( $container );
|
| 246 |
-
$
|
|
|
|
|
|
|
| 247 |
};
|
| 248 |
|
| 249 |
/**
|
|
@@ -267,8 +275,9 @@ tribe.events.views.monthMobileEvents = {};
|
|
| 267 |
|
| 268 |
obj.initState( $container );
|
| 269 |
obj.bindCalendarEvents( $container );
|
| 270 |
-
$
|
| 271 |
-
|
|
|
|
| 272 |
};
|
| 273 |
|
| 274 |
/**
|
| 23 |
* @since 4.9.4
|
| 24 |
*
|
| 25 |
* @param {PlainObject} $ jQuery
|
| 26 |
+
* @param {PlainObject} obj tribe.events.views.monthMobileEvents
|
| 27 |
*
|
| 28 |
* @return {void}
|
| 29 |
*/
|
| 199 |
*/
|
| 200 |
obj.initState = function( $container ) {
|
| 201 |
var $mobileEvents = $container.find( obj.selectors.mobileEvents );
|
| 202 |
+
var containerState = $container.data( 'tribeEventsState' );
|
| 203 |
+
var isMobile = ( containerState && containerState.isMobile ) || true; // fallback to true if container state is undefined
|
| 204 |
+
|
| 205 |
var state = {
|
| 206 |
+
desktopInitialized: ! isMobile,
|
| 207 |
};
|
| 208 |
|
| 209 |
$mobileEvents.data( 'tribeEventsState', state );
|
| 219 |
* @return {void}
|
| 220 |
*/
|
| 221 |
obj.handleResize = function( event ) {
|
| 222 |
+
var $container = event.data.container;
|
| 223 |
+
var $mobileEvents = $container.find( obj.selectors.mobileEvents );
|
| 224 |
var state = $mobileEvents.data( 'tribeEventsState' );
|
| 225 |
+
var containerState = $container.data( 'tribeEventsState' );
|
| 226 |
+
var isMobile = ( containerState && containerState.isMobile ) || true; // fallback to true if container state is undefined
|
| 227 |
|
| 228 |
+
if ( ! isMobile && ! state.desktopInitialized ) {
|
| 229 |
+
obj.closeAllEvents( $container );
|
| 230 |
state.desktopInitialized = true;
|
| 231 |
+
} else if ( isMobile && state.desktopInitialized ) {
|
| 232 |
state.desktopInitialized = false;
|
| 233 |
}
|
| 234 |
|
| 249 |
obj.deinit = function( event, jqXHR, settings ) {
|
| 250 |
var $container = event.data.container;
|
| 251 |
obj.unbindCalendarEvents( $container );
|
| 252 |
+
$container
|
| 253 |
+
.off( 'resize.tribeEvents', obj.handleResize )
|
| 254 |
+
.off( 'beforeAjaxSuccess.tribeEvents', obj.deinit );
|
| 255 |
};
|
| 256 |
|
| 257 |
/**
|
| 275 |
|
| 276 |
obj.initState( $container );
|
| 277 |
obj.bindCalendarEvents( $container );
|
| 278 |
+
$container
|
| 279 |
+
.on( 'resize.tribeEvents', { container: $container }, obj.handleResize )
|
| 280 |
+
.on( 'beforeAjaxSuccess.tribeEvents', { container: $container }, obj.deinit );
|
| 281 |
};
|
| 282 |
|
| 283 |
/**
|
src/resources/js/views/multiday-events.js
CHANGED
|
@@ -23,7 +23,7 @@ tribe.events.views.multidayEvents = {};
|
|
| 23 |
* @since 4.9.4
|
| 24 |
*
|
| 25 |
* @param {PlainObject} $ jQuery
|
| 26 |
-
* @param {PlainObject} obj tribe.events.views.
|
| 27 |
*
|
| 28 |
* @return {void}
|
| 29 |
*/
|
|
@@ -122,10 +122,7 @@ tribe.events.views.multidayEvents = {};
|
|
| 122 |
var $hiddenMultidayEvents = $container.find( obj.selectors.hiddenMultidayEvent );
|
| 123 |
|
| 124 |
$hiddenMultidayEvents.each( function( hiddenIndex, hiddenMultidayEvent ) {
|
| 125 |
-
|
| 126 |
-
$hiddenMultidayEvent
|
| 127 |
-
.off( 'mouseenter mouseleave', obj.toggleHoverClass )
|
| 128 |
-
.off( 'focus blur', obj.toggleFocusClass );
|
| 129 |
} );
|
| 130 |
};
|
| 131 |
|
|
@@ -201,6 +198,7 @@ tribe.events.views.multidayEvents = {};
|
|
| 201 |
var $container = event.data.container;
|
| 202 |
obj.deinitSelectors();
|
| 203 |
obj.unbindMultidayEvents( $container );
|
|
|
|
| 204 |
};
|
| 205 |
|
| 206 |
/**
|
| 23 |
* @since 4.9.4
|
| 24 |
*
|
| 25 |
* @param {PlainObject} $ jQuery
|
| 26 |
+
* @param {PlainObject} obj tribe.events.views.multidayEvents
|
| 27 |
*
|
| 28 |
* @return {void}
|
| 29 |
*/
|
| 122 |
var $hiddenMultidayEvents = $container.find( obj.selectors.hiddenMultidayEvent );
|
| 123 |
|
| 124 |
$hiddenMultidayEvents.each( function( hiddenIndex, hiddenMultidayEvent ) {
|
| 125 |
+
$( hiddenMultidayEvent ).off();
|
|
|
|
|
|
|
|
|
|
| 126 |
} );
|
| 127 |
};
|
| 128 |
|
| 198 |
var $container = event.data.container;
|
| 199 |
obj.deinitSelectors();
|
| 200 |
obj.unbindMultidayEvents( $container );
|
| 201 |
+
$container.off( 'beforeAjaxSuccess.tribeEvents', obj.unbindEvents );
|
| 202 |
};
|
| 203 |
|
| 204 |
/**
|
src/resources/js/views/tooltip.js
CHANGED
|
@@ -237,13 +237,9 @@ tribe.events.views.tooltip = {};
|
|
| 237 |
.find( obj.selectors.tooltipTrigger )
|
| 238 |
.each( function( index, trigger ) {
|
| 239 |
$( trigger )
|
| 240 |
-
.off(
|
| 241 |
-
.off( 'blur', obj.handleOriginBlur )
|
| 242 |
-
.off( 'mouseenter touchstart', obj.handleOriginHoverIn )
|
| 243 |
-
.off( 'mouseleave touchleave', obj.handleOriginHoverOut )
|
| 244 |
.tooltipster( 'instance' )
|
| 245 |
-
.off(
|
| 246 |
-
.off( 'closing', obj.handleInstanceClosing );
|
| 247 |
} );
|
| 248 |
};
|
| 249 |
|
|
@@ -310,6 +306,7 @@ tribe.events.views.tooltip = {};
|
|
| 310 |
obj.deinit = function( event, jqXHR, settings ) {
|
| 311 |
var $container = event.data.container;
|
| 312 |
obj.deinitTooltips( $container );
|
|
|
|
| 313 |
};
|
| 314 |
|
| 315 |
/**
|
| 237 |
.find( obj.selectors.tooltipTrigger )
|
| 238 |
.each( function( index, trigger ) {
|
| 239 |
$( trigger )
|
| 240 |
+
.off()
|
|
|
|
|
|
|
|
|
|
| 241 |
.tooltipster( 'instance' )
|
| 242 |
+
.off();
|
|
|
|
| 243 |
} );
|
| 244 |
};
|
| 245 |
|
| 306 |
obj.deinit = function( event, jqXHR, settings ) {
|
| 307 |
var $container = event.data.container;
|
| 308 |
obj.deinitTooltips( $container );
|
| 309 |
+
$container.off( 'beforeAjaxSuccess.tribeEvents', obj.deinit );
|
| 310 |
};
|
| 311 |
|
| 312 |
/**
|
src/resources/js/views/view-selector.js
CHANGED
|
@@ -23,7 +23,7 @@ tribe.events.views.viewSelector = {};
|
|
| 23 |
* @since 4.9.4
|
| 24 |
*
|
| 25 |
* @param {PlainObject} $ jQuery
|
| 26 |
-
* @param {PlainObject} obj tribe.events.views.
|
| 27 |
*
|
| 28 |
* @return {void}
|
| 29 |
*/
|
|
@@ -159,15 +159,18 @@ tribe.events.views.viewSelector = {};
|
|
| 159 |
|
| 160 |
// If view selector is tabs (has 3 or less options)
|
| 161 |
if ( isTabs ) {
|
|
|
|
|
|
|
|
|
|
| 162 |
// If viewport is mobile and mobile state is not initialized
|
| 163 |
-
if (
|
| 164 |
obj.initViewSelectorAccordion( $container );
|
| 165 |
state.desktopInitialized = false;
|
| 166 |
state.mobileInitialized = true;
|
| 167 |
$viewSelector.data( 'tribeEventsState', state );
|
| 168 |
|
| 169 |
// If viewport is desktop and desktop state is not initialized
|
| 170 |
-
} else if ( !
|
| 171 |
obj.deinitViewSelectorAccordion( $container );
|
| 172 |
state.mobileInitialized = false;
|
| 173 |
state.desktopInitialized = true;
|
|
@@ -250,9 +253,9 @@ tribe.events.views.viewSelector = {};
|
|
| 250 |
*/
|
| 251 |
obj.unbindEvents = function( $container ) {
|
| 252 |
$document
|
| 253 |
-
.off( 'resize.tribeEvents', obj.handleResize )
|
| 254 |
.off( 'click', obj.handleClick );
|
| 255 |
$container
|
|
|
|
| 256 |
.find( obj.selectors.viewSelectorButton )
|
| 257 |
.off( 'click', obj.handleViewSelectorButtonClick );
|
| 258 |
};
|
|
@@ -269,9 +272,8 @@ tribe.events.views.viewSelector = {};
|
|
| 269 |
obj.bindEvents = function( $container ) {
|
| 270 |
var $viewSelectorButton = $container.find( obj.selectors.viewSelectorButton );
|
| 271 |
|
| 272 |
-
$document
|
| 273 |
-
|
| 274 |
-
.on( 'click', { container: $container }, obj.handleClick );
|
| 275 |
$viewSelectorButton.on( 'click', { target: $viewSelectorButton }, obj.handleViewSelectorButtonClick );
|
| 276 |
};
|
| 277 |
|
|
@@ -290,6 +292,7 @@ tribe.events.views.viewSelector = {};
|
|
| 290 |
var $container = event.data.container;
|
| 291 |
obj.deinitViewSelector( $container );
|
| 292 |
obj.unbindEvents( $container );
|
|
|
|
| 293 |
};
|
| 294 |
|
| 295 |
/**
|
| 23 |
* @since 4.9.4
|
| 24 |
*
|
| 25 |
* @param {PlainObject} $ jQuery
|
| 26 |
+
* @param {PlainObject} obj tribe.events.views.viewSelector
|
| 27 |
*
|
| 28 |
* @return {void}
|
| 29 |
*/
|
| 159 |
|
| 160 |
// If view selector is tabs (has 3 or less options)
|
| 161 |
if ( isTabs ) {
|
| 162 |
+
var containerState = $container.data( 'tribeEventsState' );
|
| 163 |
+
var isMobile = ( containerState && containerState.isMobile ) || true; // fallback to true if container state is undefined
|
| 164 |
+
|
| 165 |
// If viewport is mobile and mobile state is not initialized
|
| 166 |
+
if ( isMobile && ! state.mobileInitialized ) {
|
| 167 |
obj.initViewSelectorAccordion( $container );
|
| 168 |
state.desktopInitialized = false;
|
| 169 |
state.mobileInitialized = true;
|
| 170 |
$viewSelector.data( 'tribeEventsState', state );
|
| 171 |
|
| 172 |
// If viewport is desktop and desktop state is not initialized
|
| 173 |
+
} else if ( ! isMobile && ! state.desktopInitialized ) {
|
| 174 |
obj.deinitViewSelectorAccordion( $container );
|
| 175 |
state.mobileInitialized = false;
|
| 176 |
state.desktopInitialized = true;
|
| 253 |
*/
|
| 254 |
obj.unbindEvents = function( $container ) {
|
| 255 |
$document
|
|
|
|
| 256 |
.off( 'click', obj.handleClick );
|
| 257 |
$container
|
| 258 |
+
.off( 'resize.tribeEvents', obj.handleResize )
|
| 259 |
.find( obj.selectors.viewSelectorButton )
|
| 260 |
.off( 'click', obj.handleViewSelectorButtonClick );
|
| 261 |
};
|
| 272 |
obj.bindEvents = function( $container ) {
|
| 273 |
var $viewSelectorButton = $container.find( obj.selectors.viewSelectorButton );
|
| 274 |
|
| 275 |
+
$document.on( 'click', { container: $container }, obj.handleClick );
|
| 276 |
+
$container.on( 'resize.tribeEvents', { container: $container }, obj.handleResize );
|
|
|
|
| 277 |
$viewSelectorButton.on( 'click', { target: $viewSelectorButton }, obj.handleViewSelectorButtonClick );
|
| 278 |
};
|
| 279 |
|
| 292 |
var $container = event.data.container;
|
| 293 |
obj.deinitViewSelector( $container );
|
| 294 |
obj.unbindEvents( $container );
|
| 295 |
+
$container.off( 'beforeAjaxSuccess.tribeEvents', obj.deinit );
|
| 296 |
};
|
| 297 |
|
| 298 |
/**
|
src/resources/js/views/viewport.js
CHANGED
|
@@ -23,7 +23,7 @@ tribe.events.views.viewport = {};
|
|
| 23 |
* @since 4.9.7
|
| 24 |
*
|
| 25 |
* @param {PlainObject} $ jQuery
|
| 26 |
-
* @param {PlainObject} obj tribe.events.views.
|
| 27 |
*
|
| 28 |
* @return {void}
|
| 29 |
*/
|
|
@@ -40,43 +40,55 @@ tribe.events.views.viewport = {};
|
|
| 40 |
* @type {PlainObject}
|
| 41 |
*/
|
| 42 |
obj.options = {
|
| 43 |
-
MOBILE_BREAKPOINT: 768,
|
| 44 |
};
|
| 45 |
|
| 46 |
/**
|
| 47 |
-
*
|
| 48 |
*
|
| 49 |
* @since 4.9.7
|
| 50 |
*
|
| 51 |
-
* @
|
|
|
|
|
|
|
| 52 |
*/
|
| 53 |
-
obj.
|
| 54 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 55 |
};
|
| 56 |
|
| 57 |
/**
|
| 58 |
-
*
|
| 59 |
*
|
| 60 |
* @since 4.9.7
|
| 61 |
*
|
|
|
|
|
|
|
| 62 |
* @return {void}
|
| 63 |
*/
|
| 64 |
-
obj.
|
| 65 |
-
|
| 66 |
-
|
|
|
|
| 67 |
};
|
| 68 |
|
| 69 |
/**
|
| 70 |
-
*
|
| 71 |
*
|
| 72 |
-
* @since
|
| 73 |
*
|
| 74 |
-
* @param {
|
| 75 |
*
|
| 76 |
* @return {void}
|
| 77 |
*/
|
| 78 |
-
obj.
|
| 79 |
-
obj.
|
| 80 |
};
|
| 81 |
|
| 82 |
/**
|
|
@@ -89,7 +101,24 @@ tribe.events.views.viewport = {};
|
|
| 89 |
* @return {void}
|
| 90 |
*/
|
| 91 |
obj.bindEvents = function( $container ) {
|
| 92 |
-
$window.on( 'resize', obj.handleResize );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 93 |
};
|
| 94 |
|
| 95 |
/**
|
|
@@ -97,11 +126,17 @@ tribe.events.views.viewport = {};
|
|
| 97 |
*
|
| 98 |
* @since 4.9.7
|
| 99 |
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 100 |
* @return {void}
|
| 101 |
*/
|
| 102 |
-
obj.init = function() {
|
| 103 |
-
obj.bindEvents();
|
| 104 |
-
obj.setViewport();
|
|
|
|
| 105 |
};
|
| 106 |
|
| 107 |
/**
|
|
@@ -112,7 +147,7 @@ tribe.events.views.viewport = {};
|
|
| 112 |
* @return {void}
|
| 113 |
*/
|
| 114 |
obj.ready = function() {
|
| 115 |
-
obj.init
|
| 116 |
};
|
| 117 |
|
| 118 |
// Configure on document ready
|
| 23 |
* @since 4.9.7
|
| 24 |
*
|
| 25 |
* @param {PlainObject} $ jQuery
|
| 26 |
+
* @param {PlainObject} obj tribe.events.views.viewport
|
| 27 |
*
|
| 28 |
* @return {void}
|
| 29 |
*/
|
| 40 |
* @type {PlainObject}
|
| 41 |
*/
|
| 42 |
obj.options = {
|
| 43 |
+
MOBILE_BREAKPOINT: tribe.events.views.breakpoints.breakpoints.medium || 768,
|
| 44 |
};
|
| 45 |
|
| 46 |
/**
|
| 47 |
+
* Set viewport state for container
|
| 48 |
*
|
| 49 |
* @since 4.9.7
|
| 50 |
*
|
| 51 |
+
* @param {jQuery} $container jQuery object of view container
|
| 52 |
+
*
|
| 53 |
+
* @return {void}
|
| 54 |
*/
|
| 55 |
+
obj.setViewport = function( $container ) {
|
| 56 |
+
var state = $container.data( 'tribeEventsState' );
|
| 57 |
+
|
| 58 |
+
if ( ! state ) {
|
| 59 |
+
state = {};
|
| 60 |
+
}
|
| 61 |
+
|
| 62 |
+
state.isMobile = $container.outerWidth() < obj.options.MOBILE_BREAKPOINT;
|
| 63 |
+
$container.data( 'tribeEventsState', state );
|
| 64 |
};
|
| 65 |
|
| 66 |
/**
|
| 67 |
+
* Handles window resize event
|
| 68 |
*
|
| 69 |
* @since 4.9.7
|
| 70 |
*
|
| 71 |
+
* @param {Event} event event object for 'resize' event
|
| 72 |
+
*
|
| 73 |
* @return {void}
|
| 74 |
*/
|
| 75 |
+
obj.handleResize = function( event ) {
|
| 76 |
+
var $container = event.data.container;
|
| 77 |
+
obj.setViewport( $container );
|
| 78 |
+
$container.trigger( 'resize.tribeEvents' );
|
| 79 |
};
|
| 80 |
|
| 81 |
/**
|
| 82 |
+
* Unbind events for window resize
|
| 83 |
*
|
| 84 |
+
* @since 5.0.0
|
| 85 |
*
|
| 86 |
+
* @param {jQuery} $container jQuery object of view container
|
| 87 |
*
|
| 88 |
* @return {void}
|
| 89 |
*/
|
| 90 |
+
obj.unbindEvents = function( $container ) {
|
| 91 |
+
$window.off( 'resize', obj.handleResize );
|
| 92 |
};
|
| 93 |
|
| 94 |
/**
|
| 101 |
* @return {void}
|
| 102 |
*/
|
| 103 |
obj.bindEvents = function( $container ) {
|
| 104 |
+
$window.on( 'resize', { container: $container }, obj.handleResize );
|
| 105 |
+
};
|
| 106 |
+
|
| 107 |
+
/**
|
| 108 |
+
* Deinitialize viewport JS
|
| 109 |
+
*
|
| 110 |
+
* @since 5.0.0
|
| 111 |
+
*
|
| 112 |
+
* @param {Event} event event object for 'beforeAjaxSuccess.tribeEvents' event
|
| 113 |
+
* @param {jqXHR} jqXHR Request object
|
| 114 |
+
* @param {PlainObject} settings Settings that this request was made with
|
| 115 |
+
*
|
| 116 |
+
* @return {void}
|
| 117 |
+
*/
|
| 118 |
+
obj.deinit = function( event, jqXHR, settings ) {
|
| 119 |
+
var $container = event.data.container;
|
| 120 |
+
obj.unbindEvents( $container );
|
| 121 |
+
$container.off( 'beforeAjaxSuccess.tribeEvents', obj.deinit );
|
| 122 |
};
|
| 123 |
|
| 124 |
/**
|
| 126 |
*
|
| 127 |
* @since 4.9.7
|
| 128 |
*
|
| 129 |
+
* @param {Event} event event object for 'afterSetup.tribeEvents' event
|
| 130 |
+
* @param {integer} index jQuery.each index param from 'afterSetup.tribeEvents' event
|
| 131 |
+
* @param {jQuery} $container jQuery object of view container
|
| 132 |
+
* @param {object} data data object passed from 'afterSetup.tribeEvents' event
|
| 133 |
+
*
|
| 134 |
* @return {void}
|
| 135 |
*/
|
| 136 |
+
obj.init = function( event, index, $container, data ) {
|
| 137 |
+
obj.bindEvents( $container );
|
| 138 |
+
obj.setViewport( $container );
|
| 139 |
+
$container.on( 'beforeAjaxSuccess.tribeEvents', { container: $container }, obj.deinit );
|
| 140 |
};
|
| 141 |
|
| 142 |
/**
|
| 147 |
* @return {void}
|
| 148 |
*/
|
| 149 |
obj.ready = function() {
|
| 150 |
+
$document.on( 'afterSetup.tribeEvents', tribe.events.views.manager.selectors.container, obj.init );
|
| 151 |
};
|
| 152 |
|
| 153 |
// Configure on document ready
|
src/resources/postcss/README.md
CHANGED
|
@@ -61,9 +61,9 @@ In this case, the day date is an element of the month day. However, the `--curre
|
|
| 61 |
|
| 62 |
For overriding styles, it is recommended to only use classes to keep overriding specificity consistent. All elements should have classes and should be targetted using those classes.
|
| 63 |
|
| 64 |
-
## Modifiers, pseudo-classes, and
|
| 65 |
|
| 66 |
-
As you get into building upon these styles and creating new styles, the order of modifiers, pseudo-classes, and
|
| 67 |
|
| 68 |
```
|
| 69 |
.tribe-events {
|
|
@@ -72,15 +72,15 @@ As you get into building upon these styles and creating new styles, the order of
|
|
| 72 |
.tribe-events-c-view-selector__button {
|
| 73 |
/* view selector button styles */
|
| 74 |
|
| 75 |
-
|
| 76 |
-
/*
|
| 77 |
}
|
| 78 |
|
| 79 |
&:before {
|
| 80 |
/* :before pseudo-class styles */
|
| 81 |
|
| 82 |
-
|
| 83 |
-
/*
|
| 84 |
}
|
| 85 |
}
|
| 86 |
}
|
|
@@ -88,60 +88,15 @@ As you get into building upon these styles and creating new styles, the order of
|
|
| 88 |
.tribe-events-c-view-selector__button--active {
|
| 89 |
/* active view selector button styles */
|
| 90 |
|
| 91 |
-
|
| 92 |
-
/*
|
| 93 |
}
|
| 94 |
|
| 95 |
&:before {
|
| 96 |
/* :before pseudo-class styles */
|
| 97 |
|
| 98 |
-
|
| 99 |
-
/*
|
| 100 |
-
}
|
| 101 |
-
}
|
| 102 |
-
}
|
| 103 |
-
|
| 104 |
-
...
|
| 105 |
-
}
|
| 106 |
-
```
|
| 107 |
-
|
| 108 |
-
In the case of an element, we might get the following scenario:
|
| 109 |
-
|
| 110 |
-
```
|
| 111 |
-
.tribe-common {
|
| 112 |
-
...
|
| 113 |
-
|
| 114 |
-
.tribe-events-c-view-selector__button {
|
| 115 |
-
/* view selector button styles */
|
| 116 |
-
|
| 117 |
-
@media (--viewport-medium) {
|
| 118 |
-
/* viewport medium view selector button styles */
|
| 119 |
-
}
|
| 120 |
-
|
| 121 |
-
&:before {
|
| 122 |
-
/* :before pseudo-class styles */
|
| 123 |
-
|
| 124 |
-
@media (--viewport-medium) {
|
| 125 |
-
/* viewport medium :before pseudo-class styles */
|
| 126 |
-
}
|
| 127 |
-
}
|
| 128 |
-
}
|
| 129 |
-
|
| 130 |
-
.tribe-events-c-view-selector--tabs {
|
| 131 |
-
|
| 132 |
-
.tribe-events-c-view-selector__button {
|
| 133 |
-
/* tabs view selector button styles */
|
| 134 |
-
|
| 135 |
-
@media (--viewport-medium) {
|
| 136 |
-
/* viewport medium tabs view selector button styles */
|
| 137 |
-
}
|
| 138 |
-
|
| 139 |
-
&:before {
|
| 140 |
-
/* :before pseudo-class styles */
|
| 141 |
-
|
| 142 |
-
@media (--viewport-medium) {
|
| 143 |
-
/* viewport medium :before pseudo-class styles */
|
| 144 |
-
}
|
| 145 |
}
|
| 146 |
}
|
| 147 |
}
|
|
@@ -172,15 +127,19 @@ Components are groups of reusable markup and styles. The component style structu
|
|
| 172 |
|
| 173 |
The views styles are styles that are specific to each view and the sub-elements of each view. These are generally more layout-focused after applying common styles, though some elements, such as in the month view, require more custom styles.
|
| 174 |
|
| 175 |
-
###
|
|
|
|
|
|
|
|
|
|
|
|
|
| 176 |
|
| 177 |
-
|
| 178 |
|
| 179 |
## Theme overrides
|
| 180 |
|
| 181 |
Modern Tribe plugins support a handful of themes. Some themes provide stylesheets that have high specificity for elements and override the plugin styles. To counter this, we've included theme overrides to ensure our plugin styles display as expected with the supported themes.
|
| 182 |
|
| 183 |
-
The specificity to override the styles are matched to those applied to the theme. This means that if, for example, a theme applied an ID and 2 extra classes to a `
|
| 184 |
|
| 185 |
```
|
| 186 |
.tribe-events {
|
| 61 |
|
| 62 |
For overriding styles, it is recommended to only use classes to keep overriding specificity consistent. All elements should have classes and should be targetted using those classes.
|
| 63 |
|
| 64 |
+
## Modifiers, pseudo-classes, and container query classes
|
| 65 |
|
| 66 |
+
As you get into building upon these styles and creating new styles, the order of modifiers, pseudo-classes, and container query classes comes into question. The general rule is to apply them in the following order: container query classes, pseudo-classes, modifiers. See the examples below:
|
| 67 |
|
| 68 |
```
|
| 69 |
.tribe-events {
|
| 72 |
.tribe-events-c-view-selector__button {
|
| 73 |
/* view selector button styles */
|
| 74 |
|
| 75 |
+
.tribe-common--breakpoint-medium& {
|
| 76 |
+
/* container medium view selector button styles */
|
| 77 |
}
|
| 78 |
|
| 79 |
&:before {
|
| 80 |
/* :before pseudo-class styles */
|
| 81 |
|
| 82 |
+
.tribe-common--breakpoint-medium& {
|
| 83 |
+
/* container medium :before pseudo-class styles */
|
| 84 |
}
|
| 85 |
}
|
| 86 |
}
|
| 88 |
.tribe-events-c-view-selector__button--active {
|
| 89 |
/* active view selector button styles */
|
| 90 |
|
| 91 |
+
.tribe-common--breakpoint-medium& {
|
| 92 |
+
/* container medium active view selector button styles */
|
| 93 |
}
|
| 94 |
|
| 95 |
&:before {
|
| 96 |
/* :before pseudo-class styles */
|
| 97 |
|
| 98 |
+
.tribe-common--breakpoint-medium& {
|
| 99 |
+
/* container medium :before pseudo-class styles */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 100 |
}
|
| 101 |
}
|
| 102 |
}
|
| 127 |
|
| 128 |
The views styles are styles that are specific to each view and the sub-elements of each view. These are generally more layout-focused after applying common styles, though some elements, such as in the month view, require more custom styles.
|
| 129 |
|
| 130 |
+
### Container queries
|
| 131 |
+
|
| 132 |
+
These styles use a mobile-first approach. Given this, styles build on top of each other at various breakpoints. However, they don't use the traditional `min-width:` media queries most of us are used to. Instead, the styles use container queries based on the `.tribe-common` container.
|
| 133 |
+
|
| 134 |
+
The reasoning for this is simple. Many of the views for The Events Calendar and Event Tickets depend on the theme to which they are applied. Some themes have an extremely wide spacing on the left and right while others have none. At our usual 768px breakpoint for the `--min-medium` modifier, the `.tribe-common` container could have very different widths based on the theme used and display the view inconsistently.
|
| 135 |
|
| 136 |
+
To counter this, we've applied a type of container media queries. By applying JavaScript that runs as soon as the container is printed, we are able apply classes to the container based on its width rather than the viewport width. We currently use 3 breakpoints: `.tribe-common--breakpoint-xsmall`, `.tribe-common--breakpoint-medium`, and `.tribe-common--breakpoint-full`. These correspond to 500px, 768px, and 960px, respectively. These values can also be filtered to customize the breakpoint values.
|
| 137 |
|
| 138 |
## Theme overrides
|
| 139 |
|
| 140 |
Modern Tribe plugins support a handful of themes. Some themes provide stylesheets that have high specificity for elements and override the plugin styles. To counter this, we've included theme overrides to ensure our plugin styles display as expected with the supported themes.
|
| 141 |
|
| 142 |
+
The specificity to override the styles are matched to those applied to the theme. This means that if, for example, a theme applied an ID and 2 extra classes to a `datepicker` style, we might see the following theme override:
|
| 143 |
|
| 144 |
```
|
| 145 |
.tribe-events {
|
src/resources/postcss/base/skeleton/_layouts.pcss
CHANGED
|
@@ -8,10 +8,12 @@
|
|
| 8 |
.tribe-events-l-container {
|
| 9 |
padding-bottom: var(--spacer-12);
|
| 10 |
padding-top: var(--spacer-11);
|
|
|
|
| 11 |
|
| 12 |
-
|
| 13 |
padding-bottom: var(--spacer-14);
|
| 14 |
padding-top: var(--spacer-13);
|
|
|
|
| 15 |
}
|
| 16 |
}
|
| 17 |
}
|
| 8 |
.tribe-events-l-container {
|
| 9 |
padding-bottom: var(--spacer-12);
|
| 10 |
padding-top: var(--spacer-11);
|
| 11 |
+
min-height: 600px; /* min height on container to show datepicker when no results, as some themes have containers with overflow hidden */
|
| 12 |
|
| 13 |
+
.tribe-common--breakpoint-medium& {
|
| 14 |
padding-bottom: var(--spacer-14);
|
| 15 |
padding-top: var(--spacer-13);
|
| 16 |
+
min-height: 700px; /* min height on container to show datepicker when no results, as some themes have containers with overflow hidden */
|
| 17 |
}
|
| 18 |
}
|
| 19 |
}
|
src/resources/postcss/components/full/_breadcrumbs.pcss
CHANGED
|
@@ -11,7 +11,7 @@
|
|
| 11 |
font-size: 24px;
|
| 12 |
line-height: var(--line-height-1);
|
| 13 |
|
| 14 |
-
|
| 15 |
font-size: 42px;
|
| 16 |
line-height: var(--line-height-0);
|
| 17 |
}
|
| 11 |
font-size: 24px;
|
| 12 |
line-height: var(--line-height-1);
|
| 13 |
|
| 14 |
+
.tribe-common--breakpoint-medium& {
|
| 15 |
font-size: 42px;
|
| 16 |
line-height: var(--line-height-0);
|
| 17 |
}
|
src/resources/postcss/components/full/_datepicker.pcss
CHANGED
|
@@ -103,10 +103,10 @@
|
|
| 103 |
|
| 104 |
.admin-bar & .datepicker {
|
| 105 |
margin-top: var(--spacer-1);
|
|
|
|
| 106 |
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
}
|
| 110 |
}
|
| 111 |
|
| 112 |
/* -----------------------------------------------------------------------------
|
| 103 |
|
| 104 |
.admin-bar & .datepicker {
|
| 105 |
margin-top: var(--spacer-1);
|
| 106 |
+
}
|
| 107 |
|
| 108 |
+
.admin-bar &.tribe-common--breakpoint-medium .datepicker {
|
| 109 |
+
margin-top: var(--spacer-3);
|
|
|
|
| 110 |
}
|
| 111 |
|
| 112 |
/* -----------------------------------------------------------------------------
|
src/resources/postcss/components/full/_events-bar.pcss
CHANGED
|
@@ -11,13 +11,15 @@
|
|
| 11 |
}
|
| 12 |
|
| 13 |
.tribe-events-c-events-bar--border {
|
| 14 |
-
|
|
|
|
| 15 |
border: 1px solid var(--color-border-secondary);
|
| 16 |
}
|
| 17 |
}
|
| 18 |
|
| 19 |
.tribe-events-c-events-bar__filters {
|
| 20 |
-
|
|
|
|
| 21 |
border-right: 1px solid var(--color-border-secondary);
|
| 22 |
}
|
| 23 |
}
|
| 11 |
}
|
| 12 |
|
| 13 |
.tribe-events-c-events-bar--border {
|
| 14 |
+
|
| 15 |
+
.tribe-common--breakpoint-medium& {
|
| 16 |
border: 1px solid var(--color-border-secondary);
|
| 17 |
}
|
| 18 |
}
|
| 19 |
|
| 20 |
.tribe-events-c-events-bar__filters {
|
| 21 |
+
|
| 22 |
+
.tribe-common--breakpoint-medium& {
|
| 23 |
border-right: 1px solid var(--color-border-secondary);
|
| 24 |
}
|
| 25 |
}
|
src/resources/postcss/components/full/_messages.pcss
CHANGED
|
@@ -34,7 +34,8 @@
|
|
| 34 |
}
|
| 35 |
|
| 36 |
.tribe-events-c-messages__message-list {
|
| 37 |
-
|
|
|
|
| 38 |
text-align: center;
|
| 39 |
}
|
| 40 |
}
|
| 34 |
}
|
| 35 |
|
| 36 |
.tribe-events-c-messages__message-list {
|
| 37 |
+
|
| 38 |
+
.tribe-common--breakpoint-medium& {
|
| 39 |
text-align: center;
|
| 40 |
}
|
| 41 |
}
|
src/resources/postcss/components/full/_navigation.pcss
CHANGED
|
@@ -32,9 +32,6 @@
|
|
| 32 |
white-space: pre;
|
| 33 |
}
|
| 34 |
|
| 35 |
-
|
| 36 |
-
.tribe-events-c-nav__prev,
|
| 37 |
-
.tribe-events-c-nav__next,
|
| 38 |
.tribe-events-c-nav__today {
|
| 39 |
|
| 40 |
&:hover,
|
|
@@ -49,10 +46,20 @@
|
|
| 49 |
|
| 50 |
.tribe-events-c-nav__prev,
|
| 51 |
.tribe-events-c-nav__next {
|
| 52 |
-
|
|
|
|
| 53 |
color: var(--color-text-secondary);
|
| 54 |
}
|
| 55 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 56 |
&:disabled {
|
| 57 |
background-color: transparent;
|
| 58 |
color: var(--color-text-disabled);
|
|
@@ -70,7 +77,7 @@
|
|
| 70 |
margin-right: 8px;
|
| 71 |
width: 7px;
|
| 72 |
|
| 73 |
-
|
| 74 |
background-image: svg-inline(caret-left);
|
| 75 |
height: 14px;
|
| 76 |
margin-right: 15px;
|
|
@@ -113,7 +120,7 @@
|
|
| 113 |
margin-left: 8px;
|
| 114 |
width: 7px;
|
| 115 |
|
| 116 |
-
|
| 117 |
background-image: svg-inline(caret-right);
|
| 118 |
height: 14px;
|
| 119 |
margin-left: 15px;
|
| 32 |
white-space: pre;
|
| 33 |
}
|
| 34 |
|
|
|
|
|
|
|
|
|
|
| 35 |
.tribe-events-c-nav__today {
|
| 36 |
|
| 37 |
&:hover,
|
| 46 |
|
| 47 |
.tribe-events-c-nav__prev,
|
| 48 |
.tribe-events-c-nav__next {
|
| 49 |
+
|
| 50 |
+
.tribe-common--breakpoint-medium& {
|
| 51 |
color: var(--color-text-secondary);
|
| 52 |
}
|
| 53 |
|
| 54 |
+
&:hover,
|
| 55 |
+
&:focus {
|
| 56 |
+
color: var(--color-accent-secondary-hover);
|
| 57 |
+
}
|
| 58 |
+
|
| 59 |
+
&:active {
|
| 60 |
+
color: var(--color-text-primary);
|
| 61 |
+
}
|
| 62 |
+
|
| 63 |
&:disabled {
|
| 64 |
background-color: transparent;
|
| 65 |
color: var(--color-text-disabled);
|
| 77 |
margin-right: 8px;
|
| 78 |
width: 7px;
|
| 79 |
|
| 80 |
+
.tribe-common--breakpoint-medium& {
|
| 81 |
background-image: svg-inline(caret-left);
|
| 82 |
height: 14px;
|
| 83 |
margin-right: 15px;
|
| 120 |
margin-left: 8px;
|
| 121 |
width: 7px;
|
| 122 |
|
| 123 |
+
.tribe-common--breakpoint-medium& {
|
| 124 |
background-image: svg-inline(caret-right);
|
| 125 |
height: 14px;
|
| 126 |
margin-left: 15px;
|
src/resources/postcss/components/full/_search.pcss
CHANGED
|
@@ -43,12 +43,14 @@
|
|
| 43 |
* ----------------------------------------------------------------------------- */
|
| 44 |
|
| 45 |
.tribe-events-c-search__input-control {
|
| 46 |
-
|
|
|
|
| 47 |
border-right: 1px solid var(--color-border-secondary);
|
| 48 |
}
|
| 49 |
|
| 50 |
&:last-child {
|
| 51 |
-
|
|
|
|
| 52 |
border-right: 0;
|
| 53 |
}
|
| 54 |
}
|
|
@@ -58,7 +60,7 @@
|
|
| 58 |
background-repeat: no-repeat;
|
| 59 |
background-position: right center;
|
| 60 |
|
| 61 |
-
|
| 62 |
background-position: 16px center;
|
| 63 |
}
|
| 64 |
}
|
|
@@ -116,10 +118,10 @@
|
|
| 116 |
.tribe-events-c-search__input--icon {
|
| 117 |
background-repeat: no-repeat;
|
| 118 |
background-position: right center;
|
|
|
|
| 119 |
|
| 120 |
-
|
| 121 |
-
|
| 122 |
-
}
|
| 123 |
}
|
| 124 |
|
| 125 |
.tribe-events-c-search__input-control--keyword {
|
| 43 |
* ----------------------------------------------------------------------------- */
|
| 44 |
|
| 45 |
.tribe-events-c-search__input-control {
|
| 46 |
+
|
| 47 |
+
.tribe-common--breakpoint-medium& {
|
| 48 |
border-right: 1px solid var(--color-border-secondary);
|
| 49 |
}
|
| 50 |
|
| 51 |
&:last-child {
|
| 52 |
+
|
| 53 |
+
.tribe-common--breakpoint-medium& {
|
| 54 |
border-right: 0;
|
| 55 |
}
|
| 56 |
}
|
| 60 |
background-repeat: no-repeat;
|
| 61 |
background-position: right center;
|
| 62 |
|
| 63 |
+
.tribe-common--breakpoint-medium& {
|
| 64 |
background-position: 16px center;
|
| 65 |
}
|
| 66 |
}
|
| 118 |
.tribe-events-c-search__input--icon {
|
| 119 |
background-repeat: no-repeat;
|
| 120 |
background-position: right center;
|
| 121 |
+
}
|
| 122 |
|
| 123 |
+
&.tribe-common--breakpoint-medium .tribe-events-c-search__input--icon {
|
| 124 |
+
background-position: 16px center;
|
|
|
|
| 125 |
}
|
| 126 |
|
| 127 |
.tribe-events-c-search__input-control--keyword {
|
src/resources/postcss/components/full/_top-bar.pcss
CHANGED
|
@@ -28,7 +28,7 @@
|
|
| 28 |
height: 6px;
|
| 29 |
width: 10px;
|
| 30 |
|
| 31 |
-
|
| 32 |
height: 7px;
|
| 33 |
width: 12px;
|
| 34 |
}
|
| 28 |
height: 6px;
|
| 29 |
width: 10px;
|
| 30 |
|
| 31 |
+
.tribe-common--breakpoint-medium& {
|
| 32 |
height: 7px;
|
| 33 |
width: 12px;
|
| 34 |
}
|
src/resources/postcss/components/full/_view-selector.pcss
CHANGED
|
@@ -54,13 +54,15 @@
|
|
| 54 |
.tribe-events-c-view-selector__button {
|
| 55 |
|
| 56 |
&:before {
|
| 57 |
-
|
|
|
|
| 58 |
content: none;
|
| 59 |
}
|
| 60 |
}
|
| 61 |
|
| 62 |
&:after {
|
| 63 |
-
|
|
|
|
| 64 |
background-image: svg-inline(caret-down);
|
| 65 |
background-repeat: no-repeat;
|
| 66 |
background-size: contain;
|
|
@@ -77,20 +79,23 @@
|
|
| 77 |
.tribe-events-c-view-selector__button--active {
|
| 78 |
|
| 79 |
&:after {
|
| 80 |
-
|
|
|
|
| 81 |
background-image: svg-inline(caret-up);
|
| 82 |
}
|
| 83 |
}
|
| 84 |
}
|
| 85 |
|
| 86 |
.tribe-events-c-view-selector__button-text {
|
| 87 |
-
|
|
|
|
| 88 |
@mixin desktop-body-2-bold;
|
| 89 |
}
|
| 90 |
}
|
| 91 |
|
| 92 |
.tribe-events-c-view-selector__content {
|
| 93 |
-
|
|
|
|
| 94 |
box-shadow: var(--box-shadow-default);
|
| 95 |
}
|
| 96 |
}
|
|
@@ -99,7 +104,8 @@
|
|
| 99 |
.tribe-events-c-view-selector--tabs {
|
| 100 |
|
| 101 |
.tribe-events-c-view-selector__content {
|
| 102 |
-
|
|
|
|
| 103 |
border: 0;
|
| 104 |
border-radius: 0;
|
| 105 |
box-shadow: none;
|
|
@@ -109,12 +115,14 @@
|
|
| 109 |
.tribe-events-c-view-selector__list-item--active {
|
| 110 |
|
| 111 |
.tribe-events-c-view-selector__list-item-link {
|
| 112 |
-
|
|
|
|
| 113 |
background-color: transparent;
|
| 114 |
}
|
| 115 |
|
| 116 |
&:after {
|
| 117 |
-
|
|
|
|
| 118 |
background-color: var(--color-accent-secondary);
|
| 119 |
bottom: -1px;
|
| 120 |
content: '';
|
|
@@ -157,7 +165,7 @@
|
|
| 157 |
transform: translateY(var(--spacer-0));
|
| 158 |
width: calc(100% - (2 * var(--spacer-0)));
|
| 159 |
|
| 160 |
-
|
| 161 |
width: calc(100% - (2 * var(--spacer-1)));
|
| 162 |
transform: none;
|
| 163 |
}
|
| 54 |
.tribe-events-c-view-selector__button {
|
| 55 |
|
| 56 |
&:before {
|
| 57 |
+
|
| 58 |
+
.tribe-common--breakpoint-medium& {
|
| 59 |
content: none;
|
| 60 |
}
|
| 61 |
}
|
| 62 |
|
| 63 |
&:after {
|
| 64 |
+
|
| 65 |
+
.tribe-common--breakpoint-medium& {
|
| 66 |
background-image: svg-inline(caret-down);
|
| 67 |
background-repeat: no-repeat;
|
| 68 |
background-size: contain;
|
| 79 |
.tribe-events-c-view-selector__button--active {
|
| 80 |
|
| 81 |
&:after {
|
| 82 |
+
|
| 83 |
+
.tribe-common--breakpoint-medium& {
|
| 84 |
background-image: svg-inline(caret-up);
|
| 85 |
}
|
| 86 |
}
|
| 87 |
}
|
| 88 |
|
| 89 |
.tribe-events-c-view-selector__button-text {
|
| 90 |
+
|
| 91 |
+
.tribe-common--breakpoint-medium& {
|
| 92 |
@mixin desktop-body-2-bold;
|
| 93 |
}
|
| 94 |
}
|
| 95 |
|
| 96 |
.tribe-events-c-view-selector__content {
|
| 97 |
+
|
| 98 |
+
.tribe-common--breakpoint-medium& {
|
| 99 |
box-shadow: var(--box-shadow-default);
|
| 100 |
}
|
| 101 |
}
|
| 104 |
.tribe-events-c-view-selector--tabs {
|
| 105 |
|
| 106 |
.tribe-events-c-view-selector__content {
|
| 107 |
+
|
| 108 |
+
.tribe-common--breakpoint-medium& {
|
| 109 |
border: 0;
|
| 110 |
border-radius: 0;
|
| 111 |
box-shadow: none;
|
| 115 |
.tribe-events-c-view-selector__list-item--active {
|
| 116 |
|
| 117 |
.tribe-events-c-view-selector__list-item-link {
|
| 118 |
+
|
| 119 |
+
.tribe-common--breakpoint-medium& {
|
| 120 |
background-color: transparent;
|
| 121 |
}
|
| 122 |
|
| 123 |
&:after {
|
| 124 |
+
|
| 125 |
+
.tribe-common--breakpoint-medium& {
|
| 126 |
background-color: var(--color-accent-secondary);
|
| 127 |
bottom: -1px;
|
| 128 |
content: '';
|
| 165 |
transform: translateY(var(--spacer-0));
|
| 166 |
width: calc(100% - (2 * var(--spacer-0)));
|
| 167 |
|
| 168 |
+
.tribe-common--breakpoint-medium& {
|
| 169 |
width: calc(100% - (2 * var(--spacer-1)));
|
| 170 |
transform: none;
|
| 171 |
}
|
src/resources/postcss/components/skeleton/_breadcrumbs.pcss
CHANGED
|
@@ -10,7 +10,7 @@
|
|
| 10 |
margin-bottom: var(--spacer-5);
|
| 11 |
width: 100%;
|
| 12 |
|
| 13 |
-
|
| 14 |
margin-bottom: var(--spacer-9);
|
| 15 |
}
|
| 16 |
}
|
|
@@ -36,7 +36,7 @@
|
|
| 36 |
width: 6px;
|
| 37 |
margin: 0 6px;
|
| 38 |
|
| 39 |
-
|
| 40 |
height: 16px;
|
| 41 |
width: 10px;
|
| 42 |
margin: 0 10px;
|
| 10 |
margin-bottom: var(--spacer-5);
|
| 11 |
width: 100%;
|
| 12 |
|
| 13 |
+
.tribe-common--breakpoint-medium& {
|
| 14 |
margin-bottom: var(--spacer-9);
|
| 15 |
}
|
| 16 |
}
|
| 36 |
width: 6px;
|
| 37 |
margin: 0 6px;
|
| 38 |
|
| 39 |
+
.tribe-common--breakpoint-medium& {
|
| 40 |
height: 16px;
|
| 41 |
width: 10px;
|
| 42 |
margin: 0 10px;
|
src/resources/postcss/components/skeleton/_datepicker.pcss
CHANGED
|
@@ -10,7 +10,7 @@
|
|
| 10 |
margin-top: var(--spacer-1);
|
| 11 |
padding: 0 var(--spacer-3) var(--spacer-3);
|
| 12 |
|
| 13 |
-
|
| 14 |
margin-top: var(--spacer-3);
|
| 15 |
}
|
| 16 |
|
|
@@ -22,6 +22,7 @@
|
|
| 22 |
.prev,
|
| 23 |
.next {
|
| 24 |
padding: var(--spacer-4) 0;
|
|
|
|
| 25 |
}
|
| 26 |
|
| 27 |
.prev,
|
|
@@ -110,10 +111,10 @@
|
|
| 110 |
|
| 111 |
.admin-bar & .datepicker {
|
| 112 |
margin-top: var(--spacer-1);
|
|
|
|
| 113 |
|
| 114 |
-
|
| 115 |
-
|
| 116 |
-
}
|
| 117 |
}
|
| 118 |
|
| 119 |
/* -----------------------------------------------------------------------------
|
| 10 |
margin-top: var(--spacer-1);
|
| 11 |
padding: 0 var(--spacer-3) var(--spacer-3);
|
| 12 |
|
| 13 |
+
.tribe-common--breakpoint-medium& {
|
| 14 |
margin-top: var(--spacer-3);
|
| 15 |
}
|
| 16 |
|
| 22 |
.prev,
|
| 23 |
.next {
|
| 24 |
padding: var(--spacer-4) 0;
|
| 25 |
+
vertical-align: middle;
|
| 26 |
}
|
| 27 |
|
| 28 |
.prev,
|
| 111 |
|
| 112 |
.admin-bar & .datepicker {
|
| 113 |
margin-top: var(--spacer-1);
|
| 114 |
+
}
|
| 115 |
|
| 116 |
+
.admin-bar &.tribe-common--breakpoint-medium .datepicker {
|
| 117 |
+
margin-top: var(--spacer-3);
|
|
|
|
| 118 |
}
|
| 119 |
|
| 120 |
/* -----------------------------------------------------------------------------
|
src/resources/postcss/components/skeleton/_events-bar.pcss
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
.tribe-events-c-events-bar {
|
| 10 |
display: flex;
|
| 11 |
|
| 12 |
-
|
| 13 |
flex-direction: row;
|
| 14 |
}
|
| 15 |
}
|
|
@@ -30,7 +30,7 @@
|
|
| 30 |
top: calc(100% - var(--spacer-2));
|
| 31 |
z-index: var(--z-index-dropdown);
|
| 32 |
|
| 33 |
-
|
| 34 |
align-items: center;
|
| 35 |
display: flex;
|
| 36 |
flex: auto;
|
|
@@ -41,7 +41,8 @@
|
|
| 41 |
}
|
| 42 |
|
| 43 |
.tribe-events-c-events-bar__search {
|
| 44 |
-
|
|
|
|
| 45 |
display: flex;
|
| 46 |
flex: auto;
|
| 47 |
}
|
|
@@ -57,7 +58,7 @@
|
|
| 57 |
justify-content: flex-end;
|
| 58 |
margin-right: -12px;
|
| 59 |
|
| 60 |
-
|
| 61 |
margin: var(--spacer-2) 0;
|
| 62 |
}
|
| 63 |
}
|
|
@@ -65,7 +66,7 @@
|
|
| 65 |
.tribe-events-c-events-bar__filters-button {
|
| 66 |
@mixin hidden;
|
| 67 |
|
| 68 |
-
|
| 69 |
align-items: center;
|
| 70 |
display: flex !important;
|
| 71 |
margin: calc(var(--spacer-2) * -1) 0;
|
|
@@ -76,7 +77,8 @@
|
|
| 76 |
&:hover,
|
| 77 |
&:focus,
|
| 78 |
&:active {
|
| 79 |
-
|
|
|
|
| 80 |
|
| 81 |
&:before {
|
| 82 |
background-image: svg-inline(filters-active);
|
|
@@ -85,7 +87,8 @@
|
|
| 85 |
}
|
| 86 |
|
| 87 |
&:before {
|
| 88 |
-
|
|
|
|
| 89 |
background-image: svg-inline(filters);
|
| 90 |
background-repeat: no-repeat;
|
| 91 |
background-size: contain;
|
|
@@ -107,7 +110,7 @@
|
|
| 107 |
position: relative;
|
| 108 |
|
| 109 |
|
| 110 |
-
|
| 111 |
@mixin hidden;
|
| 112 |
}
|
| 113 |
}
|
|
@@ -132,7 +135,7 @@
|
|
| 132 |
display: flex;
|
| 133 |
padding-bottom: var(--spacer-2);
|
| 134 |
|
| 135 |
-
|
| 136 |
@mixin hidden;
|
| 137 |
}
|
| 138 |
}
|
| 9 |
.tribe-events-c-events-bar {
|
| 10 |
display: flex;
|
| 11 |
|
| 12 |
+
.tribe-common--breakpoint-medium& {
|
| 13 |
flex-direction: row;
|
| 14 |
}
|
| 15 |
}
|
| 30 |
top: calc(100% - var(--spacer-2));
|
| 31 |
z-index: var(--z-index-dropdown);
|
| 32 |
|
| 33 |
+
.tribe-common--breakpoint-medium& {
|
| 34 |
align-items: center;
|
| 35 |
display: flex;
|
| 36 |
flex: auto;
|
| 41 |
}
|
| 42 |
|
| 43 |
.tribe-events-c-events-bar__search {
|
| 44 |
+
|
| 45 |
+
.tribe-common--breakpoint-medium& {
|
| 46 |
display: flex;
|
| 47 |
flex: auto;
|
| 48 |
}
|
| 58 |
justify-content: flex-end;
|
| 59 |
margin-right: -12px;
|
| 60 |
|
| 61 |
+
.tribe-common--breakpoint-medium& {
|
| 62 |
margin: var(--spacer-2) 0;
|
| 63 |
}
|
| 64 |
}
|
| 66 |
.tribe-events-c-events-bar__filters-button {
|
| 67 |
@mixin hidden;
|
| 68 |
|
| 69 |
+
.tribe-common--breakpoint-medium& {
|
| 70 |
align-items: center;
|
| 71 |
display: flex !important;
|
| 72 |
margin: calc(var(--spacer-2) * -1) 0;
|
| 77 |
&:hover,
|
| 78 |
&:focus,
|
| 79 |
&:active {
|
| 80 |
+
|
| 81 |
+
.tribe-common--breakpoint-medium& {
|
| 82 |
|
| 83 |
&:before {
|
| 84 |
background-image: svg-inline(filters-active);
|
| 87 |
}
|
| 88 |
|
| 89 |
&:before {
|
| 90 |
+
|
| 91 |
+
.tribe-common--breakpoint-medium& {
|
| 92 |
background-image: svg-inline(filters);
|
| 93 |
background-repeat: no-repeat;
|
| 94 |
background-size: contain;
|
| 110 |
position: relative;
|
| 111 |
|
| 112 |
|
| 113 |
+
.tribe-common--breakpoint-medium& {
|
| 114 |
@mixin hidden;
|
| 115 |
}
|
| 116 |
}
|
| 135 |
display: flex;
|
| 136 |
padding-bottom: var(--spacer-2);
|
| 137 |
|
| 138 |
+
.tribe-common--breakpoint-medium& {
|
| 139 |
@mixin hidden;
|
| 140 |
}
|
| 141 |
}
|
src/resources/postcss/components/skeleton/_messages.pcss
CHANGED
|
@@ -25,7 +25,7 @@
|
|
| 25 |
padding: var(--spacer-2);
|
| 26 |
width: 100%;
|
| 27 |
|
| 28 |
-
|
| 29 |
justify-content: center;
|
| 30 |
padding: var(--spacer-3);
|
| 31 |
}
|
| 25 |
padding: var(--spacer-2);
|
| 26 |
width: 100%;
|
| 27 |
|
| 28 |
+
.tribe-common--breakpoint-medium& {
|
| 29 |
justify-content: center;
|
| 30 |
padding: var(--spacer-3);
|
| 31 |
}
|
src/resources/postcss/components/skeleton/_navigation.pcss
CHANGED
|
@@ -22,7 +22,7 @@
|
|
| 22 |
.tribe-events-c-nav {
|
| 23 |
padding-top: var(--spacer-4);
|
| 24 |
|
| 25 |
-
|
| 26 |
padding-top: var(--spacer-6);
|
| 27 |
}
|
| 28 |
}
|
|
@@ -38,7 +38,7 @@
|
|
| 38 |
display: flex;
|
| 39 |
width: 33.33%;
|
| 40 |
|
| 41 |
-
|
| 42 |
width: 50%;
|
| 43 |
}
|
| 44 |
}
|
|
@@ -54,7 +54,7 @@
|
|
| 54 |
.tribe-events-c-nav__list-item--today {
|
| 55 |
justify-content: center;
|
| 56 |
|
| 57 |
-
|
| 58 |
@mixin hidden;
|
| 59 |
}
|
| 60 |
}
|
|
@@ -63,7 +63,7 @@
|
|
| 63 |
.tribe-events-c-nav__next-label-plural {
|
| 64 |
@mixin visually-hide;
|
| 65 |
|
| 66 |
-
|
| 67 |
@mixin visually-show;
|
| 68 |
}
|
| 69 |
}
|
| 22 |
.tribe-events-c-nav {
|
| 23 |
padding-top: var(--spacer-4);
|
| 24 |
|
| 25 |
+
.tribe-common--breakpoint-medium& {
|
| 26 |
padding-top: var(--spacer-6);
|
| 27 |
}
|
| 28 |
}
|
| 38 |
display: flex;
|
| 39 |
width: 33.33%;
|
| 40 |
|
| 41 |
+
.tribe-common--breakpoint-medium& {
|
| 42 |
width: 50%;
|
| 43 |
}
|
| 44 |
}
|
| 54 |
.tribe-events-c-nav__list-item--today {
|
| 55 |
justify-content: center;
|
| 56 |
|
| 57 |
+
.tribe-common--breakpoint-medium& {
|
| 58 |
@mixin hidden;
|
| 59 |
}
|
| 60 |
}
|
| 63 |
.tribe-events-c-nav__next-label-plural {
|
| 64 |
@mixin visually-hide;
|
| 65 |
|
| 66 |
+
.tribe-common--breakpoint-medium& {
|
| 67 |
@mixin visually-show;
|
| 68 |
}
|
| 69 |
}
|
src/resources/postcss/components/skeleton/_search.pcss
CHANGED
|
@@ -43,14 +43,16 @@
|
|
| 43 |
* ----------------------------------------------------------------------------- */
|
| 44 |
|
| 45 |
.tribe-events-c-search {
|
| 46 |
-
|
|
|
|
| 47 |
display: flex;
|
| 48 |
align-items: center;
|
| 49 |
}
|
| 50 |
}
|
| 51 |
|
| 52 |
.tribe-events-c-search__input-group {
|
| 53 |
-
|
|
|
|
| 54 |
align-items: center;
|
| 55 |
display: flex;
|
| 56 |
flex: auto;
|
|
@@ -58,14 +60,16 @@
|
|
| 58 |
}
|
| 59 |
|
| 60 |
.tribe-events-c-search__input-control {
|
| 61 |
-
|
|
|
|
| 62 |
flex: auto;
|
| 63 |
margin: var(--spacer-2) 0;
|
| 64 |
}
|
| 65 |
}
|
| 66 |
|
| 67 |
.tribe-events-c-search__input {
|
| 68 |
-
|
|
|
|
| 69 |
margin: calc(var(--spacer-2) * -1) 0;
|
| 70 |
}
|
| 71 |
}
|
|
@@ -73,7 +77,7 @@
|
|
| 73 |
.tribe-events-c-search__button {
|
| 74 |
margin-top: var(--spacer-5);
|
| 75 |
|
| 76 |
-
|
| 77 |
flex: none;
|
| 78 |
margin-top: 0;
|
| 79 |
}
|
|
@@ -91,10 +95,8 @@
|
|
| 91 |
|
| 92 |
#top.tribe-theme-enfold & {
|
| 93 |
|
| 94 |
-
.tribe-events-c-search__input {
|
| 95 |
-
|
| 96 |
-
margin: calc(var(--spacer-2) * -1) 0;
|
| 97 |
-
}
|
| 98 |
}
|
| 99 |
}
|
| 100 |
|
|
@@ -104,10 +106,8 @@
|
|
| 104 |
|
| 105 |
.tribe-theme-avada & {
|
| 106 |
|
| 107 |
-
.tribe-events-c-search__input {
|
| 108 |
-
|
| 109 |
-
margin: calc(var(--spacer-2) * -1) 0;
|
| 110 |
-
}
|
| 111 |
}
|
| 112 |
}
|
| 113 |
}
|
| 43 |
* ----------------------------------------------------------------------------- */
|
| 44 |
|
| 45 |
.tribe-events-c-search {
|
| 46 |
+
|
| 47 |
+
.tribe-common--breakpoint-medium& {
|
| 48 |
display: flex;
|
| 49 |
align-items: center;
|
| 50 |
}
|
| 51 |
}
|
| 52 |
|
| 53 |
.tribe-events-c-search__input-group {
|
| 54 |
+
|
| 55 |
+
.tribe-common--breakpoint-medium& {
|
| 56 |
align-items: center;
|
| 57 |
display: flex;
|
| 58 |
flex: auto;
|
| 60 |
}
|
| 61 |
|
| 62 |
.tribe-events-c-search__input-control {
|
| 63 |
+
|
| 64 |
+
.tribe-common--breakpoint-medium& {
|
| 65 |
flex: auto;
|
| 66 |
margin: var(--spacer-2) 0;
|
| 67 |
}
|
| 68 |
}
|
| 69 |
|
| 70 |
.tribe-events-c-search__input {
|
| 71 |
+
|
| 72 |
+
.tribe-common--breakpoint-medium& {
|
| 73 |
margin: calc(var(--spacer-2) * -1) 0;
|
| 74 |
}
|
| 75 |
}
|
| 77 |
.tribe-events-c-search__button {
|
| 78 |
margin-top: var(--spacer-5);
|
| 79 |
|
| 80 |
+
.tribe-common--breakpoint-medium& {
|
| 81 |
flex: none;
|
| 82 |
margin-top: 0;
|
| 83 |
}
|
| 95 |
|
| 96 |
#top.tribe-theme-enfold & {
|
| 97 |
|
| 98 |
+
&.tribe-common--breakpoint-medium .tribe-events-c-search__input {
|
| 99 |
+
margin: calc(var(--spacer-2) * -1) 0;
|
|
|
|
|
|
|
| 100 |
}
|
| 101 |
}
|
| 102 |
|
| 106 |
|
| 107 |
.tribe-theme-avada & {
|
| 108 |
|
| 109 |
+
&.tribe-common--breakpoint-medium .tribe-events-c-search__input {
|
| 110 |
+
margin: calc(var(--spacer-2) * -1) 0;
|
|
|
|
|
|
|
| 111 |
}
|
| 112 |
}
|
| 113 |
}
|
src/resources/postcss/components/skeleton/_top-bar.pcss
CHANGED
|
@@ -7,7 +7,8 @@
|
|
| 7 |
.tribe-events {
|
| 8 |
|
| 9 |
.tribe-events-c-top-bar {
|
| 10 |
-
|
|
|
|
| 11 |
align-items: center;
|
| 12 |
display: flex;
|
| 13 |
flex-direction: row;
|
|
@@ -16,7 +17,8 @@
|
|
| 16 |
}
|
| 17 |
|
| 18 |
.tribe-events-c-top-bar__nav {
|
| 19 |
-
|
|
|
|
| 20 |
display: block !important;
|
| 21 |
flex: none;
|
| 22 |
visibility: visible;
|
|
@@ -40,7 +42,8 @@
|
|
| 40 |
display: block;
|
| 41 |
|
| 42 |
&:before {
|
| 43 |
-
|
|
|
|
| 44 |
height: 18px;
|
| 45 |
width: 11px;
|
| 46 |
}
|
|
@@ -48,7 +51,8 @@
|
|
| 48 |
}
|
| 49 |
|
| 50 |
.tribe-events-c-top-bar__today-button {
|
| 51 |
-
|
|
|
|
| 52 |
display: block !important;
|
| 53 |
flex: none;
|
| 54 |
margin-right: 15px;
|
|
@@ -65,20 +69,26 @@
|
|
| 65 |
flex: auto;
|
| 66 |
position: relative;
|
| 67 |
|
| 68 |
-
|
| 69 |
margin: 0;
|
| 70 |
padding: 0;
|
| 71 |
}
|
| 72 |
}
|
| 73 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 74 |
.tribe-events-c-top-bar__datepicker-mobile {
|
| 75 |
-
|
|
|
|
| 76 |
@mixin hidden;
|
| 77 |
}
|
| 78 |
}
|
| 79 |
|
| 80 |
.tribe-events-c-top-bar__datepicker-desktop {
|
| 81 |
-
|
|
|
|
| 82 |
display: block !important;
|
| 83 |
visibility: visible
|
| 84 |
}
|
|
@@ -97,14 +107,15 @@
|
|
| 97 |
position: absolute;
|
| 98 |
width: 363px;
|
| 99 |
|
| 100 |
-
|
| 101 |
max-width: none;
|
| 102 |
min-width: 363px;
|
| 103 |
}
|
| 104 |
}
|
| 105 |
|
| 106 |
.tribe-events-c-top-bar__datepicker-submit {
|
| 107 |
-
|
|
|
|
| 108 |
display: block !important;
|
| 109 |
flex: none;
|
| 110 |
margin-left: 15px;
|
|
@@ -113,9 +124,8 @@
|
|
| 113 |
}
|
| 114 |
|
| 115 |
.tribe-events-c-top-bar__actions {
|
| 116 |
-
@mixin hidden;
|
| 117 |
|
| 118 |
-
|
| 119 |
display: block !important;
|
| 120 |
flex: none;
|
| 121 |
margin-left: auto;
|
| 7 |
.tribe-events {
|
| 8 |
|
| 9 |
.tribe-events-c-top-bar {
|
| 10 |
+
|
| 11 |
+
.tribe-common--breakpoint-medium& {
|
| 12 |
align-items: center;
|
| 13 |
display: flex;
|
| 14 |
flex-direction: row;
|
| 17 |
}
|
| 18 |
|
| 19 |
.tribe-events-c-top-bar__nav {
|
| 20 |
+
|
| 21 |
+
.tribe-common--breakpoint-medium& {
|
| 22 |
display: block !important;
|
| 23 |
flex: none;
|
| 24 |
visibility: visible;
|
| 42 |
display: block;
|
| 43 |
|
| 44 |
&:before {
|
| 45 |
+
|
| 46 |
+
.tribe-common--breakpoint-medium& {
|
| 47 |
height: 18px;
|
| 48 |
width: 11px;
|
| 49 |
}
|
| 51 |
}
|
| 52 |
|
| 53 |
.tribe-events-c-top-bar__today-button {
|
| 54 |
+
|
| 55 |
+
.tribe-common--breakpoint-medium& {
|
| 56 |
display: block !important;
|
| 57 |
flex: none;
|
| 58 |
margin-right: 15px;
|
| 69 |
flex: auto;
|
| 70 |
position: relative;
|
| 71 |
|
| 72 |
+
.tribe-common--breakpoint-medium& {
|
| 73 |
margin: 0;
|
| 74 |
padding: 0;
|
| 75 |
}
|
| 76 |
}
|
| 77 |
|
| 78 |
+
.tribe-events-c-top-bar__datepicker-separator {
|
| 79 |
+
white-space: pre;
|
| 80 |
+
}
|
| 81 |
+
|
| 82 |
.tribe-events-c-top-bar__datepicker-mobile {
|
| 83 |
+
|
| 84 |
+
.tribe-common--breakpoint-full& {
|
| 85 |
@mixin hidden;
|
| 86 |
}
|
| 87 |
}
|
| 88 |
|
| 89 |
.tribe-events-c-top-bar__datepicker-desktop {
|
| 90 |
+
|
| 91 |
+
.tribe-common--breakpoint-full& {
|
| 92 |
display: block !important;
|
| 93 |
visibility: visible
|
| 94 |
}
|
| 107 |
position: absolute;
|
| 108 |
width: 363px;
|
| 109 |
|
| 110 |
+
.tribe-common--breakpoint-medium& {
|
| 111 |
max-width: none;
|
| 112 |
min-width: 363px;
|
| 113 |
}
|
| 114 |
}
|
| 115 |
|
| 116 |
.tribe-events-c-top-bar__datepicker-submit {
|
| 117 |
+
|
| 118 |
+
.tribe-common--breakpoint-medium& {
|
| 119 |
display: block !important;
|
| 120 |
flex: none;
|
| 121 |
margin-left: 15px;
|
| 124 |
}
|
| 125 |
|
| 126 |
.tribe-events-c-top-bar__actions {
|
|
|
|
| 127 |
|
| 128 |
+
.tribe-common--breakpoint-medium& {
|
| 129 |
display: block !important;
|
| 130 |
flex: none;
|
| 131 |
margin-left: auto;
|
src/resources/postcss/components/skeleton/_view-selector.pcss
CHANGED
|
@@ -53,7 +53,7 @@
|
|
| 53 |
position: relative;
|
| 54 |
width: 29px;
|
| 55 |
|
| 56 |
-
|
| 57 |
width: auto;
|
| 58 |
}
|
| 59 |
}
|
|
@@ -61,20 +61,23 @@
|
|
| 61 |
.tribe-events-c-view-selector--labels {
|
| 62 |
|
| 63 |
.tribe-events-c-view-selector__button {
|
| 64 |
-
|
|
|
|
| 65 |
height: 100%;
|
| 66 |
padding: var(--spacer-4) var(--spacer-5);
|
| 67 |
}
|
| 68 |
}
|
| 69 |
|
| 70 |
.tribe-events-c-view-selector__button-icon {
|
| 71 |
-
|
|
|
|
| 72 |
@mixin hidden;
|
| 73 |
}
|
| 74 |
}
|
| 75 |
|
| 76 |
.tribe-events-c-view-selector__button-text {
|
| 77 |
-
|
|
|
|
| 78 |
@mixin visually-show;
|
| 79 |
|
| 80 |
flex: auto;
|
|
@@ -82,7 +85,8 @@
|
|
| 82 |
}
|
| 83 |
|
| 84 |
.tribe-events-c-view-selector__content {
|
| 85 |
-
|
|
|
|
| 86 |
left: 0;
|
| 87 |
padding: var(--spacer-1);
|
| 88 |
right: auto;
|
|
@@ -92,31 +96,32 @@
|
|
| 92 |
}
|
| 93 |
|
| 94 |
.tribe-events-c-view-selector__list-item-link {
|
| 95 |
-
|
|
|
|
| 96 |
padding: var(--spacer-0) var(--spacer-7) var(--spacer-0) var(--spacer-3);
|
| 97 |
}
|
| 98 |
}
|
| 99 |
|
| 100 |
.tribe-events-c-view-selector__list-item-icon {
|
| 101 |
-
|
|
|
|
| 102 |
@mixin hidden;
|
| 103 |
}
|
| 104 |
}
|
| 105 |
}
|
| 106 |
|
| 107 |
.tribe-events-c-view-selector--tabs {
|
| 108 |
-
@media (--viewport-medium) {
|
| 109 |
-
width: auto;
|
| 110 |
-
}
|
| 111 |
|
| 112 |
.tribe-events-c-view-selector__button {
|
| 113 |
-
|
|
|
|
| 114 |
@mixin hidden;
|
| 115 |
}
|
| 116 |
}
|
| 117 |
|
| 118 |
.tribe-events-c-view-selector__content {
|
| 119 |
-
|
|
|
|
| 120 |
display: block;
|
| 121 |
height: 100%;
|
| 122 |
padding: 0 var(--spacer-2);
|
|
@@ -126,20 +131,23 @@
|
|
| 126 |
}
|
| 127 |
|
| 128 |
.tribe-events-c-view-selector__list {
|
| 129 |
-
|
|
|
|
| 130 |
display: flex;
|
| 131 |
height: 100%;
|
| 132 |
}
|
| 133 |
}
|
| 134 |
|
| 135 |
.tribe-events-c-view-selector__list-item {
|
| 136 |
-
|
|
|
|
| 137 |
margin: 0 var(--spacer-2);
|
| 138 |
}
|
| 139 |
}
|
| 140 |
|
| 141 |
.tribe-events-c-view-selector__list-item-link {
|
| 142 |
-
|
|
|
|
| 143 |
height: 100%;
|
| 144 |
padding: var(--spacer-4) 0;
|
| 145 |
position: relative;
|
|
@@ -154,7 +162,7 @@
|
|
| 154 |
position: relative;
|
| 155 |
width: 100%;
|
| 156 |
|
| 157 |
-
|
| 158 |
padding: var(--spacer-1);
|
| 159 |
}
|
| 160 |
}
|
|
@@ -164,7 +172,7 @@
|
|
| 164 |
height: 21px;
|
| 165 |
width: 21px;
|
| 166 |
|
| 167 |
-
|
| 168 |
height: 23px;
|
| 169 |
width: 23px;
|
| 170 |
}
|
|
@@ -180,7 +188,7 @@
|
|
| 180 |
transform: translateY(var(--spacer-3));
|
| 181 |
z-index: var(--z-index-dropdown);
|
| 182 |
|
| 183 |
-
|
| 184 |
transform: translateY(var(--spacer-2));
|
| 185 |
}
|
| 186 |
}
|
| 53 |
position: relative;
|
| 54 |
width: 29px;
|
| 55 |
|
| 56 |
+
.tribe-common--breakpoint-medium& {
|
| 57 |
width: auto;
|
| 58 |
}
|
| 59 |
}
|
| 61 |
.tribe-events-c-view-selector--labels {
|
| 62 |
|
| 63 |
.tribe-events-c-view-selector__button {
|
| 64 |
+
|
| 65 |
+
.tribe-common--breakpoint-medium& {
|
| 66 |
height: 100%;
|
| 67 |
padding: var(--spacer-4) var(--spacer-5);
|
| 68 |
}
|
| 69 |
}
|
| 70 |
|
| 71 |
.tribe-events-c-view-selector__button-icon {
|
| 72 |
+
|
| 73 |
+
.tribe-common--breakpoint-medium& {
|
| 74 |
@mixin hidden;
|
| 75 |
}
|
| 76 |
}
|
| 77 |
|
| 78 |
.tribe-events-c-view-selector__button-text {
|
| 79 |
+
|
| 80 |
+
.tribe-common--breakpoint-medium& {
|
| 81 |
@mixin visually-show;
|
| 82 |
|
| 83 |
flex: auto;
|
| 85 |
}
|
| 86 |
|
| 87 |
.tribe-events-c-view-selector__content {
|
| 88 |
+
|
| 89 |
+
.tribe-common--breakpoint-medium& {
|
| 90 |
left: 0;
|
| 91 |
padding: var(--spacer-1);
|
| 92 |
right: auto;
|
| 96 |
}
|
| 97 |
|
| 98 |
.tribe-events-c-view-selector__list-item-link {
|
| 99 |
+
|
| 100 |
+
.tribe-common--breakpoint-medium& {
|
| 101 |
padding: var(--spacer-0) var(--spacer-7) var(--spacer-0) var(--spacer-3);
|
| 102 |
}
|
| 103 |
}
|
| 104 |
|
| 105 |
.tribe-events-c-view-selector__list-item-icon {
|
| 106 |
+
|
| 107 |
+
.tribe-common--breakpoint-medium& {
|
| 108 |
@mixin hidden;
|
| 109 |
}
|
| 110 |
}
|
| 111 |
}
|
| 112 |
|
| 113 |
.tribe-events-c-view-selector--tabs {
|
|
|
|
|
|
|
|
|
|
| 114 |
|
| 115 |
.tribe-events-c-view-selector__button {
|
| 116 |
+
|
| 117 |
+
.tribe-common--breakpoint-medium& {
|
| 118 |
@mixin hidden;
|
| 119 |
}
|
| 120 |
}
|
| 121 |
|
| 122 |
.tribe-events-c-view-selector__content {
|
| 123 |
+
|
| 124 |
+
.tribe-common--breakpoint-medium& {
|
| 125 |
display: block;
|
| 126 |
height: 100%;
|
| 127 |
padding: 0 var(--spacer-2);
|
| 131 |
}
|
| 132 |
|
| 133 |
.tribe-events-c-view-selector__list {
|
| 134 |
+
|
| 135 |
+
.tribe-common--breakpoint-medium& {
|
| 136 |
display: flex;
|
| 137 |
height: 100%;
|
| 138 |
}
|
| 139 |
}
|
| 140 |
|
| 141 |
.tribe-events-c-view-selector__list-item {
|
| 142 |
+
|
| 143 |
+
.tribe-common--breakpoint-medium& {
|
| 144 |
margin: 0 var(--spacer-2);
|
| 145 |
}
|
| 146 |
}
|
| 147 |
|
| 148 |
.tribe-events-c-view-selector__list-item-link {
|
| 149 |
+
|
| 150 |
+
.tribe-common--breakpoint-medium& {
|
| 151 |
height: 100%;
|
| 152 |
padding: var(--spacer-4) 0;
|
| 153 |
position: relative;
|
| 162 |
position: relative;
|
| 163 |
width: 100%;
|
| 164 |
|
| 165 |
+
.tribe-common--breakpoint-medium& {
|
| 166 |
padding: var(--spacer-1);
|
| 167 |
}
|
| 168 |
}
|
| 172 |
height: 21px;
|
| 173 |
width: 21px;
|
| 174 |
|
| 175 |
+
.tribe-common--breakpoint-medium& {
|
| 176 |
height: 23px;
|
| 177 |
width: 23px;
|
| 178 |
}
|
| 188 |
transform: translateY(var(--spacer-3));
|
| 189 |
z-index: var(--z-index-dropdown);
|
| 190 |
|
| 191 |
+
.tribe-common--breakpoint-medium& {
|
| 192 |
transform: translateY(var(--spacer-2));
|
| 193 |
}
|
| 194 |
}
|
src/resources/postcss/events-admin.pcss
CHANGED
|
@@ -1,4 +1,6 @@
|
|
| 1 |
@custom-media --tablet (max-width: 782px);
|
|
|
|
|
|
|
| 2 |
|
| 3 |
/* = Post Type Listing
|
| 4 |
=============================================*/
|
|
@@ -337,6 +339,7 @@
|
|
| 337 |
/* upgrades */
|
| 338 |
#modern-tribe-info.tribe-upgrade{
|
| 339 |
padding: 0;
|
|
|
|
| 340 |
|
| 341 |
a, .dashicons {
|
| 342 |
color: #334AFF;
|
|
@@ -344,6 +347,7 @@
|
|
| 344 |
|
| 345 |
h3 {
|
| 346 |
font-size: 24px;
|
|
|
|
| 347 |
}
|
| 348 |
|
| 349 |
ul {
|
|
@@ -373,6 +377,21 @@
|
|
| 373 |
&.hidden {
|
| 374 |
display: none;
|
| 375 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 376 |
}
|
| 377 |
|
| 378 |
#tribe-upgrade-step1 {
|
| 1 |
@custom-media --tablet (max-width: 782px);
|
| 2 |
+
@custom-media --not-phone (min-width: 480px);
|
| 3 |
+
@custom-media --phone (max-width: 480px);
|
| 4 |
|
| 5 |
/* = Post Type Listing
|
| 6 |
=============================================*/
|
| 339 |
/* upgrades */
|
| 340 |
#modern-tribe-info.tribe-upgrade{
|
| 341 |
padding: 0;
|
| 342 |
+
position: relative;
|
| 343 |
|
| 344 |
a, .dashicons {
|
| 345 |
color: #334AFF;
|
| 347 |
|
| 348 |
h3 {
|
| 349 |
font-size: 24px;
|
| 350 |
+
line-height: 1.4em;
|
| 351 |
}
|
| 352 |
|
| 353 |
ul {
|
| 377 |
&.hidden {
|
| 378 |
display: none;
|
| 379 |
}
|
| 380 |
+
|
| 381 |
+
@media (--not-phone) {
|
| 382 |
+
.tribe-upgrade-absolute-text {
|
| 383 |
+
position: absolute;
|
| 384 |
+
word-wrap: break-word;
|
| 385 |
+
white-space: nowrap;
|
| 386 |
+
bottom: 80px;
|
| 387 |
+
}
|
| 388 |
+
}
|
| 389 |
+
@media (--phone) {
|
| 390 |
+
.tribe-upgrade-absolute-text {
|
| 391 |
+
display: block;
|
| 392 |
+
margin: 15px 10px;
|
| 393 |
+
}
|
| 394 |
+
}
|
| 395 |
}
|
| 396 |
|
| 397 |
#tribe-upgrade-step1 {
|
src/resources/postcss/views/full/day/_event.pcss
CHANGED
|
@@ -15,7 +15,7 @@
|
|
| 15 |
position: absolute;
|
| 16 |
width: 3px;
|
| 17 |
|
| 18 |
-
|
| 19 |
left: calc(var(--grid-width-1-of-9) - var(--grid-gutter-half));
|
| 20 |
width: 4px;
|
| 21 |
}
|
|
@@ -40,7 +40,8 @@
|
|
| 40 |
}
|
| 41 |
|
| 42 |
.tribe-events-calendar-day__event-datetime-featured-text {
|
| 43 |
-
|
|
|
|
| 44 |
color: var(--color-accent-primary);
|
| 45 |
font-weight: var(--font-weight-bold);
|
| 46 |
}
|
| 15 |
position: absolute;
|
| 16 |
width: 3px;
|
| 17 |
|
| 18 |
+
.tribe-common--breakpoint-medium& {
|
| 19 |
left: calc(var(--grid-width-1-of-9) - var(--grid-gutter-half));
|
| 20 |
width: 4px;
|
| 21 |
}
|
| 40 |
}
|
| 41 |
|
| 42 |
.tribe-events-calendar-day__event-datetime-featured-text {
|
| 43 |
+
|
| 44 |
+
.tribe-common--breakpoint-medium& {
|
| 45 |
color: var(--color-accent-primary);
|
| 46 |
font-weight: var(--font-weight-bold);
|
| 47 |
}
|
src/resources/postcss/views/full/list/_event.pcss
CHANGED
|
@@ -16,7 +16,7 @@
|
|
| 16 |
position: absolute;
|
| 17 |
width: 3px;
|
| 18 |
|
| 19 |
-
|
| 20 |
right: -1px;
|
| 21 |
width: 4px;
|
| 22 |
}
|
|
@@ -49,7 +49,8 @@
|
|
| 49 |
}
|
| 50 |
|
| 51 |
.tribe-events-calendar-list__event-datetime-featured-text {
|
| 52 |
-
|
|
|
|
| 53 |
color: var(--color-accent-primary);
|
| 54 |
font-weight: var(--font-weight-bold);
|
| 55 |
}
|
| 16 |
position: absolute;
|
| 17 |
width: 3px;
|
| 18 |
|
| 19 |
+
.tribe-common--breakpoint-medium& {
|
| 20 |
right: -1px;
|
| 21 |
width: 4px;
|
| 22 |
}
|
| 49 |
}
|
| 50 |
|
| 51 |
.tribe-events-calendar-list__event-datetime-featured-text {
|
| 52 |
+
|
| 53 |
+
.tribe-common--breakpoint-medium& {
|
| 54 |
color: var(--color-accent-primary);
|
| 55 |
font-weight: var(--font-weight-bold);
|
| 56 |
}
|
src/resources/postcss/views/full/month/_calendar-header.pcss
CHANGED
|
@@ -12,7 +12,7 @@
|
|
| 12 |
color: var(--color-text-secondary);
|
| 13 |
text-align: center;
|
| 14 |
|
| 15 |
-
|
| 16 |
text-align: left;
|
| 17 |
}
|
| 18 |
}
|
| 12 |
color: var(--color-text-secondary);
|
| 13 |
text-align: center;
|
| 14 |
|
| 15 |
+
.tribe-common--breakpoint-medium& {
|
| 16 |
text-align: left;
|
| 17 |
}
|
| 18 |
}
|
src/resources/postcss/views/full/month/_day.pcss
CHANGED
|
@@ -7,12 +7,13 @@
|
|
| 7 |
.tribe-events-calendar-month__day {
|
| 8 |
border-radius: var(--border-radius-default);
|
| 9 |
|
| 10 |
-
|
| 11 |
border-radius: 0;
|
| 12 |
}
|
| 13 |
|
| 14 |
&:after {
|
| 15 |
-
|
|
|
|
| 16 |
background-color: transparent;
|
| 17 |
bottom: 0;
|
| 18 |
content: '';
|
|
@@ -28,7 +29,8 @@
|
|
| 28 |
&:hover {
|
| 29 |
|
| 30 |
&:after {
|
| 31 |
-
|
|
|
|
| 32 |
background-color: var(--color-border-active);
|
| 33 |
}
|
| 34 |
}
|
| 7 |
.tribe-events-calendar-month__day {
|
| 8 |
border-radius: var(--border-radius-default);
|
| 9 |
|
| 10 |
+
.tribe-common--breakpoint-medium& {
|
| 11 |
border-radius: 0;
|
| 12 |
}
|
| 13 |
|
| 14 |
&:after {
|
| 15 |
+
|
| 16 |
+
.tribe-common--breakpoint-medium& {
|
| 17 |
background-color: transparent;
|
| 18 |
bottom: 0;
|
| 19 |
content: '';
|
| 29 |
&:hover {
|
| 30 |
|
| 31 |
&:after {
|
| 32 |
+
|
| 33 |
+
.tribe-common--breakpoint-medium& {
|
| 34 |
background-color: var(--color-border-active);
|
| 35 |
}
|
| 36 |
}
|
src/resources/postcss/views/skeleton/_header.pcss
CHANGED
|
@@ -18,27 +18,30 @@
|
|
| 18 |
padding: 0 var(--grid-gutter-small-half) var(--spacer-3);
|
| 19 |
position: relative;
|
| 20 |
|
| 21 |
-
|
| 22 |
margin: 0;
|
| 23 |
padding: 0;
|
| 24 |
}
|
| 25 |
}
|
| 26 |
|
| 27 |
.tribe-events-header--has-event-search {
|
| 28 |
-
|
|
|
|
| 29 |
background-color: transparent;
|
| 30 |
flex-direction: row;
|
| 31 |
}
|
| 32 |
|
| 33 |
.tribe-events-header__events-bar {
|
| 34 |
-
|
|
|
|
| 35 |
margin-left: 0;
|
| 36 |
width: 100%;
|
| 37 |
}
|
| 38 |
}
|
| 39 |
|
| 40 |
.tribe-events-header__top-bar {
|
| 41 |
-
|
|
|
|
| 42 |
width: 100%;
|
| 43 |
}
|
| 44 |
}
|
|
@@ -48,7 +51,7 @@
|
|
| 48 |
margin-bottom: var(--spacer-3);
|
| 49 |
width: 100%;
|
| 50 |
|
| 51 |
-
|
| 52 |
margin-bottom: var(--spacer-7);
|
| 53 |
order: 1;
|
| 54 |
}
|
|
@@ -57,7 +60,7 @@
|
|
| 57 |
.tribe-events-header__events-bar {
|
| 58 |
flex: none;
|
| 59 |
|
| 60 |
-
|
| 61 |
margin-bottom: var(--spacer-7);
|
| 62 |
margin-left: var(--spacer-3);
|
| 63 |
}
|
|
@@ -66,7 +69,7 @@
|
|
| 66 |
.tribe-events-header__top-bar {
|
| 67 |
flex: auto;
|
| 68 |
|
| 69 |
-
|
| 70 |
margin-bottom: var(--spacer-7);
|
| 71 |
}
|
| 72 |
}
|
| 18 |
padding: 0 var(--grid-gutter-small-half) var(--spacer-3);
|
| 19 |
position: relative;
|
| 20 |
|
| 21 |
+
.tribe-common--breakpoint-medium& {
|
| 22 |
margin: 0;
|
| 23 |
padding: 0;
|
| 24 |
}
|
| 25 |
}
|
| 26 |
|
| 27 |
.tribe-events-header--has-event-search {
|
| 28 |
+
|
| 29 |
+
.tribe-common--breakpoint-medium& {
|
| 30 |
background-color: transparent;
|
| 31 |
flex-direction: row;
|
| 32 |
}
|
| 33 |
|
| 34 |
.tribe-events-header__events-bar {
|
| 35 |
+
|
| 36 |
+
.tribe-common--breakpoint-medium& {
|
| 37 |
margin-left: 0;
|
| 38 |
width: 100%;
|
| 39 |
}
|
| 40 |
}
|
| 41 |
|
| 42 |
.tribe-events-header__top-bar {
|
| 43 |
+
|
| 44 |
+
.tribe-common--breakpoint-medium& {
|
| 45 |
width: 100%;
|
| 46 |
}
|
| 47 |
}
|
| 51 |
margin-bottom: var(--spacer-3);
|
| 52 |
width: 100%;
|
| 53 |
|
| 54 |
+
.tribe-common--breakpoint-medium& {
|
| 55 |
margin-bottom: var(--spacer-7);
|
| 56 |
order: 1;
|
| 57 |
}
|
| 60 |
.tribe-events-header__events-bar {
|
| 61 |
flex: none;
|
| 62 |
|
| 63 |
+
.tribe-common--breakpoint-medium& {
|
| 64 |
margin-bottom: var(--spacer-7);
|
| 65 |
margin-left: var(--spacer-3);
|
| 66 |
}
|
| 69 |
.tribe-events-header__top-bar {
|
| 70 |
flex: auto;
|
| 71 |
|
| 72 |
+
.tribe-common--breakpoint-medium& {
|
| 73 |
margin-bottom: var(--spacer-7);
|
| 74 |
}
|
| 75 |
}
|
src/resources/postcss/views/skeleton/day/_event.pcss
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
margin-top: var(--spacer-7);
|
| 10 |
padding-left: 54px;
|
| 11 |
|
| 12 |
-
|
| 13 |
margin-bottom: var(--spacer-8);
|
| 14 |
margin-top: var(--spacer-9);
|
| 15 |
padding-left: 0;
|
|
@@ -18,13 +18,14 @@
|
|
| 18 |
&:last-child {
|
| 19 |
margin-bottom: var(--spacer-8);
|
| 20 |
|
| 21 |
-
|
| 22 |
margin-bottom: var(--spacer-11);
|
| 23 |
}
|
| 24 |
}
|
| 25 |
|
| 26 |
&:before {
|
| 27 |
-
|
|
|
|
| 28 |
content: '';
|
| 29 |
min-width: 90px;
|
| 30 |
width: var(--grid-width-1-of-9);
|
|
@@ -36,7 +37,7 @@
|
|
| 36 |
.tribe-events-calendar-day__type-separator + .tribe-events-calendar-day__event {
|
| 37 |
margin-top: var(--spacer-4);
|
| 38 |
|
| 39 |
-
|
| 40 |
margin-top: var(--spacer-8);
|
| 41 |
}
|
| 42 |
}
|
|
@@ -44,7 +45,7 @@
|
|
| 44 |
.tribe-events-calendar-day__event-content {
|
| 45 |
flex: none;
|
| 46 |
|
| 47 |
-
|
| 48 |
display: flex;
|
| 49 |
flex-direction: row-reverse;
|
| 50 |
justify-content: flex-end;
|
|
@@ -54,7 +55,8 @@
|
|
| 54 |
}
|
| 55 |
|
| 56 |
& > * {
|
| 57 |
-
|
|
|
|
| 58 |
padding-left: var(--grid-gutter-half);
|
| 59 |
padding-right: var(--grid-gutter-half);
|
| 60 |
}
|
|
@@ -64,7 +66,7 @@
|
|
| 64 |
.tribe-events-calendar-day__event-featured-image-wrapper {
|
| 65 |
margin-bottom: var(--spacer-3);
|
| 66 |
|
| 67 |
-
|
| 68 |
flex: none;
|
| 69 |
margin-bottom: 0;
|
| 70 |
width: calc(3 * var(--grid-width-1-of-8));
|
|
@@ -79,7 +81,7 @@
|
|
| 79 |
.tribe-events-calendar-day__event-details {
|
| 80 |
position: relative;
|
| 81 |
|
| 82 |
-
|
| 83 |
flex: none;
|
| 84 |
width: calc(5 * var(--grid-width-1-of-8));
|
| 85 |
}
|
|
@@ -94,10 +96,10 @@
|
|
| 94 |
|
| 95 |
.tribe-events-calendar-day__event-datetime-wrapper,
|
| 96 |
.tribe-events-calendar-day__event-title {
|
| 97 |
-
margin
|
| 98 |
|
| 99 |
-
|
| 100 |
-
margin
|
| 101 |
}
|
| 102 |
|
| 103 |
&:last-child {
|
|
@@ -111,7 +113,8 @@
|
|
| 111 |
}
|
| 112 |
|
| 113 |
.tribe-events-calendar-day__event-datetime-featured-text {
|
| 114 |
-
|
|
|
|
| 115 |
@mixin visually-show;
|
| 116 |
|
| 117 |
margin-right: var(--spacer-1);
|
|
@@ -126,15 +129,14 @@
|
|
| 126 |
.tribe-events-calendar-day__event-venue {
|
| 127 |
margin-bottom: var(--spacer-1);
|
| 128 |
|
| 129 |
-
|
| 130 |
margin-bottom: var(--spacer-3);
|
| 131 |
}
|
| 132 |
}
|
| 133 |
|
| 134 |
.tribe-events-calendar-day__event-description {
|
| 135 |
-
@mixin hidden;
|
| 136 |
|
| 137 |
-
|
| 138 |
display: block !important;
|
| 139 |
margin-top: var(--spacer-3);
|
| 140 |
visibility: visible;
|
|
@@ -144,7 +146,7 @@
|
|
| 144 |
.tribe-events-calendar-day__event-cost {
|
| 145 |
margin-top: var(--spacer-2);
|
| 146 |
|
| 147 |
-
|
| 148 |
margin-top: var(--spacer-3);
|
| 149 |
}
|
| 150 |
}
|
|
@@ -160,26 +162,30 @@
|
|
| 160 |
margin-top: var(--spacer-7);
|
| 161 |
padding-left: 54px;
|
| 162 |
|
| 163 |
-
|
| 164 |
margin-bottom: var(--spacer-8);
|
| 165 |
-
margin-top: var(--spacer-9);
|
| 166 |
-
padding-left: 0;
|
| 167 |
}
|
|
|
|
| 168 |
|
| 169 |
-
|
| 170 |
-
|
|
|
|
|
|
|
| 171 |
|
| 172 |
-
|
| 173 |
-
|
| 174 |
-
}
|
| 175 |
}
|
| 176 |
}
|
| 177 |
|
| 178 |
.tribe-events-calendar-day__time-separator + .entry.tribe-events-calendar-day__event,
|
| 179 |
.tribe-events-calendar-day__type-separator + .entry.tribe-events-calendar-day__event {
|
| 180 |
margin-top: var(--spacer-4);
|
|
|
|
|
|
|
|
|
|
| 181 |
|
| 182 |
-
|
|
|
|
| 183 |
margin-top: var(--spacer-8);
|
| 184 |
}
|
| 185 |
}
|
| 9 |
margin-top: var(--spacer-7);
|
| 10 |
padding-left: 54px;
|
| 11 |
|
| 12 |
+
.tribe-common--breakpoint-medium& {
|
| 13 |
margin-bottom: var(--spacer-8);
|
| 14 |
margin-top: var(--spacer-9);
|
| 15 |
padding-left: 0;
|
| 18 |
&:last-child {
|
| 19 |
margin-bottom: var(--spacer-8);
|
| 20 |
|
| 21 |
+
.tribe-common--breakpoint-medium& {
|
| 22 |
margin-bottom: var(--spacer-11);
|
| 23 |
}
|
| 24 |
}
|
| 25 |
|
| 26 |
&:before {
|
| 27 |
+
|
| 28 |
+
.tribe-common--breakpoint-medium& {
|
| 29 |
content: '';
|
| 30 |
min-width: 90px;
|
| 31 |
width: var(--grid-width-1-of-9);
|
| 37 |
.tribe-events-calendar-day__type-separator + .tribe-events-calendar-day__event {
|
| 38 |
margin-top: var(--spacer-4);
|
| 39 |
|
| 40 |
+
.tribe-common--breakpoint-medium& {
|
| 41 |
margin-top: var(--spacer-8);
|
| 42 |
}
|
| 43 |
}
|
| 45 |
.tribe-events-calendar-day__event-content {
|
| 46 |
flex: none;
|
| 47 |
|
| 48 |
+
.tribe-common--breakpoint-medium& {
|
| 49 |
display: flex;
|
| 50 |
flex-direction: row-reverse;
|
| 51 |
justify-content: flex-end;
|
| 55 |
}
|
| 56 |
|
| 57 |
& > * {
|
| 58 |
+
|
| 59 |
+
.tribe-common--breakpoint-medium& {
|
| 60 |
padding-left: var(--grid-gutter-half);
|
| 61 |
padding-right: var(--grid-gutter-half);
|
| 62 |
}
|
| 66 |
.tribe-events-calendar-day__event-featured-image-wrapper {
|
| 67 |
margin-bottom: var(--spacer-3);
|
| 68 |
|
| 69 |
+
.tribe-common--breakpoint-medium& {
|
| 70 |
flex: none;
|
| 71 |
margin-bottom: 0;
|
| 72 |
width: calc(3 * var(--grid-width-1-of-8));
|
| 81 |
.tribe-events-calendar-day__event-details {
|
| 82 |
position: relative;
|
| 83 |
|
| 84 |
+
.tribe-common--breakpoint-medium& {
|
| 85 |
flex: none;
|
| 86 |
width: calc(5 * var(--grid-width-1-of-8));
|
| 87 |
}
|
| 96 |
|
| 97 |
.tribe-events-calendar-day__event-datetime-wrapper,
|
| 98 |
.tribe-events-calendar-day__event-title {
|
| 99 |
+
margin: 0 0 var(--spacer-1);
|
| 100 |
|
| 101 |
+
.tribe-common--breakpoint-medium& {
|
| 102 |
+
margin: 0 0 var(--spacer-3);
|
| 103 |
}
|
| 104 |
|
| 105 |
&:last-child {
|
| 113 |
}
|
| 114 |
|
| 115 |
.tribe-events-calendar-day__event-datetime-featured-text {
|
| 116 |
+
|
| 117 |
+
.tribe-common--breakpoint-medium& {
|
| 118 |
@mixin visually-show;
|
| 119 |
|
| 120 |
margin-right: var(--spacer-1);
|
| 129 |
.tribe-events-calendar-day__event-venue {
|
| 130 |
margin-bottom: var(--spacer-1);
|
| 131 |
|
| 132 |
+
.tribe-common--breakpoint-medium& {
|
| 133 |
margin-bottom: var(--spacer-3);
|
| 134 |
}
|
| 135 |
}
|
| 136 |
|
| 137 |
.tribe-events-calendar-day__event-description {
|
|
|
|
| 138 |
|
| 139 |
+
.tribe-common--breakpoint-medium& {
|
| 140 |
display: block !important;
|
| 141 |
margin-top: var(--spacer-3);
|
| 142 |
visibility: visible;
|
| 146 |
.tribe-events-calendar-day__event-cost {
|
| 147 |
margin-top: var(--spacer-2);
|
| 148 |
|
| 149 |
+
.tribe-common--breakpoint-medium& {
|
| 150 |
margin-top: var(--spacer-3);
|
| 151 |
}
|
| 152 |
}
|
| 162 |
margin-top: var(--spacer-7);
|
| 163 |
padding-left: 54px;
|
| 164 |
|
| 165 |
+
&:last-child {
|
| 166 |
margin-bottom: var(--spacer-8);
|
|
|
|
|
|
|
| 167 |
}
|
| 168 |
+
}
|
| 169 |
|
| 170 |
+
&.tribe-common--breakpoint-medium .entry.tribe-events-calendar-day__event {
|
| 171 |
+
margin-bottom: var(--spacer-8);
|
| 172 |
+
margin-top: var(--spacer-9);
|
| 173 |
+
padding-left: 0;
|
| 174 |
|
| 175 |
+
&:last-child {
|
| 176 |
+
margin-bottom: var(--spacer-11);
|
|
|
|
| 177 |
}
|
| 178 |
}
|
| 179 |
|
| 180 |
.tribe-events-calendar-day__time-separator + .entry.tribe-events-calendar-day__event,
|
| 181 |
.tribe-events-calendar-day__type-separator + .entry.tribe-events-calendar-day__event {
|
| 182 |
margin-top: var(--spacer-4);
|
| 183 |
+
}
|
| 184 |
+
|
| 185 |
+
&.tribe-common--breakpoint-medium {
|
| 186 |
|
| 187 |
+
.tribe-events-calendar-day__time-separator + .entry.tribe-events-calendar-day__event,
|
| 188 |
+
.tribe-events-calendar-day__type-separator + .entry.tribe-events-calendar-day__event {
|
| 189 |
margin-top: var(--spacer-8);
|
| 190 |
}
|
| 191 |
}
|
src/resources/postcss/views/skeleton/day/_nav.pcss
CHANGED
|
@@ -7,7 +7,7 @@
|
|
| 7 |
.tribe-events-calendar-day-nav {
|
| 8 |
padding-top: var(--spacer-5);
|
| 9 |
|
| 10 |
-
|
| 11 |
padding-top: var(--spacer-7);
|
| 12 |
}
|
| 13 |
}
|
| 7 |
.tribe-events-calendar-day-nav {
|
| 8 |
padding-top: var(--spacer-5);
|
| 9 |
|
| 10 |
+
.tribe-common--breakpoint-medium& {
|
| 11 |
padding-top: var(--spacer-7);
|
| 12 |
}
|
| 13 |
}
|
src/resources/postcss/views/skeleton/list/_event.pcss
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
margin-bottom: var(--spacer-5);
|
| 10 |
margin-top: var(--spacer-7);
|
| 11 |
|
| 12 |
-
|
| 13 |
margin-bottom: var(--spacer-8);
|
| 14 |
margin-top: var(--spacer-9);
|
| 15 |
margin-left: var(--grid-gutter-half-negative);
|
|
@@ -17,7 +17,8 @@
|
|
| 17 |
}
|
| 18 |
|
| 19 |
& > .tribe-common-g-col {
|
| 20 |
-
|
|
|
|
| 21 |
padding-left: var(--grid-gutter-half);
|
| 22 |
padding-right: var(--grid-gutter-half);
|
| 23 |
}
|
|
@@ -26,7 +27,7 @@
|
|
| 26 |
&:last-child {
|
| 27 |
margin-bottom: var(--spacer-8);
|
| 28 |
|
| 29 |
-
|
| 30 |
margin-bottom: var(--spacer-11);
|
| 31 |
}
|
| 32 |
}
|
|
@@ -35,7 +36,7 @@
|
|
| 35 |
.tribe-events-calendar-list__month-separator + .tribe-events-calendar-list__event-row {
|
| 36 |
margin-top: var(--spacer-4);
|
| 37 |
|
| 38 |
-
|
| 39 |
margin-top: var(--spacer-8);
|
| 40 |
}
|
| 41 |
}
|
|
@@ -45,7 +46,7 @@
|
|
| 45 |
width: 54px;
|
| 46 |
position: relative;
|
| 47 |
|
| 48 |
-
|
| 49 |
min-width: 90px;
|
| 50 |
width: var(--grid-width-1-of-9);
|
| 51 |
}
|
|
@@ -66,7 +67,7 @@
|
|
| 66 |
flex: 1;
|
| 67 |
width: calc((3 * var(--grid-width-1-of-4)) + var(--grid-gutter-small-half));
|
| 68 |
|
| 69 |
-
|
| 70 |
flex: 1 1 calc(8 * var(--grid-width-1-of-9));
|
| 71 |
}
|
| 72 |
}
|
|
@@ -74,7 +75,7 @@
|
|
| 74 |
.tribe-events-calendar-list__event {
|
| 75 |
flex-direction: column;
|
| 76 |
|
| 77 |
-
|
| 78 |
flex-direction: row-reverse;
|
| 79 |
justify-content: flex-end;
|
| 80 |
}
|
|
@@ -84,7 +85,7 @@
|
|
| 84 |
flex: none;
|
| 85 |
margin-bottom: var(--spacer-3);
|
| 86 |
|
| 87 |
-
|
| 88 |
margin-bottom: 0;
|
| 89 |
width: calc(3 * var(--grid-width-1-of-8));
|
| 90 |
}
|
|
@@ -98,7 +99,7 @@
|
|
| 98 |
.tribe-events-calendar-list__event-details {
|
| 99 |
flex: none;
|
| 100 |
|
| 101 |
-
|
| 102 |
width: calc(5 * var(--grid-width-1-of-8));
|
| 103 |
}
|
| 104 |
}
|
|
@@ -112,10 +113,10 @@
|
|
| 112 |
|
| 113 |
.tribe-events-calendar-list__event-datetime-wrapper,
|
| 114 |
.tribe-events-calendar-list__event-title {
|
| 115 |
-
margin
|
| 116 |
|
| 117 |
-
|
| 118 |
-
margin
|
| 119 |
}
|
| 120 |
|
| 121 |
&:last-child {
|
|
@@ -129,7 +130,8 @@
|
|
| 129 |
}
|
| 130 |
|
| 131 |
.tribe-events-calendar-list__event-datetime-featured-text {
|
| 132 |
-
|
|
|
|
| 133 |
@mixin visually-show;
|
| 134 |
|
| 135 |
margin-right: var(--spacer-1);
|
|
@@ -144,15 +146,14 @@
|
|
| 144 |
.tribe-events-calendar-list__event-venue {
|
| 145 |
margin-bottom: var(--spacer-1);
|
| 146 |
|
| 147 |
-
|
| 148 |
margin-bottom: var(--spacer-3);
|
| 149 |
}
|
| 150 |
}
|
| 151 |
|
| 152 |
.tribe-events-calendar-list__event-description {
|
| 153 |
-
@mixin hidden;
|
| 154 |
|
| 155 |
-
|
| 156 |
display: block !important;
|
| 157 |
margin-top: var(--spacer-3);
|
| 158 |
visibility: visible;
|
|
@@ -162,7 +163,7 @@
|
|
| 162 |
.tribe-events-calendar-list__event-cost {
|
| 163 |
margin-top: var(--spacer-2);
|
| 164 |
|
| 165 |
-
|
| 166 |
margin-top: var(--spacer-3);
|
| 167 |
}
|
| 168 |
}
|
| 9 |
margin-bottom: var(--spacer-5);
|
| 10 |
margin-top: var(--spacer-7);
|
| 11 |
|
| 12 |
+
.tribe-common--breakpoint-medium& {
|
| 13 |
margin-bottom: var(--spacer-8);
|
| 14 |
margin-top: var(--spacer-9);
|
| 15 |
margin-left: var(--grid-gutter-half-negative);
|
| 17 |
}
|
| 18 |
|
| 19 |
& > .tribe-common-g-col {
|
| 20 |
+
|
| 21 |
+
.tribe-common--breakpoint-medium& {
|
| 22 |
padding-left: var(--grid-gutter-half);
|
| 23 |
padding-right: var(--grid-gutter-half);
|
| 24 |
}
|
| 27 |
&:last-child {
|
| 28 |
margin-bottom: var(--spacer-8);
|
| 29 |
|
| 30 |
+
.tribe-common--breakpoint-medium& {
|
| 31 |
margin-bottom: var(--spacer-11);
|
| 32 |
}
|
| 33 |
}
|
| 36 |
.tribe-events-calendar-list__month-separator + .tribe-events-calendar-list__event-row {
|
| 37 |
margin-top: var(--spacer-4);
|
| 38 |
|
| 39 |
+
.tribe-common--breakpoint-medium& {
|
| 40 |
margin-top: var(--spacer-8);
|
| 41 |
}
|
| 42 |
}
|
| 46 |
width: 54px;
|
| 47 |
position: relative;
|
| 48 |
|
| 49 |
+
.tribe-common--breakpoint-medium& {
|
| 50 |
min-width: 90px;
|
| 51 |
width: var(--grid-width-1-of-9);
|
| 52 |
}
|
| 67 |
flex: 1;
|
| 68 |
width: calc((3 * var(--grid-width-1-of-4)) + var(--grid-gutter-small-half));
|
| 69 |
|
| 70 |
+
.tribe-common--breakpoint-medium& {
|
| 71 |
flex: 1 1 calc(8 * var(--grid-width-1-of-9));
|
| 72 |
}
|
| 73 |
}
|
| 75 |
.tribe-events-calendar-list__event {
|
| 76 |
flex-direction: column;
|
| 77 |
|
| 78 |
+
.tribe-common--breakpoint-medium& {
|
| 79 |
flex-direction: row-reverse;
|
| 80 |
justify-content: flex-end;
|
| 81 |
}
|
| 85 |
flex: none;
|
| 86 |
margin-bottom: var(--spacer-3);
|
| 87 |
|
| 88 |
+
.tribe-common--breakpoint-medium& {
|
| 89 |
margin-bottom: 0;
|
| 90 |
width: calc(3 * var(--grid-width-1-of-8));
|
| 91 |
}
|
| 99 |
.tribe-events-calendar-list__event-details {
|
| 100 |
flex: none;
|
| 101 |
|
| 102 |
+
.tribe-common--breakpoint-medium& {
|
| 103 |
width: calc(5 * var(--grid-width-1-of-8));
|
| 104 |
}
|
| 105 |
}
|
| 113 |
|
| 114 |
.tribe-events-calendar-list__event-datetime-wrapper,
|
| 115 |
.tribe-events-calendar-list__event-title {
|
| 116 |
+
margin: 0 0 var(--spacer-1);
|
| 117 |
|
| 118 |
+
.tribe-common--breakpoint-medium& {
|
| 119 |
+
margin: 0 0 var(--spacer-3);
|
| 120 |
}
|
| 121 |
|
| 122 |
&:last-child {
|
| 130 |
}
|
| 131 |
|
| 132 |
.tribe-events-calendar-list__event-datetime-featured-text {
|
| 133 |
+
|
| 134 |
+
.tribe-common--breakpoint-medium& {
|
| 135 |
@mixin visually-show;
|
| 136 |
|
| 137 |
margin-right: var(--spacer-1);
|
| 146 |
.tribe-events-calendar-list__event-venue {
|
| 147 |
margin-bottom: var(--spacer-1);
|
| 148 |
|
| 149 |
+
.tribe-common--breakpoint-medium& {
|
| 150 |
margin-bottom: var(--spacer-3);
|
| 151 |
}
|
| 152 |
}
|
| 153 |
|
| 154 |
.tribe-events-calendar-list__event-description {
|
|
|
|
| 155 |
|
| 156 |
+
.tribe-common--breakpoint-medium& {
|
| 157 |
display: block !important;
|
| 158 |
margin-top: var(--spacer-3);
|
| 159 |
visibility: visible;
|
| 163 |
.tribe-events-calendar-list__event-cost {
|
| 164 |
margin-top: var(--spacer-2);
|
| 165 |
|
| 166 |
+
.tribe-common--breakpoint-medium& {
|
| 167 |
margin-top: var(--spacer-3);
|
| 168 |
}
|
| 169 |
}
|
src/resources/postcss/views/skeleton/list/_nav.pcss
CHANGED
|
@@ -7,7 +7,7 @@
|
|
| 7 |
.tribe-events-calendar-list-nav {
|
| 8 |
padding-top: var(--spacer-5);
|
| 9 |
|
| 10 |
-
|
| 11 |
padding-top: var(--spacer-7);
|
| 12 |
}
|
| 13 |
}
|
| 7 |
.tribe-events-calendar-list-nav {
|
| 8 |
padding-top: var(--spacer-5);
|
| 9 |
|
| 10 |
+
.tribe-common--breakpoint-medium& {
|
| 11 |
padding-top: var(--spacer-7);
|
| 12 |
}
|
| 13 |
}
|
src/resources/postcss/views/skeleton/month/_calendar-body.pcss
CHANGED
|
@@ -5,7 +5,8 @@
|
|
| 5 |
* ----------------------------------------------------------------------------- */
|
| 6 |
|
| 7 |
.tribe-events-calendar-month__body {
|
| 8 |
-
|
|
|
|
| 9 |
border-top: 1px solid var(--color-border-secondary);
|
| 10 |
}
|
| 11 |
}
|
|
@@ -13,7 +14,7 @@
|
|
| 13 |
.tribe-events-calendar-month__week {
|
| 14 |
display: flex;
|
| 15 |
|
| 16 |
-
|
| 17 |
border-left: 1px solid var(--color-border-secondary);
|
| 18 |
}
|
| 19 |
}
|
| 5 |
* ----------------------------------------------------------------------------- */
|
| 6 |
|
| 7 |
.tribe-events-calendar-month__body {
|
| 8 |
+
|
| 9 |
+
.tribe-common--breakpoint-medium& {
|
| 10 |
border-top: 1px solid var(--color-border-secondary);
|
| 11 |
}
|
| 12 |
}
|
| 14 |
.tribe-events-calendar-month__week {
|
| 15 |
display: flex;
|
| 16 |
|
| 17 |
+
.tribe-common--breakpoint-medium& {
|
| 18 |
border-left: 1px solid var(--color-border-secondary);
|
| 19 |
}
|
| 20 |
}
|
src/resources/postcss/views/skeleton/month/_calendar-event.pcss
CHANGED
|
@@ -103,6 +103,10 @@
|
|
| 103 |
}
|
| 104 |
}
|
| 105 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 106 |
.tribe-events-calendar-month__calendar-event-tooltip-cost {
|
| 107 |
margin-top: var(--spacer-3);
|
| 108 |
}
|
| 103 |
}
|
| 104 |
}
|
| 105 |
|
| 106 |
+
.tribe-events-calendar-month__calendar-event-title {
|
| 107 |
+
margin: 0;
|
| 108 |
+
}
|
| 109 |
+
|
| 110 |
.tribe-events-calendar-month__calendar-event-tooltip-cost {
|
| 111 |
margin-top: var(--spacer-3);
|
| 112 |
}
|
src/resources/postcss/views/skeleton/month/_calendar-header.pcss
CHANGED
|
@@ -13,14 +13,20 @@
|
|
| 13 |
padding-bottom: var(--spacer-3);
|
| 14 |
}
|
| 15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16 |
.tribe-events-calendar-month__header-column-title-mobile {
|
| 17 |
-
|
|
|
|
| 18 |
@mixin hidden;
|
| 19 |
}
|
| 20 |
}
|
| 21 |
|
| 22 |
.tribe-events-calendar-month__header-column-title-desktop {
|
| 23 |
-
|
|
|
|
| 24 |
display: block !important;
|
| 25 |
visibility: visible
|
| 26 |
}
|
| 13 |
padding-bottom: var(--spacer-3);
|
| 14 |
}
|
| 15 |
|
| 16 |
+
.tribe-events-calendar-month__header-column-title {
|
| 17 |
+
margin: 0;
|
| 18 |
+
}
|
| 19 |
+
|
| 20 |
.tribe-events-calendar-month__header-column-title-mobile {
|
| 21 |
+
|
| 22 |
+
.tribe-common--breakpoint-medium& {
|
| 23 |
@mixin hidden;
|
| 24 |
}
|
| 25 |
}
|
| 26 |
|
| 27 |
.tribe-events-calendar-month__header-column-title-desktop {
|
| 28 |
+
|
| 29 |
+
.tribe-common--breakpoint-medium& {
|
| 30 |
display: block !important;
|
| 31 |
visibility: visible
|
| 32 |
}
|
src/resources/postcss/views/skeleton/month/_calendar.pcss
CHANGED
|
@@ -7,7 +7,7 @@
|
|
| 7 |
.tribe-events-calendar-month {
|
| 8 |
margin-bottom: var(--spacer-1);
|
| 9 |
|
| 10 |
-
|
| 11 |
margin: 0;
|
| 12 |
}
|
| 13 |
}
|
| 7 |
.tribe-events-calendar-month {
|
| 8 |
margin-bottom: var(--spacer-1);
|
| 9 |
|
| 10 |
+
.tribe-common--breakpoint-medium& {
|
| 11 |
margin: 0;
|
| 12 |
}
|
| 13 |
}
|
src/resources/postcss/views/skeleton/month/_day.pcss
CHANGED
|
@@ -10,7 +10,7 @@
|
|
| 10 |
position: relative;
|
| 11 |
width: var(--grid-width-1-of-7);
|
| 12 |
|
| 13 |
-
|
| 14 |
border-color: var(--color-border-secondary);
|
| 15 |
border-style: solid;
|
| 16 |
border-width: 0 1px 1px 0;
|
|
@@ -31,13 +31,14 @@
|
|
| 31 |
flex-direction: column;
|
| 32 |
text-align: center;
|
| 33 |
|
| 34 |
-
|
| 35 |
@mixin hidden;
|
| 36 |
}
|
| 37 |
}
|
| 38 |
|
| 39 |
.tribe-events-calendar-month__day-cell--desktop {
|
| 40 |
-
|
|
|
|
| 41 |
display: flex !important;
|
| 42 |
flex-direction: column;
|
| 43 |
visibility: visible;
|
|
@@ -45,7 +46,9 @@
|
|
| 45 |
}
|
| 46 |
|
| 47 |
.tribe-events-calendar-month__day-date {
|
| 48 |
-
|
|
|
|
|
|
|
| 49 |
flex: none;
|
| 50 |
padding: var(--spacer-1) var(--spacer-3);
|
| 51 |
}
|
| 10 |
position: relative;
|
| 11 |
width: var(--grid-width-1-of-7);
|
| 12 |
|
| 13 |
+
.tribe-common--breakpoint-medium& {
|
| 14 |
border-color: var(--color-border-secondary);
|
| 15 |
border-style: solid;
|
| 16 |
border-width: 0 1px 1px 0;
|
| 31 |
flex-direction: column;
|
| 32 |
text-align: center;
|
| 33 |
|
| 34 |
+
.tribe-common--breakpoint-medium& {
|
| 35 |
@mixin hidden;
|
| 36 |
}
|
| 37 |
}
|
| 38 |
|
| 39 |
.tribe-events-calendar-month__day-cell--desktop {
|
| 40 |
+
|
| 41 |
+
.tribe-common--breakpoint-medium& {
|
| 42 |
display: flex !important;
|
| 43 |
flex-direction: column;
|
| 44 |
visibility: visible;
|
| 46 |
}
|
| 47 |
|
| 48 |
.tribe-events-calendar-month__day-date {
|
| 49 |
+
margin: 0;
|
| 50 |
+
|
| 51 |
+
.tribe-common--breakpoint-medium& {
|
| 52 |
flex: none;
|
| 53 |
padding: var(--spacer-1) var(--spacer-3);
|
| 54 |
}
|
src/resources/postcss/views/skeleton/month/_mobile-events.pcss
CHANGED
|
@@ -5,7 +5,8 @@
|
|
| 5 |
* ----------------------------------------------------------------------------- */
|
| 6 |
|
| 7 |
.tribe-events-calendar-month-mobile-events {
|
| 8 |
-
|
|
|
|
| 9 |
@mixin hidden;
|
| 10 |
}
|
| 11 |
}
|
|
@@ -56,6 +57,10 @@
|
|
| 56 |
margin-right: var(--spacer-1);
|
| 57 |
}
|
| 58 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 59 |
.tribe-events-calendar-month-mobile-events__mobile-event-cost {
|
| 60 |
margin-top: var(--spacer-1);
|
| 61 |
}
|
| 5 |
* ----------------------------------------------------------------------------- */
|
| 6 |
|
| 7 |
.tribe-events-calendar-month-mobile-events {
|
| 8 |
+
|
| 9 |
+
.tribe-common--breakpoint-medium& {
|
| 10 |
@mixin hidden;
|
| 11 |
}
|
| 12 |
}
|
| 57 |
margin-right: var(--spacer-1);
|
| 58 |
}
|
| 59 |
|
| 60 |
+
.tribe-events-calendar-month-mobile-events__mobile-event-title {
|
| 61 |
+
margin: 0;
|
| 62 |
+
}
|
| 63 |
+
|
| 64 |
.tribe-events-calendar-month-mobile-events__mobile-event-cost {
|
| 65 |
margin-top: var(--spacer-1);
|
| 66 |
}
|
src/resources/postcss/views/skeleton/month/_multiday-event.pcss
CHANGED
|
@@ -5,7 +5,8 @@
|
|
| 5 |
* ----------------------------------------------------------------------------- */
|
| 6 |
|
| 7 |
.tribe-events-calendar-month__multiday-event-wrapper {
|
| 8 |
-
|
|
|
|
| 9 |
height: 19px;
|
| 10 |
margin-bottom: var(--spacer-0);
|
| 11 |
position: relative;
|
|
@@ -63,6 +64,8 @@
|
|
| 63 |
}
|
| 64 |
|
| 65 |
.tribe-events-calendar-month__multiday-event-hidden-title {
|
|
|
|
|
|
|
| 66 |
white-space: nowrap;
|
| 67 |
}
|
| 68 |
|
|
@@ -94,6 +97,7 @@
|
|
| 94 |
|
| 95 |
.tribe-events-calendar-month__multiday-event-bar-title {
|
| 96 |
flex: none;
|
|
|
|
| 97 |
max-width: 100%;
|
| 98 |
overflow: hidden;
|
| 99 |
white-space: nowrap;
|
| 5 |
* ----------------------------------------------------------------------------- */
|
| 6 |
|
| 7 |
.tribe-events-calendar-month__multiday-event-wrapper {
|
| 8 |
+
|
| 9 |
+
.tribe-common--breakpoint-medium& {
|
| 10 |
height: 19px;
|
| 11 |
margin-bottom: var(--spacer-0);
|
| 12 |
position: relative;
|
| 64 |
}
|
| 65 |
|
| 66 |
.tribe-events-calendar-month__multiday-event-hidden-title {
|
| 67 |
+
margin: 0;
|
| 68 |
+
overflow: hidden;
|
| 69 |
white-space: nowrap;
|
| 70 |
}
|
| 71 |
|
| 97 |
|
| 98 |
.tribe-events-calendar-month__multiday-event-bar-title {
|
| 99 |
flex: none;
|
| 100 |
+
margin: 0;
|
| 101 |
max-width: 100%;
|
| 102 |
overflow: hidden;
|
| 103 |
white-space: nowrap;
|
src/resources/postcss/views/skeleton/month/_nav.pcss
CHANGED
|
@@ -7,7 +7,7 @@
|
|
| 7 |
.tribe-events-calendar-month-nav {
|
| 8 |
padding-top: var(--spacer-4);
|
| 9 |
|
| 10 |
-
|
| 11 |
@mixin hidden;
|
| 12 |
}
|
| 13 |
}
|
| 7 |
.tribe-events-calendar-month-nav {
|
| 8 |
padding-top: var(--spacer-4);
|
| 9 |
|
| 10 |
+
.tribe-common--breakpoint-medium& {
|
| 11 |
@mixin hidden;
|
| 12 |
}
|
| 13 |
}
|
src/views/v2/components/breakpoints.php
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* View: Breakpoints
|
| 4 |
+
*
|
| 5 |
+
* Override this template in your own theme by creating a file at:
|
| 6 |
+
* [your-theme]/tribe/events/v2/components/breakpoints.php
|
| 7 |
+
*
|
| 8 |
+
* See more documentation about our views templating system.
|
| 9 |
+
*
|
| 10 |
+
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
+
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
+
*
|
| 14 |
+
* @var bool $is_initial_load Boolean on whether view is being loaded for the first time.
|
| 15 |
+
*/
|
| 16 |
+
|
| 17 |
+
if ( ! $is_initial_load ) {
|
| 18 |
+
return;
|
| 19 |
+
}
|
| 20 |
+
?>
|
| 21 |
+
<script class="tribe-events-breakpoints">
|
| 22 |
+
if ( 'undefined' !== typeof window.tribe ) {
|
| 23 |
+
var scripts = document.getElementsByTagName( 'script' );
|
| 24 |
+
window.tribe.events.views.breakpoints.setup( scripts[ scripts.length - 1 ] );
|
| 25 |
+
}
|
| 26 |
+
</script>
|
src/views/v2/components/data.php
CHANGED
|
@@ -9,23 +9,46 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*/
|
| 14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
/**
|
| 16 |
* Filters the data that will be printed for the View.
|
| 17 |
*
|
| 18 |
* @since 4.9.7
|
| 19 |
*
|
| 20 |
-
* @param array
|
| 21 |
-
* @param string
|
| 22 |
-
* @param Tribe\Events\Views\V2\View_Interface $view
|
| 23 |
*/
|
| 24 |
-
$data = apply_filters( 'tribe_events_views_v2_view_data', $
|
| 25 |
?>
|
| 26 |
<script
|
| 27 |
data-js="tribe-events-view-data"
|
| 28 |
type="application/json"
|
| 29 |
>
|
| 30 |
-
<?php echo
|
| 31 |
</script>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*/
|
| 14 |
|
| 15 |
+
$data = $this->get_values();
|
| 16 |
+
|
| 17 |
+
/**
|
| 18 |
+
* For very specific performance and security reasons we choose to not expose the full WP_Post object by default.
|
| 19 |
+
* The following filter will allow by passing true, that the full WP_Post object gets exposed.
|
| 20 |
+
*
|
| 21 |
+
* @since 5.0.0
|
| 22 |
+
*
|
| 23 |
+
* @param boolean $should_expose_post_object If we should expose the events object or not.
|
| 24 |
+
* @param array $data Data that will be exposed.
|
| 25 |
+
* @param string $view_slug The slug of the view currently being rendered.
|
| 26 |
+
* @param Tribe\Events\Views\V2\View_Interface $view The View instance that is being rendered.
|
| 27 |
+
*/
|
| 28 |
+
$should_expose_post_object = apply_filters( 'tribe_events_views_v2_view_data_should_expose_post_object', false, $data, $view_slug, $view );
|
| 29 |
+
|
| 30 |
+
if ( ! $should_expose_post_object ) {
|
| 31 |
+
array_walk_recursive( $data, function ( &$value, $key ) {
|
| 32 |
+
if ( $value instanceof WP_Post ) {
|
| 33 |
+
$value = $value->ID;
|
| 34 |
+
}
|
| 35 |
+
} );
|
| 36 |
+
}
|
| 37 |
+
|
| 38 |
/**
|
| 39 |
* Filters the data that will be printed for the View.
|
| 40 |
*
|
| 41 |
* @since 4.9.7
|
| 42 |
*
|
| 43 |
+
* @param array $data The data that will be printed for the current View.
|
| 44 |
+
* @param string $view_slug The slug of the view currently being rendered.
|
| 45 |
+
* @param Tribe\Events\Views\V2\View_Interface $view The View instance that is being rendered.
|
| 46 |
*/
|
| 47 |
+
$data = apply_filters( 'tribe_events_views_v2_view_data', $data, $view_slug, $view );
|
| 48 |
?>
|
| 49 |
<script
|
| 50 |
data-js="tribe-events-view-data"
|
| 51 |
type="application/json"
|
| 52 |
>
|
| 53 |
+
<?php echo wp_json_encode( $data ); ?>
|
| 54 |
</script>
|
src/views/v2/components/events-bar/views.php
CHANGED
|
@@ -9,20 +9,14 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
-
* @var
|
|
|
|
|
|
|
|
|
|
| 15 |
*/
|
| 16 |
|
| 17 |
-
/**
|
| 18 |
-
* @todo: @bordoni can we move this to context?
|
| 19 |
-
*/
|
| 20 |
-
use Tribe\Events\Views\V2\Manager;
|
| 21 |
-
|
| 22 |
-
$public_views = tribe( Manager::class )->get_publicly_visible_views();
|
| 23 |
-
$view_slug = $this->get( 'view' )->get_slug();
|
| 24 |
-
$view_label = $this->get( 'view' )->get_label();
|
| 25 |
-
|
| 26 |
$is_tabs_style = empty( $disable_event_search ) && 3 >= count( $public_views );
|
| 27 |
$view_selector_classes = [
|
| 28 |
'tribe-events-c-view-selector' => true,
|
|
@@ -44,6 +38,6 @@ $view_selector_classes = [
|
|
| 44 |
<?php echo esc_html( $view_label ); ?>
|
| 45 |
</span>
|
| 46 |
</button>
|
| 47 |
-
<?php $this->template( 'components/events-bar/views/list'
|
| 48 |
</div>
|
| 49 |
</div>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
+
* @var string $view_slug Slug of the current view.
|
| 15 |
+
* @var string $view_label Label of the current view.
|
| 16 |
+
* @var array $public_views Array of data of the public views, with the slug as the key.
|
| 17 |
+
* @var bool $disable_event_search Boolean on whether to disable the event search.
|
| 18 |
*/
|
| 19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20 |
$is_tabs_style = empty( $disable_event_search ) && 3 >= count( $public_views );
|
| 21 |
$view_selector_classes = [
|
| 22 |
'tribe-events-c-view-selector' => true,
|
| 38 |
<?php echo esc_html( $view_label ); ?>
|
| 39 |
</span>
|
| 40 |
</button>
|
| 41 |
+
<?php $this->template( 'components/events-bar/views/list' ); ?>
|
| 42 |
</div>
|
| 43 |
</div>
|
src/views/v2/components/events-bar/views/list.php
CHANGED
|
@@ -9,8 +9,9 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
|
|
|
| 14 |
*/
|
| 15 |
?>
|
| 16 |
<div
|
|
@@ -19,8 +20,11 @@
|
|
| 19 |
data-js="tribe-events-view-selector-list-container"
|
| 20 |
>
|
| 21 |
<ul class="tribe-events-c-view-selector__list">
|
| 22 |
-
<?php foreach ( $
|
| 23 |
-
<?php $this->template(
|
|
|
|
|
|
|
|
|
|
| 24 |
<?php endforeach; ?>
|
| 25 |
</ul>
|
| 26 |
</div>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
+
* @var array $public_views Array of data of the public views, with the slug as the key.
|
| 15 |
*/
|
| 16 |
?>
|
| 17 |
<div
|
| 20 |
data-js="tribe-events-view-selector-list-container"
|
| 21 |
>
|
| 22 |
<ul class="tribe-events-c-view-selector__list">
|
| 23 |
+
<?php foreach ( $public_views as $public_view_slug => $public_view_data ) : ?>
|
| 24 |
+
<?php $this->template(
|
| 25 |
+
'components/events-bar/views/list/item',
|
| 26 |
+
[ 'public_view_slug' => $public_view_slug, 'public_view_data' => $public_view_data ]
|
| 27 |
+
); ?>
|
| 28 |
<?php endforeach; ?>
|
| 29 |
</ul>
|
| 30 |
</div>
|
src/views/v2/components/events-bar/views/list/item.php
CHANGED
|
@@ -9,47 +9,27 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @var
|
| 13 |
-
* @var string
|
| 14 |
-
*
|
| 15 |
*
|
| 16 |
-
* @version
|
| 17 |
*/
|
| 18 |
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
// Bail on invalid name of class
|
| 23 |
-
if ( ! $this->get( 'view_class_name' ) ) {
|
| 24 |
-
return;
|
| 25 |
-
}
|
| 26 |
-
|
| 27 |
-
$view_instance = View::make( $this->get( 'view_class_name' ) );
|
| 28 |
-
$view_slug = $view_instance->get_slug();
|
| 29 |
-
$is_current_view = $view->get_slug() === $view_instance->get_slug();
|
| 30 |
-
|
| 31 |
-
if ( ! empty( $url_event_date ) ) {
|
| 32 |
-
// Each View expects the event date in a specific format, here we account for it.
|
| 33 |
-
$query_args = wp_parse_url( $view->get_url( false ), PHP_URL_QUERY );
|
| 34 |
-
$view_url = $view_instance->url_for_query_args( $url_event_date, $query_args );
|
| 35 |
-
} else {
|
| 36 |
-
$view_url = tribe_events_get_url( array_filter( [ 'eventDisplay' => $view_slug ] ) );
|
| 37 |
-
}
|
| 38 |
-
|
| 39 |
-
$list_item_classes = [ 'tribe-events-c-view-selector__list-item', "tribe-events-c-view-selector__list-item--$view_slug" ];
|
| 40 |
-
if ( $is_current_view ) {
|
| 41 |
$list_item_classes[] = 'tribe-events-c-view-selector__list-item--active';
|
| 42 |
}
|
| 43 |
?>
|
| 44 |
<li class="<?php echo esc_attr( implode( ' ', $list_item_classes ) ); ?>">
|
| 45 |
<a
|
| 46 |
-
href="<?php echo esc_url( $view_url ); ?>"
|
| 47 |
class="tribe-events-c-view-selector__list-item-link"
|
| 48 |
data-js="tribe-events-view-link"
|
| 49 |
>
|
| 50 |
-
<span class="tribe-events-c-view-selector__list-item-icon tribe-common-svgicon tribe-common-svgicon--<?php echo esc_attr( $
|
| 51 |
<span class="tribe-events-c-view-selector__list-item-text">
|
| 52 |
-
<?php echo esc_html( $
|
| 53 |
</span>
|
| 54 |
</a>
|
| 55 |
</li>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @var string $view_slug Slug of the current view.
|
| 13 |
+
* @var string $public_view_slug Slug of the view currently being listed.
|
| 14 |
+
* @var object $public_view_data Data of the view currently being listed.
|
| 15 |
*
|
| 16 |
+
* @version 5.0.0
|
| 17 |
*/
|
| 18 |
|
| 19 |
+
$list_item_classes = [ 'tribe-events-c-view-selector__list-item', "tribe-events-c-view-selector__list-item--$public_view_slug" ];
|
| 20 |
+
if ( $view_slug === $public_view_slug ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
$list_item_classes[] = 'tribe-events-c-view-selector__list-item--active';
|
| 22 |
}
|
| 23 |
?>
|
| 24 |
<li class="<?php echo esc_attr( implode( ' ', $list_item_classes ) ); ?>">
|
| 25 |
<a
|
| 26 |
+
href="<?php echo esc_url( $public_view_data->view_url ); ?>"
|
| 27 |
class="tribe-events-c-view-selector__list-item-link"
|
| 28 |
data-js="tribe-events-view-link"
|
| 29 |
>
|
| 30 |
+
<span class="tribe-events-c-view-selector__list-item-icon tribe-common-svgicon tribe-common-svgicon--<?php echo esc_attr( $public_view_slug ); ?>"></span>
|
| 31 |
<span class="tribe-events-c-view-selector__list-item-text">
|
| 32 |
+
<?php echo esc_html( $public_view_data->view_label ); ?>
|
| 33 |
</span>
|
| 34 |
</a>
|
| 35 |
</li>
|
src/views/v2/components/top-bar/actions.php
CHANGED
|
@@ -9,10 +9,10 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
*/
|
| 15 |
?>
|
| 16 |
-
<div class="tribe-events-c-top-bar__actions">
|
| 17 |
<?php $this->template( 'components/top-bar/actions/content' ); ?>
|
| 18 |
</div>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
*/
|
| 15 |
?>
|
| 16 |
+
<div class="tribe-events-c-top-bar__actions tribe-common-a11y-hidden">
|
| 17 |
<?php $this->template( 'components/top-bar/actions/content' ); ?>
|
| 18 |
</div>
|
src/views/v2/day.php
CHANGED
|
@@ -9,13 +9,15 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var array $events The array containing the events.
|
| 15 |
* @var string $rest_url The REST URL.
|
| 16 |
* @var string $rest_nonce The REST nonce.
|
| 17 |
* @var bool $disable_event_search Boolean on whether to disable the event search.
|
| 18 |
* @var string[] $container_classes Classes used for the container of the view.
|
|
|
|
|
|
|
| 19 |
*/
|
| 20 |
|
| 21 |
$header_classes = [ 'tribe-events-header' ];
|
|
@@ -30,6 +32,9 @@ if ( empty( $disable_event_search ) ) {
|
|
| 30 |
data-view-rest-nonce="<?php echo esc_attr( $rest_nonce ); ?>"
|
| 31 |
data-view-rest-url="<?php echo esc_url( $rest_url ); ?>"
|
| 32 |
data-view-manage-url="<?php echo esc_attr( $should_manage_url ); ?>"
|
|
|
|
|
|
|
|
|
|
| 33 |
>
|
| 34 |
<div class="tribe-common-l-container tribe-events-l-container">
|
| 35 |
<?php $this->template( 'components/loader', [ 'text' => __( 'Loading...', 'the-events-calendar' ) ] ); ?>
|
|
@@ -72,3 +77,5 @@ if ( empty( $disable_event_search ) ) {
|
|
| 72 |
</div>
|
| 73 |
|
| 74 |
</div>
|
|
|
|
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var array $events The array containing the events.
|
| 15 |
* @var string $rest_url The REST URL.
|
| 16 |
* @var string $rest_nonce The REST nonce.
|
| 17 |
* @var bool $disable_event_search Boolean on whether to disable the event search.
|
| 18 |
* @var string[] $container_classes Classes used for the container of the view.
|
| 19 |
+
* @var bool $should_manage_url Whether the view should manage the URL or not.
|
| 20 |
+
* @var array $container_data An additional set of container `data` attributes.
|
| 21 |
*/
|
| 22 |
|
| 23 |
$header_classes = [ 'tribe-events-header' ];
|
| 32 |
data-view-rest-nonce="<?php echo esc_attr( $rest_nonce ); ?>"
|
| 33 |
data-view-rest-url="<?php echo esc_url( $rest_url ); ?>"
|
| 34 |
data-view-manage-url="<?php echo esc_attr( $should_manage_url ); ?>"
|
| 35 |
+
<?php foreach ( $container_data as $key => $value ) : ?>
|
| 36 |
+
data-view-<?php echo esc_attr( $key ) ?>="<?php echo esc_attr( $value ) ?>"
|
| 37 |
+
<?php endforeach; ?>
|
| 38 |
>
|
| 39 |
<div class="tribe-common-l-container tribe-events-l-container">
|
| 40 |
<?php $this->template( 'components/loader', [ 'text' => __( 'Loading...', 'the-events-calendar' ) ] ); ?>
|
| 77 |
</div>
|
| 78 |
|
| 79 |
</div>
|
| 80 |
+
|
| 81 |
+
<?php $this->template( 'components/breakpoints' ); ?>
|
src/views/v2/day/event.php
CHANGED
|
@@ -9,14 +9,14 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
| 16 |
* @see tribe_get_event() For the format of the event object.
|
| 17 |
*/
|
| 18 |
|
| 19 |
-
$classes =
|
| 20 |
|
| 21 |
if ( $event->featured ) {
|
| 22 |
$classes[] = 'tribe-events-calendar-day__event--featured';
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
| 16 |
* @see tribe_get_event() For the format of the event object.
|
| 17 |
*/
|
| 18 |
|
| 19 |
+
$classes = tribe_get_post_class( [ 'tribe-common-g-row', 'tribe-common-g-row--gutters', 'tribe-events-calendar-day__event' ], $event->ID );
|
| 20 |
|
| 21 |
if ( $event->featured ) {
|
| 22 |
$classes[] = 'tribe-events-calendar-day__event--featured';
|
src/views/v2/day/event/description.php
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
|
@@ -20,6 +20,6 @@ if ( empty( (string) $event->excerpt ) ) {
|
|
| 20 |
return;
|
| 21 |
}
|
| 22 |
?>
|
| 23 |
-
<div class="tribe-events-calendar-day__event-description tribe-common-b2">
|
| 24 |
<?php echo (string) $event->excerpt; ?>
|
| 25 |
</div>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
| 20 |
return;
|
| 21 |
}
|
| 22 |
?>
|
| 23 |
+
<div class="tribe-events-calendar-day__event-description tribe-common-b2 tribe-common-a11y-hidden">
|
| 24 |
<?php echo (string) $event->excerpt; ?>
|
| 25 |
</div>
|
src/views/v2/day/event/featured-image.php
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
|
@@ -24,7 +24,7 @@ if ( ! $event->thumbnail->exists ) {
|
|
| 24 |
<div class="tribe-events-calendar-day__event-featured-image-wrapper">
|
| 25 |
<a
|
| 26 |
href="<?php echo esc_url( $event->permalink ); ?>"
|
| 27 |
-
title="<?php echo esc_attr(
|
| 28 |
rel="bookmark"
|
| 29 |
class="tribe-events-calendar-day__event-featured-image-link"
|
| 30 |
>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
| 24 |
<div class="tribe-events-calendar-day__event-featured-image-wrapper">
|
| 25 |
<a
|
| 26 |
href="<?php echo esc_url( $event->permalink ); ?>"
|
| 27 |
+
title="<?php echo esc_attr( $event->title ); ?>"
|
| 28 |
rel="bookmark"
|
| 29 |
class="tribe-events-calendar-day__event-featured-image-link"
|
| 30 |
>
|
src/views/v2/day/event/title.php
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
|
@@ -19,10 +19,13 @@
|
|
| 19 |
<h3 class="tribe-events-calendar-day__event-title tribe-common-h6 tribe-common-h4--min-medium">
|
| 20 |
<a
|
| 21 |
href="<?php echo esc_url( $event->permalink ); ?>"
|
| 22 |
-
title="<?php echo esc_attr(
|
| 23 |
rel="bookmark"
|
| 24 |
class="tribe-events-calendar-day__event-title-link tribe-common-anchor-thin"
|
| 25 |
>
|
| 26 |
-
<?php
|
|
|
|
|
|
|
|
|
|
| 27 |
</a>
|
| 28 |
</h3>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
| 19 |
<h3 class="tribe-events-calendar-day__event-title tribe-common-h6 tribe-common-h4--min-medium">
|
| 20 |
<a
|
| 21 |
href="<?php echo esc_url( $event->permalink ); ?>"
|
| 22 |
+
title="<?php echo esc_attr( $event->title ); ?>"
|
| 23 |
rel="bookmark"
|
| 24 |
class="tribe-events-calendar-day__event-title-link tribe-common-anchor-thin"
|
| 25 |
>
|
| 26 |
+
<?php
|
| 27 |
+
// phpcs:ignore
|
| 28 |
+
echo $event->title;
|
| 29 |
+
?>
|
| 30 |
</a>
|
| 31 |
</h3>
|
src/views/v2/day/top-bar/datepicker.php
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var string $now The current date and time in the `Y-m-d H:i:s` format.
|
| 15 |
* @var object $date_formats Object containing the date formats.
|
|
@@ -48,7 +48,12 @@ $datepicker_date = Dates::build_date_object( $selected_date_value )->format( $da
|
|
| 48 |
datetime="<?php echo esc_attr( date( 'Y-m-d', $selected_datetime ) ); ?>"
|
| 49 |
class="tribe-events-c-top-bar__datepicker-time"
|
| 50 |
>
|
| 51 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 52 |
</time>
|
| 53 |
</button>
|
| 54 |
<label
|
|
@@ -66,6 +71,7 @@ $datepicker_date = Dates::build_date_object( $selected_date_value )->format( $da
|
|
| 66 |
value="<?php echo esc_attr( $datepicker_date ); ?>"
|
| 67 |
tabindex="-1"
|
| 68 |
autocomplete="off"
|
|
|
|
| 69 |
/>
|
| 70 |
<div class="tribe-events-c-top-bar__datepicker-container" data-js="tribe-events-top-bar-datepicker-container"></div>
|
| 71 |
</div>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var string $now The current date and time in the `Y-m-d H:i:s` format.
|
| 15 |
* @var object $date_formats Object containing the date formats.
|
| 48 |
datetime="<?php echo esc_attr( date( 'Y-m-d', $selected_datetime ) ); ?>"
|
| 49 |
class="tribe-events-c-top-bar__datepicker-time"
|
| 50 |
>
|
| 51 |
+
<span class="tribe-events-c-top-bar__datepicker-mobile">
|
| 52 |
+
<?php echo esc_html( $datepicker_date ); ?>
|
| 53 |
+
</span>
|
| 54 |
+
<span class="tribe-events-c-top-bar__datepicker-desktop tribe-common-a11y-hidden">
|
| 55 |
+
<?php echo esc_html( $selected_date_label ); ?>
|
| 56 |
+
</span>
|
| 57 |
</time>
|
| 58 |
</button>
|
| 59 |
<label
|
| 71 |
value="<?php echo esc_attr( $datepicker_date ); ?>"
|
| 72 |
tabindex="-1"
|
| 73 |
autocomplete="off"
|
| 74 |
+
readonly="readonly"
|
| 75 |
/>
|
| 76 |
<div class="tribe-events-c-top-bar__datepicker-container" data-js="tribe-events-top-bar-datepicker-container"></div>
|
| 77 |
</div>
|
src/views/v2/default-template.php
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* View: Default Template for Events
|
| 4 |
+
*
|
| 5 |
+
* Override this template in your own theme by creating a file at:
|
| 6 |
+
* [your-theme]/tribe/events/v2/default-template.php
|
| 7 |
+
*
|
| 8 |
+
* See more documentation about our views templating system.
|
| 9 |
+
*
|
| 10 |
+
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
+
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
+
*/
|
| 14 |
+
|
| 15 |
+
use Tribe\Events\Views\V2\Template_Bootstrap;
|
| 16 |
+
|
| 17 |
+
get_header();
|
| 18 |
+
echo tribe( Template_Bootstrap::class )->get_view_html();
|
| 19 |
+
get_footer();
|
src/views/v2/index.php
DELETED
|
@@ -1,5 +0,0 @@
|
|
| 1 |
-
<?php
|
| 2 |
-
use Tribe\Events\Views\V2\Template_Bootstrap;
|
| 3 |
-
get_header();
|
| 4 |
-
echo tribe( Template_Bootstrap::class )->get_view_html();
|
| 5 |
-
get_footer();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/views/v2/list.php
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var array $events The array containing the events.
|
| 15 |
* @var string $rest_url The REST URL.
|
|
@@ -17,6 +17,7 @@
|
|
| 17 |
* @var int $should_manage_url int containing if it should manage the URL.
|
| 18 |
* @var bool $disable_event_search Boolean on whether to disable the event search.
|
| 19 |
* @var string[] $container_classes Classes used for the container of the view.
|
|
|
|
| 20 |
*/
|
| 21 |
|
| 22 |
$header_classes = [ 'tribe-events-header' ];
|
|
@@ -30,6 +31,9 @@ if ( empty( $disable_event_search ) ) {
|
|
| 30 |
data-view-rest-nonce="<?php echo esc_attr( $rest_nonce ); ?>"
|
| 31 |
data-view-rest-url="<?php echo esc_url( $rest_url ); ?>"
|
| 32 |
data-view-manage-url="<?php echo esc_attr( $should_manage_url ); ?>"
|
|
|
|
|
|
|
|
|
|
| 33 |
>
|
| 34 |
<div class="tribe-common-l-container tribe-events-l-container">
|
| 35 |
<?php $this->template( 'components/loader', [ 'text' => __( 'Loading...', 'the-events-calendar' ) ] ); ?>
|
|
@@ -71,3 +75,5 @@ if ( empty( $disable_event_search ) ) {
|
|
| 71 |
|
| 72 |
</div>
|
| 73 |
</div>
|
|
|
|
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var array $events The array containing the events.
|
| 15 |
* @var string $rest_url The REST URL.
|
| 17 |
* @var int $should_manage_url int containing if it should manage the URL.
|
| 18 |
* @var bool $disable_event_search Boolean on whether to disable the event search.
|
| 19 |
* @var string[] $container_classes Classes used for the container of the view.
|
| 20 |
+
* @var array $container_data An additional set of container `data` attributes.
|
| 21 |
*/
|
| 22 |
|
| 23 |
$header_classes = [ 'tribe-events-header' ];
|
| 31 |
data-view-rest-nonce="<?php echo esc_attr( $rest_nonce ); ?>"
|
| 32 |
data-view-rest-url="<?php echo esc_url( $rest_url ); ?>"
|
| 33 |
data-view-manage-url="<?php echo esc_attr( $should_manage_url ); ?>"
|
| 34 |
+
<?php foreach ( $container_data as $key => $value ) : ?>
|
| 35 |
+
data-view-<?php echo esc_attr( $key ) ?>="<?php echo esc_attr( $value ) ?>"
|
| 36 |
+
<?php endforeach; ?>
|
| 37 |
>
|
| 38 |
<div class="tribe-common-l-container tribe-events-l-container">
|
| 39 |
<?php $this->template( 'components/loader', [ 'text' => __( 'Loading...', 'the-events-calendar' ) ] ); ?>
|
| 75 |
|
| 76 |
</div>
|
| 77 |
</div>
|
| 78 |
+
|
| 79 |
+
<?php $this->template( 'components/breakpoints' ); ?>
|
src/views/v2/list/event.php
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
|
@@ -19,7 +19,7 @@
|
|
| 19 |
$container_classes = [ 'tribe-common-g-row', 'tribe-events-calendar-list__event-row' ];
|
| 20 |
$container_classes['tribe-events-calendar-list__event-row--featured'] = $event->featured;
|
| 21 |
|
| 22 |
-
$event_classes =
|
| 23 |
?>
|
| 24 |
<div <?php tribe_classes( $container_classes ); ?>>
|
| 25 |
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
| 19 |
$container_classes = [ 'tribe-common-g-row', 'tribe-events-calendar-list__event-row' ];
|
| 20 |
$container_classes['tribe-events-calendar-list__event-row--featured'] = $event->featured;
|
| 21 |
|
| 22 |
+
$event_classes = tribe_get_post_class( [ 'tribe-events-calendar-list__event', 'tribe-common-g-row', 'tribe-common-g-row--gutters' ], $event->ID );
|
| 23 |
?>
|
| 24 |
<div <?php tribe_classes( $container_classes ); ?>>
|
| 25 |
|
src/views/v2/list/event/date-tag.php
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
* @var \DateTimeInterface $request_date The request date object. This will be "today" if the user did not input any
|
|
@@ -29,8 +29,8 @@ $display_date = empty( $is_past ) && ! empty( $request_date )
|
|
| 29 |
? max( $event->dates->start_display, $request_date )
|
| 30 |
: $event->dates->start_display;
|
| 31 |
|
| 32 |
-
$event_week_day = $display_date->
|
| 33 |
-
$event_day_num = $display_date->
|
| 34 |
$event_date_attr = $display_date->format( Dates::DBDATEFORMAT );
|
| 35 |
?>
|
| 36 |
<div class="tribe-events-calendar-list__event-date-tag tribe-common-g-col">
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
* @var \DateTimeInterface $request_date The request date object. This will be "today" if the user did not input any
|
| 29 |
? max( $event->dates->start_display, $request_date )
|
| 30 |
: $event->dates->start_display;
|
| 31 |
|
| 32 |
+
$event_week_day = $display_date->format_i18n( 'D' );
|
| 33 |
+
$event_day_num = $display_date->format_i18n( 'j' );
|
| 34 |
$event_date_attr = $display_date->format( Dates::DBDATEFORMAT );
|
| 35 |
?>
|
| 36 |
<div class="tribe-events-calendar-list__event-date-tag tribe-common-g-col">
|
src/views/v2/list/event/description.php
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
|
@@ -20,6 +20,6 @@ if ( empty( (string) $event->excerpt ) ) {
|
|
| 20 |
return;
|
| 21 |
}
|
| 22 |
?>
|
| 23 |
-
<div class="tribe-events-calendar-list__event-description tribe-common-b2">
|
| 24 |
<?php echo (string) $event->excerpt; ?>
|
| 25 |
</div>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
| 20 |
return;
|
| 21 |
}
|
| 22 |
?>
|
| 23 |
+
<div class="tribe-events-calendar-list__event-description tribe-common-b2 tribe-common-a11y-hidden">
|
| 24 |
<?php echo (string) $event->excerpt; ?>
|
| 25 |
</div>
|
src/views/v2/list/event/featured-image.php
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
|
@@ -24,7 +24,7 @@ if ( ! $event->thumbnail->exists ) {
|
|
| 24 |
<div class="tribe-events-calendar-list__event-featured-image-wrapper tribe-common-g-col">
|
| 25 |
<a
|
| 26 |
href="<?php echo esc_url( $event->permalink ); ?>"
|
| 27 |
-
title="<?php echo esc_attr(
|
| 28 |
rel="bookmark"
|
| 29 |
class="tribe-events-calendar-list__event-featured-image-link"
|
| 30 |
>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
| 24 |
<div class="tribe-events-calendar-list__event-featured-image-wrapper tribe-common-g-col">
|
| 25 |
<a
|
| 26 |
href="<?php echo esc_url( $event->permalink ); ?>"
|
| 27 |
+
title="<?php echo esc_attr( $event->title ); ?>"
|
| 28 |
rel="bookmark"
|
| 29 |
class="tribe-events-calendar-list__event-featured-image-link"
|
| 30 |
>
|
src/views/v2/list/event/title.php
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
|
@@ -19,10 +19,13 @@
|
|
| 19 |
<h3 class="tribe-events-calendar-list__event-title tribe-common-h6 tribe-common-h4--min-medium">
|
| 20 |
<a
|
| 21 |
href="<?php echo esc_url( $event->permalink ); ?>"
|
| 22 |
-
title="<?php echo esc_attr(
|
| 23 |
rel="bookmark"
|
| 24 |
class="tribe-events-calendar-list__event-title-link tribe-common-anchor-thin"
|
| 25 |
>
|
| 26 |
-
<?php
|
|
|
|
|
|
|
|
|
|
| 27 |
</a>
|
| 28 |
</h3>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
| 19 |
<h3 class="tribe-events-calendar-list__event-title tribe-common-h6 tribe-common-h4--min-medium">
|
| 20 |
<a
|
| 21 |
href="<?php echo esc_url( $event->permalink ); ?>"
|
| 22 |
+
title="<?php echo esc_attr( $event->title ); ?>"
|
| 23 |
rel="bookmark"
|
| 24 |
class="tribe-events-calendar-list__event-title-link tribe-common-anchor-thin"
|
| 25 |
>
|
| 26 |
+
<?php
|
| 27 |
+
// phpcs:ignore
|
| 28 |
+
echo $event->title;
|
| 29 |
+
?>
|
| 30 |
</a>
|
| 31 |
</h3>
|
src/views/v2/list/month-separator.php
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
* @var \DateTimeInterface $request_date The request date object. This will be "today" if the user did not input any
|
|
@@ -46,6 +46,6 @@ $sep_date = empty( $is_past ) && ! empty( $request_date )
|
|
| 46 |
datetime="<?php
|
| 47 |
echo esc_attr( $sep_date->format( 'Y-m' ) ); ?>"
|
| 48 |
>
|
| 49 |
-
<?php echo esc_html( $sep_date->
|
| 50 |
</time>
|
| 51 |
</div>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
* @var \DateTimeInterface $request_date The request date object. This will be "today" if the user did not input any
|
| 46 |
datetime="<?php
|
| 47 |
echo esc_attr( $sep_date->format( 'Y-m' ) ); ?>"
|
| 48 |
>
|
| 49 |
+
<?php echo esc_html( $sep_date->format_i18n( 'F Y' ) ); ?>
|
| 50 |
</time>
|
| 51 |
</div>
|
src/views/v2/list/nav/next-disabled.php
CHANGED
|
@@ -9,19 +9,21 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
*/
|
| 15 |
?>
|
| 16 |
<li class="tribe-events-c-nav__list-item tribe-events-c-nav__list-item--next">
|
| 17 |
<button class="tribe-events-c-nav__next tribe-common-b2 tribe-common-b1--min-medium" disabled>
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
|
|
|
|
|
|
| 26 |
</button>
|
| 27 |
</li>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
*/
|
| 15 |
?>
|
| 16 |
<li class="tribe-events-c-nav__list-item tribe-events-c-nav__list-item--next">
|
| 17 |
<button class="tribe-events-c-nav__next tribe-common-b2 tribe-common-b1--min-medium" disabled>
|
| 18 |
+
<span class="tribe-events-c-nav__next-label">
|
| 19 |
+
<?php
|
| 20 |
+
$events_label = '<span class="tribe-events-c-nav__next-label-plural">' . tribe_get_event_label_plural() . '</span>';
|
| 21 |
+
echo wp_kses(
|
| 22 |
+
/* translators: %s: Event (plural or singular). */
|
| 23 |
+
sprintf( __( 'Next %1$s', 'the-events-calendar' ), $events_label ),
|
| 24 |
+
[ 'span' => [ 'class' => [] ] ]
|
| 25 |
+
);
|
| 26 |
+
?>
|
| 27 |
+
</span>
|
| 28 |
</button>
|
| 29 |
</li>
|
src/views/v2/list/nav/next.php
CHANGED
|
@@ -11,7 +11,7 @@
|
|
| 11 |
*
|
| 12 |
* @var string $link The URL to the next page.
|
| 13 |
*
|
| 14 |
-
* @version
|
| 15 |
*
|
| 16 |
*/
|
| 17 |
?>
|
|
@@ -22,13 +22,15 @@
|
|
| 22 |
class="tribe-events-c-nav__next tribe-common-b2 tribe-common-b1--min-medium"
|
| 23 |
data-js="tribe-events-view-link"
|
| 24 |
>
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
|
|
|
|
|
|
| 33 |
</a>
|
| 34 |
</li>
|
| 11 |
*
|
| 12 |
* @var string $link The URL to the next page.
|
| 13 |
*
|
| 14 |
+
* @version 5.0.0
|
| 15 |
*
|
| 16 |
*/
|
| 17 |
?>
|
| 22 |
class="tribe-events-c-nav__next tribe-common-b2 tribe-common-b1--min-medium"
|
| 23 |
data-js="tribe-events-view-link"
|
| 24 |
>
|
| 25 |
+
<span class="tribe-events-c-nav__next-label">
|
| 26 |
+
<?php
|
| 27 |
+
$events_label = '<span class="tribe-events-c-nav__next-label-plural">' . tribe_get_event_label_plural() . '</span>';
|
| 28 |
+
echo wp_kses(
|
| 29 |
+
/* translators: %s: Event (plural or singular). */
|
| 30 |
+
sprintf( __( 'Next %1$s', 'the-events-calendar' ), $events_label ),
|
| 31 |
+
[ 'span' => [ 'class' => [] ] ]
|
| 32 |
+
);
|
| 33 |
+
?>
|
| 34 |
+
</span>
|
| 35 |
</a>
|
| 36 |
</li>
|
src/views/v2/list/nav/prev-disabled.php
CHANGED
|
@@ -9,19 +9,21 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
*/
|
| 15 |
?>
|
| 16 |
<li class="tribe-events-c-nav__list-item tribe-events-c-nav__list-item--prev">
|
| 17 |
<button class="tribe-events-c-nav__prev tribe-common-b2 tribe-common-b1--min-medium" disabled>
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
|
|
|
|
|
|
| 26 |
</button>
|
| 27 |
</li>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
*/
|
| 15 |
?>
|
| 16 |
<li class="tribe-events-c-nav__list-item tribe-events-c-nav__list-item--prev">
|
| 17 |
<button class="tribe-events-c-nav__prev tribe-common-b2 tribe-common-b1--min-medium" disabled>
|
| 18 |
+
<span class="tribe-events-c-nav__prev-label">
|
| 19 |
+
<?php
|
| 20 |
+
$events_label = '<span class="tribe-events-c-nav__prev-label-plural">' . tribe_get_event_label_plural() . '</span>';
|
| 21 |
+
echo wp_kses(
|
| 22 |
+
/* translators: %s: Event (plural or singular). */
|
| 23 |
+
sprintf( __( 'Previous %1$s', 'the-events-calendar' ), $events_label ),
|
| 24 |
+
[ 'span' => [ 'class' => [] ] ]
|
| 25 |
+
);
|
| 26 |
+
?>
|
| 27 |
+
</span>
|
| 28 |
</button>
|
| 29 |
</li>
|
src/views/v2/list/nav/prev.php
CHANGED
|
@@ -11,7 +11,7 @@
|
|
| 11 |
*
|
| 12 |
* @var string $link The URL to the previous page.
|
| 13 |
*
|
| 14 |
-
* @version
|
| 15 |
*
|
| 16 |
*/
|
| 17 |
?>
|
|
@@ -22,13 +22,15 @@
|
|
| 22 |
class="tribe-events-c-nav__prev tribe-common-b2 tribe-common-b1--min-medium"
|
| 23 |
data-js="tribe-events-view-link"
|
| 24 |
>
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
|
|
|
|
|
|
| 33 |
</a>
|
| 34 |
</li>
|
| 11 |
*
|
| 12 |
* @var string $link The URL to the previous page.
|
| 13 |
*
|
| 14 |
+
* @version 5.0.0
|
| 15 |
*
|
| 16 |
*/
|
| 17 |
?>
|
| 22 |
class="tribe-events-c-nav__prev tribe-common-b2 tribe-common-b1--min-medium"
|
| 23 |
data-js="tribe-events-view-link"
|
| 24 |
>
|
| 25 |
+
<span class="tribe-events-c-nav__prev-label">
|
| 26 |
+
<?php
|
| 27 |
+
$events_label = '<span class="tribe-events-c-nav__prev-label-plural">' . tribe_get_event_label_plural() . '</span>';
|
| 28 |
+
echo wp_kses(
|
| 29 |
+
/* translators: %s: Event (plural or singular). */
|
| 30 |
+
sprintf( __( 'Previous %1$s', 'the-events-calendar' ), $events_label ),
|
| 31 |
+
[ 'span' => [ 'class' => [] ] ]
|
| 32 |
+
);
|
| 33 |
+
?>
|
| 34 |
+
</span>
|
| 35 |
</a>
|
| 36 |
</li>
|
src/views/v2/list/top-bar/datepicker.php
CHANGED
|
@@ -9,11 +9,12 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var bool $is_now Whether the date selected in the datepicker is "now" or not.
|
| 15 |
* @var bool $show_now Whether to show the "Now" label as range start or not.
|
| 16 |
* @var string $now_label The "Now" text label.
|
|
|
|
| 17 |
* @var bool $show_end Whether to show the end part of the range or not.
|
| 18 |
* @var string $selected_start_datetime The selected start date and time in the localized `Y-m-d` format.
|
| 19 |
* @var string $selected_start_date_mobile The formatted date that will show in the datepicker mobile version.
|
|
@@ -42,21 +43,26 @@
|
|
| 42 |
data-js="tribe-events-top-bar-datepicker-button"
|
| 43 |
type="button"
|
| 44 |
>
|
| 45 |
-
|
| 46 |
-
<?php echo
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
class="tribe-events-c-top-bar__datepicker-
|
| 51 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 52 |
<span class="tribe-events-c-top-bar__datepicker-mobile">
|
| 53 |
<?php echo esc_html( $selected_start_date_mobile ); ?>
|
| 54 |
</span>
|
| 55 |
<span class="tribe-events-c-top-bar__datepicker-desktop tribe-common-a11y-hidden">
|
| 56 |
<?php echo esc_html( $selected_start_date_label ); ?>
|
| 57 |
</span>
|
| 58 |
-
|
| 59 |
-
|
| 60 |
<?php if ( $show_end ) : ?>
|
| 61 |
<span class="tribe-events-c-top-bar__datepicker-separator"> - </span>
|
| 62 |
<time
|
|
@@ -87,6 +93,7 @@
|
|
| 87 |
value="<?php echo esc_attr( $datepicker_date ); ?>"
|
| 88 |
tabindex="-1"
|
| 89 |
autocomplete="off"
|
|
|
|
| 90 |
/>
|
| 91 |
<div class="tribe-events-c-top-bar__datepicker-container" data-js="tribe-events-top-bar-datepicker-container"></div>
|
| 92 |
</div>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var bool $is_now Whether the date selected in the datepicker is "now" or not.
|
| 15 |
* @var bool $show_now Whether to show the "Now" label as range start or not.
|
| 16 |
* @var string $now_label The "Now" text label.
|
| 17 |
+
* @var string $now_label_mobile The "Now" text label for mobile.
|
| 18 |
* @var bool $show_end Whether to show the end part of the range or not.
|
| 19 |
* @var string $selected_start_datetime The selected start date and time in the localized `Y-m-d` format.
|
| 20 |
* @var string $selected_start_date_mobile The formatted date that will show in the datepicker mobile version.
|
| 43 |
data-js="tribe-events-top-bar-datepicker-button"
|
| 44 |
type="button"
|
| 45 |
>
|
| 46 |
+
<time
|
| 47 |
+
datetime="<?php echo esc_attr( $selected_start_datetime ); ?>"
|
| 48 |
+
class="tribe-events-c-top-bar__datepicker-time"
|
| 49 |
+
>
|
| 50 |
+
<?php if ( $show_now ) : ?>
|
| 51 |
+
<span class="tribe-events-c-top-bar__datepicker-mobile">
|
| 52 |
+
<?php echo esc_html( $now_label_mobile ); ?>
|
| 53 |
+
</span>
|
| 54 |
+
<span class="tribe-events-c-top-bar__datepicker-desktop tribe-common-a11y-hidden">
|
| 55 |
+
<?php echo esc_html( $now_label ); ?>
|
| 56 |
+
</span>
|
| 57 |
+
<?php else : ?>
|
| 58 |
<span class="tribe-events-c-top-bar__datepicker-mobile">
|
| 59 |
<?php echo esc_html( $selected_start_date_mobile ); ?>
|
| 60 |
</span>
|
| 61 |
<span class="tribe-events-c-top-bar__datepicker-desktop tribe-common-a11y-hidden">
|
| 62 |
<?php echo esc_html( $selected_start_date_label ); ?>
|
| 63 |
</span>
|
| 64 |
+
<?php endif; ?>
|
| 65 |
+
</time>
|
| 66 |
<?php if ( $show_end ) : ?>
|
| 67 |
<span class="tribe-events-c-top-bar__datepicker-separator"> - </span>
|
| 68 |
<time
|
| 93 |
value="<?php echo esc_attr( $datepicker_date ); ?>"
|
| 94 |
tabindex="-1"
|
| 95 |
autocomplete="off"
|
| 96 |
+
readonly="readonly"
|
| 97 |
/>
|
| 98 |
<div class="tribe-events-c-top-bar__datepicker-container" data-js="tribe-events-top-bar-datepicker-container"></div>
|
| 99 |
</div>
|
src/views/v2/month.php
CHANGED
|
@@ -9,13 +9,14 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var string $rest_url The REST URL.
|
| 15 |
* @var string $rest_nonce The REST nonce.
|
| 16 |
* @var int $should_manage_url int containing if it should manage the URL.
|
| 17 |
* @var bool $disable_event_search Boolean on whether to disable the event search.
|
| 18 |
* @var string[] $container_classes Classes used for the container of the view.
|
|
|
|
| 19 |
*/
|
| 20 |
|
| 21 |
$header_classes = [ 'tribe-events-header' ];
|
|
@@ -29,6 +30,9 @@ if ( empty( $disable_event_search ) ) {
|
|
| 29 |
data-view-rest-nonce="<?php echo esc_attr( $rest_nonce ); ?>"
|
| 30 |
data-view-rest-url="<?php echo esc_url( $rest_url ); ?>"
|
| 31 |
data-view-manage-url="<?php echo esc_attr( $should_manage_url ); ?>"
|
|
|
|
|
|
|
|
|
|
| 32 |
>
|
| 33 |
<div class="tribe-common-l-container tribe-events-l-container">
|
| 34 |
<?php $this->template( 'components/loader', [ 'text' => __( 'Loading...', 'the-events-calendar' ) ] ); ?>
|
|
@@ -72,3 +76,5 @@ if ( empty( $disable_event_search ) ) {
|
|
| 72 |
</div>
|
| 73 |
|
| 74 |
</div>
|
|
|
|
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var string $rest_url The REST URL.
|
| 15 |
* @var string $rest_nonce The REST nonce.
|
| 16 |
* @var int $should_manage_url int containing if it should manage the URL.
|
| 17 |
* @var bool $disable_event_search Boolean on whether to disable the event search.
|
| 18 |
* @var string[] $container_classes Classes used for the container of the view.
|
| 19 |
+
* @var array $container_data An additional set of container `data` attributes.
|
| 20 |
*/
|
| 21 |
|
| 22 |
$header_classes = [ 'tribe-events-header' ];
|
| 30 |
data-view-rest-nonce="<?php echo esc_attr( $rest_nonce ); ?>"
|
| 31 |
data-view-rest-url="<?php echo esc_url( $rest_url ); ?>"
|
| 32 |
data-view-manage-url="<?php echo esc_attr( $should_manage_url ); ?>"
|
| 33 |
+
<?php foreach ( $container_data as $key => $value ) : ?>
|
| 34 |
+
data-view-<?php echo esc_attr( $key ) ?>="<?php echo esc_attr( $value ) ?>"
|
| 35 |
+
<?php endforeach; ?>
|
| 36 |
>
|
| 37 |
<div class="tribe-common-l-container tribe-events-l-container">
|
| 38 |
<?php $this->template( 'components/loader', [ 'text' => __( 'Loading...', 'the-events-calendar' ) ] ); ?>
|
| 76 |
</div>
|
| 77 |
|
| 78 |
</div>
|
| 79 |
+
|
| 80 |
+
<?php $this->template( 'components/breakpoints' ); ?>
|
src/views/v2/month/calendar-body/day/calendar-events/calendar-event.php
CHANGED
|
@@ -9,14 +9,14 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
| 16 |
* @see tribe_get_event() For the format of the event object.
|
| 17 |
*/
|
| 18 |
|
| 19 |
-
$classes =
|
| 20 |
|
| 21 |
if ( $event->featured ) {
|
| 22 |
$classes[] = 'tribe-events-calendar-month__calendar-event--featured';
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
| 16 |
* @see tribe_get_event() For the format of the event object.
|
| 17 |
*/
|
| 18 |
|
| 19 |
+
$classes = tribe_get_post_class( [ 'tribe-events-calendar-month__calendar-event' ], $event->ID );
|
| 20 |
|
| 21 |
if ( $event->featured ) {
|
| 22 |
$classes[] = 'tribe-events-calendar-month__calendar-event--featured';
|
src/views/v2/month/calendar-body/day/calendar-events/calendar-event/featured-image.php
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
|
@@ -25,7 +25,7 @@ if ( ! $event->featured || ! $event->thumbnail->exists ) {
|
|
| 25 |
<div class="tribe-events-calendar-month__calendar-event-featured-image-wrapper">
|
| 26 |
<a
|
| 27 |
href="<?php echo esc_url( $event->permalink ); ?>"
|
| 28 |
-
title="<?php echo esc_attr(
|
| 29 |
rel="bookmark"
|
| 30 |
class="tribe-events-calendar-month__calendar-event-featured-image-link"
|
| 31 |
>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
| 25 |
<div class="tribe-events-calendar-month__calendar-event-featured-image-wrapper">
|
| 26 |
<a
|
| 27 |
href="<?php echo esc_url( $event->permalink ); ?>"
|
| 28 |
+
title="<?php echo esc_attr( $event->title ); ?>"
|
| 29 |
rel="bookmark"
|
| 30 |
class="tribe-events-calendar-month__calendar-event-featured-image-link"
|
| 31 |
>
|
src/views/v2/month/calendar-body/day/calendar-events/calendar-event/title.php
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTICLE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
|
@@ -20,13 +20,16 @@
|
|
| 20 |
<h3 class="tribe-events-calendar-month__calendar-event-title tribe-common-h8 tribe-common-h--alt">
|
| 21 |
<a
|
| 22 |
href="<?php echo esc_url( $event->permalink ) ?>"
|
| 23 |
-
title="<?php echo esc_attr(
|
| 24 |
rel="bookmark"
|
| 25 |
class="tribe-events-calendar-month__calendar-event-title-link tribe-common-anchor-thin"
|
| 26 |
data-js="tribe-events-tooltip"
|
| 27 |
data-tooltip-content="#tribe-events-tooltip-content-<?php echo esc_attr( $event->ID ); ?>"
|
| 28 |
aria-describedby="tribe-events-tooltip-content-<?php echo esc_attr( $event->ID ); ?>"
|
| 29 |
>
|
| 30 |
-
<?php
|
|
|
|
|
|
|
|
|
|
| 31 |
</a>
|
| 32 |
</h3>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTICLE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
| 20 |
<h3 class="tribe-events-calendar-month__calendar-event-title tribe-common-h8 tribe-common-h--alt">
|
| 21 |
<a
|
| 22 |
href="<?php echo esc_url( $event->permalink ) ?>"
|
| 23 |
+
title="<?php echo esc_attr( $event->title ); ?>"
|
| 24 |
rel="bookmark"
|
| 25 |
class="tribe-events-calendar-month__calendar-event-title-link tribe-common-anchor-thin"
|
| 26 |
data-js="tribe-events-tooltip"
|
| 27 |
data-tooltip-content="#tribe-events-tooltip-content-<?php echo esc_attr( $event->ID ); ?>"
|
| 28 |
aria-describedby="tribe-events-tooltip-content-<?php echo esc_attr( $event->ID ); ?>"
|
| 29 |
>
|
| 30 |
+
<?php
|
| 31 |
+
// phpcs:ignore
|
| 32 |
+
echo $event->title;
|
| 33 |
+
?>
|
| 34 |
</a>
|
| 35 |
</h3>
|
src/views/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/featured-image.php
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
|
@@ -23,7 +23,7 @@ if ( ! $event->thumbnail->exists ) {
|
|
| 23 |
<div class="tribe-events-calendar-month__calendar-event-tooltip-featured-image-wrapper">
|
| 24 |
<a
|
| 25 |
href="<?php echo esc_url( $event->permalink ); ?>"
|
| 26 |
-
title="<?php echo esc_attr(
|
| 27 |
rel="bookmark"
|
| 28 |
class="tribe-events-calendar-month__calendar-event-tooltip-featured-image-link"
|
| 29 |
>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
| 23 |
<div class="tribe-events-calendar-month__calendar-event-tooltip-featured-image-wrapper">
|
| 24 |
<a
|
| 25 |
href="<?php echo esc_url( $event->permalink ); ?>"
|
| 26 |
+
title="<?php echo esc_attr( $event->title ); ?>"
|
| 27 |
rel="bookmark"
|
| 28 |
class="tribe-events-calendar-month__calendar-event-tooltip-featured-image-link"
|
| 29 |
>
|
src/views/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/title.php
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTICLE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
|
@@ -20,10 +20,13 @@
|
|
| 20 |
<h3 class="tribe-events-calendar-month__calendar-event-tooltip-title tribe-common-h7">
|
| 21 |
<a
|
| 22 |
href="<?php echo esc_url( $event->permalink ) ?>"
|
| 23 |
-
title="<?php echo esc_attr(
|
| 24 |
rel="bookmark"
|
| 25 |
class="tribe-events-calendar-month__calendar-event-tooltip-title-link tribe-common-anchor-thin"
|
| 26 |
>
|
| 27 |
-
<?php
|
|
|
|
|
|
|
|
|
|
| 28 |
</a>
|
| 29 |
</h3>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTICLE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
| 20 |
<h3 class="tribe-events-calendar-month__calendar-event-tooltip-title tribe-common-h7">
|
| 21 |
<a
|
| 22 |
href="<?php echo esc_url( $event->permalink ) ?>"
|
| 23 |
+
title="<?php echo esc_attr( $event->title ); ?>"
|
| 24 |
rel="bookmark"
|
| 25 |
class="tribe-events-calendar-month__calendar-event-tooltip-title-link tribe-common-anchor-thin"
|
| 26 |
>
|
| 27 |
+
<?php
|
| 28 |
+
// phpcs:ignore
|
| 29 |
+
echo $event->title;
|
| 30 |
+
?>
|
| 31 |
</a>
|
| 32 |
</h3>
|
src/views/v2/month/calendar-body/day/multiday-events/multiday-event.php
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var string $day_date The `Y-m-d` date of the day currently being displayed.
|
| 15 |
* @var string $today_date Today's date in the `Y-m-d` format.
|
|
@@ -31,7 +31,7 @@ use Tribe__Date_Utils as Dates;
|
|
| 31 |
$should_display = $event->dates->start_display->format( 'Y-m-d' ) === $day_date
|
| 32 |
|| $is_start_of_week;
|
| 33 |
|
| 34 |
-
$classes =
|
| 35 |
|
| 36 |
// @todo @fe move class configuration to template tag
|
| 37 |
|
|
@@ -68,8 +68,6 @@ if ( $should_display ) {
|
|
| 68 |
$classes[] = 'tribe-events-calendar-month__multiday-event--past';
|
| 69 |
}
|
| 70 |
}
|
| 71 |
-
|
| 72 |
-
$classes = get_post_class( $classes, $event->ID );
|
| 73 |
?>
|
| 74 |
<div class="tribe-events-calendar-month__multiday-event-wrapper">
|
| 75 |
<article <?php tribe_classes( $classes ); ?> data-event-id="<?php echo esc_attr( $event->ID ); ?>">
|
|
@@ -95,7 +93,10 @@ $classes = get_post_class( $classes, $event->ID );
|
|
| 95 |
></em>
|
| 96 |
<?php endif; ?>
|
| 97 |
<h3 class="tribe-events-calendar-month__multiday-event-hidden-title tribe-common-h8">
|
| 98 |
-
<?php
|
|
|
|
|
|
|
|
|
|
| 99 |
</h3>
|
| 100 |
</a>
|
| 101 |
</div>
|
|
@@ -110,7 +111,10 @@ $classes = get_post_class( $classes, $event->ID );
|
|
| 110 |
></em>
|
| 111 |
<?php endif; ?>
|
| 112 |
<h3 class="tribe-events-calendar-month__multiday-event-bar-title tribe-common-h8">
|
| 113 |
-
<?php
|
|
|
|
|
|
|
|
|
|
| 114 |
</h3>
|
| 115 |
</div>
|
| 116 |
</div>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var string $day_date The `Y-m-d` date of the day currently being displayed.
|
| 15 |
* @var string $today_date Today's date in the `Y-m-d` format.
|
| 31 |
$should_display = $event->dates->start_display->format( 'Y-m-d' ) === $day_date
|
| 32 |
|| $is_start_of_week;
|
| 33 |
|
| 34 |
+
$classes = tribe_get_post_class( [ 'tribe-events-calendar-month__multiday-event' ], $event->ID );
|
| 35 |
|
| 36 |
// @todo @fe move class configuration to template tag
|
| 37 |
|
| 68 |
$classes[] = 'tribe-events-calendar-month__multiday-event--past';
|
| 69 |
}
|
| 70 |
}
|
|
|
|
|
|
|
| 71 |
?>
|
| 72 |
<div class="tribe-events-calendar-month__multiday-event-wrapper">
|
| 73 |
<article <?php tribe_classes( $classes ); ?> data-event-id="<?php echo esc_attr( $event->ID ); ?>">
|
| 93 |
></em>
|
| 94 |
<?php endif; ?>
|
| 95 |
<h3 class="tribe-events-calendar-month__multiday-event-hidden-title tribe-common-h8">
|
| 96 |
+
<?php
|
| 97 |
+
// phpcs:ignore
|
| 98 |
+
echo $event->title;
|
| 99 |
+
?>
|
| 100 |
</h3>
|
| 101 |
</a>
|
| 102 |
</div>
|
| 111 |
></em>
|
| 112 |
<?php endif; ?>
|
| 113 |
<h3 class="tribe-events-calendar-month__multiday-event-bar-title tribe-common-h8">
|
| 114 |
+
<?php
|
| 115 |
+
// phpcs:ignore
|
| 116 |
+
echo $event->title;
|
| 117 |
+
?>
|
| 118 |
</h3>
|
| 119 |
</div>
|
| 120 |
</div>
|
src/views/v2/month/mobile-events/mobile-day/mobile-event.php
CHANGED
|
@@ -9,13 +9,13 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
| 16 |
* @see tribe_get_event() For the format of the event object.
|
| 17 |
*/
|
| 18 |
-
$classes =
|
| 19 |
$classes['tribe-events-calendar-month-mobile-events__mobile-event--featured'] = $event->featured;
|
| 20 |
?>
|
| 21 |
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
| 16 |
* @see tribe_get_event() For the format of the event object.
|
| 17 |
*/
|
| 18 |
+
$classes = tribe_get_post_class( [ 'tribe-events-calendar-month-mobile-events__mobile-event' ], $event->ID );
|
| 19 |
$classes['tribe-events-calendar-month-mobile-events__mobile-event--featured'] = $event->featured;
|
| 20 |
?>
|
| 21 |
|
src/views/v2/month/mobile-events/mobile-day/mobile-event/title.php
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
|
@@ -22,10 +22,13 @@ $classes = [ 'tribe-events-calendar-month-mobile-events__mobile-event-title', 't
|
|
| 22 |
<h3 <?php tribe_classes( $classes ); ?>>
|
| 23 |
<a
|
| 24 |
href="<?php echo esc_url( $event->permalink ) ?>"
|
| 25 |
-
title="<?php echo esc_attr(
|
| 26 |
rel="bookmark"
|
| 27 |
class="tribe-events-calendar-month-mobile-events__mobile-event-title-link tribe-common-anchor"
|
| 28 |
>
|
| 29 |
-
<?php
|
|
|
|
|
|
|
|
|
|
| 30 |
</a>
|
| 31 |
</h3>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
| 15 |
*
|
| 22 |
<h3 <?php tribe_classes( $classes ); ?>>
|
| 23 |
<a
|
| 24 |
href="<?php echo esc_url( $event->permalink ) ?>"
|
| 25 |
+
title="<?php echo esc_attr( $event->title ) ?>"
|
| 26 |
rel="bookmark"
|
| 27 |
class="tribe-events-calendar-month-mobile-events__mobile-event-title-link tribe-common-anchor"
|
| 28 |
>
|
| 29 |
+
<?php
|
| 30 |
+
// phpcs:ignore
|
| 31 |
+
echo $event->title;
|
| 32 |
+
?>
|
| 33 |
</a>
|
| 34 |
</h3>
|
src/views/v2/month/top-bar/datepicker.php
CHANGED
|
@@ -9,15 +9,17 @@
|
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
-
* @version
|
| 13 |
*
|
| 14 |
-
* @var string $now
|
| 15 |
-
* @var string $grid_date
|
| 16 |
-
* @var string $formatted_grid_date
|
| 17 |
-
*
|
| 18 |
-
* @var
|
| 19 |
-
*
|
| 20 |
-
* @var
|
|
|
|
|
|
|
| 21 |
*/
|
| 22 |
use Tribe__Date_Utils as Dates;
|
| 23 |
|
|
@@ -45,7 +47,12 @@ $datepicker_date = Dates::build_date_object( $selected_date_value )->format(
|
|
| 45 |
datetime="<?php echo esc_attr( $the_date->format( 'Y-m' ) ); ?>"
|
| 46 |
class="tribe-events-c-top-bar__datepicker-time"
|
| 47 |
>
|
| 48 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 49 |
</time>
|
| 50 |
</button>
|
| 51 |
<label
|
|
@@ -63,6 +70,7 @@ $datepicker_date = Dates::build_date_object( $selected_date_value )->format(
|
|
| 63 |
value="<?php echo esc_attr( $datepicker_date ); ?>"
|
| 64 |
tabindex="-1"
|
| 65 |
autocomplete="off"
|
|
|
|
| 66 |
/>
|
| 67 |
<div class="tribe-events-c-top-bar__datepicker-container" data-js="tribe-events-top-bar-datepicker-container"></div>
|
| 68 |
</div>
|
| 9 |
*
|
| 10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
| 11 |
*
|
| 12 |
+
* @version 5.0.0
|
| 13 |
*
|
| 14 |
+
* @var string $now The current date and time in the `Y-m-d H:i:s` format.
|
| 15 |
+
* @var string $grid_date The current calendar grid date in the `Y-m-d` format.
|
| 16 |
+
* @var string $formatted_grid_date The current calendar grid date in the format specified by the "Month and
|
| 17 |
+
* year format" option.
|
| 18 |
+
* @var string $formatted_grid_date_mobile The current calendar grid date in the format specified by the "Compact
|
| 19 |
+
* Date Format" option.
|
| 20 |
+
* @var object $date_formats Object containing the date formats.
|
| 21 |
+
* @var \DateTime $the_date The Month current date object.
|
| 22 |
+
* @var bool $show_datepicker_submit Boolean on whether to show the datepicker submit button.
|
| 23 |
*/
|
| 24 |
use Tribe__Date_Utils as Dates;
|
| 25 |
|
| 47 |
datetime="<?php echo esc_attr( $the_date->format( 'Y-m' ) ); ?>"
|
| 48 |
class="tribe-events-c-top-bar__datepicker-time"
|
| 49 |
>
|
| 50 |
+
<span class="tribe-events-c-top-bar__datepicker-mobile">
|
| 51 |
+
<?php echo esc_html( $formatted_grid_date_mobile ); ?>
|
| 52 |
+
</span>
|
| 53 |
+
<span class="tribe-events-c-top-bar__datepicker-desktop tribe-common-a11y-hidden">
|
| 54 |
+
<?php echo esc_html( $formatted_grid_date ); ?>
|
| 55 |
+
</span>
|
| 56 |
</time>
|
| 57 |
</button>
|
| 58 |
<label
|
| 70 |
value="<?php echo esc_attr( $datepicker_date ); ?>"
|
| 71 |
tabindex="-1"
|
| 72 |
autocomplete="off"
|
| 73 |
+
readonly="readonly"
|
| 74 |
/>
|
| 75 |
<div class="tribe-events-c-top-bar__datepicker-container" data-js="tribe-events-top-bar-datepicker-container"></div>
|
| 76 |
</div>
|
the-events-calendar.php
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
/**
|
| 3 |
* Plugin Name: The Events Calendar
|
| 4 |
* Description: The Events Calendar is a carefully crafted, extensible plugin that lets you easily share your events. Beautiful. Solid. Awesome.
|
| 5 |
-
* Version:
|
| 6 |
* Author: Modern Tribe, Inc.
|
| 7 |
* Author URI: http://m.tri.be/1x
|
| 8 |
* Text Domain: the-events-calendar
|
| 2 |
/**
|
| 3 |
* Plugin Name: The Events Calendar
|
| 4 |
* Description: The Events Calendar is a carefully crafted, extensible plugin that lets you easily share your events. Beautiful. Solid. Awesome.
|
| 5 |
+
* Version: 5.0.0
|
| 6 |
* Author: Modern Tribe, Inc.
|
| 7 |
* Author URI: http://m.tri.be/1x
|
| 8 |
* Text Domain: the-events-calendar
|
vendor/autoload.php
CHANGED
|
@@ -4,4 +4,4 @@
|
|
| 4 |
|
| 5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
| 6 |
|
| 7 |
-
return
|
| 4 |
|
| 5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
| 6 |
|
| 7 |
+
return ComposerAutoloaderInit90b2d40d30293114448f01fa5aadf76f::getLoader();
|
vendor/composer/autoload_classmap.php
CHANGED
|
@@ -6,6 +6,7 @@ $vendorDir = dirname(dirname(__FILE__));
|
|
| 6 |
$baseDir = dirname($vendorDir);
|
| 7 |
|
| 8 |
return array(
|
|
|
|
| 9 |
'Tribe\\Events\\Models\\Post_Types\\Event' => $baseDir . '/src/Tribe/Models/Post_Types/Event.php',
|
| 10 |
'Tribe\\Events\\Models\\Post_Types\\Venue' => $baseDir . '/src/Tribe/Models/Post_Types/Venue.php',
|
| 11 |
'Tribe\\Events\\Service_Providers\\Context' => $baseDir . '/src/Tribe/Service_Providers/Context.php',
|
|
@@ -27,6 +28,7 @@ return array(
|
|
| 27 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Breadcrumb\\BreadcrumbTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Breadcrumbs/BreadcrumbTest.php',
|
| 28 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Breadcrumb\\Linked_BreadcrumbTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Breadcrumbs/Linked_BreadcrumbTest.php',
|
| 29 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\BreadcrumbsTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/BreadcrumbsTest.php',
|
|
|
|
| 30 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\DataTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/DataTest.php',
|
| 31 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Events_BarTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Events_BarTest.php',
|
| 32 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Events_Bar\\FiltersTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Events_Bar/FiltersTest.php',
|
|
@@ -136,6 +138,7 @@ return array(
|
|
| 136 |
'Tribe\\Events\\Views\\V2\\Repository\\Events_Result_Set' => $baseDir . '/src/Tribe/Views/V2/Repository/Events_Result_Set.php',
|
| 137 |
'Tribe\\Events\\Views\\V2\\Rest_Endpoint' => $baseDir . '/src/Tribe/Views/V2/Rest_Endpoint.php',
|
| 138 |
'Tribe\\Events\\Views\\V2\\Rest_EndpointTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Rest_EndpointTest.php',
|
|
|
|
| 139 |
'Tribe\\Events\\Views\\V2\\Service_Provider' => $baseDir . '/src/Tribe/Views/V2/Service_Provider.php',
|
| 140 |
'Tribe\\Events\\Views\\V2\\Template' => $baseDir . '/src/Tribe/Views/V2/Template.php',
|
| 141 |
'Tribe\\Events\\Views\\V2\\TemplateBootstrapTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/TemplateBootstrapTest.php',
|
|
@@ -189,11 +192,13 @@ return array(
|
|
| 189 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\MonthDayTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/MonthDayTest.php',
|
| 190 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\MonthEventMultidayTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/MonthEventMultidayTest.php',
|
| 191 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\Tooltip\\MonthTooltipCostTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/Tooltip/MonthTooltipCostTest.php',
|
| 192 |
-
'Tribe\\Events\\Views\\V2\\Views\\List_Behavior' => $baseDir . '/src/Tribe/Views/V2/Views/List_Behavior.php',
|
| 193 |
-
'Tribe\\Events\\Views\\V2\\Views\\List_BehaviorTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Views/List_BehaviorTest.php',
|
| 194 |
'Tribe\\Events\\Views\\V2\\Views\\List_View' => $baseDir . '/src/Tribe/Views/V2/Views/List_View.php',
|
| 195 |
'Tribe\\Events\\Views\\V2\\Views\\List_ViewTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Views/List_ViewTest.php',
|
| 196 |
'Tribe\\Events\\Views\\V2\\Views\\Month_View' => $baseDir . '/src/Tribe/Views/V2/Views/Month_View.php',
|
| 197 |
'Tribe\\Events\\Views\\V2\\Views\\Month_ViewTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Views/Month_ViewTest.php',
|
| 198 |
'Tribe\\Events\\Views\\V2\\Views\\Reflector_View' => $baseDir . '/src/Tribe/Views/V2/Views/Reflector_View.php',
|
|
|
|
|
|
|
|
|
|
|
|
|
| 199 |
);
|
| 6 |
$baseDir = dirname($vendorDir);
|
| 7 |
|
| 8 |
return array(
|
| 9 |
+
'Tribe\\Events\\Collections\\Lazy_Post_Collection' => $baseDir . '/src/Tribe/Collections/Lazy_Post_Collection.php',
|
| 10 |
'Tribe\\Events\\Models\\Post_Types\\Event' => $baseDir . '/src/Tribe/Models/Post_Types/Event.php',
|
| 11 |
'Tribe\\Events\\Models\\Post_Types\\Venue' => $baseDir . '/src/Tribe/Models/Post_Types/Venue.php',
|
| 12 |
'Tribe\\Events\\Service_Providers\\Context' => $baseDir . '/src/Tribe/Service_Providers/Context.php',
|
| 28 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Breadcrumb\\BreadcrumbTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Breadcrumbs/BreadcrumbTest.php',
|
| 29 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Breadcrumb\\Linked_BreadcrumbTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Breadcrumbs/Linked_BreadcrumbTest.php',
|
| 30 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\BreadcrumbsTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/BreadcrumbsTest.php',
|
| 31 |
+
'Tribe\\Events\\Views\\V2\\Partials\\Components\\BreakpointsTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/BreakpointsTest.php',
|
| 32 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\DataTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/DataTest.php',
|
| 33 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Events_BarTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Events_BarTest.php',
|
| 34 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Events_Bar\\FiltersTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Events_Bar/FiltersTest.php',
|
| 138 |
'Tribe\\Events\\Views\\V2\\Repository\\Events_Result_Set' => $baseDir . '/src/Tribe/Views/V2/Repository/Events_Result_Set.php',
|
| 139 |
'Tribe\\Events\\Views\\V2\\Rest_Endpoint' => $baseDir . '/src/Tribe/Views/V2/Rest_Endpoint.php',
|
| 140 |
'Tribe\\Events\\Views\\V2\\Rest_EndpointTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Rest_EndpointTest.php',
|
| 141 |
+
'Tribe\\Events\\Views\\V2\\Rewrite' => $baseDir . '/src/Tribe/Views/V2/Rewrite.php',
|
| 142 |
'Tribe\\Events\\Views\\V2\\Service_Provider' => $baseDir . '/src/Tribe/Views/V2/Service_Provider.php',
|
| 143 |
'Tribe\\Events\\Views\\V2\\Template' => $baseDir . '/src/Tribe/Views/V2/Template.php',
|
| 144 |
'Tribe\\Events\\Views\\V2\\TemplateBootstrapTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/TemplateBootstrapTest.php',
|
| 192 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\MonthDayTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/MonthDayTest.php',
|
| 193 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\MonthEventMultidayTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/MonthEventMultidayTest.php',
|
| 194 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\Tooltip\\MonthTooltipCostTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/Tooltip/MonthTooltipCostTest.php',
|
|
|
|
|
|
|
| 195 |
'Tribe\\Events\\Views\\V2\\Views\\List_View' => $baseDir . '/src/Tribe/Views/V2/Views/List_View.php',
|
| 196 |
'Tribe\\Events\\Views\\V2\\Views\\List_ViewTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Views/List_ViewTest.php',
|
| 197 |
'Tribe\\Events\\Views\\V2\\Views\\Month_View' => $baseDir . '/src/Tribe/Views/V2/Views/Month_View.php',
|
| 198 |
'Tribe\\Events\\Views\\V2\\Views\\Month_ViewTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Views/Month_ViewTest.php',
|
| 199 |
'Tribe\\Events\\Views\\V2\\Views\\Reflector_View' => $baseDir . '/src/Tribe/Views/V2/Views/Reflector_View.php',
|
| 200 |
+
'Tribe\\Events\\Views\\V2\\Views\\Traits\\Breakpoint_Behavior' => $baseDir . '/src/Tribe/Views/V2/Views/Traits/Breakpoint_Behavior.php',
|
| 201 |
+
'Tribe\\Events\\Views\\V2\\Views\\Traits\\HTML_Cache' => $baseDir . '/src/Tribe/Views/V2/Views/Traits/HTML_Cache.php',
|
| 202 |
+
'Tribe\\Events\\Views\\V2\\Views\\Traits\\List_Behavior' => $baseDir . '/src/Tribe/Views/V2/Views/Traits/List_Behavior.php',
|
| 203 |
+
'Tribe\\Events\\Views\\V2\\Views\\Traits\\List_BehaviorTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Views/Traits/List_BehaviorTest.php',
|
| 204 |
);
|
vendor/composer/autoload_real.php
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
// autoload_real.php @generated by Composer
|
| 4 |
|
| 5 |
-
class
|
| 6 |
{
|
| 7 |
private static $loader;
|
| 8 |
|
|
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit21045e0b9799edab4f7e2ed6cf686fe6
|
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
-
spl_autoload_register(array('
|
| 23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
| 24 |
-
spl_autoload_unregister(array('
|
| 25 |
|
| 26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
| 27 |
if ($useStaticLoader) {
|
| 28 |
require_once __DIR__ . '/autoload_static.php';
|
| 29 |
|
| 30 |
-
call_user_func(\Composer\Autoload\
|
| 31 |
} else {
|
| 32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
| 33 |
foreach ($map as $namespace => $path) {
|
| 2 |
|
| 3 |
// autoload_real.php @generated by Composer
|
| 4 |
|
| 5 |
+
class ComposerAutoloaderInit90b2d40d30293114448f01fa5aadf76f
|
| 6 |
{
|
| 7 |
private static $loader;
|
| 8 |
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
+
spl_autoload_register(array('ComposerAutoloaderInit90b2d40d30293114448f01fa5aadf76f', 'loadClassLoader'), true, true);
|
| 23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
| 24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit90b2d40d30293114448f01fa5aadf76f', 'loadClassLoader'));
|
| 25 |
|
| 26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
| 27 |
if ($useStaticLoader) {
|
| 28 |
require_once __DIR__ . '/autoload_static.php';
|
| 29 |
|
| 30 |
+
call_user_func(\Composer\Autoload\ComposerStaticInit90b2d40d30293114448f01fa5aadf76f::getInitializer($loader));
|
| 31 |
} else {
|
| 32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
| 33 |
foreach ($map as $namespace => $path) {
|
vendor/composer/autoload_static.php
CHANGED
|
@@ -4,7 +4,7 @@
|
|
| 4 |
|
| 5 |
namespace Composer\Autoload;
|
| 6 |
|
| 7 |
-
class
|
| 8 |
{
|
| 9 |
public static $prefixLengthsPsr4 = array (
|
| 10 |
'T' =>
|
|
@@ -31,6 +31,7 @@ class ComposerStaticInit21045e0b9799edab4f7e2ed6cf686fe6
|
|
| 31 |
);
|
| 32 |
|
| 33 |
public static $classMap = array (
|
|
|
|
| 34 |
'Tribe\\Events\\Models\\Post_Types\\Event' => __DIR__ . '/../..' . '/src/Tribe/Models/Post_Types/Event.php',
|
| 35 |
'Tribe\\Events\\Models\\Post_Types\\Venue' => __DIR__ . '/../..' . '/src/Tribe/Models/Post_Types/Venue.php',
|
| 36 |
'Tribe\\Events\\Service_Providers\\Context' => __DIR__ . '/../..' . '/src/Tribe/Service_Providers/Context.php',
|
|
@@ -52,6 +53,7 @@ class ComposerStaticInit21045e0b9799edab4f7e2ed6cf686fe6
|
|
| 52 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Breadcrumb\\BreadcrumbTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Breadcrumbs/BreadcrumbTest.php',
|
| 53 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Breadcrumb\\Linked_BreadcrumbTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Breadcrumbs/Linked_BreadcrumbTest.php',
|
| 54 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\BreadcrumbsTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/BreadcrumbsTest.php',
|
|
|
|
| 55 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\DataTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/DataTest.php',
|
| 56 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Events_BarTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Events_BarTest.php',
|
| 57 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Events_Bar\\FiltersTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Events_Bar/FiltersTest.php',
|
|
@@ -161,6 +163,7 @@ class ComposerStaticInit21045e0b9799edab4f7e2ed6cf686fe6
|
|
| 161 |
'Tribe\\Events\\Views\\V2\\Repository\\Events_Result_Set' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Repository/Events_Result_Set.php',
|
| 162 |
'Tribe\\Events\\Views\\V2\\Rest_Endpoint' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Rest_Endpoint.php',
|
| 163 |
'Tribe\\Events\\Views\\V2\\Rest_EndpointTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Rest_EndpointTest.php',
|
|
|
|
| 164 |
'Tribe\\Events\\Views\\V2\\Service_Provider' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Service_Provider.php',
|
| 165 |
'Tribe\\Events\\Views\\V2\\Template' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Template.php',
|
| 166 |
'Tribe\\Events\\Views\\V2\\TemplateBootstrapTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/TemplateBootstrapTest.php',
|
|
@@ -214,21 +217,23 @@ class ComposerStaticInit21045e0b9799edab4f7e2ed6cf686fe6
|
|
| 214 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\MonthDayTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/MonthDayTest.php',
|
| 215 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\MonthEventMultidayTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/MonthEventMultidayTest.php',
|
| 216 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\Tooltip\\MonthTooltipCostTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/Tooltip/MonthTooltipCostTest.php',
|
| 217 |
-
'Tribe\\Events\\Views\\V2\\Views\\List_Behavior' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Views/List_Behavior.php',
|
| 218 |
-
'Tribe\\Events\\Views\\V2\\Views\\List_BehaviorTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Views/List_BehaviorTest.php',
|
| 219 |
'Tribe\\Events\\Views\\V2\\Views\\List_View' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Views/List_View.php',
|
| 220 |
'Tribe\\Events\\Views\\V2\\Views\\List_ViewTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Views/List_ViewTest.php',
|
| 221 |
'Tribe\\Events\\Views\\V2\\Views\\Month_View' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Views/Month_View.php',
|
| 222 |
'Tribe\\Events\\Views\\V2\\Views\\Month_ViewTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Views/Month_ViewTest.php',
|
| 223 |
'Tribe\\Events\\Views\\V2\\Views\\Reflector_View' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Views/Reflector_View.php',
|
|
|
|
|
|
|
|
|
|
|
|
|
| 224 |
);
|
| 225 |
|
| 226 |
public static function getInitializer(ClassLoader $loader)
|
| 227 |
{
|
| 228 |
return \Closure::bind(function () use ($loader) {
|
| 229 |
-
$loader->prefixLengthsPsr4 =
|
| 230 |
-
$loader->prefixDirsPsr4 =
|
| 231 |
-
$loader->classMap =
|
| 232 |
|
| 233 |
}, null, ClassLoader::class);
|
| 234 |
}
|
| 4 |
|
| 5 |
namespace Composer\Autoload;
|
| 6 |
|
| 7 |
+
class ComposerStaticInit90b2d40d30293114448f01fa5aadf76f
|
| 8 |
{
|
| 9 |
public static $prefixLengthsPsr4 = array (
|
| 10 |
'T' =>
|
| 31 |
);
|
| 32 |
|
| 33 |
public static $classMap = array (
|
| 34 |
+
'Tribe\\Events\\Collections\\Lazy_Post_Collection' => __DIR__ . '/../..' . '/src/Tribe/Collections/Lazy_Post_Collection.php',
|
| 35 |
'Tribe\\Events\\Models\\Post_Types\\Event' => __DIR__ . '/../..' . '/src/Tribe/Models/Post_Types/Event.php',
|
| 36 |
'Tribe\\Events\\Models\\Post_Types\\Venue' => __DIR__ . '/../..' . '/src/Tribe/Models/Post_Types/Venue.php',
|
| 37 |
'Tribe\\Events\\Service_Providers\\Context' => __DIR__ . '/../..' . '/src/Tribe/Service_Providers/Context.php',
|
| 53 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Breadcrumb\\BreadcrumbTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Breadcrumbs/BreadcrumbTest.php',
|
| 54 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Breadcrumb\\Linked_BreadcrumbTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Breadcrumbs/Linked_BreadcrumbTest.php',
|
| 55 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\BreadcrumbsTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/BreadcrumbsTest.php',
|
| 56 |
+
'Tribe\\Events\\Views\\V2\\Partials\\Components\\BreakpointsTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/BreakpointsTest.php',
|
| 57 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\DataTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/DataTest.php',
|
| 58 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Events_BarTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Events_BarTest.php',
|
| 59 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Events_Bar\\FiltersTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Events_Bar/FiltersTest.php',
|
| 163 |
'Tribe\\Events\\Views\\V2\\Repository\\Events_Result_Set' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Repository/Events_Result_Set.php',
|
| 164 |
'Tribe\\Events\\Views\\V2\\Rest_Endpoint' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Rest_Endpoint.php',
|
| 165 |
'Tribe\\Events\\Views\\V2\\Rest_EndpointTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Rest_EndpointTest.php',
|
| 166 |
+
'Tribe\\Events\\Views\\V2\\Rewrite' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Rewrite.php',
|
| 167 |
'Tribe\\Events\\Views\\V2\\Service_Provider' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Service_Provider.php',
|
| 168 |
'Tribe\\Events\\Views\\V2\\Template' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Template.php',
|
| 169 |
'Tribe\\Events\\Views\\V2\\TemplateBootstrapTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/TemplateBootstrapTest.php',
|
| 217 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\MonthDayTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/MonthDayTest.php',
|
| 218 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\MonthEventMultidayTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/MonthEventMultidayTest.php',
|
| 219 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\Tooltip\\MonthTooltipCostTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/Tooltip/MonthTooltipCostTest.php',
|
|
|
|
|
|
|
| 220 |
'Tribe\\Events\\Views\\V2\\Views\\List_View' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Views/List_View.php',
|
| 221 |
'Tribe\\Events\\Views\\V2\\Views\\List_ViewTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Views/List_ViewTest.php',
|
| 222 |
'Tribe\\Events\\Views\\V2\\Views\\Month_View' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Views/Month_View.php',
|
| 223 |
'Tribe\\Events\\Views\\V2\\Views\\Month_ViewTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Views/Month_ViewTest.php',
|
| 224 |
'Tribe\\Events\\Views\\V2\\Views\\Reflector_View' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Views/Reflector_View.php',
|
| 225 |
+
'Tribe\\Events\\Views\\V2\\Views\\Traits\\Breakpoint_Behavior' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Views/Traits/Breakpoint_Behavior.php',
|
| 226 |
+
'Tribe\\Events\\Views\\V2\\Views\\Traits\\HTML_Cache' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Views/Traits/HTML_Cache.php',
|
| 227 |
+
'Tribe\\Events\\Views\\V2\\Views\\Traits\\List_Behavior' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Views/Traits/List_Behavior.php',
|
| 228 |
+
'Tribe\\Events\\Views\\V2\\Views\\Traits\\List_BehaviorTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Views/Traits/List_BehaviorTest.php',
|
| 229 |
);
|
| 230 |
|
| 231 |
public static function getInitializer(ClassLoader $loader)
|
| 232 |
{
|
| 233 |
return \Closure::bind(function () use ($loader) {
|
| 234 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit90b2d40d30293114448f01fa5aadf76f::$prefixLengthsPsr4;
|
| 235 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit90b2d40d30293114448f01fa5aadf76f::$prefixDirsPsr4;
|
| 236 |
+
$loader->classMap = ComposerStaticInit90b2d40d30293114448f01fa5aadf76f::$classMap;
|
| 237 |
|
| 238 |
}, null, ClassLoader::class);
|
| 239 |
}
|
