Version Description
Download this release
Release Info
Developer | bordoni |
Plugin | The Events Calendar |
Version | 4.9.13 |
Comparing to | |
See all releases |
Code changes from version 4.9.12 to 4.9.13
- common/lang/tribe-common-cs_CZ.mo +0 -0
- common/lang/tribe-common-de_DE.mo +0 -0
- common/lang/tribe-common.pot +38 -3
- common/src/Tribe/Cache.php +80 -1
- common/src/Tribe/Context.php +46 -4
- common/src/Tribe/Date_Utils.php +134 -18
- common/src/Tribe/Debug_Bar/Panels/Context.php +2 -2
- common/src/Tribe/Dialog/View.php +17 -17
- common/src/Tribe/Feature_Detection.php +106 -0
- common/src/Tribe/Main.php +1 -1
- common/src/Tribe/Models/Post_Types/Base.php +17 -12
- common/src/Tribe/Repository/Core_Read_Interface.php +402 -0
- common/src/Tribe/Repository/Filter_Validation.php +61 -0
- common/src/Tribe/Repository/Interface.php +0 -7
- common/src/Tribe/Repository/Read_Interface.php +4 -378
- common/src/Tribe/Repository/Usage_Error.php +41 -0
- common/src/Tribe/Rewrite.php +1 -1
- common/src/Tribe/Service_Providers/Dialog.php +8 -8
- common/src/Tribe/Template.php +36 -0
- common/src/Tribe/Timezones.php +11 -2
- common/src/Tribe/Tooltip/View.php +1 -1
- common/src/Tribe/Utils/Collection_Trait.php +23 -0
- common/src/Tribe/Utils/Lazy_Events.php +5 -1
- common/src/functions/template-tags/html.php +3 -3
- common/src/functions/utils.php +8 -8
- common/src/resources/css/common-full.css +24 -15
- common/src/resources/css/common-full.min.css +1 -1
- common/src/resources/css/common-skeleton.css +62 -19
- common/src/resources/css/common-skeleton.min.css +1 -1
- common/src/resources/css/dialog.css +2 -1
- common/src/resources/css/dialog.min.css +1 -1
- common/src/resources/images/mascot.png +0 -0
- common/src/resources/postcss/base/full/typography/_anchors.pcss +1 -0
- common/src/resources/postcss/base/skeleton/grid/_rows.pcss +38 -0
- common/src/resources/postcss/dialog.pcss +2 -1
- 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 -14
- 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/src/views/dialog/alert.php +2 -2
- common/src/views/dialog/button.php +2 -2
- common/src/views/dialog/confirm.php +2 -2
- common/src/views/dialog/dialog.php +2 -2
- common/src/views/dialog/modal.php +2 -2
- 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-bg_BG.mo +0 -0
- lang/the-events-calendar-bs_BA.mo +0 -0
- lang/the-events-calendar-ca.mo +0 -0
- lang/the-events-calendar-cs_CZ.mo +0 -0
- lang/the-events-calendar-cy.mo +0 -0
- lang/the-events-calendar-da_DK.mo +0 -0
- lang/the-events-calendar-de_DE.mo +0 -0
- lang/the-events-calendar-el.mo +0 -0
- lang/the-events-calendar-en_AU.mo +0 -0
- lang/the-events-calendar-en_CA.mo +0 -0
- lang/the-events-calendar-en_GB.mo +0 -0
- lang/the-events-calendar-en_NZ.mo +0 -0
- lang/the-events-calendar-es_ES.mo +0 -0
- lang/the-events-calendar-es_MX.mo +0 -0
- lang/the-events-calendar-es_VE.mo +0 -0
- lang/the-events-calendar-eu.mo +0 -0
- lang/the-events-calendar-fi.mo +0 -0
- lang/the-events-calendar-fr_CA.mo +0 -0
- lang/the-events-calendar-fr_FR.mo +0 -0
- lang/the-events-calendar-gl_ES.mo +0 -0
- lang/the-events-calendar-he_IL.mo +0 -0
- lang/the-events-calendar-hr.mo +0 -0
- lang/the-events-calendar-hu_HU.mo +0 -0
- lang/the-events-calendar-is_IS.mo +0 -0
- lang/the-events-calendar-it_IT.mo +0 -0
- lang/the-events-calendar-ja.mo +0 -0
- lang/the-events-calendar-lt_LT.mo +0 -0
- lang/the-events-calendar-nb_NO.mo +0 -0
- lang/the-events-calendar-nl_NL.mo +0 -0
- lang/the-events-calendar-nn_NO.mo +0 -0
- lang/the-events-calendar-pt_BR.mo +0 -0
- lang/the-events-calendar-pt_PT.mo +0 -0
- lang/the-events-calendar-ro_RO.mo +0 -0
- lang/the-events-calendar-ru_RU.mo +0 -0
- lang/the-events-calendar-sk_SK.mo +0 -0
- lang/the-events-calendar-sl_SI.mo +0 -0
- lang/the-events-calendar-sq.mo +0 -0
- lang/the-events-calendar-sr_RS.mo +0 -0
- lang/the-events-calendar-sv_SE.mo +0 -0
- lang/the-events-calendar-tr_TR.mo +0 -0
- lang/the-events-calendar-uk.mo +0 -0
- lang/the-events-calendar-zh_CN.mo +0 -0
- lang/the-events-calendar-zh_TW.mo +0 -0
- lang/the-events-calendar.pot +380 -230
- readme.txt +6 -1
- src/Tribe/Aggregator/Service.php +88 -30
- src/Tribe/Cost_Utils.php +1 -1
- src/Tribe/Editor/Assets.php +20 -1
- src/Tribe/Main.php +7 -2
- src/Tribe/Models/Post_Types/Event.php +7 -2
- src/Tribe/Repositories/Event.php +2 -2
- src/Tribe/Repositories/Organizer.php +0 -15
- src/Tribe/Rewrite.php +53 -0
- src/Tribe/Service_Providers/Context.php +6 -4
- src/Tribe/Views/V2/Assets.php +18 -2
- src/Tribe/Views/V2/Hooks.php +121 -0
- src/Tribe/Views/V2/Interfaces/View_Url_Provider_Interface.php +2 -1
- src/Tribe/Views/V2/Query/Event_Query_Controller.php +3 -3
- src/Tribe/Views/V2/Repository/Event_Period.php +1264 -0
- src/Tribe/Views/V2/Repository/Event_Result.php +182 -0
- src/Tribe/Views/V2/Repository/Events_Result_Set.php +169 -0
- src/Tribe/Views/V2/Service_Provider.php +2 -1
- src/Tribe/Views/V2/Template.php +20 -0
- src/Tribe/Views/V2/Template/Excerpt.php +0 -12
- src/Tribe/Views/V2/Template/Page.php +1 -1
- src/Tribe/Views/V2/Template/Settings/Advanced_Display.php +3 -1
- src/Tribe/Views/V2/Template/Title.php +0 -4
- src/Tribe/Views/V2/Template_Bootstrap.php +32 -3
- src/Tribe/Views/V2/Utils/Separators.php +52 -18
- src/Tribe/Views/V2/View.php +290 -51
- src/Tribe/Views/V2/View_Interface.php +32 -0
- src/Tribe/Views/V2/Views/By_Day_View.php +72 -34
- src/Tribe/Views/V2/Views/Day_View.php +4 -1
- src/Tribe/Views/V2/Views/List_View.php +8 -1
- src/Tribe/Views/V2/Views/Month_View.php +5 -6
- src/admin-views/aggregator/origins/refine.php +19 -9
- src/admin-views/tribe-options-general.php +74 -74
- src/functions/template-tags/event.php +32 -19
- src/functions/template-tags/orm.php +6 -1
- src/functions/template-tags/venue.php +32 -19
- src/functions/utils/install.php +19 -0
- src/functions/views/provider.php +79 -1
- src/resources/css/views-full.css +121 -152
- src/resources/css/views-full.min.css +1 -1
- src/resources/css/views-skeleton.css +146 -25
- src/resources/css/views-skeleton.min.css +1 -1
- src/resources/js/views/datepicker.js +167 -18
- src/resources/js/views/manager.js +0 -1
- src/resources/js/views/tooltip.js +1 -0
- src/resources/postcss/components/full/_all.pcss +3 -0
- src/resources/postcss/components/full/_datepicker.pcss +42 -139
- src/resources/postcss/components/full/_ical-link.pcss +5 -0
- src/resources/postcss/components/full/_navigation.pcss +0 -1
- src/resources/postcss/components/skeleton/_all.pcss +3 -0
- src/resources/postcss/components/skeleton/_datepicker.pcss +0 -17
- src/resources/postcss/components/skeleton/_ical-link.pcss +13 -0
- src/resources/postcss/components/skeleton/_tooltip.pcss +1 -0
- src/resources/postcss/components/skeleton/_top-bar.pcss +15 -4
- src/resources/postcss/utilities/icons/link.svg +1 -0
- src/resources/postcss/utilities/icons/list.svg +1 -1
- src/resources/postcss/utilities/icons/mail.svg +1 -0
- src/resources/postcss/utilities/icons/map-pin.svg +1 -0
- src/resources/postcss/utilities/icons/map.svg +1 -1
- src/resources/postcss/utilities/icons/phone.svg +1 -0
- src/resources/postcss/utilities/icons/photo.svg +1 -1
- src/resources/postcss/utilities/variables/_box-shadows.pcss +1 -1
- src/resources/postcss/utilities/variables/_colors.pcss +2 -0
- src/resources/postcss/utilities/variables/_svgs.pcss +44 -0
- src/resources/postcss/views/full/day/_event.pcss +0 -8
- src/resources/postcss/views/full/month/_calendar-event.pcss +17 -14
- src/resources/postcss/views/full/month/_day.pcss +1 -3
- src/resources/postcss/views/full/month/_multiday-event.pcss +12 -2
- src/resources/postcss/views/skeleton/day/_event.pcss +34 -3
- src/resources/postcss/views/skeleton/list/_event.pcss +2 -1
- src/resources/postcss/views/skeleton/month/_calendar-event.pcss +61 -2
- src/resources/postcss/views/skeleton/month/_multiday-event.pcss +5 -0
- src/views/v2/base.php +1 -1
- src/views/v2/components/after.php +1 -1
- src/views/v2/components/before.php +1 -1
- src/views/v2/components/breadcrumbs.php +1 -1
- src/views/v2/components/breadcrumbs/breadcrumb.php +1 -1
- src/views/v2/components/breadcrumbs/linked-breadcrumb.php +1 -1
- src/views/v2/components/data.php +1 -1
- src/views/v2/components/events-bar.php +1 -1
- src/views/v2/components/events-bar/filters.php +1 -1
- src/views/v2/components/events-bar/search-button.php +1 -1
- src/views/v2/components/events-bar/search-button/icon.php +1 -1
- src/views/v2/components/events-bar/search.php +1 -1
- src/views/v2/components/events-bar/search/keyword.php +1 -1
- src/views/v2/components/events-bar/search/submit.php +1 -1
- src/views/v2/components/events-bar/tabs.php +1 -1
- src/views/v2/components/events-bar/views.php +1 -1
- src/views/v2/components/events-bar/views/list.php +1 -1
- src/views/v2/components/events-bar/views/list/item.php +17 -4
- src/views/v2/components/filter-bar.php +1 -1
- src/views/v2/components/ical-link.php +29 -0
- src/views/v2/components/loader.php +1 -1
- src/views/v2/components/messages.php +1 -1
- src/views/v2/components/read-more.php +2 -4
- src/views/v2/components/top-bar/actions.php +1 -1
- src/views/v2/components/top-bar/actions/content.php +1 -1
- src/views/v2/components/top-bar/datepicker/submit.php +28 -0
- src/views/v2/components/top-bar/nav.php +5 -3
- src/views/v2/components/top-bar/nav/next-disabled.php +2 -4
- src/views/v2/components/top-bar/nav/next.php +3 -3
- src/views/v2/components/top-bar/nav/prev-disabled.php +2 -4
- src/views/v2/components/top-bar/nav/prev.php +1 -1
- src/views/v2/components/top-bar/today.php +3 -3
- src/views/v2/day.php +11 -6
- src/views/v2/day/event.php +1 -1
- src/views/v2/day/event/cost.php +1 -1
- src/views/v2/day/event/date.php +1 -1
- src/views/v2/day/event/date/meta.php +1 -1
- src/views/v2/day/event/description.php +3 -3
- src/views/v2/day/event/featured-image.php +1 -1
- src/views/v2/day/event/title.php +2 -2
- src/views/v2/day/event/venue.php +1 -1
- src/views/v2/day/nav.php +1 -1
- src/views/v2/day/nav/next-disabled.php +1 -1
- src/views/v2/day/nav/next.php +1 -1
- src/views/v2/day/nav/prev-disabled.php +1 -1
- src/views/v2/day/nav/prev.php +1 -1
- src/views/v2/day/time-separator.php +4 -4
- src/views/v2/day/top-bar.php +1 -1
- src/views/v2/day/top-bar/datepicker.php +49 -32
- src/views/v2/day/type-separator.php +1 -1
- src/views/v2/list.php +11 -7
- src/views/v2/list/event.php +2 -2
- src/views/v2/list/event/cost.php +1 -1
- src/views/v2/list/event/date-tag.php +17 -6
- src/views/v2/list/event/date.php +1 -1
- src/views/v2/list/event/date/meta.php +1 -1
- src/views/v2/list/event/description.php +3 -3
- src/views/v2/list/event/featured-image.php +1 -1
- src/views/v2/list/event/title.php +2 -2
- src/views/v2/list/event/venue.php +1 -1
- src/views/v2/list/month-separator.php +22 -6
- src/views/v2/list/nav.php +1 -1
- src/views/v2/list/nav/next-disabled.php +1 -1
- src/views/v2/list/nav/next.php +1 -1
- src/views/v2/list/nav/prev-disabled.php +1 -1
- src/views/v2/list/nav/prev.php +1 -1
- src/views/v2/list/nav/today.php +1 -1
- src/views/v2/list/top-bar.php +1 -1
- src/views/v2/list/top-bar/datepicker.php +71 -54
- src/views/v2/month.php +9 -6
- src/views/v2/month/calendar-body.php +1 -1
- src/views/v2/month/calendar-body/day.php +1 -1
- src/views/v2/month/calendar-body/day/calendar-events.php +2 -1
- src/views/v2/month/calendar-body/day/calendar-events/calendar-event.php +1 -1
- src/views/v2/month/calendar-body/day/calendar-events/calendar-event/date.php +14 -10
- src/views/v2/month/calendar-body/day/calendar-events/calendar-event/date/meta.php +1 -1
- src/views/v2/month/calendar-body/day/calendar-events/calendar-event/featured-image.php +1 -1
- src/views/v2/month/calendar-body/day/calendar-events/calendar-event/title.php +6 -8
- src/views/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip.php +4 -6
- src/views/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/cost.php +1 -1
- src/views/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/date.php +35 -0
- src/views/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/date/meta.php +17 -0
- src/views/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/description.php +3 -3
- src/views/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/featured-image.php +1 -1
- src/views/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/title.php +29 -0
- src/views/v2/month/calendar-body/day/more-events.php +1 -1
- src/views/v2/month/calendar-body/day/multiday-events.php +3 -2
- src/views/v2/month/calendar-body/day/multiday-events/multiday-event-spacer.php +1 -1
- src/views/v2/month/calendar-body/day/multiday-events/multiday-event.php +7 -13
- src/views/v2/month/calendar-header.php +1 -1
- src/views/v2/month/mobile-events.php +1 -1
- src/views/v2/month/mobile-events/mobile-day.php +2 -1
- src/views/v2/month/mobile-events/mobile-day/day-marker.php +1 -1
- src/views/v2/month/mobile-events/mobile-day/mobile-event.php +1 -1
- src/views/v2/month/mobile-events/mobile-day/mobile-event/cost.php +1 -1
- src/views/v2/month/mobile-events/mobile-day/mobile-event/date.php +1 -1
- src/views/v2/month/mobile-events/mobile-day/mobile-event/date/meta.php +1 -1
- src/views/v2/month/mobile-events/mobile-day/mobile-event/featured-image.php +1 -1
- src/views/v2/month/mobile-events/mobile-day/mobile-event/title.php +3 -3
- src/views/v2/month/mobile-events/mobile-day/more-events.php +1 -1
- src/views/v2/month/mobile-events/nav.php +1 -1
- src/views/v2/month/mobile-events/nav/next-disabled.php +1 -1
- src/views/v2/month/mobile-events/nav/next.php +1 -1
- src/views/v2/month/mobile-events/nav/prev-disabled.php +1 -1
- src/views/v2/month/mobile-events/nav/prev.php +1 -1
- src/views/v2/month/mobile-events/nav/today.php +1 -1
- src/views/v2/month/top-bar.php +1 -1
- src/views/v2/month/top-bar/datepicker.php +53 -36
- the-events-calendar.php +2 -1
- vendor/autoload.php +1 -1
- vendor/composer/autoload_classmap.php +9 -0
- vendor/composer/autoload_real.php +4 -4
- vendor/composer/autoload_static.php +13 -4
common/lang/tribe-common-cs_CZ.mo
CHANGED
Binary file
|
common/lang/tribe-common-de_DE.mo
CHANGED
Binary file
|
common/lang/tribe-common.pot
CHANGED
@@ -2,13 +2,15 @@
|
|
2 |
# This file is distributed under the same license as the Tribe Common package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
|
|
|
6 |
"Report-Msgid-Bugs-To: http://m.tri.be/191x\n"
|
7 |
-
"POT-Creation-Date: 2019-
|
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: 2019-
|
|
|
12 |
"Last-Translator: \n"
|
13 |
"Language-Team: \n"
|
14 |
|
@@ -290,6 +292,34 @@ msgstr ""
|
|
290 |
msgid "State"
|
291 |
msgstr ""
|
292 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
293 |
#: src/Tribe/Documentation/Swagger/Cost_Details_Definition_Provider.php:24
|
294 |
msgid "The cost currency symbol"
|
295 |
msgstr ""
|
@@ -2600,6 +2630,11 @@ msgstr ""
|
|
2600 |
msgid "Hide the following settings tabs on every site:"
|
2601 |
msgstr ""
|
2602 |
|
|
|
|
|
|
|
|
|
|
|
2603 |
#: src/views/promoter/auth.php:35
|
2604 |
msgid "Promoter would like to sync with your site"
|
2605 |
msgstr ""
|
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: 2019-12-10 00:34:42+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: 2019-12-10 00:34\n"
|
13 |
+
|
14 |
"Last-Translator: \n"
|
15 |
"Language-Team: \n"
|
16 |
|
292 |
msgid "State"
|
293 |
msgstr ""
|
294 |
|
295 |
+
#: src/Tribe/Dialog/View.php:153
|
296 |
+
msgid "Open the modal window"
|
297 |
+
msgstr ""
|
298 |
+
|
299 |
+
#: src/Tribe/Dialog/View.php:154
|
300 |
+
msgid "Close this modal window"
|
301 |
+
msgstr ""
|
302 |
+
|
303 |
+
#: src/Tribe/Dialog/View.php:222
|
304 |
+
msgid "Cancel"
|
305 |
+
msgstr ""
|
306 |
+
|
307 |
+
#: src/Tribe/Dialog/View.php:223
|
308 |
+
msgid "Confirm"
|
309 |
+
msgstr ""
|
310 |
+
|
311 |
+
#: src/Tribe/Dialog/View.php:288
|
312 |
+
msgid "OK"
|
313 |
+
msgstr ""
|
314 |
+
|
315 |
+
#: src/Tribe/Dialog/View.php:355
|
316 |
+
msgid "Open the dialog window"
|
317 |
+
msgstr ""
|
318 |
+
|
319 |
+
#: src/Tribe/Dialog/View.php:369
|
320 |
+
msgid "Close this dialog window"
|
321 |
+
msgstr ""
|
322 |
+
|
323 |
#: src/Tribe/Documentation/Swagger/Cost_Details_Definition_Provider.php:24
|
324 |
msgid "The cost currency symbol"
|
325 |
msgstr ""
|
2630 |
msgid "Hide the following settings tabs on every site:"
|
2631 |
msgstr ""
|
2632 |
|
2633 |
+
#: src/functions/template-tags/html.php:70
|
2634 |
+
msgctxt "The associated field is required."
|
2635 |
+
msgid "(required)"
|
2636 |
+
msgstr ""
|
2637 |
+
|
2638 |
#: src/views/promoter/auth.php:35
|
2639 |
msgid "Promoter would like to sync with your site"
|
2640 |
msgstr ""
|
common/src/Tribe/Cache.php
CHANGED
@@ -272,5 +272,84 @@ class Tribe__Cache implements ArrayAccess {
|
|
272 |
public function offsetUnset( $offset ) {
|
273 |
$this->delete( $offset );
|
274 |
}
|
275 |
-
}
|
276 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
272 |
public function offsetUnset( $offset ) {
|
273 |
$this->delete( $offset );
|
274 |
}
|
|
|
275 |
|
276 |
+
/**
|
277 |
+
* Warms up the caches for a collection of posts.
|
278 |
+
*
|
279 |
+
* @since 4.10.2
|
280 |
+
*
|
281 |
+
* @param array|int $post_ids A post ID, or a collection of post IDs.
|
282 |
+
* @param bool $update_post_meta_cache Whether to warm-up the post meta cache for the posts or not.
|
283 |
+
*/
|
284 |
+
public function warmup_post_caches( $post_ids, $update_post_meta_cache = false ) {
|
285 |
+
if ( empty( $post_ids ) ) {
|
286 |
+
return;
|
287 |
+
}
|
288 |
+
|
289 |
+
$post_ids = (array) $post_ids;
|
290 |
+
|
291 |
+
global $wpdb;
|
292 |
+
|
293 |
+
$already_cached_ids = [];
|
294 |
+
foreach ( $post_ids as $post_id ) {
|
295 |
+
if ( wp_cache_get( $post_id, 'posts' ) instanceof \WP_Post ) {
|
296 |
+
$already_cached_ids[] = $post_id;
|
297 |
+
}
|
298 |
+
}
|
299 |
+
|
300 |
+
$required = array_diff( $post_ids, $already_cached_ids );
|
301 |
+
|
302 |
+
if ( empty( $required ) ) {
|
303 |
+
return;
|
304 |
+
}
|
305 |
+
|
306 |
+
/** @var Tribe__Feature_Detection $feature_detection */
|
307 |
+
$feature_detection = tribe('feature-detection');
|
308 |
+
$limit = $feature_detection->mysql_limit_for_example( 'post_result' );
|
309 |
+
|
310 |
+
/**
|
311 |
+
* Filters the LIMIT that should be used to warm-up post caches and postmeta caches (if the
|
312 |
+
* `$update_post_meta_cache` parameter is `true`).
|
313 |
+
*
|
314 |
+
* Lower this value on less powerful hosts. Return `0` to disable the warm-up completely, and `-1` to remove the
|
315 |
+
* limit (not recommended).
|
316 |
+
*
|
317 |
+
* @since 4.10.2
|
318 |
+
*
|
319 |
+
* @param int $limit The number of posts whose caches will be warmed up, per query.
|
320 |
+
*/
|
321 |
+
$limit = (int) apply_filters( 'tribe_cache_warmup_post_cache_limit', min( $limit, count( $post_ids ) ) );
|
322 |
+
|
323 |
+
if ( 0 === $limit ) {
|
324 |
+
// Warmup disabled.
|
325 |
+
return;
|
326 |
+
}
|
327 |
+
|
328 |
+
$buffer = $post_ids;
|
329 |
+
$page = 0;
|
330 |
+
|
331 |
+
do {
|
332 |
+
$limit_clause = $limit < 0 ? sprintf( 'LIMIT %d,%d', $limit * $page, $limit ) : '';
|
333 |
+
$page ++;
|
334 |
+
$these_ids = array_splice( $buffer, 0, $limit );
|
335 |
+
$interval = implode( ',', array_map( 'absint', $these_ids ) );
|
336 |
+
$posts_query = "SELECT * FROM {$wpdb->posts} WHERE ID IN ({$interval}) {$limit_clause}";
|
337 |
+
$post_objects = $wpdb->get_results( $posts_query );
|
338 |
+
if ( is_array( $post_objects ) && ! empty( $post_objects ) ) {
|
339 |
+
foreach ( $post_objects as $post_object ) {
|
340 |
+
$post = new \WP_Post( $post_object );
|
341 |
+
wp_cache_set( $post_object->ID, $post, 'posts' );
|
342 |
+
}
|
343 |
+
|
344 |
+
if ( $update_post_meta_cache ) {
|
345 |
+
update_meta_cache( 'post', $these_ids );
|
346 |
+
}
|
347 |
+
}
|
348 |
+
} while (
|
349 |
+
! empty( $post_objects )
|
350 |
+
&& is_array( $post_objects )
|
351 |
+
&& count( $post_objects ) < count( $post_ids )
|
352 |
+
);
|
353 |
+
|
354 |
+
}
|
355 |
+
}
|
common/src/Tribe/Context.php
CHANGED
@@ -401,6 +401,10 @@ class Tribe__Context {
|
|
401 |
*/
|
402 |
$value = apply_filters( "tribe_context_{$key}", $value );
|
403 |
|
|
|
|
|
|
|
|
|
404 |
return $value;
|
405 |
}
|
406 |
|
@@ -454,9 +458,22 @@ class Tribe__Context {
|
|
454 |
public function get_locations() {
|
455 |
$this->populate_locations();
|
456 |
|
457 |
-
|
458 |
? array_merge( self::$locations, $this->override_locations )
|
459 |
: $this->override_locations;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
460 |
}
|
461 |
|
462 |
/**
|
@@ -1563,12 +1580,37 @@ class Tribe__Context {
|
|
1563 |
*/
|
1564 |
public function get_read_key_for( $location, $type = null ) {
|
1565 |
$type = $type ?: static::REQUEST_VAR;
|
1566 |
-
|
1567 |
-
|
1568 |
-
|
1569 |
return reset( $keys );
|
1570 |
}
|
1571 |
|
1572 |
return $location;
|
1573 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1574 |
}
|
401 |
*/
|
402 |
$value = apply_filters( "tribe_context_{$key}", $value );
|
403 |
|
404 |
+
if ( $value !== static::NOT_FOUND ) {
|
405 |
+
$this->request_cache[ $key ] = $value;
|
406 |
+
}
|
407 |
+
|
408 |
return $value;
|
409 |
}
|
410 |
|
458 |
public function get_locations() {
|
459 |
$this->populate_locations();
|
460 |
|
461 |
+
$locations = $this->use_default_locations
|
462 |
? array_merge( self::$locations, $this->override_locations )
|
463 |
: $this->override_locations;
|
464 |
+
|
465 |
+
if ( $this->use_default_locations ) {
|
466 |
+
/**
|
467 |
+
* Filters the locations registered in the Context.
|
468 |
+
*
|
469 |
+
* @since 4.10.2
|
470 |
+
*
|
471 |
+
* @param array $locations An array of locations registered on the Context object.
|
472 |
+
*/
|
473 |
+
$locations = apply_filters( 'tribe_context_locations', $locations, $this );
|
474 |
+
}
|
475 |
+
|
476 |
+
return $locations;
|
477 |
}
|
478 |
|
479 |
/**
|
1580 |
*/
|
1581 |
public function get_read_key_for( $location, $type = null ) {
|
1582 |
$type = $type ?: static::REQUEST_VAR;
|
1583 |
+
$locations = $this->get_locations();
|
1584 |
+
if ( isset( $locations[ $location ]['read'][ $type ] ) ) {
|
1585 |
+
$keys = (array) $locations[ $location ]['read'][ $type ];
|
1586 |
return reset( $keys );
|
1587 |
}
|
1588 |
|
1589 |
return $location;
|
1590 |
}
|
1591 |
+
|
1592 |
+
/**
|
1593 |
+
* Safely set the value of a group of locations.
|
1594 |
+
*
|
1595 |
+
* This method can only augment the context, without altering it; it can only add new values.
|
1596 |
+
*
|
1597 |
+
* @since 4.10.2
|
1598 |
+
*
|
1599 |
+
* @param array|string $values The values to set, if not already set or the key of the value to set, requires
|
1600 |
+
* the `$value` to be passed.
|
1601 |
+
* @param mixed|null $value The value to set for the key, this parameter will be ignored if the `$values_or_key`
|
1602 |
+
* parameter is not a string.
|
1603 |
+
*/
|
1604 |
+
public function safe_set( $values_or_key, $value = null ) {
|
1605 |
+
$values = func_num_args() === 2
|
1606 |
+
? [ $values_or_key => $value ]
|
1607 |
+
: $values_or_key;
|
1608 |
+
|
1609 |
+
foreach ( $values as $key => $val ) {
|
1610 |
+
if ( static::NOT_FOUND !== $this->get( $key, static::NOT_FOUND ) ) {
|
1611 |
+
continue;
|
1612 |
+
}
|
1613 |
+
$this->request_cache[ $key ] = $val;
|
1614 |
+
}
|
1615 |
+
}
|
1616 |
}
|
common/src/Tribe/Date_Utils.php
CHANGED
@@ -232,6 +232,22 @@ if ( ! class_exists( 'Tribe__Date_Utils' ) ) {
|
|
232 |
return date( $format, $date );
|
233 |
}
|
234 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
235 |
/**
|
236 |
* Returns the time only.
|
237 |
*
|
@@ -1209,17 +1225,20 @@ if ( ! class_exists( 'Tribe__Date_Utils' ) ) {
|
|
1209 |
}
|
1210 |
|
1211 |
$timezone_object = null;
|
|
|
1212 |
|
1213 |
try {
|
1214 |
// PHP 5.2 will not throw an exception but will generate an error.
|
1215 |
$utc = new DateTimeZone( 'UTC' );
|
|
|
1216 |
|
1217 |
if ( self::is_timestamp( $datetime ) ) {
|
1218 |
// Timestamps timezone is always UTC.
|
1219 |
-
|
1220 |
-
}
|
1221 |
|
1222 |
-
|
|
|
|
|
1223 |
|
1224 |
set_error_handler( 'tribe_catch_and_throw' );
|
1225 |
$date = new DateTime( $datetime, $timezone_object );
|
@@ -1268,28 +1287,30 @@ if ( ! class_exists( 'Tribe__Date_Utils' ) ) {
|
|
1268 |
public static function get_week_start_end( $date, $start_of_week = null ) {
|
1269 |
$week_start = static::build_date_object( $date );
|
1270 |
$week_start->setTime( 0, 0, 0 );
|
|
|
|
|
|
|
|
|
1271 |
|
1272 |
-
|
1273 |
-
|
1274 |
-
|
1275 |
-
|
|
|
|
|
|
|
1276 |
}
|
1277 |
-
|
1278 |
-
|
|
|
|
|
|
|
|
|
1279 |
|
1280 |
/*
|
1281 |
* From the PHP docs, the `W` format stands for:
|
1282 |
* - ISO-8601 week number of year, weeks starting on Monday
|
1283 |
-
* We compensate for weeks starting on Sunday here.
|
1284 |
*/
|
1285 |
-
$week_offset = array_sum(
|
1286 |
-
[
|
1287 |
-
// If the week starts on Sunday move to the next week.
|
1288 |
-
0 === $week_start_day ? 1 : 0,
|
1289 |
-
// If the current date is before the start of the week, move back a week.
|
1290 |
-
$date_day < $week_start_day ? - 1 : 0,
|
1291 |
-
]
|
1292 |
-
);
|
1293 |
$week_start->setISODate(
|
1294 |
(int) $week_start->format( 'o' ),
|
1295 |
(int) $week_start->format( 'W' ) + $week_offset,
|
@@ -1301,7 +1322,102 @@ if ( ! class_exists( 'Tribe__Date_Utils' ) ) {
|
|
1301 |
$week_end->add( new DateInterval( 'P6D' ) );
|
1302 |
$week_end->setTime( 23, 59, 59 );
|
1303 |
|
|
|
|
|
|
|
|
|
|
|
1304 |
return [ $week_start, $week_end ];
|
1305 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1306 |
}
|
1307 |
}
|
232 |
return date( $format, $date );
|
233 |
}
|
234 |
|
235 |
+
/**
|
236 |
+
* Returns as string the nearest half a hour for a given valid string datetime.
|
237 |
+
*
|
238 |
+
* @since 4.10.2
|
239 |
+
*
|
240 |
+
* @param string $date Valid DateTime string.
|
241 |
+
*
|
242 |
+
* @return string Rounded datetime string
|
243 |
+
*/
|
244 |
+
public static function round_nearest_half_hour( $date ) {
|
245 |
+
$date_object = static::build_date_object( $date );
|
246 |
+
$rounded_minutes = floor( $date_object->format( 'i' ) / 30 ) * 30;
|
247 |
+
|
248 |
+
return $date_object->format( 'Y-m-d H:' ) . $rounded_minutes . ':00';
|
249 |
+
}
|
250 |
+
|
251 |
/**
|
252 |
* Returns the time only.
|
253 |
*
|
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.
|
1232 |
$utc = new DateTimeZone( 'UTC' );
|
1233 |
+
$timezone_object = Tribe__Timezones::build_timezone_object( $timezone );
|
1234 |
|
1235 |
if ( self::is_timestamp( $datetime ) ) {
|
1236 |
// Timestamps timezone is always UTC.
|
1237 |
+
$date = new DateTime( '@' . $datetime, $utc );
|
|
|
1238 |
|
1239 |
+
// If we have a timezone, then set it.
|
1240 |
+
return $timezone ? $date->setTimezone( $timezone_object ) : $date;
|
1241 |
+
}
|
1242 |
|
1243 |
set_error_handler( 'tribe_catch_and_throw' );
|
1244 |
$date = new DateTime( $datetime, $timezone_object );
|
1287 |
public static function get_week_start_end( $date, $start_of_week = null ) {
|
1288 |
$week_start = static::build_date_object( $date );
|
1289 |
$week_start->setTime( 0, 0, 0 );
|
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( [ $week_start->format( static::DBDATEFORMAT ), $week_start_day ] )
|
1297 |
+
);
|
1298 |
+
$cache = tribe( 'cache' );
|
1299 |
+
|
1300 |
+
if ( false !== $cached = $cache[ $cache_key ] ) {
|
1301 |
+
return $cached;
|
1302 |
}
|
1303 |
+
|
1304 |
+
// `0` (for Sunday) through `6` (for Saturday), the way WP handles the `start_of_week` option.
|
1305 |
+
$date_day = (int) $week_start->format( 'w' );
|
1306 |
+
|
1307 |
+
// If the current date is before the start of the week, move back a week.
|
1308 |
+
$week_offset = $date_day < $week_start_day ? - 1 : 0;
|
1309 |
|
1310 |
/*
|
1311 |
* From the PHP docs, the `W` format stands for:
|
1312 |
* - ISO-8601 week number of year, weeks starting on Monday
|
|
|
1313 |
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1314 |
$week_start->setISODate(
|
1315 |
(int) $week_start->format( 'o' ),
|
1316 |
(int) $week_start->format( 'W' ) + $week_offset,
|
1322 |
$week_end->add( new DateInterval( 'P6D' ) );
|
1323 |
$week_end->setTime( 23, 59, 59 );
|
1324 |
|
1325 |
+
$week_start = static::immutable( $week_start );
|
1326 |
+
$week_end = static::immutable( $week_end );
|
1327 |
+
|
1328 |
+
$cache[ $cache_key ] = [ $week_start, $week_end ];
|
1329 |
+
|
1330 |
return [ $week_start, $week_end ];
|
1331 |
}
|
1332 |
+
|
1333 |
+
/**
|
1334 |
+
* Builds and returns a `DateInterval` object from the interval specification.
|
1335 |
+
*
|
1336 |
+
* For performance purposes the use of `DateInterval` specifications is preferred, so `P1D` is better than
|
1337 |
+
* `1 day`.
|
1338 |
+
*
|
1339 |
+
* @since 4.10.2
|
1340 |
+
*
|
1341 |
+
* @return DateInterval The built date interval object.
|
1342 |
+
*/
|
1343 |
+
public static function interval( $interval_spec ) {
|
1344 |
+
try {
|
1345 |
+
$interval = new \DateInterval( $interval_spec );
|
1346 |
+
} catch ( \Exception $e ) {
|
1347 |
+
$interval = DateInterval::createFromDateString( $interval_spec );
|
1348 |
+
}
|
1349 |
+
|
1350 |
+
return $interval;
|
1351 |
+
}
|
1352 |
+
|
1353 |
+
/**
|
1354 |
+
* Builds the immutable version of a date from a string, integer (timestamp) or \DateTime object.
|
1355 |
+
*
|
1356 |
+
* It's the immutable version of the `Tribe__Date_Utils::build_date_object` method.
|
1357 |
+
*
|
1358 |
+
* @since 4.10.2
|
1359 |
+
*
|
1360 |
+
* @param string|DateTime|int $datetime A `strtotime` parse-able string, a DateTime object or
|
1361 |
+
* a timestamp; defaults to `now`.
|
1362 |
+
* @param string|DateTimeZone|null $timezone A timezone string, UTC offset or DateTimeZone object;
|
1363 |
+
* defaults to the site timezone; this parameter is ignored
|
1364 |
+
* if the `$datetime` parameter is a DatTime object.
|
1365 |
+
* @param bool $with_fallback Whether to return a DateTime object even when the date data is
|
1366 |
+
* invalid or not; defaults to `true`.
|
1367 |
+
*
|
1368 |
+
* @return DateTimeImmutable|false A DateTime object built using the specified date, time and timezone; if
|
1369 |
+
* `$with_fallback` is set to `false` then `false` will be returned if a
|
1370 |
+
* DateTime object could not be built.
|
1371 |
+
*/
|
1372 |
+
static function immutable( $datetime = 'now', $timezone = null, $with_fallback = true ) {
|
1373 |
+
if ( $datetime instanceof DateTimeImmutable ) {
|
1374 |
+
return $datetime;
|
1375 |
+
}
|
1376 |
+
|
1377 |
+
if ( $datetime instanceof DateTime ) {
|
1378 |
+
return DateTimeImmutable::createFromMutable( $datetime );
|
1379 |
+
}
|
1380 |
+
|
1381 |
+
$mutable = static::build_date_object( $datetime, $timezone, $with_fallback );
|
1382 |
+
|
1383 |
+
if ( false === $mutable ) {
|
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 = DateTimeImmutable::createFromMutable( $mutable );
|
1395 |
+
|
1396 |
+
$cache[ $cache_key ] = $immutable;
|
1397 |
+
|
1398 |
+
return $immutable;
|
1399 |
+
}
|
1400 |
+
|
1401 |
+
/**
|
1402 |
+
* Builds a date object from a given datetime and timezone.
|
1403 |
+
*
|
1404 |
+
* An alias of the `Tribe__Date_Utils::build_date_object` function.
|
1405 |
+
*
|
1406 |
+
* @since 4.10.2
|
1407 |
+
*
|
1408 |
+
* @param string|DateTime|int $datetime A `strtotime` parse-able string, a DateTime object or
|
1409 |
+
* a timestamp; defaults to `now`.
|
1410 |
+
* @param string|DateTimeZone|null $timezone A timezone string, UTC offset or DateTimeZone object;
|
1411 |
+
* defaults to the site timezone; this parameter is ignored
|
1412 |
+
* if the `$datetime` parameter is a DatTime object.
|
1413 |
+
* @param bool $with_fallback Whether to return a DateTime object even when the date data is
|
1414 |
+
* invalid or not; defaults to `true`.
|
1415 |
+
*
|
1416 |
+
* @return DateTime|false A DateTime object built using the specified date, time and timezone; if `$with_fallback`
|
1417 |
+
* is set to `false` then `false` will be returned if a DateTime object could not be built.
|
1418 |
+
*/
|
1419 |
+
public static function mutable( $datetime = 'now', $timezone = null, $with_fallback = true ) {
|
1420 |
+
return static::build_date_object( $datetime, $timezone, $with_fallback );
|
1421 |
+
}
|
1422 |
}
|
1423 |
}
|
common/src/Tribe/Debug_Bar/Panels/Context.php
CHANGED
@@ -76,8 +76,8 @@ class Tribe__Debug_Bar__Panels__Context extends Debug_Bar_Panel {
|
|
76 |
|
77 |
$html .= '<tr>';
|
78 |
$html .= '<td><code>' . $key . '</code></td>';
|
79 |
-
$html .= '<td><code>' . ( isset( $context[ $key ] ) ? $context[ $key ] : 'undefined' ) . '</code></td>';
|
80 |
-
$html .= '<td>' . ( false !== $orm_arg_key ? '<code>' . $orm_arg_key . ' => ' . $orm_arg_value . '</code>' : '' ) . '</td>';
|
81 |
$html .= '<td><code>' . ( isset( $locations[ $key ]['read'] ) ? 'yes' : 'no' ) . '</code></td>';
|
82 |
$html .= '<td><code>' . ( isset( $locations[ $key ]['write'] ) ? 'yes' : 'no' ) . '</code></td>';
|
83 |
$html .= '</tr>';
|
76 |
|
77 |
$html .= '<tr>';
|
78 |
$html .= '<td><code>' . $key . '</code></td>';
|
79 |
+
$html .= '<td><code>' . ( isset( $context[ $key ] ) ? print_r( $context[ $key ], true ) : 'undefined' ) . '</code></td>';
|
80 |
+
$html .= '<td>' . ( false !== $orm_arg_key ? '<code>' . print_r( $orm_arg_key, true ) . ' => ' . print_r( $orm_arg_value, true ) . '</code>' : '' ) . '</td>';
|
81 |
$html .= '<td><code>' . ( isset( $locations[ $key ]['read'] ) ? 'yes' : 'no' ) . '</code></td>';
|
82 |
$html .= '<td><code>' . ( isset( $locations[ $key ]['write'] ) ? 'yes' : 'no' ) . '</code></td>';
|
83 |
$html .= '</tr>';
|
common/src/Tribe/Dialog/View.php
CHANGED
@@ -5,13 +5,13 @@ namespace Tribe\Dialog;
|
|
5 |
/**
|
6 |
* Class View
|
7 |
*
|
8 |
-
* @since
|
9 |
*/
|
10 |
class View extends \Tribe__Template {
|
11 |
/**
|
12 |
* Where in the themes we will look for templates.
|
13 |
*
|
14 |
-
* @since
|
15 |
*
|
16 |
* @var string
|
17 |
*/
|
@@ -20,7 +20,7 @@ class View extends \Tribe__Template {
|
|
20 |
/**
|
21 |
* View constructor
|
22 |
*
|
23 |
-
* @since
|
24 |
*/
|
25 |
public function __construct() {
|
26 |
$this->set_template_origin( \Tribe__Main::instance() );
|
@@ -37,7 +37,7 @@ class View extends \Tribe__Template {
|
|
37 |
* Public wrapper for build method.
|
38 |
* Contains all the logic/validation checks.
|
39 |
*
|
40 |
-
* @since
|
41 |
*
|
42 |
* @param string $content Content as an HTML string.
|
43 |
* @param array $args {
|
@@ -105,7 +105,7 @@ class View extends \Tribe__Template {
|
|
105 |
* Syntactic sugar for `render_dialog()` to make creating modals easier.
|
106 |
* Adds sensible defaults for modals.
|
107 |
*
|
108 |
-
* @since
|
109 |
*
|
110 |
* @param string $content Content as an HTML string.
|
111 |
* @param array $args {
|
@@ -174,7 +174,7 @@ class View extends \Tribe__Template {
|
|
174 |
* Syntactic sugar for `render_dialog()` to make creating custom confirmation dialogs easier.
|
175 |
* Adds sensible defaults for confirmation dialogs.
|
176 |
*
|
177 |
-
* @since
|
178 |
*
|
179 |
* @param string $content Content as an HTML string.
|
180 |
* @param array $args {
|
@@ -241,7 +241,7 @@ class View extends \Tribe__Template {
|
|
241 |
* Syntactic sugar for `render_dialog()` to make creating custom alerts easier.
|
242 |
* Adds sensible defaults for alerts.
|
243 |
*
|
244 |
-
* @since
|
245 |
*
|
246 |
* @param string $content Content as an HTML string.
|
247 |
* @param array $args {
|
@@ -306,7 +306,7 @@ class View extends \Tribe__Template {
|
|
306 |
/**
|
307 |
* Factory method for dialog HTML
|
308 |
*
|
309 |
-
* @since
|
310 |
*
|
311 |
* @param string $content HTML dialog content.
|
312 |
* @param string $id The unique ID for this dialog (`uniqid()`) Gets prepended to the data attributes.
|
@@ -385,7 +385,7 @@ class View extends \Tribe__Template {
|
|
385 |
/**
|
386 |
* Allow us to filter the dialog arguments.
|
387 |
*
|
388 |
-
* @since
|
389 |
*
|
390 |
* @param array $args The dialog arguments.
|
391 |
* @param string $content HTML content string.
|
@@ -396,7 +396,7 @@ class View extends \Tribe__Template {
|
|
396 |
/**
|
397 |
* Allow us to filter the dialog template name.
|
398 |
*
|
399 |
-
* @since
|
400 |
*
|
401 |
* @param string $template The dialog template name.
|
402 |
* @param array $args The dialog arguments.
|
@@ -414,7 +414,7 @@ class View extends \Tribe__Template {
|
|
414 |
/**
|
415 |
* Allow us to filter the dialog output (HTML string).
|
416 |
*
|
417 |
-
* @since
|
418 |
*
|
419 |
* @param string $html The dialog HTML string.
|
420 |
* @param array $args The dialog arguments.
|
@@ -425,7 +425,7 @@ class View extends \Tribe__Template {
|
|
425 |
/**
|
426 |
* Get dialog <script> to be rendered.
|
427 |
*
|
428 |
-
* @since
|
429 |
*
|
430 |
* @param array $args List of arguments for the dialog script. See \Tribe\Dialog\View->build_dialog().
|
431 |
* @param boolean $echo Whether to echo the script or to return it (default: true).
|
@@ -455,7 +455,7 @@ class View extends \Tribe__Template {
|
|
455 |
/**
|
456 |
* Allows for modifying the arguments before they are passed to the dialog script.
|
457 |
*
|
458 |
-
* @since
|
459 |
*
|
460 |
* @param array $args List of arguments to override dialog script. See \Tribe\Dialog\View->build_dialog().
|
461 |
*/
|
@@ -479,7 +479,7 @@ class View extends \Tribe__Template {
|
|
479 |
/**
|
480 |
* Allows for injecting additional scripts (button actions, etc).
|
481 |
*
|
482 |
-
* @since
|
483 |
*
|
484 |
* @param array $args List of arguments to override dialog script. See \Tribe\Dialog\View->build_dialog().
|
485 |
*/
|
@@ -488,7 +488,7 @@ class View extends \Tribe__Template {
|
|
488 |
/**
|
489 |
* Allows for injecting additional scripts (button actions, etc) by template.
|
490 |
*
|
491 |
-
* @since
|
492 |
*
|
493 |
* @param array $args List of arguments to override dialog script. See \Tribe\Dialog\View->build_dialog().
|
494 |
*/
|
@@ -497,7 +497,7 @@ class View extends \Tribe__Template {
|
|
497 |
/**
|
498 |
* Allows for injecting additional scripts (button actions, etc) by dialog ID.
|
499 |
*
|
500 |
-
* @since
|
501 |
*
|
502 |
* @param array $args List of arguments to override dialog script. See \Tribe\Dialog\View->build_dialog().
|
503 |
*/
|
@@ -510,7 +510,7 @@ class View extends \Tribe__Template {
|
|
510 |
/**
|
511 |
* Allows for modifying the HTML before it is echoed or returned.
|
512 |
*
|
513 |
-
* @since
|
514 |
*
|
515 |
* @param array $args List of arguments to override dialog script. See \Tribe\Dialog\View->build_dialog().
|
516 |
*/
|
5 |
/**
|
6 |
* Class View
|
7 |
*
|
8 |
+
* @since 4.10.0
|
9 |
*/
|
10 |
class View extends \Tribe__Template {
|
11 |
/**
|
12 |
* Where in the themes we will look for templates.
|
13 |
*
|
14 |
+
* @since 4.10.0
|
15 |
*
|
16 |
* @var string
|
17 |
*/
|
20 |
/**
|
21 |
* View constructor
|
22 |
*
|
23 |
+
* @since 4.10.0
|
24 |
*/
|
25 |
public function __construct() {
|
26 |
$this->set_template_origin( \Tribe__Main::instance() );
|
37 |
* Public wrapper for build method.
|
38 |
* Contains all the logic/validation checks.
|
39 |
*
|
40 |
+
* @since 4.10.0
|
41 |
*
|
42 |
* @param string $content Content as an HTML string.
|
43 |
* @param array $args {
|
105 |
* Syntactic sugar for `render_dialog()` to make creating modals easier.
|
106 |
* Adds sensible defaults for modals.
|
107 |
*
|
108 |
+
* @since 4.10.0
|
109 |
*
|
110 |
* @param string $content Content as an HTML string.
|
111 |
* @param array $args {
|
174 |
* Syntactic sugar for `render_dialog()` to make creating custom confirmation dialogs easier.
|
175 |
* Adds sensible defaults for confirmation dialogs.
|
176 |
*
|
177 |
+
* @since 4.10.0
|
178 |
*
|
179 |
* @param string $content Content as an HTML string.
|
180 |
* @param array $args {
|
241 |
* Syntactic sugar for `render_dialog()` to make creating custom alerts easier.
|
242 |
* Adds sensible defaults for alerts.
|
243 |
*
|
244 |
+
* @since 4.10.0
|
245 |
*
|
246 |
* @param string $content Content as an HTML string.
|
247 |
* @param array $args {
|
306 |
/**
|
307 |
* Factory method for dialog HTML
|
308 |
*
|
309 |
+
* @since 4.10.0
|
310 |
*
|
311 |
* @param string $content HTML dialog content.
|
312 |
* @param string $id The unique ID for this dialog (`uniqid()`) Gets prepended to the data attributes.
|
385 |
/**
|
386 |
* Allow us to filter the dialog arguments.
|
387 |
*
|
388 |
+
* @since 4.10.0
|
389 |
*
|
390 |
* @param array $args The dialog arguments.
|
391 |
* @param string $content HTML content string.
|
396 |
/**
|
397 |
* Allow us to filter the dialog template name.
|
398 |
*
|
399 |
+
* @since 4.10.0
|
400 |
*
|
401 |
* @param string $template The dialog template name.
|
402 |
* @param array $args The dialog arguments.
|
414 |
/**
|
415 |
* Allow us to filter the dialog output (HTML string).
|
416 |
*
|
417 |
+
* @since 4.10.0
|
418 |
*
|
419 |
* @param string $html The dialog HTML string.
|
420 |
* @param array $args The dialog arguments.
|
425 |
/**
|
426 |
* Get dialog <script> to be rendered.
|
427 |
*
|
428 |
+
* @since 4.10.0
|
429 |
*
|
430 |
* @param array $args List of arguments for the dialog script. See \Tribe\Dialog\View->build_dialog().
|
431 |
* @param boolean $echo Whether to echo the script or to return it (default: true).
|
455 |
/**
|
456 |
* Allows for modifying the arguments before they are passed to the dialog script.
|
457 |
*
|
458 |
+
* @since 4.10.0
|
459 |
*
|
460 |
* @param array $args List of arguments to override dialog script. See \Tribe\Dialog\View->build_dialog().
|
461 |
*/
|
479 |
/**
|
480 |
* Allows for injecting additional scripts (button actions, etc).
|
481 |
*
|
482 |
+
* @since 4.10.0
|
483 |
*
|
484 |
* @param array $args List of arguments to override dialog script. See \Tribe\Dialog\View->build_dialog().
|
485 |
*/
|
488 |
/**
|
489 |
* Allows for injecting additional scripts (button actions, etc) by template.
|
490 |
*
|
491 |
+
* @since 4.10.0
|
492 |
*
|
493 |
* @param array $args List of arguments to override dialog script. See \Tribe\Dialog\View->build_dialog().
|
494 |
*/
|
497 |
/**
|
498 |
* Allows for injecting additional scripts (button actions, etc) by dialog ID.
|
499 |
*
|
500 |
+
* @since 4.10.0
|
501 |
*
|
502 |
* @param array $args List of arguments to override dialog script. See \Tribe\Dialog\View->build_dialog().
|
503 |
*/
|
510 |
/**
|
511 |
* Allows for modifying the HTML before it is echoed or returned.
|
512 |
*
|
513 |
+
* @since 4.10.0
|
514 |
*
|
515 |
* @param array $args List of arguments to override dialog script. See \Tribe\Dialog\View->build_dialog().
|
516 |
*/
|
common/src/Tribe/Feature_Detection.php
CHANGED
@@ -6,6 +6,8 @@
|
|
6 |
* @since 4.7.23
|
7 |
*/
|
8 |
|
|
|
|
|
9 |
/**
|
10 |
* Class Tribe__Feature_Detection
|
11 |
*
|
@@ -20,6 +22,17 @@ class Tribe__Feature_Detection {
|
|
20 |
*/
|
21 |
public static $transient = 'tribe_feature_detection';
|
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
/**
|
24 |
* The name of the option that will be used to indicate a feature detection is running.
|
25 |
*
|
@@ -149,4 +162,97 @@ class Tribe__Feature_Detection {
|
|
149 |
|
150 |
return ! empty( $lock_option );
|
151 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
152 |
}
|
6 |
* @since 4.7.23
|
7 |
*/
|
8 |
|
9 |
+
use Tribe__Utils__Array as Arr;
|
10 |
+
|
11 |
/**
|
12 |
* Class Tribe__Feature_Detection
|
13 |
*
|
22 |
*/
|
23 |
public static $transient = 'tribe_feature_detection';
|
24 |
|
25 |
+
/**
|
26 |
+
* A set of example byte sizes of result sets.
|
27 |
+
*
|
28 |
+
* @since 4.10.2
|
29 |
+
*
|
30 |
+
* @var array
|
31 |
+
*/
|
32 |
+
public static $example_size = [
|
33 |
+
'post_result' => 6000,
|
34 |
+
];
|
35 |
+
|
36 |
/**
|
37 |
* The name of the option that will be used to indicate a feature detection is running.
|
38 |
*
|
162 |
|
163 |
return ! empty( $lock_option );
|
164 |
}
|
165 |
+
|
166 |
+
/**
|
167 |
+
* Returns the value of the `max_allowed_packet` MYSQL variable, if set, or a default value.
|
168 |
+
*
|
169 |
+
* @since 4.10.2
|
170 |
+
*
|
171 |
+
* @return int The byte size of the `max_allowed_packet` MYSQL variable.
|
172 |
+
*/
|
173 |
+
public function get_mysql_max_packet_size() {
|
174 |
+
/**
|
175 |
+
* Filters the value of the `max_allowed_packet` variable before it's read from the database.
|
176 |
+
*
|
177 |
+
* If the value returned from this filter is not `null`, then it will be assumed to be the value.
|
178 |
+
*
|
179 |
+
* @since 4.10.2
|
180 |
+
*
|
181 |
+
* @param int $mysql_max_packet_size The value of the `max_allowed_packet` variable, initially `null`.
|
182 |
+
*/
|
183 |
+
$mysql_max_packet_size = apply_filters( 'tribe_max_allowed_packet_size', null );
|
184 |
+
|
185 |
+
if ( null !== $mysql_max_packet_size ) {
|
186 |
+
return absint( $mysql_max_packet_size );
|
187 |
+
}
|
188 |
+
|
189 |
+
/** @var Tribe__Cache $cache */
|
190 |
+
$cache = tribe( 'cache' );
|
191 |
+
|
192 |
+
$cached = $cache->get( 'max_allowed_packet' );
|
193 |
+
|
194 |
+
if ( false !== $cached ) {
|
195 |
+
return $cached;
|
196 |
+
}
|
197 |
+
|
198 |
+
global $wpdb;
|
199 |
+
$mysql_max_packet_size = $wpdb->get_var( "SHOW VARIABLES LIKE 'max_allowed_packet'", 1 );
|
200 |
+
// At min set it to 2 MBs.
|
201 |
+
$mysql_max_packet_size = absint( max( absint( $mysql_max_packet_size ), 2097152 ) );
|
202 |
+
|
203 |
+
$cache->set( 'max_allowed_packet', $mysql_max_packet_size, WEEK_IN_SECONDS );
|
204 |
+
|
205 |
+
return $mysql_max_packet_size;
|
206 |
+
}
|
207 |
+
|
208 |
+
/**
|
209 |
+
* Returns the suggested SQL LIMIT value, based on the `max_allowed_packet` size and example string length.
|
210 |
+
*
|
211 |
+
* This is useful to size "reasonable" LIMITs when dealing with either very long queries or potentially long
|
212 |
+
* result sets.
|
213 |
+
*
|
214 |
+
* @since 4.10.2
|
215 |
+
*
|
216 |
+
* @param string $example_string The example string.
|
217 |
+
*
|
218 |
+
* @return int The suggested LIMIT value.
|
219 |
+
*/
|
220 |
+
public function mysql_limit_for_string( $example_string ) {
|
221 |
+
$byte_size = function_exists( 'mb_strlen' )
|
222 |
+
? mb_strlen( $example_string )
|
223 |
+
: strlen( $example_string );
|
224 |
+
|
225 |
+
return $this->mysql_limit_for_size( $byte_size );
|
226 |
+
}
|
227 |
+
|
228 |
+
/**
|
229 |
+
* Returns the SQL LIMIT for a byte size, in relation to the `max_allowed_packet` value.
|
230 |
+
*
|
231 |
+
* @since 4.10.2
|
232 |
+
*
|
233 |
+
* @param int $byte_size The byte size to check.
|
234 |
+
*
|
235 |
+
* @return int The SQL LIMIT value.
|
236 |
+
*/
|
237 |
+
public function mysql_limit_for_size( $byte_size ) {
|
238 |
+
return absint( floor( $this->get_mysql_max_packet_size() / $byte_size ) * 0.8 );
|
239 |
+
}
|
240 |
+
|
241 |
+
/**
|
242 |
+
* Provides the SQL LIMIT value, in relation to the `max_allowed_packet` value, for a pre-existing example.
|
243 |
+
*
|
244 |
+
* Defaults to the complete post result example string if the example is not found.
|
245 |
+
*
|
246 |
+
* @since 4.10.2
|
247 |
+
*
|
248 |
+
* @param string $example The name of the example to return. See the `Tribe__Feature_Detection::$example_sizes`
|
249 |
+
* prop for the available examples. Defaults to the `post_result` one.
|
250 |
+
*
|
251 |
+
* @return int The SQL LIMIT value for the example.
|
252 |
+
*/
|
253 |
+
public function mysql_limit_for_example( $example ) {
|
254 |
+
$example_size = Arr::get( static::$example_size, $example, static::$example_size['post_result'] );
|
255 |
+
|
256 |
+
return $this->mysql_limit_for_size( $example_size );
|
257 |
+
}
|
258 |
}
|
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.10';
|
21 |
|
22 |
const FEED_URL = 'https://theeventscalendar.com/feed/';
|
23 |
|
17 |
const OPTIONNAME = 'tribe_events_calendar_options';
|
18 |
const OPTIONNAMENETWORK = 'tribe_events_calendar_network_options';
|
19 |
|
20 |
+
const VERSION = '4.10.2';
|
21 |
|
22 |
const FEED_URL = 'https://theeventscalendar.com/feed/';
|
23 |
|
common/src/Tribe/Models/Post_Types/Base.php
CHANGED
@@ -180,21 +180,26 @@ abstract class Base {
|
|
180 |
return '__return_true';
|
181 |
}
|
182 |
|
183 |
-
|
184 |
-
$cache_key = $cache_slug . '_' . $this->post->ID . '_' . $filter;
|
185 |
-
$cache = new Cache();
|
186 |
-
|
187 |
-
// Define a function to cache this event when, and if, one of the lazy properties is loaded.
|
188 |
-
$callback = function () use ( $cache, $cache_key, $filter )
|
189 |
-
{
|
190 |
-
$properties = $this->get_properties( $filter );
|
191 |
|
|
|
192 |
/*
|
193 |
-
*
|
194 |
-
*
|
|
|
195 |
*/
|
196 |
-
$
|
197 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
198 |
|
199 |
return $callback;
|
200 |
}
|
180 |
return '__return_true';
|
181 |
}
|
182 |
|
183 |
+
$callback = null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
184 |
|
185 |
+
if ( wp_using_ext_object_cache() ) {
|
186 |
/*
|
187 |
+
* If any real caching is in place , then define a function to cache this event when, and if, one of the
|
188 |
+
* lazy properties is loaded.
|
189 |
+
* Cache by post ID and filter.
|
190 |
*/
|
191 |
+
$cache_key = $cache_slug . '_' . $this->post->ID . '_' . $filter;
|
192 |
+
$cache = new Cache();
|
193 |
+
$callback = function () use ( $cache, $cache_key, $filter ) {
|
194 |
+
$properties = $this->get_properties( $filter );
|
195 |
+
|
196 |
+
/*
|
197 |
+
* Cache without expiration, but only until a post of the types managed by The Events Calendar is
|
198 |
+
* updated or created.
|
199 |
+
*/
|
200 |
+
$cache->set( $cache_key, $properties, 0, Cache_Listener::TRIGGER_SAVE_POST );
|
201 |
+
};
|
202 |
+
}
|
203 |
|
204 |
return $callback;
|
205 |
}
|
common/src/Tribe/Repository/Core_Read_Interface.php
ADDED
@@ -0,0 +1,402 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* The "core" read interface for repositories.
|
4 |
+
*
|
5 |
+
* This interface is the minimal one a repository should implement to be called such.
|
6 |
+
*
|
7 |
+
* @since 4.10.2
|
8 |
+
*
|
9 |
+
* @package Tribe\Repository
|
10 |
+
*/
|
11 |
+
|
12 |
+
namespace Tribe\Repository;
|
13 |
+
|
14 |
+
use Tribe__Repository__Read_Interface;
|
15 |
+
use WP_Post;
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Class Core_Read_Interface
|
19 |
+
*
|
20 |
+
* @since 4.10.2
|
21 |
+
*
|
22 |
+
* @package Tribe\Repository
|
23 |
+
*/
|
24 |
+
interface Core_Read_Interface {
|
25 |
+
/**
|
26 |
+
* Batch filter application method.
|
27 |
+
*
|
28 |
+
* This is the same as calling `by` multiple times with different arguments.
|
29 |
+
*
|
30 |
+
* @since 4.7.19
|
31 |
+
*
|
32 |
+
* @param array $args An associative array of arguments to filter
|
33 |
+
* the posts by in the shape [ <key>, <value> ]. * * @return Tribe__Repository__Read_Interface
|
34 |
+
*/
|
35 |
+
public function by_args( array $args );
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Applies a filter to the query.
|
39 |
+
*
|
40 |
+
* While the signature only shows 2 arguments additional arguments will be passed
|
41 |
+
* to the schema filters.
|
42 |
+
*
|
43 |
+
* @since 4.7.19
|
44 |
+
*
|
45 |
+
* @param string $key
|
46 |
+
* @param mixed $value
|
47 |
+
* @param mixed ...$args Additional, optional, call arguments that will be passed to
|
48 |
+
* the schema.
|
49 |
+
*
|
50 |
+
* @return Tribe__Repository__Read_Interface
|
51 |
+
*/
|
52 |
+
public function by( $key, $value = null );
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Just an alias of the `by` method to allow for easier reading.
|
56 |
+
*
|
57 |
+
* @since 4.7.19
|
58 |
+
*
|
59 |
+
* @param string $key
|
60 |
+
* @param mixed $value
|
61 |
+
*
|
62 |
+
* @return Tribe__Repository__Read_Interface
|
63 |
+
*/
|
64 |
+
public function where( $key, $value = null );
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Sets the page of posts to fetch.
|
68 |
+
*
|
69 |
+
* Mind that this implementation does not support a `by( 'page', 2 )`
|
70 |
+
* filter to force more readable code.
|
71 |
+
*
|
72 |
+
* @since 4.7.19
|
73 |
+
*
|
74 |
+
* @param int $page
|
75 |
+
*
|
76 |
+
* @return Tribe__Repository__Read_Interface
|
77 |
+
*/
|
78 |
+
public function page( $page );
|
79 |
+
|
80 |
+
/**
|
81 |
+
* Sets the number of posts to retrieve per page.
|
82 |
+
*
|
83 |
+
* Mind that this implementation does not support a `by( 'per_page', 5 )`
|
84 |
+
* filter to force more readable code; by default posts per page is set to
|
85 |
+
* the pagination defaults for the post type.
|
86 |
+
*
|
87 |
+
* @param int $per_page
|
88 |
+
*
|
89 |
+
* @return Tribe__Repository__Read_Interface
|
90 |
+
*/
|
91 |
+
public function per_page( $per_page );
|
92 |
+
|
93 |
+
/**
|
94 |
+
* Returns the number of posts found matching the query.
|
95 |
+
*
|
96 |
+
* Mind that this value ignores the offset returning the
|
97 |
+
* number of results if limits where not applied.
|
98 |
+
*
|
99 |
+
* @since 4.7.19
|
100 |
+
*
|
101 |
+
* @return int
|
102 |
+
*/
|
103 |
+
public function found();
|
104 |
+
|
105 |
+
/**
|
106 |
+
* Returns all posts matching the query.
|
107 |
+
*
|
108 |
+
* Mind that "all" means "all the posts matching all the filters" so pagination applies.
|
109 |
+
*
|
110 |
+
* @return array
|
111 |
+
*/
|
112 |
+
public function all();
|
113 |
+
|
114 |
+
/**
|
115 |
+
* Sets the offset on the query.
|
116 |
+
*
|
117 |
+
* Mind that this implementation does not support a `by( 'offset', 2 )`
|
118 |
+
* filter to force more readable code.
|
119 |
+
*
|
120 |
+
* @since 4.7.19
|
121 |
+
*
|
122 |
+
* @param int $offset
|
123 |
+
* @param bool $increment Whether to increment the offset by the value
|
124 |
+
* or replace it.
|
125 |
+
*
|
126 |
+
* @return Tribe__Repository__Read_Interface
|
127 |
+
*/
|
128 |
+
public function offset( $offset, $increment = false );
|
129 |
+
|
130 |
+
/**
|
131 |
+
* Sets the order on the query.
|
132 |
+
*
|
133 |
+
* Mind that this implementation does not support a `by( 'order', 2 )`
|
134 |
+
* filter to force more readable code.
|
135 |
+
*
|
136 |
+
* @since 4.7.19
|
137 |
+
*
|
138 |
+
* @param string $order
|
139 |
+
*
|
140 |
+
* @return Tribe__Repository__Read_Interface
|
141 |
+
*/
|
142 |
+
public function order( $order = 'ASC' );
|
143 |
+
|
144 |
+
/**
|
145 |
+
* Sets the order criteria results should be fetched by.
|
146 |
+
*
|
147 |
+
* Mind that this implementation does not support a `by( 'order_by', 'title' )`
|
148 |
+
* filter to force more readable code.
|
149 |
+
*
|
150 |
+
* @since 4.7.19
|
151 |
+
*
|
152 |
+
* @param string $order_by The post field, custom field or alias key to order posts by.
|
153 |
+
* @param string $order The order direction; optional; shortcut for the `order` method; defaults
|
154 |
+
* to `DESC`.
|
155 |
+
*
|
156 |
+
* @return Tribe__Repository__Read_Interface
|
157 |
+
*/
|
158 |
+
public function order_by( $order_by, $order = 'DESC' );
|
159 |
+
|
160 |
+
/**
|
161 |
+
* Sets the fields that should be returned by the query.
|
162 |
+
*
|
163 |
+
* Mind that this implementation does not support a `by( 'fields', 'ids' )`
|
164 |
+
* filter to force more readable code.
|
165 |
+
*
|
166 |
+
* @since 4.7.19
|
167 |
+
*
|
168 |
+
* @param string $fields
|
169 |
+
*
|
170 |
+
* @return Tribe__Repository__Read_Interface
|
171 |
+
*/
|
172 |
+
public function fields( $fields );
|
173 |
+
|
174 |
+
/**
|
175 |
+
* Sugar method to set the `post__in` argument.
|
176 |
+
*
|
177 |
+
* Successive calls will stack, not replace each one.
|
178 |
+
*
|
179 |
+
* @since 4.7.19
|
180 |
+
*
|
181 |
+
* @param array|int $post_ids
|
182 |
+
*
|
183 |
+
* @return Tribe__Repository__Read_Interface
|
184 |
+
*/
|
185 |
+
public function in( $post_ids );
|
186 |
+
|
187 |
+
/**
|
188 |
+
* Sugar method to set the `post__not_in` argument.
|
189 |
+
*
|
190 |
+
* Successive calls will stack, not replace each one.
|
191 |
+
*
|
192 |
+
* @since 4.7.19
|
193 |
+
*
|
194 |
+
* @param array|int $post_ids
|
195 |
+
*
|
196 |
+
* @return Tribe__Repository__Read_Interface
|
197 |
+
*/
|
198 |
+
public function not_in( $post_ids );
|
199 |
+
|
200 |
+
/**
|
201 |
+
* Sugar method to set the `post_parent__in` argument.
|
202 |
+
*
|
203 |
+
* Successive calls will stack, not replace each one.
|
204 |
+
*
|
205 |
+
* @since 4.7.19
|
206 |
+
*
|
207 |
+
* @param array|int $post_id
|
208 |
+
*
|
209 |
+
* @return Tribe__Repository__Read_Interface
|
210 |
+
*/
|
211 |
+
public function parent( $post_id );
|
212 |
+
|
213 |
+
/**
|
214 |
+
* Sugar method to set the `post_parent__in` argument.
|
215 |
+
*
|
216 |
+
* Successive calls will stack, not replace each one.
|
217 |
+
*
|
218 |
+
* @since 4.7.19
|
219 |
+
*
|
220 |
+
* @param array $post_ids
|
221 |
+
*
|
222 |
+
* @return Tribe__Repository__Read_Interface
|
223 |
+
*/
|
224 |
+
public function parent_in( $post_ids );
|
225 |
+
|
226 |
+
/**
|
227 |
+
* Sugar method to set the `post_parent__not_in` argument.
|
228 |
+
*
|
229 |
+
* Successive calls will stack, not replace each one.
|
230 |
+
*
|
231 |
+
* @since 4.7.19
|
232 |
+
*
|
233 |
+
* @param array $post_ids
|
234 |
+
*
|
235 |
+
* @return Tribe__Repository__Read_Interface
|
236 |
+
*/
|
237 |
+
public function parent_not_in( $post_ids );
|
238 |
+
|
239 |
+
/**
|
240 |
+
* Sugar method to set the `s` argument.
|
241 |
+
*
|
242 |
+
* Successive calls will replace the search string.
|
243 |
+
* This is the default WordPress searh, to search by title,
|
244 |
+
* content or excerpt only use the `title`, `content`, `excerpt` filters.
|
245 |
+
*
|
246 |
+
* @param $search
|
247 |
+
*
|
248 |
+
* @return Tribe__Repository__Read_Interface
|
249 |
+
*/
|
250 |
+
public function search( $search );
|
251 |
+
|
252 |
+
/**
|
253 |
+
* Returns the number of posts found matching the query in the current page.
|
254 |
+
*
|
255 |
+
* While the `found` method will return the number of posts found
|
256 |
+
* across all pages this method will only return the number of
|
257 |
+
* posts found in the current page.
|
258 |
+
* Differently from the `found` method this method will apply the
|
259 |
+
* offset if set.
|
260 |
+
*
|
261 |
+
* @since 4.7.19
|
262 |
+
*
|
263 |
+
* @return int
|
264 |
+
*/
|
265 |
+
public function count();
|
266 |
+
|
267 |
+
/**
|
268 |
+
* Returns the first post of the page matching the current query.
|
269 |
+
*
|
270 |
+
* If, by default or because set with the `per_page` method, all
|
271 |
+
* posts matching the query should be returned then this will be
|
272 |
+
* the first post of all those matching the query.
|
273 |
+
*
|
274 |
+
* @since 4.7.19
|
275 |
+
*
|
276 |
+
* @return WP_Post|mixed|null
|
277 |
+
*
|
278 |
+
* @see Tribe__Repository__Read_Interface::per_page()
|
279 |
+
*/
|
280 |
+
public function first();
|
281 |
+
|
282 |
+
/**
|
283 |
+
* Returns the last post of the page matching the current query.
|
284 |
+
*
|
285 |
+
* If, by default or because set with the `per_page` method, all
|
286 |
+
* posts matching the query should be returned then this will be
|
287 |
+
* the last post of all those matching the query.
|
288 |
+
*
|
289 |
+
* @since 4.7.19
|
290 |
+
*
|
291 |
+
* @return WP_Post|mixed|null
|
292 |
+
*
|
293 |
+
* @see Tribe__Repository__Read_Interface::per_page()
|
294 |
+
*/
|
295 |
+
public function last();
|
296 |
+
|
297 |
+
/**
|
298 |
+
* Returns the nth post (1-based) of the page matching the current query.
|
299 |
+
*
|
300 |
+
* Being 1-based the second post can be fetched using `nth( 2 )`.
|
301 |
+
* If, by default or because set with the `per_page` method, all
|
302 |
+
* posts matching the query should be returned then this will be
|
303 |
+
* the nth post of all those matching the query.
|
304 |
+
*
|
305 |
+
* @since 4.7.19
|
306 |
+
*
|
307 |
+
* @param int $n
|
308 |
+
*
|
309 |
+
* @return WP_Post|mixed|null
|
310 |
+
*
|
311 |
+
* @see Tribe__Repository__Read_Interface::per_page()
|
312 |
+
*/
|
313 |
+
public function nth( $n );
|
314 |
+
|
315 |
+
/**
|
316 |
+
* Returns the first n posts of the page matching the current query.
|
317 |
+
*
|
318 |
+
* If, by default or because set with the `per_page` method, all
|
319 |
+
* posts matching the query should be returned then this method will
|
320 |
+
* return the first n posts of all those matching the query.
|
321 |
+
*
|
322 |
+
* @since 4.7.19
|
323 |
+
*
|
324 |
+
* @return array An array of posts matching the query.
|
325 |
+
*
|
326 |
+
* @see Tribe__Repository__Read_Interface::per_page()
|
327 |
+
*/
|
328 |
+
public function take( $n );
|
329 |
+
|
330 |
+
/**
|
331 |
+
* Plucks a field from all results and returns it.
|
332 |
+
*
|
333 |
+
* This method will implicitly build and use a `WP_List_Util` instance on the return
|
334 |
+
* value of a call to the `all` method.
|
335 |
+
*
|
336 |
+
* @since 4.9.5
|
337 |
+
*
|
338 |
+
* @param string $field The field to pluck from each result.
|
339 |
+
*
|
340 |
+
* @return array An array of the plucked results.
|
341 |
+
*
|
342 |
+
* @see \wp_list_pluck()
|
343 |
+
*/
|
344 |
+
public function pluck( $field );
|
345 |
+
|
346 |
+
/**
|
347 |
+
* Filters the results according to the specified criteria.
|
348 |
+
*
|
349 |
+
* This method will implicitly build and use a `WP_List_Util` instance on the return
|
350 |
+
* value of a call to the `all` method.
|
351 |
+
*
|
352 |
+
* @since 4.9.5
|
353 |
+
*
|
354 |
+
* @param array $args Optional. An array of key => value arguments to match
|
355 |
+
* against each object. Default empty array.
|
356 |
+
* @param string $operator Optional. The logical operation to perform. 'AND' means
|
357 |
+
* all elements from the array must match. 'OR' means only
|
358 |
+
* one element needs to match. 'NOT' means no elements may
|
359 |
+
* match. Default 'AND'.
|
360 |
+
*
|
361 |
+
* @return array An array of the filtered results.
|
362 |
+
*
|
363 |
+
* @see \wp_list_filter()
|
364 |
+
*/
|
365 |
+
public function filter( $args = array(), $operator = 'AND' );
|
366 |
+
|
367 |
+
/**
|
368 |
+
* Sorts the results according to the specified criteria.
|
369 |
+
*
|
370 |
+
* This method will implicitly build and use a `WP_List_Util` instance on the return
|
371 |
+
* value of a call to the `all` method.
|
372 |
+
*
|
373 |
+
* @since 4.9.5
|
374 |
+
*
|
375 |
+
* @param string|array $orderby Optional. Either the field name to order by or an array
|
376 |
+
* of multiple orderby fields as $orderby => $order.
|
377 |
+
* @param string $order Optional. Either 'ASC' or 'DESC'. Only used if $orderby
|
378 |
+
* is a string.
|
379 |
+
* @param bool $preserve_keys Optional. Whether to preserve keys. Default false.
|
380 |
+
*
|
381 |
+
* @return array An array of the sorted results.
|
382 |
+
*
|
383 |
+
* @see \wp_list_sort()
|
384 |
+
*/
|
385 |
+
public function sort( $orderby = array(), $order = 'ASC', $preserve_keys = false );
|
386 |
+
|
387 |
+
/**
|
388 |
+
* Builds a collection on the result of the `all()` method call.
|
389 |
+
*
|
390 |
+
* @since 4.9.5
|
391 |
+
*
|
392 |
+
* @return \Tribe__Utils__Post_Collection
|
393 |
+
*/
|
394 |
+
public function collect();
|
395 |
+
|
396 |
+
/**
|
397 |
+
* Gets the ids of the posts matching the query.
|
398 |
+
*
|
399 |
+
* @return array An array containing the post IDs to update.
|
400 |
+
*/
|
401 |
+
public function get_ids();
|
402 |
+
}
|
common/src/Tribe/Repository/Filter_Validation.php
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Provides methods to validate repository filters.
|
4 |
+
*
|
5 |
+
* @since 4.10.2
|
6 |
+
*
|
7 |
+
* @package Tribe\Repository
|
8 |
+
*/
|
9 |
+
|
10 |
+
namespace Tribe\Repository;
|
11 |
+
|
12 |
+
use Tribe__Repository__Usage_Error as Usage_Error;
|
13 |
+
use Tribe__Utils__Array as Arr;
|
14 |
+
|
15 |
+
trait Filter_Validation {
|
16 |
+
/**
|
17 |
+
* Checks the passed arguments to make sure they are the correct number and nature.
|
18 |
+
*
|
19 |
+
* This method requires the class using it to define a `static::$filter_args_map` property in the shape:
|
20 |
+
* ```
|
21 |
+
* [
|
22 |
+
* <filter> => [ <arg_name> => <arg_validation_callback> ]
|
23 |
+
* ]
|
24 |
+
* ```
|
25 |
+
*
|
26 |
+
* @since 4.10.2
|
27 |
+
*
|
28 |
+
* @param string $filter The name of the filter currently validating.
|
29 |
+
* @param array $call_args The current filter call args, usually `func_get_args()`.
|
30 |
+
*
|
31 |
+
* @throws Usage_Error If there is a definition for the filter and the argument count or nature is not correct.
|
32 |
+
*/
|
33 |
+
protected function ensure_args_for_filter( $filter, array $call_args ) {
|
34 |
+
$map = isset( static::$filter_args_map ) ? static::$filter_args_map : false;
|
35 |
+
|
36 |
+
if ( empty( $map ) ) {
|
37 |
+
return;
|
38 |
+
}
|
39 |
+
|
40 |
+
$required_args = Arr::get( $filter, $map, false );
|
41 |
+
|
42 |
+
if ( false === $required_args ) {
|
43 |
+
return;
|
44 |
+
}
|
45 |
+
|
46 |
+
if ( count( $required_args ) !== count( $call_args ) ) {
|
47 |
+
throw Usage_Error::because_filter_requires_args( $filter, array_keys( $required_args ) );
|
48 |
+
}
|
49 |
+
|
50 |
+
$iterator = new \MultipleIterator();
|
51 |
+
$iterator->attachIterator( new \ArrayIterator( array_keys( $required_args ) ) );
|
52 |
+
$iterator->attachIterator( new \ArrayIterator( array_values( $required_args ) ) );
|
53 |
+
$iterator->attachIterator( new \ArrayIterator( $call_args ) );
|
54 |
+
|
55 |
+
foreach ( $required_args as list( $arg_name, $validator, $input ) ) {
|
56 |
+
if ( empty( $validator( $input ) ) ) {
|
57 |
+
throw Usage_Error::because_filter_arg_is_not_valid( $filter, $arg_name );
|
58 |
+
}
|
59 |
+
}
|
60 |
+
}
|
61 |
+
}
|
common/src/Tribe/Repository/Interface.php
CHANGED
@@ -186,13 +186,6 @@ interface Tribe__Repository__Interface
|
|
186 |
*/
|
187 |
public function by_related_to_between( $by_meta_keys, $min, $max, $keys = null, $values = null );
|
188 |
|
189 |
-
/**
|
190 |
-
* Gets the ids of the posts matching the query.
|
191 |
-
*
|
192 |
-
* @return array An array containing the post IDs to update.
|
193 |
-
*/
|
194 |
-
public function get_ids();
|
195 |
-
|
196 |
/**
|
197 |
* Adds an entry to the repository filter schema.
|
198 |
*
|
186 |
*/
|
187 |
public function by_related_to_between( $by_meta_keys, $min, $max, $keys = null, $values = null );
|
188 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
189 |
/**
|
190 |
* Adds an entry to the repository filter schema.
|
191 |
*
|
common/src/Tribe/Repository/Read_Interface.php
CHANGED
@@ -1,166 +1,14 @@
|
|
1 |
<?php
|
2 |
|
|
|
|
|
3 |
/**
|
4 |
* Interface Tribe__Repository__Read_Interface
|
5 |
*
|
|
|
6 |
* @since 4.7.19
|
7 |
*/
|
8 |
-
interface Tribe__Repository__Read_Interface extends Tribe__Repository__Setter_Interface {
|
9 |
-
/**
|
10 |
-
* Batch filter application method.
|
11 |
-
*
|
12 |
-
* This is the same as calling `by` multiple times with different arguments.
|
13 |
-
*
|
14 |
-
* @since 4.7.19
|
15 |
-
*
|
16 |
-
* @param array $args An associative array of arguments to filter
|
17 |
-
* the posts by in the shape [ <key>, <value> ]. * * @return Tribe__Repository__Read_Interface */
|
18 |
-
public function by_args( array $args );
|
19 |
-
|
20 |
-
/**
|
21 |
-
* Batch filter application method.
|
22 |
-
*
|
23 |
-
* This is the same as calling `where` multiple times with different arguments.
|
24 |
-
*
|
25 |
-
* T
|
26 |
-
|
27 |
-
/**
|
28 |
-
* Applies a filter to the query.
|
29 |
-
*
|
30 |
-
* While the signature only shows 2 arguments additional arguments will be passed
|
31 |
-
* to the schema filters.
|
32 |
-
*
|
33 |
-
* @since 4.7.19
|
34 |
-
*
|
35 |
-
* @param string $key
|
36 |
-
* @param mixed $value
|
37 |
-
* @param mixed ...$args Additional, optional, call arguments that will be passed to
|
38 |
-
* the schema.
|
39 |
-
*
|
40 |
-
* @return Tribe__Repository__Read_Interface
|
41 |
-
*/
|
42 |
-
public function by( $key, $value = null );
|
43 |
-
|
44 |
-
/**
|
45 |
-
* Just an alias of the `by` method to allow for easier reading.
|
46 |
-
*
|
47 |
-
* @since 4.7.19
|
48 |
-
*
|
49 |
-
* @param string $key
|
50 |
-
* @param mixed $value
|
51 |
-
*
|
52 |
-
* @return Tribe__Repository__Read_Interface
|
53 |
-
*/
|
54 |
-
public function where( $key, $value = null );
|
55 |
-
|
56 |
-
/**
|
57 |
-
* Sets the page of posts to fetch.
|
58 |
-
*
|
59 |
-
* Mind that this implementation does not support a `by( 'page', 2 )`
|
60 |
-
* filter to force more readable code.
|
61 |
-
*
|
62 |
-
* @since 4.7.19
|
63 |
-
*
|
64 |
-
* @param int $page
|
65 |
-
*
|
66 |
-
* @return Tribe__Repository__Read_Interface
|
67 |
-
*/
|
68 |
-
public function page( $page );
|
69 |
-
|
70 |
-
/**
|
71 |
-
* Sets the number of posts to retrieve per page.
|
72 |
-
*
|
73 |
-
* Mind that this implementation does not support a `by( 'per_page', 5 )`
|
74 |
-
* filter to force more readable code; by default posts per page is set to
|
75 |
-
* the pagination defaults for the post type.
|
76 |
-
*
|
77 |
-
* @param int $per_page
|
78 |
-
*
|
79 |
-
* @return Tribe__Repository__Read_Interface
|
80 |
-
*/
|
81 |
-
public function per_page( $per_page );
|
82 |
-
|
83 |
-
/**
|
84 |
-
* Returns the number of posts found matching the query.
|
85 |
-
*
|
86 |
-
* Mind that this value ignores the offset returning the
|
87 |
-
* number of results if limits where not applied.
|
88 |
-
*
|
89 |
-
* @since 4.7.19
|
90 |
-
*
|
91 |
-
* @return int
|
92 |
-
*/
|
93 |
-
public function found();
|
94 |
-
|
95 |
-
/**
|
96 |
-
* Returns all posts matching the query.
|
97 |
-
*
|
98 |
-
* Mind that "all" means "all the posts matching all the filters" so pagination applies.
|
99 |
-
*
|
100 |
-
* @return array
|
101 |
-
*/
|
102 |
-
public function all();
|
103 |
-
|
104 |
-
/**
|
105 |
-
* Sets the offset on the query.
|
106 |
-
*
|
107 |
-
* Mind that this implementation does not support a `by( 'offset', 2 )`
|
108 |
-
* filter to force more readable code.
|
109 |
-
*
|
110 |
-
* @since 4.7.19
|
111 |
-
*
|
112 |
-
* @param int $offset
|
113 |
-
* @param bool $increment Whether to increment the offset by the value
|
114 |
-
* or replace it.
|
115 |
-
*
|
116 |
-
* @return Tribe__Repository__Read_Interface
|
117 |
-
*/
|
118 |
-
public function offset( $offset, $increment = false );
|
119 |
-
|
120 |
-
/**
|
121 |
-
* Sets the order on the query.
|
122 |
-
*
|
123 |
-
* Mind that this implementation does not support a `by( 'order', 2 )`
|
124 |
-
* filter to force more readable code.
|
125 |
-
*
|
126 |
-
* @since 4.7.19
|
127 |
-
*
|
128 |
-
* @param string $order
|
129 |
-
*
|
130 |
-
* @return Tribe__Repository__Read_Interface
|
131 |
-
*/
|
132 |
-
public function order( $order = 'ASC' );
|
133 |
-
|
134 |
-
/**
|
135 |
-
* Sets the order criteria results should be fetched by.
|
136 |
-
*
|
137 |
-
* Mind that this implementation does not support a `by( 'order_by', 'title' )`
|
138 |
-
* filter to force more readable code.
|
139 |
-
*
|
140 |
-
* @since 4.7.19
|
141 |
-
*
|
142 |
-
* @param string $order_by The post field, custom field or alias key to order posts by.
|
143 |
-
* @param string $order The order direction; optional; shortcut for the `order` method; defaults
|
144 |
-
* to `DESC`.
|
145 |
-
*
|
146 |
-
* @return Tribe__Repository__Read_Interface
|
147 |
-
*/
|
148 |
-
public function order_by( $order_by, $order = 'DESC' );
|
149 |
-
|
150 |
-
/**
|
151 |
-
* Sets the fields that should be returned by the query.
|
152 |
-
*
|
153 |
-
* Mind that this implementation does not support a `by( 'fields', 'ids' )`
|
154 |
-
* filter to force more readable code.
|
155 |
-
*
|
156 |
-
* @since 4.7.19
|
157 |
-
*
|
158 |
-
* @param string $fields
|
159 |
-
*
|
160 |
-
* @return Tribe__Repository__Read_Interface
|
161 |
-
*/
|
162 |
-
public function fields( $fields );
|
163 |
-
|
164 |
/**
|
165 |
* Sets the permission that should be used to get the posts.
|
166 |
*
|
@@ -173,162 +21,6 @@ interface Tribe__Repository__Read_Interface extends Tribe__Repository__Setter_In
|
|
173 |
*/
|
174 |
public function permission( $permission );
|
175 |
|
176 |
-
/**
|
177 |
-
* Sugar method to set the `post__in` argument.
|
178 |
-
*
|
179 |
-
* Successive calls will stack, not replace each one.
|
180 |
-
*
|
181 |
-
* @since 4.7.19
|
182 |
-
*
|
183 |
-
* @param array|int $post_ids
|
184 |
-
*
|
185 |
-
* @return Tribe__Repository__Read_Interface
|
186 |
-
*/
|
187 |
-
public function in( $post_ids );
|
188 |
-
|
189 |
-
/**
|
190 |
-
* Sugar method to set the `post__not_in` argument.
|
191 |
-
*
|
192 |
-
* Successive calls will stack, not replace each one.
|
193 |
-
*
|
194 |
-
* @since 4.7.19
|
195 |
-
*
|
196 |
-
* @param array|int $post_ids
|
197 |
-
*
|
198 |
-
* @return Tribe__Repository__Read_Interface
|
199 |
-
*/
|
200 |
-
public function not_in( $post_ids );
|
201 |
-
|
202 |
-
/**
|
203 |
-
* Sugar method to set the `post_parent__in` argument.
|
204 |
-
*
|
205 |
-
* Successive calls will stack, not replace each one.
|
206 |
-
*
|
207 |
-
* @since 4.7.19
|
208 |
-
*
|
209 |
-
* @param array|int $post_id
|
210 |
-
*
|
211 |
-
* @return Tribe__Repository__Read_Interface
|
212 |
-
*/
|
213 |
-
public function parent( $post_id );
|
214 |
-
|
215 |
-
/**
|
216 |
-
* Sugar method to set the `post_parent__in` argument.
|
217 |
-
*
|
218 |
-
* Successive calls will stack, not replace each one.
|
219 |
-
*
|
220 |
-
* @since 4.7.19
|
221 |
-
*
|
222 |
-
* @param array $post_ids
|
223 |
-
*
|
224 |
-
* @return Tribe__Repository__Read_Interface
|
225 |
-
*/
|
226 |
-
public function parent_in( $post_ids );
|
227 |
-
|
228 |
-
/**
|
229 |
-
* Sugar method to set the `post_parent__not_in` argument.
|
230 |
-
*
|
231 |
-
* Successive calls will stack, not replace each one.
|
232 |
-
*
|
233 |
-
* @since 4.7.19
|
234 |
-
*
|
235 |
-
* @param array $post_ids
|
236 |
-
*
|
237 |
-
* @return Tribe__Repository__Read_Interface
|
238 |
-
*/
|
239 |
-
public function parent_not_in( $post_ids );
|
240 |
-
|
241 |
-
/**
|
242 |
-
* Sugar method to set the `s` argument.
|
243 |
-
*
|
244 |
-
* Successive calls will replace the search string.
|
245 |
-
* This is the default WordPress searh, to search by title,
|
246 |
-
* content or excerpt only use the `title`, `content`, `excerpt` filters.
|
247 |
-
*
|
248 |
-
* @param $search
|
249 |
-
*
|
250 |
-
* @return Tribe__Repository__Read_Interface
|
251 |
-
*/
|
252 |
-
public function search( $search );
|
253 |
-
|
254 |
-
/**
|
255 |
-
* Returns the number of posts found matching the query in the current page.
|
256 |
-
*
|
257 |
-
* While the `found` method will return the number of posts found
|
258 |
-
* across all pages this method will only return the number of
|
259 |
-
* posts found in the current page.
|
260 |
-
* Differently from the `found` method this method will apply the
|
261 |
-
* offset if set.
|
262 |
-
*
|
263 |
-
* @since 4.7.19
|
264 |
-
*
|
265 |
-
* @return int
|
266 |
-
*/
|
267 |
-
public function count();
|
268 |
-
|
269 |
-
/**
|
270 |
-
* Returns the first post of the page matching the current query.
|
271 |
-
*
|
272 |
-
* If, by default or because set with the `per_page` method, all
|
273 |
-
* posts matching the query should be returned then this will be
|
274 |
-
* the first post of all those matching the query.
|
275 |
-
*
|
276 |
-
* @since 4.7.19
|
277 |
-
*
|
278 |
-
* @return WP_Post|mixed|null
|
279 |
-
*
|
280 |
-
* @see Tribe__Repository__Read_Interface::per_page()
|
281 |
-
*/
|
282 |
-
public function first();
|
283 |
-
|
284 |
-
/**
|
285 |
-
* Returns the last post of the page matching the current query.
|
286 |
-
*
|
287 |
-
* If, by default or because set with the `per_page` method, all
|
288 |
-
* posts matching the query should be returned then this will be
|
289 |
-
* the last post of all those matching the query.
|
290 |
-
*
|
291 |
-
* @since 4.7.19
|
292 |
-
*
|
293 |
-
* @return WP_Post|mixed|null
|
294 |
-
*
|
295 |
-
* @see Tribe__Repository__Read_Interface::per_page()
|
296 |
-
*/
|
297 |
-
public function last();
|
298 |
-
|
299 |
-
/**
|
300 |
-
* Returns the nth post (1-based) of the page matching the current query.
|
301 |
-
*
|
302 |
-
* Being 1-based the second post can be fetched using `nth( 2 )`.
|
303 |
-
* If, by default or because set with the `per_page` method, all
|
304 |
-
* posts matching the query should be returned then this will be
|
305 |
-
* the nth post of all those matching the query.
|
306 |
-
*
|
307 |
-
* @since 4.7.19
|
308 |
-
*
|
309 |
-
* @param int $n
|
310 |
-
*
|
311 |
-
* @return WP_Post|mixed|null
|
312 |
-
*
|
313 |
-
* @see Tribe__Repository__Read_Interface::per_page()
|
314 |
-
*/
|
315 |
-
public function nth( $n );
|
316 |
-
|
317 |
-
/**
|
318 |
-
* Returns the first n posts of the page matching the current query.
|
319 |
-
*
|
320 |
-
* If, by default or because set with the `per_page` method, all
|
321 |
-
* posts matching the query should be returned then this method will
|
322 |
-
* return the first n posts of all those matching the query.
|
323 |
-
*
|
324 |
-
* @since 4.7.19
|
325 |
-
*
|
326 |
-
* @return array An array of posts matching the query.
|
327 |
-
*
|
328 |
-
* @see Tribe__Repository__Read_Interface::per_page()
|
329 |
-
*/
|
330 |
-
public function take( $n );
|
331 |
-
|
332 |
/**
|
333 |
* Fetches a single instance of the post type handled by the repository by
|
334 |
* the primary key.
|
@@ -478,70 +170,4 @@ interface Tribe__Repository__Read_Interface extends Tribe__Repository__Setter_In
|
|
478 |
* @return WP_Query A query object ready to return, and operate, on the posts.
|
479 |
*/
|
480 |
public function get_query_for_posts( array $posts );
|
481 |
-
|
482 |
-
/**
|
483 |
-
* Plucks a field from all results and returns it.
|
484 |
-
*
|
485 |
-
* This method will implicitly build and use a `WP_List_Util` instance on the return
|
486 |
-
* value of a call to the `all` method.
|
487 |
-
*
|
488 |
-
* @since 4.9.5
|
489 |
-
*
|
490 |
-
* @param string $field The field to pluck from each result.
|
491 |
-
*
|
492 |
-
* @return array An array of the plucked results.
|
493 |
-
*
|
494 |
-
* @see \wp_list_pluck()
|
495 |
-
*/
|
496 |
-
public function pluck( $field );
|
497 |
-
|
498 |
-
/**
|
499 |
-
* Filters the results according to the specified criteria.
|
500 |
-
*
|
501 |
-
* This method will implicitly build and use a `WP_List_Util` instance on the return
|
502 |
-
* value of a call to the `all` method.
|
503 |
-
*
|
504 |
-
* @since 4.9.5
|
505 |
-
*
|
506 |
-
* @param array $args Optional. An array of key => value arguments to match
|
507 |
-
* against each object. Default empty array.
|
508 |
-
* @param string $operator Optional. The logical operation to perform. 'AND' means
|
509 |
-
* all elements from the array must match. 'OR' means only
|
510 |
-
* one element needs to match. 'NOT' means no elements may
|
511 |
-
* match. Default 'AND'.
|
512 |
-
*
|
513 |
-
* @return array An array of the filtered results.
|
514 |
-
*
|
515 |
-
* @see \wp_list_filter()
|
516 |
-
*/
|
517 |
-
public function filter( $args = array(), $operator = 'AND' );
|
518 |
-
|
519 |
-
/**
|
520 |
-
* Sorts the results according to the specified criteria.
|
521 |
-
*
|
522 |
-
* This method will implicitly build and use a `WP_List_Util` instance on the return
|
523 |
-
* value of a call to the `all` method.
|
524 |
-
*
|
525 |
-
* @since 4.9.5
|
526 |
-
*
|
527 |
-
* @param string|array $orderby Optional. Either the field name to order by or an array
|
528 |
-
* of multiple orderby fields as $orderby => $order.
|
529 |
-
* @param string $order Optional. Either 'ASC' or 'DESC'. Only used if $orderby
|
530 |
-
* is a string.
|
531 |
-
* @param bool $preserve_keys Optional. Whether to preserve keys. Default false.
|
532 |
-
*
|
533 |
-
* @return array An array of the sorted results.
|
534 |
-
*
|
535 |
-
* @see \wp_list_sort()
|
536 |
-
*/
|
537 |
-
public function sort( $orderby = array(), $order = 'ASC', $preserve_keys = false );
|
538 |
-
|
539 |
-
/**
|
540 |
-
* Builds a collection on the result of the `all()` method call.
|
541 |
-
*
|
542 |
-
* @since 4.9.5
|
543 |
-
*
|
544 |
-
* @return \Tribe__Utils__Post_Collection
|
545 |
-
*/
|
546 |
-
public function collect();
|
547 |
}
|
1 |
<?php
|
2 |
|
3 |
+
use Tribe\Repository\Core_Read_Interface;
|
4 |
+
|
5 |
/**
|
6 |
* Interface Tribe__Repository__Read_Interface
|
7 |
*
|
8 |
+
*
|
9 |
* @since 4.7.19
|
10 |
*/
|
11 |
+
interface Tribe__Repository__Read_Interface extends Tribe__Repository__Setter_Interface, Core_Read_Interface {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
/**
|
13 |
* Sets the permission that should be used to get the posts.
|
14 |
*
|
21 |
*/
|
22 |
public function permission( $permission );
|
23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
/**
|
25 |
* Fetches a single instance of the post type handled by the repository by
|
26 |
* the primary key.
|
170 |
* @return WP_Query A query object ready to return, and operate, on the posts.
|
171 |
*/
|
172 |
public function get_query_for_posts( array $posts );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
}
|
common/src/Tribe/Repository/Usage_Error.php
CHANGED
@@ -244,4 +244,45 @@ class Tribe__Repository__Usage_Error extends Exception {
|
|
244 |
public static function because_query_cannot_be_set_after_it_ran() {
|
245 |
return new self( "You are trying to set the repository query after it ran!" );
|
246 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
247 |
}
|
244 |
public static function because_query_cannot_be_set_after_it_ran() {
|
245 |
return new self( "You are trying to set the repository query after it ran!" );
|
246 |
}
|
247 |
+
|
248 |
+
/**
|
249 |
+
* Indicates the client code is trying to call a filter without the correct number of req. parameters.
|
250 |
+
*
|
251 |
+
* @since 4.10.2
|
252 |
+
*
|
253 |
+
* @param string $filter The called filter.
|
254 |
+
* @param array $required_args The human-readable name of the required arguments.
|
255 |
+
*
|
256 |
+
* @return static A ready to throw instance of the class.
|
257 |
+
*/
|
258 |
+
public static function because_filter_requires_args( $filter, array $required_args ) {
|
259 |
+
return new static(
|
260 |
+
sprintf(
|
261 |
+
'The "%s" filter requires %d arguments: %s',
|
262 |
+
$filter,
|
263 |
+
count( $required_args ),
|
264 |
+
implode( ', ', $required_args )
|
265 |
+
)
|
266 |
+
);
|
267 |
+
}
|
268 |
+
|
269 |
+
/**
|
270 |
+
* Indicates the client code is trying to call a filter with an invalid parameter.
|
271 |
+
*
|
272 |
+
* @since 4.10.2
|
273 |
+
*
|
274 |
+
* @param string $filter The called filter.
|
275 |
+
* @param string $arg_name The human-readable name of the parameter.
|
276 |
+
*
|
277 |
+
* @return static A ready to throw instance of the class.
|
278 |
+
*/
|
279 |
+
public static function because_filter_arg_is_not_valid( $filter, $arg_name ) {
|
280 |
+
return new static(
|
281 |
+
sprintf(
|
282 |
+
'The "%s" filter "%s" argument is not valid.',
|
283 |
+
$filter,
|
284 |
+
$arg_name
|
285 |
+
)
|
286 |
+
);
|
287 |
+
}
|
288 |
}
|
common/src/Tribe/Rewrite.php
CHANGED
@@ -975,7 +975,7 @@ class Tribe__Rewrite {
|
|
975 |
return home_url();
|
976 |
}
|
977 |
|
978 |
-
$clean = $this->get_canonical_url( add_query_arg( $parsed_vars, home_url() ) );
|
979 |
|
980 |
$this->clean_url_cache[ $url ] = $clean;
|
981 |
|
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 |
|
common/src/Tribe/Service_Providers/Dialog.php
CHANGED
@@ -5,7 +5,7 @@ namespace Tribe\Service_Providers;
|
|
5 |
/**
|
6 |
* Class Dialog
|
7 |
*
|
8 |
-
* @since
|
9 |
*
|
10 |
* Handles the registration and creation of our async process handlers.
|
11 |
*/
|
@@ -14,7 +14,7 @@ class Dialog extends \tad_DI52_ServiceProvider {
|
|
14 |
/**
|
15 |
* Binds and sets up implementations.
|
16 |
*
|
17 |
-
* @since
|
18 |
*/
|
19 |
public function register() {
|
20 |
tribe_singleton( 'dialog.view', '\Tribe\Dialog\View' );
|
@@ -22,7 +22,7 @@ class Dialog extends \tad_DI52_ServiceProvider {
|
|
22 |
/**
|
23 |
* Allows plugins to hook into the register action to register views, etc
|
24 |
*
|
25 |
-
* @since
|
26 |
*
|
27 |
* @param Tribe\Service_Providers\Dialog $dialog
|
28 |
*/
|
@@ -34,7 +34,7 @@ class Dialog extends \tad_DI52_ServiceProvider {
|
|
34 |
/**
|
35 |
* Set up hooks for classes.
|
36 |
*
|
37 |
-
* @since
|
38 |
*/
|
39 |
private function hooks() {
|
40 |
add_action( 'tribe_common_loaded', [ $this, 'register_dialog_assets' ] );
|
@@ -43,7 +43,7 @@ class Dialog extends \tad_DI52_ServiceProvider {
|
|
43 |
/**
|
44 |
* Allows plugins to hook into the hooks action to register their own hooks
|
45 |
*
|
46 |
-
* @since
|
47 |
*
|
48 |
* @param Tribe\Service_Providers\Dialog $dialog
|
49 |
*/
|
@@ -53,7 +53,7 @@ class Dialog extends \tad_DI52_ServiceProvider {
|
|
53 |
/**
|
54 |
* {@inheritdoc}
|
55 |
*
|
56 |
-
* @since
|
57 |
*/
|
58 |
public function template_public_namespace( $namespace, $obj ) {
|
59 |
if ( ! empty( $obj->template_namespace ) && 'dialog' === $obj->template_namespace ) {
|
@@ -66,7 +66,7 @@ class Dialog extends \tad_DI52_ServiceProvider {
|
|
66 |
/**
|
67 |
* Register assets associated with dialog
|
68 |
*
|
69 |
-
* @since
|
70 |
*/
|
71 |
public function register_dialog_assets() {
|
72 |
$main = \Tribe__Main::instance();
|
@@ -101,7 +101,7 @@ class Dialog extends \tad_DI52_ServiceProvider {
|
|
101 |
/**
|
102 |
* Allows plugins to hook into the assets action to register their own assets
|
103 |
*
|
104 |
-
* @since
|
105 |
*
|
106 |
* @param Tribe\Service_Providers\Dialog $dialog
|
107 |
*/
|
5 |
/**
|
6 |
* Class Dialog
|
7 |
*
|
8 |
+
* @since 4.10.0
|
9 |
*
|
10 |
* Handles the registration and creation of our async process handlers.
|
11 |
*/
|
14 |
/**
|
15 |
* Binds and sets up implementations.
|
16 |
*
|
17 |
+
* @since 4.10.0
|
18 |
*/
|
19 |
public function register() {
|
20 |
tribe_singleton( 'dialog.view', '\Tribe\Dialog\View' );
|
22 |
/**
|
23 |
* Allows plugins to hook into the register action to register views, etc
|
24 |
*
|
25 |
+
* @since 4.10.0
|
26 |
*
|
27 |
* @param Tribe\Service_Providers\Dialog $dialog
|
28 |
*/
|
34 |
/**
|
35 |
* Set up hooks for classes.
|
36 |
*
|
37 |
+
* @since 4.10.0
|
38 |
*/
|
39 |
private function hooks() {
|
40 |
add_action( 'tribe_common_loaded', [ $this, 'register_dialog_assets' ] );
|
43 |
/**
|
44 |
* Allows plugins to hook into the hooks action to register their own hooks
|
45 |
*
|
46 |
+
* @since 4.10.0
|
47 |
*
|
48 |
* @param Tribe\Service_Providers\Dialog $dialog
|
49 |
*/
|
53 |
/**
|
54 |
* {@inheritdoc}
|
55 |
*
|
56 |
+
* @since 4.10.0
|
57 |
*/
|
58 |
public function template_public_namespace( $namespace, $obj ) {
|
59 |
if ( ! empty( $obj->template_namespace ) && 'dialog' === $obj->template_namespace ) {
|
66 |
/**
|
67 |
* Register assets associated with dialog
|
68 |
*
|
69 |
+
* @since 4.10.0
|
70 |
*/
|
71 |
public function register_dialog_assets() {
|
72 |
$main = \Tribe__Main::instance();
|
101 |
/**
|
102 |
* Allows plugins to hook into the assets action to register their own assets
|
103 |
*
|
104 |
+
* @since 4.10.0
|
105 |
*
|
106 |
* @param Tribe\Service_Providers\Dialog $dialog
|
107 |
*/
|
common/src/Tribe/Template.php
CHANGED
@@ -37,6 +37,15 @@ class Tribe__Template {
|
|
37 |
*/
|
38 |
protected $global = array();
|
39 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
/**
|
41 |
* Allow chaing if class will extract data from the local context
|
42 |
*
|
@@ -331,6 +340,25 @@ class Tribe__Template {
|
|
331 |
return apply_filters( 'tribe_template_public_namespace', $namespace, $this );
|
332 |
}
|
333 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
334 |
/**
|
335 |
* Fetches the path for locating files given a base folder normally theme related
|
336 |
*
|
@@ -341,9 +369,17 @@ class Tribe__Template {
|
|
341 |
* @return string
|
342 |
*/
|
343 |
protected function get_template_public_path( $base ) {
|
|
|
344 |
// Craft the plugin Path
|
345 |
$path = array_merge( (array) $base, (array) $this->get_template_public_namespace() );
|
346 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
347 |
// Implode to avoid Window Problems
|
348 |
$path = implode( DIRECTORY_SEPARATOR, $path );
|
349 |
|
37 |
*/
|
38 |
protected $global = array();
|
39 |
|
40 |
+
/**
|
41 |
+
* Used for finding templates for public templates on themes inside of a folder.
|
42 |
+
*
|
43 |
+
* @since 4.10.2
|
44 |
+
*
|
45 |
+
* @var string[]
|
46 |
+
*/
|
47 |
+
protected $template_origin_base_folder = [ 'src', 'views' ];
|
48 |
+
|
49 |
/**
|
50 |
* Allow chaing if class will extract data from the local context
|
51 |
*
|
340 |
return apply_filters( 'tribe_template_public_namespace', $namespace, $this );
|
341 |
}
|
342 |
|
343 |
+
/**
|
344 |
+
* Fetches which base folder we look for templates in the origin plugin.
|
345 |
+
*
|
346 |
+
* @since 4.10.2
|
347 |
+
*
|
348 |
+
* @return array The base folders we look for templates in the origin plugin.
|
349 |
+
*/
|
350 |
+
public function get_template_origin_base_folder() {
|
351 |
+
/**
|
352 |
+
* Allows filtering of the base path for templates.
|
353 |
+
*
|
354 |
+
* @since 4.10.2
|
355 |
+
*
|
356 |
+
* @param array $namespace Which is the base folder we will look for files in the plugin.
|
357 |
+
* @param self $template Current instance of the Tribe__Template.
|
358 |
+
*/
|
359 |
+
return apply_filters( 'tribe_template_origin_base_folder', $this->template_origin_base_folder, $this );
|
360 |
+
}
|
361 |
+
|
362 |
/**
|
363 |
* Fetches the path for locating files given a base folder normally theme related
|
364 |
*
|
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() );
|
378 |
+
|
379 |
+
if ( ! empty( $folder ) ) {
|
380 |
+
$path = array_merge( $path, $folder );
|
381 |
+
}
|
382 |
+
|
383 |
// Implode to avoid Window Problems
|
384 |
$path = implode( DIRECTORY_SEPARATOR, $path );
|
385 |
|
common/src/Tribe/Timezones.php
CHANGED
@@ -10,7 +10,6 @@ class Tribe__Timezones {
|
|
10 |
const SITE_TIMEZONE = 'site';
|
11 |
const EVENT_TIMEZONE = 'event';
|
12 |
|
13 |
-
|
14 |
/**
|
15 |
* Container for reusable DateTimeZone objects.
|
16 |
*
|
@@ -18,7 +17,6 @@ class Tribe__Timezones {
|
|
18 |
*/
|
19 |
protected static $timezones = array();
|
20 |
|
21 |
-
|
22 |
public static function init() {
|
23 |
self::invalidate_caches();
|
24 |
}
|
@@ -581,6 +579,13 @@ class Tribe__Timezones {
|
|
581 |
return $timezone;
|
582 |
}
|
583 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
584 |
$timezone = null === $timezone ? self::wp_timezone_string() : $timezone;
|
585 |
|
586 |
try {
|
@@ -589,6 +594,10 @@ class Tribe__Timezones {
|
|
589 |
return new DateTimeZone( 'UTC' );
|
590 |
}
|
591 |
|
|
|
|
|
|
|
|
|
592 |
return $object;
|
593 |
}
|
594 |
|
10 |
const SITE_TIMEZONE = 'site';
|
11 |
const EVENT_TIMEZONE = 'event';
|
12 |
|
|
|
13 |
/**
|
14 |
* Container for reusable DateTimeZone objects.
|
15 |
*
|
17 |
*/
|
18 |
protected static $timezones = array();
|
19 |
|
|
|
20 |
public static function init() {
|
21 |
self::invalidate_caches();
|
22 |
}
|
579 |
return $timezone;
|
580 |
}
|
581 |
|
582 |
+
/** @var Tribe__Cache $cache */
|
583 |
+
$cache = tribe('cache');
|
584 |
+
|
585 |
+
if ( is_string( $timezone ) && $cached = $cache[ __METHOD__ . $timezone ] ) {
|
586 |
+
return clone $cached;
|
587 |
+
}
|
588 |
+
|
589 |
$timezone = null === $timezone ? self::wp_timezone_string() : $timezone;
|
590 |
|
591 |
try {
|
594 |
return new DateTimeZone( 'UTC' );
|
595 |
}
|
596 |
|
597 |
+
if ( is_string( $timezone ) ) {
|
598 |
+
$cache[ __METHOD__ . $timezone ] = $object;
|
599 |
+
}
|
600 |
+
|
601 |
return $object;
|
602 |
}
|
603 |
|
common/src/Tribe/Tooltip/View.php
CHANGED
@@ -12,7 +12,7 @@ class View extends \Tribe__Template {
|
|
12 |
/**
|
13 |
* Where in the themes we will look for templates
|
14 |
*
|
15 |
-
* @since
|
16 |
*
|
17 |
* @var string
|
18 |
*/
|
12 |
/**
|
13 |
* Where in the themes we will look for templates
|
14 |
*
|
15 |
+
* @since 4.10.2
|
16 |
*
|
17 |
* @var string
|
18 |
*/
|
common/src/Tribe/Utils/Collection_Trait.php
CHANGED
@@ -168,4 +168,27 @@ trait Collection_Trait {
|
|
168 |
public function seek( $position ) {
|
169 |
$this->items_index = $position;
|
170 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
171 |
}
|
168 |
public function seek( $position ) {
|
169 |
$this->items_index = $position;
|
170 |
}
|
171 |
+
|
172 |
+
/**
|
173 |
+
* Applies a filter callback to each element of this collection changing the collection elements to only those
|
174 |
+
* passing the filter.
|
175 |
+
*
|
176 |
+
* @since 4.10.2
|
177 |
+
*
|
178 |
+
* @param callable $filter_callback The filter callback that will be applied to each element of the collection; the
|
179 |
+
* callback will receive the element as parameter.
|
180 |
+
*
|
181 |
+
* @return Collection_Trait A new collection instance, that contains only the elements that passed the filter.
|
182 |
+
*/
|
183 |
+
public function filter( $filter_callback ) {
|
184 |
+
if ( $this->count() === 0 ) {
|
185 |
+
// If there is nothing to filter to begin with, just return this.
|
186 |
+
return $this;
|
187 |
+
}
|
188 |
+
|
189 |
+
$filtered = new static();
|
190 |
+
$filtered->items = array_filter( $this->all(), $filter_callback );
|
191 |
+
|
192 |
+
return $filtered;
|
193 |
+
}
|
194 |
}
|
common/src/Tribe/Utils/Lazy_Events.php
CHANGED
@@ -131,7 +131,11 @@ trait Lazy_Events {
|
|
131 |
*
|
132 |
* @see Lazy_Events::resolved()
|
133 |
*/
|
134 |
-
public function on_resolve( callable $callback ) {
|
|
|
|
|
|
|
|
|
135 |
$this->lazy_resolve_callback = $callback;
|
136 |
|
137 |
return $this;
|
131 |
*
|
132 |
* @see Lazy_Events::resolved()
|
133 |
*/
|
134 |
+
public function on_resolve( callable $callback = null ) {
|
135 |
+
if ( null === $callback ) {
|
136 |
+
return $this;
|
137 |
+
}
|
138 |
+
|
139 |
$this->lazy_resolve_callback = $callback;
|
140 |
|
141 |
return $this;
|
common/src/functions/template-tags/html.php
CHANGED
@@ -35,7 +35,7 @@ function tribe_classes() {
|
|
35 |
/**
|
36 |
* Get attributes for required fields.
|
37 |
*
|
38 |
-
* @since
|
39 |
*
|
40 |
* @param boolean $required If the field is required.
|
41 |
* @param boolean $echo Whether to echo the string or return it.
|
@@ -57,7 +57,7 @@ function tribe_required( $required, $echo = true ) {
|
|
57 |
/**
|
58 |
* Get string for required field labels.
|
59 |
*
|
60 |
-
* @since
|
61 |
*
|
62 |
* @param boolean $required If the field is required.
|
63 |
* @param boolean $echo Whether to echo the string or return it.
|
@@ -81,7 +81,7 @@ function tribe_required_label( $required, $echo = true ) {
|
|
81 |
/**
|
82 |
* Get attributes for disabled fields.
|
83 |
*
|
84 |
-
* @since
|
85 |
*
|
86 |
* @param boolean $disabled If the field is disabled.
|
87 |
* @param boolean $echo Whether to echo the string or return it.
|
35 |
/**
|
36 |
* Get attributes for required fields.
|
37 |
*
|
38 |
+
* @since 4.10.0
|
39 |
*
|
40 |
* @param boolean $required If the field is required.
|
41 |
* @param boolean $echo Whether to echo the string or return it.
|
57 |
/**
|
58 |
* Get string for required field labels.
|
59 |
*
|
60 |
+
* @since 4.10.0
|
61 |
*
|
62 |
* @param boolean $required If the field is required.
|
63 |
* @param boolean $echo Whether to echo the string or return it.
|
81 |
/**
|
82 |
* Get attributes for disabled fields.
|
83 |
*
|
84 |
+
* @since 4.10.0
|
85 |
*
|
86 |
* @param boolean $disabled If the field is disabled.
|
87 |
* @param boolean $echo Whether to echo the string or return it.
|
common/src/functions/utils.php
CHANGED
@@ -653,7 +653,7 @@ if ( ! function_exists( 'tribe_get_class_instance' ) ) {
|
|
653 |
/**
|
654 |
* Gets the class instance / Tribe Container from the passed object or string.
|
655 |
*
|
656 |
-
* @since
|
657 |
*
|
658 |
* @see \tad_DI52_Container::isBound()
|
659 |
* @see \tribe()
|
@@ -700,7 +700,7 @@ if ( ! function_exists( 'tribe_get_least_version_ever_installed' ) ) {
|
|
700 |
* If no version info found, it will return false.
|
701 |
* Zero may have been logged as a past version but gets ignored.
|
702 |
*
|
703 |
-
* @since
|
704 |
*
|
705 |
* @param string|object $class The plugin class' singleton name, class name, or instance.
|
706 |
*
|
@@ -747,7 +747,7 @@ if ( ! function_exists( 'tribe_get_greatest_version_ever_installed' ) ) {
|
|
747 |
* If no version info found, it will return false.
|
748 |
* Zero may have been logged as a past version but gets ignored.
|
749 |
*
|
750 |
-
* @since
|
751 |
*
|
752 |
* @see \tribe_get_currently_installed_version() To get the current version, even if it's not the greatest.
|
753 |
*
|
@@ -796,7 +796,7 @@ if ( ! function_exists( 'tribe_get_first_ever_installed_version' ) ) {
|
|
796 |
* If no version info found, it will return false.
|
797 |
* Zero may have been logged as a past version but gets ignored.
|
798 |
*
|
799 |
-
* @since
|
800 |
*
|
801 |
* @param string|object $class The plugin class' singleton name, class name, or instance.
|
802 |
*
|
@@ -843,7 +843,7 @@ if ( ! function_exists( 'tribe_get_currently_installed_version' ) ) {
|
|
843 |
* If user initially installed v2, downgraded to v1, then updated to v3, this will return v3.
|
844 |
* Only looks at the class' current version, else false.
|
845 |
*
|
846 |
-
* @since
|
847 |
*
|
848 |
* @see \tribe_get_greatest_version_ever_installed() To get the greatest ever installed, even if not the current.
|
849 |
*
|
@@ -871,7 +871,7 @@ if ( ! function_exists( 'tribe_installed_before' ) ) {
|
|
871 |
* Checks if a plugin's initially-installed version was prior to the passed version.
|
872 |
* If no info found, it will assume the plugin is old and return true.
|
873 |
*
|
874 |
-
* @since
|
875 |
*
|
876 |
* @param string|object $class The plugin class' singleton name, class name, or instance.
|
877 |
* @param string $version The SemVer version string to compare.
|
@@ -895,7 +895,7 @@ if ( ! function_exists( 'tribe_installed_after' ) ) {
|
|
895 |
* Checks if a plugin's initially-installed version was after the passed version.
|
896 |
* If no info found, it will assume the plugin is old and return false.
|
897 |
*
|
898 |
-
* @since
|
899 |
*
|
900 |
* @param string|object $class The plugin class' singleton name, class name, or instance.
|
901 |
* @param string $version The SemVer version string to compare.
|
@@ -919,7 +919,7 @@ if ( ! function_exists( 'tribe_installed_on' ) ) {
|
|
919 |
* Checks if a plugin was installed at/on the passed version.
|
920 |
* If no info found, it will assume the plugin is old and return false.
|
921 |
*
|
922 |
-
* @since
|
923 |
*
|
924 |
* @param string|object $class The plugin class' singleton name, class name, or instance.
|
925 |
* @param string $version The SemVer version string to compare.
|
653 |
/**
|
654 |
* Gets the class instance / Tribe Container from the passed object or string.
|
655 |
*
|
656 |
+
* @since 4.10.0
|
657 |
*
|
658 |
* @see \tad_DI52_Container::isBound()
|
659 |
* @see \tribe()
|
700 |
* If no version info found, it will return false.
|
701 |
* Zero may have been logged as a past version but gets ignored.
|
702 |
*
|
703 |
+
* @since 4.10.0
|
704 |
*
|
705 |
* @param string|object $class The plugin class' singleton name, class name, or instance.
|
706 |
*
|
747 |
* If no version info found, it will return false.
|
748 |
* Zero may have been logged as a past version but gets ignored.
|
749 |
*
|
750 |
+
* @since 4.10.0
|
751 |
*
|
752 |
* @see \tribe_get_currently_installed_version() To get the current version, even if it's not the greatest.
|
753 |
*
|
796 |
* If no version info found, it will return false.
|
797 |
* Zero may have been logged as a past version but gets ignored.
|
798 |
*
|
799 |
+
* @since 4.10.0
|
800 |
*
|
801 |
* @param string|object $class The plugin class' singleton name, class name, or instance.
|
802 |
*
|
843 |
* If user initially installed v2, downgraded to v1, then updated to v3, this will return v3.
|
844 |
* Only looks at the class' current version, else false.
|
845 |
*
|
846 |
+
* @since 4.10.0
|
847 |
*
|
848 |
* @see \tribe_get_greatest_version_ever_installed() To get the greatest ever installed, even if not the current.
|
849 |
*
|
871 |
* Checks if a plugin's initially-installed version was prior to the passed version.
|
872 |
* If no info found, it will assume the plugin is old and return true.
|
873 |
*
|
874 |
+
* @since 4.10.0
|
875 |
*
|
876 |
* @param string|object $class The plugin class' singleton name, class name, or instance.
|
877 |
* @param string $version The SemVer version string to compare.
|
895 |
* Checks if a plugin's initially-installed version was after the passed version.
|
896 |
* If no info found, it will assume the plugin is old and return false.
|
897 |
*
|
898 |
+
* @since 4.10.0
|
899 |
*
|
900 |
* @param string|object $class The plugin class' singleton name, class name, or instance.
|
901 |
* @param string $version The SemVer version string to compare.
|
919 |
* Checks if a plugin was installed at/on the passed version.
|
920 |
* If no info found, it will assume the plugin is old and return false.
|
921 |
*
|
922 |
+
* @since 4.10.0
|
923 |
*
|
924 |
* @param string|object $class The plugin class' singleton name, class name, or instance.
|
925 |
* @param string $version The SemVer version string to compare.
|
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 |
* ----------------------------------------------------------------------------- */
|
@@ -1241,7 +1249,8 @@
|
|
1241 |
* Theme Overrides - Twenty Nineteen
|
1242 |
* ------------------------------------------------------------------------- */
|
1243 |
|
1244 |
-
.tribe-theme-twentynineteen .
|
|
|
1245 |
text-decoration: none;
|
1246 |
}
|
1247 |
|
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 |
* ----------------------------------------------------------------------------- */
|
1249 |
* Theme Overrides - Twenty Nineteen
|
1250 |
* ------------------------------------------------------------------------- */
|
1251 |
|
1252 |
+
.tribe-theme-twentynineteen .tribe-common a,
|
1253 |
+
.tribe-theme-twentynineteen .entry .tribe-common a {
|
1254 |
text-decoration: none;
|
1255 |
}
|
1256 |
|
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{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{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}}
|
common/src/resources/css/common-skeleton.css
CHANGED
@@ -440,10 +440,6 @@
|
|
440 |
* SVG - Arrow Right
|
441 |
* ----------------------------------------------------------------------------- */
|
442 |
|
443 |
-
/* -----------------------------------------------------------------------------
|
444 |
-
* SVG - Arrow (light, left)
|
445 |
-
* ----------------------------------------------------------------------------- */
|
446 |
-
|
447 |
/* -----------------------------------------------------------------------------
|
448 |
* SVG - Caret Down
|
449 |
* ----------------------------------------------------------------------------- */
|
@@ -477,15 +473,15 @@
|
|
477 |
* ----------------------------------------------------------------------------- */
|
478 |
|
479 |
/* -----------------------------------------------------------------------------
|
480 |
-
* SVG -
|
481 |
* ----------------------------------------------------------------------------- */
|
482 |
|
483 |
/* -----------------------------------------------------------------------------
|
484 |
-
* SVG -
|
485 |
* ----------------------------------------------------------------------------- */
|
486 |
|
487 |
/* -----------------------------------------------------------------------------
|
488 |
-
* SVG -
|
489 |
* ----------------------------------------------------------------------------- */
|
490 |
|
491 |
/* -----------------------------------------------------------------------------
|
@@ -496,24 +492,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 +658,6 @@
|
|
646 |
* Button - Solid
|
647 |
* ----------------------------------------------------------------------------- */
|
648 |
|
649 |
-
/* -----------------------------------------------------------------------------
|
650 |
-
* Button - Link
|
651 |
-
* ----------------------------------------------------------------------------- */
|
652 |
-
|
653 |
/* -----------------------------------------------------------------------------
|
654 |
* Button - Border
|
655 |
* ----------------------------------------------------------------------------- */
|
@@ -1033,6 +1041,15 @@
|
|
1033 |
width: 100%;
|
1034 |
}
|
1035 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1036 |
/* -----------------------------------------------------------------------------
|
1037 |
*
|
1038 |
* Grid: Rows
|
@@ -1062,6 +1079,22 @@
|
|
1062 |
padding-right: 21px;
|
1063 |
}
|
1064 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1065 |
/* Typography */
|
1066 |
|
1067 |
.tribe-common {
|
@@ -1308,11 +1341,11 @@
|
|
1308 |
}
|
1309 |
|
1310 |
.tribe-common .tribe-common-svgicon--list {
|
1311 |
-
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg
|
1312 |
}
|
1313 |
|
1314 |
.tribe-common .tribe-common-svgicon--map {
|
1315 |
-
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg
|
1316 |
}
|
1317 |
|
1318 |
.tribe-common .tribe-common-svgicon--month {
|
@@ -1320,11 +1353,11 @@
|
|
1320 |
}
|
1321 |
|
1322 |
.tribe-common .tribe-common-svgicon--no-map {
|
1323 |
-
background-image: svg-
|
1324 |
}
|
1325 |
|
1326 |
.tribe-common .tribe-common-svgicon--photo {
|
1327 |
-
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg
|
1328 |
}
|
1329 |
|
1330 |
.tribe-common .tribe-common-svgicon--search {
|
@@ -1342,7 +1375,7 @@
|
|
1342 |
}
|
1343 |
|
1344 |
.tribe-common .tribe-common-svgicon--recurring {
|
1345 |
-
background-image: svg-
|
1346 |
height: 10px;
|
1347 |
width: 10px;
|
1348 |
}
|
@@ -1683,6 +1716,16 @@
|
|
1683 |
padding-right: 24px
|
1684 |
}
|
1685 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1686 |
.tribe-common .tribe-common-l-container {
|
1687 |
padding-left: 42px;
|
1688 |
padding-right: 42px
|
440 |
* SVG - Arrow Right
|
441 |
* ----------------------------------------------------------------------------- */
|
442 |
|
|
|
|
|
|
|
|
|
443 |
/* -----------------------------------------------------------------------------
|
444 |
* SVG - Caret Down
|
445 |
* ----------------------------------------------------------------------------- */
|
473 |
* ----------------------------------------------------------------------------- */
|
474 |
|
475 |
/* -----------------------------------------------------------------------------
|
476 |
+
* SVG - Featured
|
477 |
* ----------------------------------------------------------------------------- */
|
478 |
|
479 |
/* -----------------------------------------------------------------------------
|
480 |
+
* SVG - Filters
|
481 |
* ----------------------------------------------------------------------------- */
|
482 |
|
483 |
/* -----------------------------------------------------------------------------
|
484 |
+
* SVG - Link
|
485 |
* ----------------------------------------------------------------------------- */
|
486 |
|
487 |
/* -----------------------------------------------------------------------------
|
492 |
* SVG - Location
|
493 |
* ----------------------------------------------------------------------------- */
|
494 |
|
495 |
+
/* -----------------------------------------------------------------------------
|
496 |
+
* SVG - Mail
|
497 |
+
* ----------------------------------------------------------------------------- */
|
498 |
+
|
499 |
/* -----------------------------------------------------------------------------
|
500 |
* SVG - Map
|
501 |
* ----------------------------------------------------------------------------- */
|
502 |
|
503 |
+
/* -----------------------------------------------------------------------------
|
504 |
+
* SVG - Map pin
|
505 |
+
* ----------------------------------------------------------------------------- */
|
506 |
+
|
507 |
+
/* -----------------------------------------------------------------------------
|
508 |
+
* SVG - Messages
|
509 |
+
* ----------------------------------------------------------------------------- */
|
510 |
+
|
511 |
/* -----------------------------------------------------------------------------
|
512 |
* SVG - Month
|
513 |
* ----------------------------------------------------------------------------- */
|
514 |
|
515 |
/* -----------------------------------------------------------------------------
|
516 |
+
* SVG - No Map
|
517 |
* ----------------------------------------------------------------------------- */
|
518 |
|
519 |
/* -----------------------------------------------------------------------------
|
520 |
+
* SVG - Phone
|
521 |
* ----------------------------------------------------------------------------- */
|
522 |
|
523 |
/* -----------------------------------------------------------------------------
|
524 |
+
* SVG - Photo
|
525 |
+
* ----------------------------------------------------------------------------- */
|
526 |
+
|
527 |
+
/* -----------------------------------------------------------------------------
|
528 |
+
* SVG - Recurring
|
529 |
* ----------------------------------------------------------------------------- */
|
530 |
|
531 |
/* -----------------------------------------------------------------------------
|
658 |
* Button - Solid
|
659 |
* ----------------------------------------------------------------------------- */
|
660 |
|
|
|
|
|
|
|
|
|
661 |
/* -----------------------------------------------------------------------------
|
662 |
* Button - Border
|
663 |
* ----------------------------------------------------------------------------- */
|
1041 |
width: 100%;
|
1042 |
}
|
1043 |
|
1044 |
+
.tribe-common {
|
1045 |
+
|
1046 |
+
/* -------------------------------------------------------------------------
|
1047 |
+
*
|
1048 |
+
* Grid Rows: Theme Overrides
|
1049 |
+
*
|
1050 |
+
* ------------------------------------------------------------------------- */
|
1051 |
+
}
|
1052 |
+
|
1053 |
/* -----------------------------------------------------------------------------
|
1054 |
*
|
1055 |
* Grid: Rows
|
1079 |
padding-right: 21px;
|
1080 |
}
|
1081 |
|
1082 |
+
/* -----------------------------------------------------------------------------
|
1083 |
+
* Theme Overrides - Twenty Nineteen
|
1084 |
+
* ----------------------------------------------------------------------------- */
|
1085 |
+
|
1086 |
+
.tribe-theme-twentynineteen .tribe-common .entry.tribe-common-g-row--gutters {
|
1087 |
+
margin-left: -21px;
|
1088 |
+
margin-right: -21px;
|
1089 |
+
padding: 0;
|
1090 |
+
}
|
1091 |
+
|
1092 |
+
.tribe-theme-twentynineteen .tribe-common .tribe-common-g-row--gutters > .entry.tribe-common-g-col {
|
1093 |
+
margin: 0;
|
1094 |
+
padding-left: 21px;
|
1095 |
+
padding-right: 21px;
|
1096 |
+
}
|
1097 |
+
|
1098 |
/* Typography */
|
1099 |
|
1100 |
.tribe-common {
|
1341 |
}
|
1342 |
|
1343 |
.tribe-common .tribe-common-svgicon--list {
|
1344 |
+
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");
|
1345 |
}
|
1346 |
|
1347 |
.tribe-common .tribe-common-svgicon--map {
|
1348 |
+
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");
|
1349 |
}
|
1350 |
|
1351 |
.tribe-common .tribe-common-svgicon--month {
|
1353 |
}
|
1354 |
|
1355 |
.tribe-common .tribe-common-svgicon--no-map {
|
1356 |
+
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");
|
1357 |
}
|
1358 |
|
1359 |
.tribe-common .tribe-common-svgicon--photo {
|
1360 |
+
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");
|
1361 |
}
|
1362 |
|
1363 |
.tribe-common .tribe-common-svgicon--search {
|
1375 |
}
|
1376 |
|
1377 |
.tribe-common .tribe-common-svgicon--recurring {
|
1378 |
+
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");
|
1379 |
height: 10px;
|
1380 |
width: 10px;
|
1381 |
}
|
1716 |
padding-right: 24px
|
1717 |
}
|
1718 |
|
1719 |
+
.tribe-theme-twentynineteen .tribe-common .entry.tribe-common-g-row--gutters {
|
1720 |
+
margin-left: -24px;
|
1721 |
+
margin-right: -24px
|
1722 |
+
}
|
1723 |
+
|
1724 |
+
.tribe-theme-twentynineteen .tribe-common .tribe-common-g-row--gutters > .entry.tribe-common-g-col {
|
1725 |
+
padding-left: 24px;
|
1726 |
+
padding-right: 24px
|
1727 |
+
}
|
1728 |
+
|
1729 |
.tribe-common .tribe-common-l-container {
|
1730 |
padding-left: 42px;
|
1731 |
padding-right: 42px
|
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-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-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-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 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 .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}}
|
common/src/resources/css/dialog.css
CHANGED
@@ -103,7 +103,7 @@ Adding these here for now until common-styles are live
|
|
103 |
/* The "close" button */
|
104 |
|
105 |
.tribe-common .tribe-dialog__close-button {
|
106 |
-
background
|
107 |
background-image: url( "data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Cg fill='none' fill-rule='evenodd' stroke-linecap='square' stroke-width='2'%3E%3Cpath d='M16 2L2 16M16 16L2 2' stroke='var(--color-icon-secondary)'/%3E%3C/g%3E%3C/svg%3E" );
|
108 |
background-repeat: no-repeat;
|
109 |
background-size: contain;
|
@@ -120,6 +120,7 @@ Adding these here for now until common-styles are live
|
|
120 |
|
121 |
.tribe-common .tribe-dialog__close-button:focus,
|
122 |
.tribe-common .tribe-dialog__close-button:hover {
|
|
|
123 |
background-image: url( "data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Cg fill='none' fill-rule='evenodd' stroke-linecap='square' stroke-width='2'%3E%3Cpath d='M16 2L2 16M16 16L2 2' stroke='var(--color-icon-primary)'/%3E%3C/g%3E%3C/svg%3E" );
|
124 |
background-size: contain;
|
125 |
outline: none;
|
103 |
/* The "close" button */
|
104 |
|
105 |
.tribe-common .tribe-dialog__close-button {
|
106 |
+
background: var(--tribe-dialog-close-background);
|
107 |
background-image: url( "data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Cg fill='none' fill-rule='evenodd' stroke-linecap='square' stroke-width='2'%3E%3Cpath d='M16 2L2 16M16 16L2 2' stroke='var(--color-icon-secondary)'/%3E%3C/g%3E%3C/svg%3E" );
|
108 |
background-repeat: no-repeat;
|
109 |
background-size: contain;
|
120 |
|
121 |
.tribe-common .tribe-dialog__close-button:focus,
|
122 |
.tribe-common .tribe-dialog__close-button:hover {
|
123 |
+
background: var(--tribe-dialog-close-background);
|
124 |
background-image: url( "data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Cg fill='none' fill-rule='evenodd' stroke-linecap='square' stroke-width='2'%3E%3Cpath d='M16 2L2 16M16 16L2 2' stroke='var(--color-icon-primary)'/%3E%3C/g%3E%3C/svg%3E" );
|
125 |
background-size: contain;
|
126 |
outline: none;
|
common/src/resources/css/dialog.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.tribe-common .tribe-dialog{--tribe-dialog-background-color:#fff;--tribe-dialog-close-background:#fff;--tribe-dialog-close-border-color:#bababa;--tribe-dialog-close-border-width:1px;--tribe-dialog-close-color:#bababa;--tribe-dialog-close-height:12px;--tribe-dialog-close-height-desktop:16px;--tribe-dialog-overlay-color:transparent;--tribe-modal-overlay-color:rgba(20,24,39,.9);--tribe-dialog-border-radius:4px;--tribe-dialog-padding:16px;--tribe-dialog-padding-top:24px;--tribe-dialog-padding-side:28px}.tribe-common div.tribe-dialog{align-items:center;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:1}.tribe-common div.tribe-dialog[aria-hidden=true]{display:none}.tribe-common .tribe-dialog__overlay{background-color:var(--tribe-dialog-overlay-color);height:100vh;left:0;opacity:.9;position:fixed;top:0;width:100vw;z-index:1}.tribe-common .tribe-dialog__wrapper{background-color:var(--tribe-dialog-background-color);border-radius:var(--tribe-dialog-border-radius);box-shadow:0 2px 54px 0 var(--tribe-modal-overlay-color);width:800px;overflow-y:scroll;padding:var(--tribe-dialog-padding);max-height:100vh;max-width:100vw;z-index:2}.tribe-common .tribe-dialog__wrapper div[role=document]{align-items:flex-end;display:flex;flex-flow:column;justify-content:space-between;position:relative}.tribe-common .tribe-dialog__close-button{background
|
1 |
+
.tribe-common .tribe-dialog{--tribe-dialog-background-color:#fff;--tribe-dialog-close-background:#fff;--tribe-dialog-close-border-color:#bababa;--tribe-dialog-close-border-width:1px;--tribe-dialog-close-color:#bababa;--tribe-dialog-close-height:12px;--tribe-dialog-close-height-desktop:16px;--tribe-dialog-overlay-color:transparent;--tribe-modal-overlay-color:rgba(20,24,39,.9);--tribe-dialog-border-radius:4px;--tribe-dialog-padding:16px;--tribe-dialog-padding-top:24px;--tribe-dialog-padding-side:28px}.tribe-common div.tribe-dialog{align-items:center;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:1}.tribe-common div.tribe-dialog[aria-hidden=true]{display:none}.tribe-common .tribe-dialog__overlay{background-color:var(--tribe-dialog-overlay-color);height:100vh;left:0;opacity:.9;position:fixed;top:0;width:100vw;z-index:1}.tribe-common .tribe-dialog__wrapper{background-color:var(--tribe-dialog-background-color);border-radius:var(--tribe-dialog-border-radius);box-shadow:0 2px 54px 0 var(--tribe-modal-overlay-color);width:800px;overflow-y:scroll;padding:var(--tribe-dialog-padding);max-height:100vh;max-width:100vw;z-index:2}.tribe-common .tribe-dialog__wrapper div[role=document]{align-items:flex-end;display:flex;flex-flow:column;justify-content:space-between;position:relative}.tribe-common .tribe-dialog__close-button{background:var(--tribe-dialog-close-background);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='var(--color-icon-secondary)' fill='none' fill-rule='evenodd' stroke-linecap='square' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;cursor:pointer;display:inline-block;font-size:14px;height:var(--tribe-dialog-close-height);line-height:var(--tribe-dialog-close-height);padding:0;position:absolute;width:var(--tribe-dialog-close-height);z-index:1}.tribe-common .tribe-dialog__close-button:focus,.tribe-common .tribe-dialog__close-button:hover{background:var(--tribe-dialog-close-background);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='var(--color-icon-primary)' fill='none' fill-rule='evenodd' stroke-linecap='square' stroke-width='2'/%3E%3C/svg%3E");background-size:contain;outline:none}.tribe-common .tribe-dialog__close-button--hidden{display:none}.tribe-common .tribe-dialog__close-button--round{border-radius:50%}.tribe-common .tribe-dialog__close-button--border{border:var(--tribe-dialog-close-border-width) solid var(--tribe-dialog-close-border-color)}.tribe-common h2.tribe-dialog__title{align-self:flex-start;margin:0 0 22px;padding-right:calc(var(--tribe-dialog-close-height) + .5em);padding-top:0}.tribe-common .tribe-dialog__content{color:#141827;font-size:14px;line-height:1.64em;padding-right:calc(var(--tribe-dialog-close-height) + .5em);padding-top:calc(var(--tribe-dialog-close-height) + .5em);width:100%}.tribe-common .tribe-dialog__title+.tribe-dialog__content{padding:0}.tribe-common .tribe-modal__overlay{background-color:var(--tribe-modal-overlay-color)}.tribe-common .tribe-confirm__content{padding-right:0}.tribe-common .tribe-dialog__button_wrap{display:flex;flex-flow:row wrap;justify-content:flex-end}@media screen and (min-width:768px){.tribe-common .tribe-dialog__wrapper{max-height:calc(100vh - 160px);padding:var(--tribe-dialog-padding-top) var(--tribe-dialog-padding-side)}.tribe-common .tribe-dialog__close-button{height:var(--tribe-dialog-close-height-desktop);line-height:var(--tribe-dialog-close-height-desktop);width:var(--tribe-dialog-close-height-desktop)}}@media screen and (max-width:768px){.tribe-common .tribe-dialog__content:last-of-type{padding-bottom:36px}}
|
common/src/resources/images/mascot.png
CHANGED
Binary file
|
common/src/resources/postcss/base/full/typography/_anchors.pcss
CHANGED
@@ -40,6 +40,7 @@
|
|
40 |
* Theme Overrides - Twenty Nineteen
|
41 |
* ------------------------------------------------------------------------- */
|
42 |
|
|
|
43 |
.tribe-theme-twentynineteen .entry & {
|
44 |
text-decoration: none;
|
45 |
}
|
40 |
* Theme Overrides - Twenty Nineteen
|
41 |
* ------------------------------------------------------------------------- */
|
42 |
|
43 |
+
.tribe-theme-twentynineteen &,
|
44 |
.tribe-theme-twentynineteen .entry & {
|
45 |
text-decoration: none;
|
46 |
}
|
common/src/resources/postcss/base/skeleton/grid/_rows.pcss
CHANGED
@@ -36,4 +36,42 @@
|
|
36 |
}
|
37 |
}
|
38 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
}
|
36 |
}
|
37 |
}
|
38 |
}
|
39 |
+
|
40 |
+
/* -------------------------------------------------------------------------
|
41 |
+
*
|
42 |
+
* Grid Rows: Theme Overrides
|
43 |
+
*
|
44 |
+
* ------------------------------------------------------------------------- */
|
45 |
+
|
46 |
+
/* -----------------------------------------------------------------------------
|
47 |
+
* Theme Overrides - Twenty Nineteen
|
48 |
+
* ----------------------------------------------------------------------------- */
|
49 |
+
|
50 |
+
.tribe-theme-twentynineteen & {
|
51 |
+
|
52 |
+
.entry.tribe-common-g-row--gutters {
|
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 |
+
& > .entry.tribe-common-g-col {
|
66 |
+
margin: 0;
|
67 |
+
padding-left: var(--grid-gutter-small-half);
|
68 |
+
padding-right: var(--grid-gutter-small-half);
|
69 |
+
|
70 |
+
@media (--viewport-medium) {
|
71 |
+
padding-left: var(--grid-gutter-half);
|
72 |
+
padding-right: var(--grid-gutter-half);
|
73 |
+
}
|
74 |
+
}
|
75 |
+
}
|
76 |
+
}
|
77 |
}
|
common/src/resources/postcss/dialog.pcss
CHANGED
@@ -97,7 +97,7 @@ Adding these here for now until common-styles are live
|
|
97 |
|
98 |
/* The "close" button */
|
99 |
.tribe-dialog__close-button {
|
100 |
-
background
|
101 |
background-image: svg-inline( 'close-secondary' );
|
102 |
background-repeat: no-repeat;
|
103 |
background-size: contain;
|
@@ -119,6 +119,7 @@ Adding these here for now until common-styles are live
|
|
119 |
|
120 |
&:focus,
|
121 |
&:hover {
|
|
|
122 |
background-image: svg-inline( 'close' );
|
123 |
background-size: contain;
|
124 |
outline: none;
|
97 |
|
98 |
/* The "close" button */
|
99 |
.tribe-dialog__close-button {
|
100 |
+
background: var(--tribe-dialog-close-background);
|
101 |
background-image: svg-inline( 'close-secondary' );
|
102 |
background-repeat: no-repeat;
|
103 |
background-size: contain;
|
119 |
|
120 |
&:focus,
|
121 |
&:hover {
|
122 |
+
background: var(--tribe-dialog-close-background);
|
123 |
background-image: svg-inline( 'close' );
|
124 |
background-size: contain;
|
125 |
outline: none;
|
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,20 +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 |
-
|
43 |
/* -----------------------------------------------------------------------------
|
44 |
* Button - Border
|
45 |
* ----------------------------------------------------------------------------- */
|
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/src/views/dialog/alert.php
CHANGED
@@ -5,10 +5,10 @@
|
|
5 |
*
|
6 |
* Override this template in your own theme by creating a file at [your-theme]/tribe/dialogs/alert.php
|
7 |
*
|
8 |
-
* @since
|
9 |
*
|
10 |
* @package Tribe
|
11 |
-
* @version
|
12 |
*/
|
13 |
|
14 |
/** @var \Tribe\Dialog\View $dialog_view */
|
5 |
*
|
6 |
* Override this template in your own theme by creating a file at [your-theme]/tribe/dialogs/alert.php
|
7 |
*
|
8 |
+
* @since 4.10.0
|
9 |
*
|
10 |
* @package Tribe
|
11 |
+
* @version 4.10.0
|
12 |
*/
|
13 |
|
14 |
/** @var \Tribe\Dialog\View $dialog_view */
|
common/src/views/dialog/button.php
CHANGED
@@ -5,10 +5,10 @@
|
|
5 |
*
|
6 |
* Override this template in your own theme by creating a file at [your-theme]/tribe/dialogs/buton.php
|
7 |
*
|
8 |
-
* @since
|
9 |
*
|
10 |
* @package Tribe
|
11 |
-
* @version
|
12 |
*/
|
13 |
$classes = $button_classes ?: 'tribe-button';
|
14 |
$classes = implode( ' ' , (array) $classes );
|
5 |
*
|
6 |
* Override this template in your own theme by creating a file at [your-theme]/tribe/dialogs/buton.php
|
7 |
*
|
8 |
+
* @since 4.10.0
|
9 |
*
|
10 |
* @package Tribe
|
11 |
+
* @version 4.10.0
|
12 |
*/
|
13 |
$classes = $button_classes ?: 'tribe-button';
|
14 |
$classes = implode( ' ' , (array) $classes );
|
common/src/views/dialog/confirm.php
CHANGED
@@ -5,10 +5,10 @@
|
|
5 |
*
|
6 |
* Override this template in your own theme by creating a file at [your-theme]/tribe/dialogs/confirm.php
|
7 |
*
|
8 |
-
* @since
|
9 |
*
|
10 |
* @package Tribe
|
11 |
-
* @version
|
12 |
*/
|
13 |
|
14 |
/** @var \Tribe\Dialog\View $dialog_view */
|
5 |
*
|
6 |
* Override this template in your own theme by creating a file at [your-theme]/tribe/dialogs/confirm.php
|
7 |
*
|
8 |
+
* @since 4.10.0
|
9 |
*
|
10 |
* @package Tribe
|
11 |
+
* @version 4.10.0
|
12 |
*/
|
13 |
|
14 |
/** @var \Tribe\Dialog\View $dialog_view */
|
common/src/views/dialog/dialog.php
CHANGED
@@ -5,10 +5,10 @@
|
|
5 |
*
|
6 |
* Override this template in your own theme by creating a file at [your-theme]/tribe/dialogs/dialog.php
|
7 |
*
|
8 |
-
* @since
|
9 |
*
|
10 |
* @package Tribe
|
11 |
-
* @version
|
12 |
*/
|
13 |
|
14 |
/** @var \Tribe\Dialog\View $dialog_view */
|
5 |
*
|
6 |
* Override this template in your own theme by creating a file at [your-theme]/tribe/dialogs/dialog.php
|
7 |
*
|
8 |
+
* @since 4.10.0
|
9 |
*
|
10 |
* @package Tribe
|
11 |
+
* @version 4.10.0
|
12 |
*/
|
13 |
|
14 |
/** @var \Tribe\Dialog\View $dialog_view */
|
common/src/views/dialog/modal.php
CHANGED
@@ -5,10 +5,10 @@
|
|
5 |
*
|
6 |
* Override this template in your own theme by creating a file at [your-theme]/tribe/dialogs/modal.php
|
7 |
*
|
8 |
-
* @since
|
9 |
*
|
10 |
* @package Tribe
|
11 |
-
* @version
|
12 |
*/
|
13 |
|
14 |
/** @var \Tribe\Dialog\View $dialog_view */
|
5 |
*
|
6 |
* Override this template in your own theme by creating a file at [your-theme]/tribe/dialogs/modal.php
|
7 |
*
|
8 |
+
* @since 4.10.0
|
9 |
*
|
10 |
* @package Tribe
|
11 |
+
* @version 4.10.0
|
12 |
*/
|
13 |
|
14 |
/** @var \Tribe\Dialog\View $dialog_view */
|
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 ComposerAutoloaderInitd5904340b4eda874a15fc0f7423af60c::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 ComposerAutoloaderInit37bc0430de155429f9b16bdb308be64a::getLoader();
|
common/vendor/composer/autoload_classmap.php
CHANGED
@@ -122,6 +122,8 @@ return array(
|
|
122 |
'Tribe\\Models\\Post_Types\\Base' => $baseDir . '/src/Tribe/Models/Post_Types/Base.php',
|
123 |
'Tribe\\Models\\Post_Types\\Nothing' => $baseDir . '/src/Tribe/Models/Post_Types/Nothing.php',
|
124 |
'Tribe\\PUE\\Update_Prevention' => $baseDir . '/src/Tribe/PUE/Update_Prevention.php',
|
|
|
|
|
125 |
'Tribe\\Service_Providers\\Dialog' => $baseDir . '/src/Tribe/Service_Providers/Dialog.php',
|
126 |
'Tribe\\Service_Providers\\PUE' => $baseDir . '/src/Tribe/Service_Providers/PUE.php',
|
127 |
'Tribe\\Service_Providers\\Tooltip' => $baseDir . '/src/Tribe/Service_Providers/Tooltip.php',
|
122 |
'Tribe\\Models\\Post_Types\\Base' => $baseDir . '/src/Tribe/Models/Post_Types/Base.php',
|
123 |
'Tribe\\Models\\Post_Types\\Nothing' => $baseDir . '/src/Tribe/Models/Post_Types/Nothing.php',
|
124 |
'Tribe\\PUE\\Update_Prevention' => $baseDir . '/src/Tribe/PUE/Update_Prevention.php',
|
125 |
+
'Tribe\\Repository\\Core_Read_Interface' => $baseDir . '/src/Tribe/Repository/Core_Read_Interface.php',
|
126 |
+
'Tribe\\Repository\\Filter_Validation' => $baseDir . '/src/Tribe/Repository/Filter_Validation.php',
|
127 |
'Tribe\\Service_Providers\\Dialog' => $baseDir . '/src/Tribe/Service_Providers/Dialog.php',
|
128 |
'Tribe\\Service_Providers\\PUE' => $baseDir . '/src/Tribe/Service_Providers/PUE.php',
|
129 |
'Tribe\\Service_Providers\\Tooltip' => $baseDir . '/src/Tribe/Service_Providers/Tooltip.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 ComposerAutoloaderInit7662ee13ae579487f6bb7c48a1b07268
|
|
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 ComposerAutoloaderInitd5904340b4eda874a15fc0f7423af60c
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInitd5904340b4eda874a15fc0f7423af60c', 'loadClassLoader'), true, true);
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInitd5904340b4eda874a15fc0f7423af60c', '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\ComposerStaticInitd5904340b4eda874a15fc0f7423af60c::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 ComposerAutoloaderInit1bdc5ac4f74395b6f532325c948c00f6 {
|
|
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 ComposerAutoloaderInit37bc0430de155429f9b16bdb308be64a {
|
6 |
private static $loader;
|
7 |
|
8 |
public static function loadClassLoader($class) {
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit37bc0430de155429f9b16bdb308be64a', 'loadClassLoader'), true /*, true */);
|
23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit37bc0430de155429f9b16bdb308be64a', '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' =>
|
@@ -178,6 +178,8 @@ class ComposerStaticInit7662ee13ae579487f6bb7c48a1b07268
|
|
178 |
'Tribe\\Models\\Post_Types\\Base' => __DIR__ . '/../..' . '/src/Tribe/Models/Post_Types/Base.php',
|
179 |
'Tribe\\Models\\Post_Types\\Nothing' => __DIR__ . '/../..' . '/src/Tribe/Models/Post_Types/Nothing.php',
|
180 |
'Tribe\\PUE\\Update_Prevention' => __DIR__ . '/../..' . '/src/Tribe/PUE/Update_Prevention.php',
|
|
|
|
|
181 |
'Tribe\\Service_Providers\\Dialog' => __DIR__ . '/../..' . '/src/Tribe/Service_Providers/Dialog.php',
|
182 |
'Tribe\\Service_Providers\\PUE' => __DIR__ . '/../..' . '/src/Tribe/Service_Providers/PUE.php',
|
183 |
'Tribe\\Service_Providers\\Tooltip' => __DIR__ . '/../..' . '/src/Tribe/Service_Providers/Tooltip.php',
|
@@ -203,10 +205,10 @@ class ComposerStaticInit7662ee13ae579487f6bb7c48a1b07268
|
|
203 |
public static function getInitializer(ClassLoader $loader)
|
204 |
{
|
205 |
return \Closure::bind(function () use ($loader) {
|
206 |
-
$loader->prefixLengthsPsr4 =
|
207 |
-
$loader->prefixDirsPsr4 =
|
208 |
-
$loader->prefixesPsr0 =
|
209 |
-
$loader->classMap =
|
210 |
|
211 |
}, null, ClassLoader::class);
|
212 |
}
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
+
class ComposerStaticInitd5904340b4eda874a15fc0f7423af60c
|
8 |
{
|
9 |
public static $prefixLengthsPsr4 = array (
|
10 |
'T' =>
|
178 |
'Tribe\\Models\\Post_Types\\Base' => __DIR__ . '/../..' . '/src/Tribe/Models/Post_Types/Base.php',
|
179 |
'Tribe\\Models\\Post_Types\\Nothing' => __DIR__ . '/../..' . '/src/Tribe/Models/Post_Types/Nothing.php',
|
180 |
'Tribe\\PUE\\Update_Prevention' => __DIR__ . '/../..' . '/src/Tribe/PUE/Update_Prevention.php',
|
181 |
+
'Tribe\\Repository\\Core_Read_Interface' => __DIR__ . '/../..' . '/src/Tribe/Repository/Core_Read_Interface.php',
|
182 |
+
'Tribe\\Repository\\Filter_Validation' => __DIR__ . '/../..' . '/src/Tribe/Repository/Filter_Validation.php',
|
183 |
'Tribe\\Service_Providers\\Dialog' => __DIR__ . '/../..' . '/src/Tribe/Service_Providers/Dialog.php',
|
184 |
'Tribe\\Service_Providers\\PUE' => __DIR__ . '/../..' . '/src/Tribe/Service_Providers/PUE.php',
|
185 |
'Tribe\\Service_Providers\\Tooltip' => __DIR__ . '/../..' . '/src/Tribe/Service_Providers/Tooltip.php',
|
205 |
public static function getInitializer(ClassLoader $loader)
|
206 |
{
|
207 |
return \Closure::bind(function () use ($loader) {
|
208 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInitd5904340b4eda874a15fc0f7423af60c::$prefixLengthsPsr4;
|
209 |
+
$loader->prefixDirsPsr4 = ComposerStaticInitd5904340b4eda874a15fc0f7423af60c::$prefixDirsPsr4;
|
210 |
+
$loader->prefixesPsr0 = ComposerStaticInitd5904340b4eda874a15fc0f7423af60c::$prefixesPsr0;
|
211 |
+
$loader->classMap = ComposerStaticInitd5904340b4eda874a15fc0f7423af60c::$classMap;
|
212 |
|
213 |
}, null, ClassLoader::class);
|
214 |
}
|
lang/the-events-calendar-bg_BG.mo
CHANGED
Binary file
|
lang/the-events-calendar-bs_BA.mo
DELETED
Binary file
|
lang/the-events-calendar-ca.mo
CHANGED
Binary file
|
lang/the-events-calendar-cs_CZ.mo
CHANGED
Binary file
|
lang/the-events-calendar-cy.mo
CHANGED
Binary file
|
lang/the-events-calendar-da_DK.mo
CHANGED
Binary file
|
lang/the-events-calendar-de_DE.mo
CHANGED
Binary file
|
lang/the-events-calendar-el.mo
CHANGED
Binary file
|
lang/the-events-calendar-en_AU.mo
CHANGED
Binary file
|
lang/the-events-calendar-en_CA.mo
CHANGED
Binary file
|
lang/the-events-calendar-en_GB.mo
CHANGED
Binary file
|
lang/the-events-calendar-en_NZ.mo
CHANGED
Binary file
|
lang/the-events-calendar-es_ES.mo
CHANGED
Binary file
|
lang/the-events-calendar-es_MX.mo
CHANGED
Binary file
|
lang/the-events-calendar-es_VE.mo
CHANGED
Binary file
|
lang/the-events-calendar-eu.mo
CHANGED
Binary file
|
lang/the-events-calendar-fi.mo
CHANGED
Binary file
|
lang/the-events-calendar-fr_CA.mo
CHANGED
Binary file
|
lang/the-events-calendar-fr_FR.mo
CHANGED
Binary file
|
lang/the-events-calendar-gl_ES.mo
CHANGED
Binary file
|
lang/the-events-calendar-he_IL.mo
CHANGED
Binary file
|
lang/the-events-calendar-hr.mo
CHANGED
Binary file
|
lang/the-events-calendar-hu_HU.mo
CHANGED
Binary file
|
lang/the-events-calendar-is_IS.mo
CHANGED
Binary file
|
lang/the-events-calendar-it_IT.mo
CHANGED
Binary file
|
lang/the-events-calendar-ja.mo
CHANGED
Binary file
|
lang/the-events-calendar-lt_LT.mo
CHANGED
Binary file
|
lang/the-events-calendar-nb_NO.mo
CHANGED
Binary file
|
lang/the-events-calendar-nl_NL.mo
CHANGED
Binary file
|
lang/the-events-calendar-nn_NO.mo
CHANGED
Binary file
|
lang/the-events-calendar-pt_BR.mo
CHANGED
Binary file
|
lang/the-events-calendar-pt_PT.mo
CHANGED
Binary file
|
lang/the-events-calendar-ro_RO.mo
CHANGED
Binary file
|
lang/the-events-calendar-ru_RU.mo
CHANGED
Binary file
|
lang/the-events-calendar-sk_SK.mo
CHANGED
Binary file
|
lang/the-events-calendar-sl_SI.mo
CHANGED
Binary file
|
lang/the-events-calendar-sq.mo
CHANGED
Binary file
|
lang/the-events-calendar-sr_RS.mo
CHANGED
Binary file
|
lang/the-events-calendar-sv_SE.mo
CHANGED
Binary file
|
lang/the-events-calendar-tr_TR.mo
CHANGED
Binary file
|
lang/the-events-calendar-uk.mo
CHANGED
Binary file
|
lang/the-events-calendar-zh_CN.mo
CHANGED
Binary file
|
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 4.9.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/the-events-"
|
7 |
"calendar\n"
|
8 |
-
"POT-Creation-Date: 2019-
|
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: 2019-
|
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 |
|
@@ -176,7 +176,7 @@ msgid "All %s"
|
|
176 |
msgstr ""
|
177 |
|
178 |
#: src/Tribe/Aggregator/API/Origins.php:36
|
179 |
-
#: src/Tribe/Aggregator/Admin_Bar.php:97 src/Tribe/Aggregator/Service.php:
|
180 |
msgid "CSV File"
|
181 |
msgstr ""
|
182 |
|
@@ -272,7 +272,7 @@ msgid ""
|
|
272 |
"The image associated with your event could not be attached to the event."
|
273 |
msgstr ""
|
274 |
|
275 |
-
#: src/Tribe/Aggregator/Errors.php:46 src/Tribe/Aggregator/Service.php:
|
276 |
msgid ""
|
277 |
"The daily limit of %d import requests to the Event Aggregator service has "
|
278 |
"been reached. Please try again later."
|
@@ -1037,14 +1037,22 @@ msgid "the UID part of the iCalendar Specification"
|
|
1037 |
msgstr ""
|
1038 |
|
1039 |
#: src/Tribe/Aggregator/Service.php:693
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1040 |
msgid "Sorry, but something went wrong. Please try again."
|
1041 |
msgstr ""
|
1042 |
|
1043 |
-
#: src/Tribe/Aggregator/Service.php:
|
1044 |
msgid "Events could not be imported. The import parameters were invalid."
|
1045 |
msgstr ""
|
1046 |
|
1047 |
-
#: src/Tribe/Aggregator/Service.php:
|
1048 |
msgid ""
|
1049 |
"Events cannot be imported because Eventbrite has returned an error. This "
|
1050 |
"could mean that the event ID does not exist, the event or source is marked "
|
@@ -1054,98 +1062,98 @@ msgid ""
|
|
1054 |
"in our knowledgebase</a>."
|
1055 |
msgstr ""
|
1056 |
|
1057 |
-
#: src/Tribe/Aggregator/Service.php:
|
1058 |
msgid "No upcoming Eventbrite events found."
|
1059 |
msgstr ""
|
1060 |
|
1061 |
-
#: src/Tribe/Aggregator/Service.php:
|
1062 |
msgid "The URL provided could not be reached."
|
1063 |
msgstr ""
|
1064 |
|
1065 |
-
#: src/Tribe/Aggregator/Service.php:
|
1066 |
msgid "The URL provided failed to load."
|
1067 |
msgstr ""
|
1068 |
|
1069 |
-
#: src/Tribe/Aggregator/Service.php:
|
1070 |
msgid "The image associated with your event could not be imported."
|
1071 |
msgstr ""
|
1072 |
|
1073 |
-
#: src/Tribe/Aggregator/Service.php:
|
1074 |
msgid ""
|
1075 |
"The image associated with your event is not accessible with your API key."
|
1076 |
msgstr ""
|
1077 |
|
1078 |
-
#: src/Tribe/Aggregator/Service.php:
|
1079 |
msgid ""
|
1080 |
"The import failed for an unknown reason. Please try again. If the problem "
|
1081 |
"persists, please contact support."
|
1082 |
msgstr ""
|
1083 |
|
1084 |
-
#: src/Tribe/Aggregator/Service.php:
|
1085 |
msgid ""
|
1086 |
"Events could not be imported. The URL provided did not have events in the "
|
1087 |
"proper format."
|
1088 |
msgstr ""
|
1089 |
|
1090 |
-
#: src/Tribe/Aggregator/Service.php:
|
1091 |
msgid ""
|
1092 |
"The file provided could not be opened. Please confirm that it is a properly "
|
1093 |
"formatted .ics file."
|
1094 |
msgstr ""
|
1095 |
|
1096 |
-
#: src/Tribe/Aggregator/Service.php:
|
1097 |
msgid "Your Meetup API key is invalid."
|
1098 |
msgstr ""
|
1099 |
|
1100 |
-
#: src/Tribe/Aggregator/Service.php:
|
1101 |
msgid ""
|
1102 |
"Event Aggregator cannot reach Meetup.com because you exceeded the request "
|
1103 |
"limit for your Meetup API key."
|
1104 |
msgstr ""
|
1105 |
|
1106 |
-
#: src/Tribe/Aggregator/Service.php:
|
1107 |
msgid "The import is in progress."
|
1108 |
msgstr ""
|
1109 |
|
1110 |
-
#: src/Tribe/Aggregator/Service.php:
|
1111 |
msgid "The import will be starting soon."
|
1112 |
msgstr ""
|
1113 |
|
1114 |
-
#: src/Tribe/Aggregator/Service.php:
|
1115 |
msgid "Success"
|
1116 |
msgstr ""
|
1117 |
|
1118 |
-
#: src/Tribe/Aggregator/Service.php:
|
1119 |
msgid "Import created"
|
1120 |
msgstr ""
|
1121 |
|
1122 |
-
#: src/Tribe/Aggregator/Service.php:
|
1123 |
msgid "Successfully fetched Eventbrite Token"
|
1124 |
msgstr ""
|
1125 |
|
1126 |
-
#: src/Tribe/Aggregator/Service.php:
|
1127 |
msgid "Successfully loaded import origins"
|
1128 |
msgstr ""
|
1129 |
|
1130 |
-
#: src/Tribe/Aggregator/Service.php:
|
1131 |
msgid "Import is complete"
|
1132 |
msgstr ""
|
1133 |
|
1134 |
-
#: src/Tribe/Aggregator/Service.php:
|
1135 |
msgid "Import queued"
|
1136 |
msgstr ""
|
1137 |
|
1138 |
-
#: src/Tribe/Aggregator/Service.php:
|
1139 |
msgid "Events could not be imported. The URL provided could not be reached."
|
1140 |
msgstr ""
|
1141 |
|
1142 |
-
#: src/Tribe/Aggregator/Service.php:
|
1143 |
msgid ""
|
1144 |
"The requested source does not have any upcoming and published events "
|
1145 |
"matching the search criteria."
|
1146 |
msgstr ""
|
1147 |
|
1148 |
-
#: src/Tribe/Aggregator/Service.php:
|
1149 |
msgctxt ""
|
1150 |
"The placeholder is for the localized version of the iCal UID specification "
|
1151 |
"link"
|
@@ -1157,7 +1165,7 @@ msgid ""
|
|
1157 |
"help them more quickly resolve their feed's UID issue."
|
1158 |
msgstr ""
|
1159 |
|
1160 |
-
#: src/Tribe/Aggregator/Service.php:
|
1161 |
msgctxt ""
|
1162 |
"The placeholder is for the localized version of the iCal UID specification "
|
1163 |
"link"
|
@@ -1169,7 +1177,136 @@ msgid ""
|
|
1169 |
"help them more quickly resolve their feed's UID issue."
|
1170 |
msgstr ""
|
1171 |
|
1172 |
-
#: src/Tribe/Aggregator/Service.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1173 |
msgid "Unknown service message"
|
1174 |
msgstr ""
|
1175 |
|
@@ -1898,7 +2035,8 @@ msgstr ""
|
|
1898 |
|
1899 |
#: src/Tribe/Editor/Template.php:70 src/Tribe/Template/Embed.php:59
|
1900 |
#: src/Tribe/Template/Single_Event.php:119
|
1901 |
-
#: src/Tribe/Views/V2/Template_Bootstrap.php:
|
|
|
1902 |
msgid "This %s has passed."
|
1903 |
msgstr ""
|
1904 |
|
@@ -2501,202 +2639,202 @@ msgstr ""
|
|
2501 |
msgid "Upcoming Events"
|
2502 |
msgstr ""
|
2503 |
|
2504 |
-
#. #-#-#-#-# the-events-calendar.pot (The Events Calendar 4.9.
|
2505 |
#. Plugin Name of the plugin/theme
|
2506 |
-
#: src/Tribe/Main.php:
|
2507 |
#: src/functions/template-tags/general.php:1358 the-events-calendar.php:56
|
2508 |
msgid "The Events Calendar"
|
2509 |
msgstr ""
|
2510 |
|
2511 |
-
#: src/Tribe/Main.php:
|
2512 |
msgid "month"
|
2513 |
msgstr ""
|
2514 |
|
2515 |
-
#: src/Tribe/Main.php:
|
2516 |
msgid "list"
|
2517 |
msgstr ""
|
2518 |
|
2519 |
-
#: src/Tribe/Main.php:
|
2520 |
msgid "upcoming"
|
2521 |
msgstr ""
|
2522 |
|
2523 |
-
#: src/Tribe/Main.php:
|
2524 |
msgid "past"
|
2525 |
msgstr ""
|
2526 |
|
2527 |
-
#: src/Tribe/Main.php:
|
2528 |
msgid "day"
|
2529 |
msgstr ""
|
2530 |
|
2531 |
-
#: src/Tribe/Main.php:
|
2532 |
msgid "today"
|
2533 |
msgstr ""
|
2534 |
|
2535 |
-
#: src/Tribe/Main.php:
|
2536 |
msgctxt "featured events slug"
|
2537 |
msgid "featured"
|
2538 |
msgstr ""
|
2539 |
|
2540 |
-
#: src/Tribe/Main.php:
|
2541 |
msgctxt "all events slug"
|
2542 |
msgid "all"
|
2543 |
msgstr ""
|
2544 |
|
2545 |
-
#: src/Tribe/Main.php:
|
2546 |
msgid "Initializing Tribe Events on %s"
|
2547 |
msgstr ""
|
2548 |
|
2549 |
-
#: src/Tribe/Main.php:
|
2550 |
msgid "Welcome to The Events Calendar!"
|
2551 |
msgstr ""
|
2552 |
|
2553 |
-
#: src/Tribe/Main.php:
|
2554 |
msgid ""
|
2555 |
"The %3$s \"%1$s\" uses the \"/%2$s\" slug: the Events Calendar plugin will "
|
2556 |
"show its calendar in place of the page."
|
2557 |
msgstr ""
|
2558 |
|
2559 |
-
#: src/Tribe/Main.php:
|
2560 |
msgid "Ask the site administrator to edit the %s slug"
|
2561 |
msgstr ""
|
2562 |
|
2563 |
-
#: src/Tribe/Main.php:
|
2564 |
msgid "Edit the %s slug"
|
2565 |
msgstr ""
|
2566 |
|
2567 |
-
#: src/Tribe/Main.php:
|
2568 |
msgid " ask the site administrator set a different Events URL slug."
|
2569 |
msgstr ""
|
2570 |
|
2571 |
-
#: src/Tribe/Main.php:
|
2572 |
msgid "edit Events settings."
|
2573 |
msgstr ""
|
2574 |
|
2575 |
-
#: src/Tribe/Main.php:
|
2576 |
msgid "%1$s or %2$s"
|
2577 |
msgstr ""
|
2578 |
|
2579 |
-
#: src/Tribe/Main.php:
|
2580 |
msgid "Upgrade your calendar views"
|
2581 |
msgstr ""
|
2582 |
|
2583 |
-
#: src/Tribe/Main.php:
|
2584 |
msgid "Upgrade"
|
2585 |
msgstr ""
|
2586 |
|
2587 |
-
#: src/Tribe/Main.php:
|
2588 |
msgid "New User Primer"
|
2589 |
msgstr ""
|
2590 |
|
2591 |
-
#: src/Tribe/Main.php:
|
2592 |
msgid ""
|
2593 |
"We are committed to helping make your calendar spectacular and have a wealth "
|
2594 |
"of resources available, including a handy %s to get your calendar up and "
|
2595 |
"running."
|
2596 |
msgstr ""
|
2597 |
|
2598 |
-
#: src/Tribe/Main.php:
|
2599 |
msgid "Support for The Events Calendar"
|
2600 |
msgstr ""
|
2601 |
|
2602 |
-
#: src/Tribe/Main.php:
|
2603 |
msgid ""
|
2604 |
"%s: A thorough walkthrough of The Events Calendar and the settings that are "
|
2605 |
"available to you."
|
2606 |
msgstr ""
|
2607 |
|
2608 |
-
#: src/Tribe/Main.php:
|
2609 |
msgid "Settings overview"
|
2610 |
msgstr ""
|
2611 |
|
2612 |
-
#: src/Tribe/Main.php:
|
2613 |
msgid ""
|
2614 |
"%s: A complete look at the features you can expect to see right out of the "
|
2615 |
"box as well as how to use them."
|
2616 |
msgstr ""
|
2617 |
|
2618 |
-
#: src/Tribe/Main.php:
|
2619 |
msgid "Features overview"
|
2620 |
msgstr ""
|
2621 |
|
2622 |
-
#: src/Tribe/Main.php:
|
2623 |
msgid ""
|
2624 |
"%s: Our most comprehensive outline for customizing the calendar to suit your "
|
2625 |
"needs, including custom layouts and styles."
|
2626 |
msgstr ""
|
2627 |
|
2628 |
-
#: src/Tribe/Main.php:
|
2629 |
msgid "Themer’s Guide"
|
2630 |
msgstr ""
|
2631 |
|
2632 |
-
#: src/Tribe/Main.php:
|
2633 |
msgid ""
|
2634 |
"%s: An overview of the default templates and styles that are included in the "
|
2635 |
"plugin, as well as how to change them."
|
2636 |
msgstr ""
|
2637 |
|
2638 |
-
#: src/Tribe/Main.php:
|
2639 |
msgid "Using stylesheets and page templates"
|
2640 |
msgstr ""
|
2641 |
|
2642 |
-
#: src/Tribe/Main.php:
|
2643 |
msgid ""
|
2644 |
"%s: Do you see an issue with your calendar? Go here first to find where it’s "
|
2645 |
"coming from and how to fix it."
|
2646 |
msgstr ""
|
2647 |
|
2648 |
-
#: src/Tribe/Main.php:
|
2649 |
msgid "Troubleshooting common problems"
|
2650 |
msgstr ""
|
2651 |
|
2652 |
-
#: src/Tribe/Main.php:
|
2653 |
msgid ""
|
2654 |
"%s: Code and guides for customizing your calendar in useful and interesting "
|
2655 |
"ways."
|
2656 |
msgstr ""
|
2657 |
|
2658 |
-
#: src/Tribe/Main.php:
|
2659 |
msgid "Customizing the Events plugins"
|
2660 |
msgstr ""
|
2661 |
|
2662 |
-
#: src/Tribe/Main.php:
|
2663 |
msgid "Events Tickets"
|
2664 |
msgstr ""
|
2665 |
|
2666 |
-
#: src/Tribe/Main.php:
|
2667 |
msgid ""
|
2668 |
"If you have tried the above steps and are still having trouble, you can post "
|
2669 |
"a new thread to our WordPress.org forums for %1$s or %2$s. Our support staff "
|
2670 |
"monitors these forums once a week and would be happy to assist you there. "
|
2671 |
msgstr ""
|
2672 |
|
2673 |
-
#: src/Tribe/Main.php:
|
2674 |
msgid "premium support on our website"
|
2675 |
msgstr ""
|
2676 |
|
2677 |
-
#: src/Tribe/Main.php:
|
2678 |
msgid ""
|
2679 |
"<strong>Looking for more immediate support?</strong> We offer %s with the "
|
2680 |
"purchase of any of our premium plugins. Pick up a license and you can post "
|
2681 |
"there directly and expect a response within 24-48 hours during weekdays"
|
2682 |
msgstr ""
|
2683 |
|
2684 |
-
#: src/Tribe/Main.php:
|
2685 |
msgid "open-source forum on WordPress.org"
|
2686 |
msgstr ""
|
2687 |
|
2688 |
-
#: src/Tribe/Main.php:
|
2689 |
msgid ""
|
2690 |
"If you have tried the above steps and are still having trouble, you can post "
|
2691 |
"a new thread to our %s. Our support staff monitors these forums once a week "
|
2692 |
"and would be happy to assist you there."
|
2693 |
msgstr ""
|
2694 |
|
2695 |
-
#: src/Tribe/Main.php:
|
2696 |
msgid "Events Calendar PRO"
|
2697 |
msgstr ""
|
2698 |
|
2699 |
-
#: src/Tribe/Main.php:
|
2700 |
msgid ""
|
2701 |
"<strong>Looking for more immediate support?</strong> We offer %1$s with the "
|
2702 |
"purchase of any of our premium plugins (like %2$s). Pick up a license and "
|
@@ -2704,427 +2842,427 @@ msgid ""
|
|
2704 |
"weekdays."
|
2705 |
msgstr ""
|
2706 |
|
2707 |
-
#: src/Tribe/Main.php:
|
2708 |
msgid "post a thread"
|
2709 |
msgstr ""
|
2710 |
|
2711 |
-
#: src/Tribe/Main.php:
|
2712 |
msgid ""
|
2713 |
"If you have a valid license for one of our paid plugins, you can %s in our "
|
2714 |
"premium support forums. Our support team monitors the forums and will "
|
2715 |
"respond to your thread within 24-48 hours (during the week)."
|
2716 |
msgstr ""
|
2717 |
|
2718 |
-
#: src/Tribe/Main.php:
|
2719 |
#: src/deprecated/Tribe__Events__Importer__Admin_Page.php:207
|
2720 |
#: src/functions/template-tags/general.php:95
|
2721 |
msgid "Events"
|
2722 |
msgstr ""
|
2723 |
|
2724 |
-
#: src/Tribe/Main.php:
|
2725 |
#: src/admin-views/aggregator/tabs/import-form.php:220
|
2726 |
#: src/functions/template-tags/general.php:63
|
2727 |
msgid "Event"
|
2728 |
msgstr ""
|
2729 |
|
2730 |
-
#: src/Tribe/Main.php:
|
2731 |
msgid ""
|
2732 |
"Sorry, The Events Calendar requires WordPress %s or higher. Please upgrade "
|
2733 |
"your WordPress install."
|
2734 |
msgstr ""
|
2735 |
|
2736 |
-
#: src/Tribe/Main.php:
|
2737 |
msgid ""
|
2738 |
"Sorry, The Events Calendar requires PHP %s or higher. Talk to your Web host "
|
2739 |
"about moving you to a newer version of PHP."
|
2740 |
msgstr ""
|
2741 |
|
2742 |
-
#: src/Tribe/Main.php:
|
2743 |
msgid ""
|
2744 |
"To continue using The Events Calendar, please install the latest version of"
|
2745 |
msgstr ""
|
2746 |
|
2747 |
-
#: src/Tribe/Main.php:
|
2748 |
msgid "Event Tickets"
|
2749 |
msgstr ""
|
2750 |
|
2751 |
-
#: src/Tribe/Main.php:
|
2752 |
msgid ""
|
2753 |
"It appears as if the tribe-common libraries cannot be found! The directory "
|
2754 |
"should be in the \"common/\" directory in the events calendar plugin."
|
2755 |
msgstr ""
|
2756 |
|
2757 |
-
#: src/Tribe/Main.php:
|
2758 |
msgid "category"
|
2759 |
msgstr ""
|
2760 |
|
2761 |
-
#: src/Tribe/Main.php:
|
2762 |
msgid "tag"
|
2763 |
msgstr ""
|
2764 |
|
2765 |
-
#: src/Tribe/Main.php:
|
2766 |
msgid "Add New"
|
2767 |
msgstr ""
|
2768 |
|
2769 |
-
#: src/Tribe/Main.php:
|
2770 |
#: src/Tribe/Organizer.php:92 src/Tribe/Venue.php:111
|
2771 |
msgid "Add New %s"
|
2772 |
msgstr ""
|
2773 |
|
2774 |
-
#: src/Tribe/Main.php:
|
2775 |
msgid "New %s"
|
2776 |
msgstr ""
|
2777 |
|
2778 |
-
#: src/Tribe/Main.php:
|
2779 |
#: src/views/month/single-day.php:26
|
2780 |
msgid "View %s"
|
2781 |
msgstr ""
|
2782 |
|
2783 |
-
#: src/Tribe/Main.php:
|
2784 |
msgid "Search %s"
|
2785 |
msgstr ""
|
2786 |
|
2787 |
-
#: src/Tribe/Main.php:
|
2788 |
msgid "No %s found"
|
2789 |
msgstr ""
|
2790 |
|
2791 |
-
#: src/Tribe/Main.php:
|
2792 |
msgid "No %s found in Trash"
|
2793 |
msgstr ""
|
2794 |
|
2795 |
-
#: src/Tribe/Main.php:
|
2796 |
#: src/Tribe/Organizer.php:99 src/Tribe/Venue.php:118
|
2797 |
msgid "%s published."
|
2798 |
msgstr ""
|
2799 |
|
2800 |
-
#: src/Tribe/Main.php:
|
2801 |
msgid "%s published privately."
|
2802 |
msgstr ""
|
2803 |
|
2804 |
-
#: src/Tribe/Main.php:
|
2805 |
msgid "%s reverted to draft."
|
2806 |
msgstr ""
|
2807 |
|
2808 |
-
#: src/Tribe/Main.php:
|
2809 |
msgid "%s scheduled."
|
2810 |
msgstr ""
|
2811 |
|
2812 |
-
#: src/Tribe/Main.php:
|
2813 |
-
#: src/Tribe/Main.php:
|
2814 |
#: src/Tribe/Organizer.php:103 src/Tribe/Venue.php:122
|
2815 |
msgid "%s updated."
|
2816 |
msgstr ""
|
2817 |
|
2818 |
-
#: src/Tribe/Main.php:
|
2819 |
msgid "%s Category"
|
2820 |
msgstr ""
|
2821 |
|
2822 |
-
#: src/Tribe/Main.php:
|
2823 |
msgid "Search %s Categories"
|
2824 |
msgstr ""
|
2825 |
|
2826 |
-
#: src/Tribe/Main.php:
|
2827 |
msgid "All %s Categories"
|
2828 |
msgstr ""
|
2829 |
|
2830 |
-
#: src/Tribe/Main.php:
|
2831 |
msgid "Parent %s Category"
|
2832 |
msgstr ""
|
2833 |
|
2834 |
-
#: src/Tribe/Main.php:
|
2835 |
msgid "Parent %s Category:"
|
2836 |
msgstr ""
|
2837 |
|
2838 |
-
#: src/Tribe/Main.php:
|
2839 |
msgid "Edit %s Category"
|
2840 |
msgstr ""
|
2841 |
|
2842 |
-
#: src/Tribe/Main.php:
|
2843 |
msgid "Update %s Category"
|
2844 |
msgstr ""
|
2845 |
|
2846 |
-
#: src/Tribe/Main.php:
|
2847 |
msgid "Add New %s Category"
|
2848 |
msgstr ""
|
2849 |
|
2850 |
-
#: src/Tribe/Main.php:
|
2851 |
msgid "New %s Category Name"
|
2852 |
msgstr ""
|
2853 |
|
2854 |
-
#: src/Tribe/Main.php:
|
2855 |
msgid "%1$s updated. %2$sView %1$s%3$s"
|
2856 |
msgstr ""
|
2857 |
|
2858 |
-
#: src/Tribe/Main.php:
|
2859 |
msgid "Custom field updated."
|
2860 |
msgstr ""
|
2861 |
|
2862 |
-
#: src/Tribe/Main.php:
|
2863 |
msgid "Custom field deleted."
|
2864 |
msgstr ""
|
2865 |
|
2866 |
#. translators: %s: date and time of the revision
|
2867 |
-
#: src/Tribe/Main.php:
|
2868 |
msgid "%1$s restored to revision from %2$s"
|
2869 |
msgstr ""
|
2870 |
|
2871 |
-
#: src/Tribe/Main.php:
|
2872 |
msgid "%1$s published. %2$sView %3$s"
|
2873 |
msgstr ""
|
2874 |
|
2875 |
-
#: src/Tribe/Main.php:
|
2876 |
msgid "%s saved."
|
2877 |
msgstr ""
|
2878 |
|
2879 |
-
#: src/Tribe/Main.php:
|
2880 |
msgid "%1$s submitted. %2$sPreview %3$s"
|
2881 |
msgstr ""
|
2882 |
|
2883 |
-
#: src/Tribe/Main.php:
|
2884 |
msgid "%1$s scheduled for: %2$s. %3$sPreview %4$s"
|
2885 |
msgstr ""
|
2886 |
|
2887 |
#. translators: Publish box date format, see http://php.net/date
|
2888 |
-
#: src/Tribe/Main.php:
|
2889 |
msgid "M j, Y @ G:i"
|
2890 |
msgstr ""
|
2891 |
|
2892 |
-
#: src/Tribe/Main.php:
|
2893 |
msgid "%1$s draft updated. %2$sPreview %3$s"
|
2894 |
msgstr ""
|
2895 |
|
2896 |
-
#: src/Tribe/Main.php:
|
2897 |
msgid "%s submitted."
|
2898 |
msgstr ""
|
2899 |
|
2900 |
-
#: src/Tribe/Main.php:
|
2901 |
msgid "%1$s scheduled for: %2$s."
|
2902 |
msgstr ""
|
2903 |
|
2904 |
-
#: src/Tribe/Main.php:
|
2905 |
msgid "%s draft updated."
|
2906 |
msgstr ""
|
2907 |
|
2908 |
#. translators: %s: date and time of the revision
|
2909 |
-
#: src/Tribe/Main.php:
|
2910 |
msgid "%s restored to revision from %s"
|
2911 |
msgstr ""
|
2912 |
|
2913 |
-
#: src/Tribe/Main.php:
|
2914 |
msgid ""
|
2915 |
"Without a defined location your event will not display a %sGoogle Rich "
|
2916 |
"Snippet%s on the search results."
|
2917 |
msgstr ""
|
2918 |
|
2919 |
-
#: src/Tribe/Main.php:
|
2920 |
msgid "page"
|
2921 |
msgstr ""
|
2922 |
|
2923 |
-
#: src/Tribe/Main.php:
|
2924 |
msgid "event"
|
2925 |
msgstr ""
|
2926 |
|
2927 |
-
#: src/Tribe/Main.php:
|
2928 |
msgid "events"
|
2929 |
msgstr ""
|
2930 |
|
2931 |
-
#: src/Tribe/Main.php:
|
2932 |
msgid "all"
|
2933 |
msgstr ""
|
2934 |
|
2935 |
-
#: src/Tribe/Main.php:
|
2936 |
msgid " (View Full %1$s Description Here: %2$s)"
|
2937 |
msgstr ""
|
2938 |
|
2939 |
-
#: src/Tribe/Main.php:
|
2940 |
#: src/functions/template-tags/day.php:157
|
2941 |
#: src/functions/template-tags/day.php:178
|
2942 |
msgid "Date out of range."
|
2943 |
msgstr ""
|
2944 |
|
2945 |
-
#: src/Tribe/Main.php:
|
2946 |
msgid "%s Options"
|
2947 |
msgstr ""
|
2948 |
|
2949 |
-
#: src/Tribe/Main.php:
|
2950 |
msgid "%s Information"
|
2951 |
msgstr ""
|
2952 |
|
2953 |
-
#: src/Tribe/Main.php:
|
2954 |
msgid "Support"
|
2955 |
msgstr ""
|
2956 |
|
2957 |
-
#: src/Tribe/Main.php:
|
2958 |
msgid "View All Add-Ons"
|
2959 |
msgstr ""
|
2960 |
|
2961 |
-
#: src/Tribe/Main.php:
|
2962 |
msgid "News from Modern Tribe"
|
2963 |
msgstr ""
|
2964 |
|
2965 |
-
#: src/Tribe/Main.php:
|
2966 |
msgid "Additional Functionality"
|
2967 |
msgstr ""
|
2968 |
|
2969 |
-
#: src/Tribe/Main.php:
|
2970 |
msgid ""
|
2971 |
"Looking for additional functionality including recurring events, ticket "
|
2972 |
"sales, publicly submitted events, new views and more?"
|
2973 |
msgstr ""
|
2974 |
|
2975 |
-
#: src/Tribe/Main.php:
|
2976 |
msgid "Check out the %savailable add-ons%s."
|
2977 |
msgstr ""
|
2978 |
|
2979 |
-
#: src/Tribe/Main.php:
|
2980 |
msgid "Calendar"
|
2981 |
msgstr ""
|
2982 |
|
2983 |
-
#: src/Tribe/Main.php:
|
2984 |
msgid "List"
|
2985 |
msgstr ""
|
2986 |
|
2987 |
-
#: src/Tribe/Main.php:
|
2988 |
msgid "Month"
|
2989 |
msgstr ""
|
2990 |
|
2991 |
-
#: src/Tribe/Main.php:
|
2992 |
#: src/admin-views/aggregator/fields/schedule.php:62
|
2993 |
msgid "Day"
|
2994 |
msgstr ""
|
2995 |
|
2996 |
-
#: src/Tribe/Main.php:
|
2997 |
msgid "Search for %s by Keyword."
|
2998 |
msgstr ""
|
2999 |
|
3000 |
-
#: src/Tribe/Main.php:
|
3001 |
#: src/views/v2/components/events-bar/search-button.php:25
|
3002 |
msgid "Search"
|
3003 |
msgstr ""
|
3004 |
|
3005 |
-
#: src/Tribe/Main.php:
|
3006 |
msgid "Keyword"
|
3007 |
msgstr ""
|
3008 |
|
3009 |
-
#: src/Tribe/Main.php:
|
3010 |
msgid "4 digit year hyphen 2 digit month hyphen 2 digit day"
|
3011 |
msgstr ""
|
3012 |
|
3013 |
-
#: src/Tribe/Main.php:
|
3014 |
msgid "1 digit month slash 1 digit day slash 4 digit year"
|
3015 |
msgstr ""
|
3016 |
|
3017 |
-
#: src/Tribe/Main.php:
|
3018 |
msgid "2 digit month slash 2 digit day slash 4 digit year"
|
3019 |
msgstr ""
|
3020 |
|
3021 |
-
#: src/Tribe/Main.php:
|
3022 |
msgid "1 digit day slash 1 digit month slash 4 digit year"
|
3023 |
msgstr ""
|
3024 |
|
3025 |
-
#: src/Tribe/Main.php:
|
3026 |
msgid "2 digit day slash 2 digit month slash 4 digit year"
|
3027 |
msgstr ""
|
3028 |
|
3029 |
-
#: src/Tribe/Main.php:
|
3030 |
msgid "1 digit month hyphen 1 digit day hyphen 4 digit year"
|
3031 |
msgstr ""
|
3032 |
|
3033 |
-
#: src/Tribe/Main.php:
|
3034 |
msgid "1 digit month hyphen 2 digit day hyphen 4 digit year"
|
3035 |
msgstr ""
|
3036 |
|
3037 |
-
#: src/Tribe/Main.php:
|
3038 |
msgid "1 digit day hyphen 1 digit month hyphen 4 digit year"
|
3039 |
msgstr ""
|
3040 |
|
3041 |
-
#: src/Tribe/Main.php:
|
3042 |
msgid "2 digit day hyphen 2 digit month hyphen 4 digit year"
|
3043 |
msgstr ""
|
3044 |
|
3045 |
-
#: src/Tribe/Main.php:
|
3046 |
msgid "4 digit year dot 2 digit month dot 2 digit day"
|
3047 |
msgstr ""
|
3048 |
|
3049 |
-
#: src/Tribe/Main.php:
|
3050 |
msgid "2 digit month dot 2 digit day dot 4 digit year"
|
3051 |
msgstr ""
|
3052 |
|
3053 |
-
#: src/Tribe/Main.php:
|
3054 |
msgid "2 digit day dot 2 digit month dot 4 digit year"
|
3055 |
msgstr ""
|
3056 |
|
3057 |
-
#: src/Tribe/Main.php:
|
3058 |
msgid "4 digit year hyphen 2 digit month"
|
3059 |
msgstr ""
|
3060 |
|
3061 |
-
#: src/Tribe/Main.php:
|
3062 |
msgid "1 digit month slash 4 digit year"
|
3063 |
msgstr ""
|
3064 |
|
3065 |
-
#: src/Tribe/Main.php:
|
3066 |
msgid "2 digit month slash 4 digit year"
|
3067 |
msgstr ""
|
3068 |
|
3069 |
-
#: src/Tribe/Main.php:
|
3070 |
msgid "1 digit month hyphen 4 digit year"
|
3071 |
msgstr ""
|
3072 |
|
3073 |
-
#: src/Tribe/Main.php:
|
3074 |
msgid "2 digit month hyphen 4 digit year"
|
3075 |
msgstr ""
|
3076 |
|
3077 |
-
#: src/Tribe/Main.php:
|
3078 |
msgid "4 digit year dot 2 digit month"
|
3079 |
msgstr ""
|
3080 |
|
3081 |
-
#: src/Tribe/Main.php:
|
3082 |
msgid "2 digit month dot 4 digit year"
|
3083 |
msgstr ""
|
3084 |
|
3085 |
-
#: src/Tribe/Main.php:
|
3086 |
#: src/admin-views/aggregator/origins/refine.php:7
|
3087 |
msgid "Date"
|
3088 |
msgstr ""
|
3089 |
|
3090 |
-
#: src/Tribe/Main.php:
|
3091 |
msgid "Search for %s by Date. Please use the format %s."
|
3092 |
msgstr ""
|
3093 |
|
3094 |
-
#: src/Tribe/Main.php:
|
3095 |
msgid "%s In"
|
3096 |
msgstr ""
|
3097 |
|
3098 |
-
#: src/Tribe/Main.php:
|
3099 |
msgid "Search for %s by month. Please use the format %s."
|
3100 |
msgstr ""
|
3101 |
|
3102 |
-
#: src/Tribe/Main.php:
|
3103 |
msgid "%s From"
|
3104 |
msgstr ""
|
3105 |
|
3106 |
-
#: src/Tribe/Main.php:
|
3107 |
msgid "Day Of"
|
3108 |
msgstr ""
|
3109 |
|
3110 |
-
#: src/Tribe/Main.php:
|
3111 |
msgid "Once Every 30 Mins"
|
3112 |
msgstr ""
|
3113 |
|
3114 |
-
#: src/Tribe/Main.php:
|
3115 |
msgid ""
|
3116 |
"Your version of The Events Calendar is not up-to-date with one of your The "
|
3117 |
"Events Calendar add-ons. Please %supdate now.%s"
|
3118 |
msgstr ""
|
3119 |
|
3120 |
-
#: src/Tribe/Main.php:
|
3121 |
msgid ""
|
3122 |
"The following plugins are out of date: %1$s. All add-ons contain "
|
3123 |
"dependencies on The Events Calendar and will not function properly unless "
|
3124 |
"paired with the right version. %2$sLearn More%3$s."
|
3125 |
msgstr ""
|
3126 |
|
3127 |
-
#: src/Tribe/Main.php:
|
3128 |
msgid "Use Saved %s:"
|
3129 |
msgstr ""
|
3130 |
|
@@ -4503,13 +4641,13 @@ msgctxt "Abbreviation for the kilometers unit of measure"
|
|
4503 |
msgid "km"
|
4504 |
msgstr ""
|
4505 |
|
4506 |
-
#: src/Tribe/Venue.php:173 src/functions/template-tags/venue.php:
|
4507 |
msgid "Venue"
|
4508 |
msgstr ""
|
4509 |
|
4510 |
#: src/Tribe/Venue.php:182
|
4511 |
#: src/deprecated/Tribe__Events__Importer__Admin_Page.php:205
|
4512 |
-
#: src/functions/template-tags/venue.php:
|
4513 |
msgid "Venues"
|
4514 |
msgstr ""
|
4515 |
|
@@ -4526,7 +4664,7 @@ msgctxt "Metabox title"
|
|
4526 |
msgid "Location"
|
4527 |
msgstr ""
|
4528 |
|
4529 |
-
#: src/Tribe/Venue.php:325 src/functions/template-tags/venue.php:
|
4530 |
msgid "United States"
|
4531 |
msgstr ""
|
4532 |
|
@@ -4534,10 +4672,18 @@ msgstr ""
|
|
4534 |
msgid "Unnamed Venue"
|
4535 |
msgstr ""
|
4536 |
|
4537 |
-
#: src/Tribe/Views/V2/Hooks.php:
|
4538 |
msgid "We recommend a 16:9 aspect ratio for featured images."
|
4539 |
msgstr ""
|
4540 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4541 |
#. translators: the placeholder is the keyword(s), as the user entered it in
|
4542 |
#. the bar.
|
4543 |
#: src/Tribe/Views/V2/Messages.php:95
|
@@ -4558,39 +4704,67 @@ msgstr ""
|
|
4558 |
msgid "No events scheduled for %s. Please try another day."
|
4559 |
msgstr ""
|
4560 |
|
4561 |
-
#: src/Tribe/Views/V2/Template/Title.php:
|
4562 |
#: src/functions/template-tags/loop.php:177
|
4563 |
msgctxt "featured events title"
|
4564 |
msgid "Featured %s"
|
4565 |
msgstr ""
|
4566 |
|
4567 |
-
#: src/Tribe/Views/V2/Template/Title.php:
|
4568 |
#: src/functions/template-tags/loop.php:187
|
4569 |
msgid "Upcoming %s"
|
4570 |
msgstr ""
|
4571 |
|
4572 |
-
#: src/Tribe/Views/V2/Template/Title.php:
|
4573 |
#: src/functions/template-tags/loop.php:204
|
4574 |
msgid "Past %s"
|
4575 |
msgstr ""
|
4576 |
|
4577 |
-
#: src/Tribe/Views/V2/Template/Title.php:
|
4578 |
#: src/functions/template-tags/loop.php:202
|
4579 |
msgid "%1$s for %2$s - %3$s"
|
4580 |
msgstr ""
|
4581 |
|
4582 |
-
#: src/Tribe/Views/V2/Template/Title.php:
|
4583 |
#: src/functions/template-tags/loop.php:209
|
4584 |
msgctxt "month view"
|
4585 |
msgid "%1$s for %2$s"
|
4586 |
msgstr ""
|
4587 |
|
4588 |
-
#: src/Tribe/Views/V2/Template/Title.php:
|
4589 |
#: src/functions/template-tags/loop.php:218
|
4590 |
msgctxt "day_view"
|
4591 |
msgid "%1$s for %2$s"
|
4592 |
msgstr ""
|
4593 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4594 |
#: src/Tribe/Views/V2/Views/List_Behavior.php:49
|
4595 |
msgctxt "The datepicker label when the range start is now."
|
4596 |
msgid "Now"
|
@@ -4620,16 +4794,6 @@ msgstr ""
|
|
4620 |
msgid "Download .ics file"
|
4621 |
msgstr ""
|
4622 |
|
4623 |
-
#: src/Tribe/iCal.php:162
|
4624 |
-
msgid "Export Events"
|
4625 |
-
msgstr ""
|
4626 |
-
|
4627 |
-
#: src/Tribe/iCal.php:163
|
4628 |
-
msgid ""
|
4629 |
-
"Use this to share calendar data with Google Calendar, Apple iCal and other "
|
4630 |
-
"compatible apps"
|
4631 |
-
msgstr ""
|
4632 |
-
|
4633 |
#: src/Tribe/iCal.php:410
|
4634 |
msgctxt "iCal feed description"
|
4635 |
msgid "Events for %s"
|
@@ -5182,41 +5346,41 @@ msgctxt "Radius with abbreviation"
|
|
5182 |
msgid "Radius (%s)"
|
5183 |
msgstr ""
|
5184 |
|
5185 |
-
#: src/admin-views/aggregator/origins/refine.php:
|
5186 |
msgid ""
|
5187 |
"Use the filters to narrow down which events are fetched from your ICS file."
|
5188 |
msgstr ""
|
5189 |
|
5190 |
-
#: src/admin-views/aggregator/origins/refine.php:
|
5191 |
msgid ""
|
5192 |
"Use the filters to narrow down which events are fetched from this Google "
|
5193 |
"Calendar."
|
5194 |
msgstr ""
|
5195 |
|
5196 |
-
#: src/admin-views/aggregator/origins/refine.php:
|
5197 |
msgid "Use the filters to narrow down which events are fetched from this site."
|
5198 |
msgstr ""
|
5199 |
|
5200 |
-
#: src/admin-views/aggregator/origins/refine.php:
|
5201 |
msgid ""
|
5202 |
"Use the filters to narrow down which events are fetched from Eventbrite."
|
5203 |
msgstr ""
|
5204 |
|
5205 |
-
#: src/admin-views/aggregator/origins/refine.php:
|
5206 |
msgid ""
|
5207 |
"Use the filters to narrow down which events are fetched from this iCalendar "
|
5208 |
"feed."
|
5209 |
msgstr ""
|
5210 |
|
5211 |
-
#: src/admin-views/aggregator/origins/refine.php:
|
5212 |
msgid "Refine:"
|
5213 |
msgstr ""
|
5214 |
|
5215 |
-
#: src/admin-views/aggregator/origins/refine.php:
|
5216 |
msgid "Start date for Eventbrite Tickets is Required"
|
5217 |
msgstr ""
|
5218 |
|
5219 |
-
#: src/admin-views/aggregator/origins/refine.php:
|
5220 |
msgid "Events on or after"
|
5221 |
msgstr ""
|
5222 |
|
@@ -7084,7 +7248,7 @@ msgid ""
|
|
7084 |
"plural, and this singular.%3$sYour single Event URL is like: %4$s"
|
7085 |
msgstr ""
|
7086 |
|
7087 |
-
#: src/functions/template-tags/venue.php:
|
7088 |
#: src/views/v2/day/event/venue.php:23 src/views/v2/list/event/venue.php:23
|
7089 |
msgctxt "Address separator"
|
7090 |
msgid ", "
|
@@ -7160,6 +7324,7 @@ msgstr ""
|
|
7160 |
|
7161 |
#: src/views/modules/bar.php:74
|
7162 |
#: src/views/v2/components/events-bar/search/submit.php:21
|
|
|
7163 |
msgid "Find %s"
|
7164 |
msgstr ""
|
7165 |
|
@@ -7220,19 +7385,19 @@ msgstr ""
|
|
7220 |
msgid "Views Navigation"
|
7221 |
msgstr ""
|
7222 |
|
7223 |
-
#: src/views/v2/components/read-more.php:
|
7224 |
msgid "Continue Reading"
|
7225 |
msgstr ""
|
7226 |
|
7227 |
-
#: src/views/v2/components/top-bar/nav/next-disabled.php:
|
7228 |
-
#: src/views/v2/components/top-bar/nav/next-disabled.php:
|
7229 |
#: src/views/v2/components/top-bar/nav/next.php:22
|
7230 |
#: src/views/v2/components/top-bar/nav/next.php:23
|
7231 |
msgid "Next"
|
7232 |
msgstr ""
|
7233 |
|
7234 |
-
#: src/views/v2/components/top-bar/nav/prev-disabled.php:
|
7235 |
-
#: src/views/v2/components/top-bar/nav/prev-disabled.php:
|
7236 |
msgid "Prev"
|
7237 |
msgstr ""
|
7238 |
|
@@ -7241,28 +7406,13 @@ msgstr ""
|
|
7241 |
msgid "Previous"
|
7242 |
msgstr ""
|
7243 |
|
7244 |
-
#: src/views/v2/day/
|
7245 |
-
#: src/views/v2/
|
7246 |
-
#: src/views/v2/
|
7247 |
-
#: src/views/v2/month/calendar-body/day/calendar-events/calendar-event/date.php:25
|
7248 |
-
#: src/views/v2/month/calendar-body/day/calendar-events/calendar-event/date.php:26
|
7249 |
-
#: src/views/v2/month/calendar-body/day/multiday-events/multiday-event.php:99
|
7250 |
-
#: src/views/v2/month/calendar-body/day/multiday-events/multiday-event.php:100
|
7251 |
-
#: src/views/v2/month/calendar-body/day/multiday-events/multiday-event.php:114
|
7252 |
-
#: src/views/v2/month/calendar-body/day/multiday-events/multiday-event.php:115
|
7253 |
-
#: src/views/v2/month/mobile-events/mobile-day/mobile-event/date.php:27
|
7254 |
-
#: src/views/v2/month/mobile-events/mobile-day/mobile-event/date.php:28
|
7255 |
-
#: src/views/v2/month/mobile-events/mobile-day/mobile-event/date.php:32
|
7256 |
-
msgid "Featured"
|
7257 |
-
msgstr ""
|
7258 |
-
|
7259 |
-
#: src/views/v2/day/top-bar/datepicker.php:46
|
7260 |
-
#: src/views/v2/list/top-bar/datepicker.php:67
|
7261 |
-
#: src/views/v2/month/top-bar/datepicker.php:43
|
7262 |
msgid "Select date."
|
7263 |
msgstr ""
|
7264 |
|
7265 |
-
#: src/views/v2/day.php:
|
7266 |
msgid "Loading..."
|
7267 |
msgstr ""
|
7268 |
|
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 4.9.13\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/the-events-"
|
7 |
"calendar\n"
|
8 |
+
"POT-Creation-Date: 2019-12-10 00:35:20+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: 2019-12-10 00:35\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:4152
|
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:2010
|
61 |
+
#: src/Tribe/Main.php:5248 src/Tribe/Main.php:5295 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:4200
|
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:2029
|
158 |
msgid "%s Categories"
|
159 |
msgstr ""
|
160 |
|
176 |
msgstr ""
|
177 |
|
178 |
#: src/Tribe/Aggregator/API/Origins.php:36
|
179 |
+
#: src/Tribe/Aggregator/Admin_Bar.php:97 src/Tribe/Aggregator/Service.php:854
|
180 |
msgid "CSV File"
|
181 |
msgstr ""
|
182 |
|
272 |
"The image associated with your event could not be attached to the event."
|
273 |
msgstr ""
|
274 |
|
275 |
+
#: src/Tribe/Aggregator/Errors.php:46 src/Tribe/Aggregator/Service.php:716
|
276 |
msgid ""
|
277 |
"The daily limit of %d import requests to the Event Aggregator service has "
|
278 |
"been reached. Please try again later."
|
1037 |
msgstr ""
|
1038 |
|
1039 |
#: src/Tribe/Aggregator/Service.php:693
|
1040 |
+
msgid "read more about Facebook restrictions in our knowledgebase"
|
1041 |
+
msgstr ""
|
1042 |
+
|
1043 |
+
#: src/Tribe/Aggregator/Service.php:698
|
1044 |
+
msgid "https://m.tri.be/1afb"
|
1045 |
+
msgstr ""
|
1046 |
+
|
1047 |
+
#: src/Tribe/Aggregator/Service.php:703
|
1048 |
msgid "Sorry, but something went wrong. Please try again."
|
1049 |
msgstr ""
|
1050 |
|
1051 |
+
#: src/Tribe/Aggregator/Service.php:704
|
1052 |
msgid "Events could not be imported. The import parameters were invalid."
|
1053 |
msgstr ""
|
1054 |
|
1055 |
+
#: src/Tribe/Aggregator/Service.php:705
|
1056 |
msgid ""
|
1057 |
"Events cannot be imported because Eventbrite has returned an error. This "
|
1058 |
"could mean that the event ID does not exist, the event or source is marked "
|
1062 |
"in our knowledgebase</a>."
|
1063 |
msgstr ""
|
1064 |
|
1065 |
+
#: src/Tribe/Aggregator/Service.php:706
|
1066 |
msgid "No upcoming Eventbrite events found."
|
1067 |
msgstr ""
|
1068 |
|
1069 |
+
#: src/Tribe/Aggregator/Service.php:707
|
1070 |
msgid "The URL provided could not be reached."
|
1071 |
msgstr ""
|
1072 |
|
1073 |
+
#: src/Tribe/Aggregator/Service.php:708
|
1074 |
msgid "The URL provided failed to load."
|
1075 |
msgstr ""
|
1076 |
|
1077 |
+
#: src/Tribe/Aggregator/Service.php:709
|
1078 |
msgid "The image associated with your event could not be imported."
|
1079 |
msgstr ""
|
1080 |
|
1081 |
+
#: src/Tribe/Aggregator/Service.php:710
|
1082 |
msgid ""
|
1083 |
"The image associated with your event is not accessible with your API key."
|
1084 |
msgstr ""
|
1085 |
|
1086 |
+
#: src/Tribe/Aggregator/Service.php:711
|
1087 |
msgid ""
|
1088 |
"The import failed for an unknown reason. Please try again. If the problem "
|
1089 |
"persists, please contact support."
|
1090 |
msgstr ""
|
1091 |
|
1092 |
+
#: src/Tribe/Aggregator/Service.php:712
|
1093 |
msgid ""
|
1094 |
"Events could not be imported. The URL provided did not have events in the "
|
1095 |
"proper format."
|
1096 |
msgstr ""
|
1097 |
|
1098 |
+
#: src/Tribe/Aggregator/Service.php:713
|
1099 |
msgid ""
|
1100 |
"The file provided could not be opened. Please confirm that it is a properly "
|
1101 |
"formatted .ics file."
|
1102 |
msgstr ""
|
1103 |
|
1104 |
+
#: src/Tribe/Aggregator/Service.php:714
|
1105 |
msgid "Your Meetup API key is invalid."
|
1106 |
msgstr ""
|
1107 |
|
1108 |
+
#: src/Tribe/Aggregator/Service.php:715
|
1109 |
msgid ""
|
1110 |
"Event Aggregator cannot reach Meetup.com because you exceeded the request "
|
1111 |
"limit for your Meetup API key."
|
1112 |
msgstr ""
|
1113 |
|
1114 |
+
#: src/Tribe/Aggregator/Service.php:718
|
1115 |
msgid "The import is in progress."
|
1116 |
msgstr ""
|
1117 |
|
1118 |
+
#: src/Tribe/Aggregator/Service.php:720
|
1119 |
msgid "The import will be starting soon."
|
1120 |
msgstr ""
|
1121 |
|
1122 |
+
#: src/Tribe/Aggregator/Service.php:722
|
1123 |
msgid "Success"
|
1124 |
msgstr ""
|
1125 |
|
1126 |
+
#: src/Tribe/Aggregator/Service.php:723
|
1127 |
msgid "Import created"
|
1128 |
msgstr ""
|
1129 |
|
1130 |
+
#: src/Tribe/Aggregator/Service.php:724
|
1131 |
msgid "Successfully fetched Eventbrite Token"
|
1132 |
msgstr ""
|
1133 |
|
1134 |
+
#: src/Tribe/Aggregator/Service.php:725
|
1135 |
msgid "Successfully loaded import origins"
|
1136 |
msgstr ""
|
1137 |
|
1138 |
+
#: src/Tribe/Aggregator/Service.php:726
|
1139 |
msgid "Import is complete"
|
1140 |
msgstr ""
|
1141 |
|
1142 |
+
#: src/Tribe/Aggregator/Service.php:727
|
1143 |
msgid "Import queued"
|
1144 |
msgstr ""
|
1145 |
|
1146 |
+
#: src/Tribe/Aggregator/Service.php:728
|
1147 |
msgid "Events could not be imported. The URL provided could not be reached."
|
1148 |
msgstr ""
|
1149 |
|
1150 |
+
#: src/Tribe/Aggregator/Service.php:729
|
1151 |
msgid ""
|
1152 |
"The requested source does not have any upcoming and published events "
|
1153 |
"matching the search criteria."
|
1154 |
msgstr ""
|
1155 |
|
1156 |
+
#: src/Tribe/Aggregator/Service.php:731
|
1157 |
msgctxt ""
|
1158 |
"The placeholder is for the localized version of the iCal UID specification "
|
1159 |
"link"
|
1165 |
"help them more quickly resolve their feed's UID issue."
|
1166 |
msgstr ""
|
1167 |
|
1168 |
+
#: src/Tribe/Aggregator/Service.php:740
|
1169 |
msgctxt ""
|
1170 |
"The placeholder is for the localized version of the iCal UID specification "
|
1171 |
"link"
|
1177 |
"help them more quickly resolve their feed's UID issue."
|
1178 |
msgstr ""
|
1179 |
|
1180 |
+
#: src/Tribe/Aggregator/Service.php:746
|
1181 |
+
msgid "Successfully fetched Facebook Token"
|
1182 |
+
msgstr ""
|
1183 |
+
|
1184 |
+
#: src/Tribe/Aggregator/Service.php:747
|
1185 |
+
msgid "Successfully connected to Eventbrite"
|
1186 |
+
msgstr ""
|
1187 |
+
|
1188 |
+
#: src/Tribe/Aggregator/Service.php:748
|
1189 |
+
msgid "Successfully disconnected Eventbrite"
|
1190 |
+
msgstr ""
|
1191 |
+
|
1192 |
+
#: src/Tribe/Aggregator/Service.php:749
|
1193 |
+
msgid "Successfully marked event for import from Eventbrite"
|
1194 |
+
msgstr ""
|
1195 |
+
|
1196 |
+
#: src/Tribe/Aggregator/Service.php:750
|
1197 |
+
msgid "Successfully synced event to Eventbrite"
|
1198 |
+
msgstr ""
|
1199 |
+
|
1200 |
+
#: src/Tribe/Aggregator/Service.php:751
|
1201 |
+
msgid ""
|
1202 |
+
"The import being fetched is not queued up for importing. Please try the "
|
1203 |
+
"import again."
|
1204 |
+
msgstr ""
|
1205 |
+
|
1206 |
+
#: src/Tribe/Aggregator/Service.php:753
|
1207 |
+
msgctxt "Placeholder used for the facebook restriction link"
|
1208 |
+
msgid ""
|
1209 |
+
"Events cannot be imported because Facebook has returned an error. This could "
|
1210 |
+
"mean that the event ID does not exist, the event or source is marked as "
|
1211 |
+
"Private, or the event or source has been otherwise restricted by Facebook. "
|
1212 |
+
"You can %1$s."
|
1213 |
+
msgstr ""
|
1214 |
+
|
1215 |
+
#: src/Tribe/Aggregator/Service.php:760
|
1216 |
+
msgid "Events cannot be imported because we received an error from Facebook: "
|
1217 |
+
msgstr ""
|
1218 |
+
|
1219 |
+
#: src/Tribe/Aggregator/Service.php:761
|
1220 |
+
msgid ""
|
1221 |
+
"Events cannot be imported because we received an error from Eventbrite: "
|
1222 |
+
msgstr ""
|
1223 |
+
|
1224 |
+
#: src/Tribe/Aggregator/Service.php:762
|
1225 |
+
msgid ""
|
1226 |
+
"Event cannot be synced to Eventbrite because we received an error from "
|
1227 |
+
"Eventbrite."
|
1228 |
+
msgstr ""
|
1229 |
+
|
1230 |
+
#: src/Tribe/Aggregator/Service.php:763
|
1231 |
+
msgid "Eventbrite token is not valid."
|
1232 |
+
msgstr ""
|
1233 |
+
|
1234 |
+
#: src/Tribe/Aggregator/Service.php:764 src/Tribe/Aggregator/Service.php:767
|
1235 |
+
msgid "Eventbrite parsed object is empty."
|
1236 |
+
msgstr ""
|
1237 |
+
|
1238 |
+
#: src/Tribe/Aggregator/Service.php:765
|
1239 |
+
msgid "Eventbrite parsed object type is empty."
|
1240 |
+
msgstr ""
|
1241 |
+
|
1242 |
+
#: src/Tribe/Aggregator/Service.php:766
|
1243 |
+
msgid "Eventbrite parsed object ID is empty."
|
1244 |
+
msgstr ""
|
1245 |
+
|
1246 |
+
#: src/Tribe/Aggregator/Service.php:768
|
1247 |
+
msgid "Eventbrite event not found."
|
1248 |
+
msgstr ""
|
1249 |
+
|
1250 |
+
#: src/Tribe/Aggregator/Service.php:769
|
1251 |
+
msgid "Eventbrite organizer not found."
|
1252 |
+
msgstr ""
|
1253 |
+
|
1254 |
+
#: src/Tribe/Aggregator/Service.php:770
|
1255 |
+
msgid "Eventbrite venue not found."
|
1256 |
+
msgstr ""
|
1257 |
+
|
1258 |
+
#: src/Tribe/Aggregator/Service.php:771
|
1259 |
+
msgid "Eventbrite user not found."
|
1260 |
+
msgstr ""
|
1261 |
+
|
1262 |
+
#: src/Tribe/Aggregator/Service.php:772
|
1263 |
+
msgid "Eventbrite sync data invalid."
|
1264 |
+
msgstr ""
|
1265 |
+
|
1266 |
+
#: src/Tribe/Aggregator/Service.php:773
|
1267 |
+
msgid ""
|
1268 |
+
"You do not have an active connection to Eventbrite through your account and "
|
1269 |
+
"Event Aggregator."
|
1270 |
+
msgstr ""
|
1271 |
+
|
1272 |
+
#: src/Tribe/Aggregator/Service.php:774
|
1273 |
+
msgid "Webhook not registered properly."
|
1274 |
+
msgstr ""
|
1275 |
+
|
1276 |
+
#: src/Tribe/Aggregator/Service.php:775
|
1277 |
+
msgid "This webhook action is not currently supported."
|
1278 |
+
msgstr ""
|
1279 |
+
|
1280 |
+
#: src/Tribe/Aggregator/Service.php:776
|
1281 |
+
msgid "Event not owned, you cannot edit it."
|
1282 |
+
msgstr ""
|
1283 |
+
|
1284 |
+
#: src/Tribe/Aggregator/Service.php:778
|
1285 |
+
msgctxt "Placeholder used for the meetup API changes"
|
1286 |
+
msgid ""
|
1287 |
+
"Meetup is no longer supporting API keys, and will restrict access using your "
|
1288 |
+
"existing key starting from August 2019. As an alternative, you should use "
|
1289 |
+
"OAuth2 and update The Events Calendar to the latest version. Learn more at "
|
1290 |
+
"%1$s"
|
1291 |
+
msgstr ""
|
1292 |
+
|
1293 |
+
#: src/Tribe/Aggregator/Service.php:786
|
1294 |
+
msgctxt ""
|
1295 |
+
"Placeholder used for the meetup API changes link when the KEY is plain"
|
1296 |
+
msgid ""
|
1297 |
+
"Meetup is no longer supporting API keys, and has restricted access using "
|
1298 |
+
"your existing key starting from August 2019. As an alternative, you must use "
|
1299 |
+
"OAuth2 and update The Events Calendar to the latest version. Learn more at "
|
1300 |
+
"%1$s."
|
1301 |
+
msgstr ""
|
1302 |
+
|
1303 |
+
#: src/Tribe/Aggregator/Service.php:793
|
1304 |
+
msgid ""
|
1305 |
+
"You do not have an active connection to Meetup through your account and "
|
1306 |
+
"Event Aggregator."
|
1307 |
+
msgstr ""
|
1308 |
+
|
1309 |
+
#: src/Tribe/Aggregator/Service.php:810
|
1310 |
msgid "Unknown service message"
|
1311 |
msgstr ""
|
1312 |
|
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:128
|
2039 |
+
#: src/Tribe/Views/V2/Template_Bootstrap.php:160
|
2040 |
msgid "This %s has passed."
|
2041 |
msgstr ""
|
2042 |
|
2639 |
msgid "Upcoming Events"
|
2640 |
msgstr ""
|
2641 |
|
2642 |
+
#. #-#-#-#-# the-events-calendar.pot (The Events Calendar 4.9.13) #-#-#-#-#
|
2643 |
#. Plugin Name of the plugin/theme
|
2644 |
+
#: src/Tribe/Main.php:910 src/Tribe/Main.php:1365 src/Tribe/Privacy.php:29
|
2645 |
#: src/functions/template-tags/general.php:1358 the-events-calendar.php:56
|
2646 |
msgid "The Events Calendar"
|
2647 |
msgstr ""
|
2648 |
|
2649 |
+
#: src/Tribe/Main.php:917
|
2650 |
msgid "month"
|
2651 |
msgstr ""
|
2652 |
|
2653 |
+
#: src/Tribe/Main.php:918
|
2654 |
msgid "list"
|
2655 |
msgstr ""
|
2656 |
|
2657 |
+
#: src/Tribe/Main.php:919
|
2658 |
msgid "upcoming"
|
2659 |
msgstr ""
|
2660 |
|
2661 |
+
#: src/Tribe/Main.php:920
|
2662 |
msgid "past"
|
2663 |
msgstr ""
|
2664 |
|
2665 |
+
#: src/Tribe/Main.php:921
|
2666 |
msgid "day"
|
2667 |
msgstr ""
|
2668 |
|
2669 |
+
#: src/Tribe/Main.php:922
|
2670 |
msgid "today"
|
2671 |
msgstr ""
|
2672 |
|
2673 |
+
#: src/Tribe/Main.php:923
|
2674 |
msgctxt "featured events slug"
|
2675 |
msgid "featured"
|
2676 |
msgstr ""
|
2677 |
|
2678 |
+
#: src/Tribe/Main.php:924
|
2679 |
msgctxt "all events slug"
|
2680 |
msgid "all"
|
2681 |
msgstr ""
|
2682 |
|
2683 |
+
#: src/Tribe/Main.php:948
|
2684 |
msgid "Initializing Tribe Events on %s"
|
2685 |
msgstr ""
|
2686 |
|
2687 |
+
#: src/Tribe/Main.php:1006 src/Tribe/Main.php:1008
|
2688 |
msgid "Welcome to The Events Calendar!"
|
2689 |
msgstr ""
|
2690 |
|
2691 |
+
#: src/Tribe/Main.php:1154
|
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:1157
|
2698 |
msgid "Ask the site administrator to edit the %s slug"
|
2699 |
msgstr ""
|
2700 |
|
2701 |
+
#: src/Tribe/Main.php:1159
|
2702 |
msgid "Edit the %s slug"
|
2703 |
msgstr ""
|
2704 |
|
2705 |
+
#: src/Tribe/Main.php:1163
|
2706 |
msgid " ask the site administrator set a different Events URL slug."
|
2707 |
msgstr ""
|
2708 |
|
2709 |
+
#: src/Tribe/Main.php:1168
|
2710 |
msgid "edit Events settings."
|
2711 |
msgstr ""
|
2712 |
|
2713 |
+
#: src/Tribe/Main.php:1171
|
2714 |
msgid "%1$s or %2$s"
|
2715 |
msgstr ""
|
2716 |
|
2717 |
+
#: src/Tribe/Main.php:1240
|
2718 |
msgid "Upgrade your calendar views"
|
2719 |
msgstr ""
|
2720 |
|
2721 |
+
#: src/Tribe/Main.php:1276
|
2722 |
msgid "Upgrade"
|
2723 |
msgstr ""
|
2724 |
|
2725 |
+
#: src/Tribe/Main.php:1325 src/admin-views/admin-welcome-message.php:19
|
2726 |
msgid "New User Primer"
|
2727 |
msgstr ""
|
2728 |
|
2729 |
+
#: src/Tribe/Main.php:1327
|
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:1338
|
2737 |
msgid "Support for The Events Calendar"
|
2738 |
msgstr ""
|
2739 |
|
2740 |
+
#: src/Tribe/Main.php:1341
|
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:1341
|
2747 |
msgid "Settings overview"
|
2748 |
msgstr ""
|
2749 |
|
2750 |
+
#: src/Tribe/Main.php:1343
|
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:1343
|
2757 |
msgid "Features overview"
|
2758 |
msgstr ""
|
2759 |
|
2760 |
+
#: src/Tribe/Main.php:1345
|
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:1345
|
2767 |
msgid "Themer’s Guide"
|
2768 |
msgstr ""
|
2769 |
|
2770 |
+
#: src/Tribe/Main.php:1347
|
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:1347
|
2777 |
msgid "Using stylesheets and page templates"
|
2778 |
msgstr ""
|
2779 |
|
2780 |
+
#: src/Tribe/Main.php:1349
|
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:1349
|
2787 |
msgid "Troubleshooting common problems"
|
2788 |
msgstr ""
|
2789 |
|
2790 |
+
#: src/Tribe/Main.php:1351
|
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:1351
|
2797 |
msgid "Customizing the Events plugins"
|
2798 |
msgstr ""
|
2799 |
|
2800 |
+
#: src/Tribe/Main.php:1366
|
2801 |
msgid "Events Tickets"
|
2802 |
msgstr ""
|
2803 |
|
2804 |
+
#: src/Tribe/Main.php:1367
|
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:1369 src/Tribe/Main.php:1377
|
2812 |
msgid "premium support on our website"
|
2813 |
msgstr ""
|
2814 |
|
2815 |
+
#: src/Tribe/Main.php:1370
|
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:1374
|
2823 |
msgid "open-source forum on WordPress.org"
|
2824 |
msgstr ""
|
2825 |
|
2826 |
+
#: src/Tribe/Main.php:1375
|
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:1378
|
2834 |
msgid "Events Calendar PRO"
|
2835 |
msgstr ""
|
2836 |
|
2837 |
+
#: src/Tribe/Main.php:1379
|
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 |
"weekdays."
|
2843 |
msgstr ""
|
2844 |
|
2845 |
+
#: src/Tribe/Main.php:1383
|
2846 |
msgid "post a thread"
|
2847 |
msgstr ""
|
2848 |
|
2849 |
+
#: src/Tribe/Main.php:1384
|
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:1427
|
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:1435 src/admin-views/aggregator/tabs/import-form.php:208
|
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:1652
|
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:1655
|
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:1687
|
2881 |
msgid ""
|
2882 |
"To continue using The Events Calendar, please install the latest version of"
|
2883 |
msgstr ""
|
2884 |
|
2885 |
+
#: src/Tribe/Main.php:1689 src/Tribe/Main.php:1690
|
2886 |
msgid "Event Tickets"
|
2887 |
msgstr ""
|
2888 |
|
2889 |
+
#: src/Tribe/Main.php:1725
|
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:1961 src/Tribe/Main.php:2420
|
2896 |
msgid "category"
|
2897 |
msgstr ""
|
2898 |
|
2899 |
+
#: src/Tribe/Main.php:1975 src/Tribe/Main.php:2419
|
2900 |
msgid "tag"
|
2901 |
msgstr ""
|
2902 |
|
2903 |
+
#: src/Tribe/Main.php:2008 src/Tribe/Organizer.php:91 src/Tribe/Venue.php:110
|
2904 |
msgid "Add New"
|
2905 |
msgstr ""
|
2906 |
|
2907 |
+
#: src/Tribe/Main.php:2009 src/Tribe/Main.php:2146 src/Tribe/Main.php:2147
|
2908 |
#: src/Tribe/Organizer.php:92 src/Tribe/Venue.php:111
|
2909 |
msgid "Add New %s"
|
2910 |
msgstr ""
|
2911 |
|
2912 |
+
#: src/Tribe/Main.php:2011 src/Tribe/Organizer.php:94 src/Tribe/Venue.php:113
|
2913 |
msgid "New %s"
|
2914 |
msgstr ""
|
2915 |
|
2916 |
+
#: src/Tribe/Main.php:2012 src/Tribe/Organizer.php:95 src/Tribe/Venue.php:114
|
2917 |
#: src/views/month/single-day.php:26
|
2918 |
msgid "View %s"
|
2919 |
msgstr ""
|
2920 |
|
2921 |
+
#: src/Tribe/Main.php:2013 src/Tribe/Organizer.php:96 src/Tribe/Venue.php:115
|
2922 |
msgid "Search %s"
|
2923 |
msgstr ""
|
2924 |
|
2925 |
+
#: src/Tribe/Main.php:2014 src/Tribe/Organizer.php:97 src/Tribe/Venue.php:116
|
2926 |
msgid "No %s found"
|
2927 |
msgstr ""
|
2928 |
|
2929 |
+
#: src/Tribe/Main.php:2015 src/Tribe/Organizer.php:98 src/Tribe/Venue.php:117
|
2930 |
msgid "No %s found in Trash"
|
2931 |
msgstr ""
|
2932 |
|
2933 |
+
#: src/Tribe/Main.php:2016 src/Tribe/Main.php:2103 src/Tribe/Main.php:2123
|
2934 |
#: src/Tribe/Organizer.php:99 src/Tribe/Venue.php:118
|
2935 |
msgid "%s published."
|
2936 |
msgstr ""
|
2937 |
|
2938 |
+
#: src/Tribe/Main.php:2017 src/Tribe/Organizer.php:100 src/Tribe/Venue.php:119
|
2939 |
msgid "%s published privately."
|
2940 |
msgstr ""
|
2941 |
|
2942 |
+
#: src/Tribe/Main.php:2018 src/Tribe/Organizer.php:101 src/Tribe/Venue.php:120
|
2943 |
msgid "%s reverted to draft."
|
2944 |
msgstr ""
|
2945 |
|
2946 |
+
#: src/Tribe/Main.php:2019 src/Tribe/Organizer.php:102 src/Tribe/Venue.php:121
|
2947 |
msgid "%s scheduled."
|
2948 |
msgstr ""
|
2949 |
|
2950 |
+
#: src/Tribe/Main.php:2020 src/Tribe/Main.php:2062 src/Tribe/Main.php:2097
|
2951 |
+
#: src/Tribe/Main.php:2100 src/Tribe/Main.php:2117 src/Tribe/Main.php:2120
|
2952 |
#: src/Tribe/Organizer.php:103 src/Tribe/Venue.php:122
|
2953 |
msgid "%s updated."
|
2954 |
msgstr ""
|
2955 |
|
2956 |
+
#: src/Tribe/Main.php:2030
|
2957 |
msgid "%s Category"
|
2958 |
msgstr ""
|
2959 |
|
2960 |
+
#: src/Tribe/Main.php:2031
|
2961 |
msgid "Search %s Categories"
|
2962 |
msgstr ""
|
2963 |
|
2964 |
+
#: src/Tribe/Main.php:2032
|
2965 |
msgid "All %s Categories"
|
2966 |
msgstr ""
|
2967 |
|
2968 |
+
#: src/Tribe/Main.php:2033
|
2969 |
msgid "Parent %s Category"
|
2970 |
msgstr ""
|
2971 |
|
2972 |
+
#: src/Tribe/Main.php:2034
|
2973 |
msgid "Parent %s Category:"
|
2974 |
msgstr ""
|
2975 |
|
2976 |
+
#: src/Tribe/Main.php:2035
|
2977 |
msgid "Edit %s Category"
|
2978 |
msgstr ""
|
2979 |
|
2980 |
+
#: src/Tribe/Main.php:2036
|
2981 |
msgid "Update %s Category"
|
2982 |
msgstr ""
|
2983 |
|
2984 |
+
#: src/Tribe/Main.php:2037
|
2985 |
msgid "Add New %s Category"
|
2986 |
msgstr ""
|
2987 |
|
2988 |
+
#: src/Tribe/Main.php:2038
|
2989 |
msgid "New %s Category Name"
|
2990 |
msgstr ""
|
2991 |
|
2992 |
+
#: src/Tribe/Main.php:2055
|
2993 |
msgid "%1$s updated. %2$sView %1$s%3$s"
|
2994 |
msgstr ""
|
2995 |
|
2996 |
+
#: src/Tribe/Main.php:2060 src/Tribe/Main.php:2098 src/Tribe/Main.php:2118
|
2997 |
msgid "Custom field updated."
|
2998 |
msgstr ""
|
2999 |
|
3000 |
+
#: src/Tribe/Main.php:2061 src/Tribe/Main.php:2099 src/Tribe/Main.php:2119
|
3001 |
msgid "Custom field deleted."
|
3002 |
msgstr ""
|
3003 |
|
3004 |
#. translators: %s: date and time of the revision
|
3005 |
+
#: src/Tribe/Main.php:2064 src/Tribe/Main.php:2102
|
3006 |
msgid "%1$s restored to revision from %2$s"
|
3007 |
msgstr ""
|
3008 |
|
3009 |
+
#: src/Tribe/Main.php:2066
|
3010 |
msgid "%1$s published. %2$sView %3$s"
|
3011 |
msgstr ""
|
3012 |
|
3013 |
+
#: src/Tribe/Main.php:2071 src/Tribe/Main.php:2104 src/Tribe/Main.php:2124
|
3014 |
msgid "%s saved."
|
3015 |
msgstr ""
|
3016 |
|
3017 |
+
#: src/Tribe/Main.php:2073
|
3018 |
msgid "%1$s submitted. %2$sPreview %3$s"
|
3019 |
msgstr ""
|
3020 |
|
3021 |
+
#: src/Tribe/Main.php:2079
|
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:2082 src/Tribe/Main.php:2110 src/Tribe/Main.php:2130
|
3027 |
msgid "M j, Y @ G:i"
|
3028 |
msgstr ""
|
3029 |
|
3030 |
+
#: src/Tribe/Main.php:2088
|
3031 |
msgid "%1$s draft updated. %2$sPreview %3$s"
|
3032 |
msgstr ""
|
3033 |
|
3034 |
+
#: src/Tribe/Main.php:2105 src/Tribe/Main.php:2125
|
3035 |
msgid "%s submitted."
|
3036 |
msgstr ""
|
3037 |
|
3038 |
+
#: src/Tribe/Main.php:2107 src/Tribe/Main.php:2127
|
3039 |
msgid "%1$s scheduled for: %2$s."
|
3040 |
msgstr ""
|
3041 |
|
3042 |
+
#: src/Tribe/Main.php:2112 src/Tribe/Main.php:2132
|
3043 |
msgid "%s draft updated."
|
3044 |
msgstr ""
|
3045 |
|
3046 |
#. translators: %s: date and time of the revision
|
3047 |
+
#: src/Tribe/Main.php:2122
|
3048 |
msgid "%s restored to revision from %s"
|
3049 |
msgstr ""
|
3050 |
|
3051 |
+
#: src/Tribe/Main.php:2176
|
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:2421
|
3058 |
msgid "page"
|
3059 |
msgstr ""
|
3060 |
|
3061 |
+
#: src/Tribe/Main.php:2422 src/functions/template-tags/general.php:79
|
3062 |
msgid "event"
|
3063 |
msgstr ""
|
3064 |
|
3065 |
+
#: src/Tribe/Main.php:2423 src/functions/template-tags/general.php:111
|
3066 |
msgid "events"
|
3067 |
msgstr ""
|
3068 |
|
3069 |
+
#: src/Tribe/Main.php:2424
|
3070 |
msgid "all"
|
3071 |
msgstr ""
|
3072 |
|
3073 |
+
#: src/Tribe/Main.php:2815
|
3074 |
msgid " (View Full %1$s Description Here: %2$s)"
|
3075 |
msgstr ""
|
3076 |
|
3077 |
+
#: src/Tribe/Main.php:3625 src/Tribe/Main.php:3660
|
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:3702
|
3084 |
msgid "%s Options"
|
3085 |
msgstr ""
|
3086 |
|
3087 |
+
#: src/Tribe/Main.php:3711 src/Tribe/Main.php:3724
|
3088 |
msgid "%s Information"
|
3089 |
msgstr ""
|
3090 |
|
3091 |
+
#: src/Tribe/Main.php:4026
|
3092 |
msgid "Support"
|
3093 |
msgstr ""
|
3094 |
|
3095 |
+
#: src/Tribe/Main.php:4029
|
3096 |
msgid "View All Add-Ons"
|
3097 |
msgstr ""
|
3098 |
|
3099 |
+
#: src/Tribe/Main.php:4049
|
3100 |
msgid "News from Modern Tribe"
|
3101 |
msgstr ""
|
3102 |
|
3103 |
+
#: src/Tribe/Main.php:4094
|
3104 |
msgid "Additional Functionality"
|
3105 |
msgstr ""
|
3106 |
|
3107 |
+
#: src/Tribe/Main.php:4099
|
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:4100
|
3114 |
msgid "Check out the %savailable add-ons%s."
|
3115 |
msgstr ""
|
3116 |
|
3117 |
+
#: src/Tribe/Main.php:4201
|
3118 |
msgid "Calendar"
|
3119 |
msgstr ""
|
3120 |
|
3121 |
+
#: src/Tribe/Main.php:4217
|
3122 |
msgid "List"
|
3123 |
msgstr ""
|
3124 |
|
3125 |
+
#: src/Tribe/Main.php:4235
|
3126 |
msgid "Month"
|
3127 |
msgstr ""
|
3128 |
|
3129 |
+
#: src/Tribe/Main.php:4252 src/admin-views/aggregator/fields/schedule.php:44
|
3130 |
#: src/admin-views/aggregator/fields/schedule.php:62
|
3131 |
msgid "Day"
|
3132 |
msgstr ""
|
3133 |
|
3134 |
+
#: src/Tribe/Main.php:4275
|
3135 |
msgid "Search for %s by Keyword."
|
3136 |
msgstr ""
|
3137 |
|
3138 |
+
#: src/Tribe/Main.php:4278
|
3139 |
#: src/views/v2/components/events-bar/search-button.php:25
|
3140 |
msgid "Search"
|
3141 |
msgstr ""
|
3142 |
|
3143 |
+
#: src/Tribe/Main.php:4279
|
3144 |
msgid "Keyword"
|
3145 |
msgstr ""
|
3146 |
|
3147 |
+
#: src/Tribe/Main.php:4296
|
3148 |
msgid "4 digit year hyphen 2 digit month hyphen 2 digit day"
|
3149 |
msgstr ""
|
3150 |
|
3151 |
+
#: src/Tribe/Main.php:4297
|
3152 |
msgid "1 digit month slash 1 digit day slash 4 digit year"
|
3153 |
msgstr ""
|
3154 |
|
3155 |
+
#: src/Tribe/Main.php:4298
|
3156 |
msgid "2 digit month slash 2 digit day slash 4 digit year"
|
3157 |
msgstr ""
|
3158 |
|
3159 |
+
#: src/Tribe/Main.php:4299
|
3160 |
msgid "1 digit day slash 1 digit month slash 4 digit year"
|
3161 |
msgstr ""
|
3162 |
|
3163 |
+
#: src/Tribe/Main.php:4300
|
3164 |
msgid "2 digit day slash 2 digit month slash 4 digit year"
|
3165 |
msgstr ""
|
3166 |
|
3167 |
+
#: src/Tribe/Main.php:4301
|
3168 |
msgid "1 digit month hyphen 1 digit day hyphen 4 digit year"
|
3169 |
msgstr ""
|
3170 |
|
3171 |
+
#: src/Tribe/Main.php:4302
|
3172 |
msgid "1 digit month hyphen 2 digit day hyphen 4 digit year"
|
3173 |
msgstr ""
|
3174 |
|
3175 |
+
#: src/Tribe/Main.php:4303
|
3176 |
msgid "1 digit day hyphen 1 digit month hyphen 4 digit year"
|
3177 |
msgstr ""
|
3178 |
|
3179 |
+
#: src/Tribe/Main.php:4304
|
3180 |
msgid "2 digit day hyphen 2 digit month hyphen 4 digit year"
|
3181 |
msgstr ""
|
3182 |
|
3183 |
+
#: src/Tribe/Main.php:4305
|
3184 |
msgid "4 digit year dot 2 digit month dot 2 digit day"
|
3185 |
msgstr ""
|
3186 |
|
3187 |
+
#: src/Tribe/Main.php:4306
|
3188 |
msgid "2 digit month dot 2 digit day dot 4 digit year"
|
3189 |
msgstr ""
|
3190 |
|
3191 |
+
#: src/Tribe/Main.php:4307
|
3192 |
msgid "2 digit day dot 2 digit month dot 4 digit year"
|
3193 |
msgstr ""
|
3194 |
|
3195 |
+
#: src/Tribe/Main.php:4311
|
3196 |
msgid "4 digit year hyphen 2 digit month"
|
3197 |
msgstr ""
|
3198 |
|
3199 |
+
#: src/Tribe/Main.php:4312 src/Tribe/Main.php:4314
|
3200 |
msgid "1 digit month slash 4 digit year"
|
3201 |
msgstr ""
|
3202 |
|
3203 |
+
#: src/Tribe/Main.php:4313 src/Tribe/Main.php:4315
|
3204 |
msgid "2 digit month slash 4 digit year"
|
3205 |
msgstr ""
|
3206 |
|
3207 |
+
#: src/Tribe/Main.php:4316 src/Tribe/Main.php:4317 src/Tribe/Main.php:4318
|
3208 |
msgid "1 digit month hyphen 4 digit year"
|
3209 |
msgstr ""
|
3210 |
|
3211 |
+
#: src/Tribe/Main.php:4319
|
3212 |
msgid "2 digit month hyphen 4 digit year"
|
3213 |
msgstr ""
|
3214 |
|
3215 |
+
#: src/Tribe/Main.php:4320
|
3216 |
msgid "4 digit year dot 2 digit month"
|
3217 |
msgstr ""
|
3218 |
|
3219 |
+
#: src/Tribe/Main.php:4321 src/Tribe/Main.php:4322
|
3220 |
msgid "2 digit month dot 4 digit year"
|
3221 |
msgstr ""
|
3222 |
|
3223 |
+
#: src/Tribe/Main.php:4351 src/Tribe/Main.php:4388
|
3224 |
#: src/admin-views/aggregator/origins/refine.php:7
|
3225 |
msgid "Date"
|
3226 |
msgstr ""
|
3227 |
|
3228 |
+
#: src/Tribe/Main.php:4353
|
3229 |
msgid "Search for %s by Date. Please use the format %s."
|
3230 |
msgstr ""
|
3231 |
|
3232 |
+
#: src/Tribe/Main.php:4366
|
3233 |
msgid "%s In"
|
3234 |
msgstr ""
|
3235 |
|
3236 |
+
#: src/Tribe/Main.php:4368
|
3237 |
msgid "Search for %s by month. Please use the format %s."
|
3238 |
msgstr ""
|
3239 |
|
3240 |
+
#: src/Tribe/Main.php:4371
|
3241 |
msgid "%s From"
|
3242 |
msgstr ""
|
3243 |
|
3244 |
+
#: src/Tribe/Main.php:4374
|
3245 |
msgid "Day Of"
|
3246 |
msgstr ""
|
3247 |
|
3248 |
+
#: src/Tribe/Main.php:4454
|
3249 |
msgid "Once Every 30 Mins"
|
3250 |
msgstr ""
|
3251 |
|
3252 |
+
#: src/Tribe/Main.php:5181
|
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:5193
|
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:5232 src/Tribe/Main.php:5289
|
3266 |
msgid "Use Saved %s:"
|
3267 |
msgstr ""
|
3268 |
|
4641 |
msgid "km"
|
4642 |
msgstr ""
|
4643 |
|
4644 |
+
#: src/Tribe/Venue.php:173 src/functions/template-tags/venue.php:143
|
4645 |
msgid "Venue"
|
4646 |
msgstr ""
|
4647 |
|
4648 |
#: src/Tribe/Venue.php:182
|
4649 |
#: src/deprecated/Tribe__Events__Importer__Admin_Page.php:205
|
4650 |
+
#: src/functions/template-tags/venue.php:162
|
4651 |
msgid "Venues"
|
4652 |
msgstr ""
|
4653 |
|
4664 |
msgid "Location"
|
4665 |
msgstr ""
|
4666 |
|
4667 |
+
#: src/Tribe/Venue.php:325 src/functions/template-tags/venue.php:465
|
4668 |
msgid "United States"
|
4669 |
msgstr ""
|
4670 |
|
4672 |
msgid "Unnamed Venue"
|
4673 |
msgstr ""
|
4674 |
|
4675 |
+
#: src/Tribe/Views/V2/Hooks.php:367
|
4676 |
msgid "We recommend a 16:9 aspect ratio for featured images."
|
4677 |
msgstr ""
|
4678 |
|
4679 |
+
#: src/Tribe/Views/V2/Hooks.php:409
|
4680 |
+
msgid "Recommended for all sites using the updated calendar views."
|
4681 |
+
msgstr ""
|
4682 |
+
|
4683 |
+
#: src/Tribe/Views/V2/Hooks.php:424
|
4684 |
+
msgid "The Events Calendar - View V2"
|
4685 |
+
msgstr ""
|
4686 |
+
|
4687 |
#. translators: the placeholder is the keyword(s), as the user entered it in
|
4688 |
#. the bar.
|
4689 |
#: src/Tribe/Views/V2/Messages.php:95
|
4704 |
msgid "No events scheduled for %s. Please try another day."
|
4705 |
msgstr ""
|
4706 |
|
4707 |
+
#: src/Tribe/Views/V2/Template/Title.php:106
|
4708 |
#: src/functions/template-tags/loop.php:177
|
4709 |
msgctxt "featured events title"
|
4710 |
msgid "Featured %s"
|
4711 |
msgstr ""
|
4712 |
|
4713 |
+
#: src/Tribe/Views/V2/Template/Title.php:116
|
4714 |
#: src/functions/template-tags/loop.php:187
|
4715 |
msgid "Upcoming %s"
|
4716 |
msgstr ""
|
4717 |
|
4718 |
+
#: src/Tribe/Views/V2/Template/Title.php:126
|
4719 |
#: src/functions/template-tags/loop.php:204
|
4720 |
msgid "Past %s"
|
4721 |
msgstr ""
|
4722 |
|
4723 |
+
#: src/Tribe/Views/V2/Template/Title.php:209
|
4724 |
#: src/functions/template-tags/loop.php:202
|
4725 |
msgid "%1$s for %2$s - %3$s"
|
4726 |
msgstr ""
|
4727 |
|
4728 |
+
#: src/Tribe/Views/V2/Template/Title.php:310
|
4729 |
#: src/functions/template-tags/loop.php:209
|
4730 |
msgctxt "month view"
|
4731 |
msgid "%1$s for %2$s"
|
4732 |
msgstr ""
|
4733 |
|
4734 |
+
#: src/Tribe/Views/V2/Template/Title.php:337
|
4735 |
#: src/functions/template-tags/loop.php:218
|
4736 |
msgctxt "day_view"
|
4737 |
msgid "%1$s for %2$s"
|
4738 |
msgstr ""
|
4739 |
|
4740 |
+
#: src/Tribe/Views/V2/View.php:1626 src/views/v2/day/event/date.php:27
|
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
|
4744 |
+
#: src/views/v2/month/calendar-body/day/calendar-events/calendar-event/date.php:27
|
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:93
|
4749 |
+
#: src/views/v2/month/calendar-body/day/multiday-events/multiday-event.php:94
|
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:1711 src/Tribe/iCal.php:162
|
4759 |
+
msgid "Export Events"
|
4760 |
+
msgstr ""
|
4761 |
+
|
4762 |
+
#: src/Tribe/Views/V2/View.php:1713 src/Tribe/iCal.php:163
|
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"
|
4794 |
msgid "Download .ics file"
|
4795 |
msgstr ""
|
4796 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4797 |
#: src/Tribe/iCal.php:410
|
4798 |
msgctxt "iCal feed description"
|
4799 |
msgid "Events for %s"
|
5346 |
msgid "Radius (%s)"
|
5347 |
msgstr ""
|
5348 |
|
5349 |
+
#: src/admin-views/aggregator/origins/refine.php:21
|
5350 |
msgid ""
|
5351 |
"Use the filters to narrow down which events are fetched from your ICS file."
|
5352 |
msgstr ""
|
5353 |
|
5354 |
+
#: src/admin-views/aggregator/origins/refine.php:25
|
5355 |
msgid ""
|
5356 |
"Use the filters to narrow down which events are fetched from this Google "
|
5357 |
"Calendar."
|
5358 |
msgstr ""
|
5359 |
|
5360 |
+
#: src/admin-views/aggregator/origins/refine.php:29
|
5361 |
msgid "Use the filters to narrow down which events are fetched from this site."
|
5362 |
msgstr ""
|
5363 |
|
5364 |
+
#: src/admin-views/aggregator/origins/refine.php:33
|
5365 |
msgid ""
|
5366 |
"Use the filters to narrow down which events are fetched from Eventbrite."
|
5367 |
msgstr ""
|
5368 |
|
5369 |
+
#: src/admin-views/aggregator/origins/refine.php:49
|
5370 |
msgid ""
|
5371 |
"Use the filters to narrow down which events are fetched from this iCalendar "
|
5372 |
"feed."
|
5373 |
msgstr ""
|
5374 |
|
5375 |
+
#: src/admin-views/aggregator/origins/refine.php:74
|
5376 |
msgid "Refine:"
|
5377 |
msgstr ""
|
5378 |
|
5379 |
+
#: src/admin-views/aggregator/origins/refine.php:104
|
5380 |
msgid "Start date for Eventbrite Tickets is Required"
|
5381 |
msgstr ""
|
5382 |
|
5383 |
+
#: src/admin-views/aggregator/origins/refine.php:112
|
5384 |
msgid "Events on or after"
|
5385 |
msgstr ""
|
5386 |
|
7248 |
"plural, and this singular.%3$sYour single Event URL is like: %4$s"
|
7249 |
msgstr ""
|
7250 |
|
7251 |
+
#: src/functions/template-tags/venue.php:865
|
7252 |
#: src/views/v2/day/event/venue.php:23 src/views/v2/list/event/venue.php:23
|
7253 |
msgctxt "Address separator"
|
7254 |
msgid ", "
|
7324 |
|
7325 |
#: src/views/modules/bar.php:74
|
7326 |
#: src/views/v2/components/events-bar/search/submit.php:21
|
7327 |
+
#: src/views/v2/components/top-bar/datepicker/submit.php:27
|
7328 |
msgid "Find %s"
|
7329 |
msgstr ""
|
7330 |
|
7385 |
msgid "Views Navigation"
|
7386 |
msgstr ""
|
7387 |
|
7388 |
+
#: src/views/v2/components/read-more.php:22
|
7389 |
msgid "Continue Reading"
|
7390 |
msgstr ""
|
7391 |
|
7392 |
+
#: src/views/v2/components/top-bar/nav/next-disabled.php:19
|
7393 |
+
#: src/views/v2/components/top-bar/nav/next-disabled.php:20
|
7394 |
#: src/views/v2/components/top-bar/nav/next.php:22
|
7395 |
#: src/views/v2/components/top-bar/nav/next.php:23
|
7396 |
msgid "Next"
|
7397 |
msgstr ""
|
7398 |
|
7399 |
+
#: src/views/v2/components/top-bar/nav/prev-disabled.php:19
|
7400 |
+
#: src/views/v2/components/top-bar/nav/prev-disabled.php:20
|
7401 |
msgid "Prev"
|
7402 |
msgstr ""
|
7403 |
|
7406 |
msgid "Previous"
|
7407 |
msgstr ""
|
7408 |
|
7409 |
+
#: src/views/v2/day/top-bar/datepicker.php:58
|
7410 |
+
#: src/views/v2/list/top-bar/datepicker.php:79
|
7411 |
+
#: src/views/v2/month/top-bar/datepicker.php:55
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7412 |
msgid "Select date."
|
7413 |
msgstr ""
|
7414 |
|
7415 |
+
#: src/views/v2/day.php:35 src/views/v2/list.php:35 src/views/v2/month.php:34
|
7416 |
msgid "Loading..."
|
7417 |
msgstr ""
|
7418 |
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Contributors: ModernTribe, borkweb, barry.hughes, bordoni, brianjessee, aguseo,
|
|
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
|
7 |
-
Stable tag: 4.9.
|
8 |
Tested up to: 5.3
|
9 |
Requires PHP: 5.6
|
10 |
License: GPLv2 or later
|
@@ -215,6 +215,11 @@ Still not happy? Shoot us an email to support@theeventscalendar.com or tweet to
|
|
215 |
|
216 |
== Changelog ==
|
217 |
|
|
|
|
|
|
|
|
|
|
|
218 |
= [4.9.12] 2019-11-20 =
|
219 |
|
220 |
* Fix - Blocks Editor date time saving correctly for WordPress 5.3 compatibility. [137421]
|
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
|
7 |
+
Stable tag: 4.9.13
|
8 |
Tested up to: 5.3
|
9 |
Requires PHP: 5.6
|
10 |
License: GPLv2 or later
|
215 |
|
216 |
== Changelog ==
|
217 |
|
218 |
+
= [4.9.13] 2019-12-10 =
|
219 |
+
|
220 |
+
* Tweak - Allow Event Aggregator date refinements for Eventbrite source.
|
221 |
+
* Language - 29 new strings added, 201 updated, 0 fuzzied, and 0 obsoleted
|
222 |
+
|
223 |
= [4.9.12] 2019-11-20 =
|
224 |
|
225 |
* Fix - Blocks Editor date time saving correctly for WordPress 5.3 compatibility. [137421]
|
src/Tribe/Aggregator/Service.php
CHANGED
@@ -688,36 +688,46 @@ class Tribe__Events__Aggregator__Service {
|
|
688 |
esc_html__( 'the UID part of the iCalendar Specification', 'the-events-calendar' )
|
689 |
);
|
690 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
691 |
$this->service_messages = [
|
692 |
/* Error */
|
693 |
-
'error:create-import-failed'
|
694 |
-
'error:create-import-invalid-params'
|
695 |
-
'error:eb-permissions'
|
696 |
-
'error:eb-no-results'
|
697 |
-
'error:fetch-404'
|
698 |
-
'error:fetch-failed'
|
699 |
-
'error:get-image'
|
700 |
-
'error:get-image-bad-association'
|
701 |
-
'error:import-failed'
|
702 |
-
'error:invalid-ical-url'
|
703 |
-
'error:invalid-ics-file'
|
704 |
-
'error:meetup-api-key'
|
705 |
-
'error:meetup-api-quota'
|
706 |
-
'error:usage-limit-exceeded'
|
707 |
/* Fetching */
|
708 |
-
'fetching'
|
709 |
/* Queued */
|
710 |
-
'queued'
|
711 |
/* Success */
|
712 |
-
'success'
|
713 |
-
'success:create-import'
|
714 |
-
'success:eventbrite-get-token'
|
715 |
-
'success:get-origin'
|
716 |
-
'success:import-complete'
|
717 |
-
'success:queued'
|
718 |
-
'error:invalid-other-url'
|
719 |
-
'error:no-results'
|
720 |
-
'error:ical-missing-uids-schedule'
|
721 |
_x(
|
722 |
'Some events at the requested source are missing the UID attribute required by the iCalendar Specification. Creating a scheduled import would generate duplicate events on each import. Instead, please use a One-Time import or contact the source provider to fix the UID issue; linking them to %s may help them more quickly resolve their feed\'s UID issue.',
|
723 |
'The placeholder is for the localized version of the iCal UID specification link',
|
@@ -726,13 +736,61 @@ class Tribe__Events__Aggregator__Service {
|
|
726 |
$ical_uid_specification_link
|
727 |
),
|
728 |
/* Warning */
|
729 |
-
'warning:ical-missing-uids-manual'
|
730 |
_x(
|
731 |
'Some events at the requested source are missing the UID attribute required by the iCalendar Specification. One-Time and ICS File imports are allowed but successive imports will create duplicated events on your site. Please contact the source provider to fix the UID issue; linking them to %s may help them more quickly resolve their feed\'s UID issue.',
|
732 |
'The placeholder is for the localized version of the iCal UID specification link',
|
733 |
-
'the-events-calendar'
|
734 |
$ical_uid_specification_link
|
735 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
736 |
];
|
737 |
|
738 |
/**
|
@@ -764,9 +822,9 @@ class Tribe__Events__Aggregator__Service {
|
|
764 |
$keys = array_combine( $keys, $keys );
|
765 |
$confirmation_args = array_intersect_key( $args, $keys );
|
766 |
$confirmation_args = array_merge( $confirmation_args, [
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
);
|
771 |
|
772 |
// Set site for origin(s) that need it for new token handling.
|
688 |
esc_html__( 'the UID part of the iCalendar Specification', 'the-events-calendar' )
|
689 |
);
|
690 |
|
691 |
+
$facebook_restriction_link = sprintf(
|
692 |
+
'<a href="https://theeventscalendar.com/knowledgebase/import-errors/" target="_blank">%s</a>',
|
693 |
+
esc_html__( 'read more about Facebook restrictions in our knowledgebase', 'the-events-calendar')
|
694 |
+
);
|
695 |
+
|
696 |
+
$meetup_api_changes_link = sprintf(
|
697 |
+
'<a href="https://m.tri.be/1afb">%s</a>',
|
698 |
+
esc_html__( 'https://m.tri.be/1afb', 'the-events-calendar' )
|
699 |
+
);
|
700 |
+
|
701 |
$this->service_messages = [
|
702 |
/* Error */
|
703 |
+
'error:create-import-failed' => __('Sorry, but something went wrong. Please try again.', 'the-events-calendar'),
|
704 |
+
'error:create-import-invalid-params' => __('Events could not be imported. The import parameters were invalid.', 'the-events-calendar'),
|
705 |
+
'error:eb-permissions' => __('Events cannot be imported because Eventbrite has returned an error. This could mean that the event ID does not exist, the event or source is marked as Private, or the event or source has been otherwise restricted by Eventbrite. You can <a href="https://theeventscalendar.com/knowledgebase/import-errors/" target="_blank">read more about Eventbrite restrictions in our knowledgebase</a>.', 'the-events-calendar'),
|
706 |
+
'error:eb-no-results' => __('No upcoming Eventbrite events found.', 'the-events-calendar'),
|
707 |
+
'error:fetch-404' => __('The URL provided could not be reached.', 'the-events-calendar'),
|
708 |
+
'error:fetch-failed' => __('The URL provided failed to load.', 'the-events-calendar'),
|
709 |
+
'error:get-image' => __('The image associated with your event could not be imported.', 'the-events-calendar'),
|
710 |
+
'error:get-image-bad-association' => __('The image associated with your event is not accessible with your API key.', 'the-events-calendar'),
|
711 |
+
'error:import-failed' => __('The import failed for an unknown reason. Please try again. If the problem persists, please contact support.', 'the-events-calendar'),
|
712 |
+
'error:invalid-ical-url' => __('Events could not be imported. The URL provided did not have events in the proper format.', 'the-events-calendar'),
|
713 |
+
'error:invalid-ics-file' => __('The file provided could not be opened. Please confirm that it is a properly formatted .ics file.', 'the-events-calendar'),
|
714 |
+
'error:meetup-api-key' => __('Your Meetup API key is invalid.', 'the-events-calendar'),
|
715 |
+
'error:meetup-api-quota' => __('Event Aggregator cannot reach Meetup.com because you exceeded the request limit for your Meetup API key.', 'the-events-calendar'),
|
716 |
+
'error:usage-limit-exceeded' => __('The daily limit of %d import requests to the Event Aggregator service has been reached. Please try again later.', 'the-events-calendar'),
|
717 |
/* Fetching */
|
718 |
+
'fetching' => __('The import is in progress.', 'the-events-calendar'),
|
719 |
/* Queued */
|
720 |
+
'queued' => __('The import will be starting soon.', 'the-events-calendar'),
|
721 |
/* Success */
|
722 |
+
'success' => __('Success', 'the-events-calendar'),
|
723 |
+
'success:create-import' => __('Import created', 'the-events-calendar'),
|
724 |
+
'success:eventbrite-get-token' => __('Successfully fetched Eventbrite Token', 'the-events-calendar'),
|
725 |
+
'success:get-origin' => __('Successfully loaded import origins', 'the-events-calendar'),
|
726 |
+
'success:import-complete' => __('Import is complete', 'the-events-calendar'),
|
727 |
+
'success:queued' => __('Import queued', 'the-events-calendar'),
|
728 |
+
'error:invalid-other-url' => __('Events could not be imported. The URL provided could not be reached.', 'the-events-calendar'),
|
729 |
+
'error:no-results' => __('The requested source does not have any upcoming and published events matching the search criteria.', 'the-events-calendar'),
|
730 |
+
'error:ical-missing-uids-schedule' => sprintf(
|
731 |
_x(
|
732 |
'Some events at the requested source are missing the UID attribute required by the iCalendar Specification. Creating a scheduled import would generate duplicate events on each import. Instead, please use a One-Time import or contact the source provider to fix the UID issue; linking them to %s may help them more quickly resolve their feed\'s UID issue.',
|
733 |
'The placeholder is for the localized version of the iCal UID specification link',
|
736 |
$ical_uid_specification_link
|
737 |
),
|
738 |
/* Warning */
|
739 |
+
'warning:ical-missing-uids-manual' => sprintf(
|
740 |
_x(
|
741 |
'Some events at the requested source are missing the UID attribute required by the iCalendar Specification. One-Time and ICS File imports are allowed but successive imports will create duplicated events on your site. Please contact the source provider to fix the UID issue; linking them to %s may help them more quickly resolve their feed\'s UID issue.',
|
742 |
'The placeholder is for the localized version of the iCal UID specification link',
|
743 |
+
'the-events-calendar'),
|
744 |
$ical_uid_specification_link
|
745 |
),
|
746 |
+
'success:facebook-get-token' => __('Successfully fetched Facebook Token', 'the-events-calendar'),
|
747 |
+
'success:eb-token-valid' => __('Successfully connected to Eventbrite', 'the-events-calendar'),
|
748 |
+
'success:eb-token-disconnected' => __('Successfully disconnected Eventbrite', 'the-events-calendar'),
|
749 |
+
'success:eb-webhook-success' => __('Successfully marked event for import from Eventbrite', 'the-events-calendar'),
|
750 |
+
'success:eb-event-synced' => __('Successfully synced event to Eventbrite', 'the-events-calendar'),
|
751 |
+
'error:import-id-not-queued' => __('The import being fetched is not queued up for importing. Please try the import again.', 'the-events-calendar'),
|
752 |
+
'error:fb-permissions' => sprintf(
|
753 |
+
_x(
|
754 |
+
'Events cannot be imported because Facebook has returned an error. This could mean that the event ID does not exist, the event or source is marked as Private, or the event or source has been otherwise restricted by Facebook. You can %1$s.',
|
755 |
+
'Placeholder used for the facebook restriction link',
|
756 |
+
'the-events-calendar'
|
757 |
+
),
|
758 |
+
$facebook_restriction_link
|
759 |
+
),
|
760 |
+
'error:fb-error' => __('Events cannot be imported because we received an error from Facebook: ', 'the-events-calendar'),
|
761 |
+
'error:eb-error' => __('Events cannot be imported because we received an error from Eventbrite: ', 'the-events-calendar'),
|
762 |
+
'error:eb-sync-error' => __('Event cannot be synced to Eventbrite because we received an error from Eventbrite.', 'the-events-calendar'),
|
763 |
+
'error:eb-token-not-valid' => __('Eventbrite token is not valid.', 'the-events-calendar'),
|
764 |
+
'error:eb-parsed-object-empty' => __('Eventbrite parsed object is empty.', 'the-events-calendar'),
|
765 |
+
'error:eb-parsed-object-type-empty' => __('Eventbrite parsed object type is empty.', 'the-events-calendar'),
|
766 |
+
'error:eb-parsed-object-id-empty' => __('Eventbrite parsed object ID is empty.', 'the-events-calendar'),
|
767 |
+
'error:eb-object-empty' => __('Eventbrite parsed object is empty.', 'the-events-calendar'),
|
768 |
+
'error:eb-event-not-found' => __('Eventbrite event not found.', 'the-events-calendar'),
|
769 |
+
'error:eb-organizer-not-found' => __('Eventbrite organizer not found.', 'the-events-calendar'),
|
770 |
+
'error:eb-venue-not-found' => __('Eventbrite venue not found.', 'the-events-calendar'),
|
771 |
+
'error:eb-user-not-found' => __('Eventbrite user not found.', 'the-events-calendar'),
|
772 |
+
'error:eb-sync-data-invalid' => __('Eventbrite sync data invalid.', 'the-events-calendar'),
|
773 |
+
'error:eb-token-not-found' => __('You do not have an active connection to Eventbrite through your account and Event Aggregator.', 'the-events-calendar'),
|
774 |
+
'error:eb-webhook-not-registered' => __('Webhook not registered properly.', 'the-events-calendar'),
|
775 |
+
'error:eb-action-not-supported' => __('This webhook action is not currently supported.', 'the-events-calendar'),
|
776 |
+
'error:eb-event-not-owned' => __('Event not owned, you cannot edit it.', 'the-events-calendar'),
|
777 |
+
'warning:meetup-api-key-deprecated-plain' => sprintf(
|
778 |
+
_x(
|
779 |
+
'Meetup is no longer supporting API keys, and will restrict access using your existing key starting from August 2019. As an alternative, you should use OAuth2 and update The Events Calendar to the latest version. Learn more at %1$s',
|
780 |
+
'Placeholder used for the meetup API changes',
|
781 |
+
'the-events-calendar'
|
782 |
+
),
|
783 |
+
$meetup_api_changes_link
|
784 |
+
),
|
785 |
+
'error:meetup-api-key-deprecated-plain' => sprintf(
|
786 |
+
_x(
|
787 |
+
'Meetup is no longer supporting API keys, and has restricted access using your existing key starting from August 2019. As an alternative, you must use OAuth2 and update The Events Calendar to the latest version. Learn more at %1$s.',
|
788 |
+
'Placeholder used for the meetup API changes link when the KEY is plain',
|
789 |
+
'the-events-calendar'
|
790 |
+
),
|
791 |
+
$meetup_api_changes_link
|
792 |
+
),
|
793 |
+
'error:meetup-token-not-found' => __('You do not have an active connection to Meetup through your account and Event Aggregator.', 'the-events-calendar'),
|
794 |
];
|
795 |
|
796 |
/**
|
822 |
$keys = array_combine( $keys, $keys );
|
823 |
$confirmation_args = array_intersect_key( $args, $keys );
|
824 |
$confirmation_args = array_merge( $confirmation_args, [
|
825 |
+
'eventbrite_token' => '1',
|
826 |
+
'meetup_api_key' => '1',
|
827 |
+
]
|
828 |
);
|
829 |
|
830 |
// Set site for origin(s) that need it for new token handling.
|
src/Tribe/Cost_Utils.php
CHANGED
@@ -115,7 +115,7 @@ class Tribe__Events__Cost_Utils extends Tribe__Cost_Utils {
|
|
115 |
$currency_position = get_post_meta( $event_id, '_EventCurrencyPosition', true );
|
116 |
|
117 |
if ( empty( $currency_position ) ) {
|
118 |
-
$currency_position = tribe_get_option( 'reverseCurrencyPosition', false );
|
119 |
}
|
120 |
|
121 |
$cost = $this->maybe_format_with_currency( $cost, $event, $currency_symbol, $currency_position );
|
115 |
$currency_position = get_post_meta( $event_id, '_EventCurrencyPosition', true );
|
116 |
|
117 |
if ( empty( $currency_position ) ) {
|
118 |
+
$currency_position = tribe_is_truthy( tribe_get_option( 'reverseCurrencyPosition', false ) ) ? 'suffix' : 'prefix';
|
119 |
}
|
120 |
|
121 |
$cost = $this->maybe_format_with_currency( $cost, $event, $currency_symbol, $currency_position );
|
src/Tribe/Editor/Assets.php
CHANGED
@@ -5,6 +5,16 @@
|
|
5 |
* @since 4.7
|
6 |
*/
|
7 |
class Tribe__Events__Editor__Assets {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
/**
|
9 |
*
|
10 |
* @since 4.7
|
@@ -45,10 +55,15 @@ class Tribe__Events__Editor__Assets {
|
|
45 |
* Checks if we should enqueue frontend assets
|
46 |
*
|
47 |
* @since 4.7
|
|
|
48 |
*
|
49 |
* @return bool
|
50 |
*/
|
51 |
public function should_enqueue_frontend() {
|
|
|
|
|
|
|
|
|
52 |
$should_enqueue = (
|
53 |
tribe_is_event_query()
|
54 |
|| tribe_is_event_organizer()
|
@@ -63,6 +78,10 @@ class Tribe__Events__Editor__Assets {
|
|
63 |
*
|
64 |
* @param bool $should_enqueue
|
65 |
*/
|
66 |
-
|
|
|
|
|
|
|
|
|
67 |
}
|
68 |
}
|
5 |
* @since 4.7
|
6 |
*/
|
7 |
class Tribe__Events__Editor__Assets {
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Caches the result of the `should_enqueue_frontend` check.
|
11 |
+
*
|
12 |
+
* @since 4.9.13
|
13 |
+
*
|
14 |
+
* @var bool
|
15 |
+
*/
|
16 |
+
protected $should_enqueue_frontend;
|
17 |
+
|
18 |
/**
|
19 |
*
|
20 |
* @since 4.7
|
55 |
* Checks if we should enqueue frontend assets
|
56 |
*
|
57 |
* @since 4.7
|
58 |
+
* @since 4.9.13 Cache the check value.
|
59 |
*
|
60 |
* @return bool
|
61 |
*/
|
62 |
public function should_enqueue_frontend() {
|
63 |
+
if ( null !== $this->should_enqueue_frontend ) {
|
64 |
+
return $this->should_enqueue_frontend;
|
65 |
+
}
|
66 |
+
|
67 |
$should_enqueue = (
|
68 |
tribe_is_event_query()
|
69 |
|| tribe_is_event_organizer()
|
78 |
*
|
79 |
* @param bool $should_enqueue
|
80 |
*/
|
81 |
+
$should_enqueue = apply_filters( 'tribe_events_editor_assets_should_enqueue_frontend', $should_enqueue );
|
82 |
+
|
83 |
+
$this->should_enqueue_frontend = $should_enqueue;
|
84 |
+
|
85 |
+
return $should_enqueue;
|
86 |
}
|
87 |
}
|
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 = '4.9.
|
36 |
|
37 |
/**
|
38 |
* Min Pro Addon
|
@@ -652,6 +652,7 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
|
|
652 |
require_once $this->plugin_path . 'src/functions/advanced-functions/linked-posts.php';
|
653 |
require_once $this->plugin_path . 'src/functions/utils/array.php';
|
654 |
require_once $this->plugin_path . 'src/functions/utils/labels.php';
|
|
|
655 |
|
656 |
// Load Deprecated Template Tags
|
657 |
if ( ! defined( 'TRIBE_DISABLE_DEPRECATED_TAGS' ) ) {
|
@@ -701,6 +702,9 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
|
|
701 |
// Load Rewrite
|
702 |
add_action( 'plugins_loaded', array( Tribe__Events__Rewrite::instance(), 'hooks' ) );
|
703 |
|
|
|
|
|
|
|
704 |
add_action( 'init', array( $this, 'init' ), 10 );
|
705 |
add_action( 'admin_init', array( $this, 'admin_init' ) );
|
706 |
|
@@ -2966,6 +2970,7 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
|
|
2966 |
* @param bool $network_deactivating
|
2967 |
*/
|
2968 |
public static function activate() {
|
|
|
2969 |
|
2970 |
self::instance()->plugins_loaded();
|
2971 |
|
@@ -2977,7 +2982,7 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
|
|
2977 |
self::flushRewriteRules();
|
2978 |
|
2979 |
if ( ! class_exists( 'Tribe__Events__Editor__Compatibility' ) ) {
|
2980 |
-
require_once
|
2981 |
}
|
2982 |
|
2983 |
$editor_compatibility = new Tribe__Events__Editor__Compatibility();
|
32 |
const VENUE_POST_TYPE = 'tribe_venue';
|
33 |
const ORGANIZER_POST_TYPE = 'tribe_organizer';
|
34 |
|
35 |
+
const VERSION = '4.9.13';
|
36 |
|
37 |
/**
|
38 |
* Min Pro Addon
|
652 |
require_once $this->plugin_path . 'src/functions/advanced-functions/linked-posts.php';
|
653 |
require_once $this->plugin_path . 'src/functions/utils/array.php';
|
654 |
require_once $this->plugin_path . 'src/functions/utils/labels.php';
|
655 |
+
require_once $this->plugin_path . 'src/functions/utils/install.php';
|
656 |
|
657 |
// Load Deprecated Template Tags
|
658 |
if ( ! defined( 'TRIBE_DISABLE_DEPRECATED_TAGS' ) ) {
|
702 |
// Load Rewrite
|
703 |
add_action( 'plugins_loaded', array( Tribe__Events__Rewrite::instance(), 'hooks' ) );
|
704 |
|
705 |
+
// Trigger smart activation of V2 after we triggered the Update version on Init@P10.
|
706 |
+
add_action( 'init', 'tribe_events_views_v2_smart_activation', 25 );
|
707 |
+
|
708 |
add_action( 'init', array( $this, 'init' ), 10 );
|
709 |
add_action( 'admin_init', array( $this, 'admin_init' ) );
|
710 |
|
2970 |
* @param bool $network_deactivating
|
2971 |
*/
|
2972 |
public static function activate() {
|
2973 |
+
$plugin_path = dirname( TRIBE_EVENTS_FILE );
|
2974 |
|
2975 |
self::instance()->plugins_loaded();
|
2976 |
|
2982 |
self::flushRewriteRules();
|
2983 |
|
2984 |
if ( ! class_exists( 'Tribe__Events__Editor__Compatibility' ) ) {
|
2985 |
+
require_once $plugin_path . '/src/Tribe/Editor/Compatibility.php';
|
2986 |
}
|
2987 |
|
2988 |
$editor_compatibility = new Tribe__Events__Editor__Compatibility();
|
src/Tribe/Models/Post_Types/Event.php
CHANGED
@@ -176,8 +176,13 @@ class Event extends Base {
|
|
176 |
'happens_this_week' => $happens_this_week,
|
177 |
'featured' => $featured,
|
178 |
'sticky' => $sticky,
|
179 |
-
'cost' =>
|
180 |
-
'excerpt' =>
|
|
|
|
|
|
|
|
|
|
|
181 |
'organizers' => ( new Lazy_Collection( $organizer_fetch ) )->on_resolve( $cache_this ),
|
182 |
'venues' => ( new Lazy_Collection( $venue_fetch ) )->on_resolve( $cache_this ),
|
183 |
'thumbnail' => ( new Post_Thumbnail( $post_id ) )->on_resolve( $cache_this ),
|
176 |
'happens_this_week' => $happens_this_week,
|
177 |
'featured' => $featured,
|
178 |
'sticky' => $sticky,
|
179 |
+
'cost' => tribe_get_cost( $post_id, true ),
|
180 |
+
'excerpt' => ( new Lazy_String(
|
181 |
+
static function () use ( $post_id ) {
|
182 |
+
return tribe_events_get_the_excerpt( $post_id, wp_kses_allowed_html( 'post' ) );
|
183 |
+
},
|
184 |
+
false
|
185 |
+
) )->on_resolve( $cache_this ),
|
186 |
'organizers' => ( new Lazy_Collection( $organizer_fetch ) )->on_resolve( $cache_this ),
|
187 |
'venues' => ( new Lazy_Collection( $venue_fetch ) )->on_resolve( $cache_this ),
|
188 |
'thumbnail' => ( new Post_Thumbnail( $post_id ) )->on_resolve( $cache_this ),
|
src/Tribe/Repositories/Event.php
CHANGED
@@ -40,7 +40,7 @@ class Tribe__Events__Repositories__Event extends Tribe__Repository {
|
|
40 |
*
|
41 |
* @var string
|
42 |
*/
|
43 |
-
protected $start_meta_key = '
|
44 |
|
45 |
/**
|
46 |
* The meta key that should be used for the end date.
|
@@ -51,7 +51,7 @@ class Tribe__Events__Repositories__Event extends Tribe__Repository {
|
|
51 |
*
|
52 |
* @var string
|
53 |
*/
|
54 |
-
protected $end_meta_key = '
|
55 |
|
56 |
/**
|
57 |
* The timezone object that should be used to normalize dates.
|
40 |
*
|
41 |
* @var string
|
42 |
*/
|
43 |
+
protected $start_meta_key = '_EventStartDateUTC';
|
44 |
|
45 |
/**
|
46 |
* The meta key that should be used for the end date.
|
51 |
*
|
52 |
* @var string
|
53 |
*/
|
54 |
+
protected $end_meta_key = '_EventEndDateUTC';
|
55 |
|
56 |
/**
|
57 |
* The timezone object that should be used to normalize dates.
|
src/Tribe/Repositories/Organizer.php
CHANGED
@@ -48,26 +48,11 @@ class Tribe__Events__Repositories__Organizer extends Tribe__Events__Repositories
|
|
48 |
|
49 |
$this->linked_id_meta_key = '_EventOrganizerID';
|
50 |
|
51 |
-
$this->schema = array_merge( $this->schema, array(
|
52 |
-
'name' => array( $this, 'filter_by_name' ),
|
53 |
-
) );
|
54 |
-
|
55 |
$this->add_simple_meta_schema_entry( 'email', '_OrganizerEmail' );
|
56 |
$this->add_simple_meta_schema_entry( 'phone', '_OrganizerPhone' );
|
57 |
$this->add_simple_meta_schema_entry( 'website', '_OrganizerWebsite' );
|
58 |
}
|
59 |
|
60 |
-
/**
|
61 |
-
* Filters organizers by a specific name. This is an alias of ->search()
|
62 |
-
*
|
63 |
-
* @since 4.9
|
64 |
-
*
|
65 |
-
* @param string $value String to search with.
|
66 |
-
*/
|
67 |
-
public function filter_by_name( $value ) {
|
68 |
-
$this->search( $value );
|
69 |
-
}
|
70 |
-
|
71 |
/**
|
72 |
* {@inheritdoc}
|
73 |
*/
|
48 |
|
49 |
$this->linked_id_meta_key = '_EventOrganizerID';
|
50 |
|
|
|
|
|
|
|
|
|
51 |
$this->add_simple_meta_schema_entry( 'email', '_OrganizerEmail' );
|
52 |
$this->add_simple_meta_schema_entry( 'phone', '_OrganizerPhone' );
|
53 |
$this->add_simple_meta_schema_entry( 'website', '_OrganizerWebsite' );
|
54 |
}
|
55 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
/**
|
57 |
* {@inheritdoc}
|
58 |
*/
|
src/Tribe/Rewrite.php
CHANGED
@@ -471,6 +471,12 @@ class Tribe__Events__Rewrite extends Tribe__Rewrite {
|
|
471 |
$localized_matchers['(\d{4}-\d{2})'] = 'eventDate';
|
472 |
$localized_matchers['(\d{4}-\d{2}-\d{2})'] = 'eventDate';
|
473 |
|
|
|
|
|
|
|
|
|
|
|
|
|
474 |
return $localized_matchers;
|
475 |
}
|
476 |
|
@@ -569,4 +575,51 @@ class Tribe__Events__Rewrite extends Tribe__Rewrite {
|
|
569 |
|
570 |
return $query_vars;
|
571 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
572 |
}
|
471 |
$localized_matchers['(\d{4}-\d{2})'] = 'eventDate';
|
472 |
$localized_matchers['(\d{4}-\d{2}-\d{2})'] = 'eventDate';
|
473 |
|
474 |
+
// Handle the event archive possible variations.
|
475 |
+
$localized_matchers = array_merge(
|
476 |
+
$localized_matchers,
|
477 |
+
$this->get_option_controlled_slug_entry( $localized_matchers, 'events', 'eventsSlug' )
|
478 |
+
);
|
479 |
+
|
480 |
return $localized_matchers;
|
481 |
}
|
482 |
|
575 |
|
576 |
return $query_vars;
|
577 |
}
|
578 |
+
|
579 |
+
/**
|
580 |
+
* Adds an entry for an option controlled slug.
|
581 |
+
*
|
582 |
+
* E.g. the events archive can be changed from `/events` to somethings like `/trainings`.
|
583 |
+
*
|
584 |
+
* @since 4.9.13
|
585 |
+
*
|
586 |
+
* @param array $localized_matchers An array of the current localized matchers.
|
587 |
+
* @param string $default_slug The default slug for the option controlled slug; e.g. `events` for the events
|
588 |
+
* archive.
|
589 |
+
* @param string $option_name The name of the Tribe option that stores the modified slug, if any.
|
590 |
+
*
|
591 |
+
* @return array An entry to add to the localized matchers; this will be an empty array if there's no need to add
|
592 |
+
* an entry..
|
593 |
+
*/
|
594 |
+
protected function get_option_controlled_slug_entry( array $localized_matchers, $default_slug, $option_name ) {
|
595 |
+
$using_default_archive_slug = $default_slug === tribe_get_option( $option_name, $default_slug );
|
596 |
+
|
597 |
+
$filter = static function ( $matcher ) use ( $default_slug )
|
598 |
+
{
|
599 |
+
return isset( $matcher['query_var'] )
|
600 |
+
&& 'post_type' === $matcher['query_var']
|
601 |
+
&& isset( $matcher['localized_slugs'] )
|
602 |
+
&& is_array( $matcher['localized_slugs'] )
|
603 |
+
&& in_array( $default_slug, $matcher['localized_slugs'], true );
|
604 |
+
};
|
605 |
+
|
606 |
+
$archive_localized_matcher = array_filter( $localized_matchers, $filter );
|
607 |
+
$archive_localized_matcher = reset( $archive_localized_matcher );
|
608 |
+
|
609 |
+
if ( $using_default_archive_slug || false === $archive_localized_matcher ) {
|
610 |
+
return [];
|
611 |
+
}
|
612 |
+
|
613 |
+
$archive_localized_matcher['localized_slugs'][] = $archive_localized_matcher['en_slug'];
|
614 |
+
// Create an entry for each localized slug to replace (?:events).
|
615 |
+
$entry = [
|
616 |
+
'(?:' . $default_slug . ')' => [
|
617 |
+
'query_var' => 'post_type',
|
618 |
+
'en_slug' => $archive_localized_matcher['en_slug'],
|
619 |
+
'localized_slugs' => $archive_localized_matcher['localized_slugs']
|
620 |
+
]
|
621 |
+
];
|
622 |
+
|
623 |
+
return $entry;
|
624 |
+
}
|
625 |
}
|
src/Tribe/Service_Providers/Context.php
CHANGED
@@ -93,6 +93,7 @@ class Context extends \tad_DI52_ServiceProvider {
|
|
93 |
],
|
94 |
Tribe__Context::REQUEST_VAR => [ 'eventDate', 'tribe-bar-date' ],
|
95 |
Tribe__Context::QUERY_VAR => 'eventDate',
|
|
|
96 |
],
|
97 |
'write' => [
|
98 |
Tribe__Context::REQUEST_VAR => [ 'eventDate', 'tribe-bar-date' ],
|
@@ -141,12 +142,13 @@ class Context extends \tad_DI52_ServiceProvider {
|
|
141 |
],
|
142 |
'featured' => [
|
143 |
'read' => [
|
144 |
-
Tribe__Context::REQUEST_VAR
|
145 |
-
Tribe__Context::QUERY_VAR
|
|
|
146 |
],
|
147 |
'write' => [
|
148 |
-
Tribe__Context::REQUEST_VAR
|
149 |
-
Tribe__Context::QUERY_VAR
|
150 |
],
|
151 |
],
|
152 |
TEC::TAXONOMY => [
|
93 |
],
|
94 |
Tribe__Context::REQUEST_VAR => [ 'eventDate', 'tribe-bar-date' ],
|
95 |
Tribe__Context::QUERY_VAR => 'eventDate',
|
96 |
+
Tribe__Context::WP_PARSED => 'eventDate',
|
97 |
],
|
98 |
'write' => [
|
99 |
Tribe__Context::REQUEST_VAR => [ 'eventDate', 'tribe-bar-date' ],
|
142 |
],
|
143 |
'featured' => [
|
144 |
'read' => [
|
145 |
+
Tribe__Context::REQUEST_VAR => 'featured',
|
146 |
+
Tribe__Context::QUERY_VAR => 'featured',
|
147 |
+
Tribe__Context::WP_MATCHED_QUERY => 'featured',
|
148 |
],
|
149 |
'write' => [
|
150 |
+
Tribe__Context::REQUEST_VAR => 'featured',
|
151 |
+
Tribe__Context::QUERY_VAR => 'featured',
|
152 |
],
|
153 |
],
|
154 |
TEC::TAXONOMY => [
|
src/Tribe/Views/V2/Assets.php
CHANGED
@@ -12,7 +12,6 @@
|
|
12 |
namespace Tribe\Events\Views\V2;
|
13 |
|
14 |
use Tribe__Events__Main as Plugin;
|
15 |
-
use Tribe\Events\Views\V2\Template_Bootstrap;
|
16 |
|
17 |
/**
|
18 |
* Register
|
@@ -32,6 +31,15 @@ class Assets extends \tad_DI52_ServiceProvider {
|
|
32 |
*/
|
33 |
public static $group_key = 'events-views-v2';
|
34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
/**
|
36 |
* Binds and sets up implementations.
|
37 |
*
|
@@ -323,10 +331,14 @@ class Assets extends \tad_DI52_ServiceProvider {
|
|
323 |
* Checks if we should enqueue frontend assets for the V2 views.
|
324 |
*
|
325 |
* @since 4.9.4
|
|
|
326 |
*
|
327 |
* @return bool
|
328 |
*/
|
329 |
public function should_enqueue_frontend() {
|
|
|
|
|
|
|
330 |
|
331 |
$should_enqueue = tribe( Template_Bootstrap::class )->should_load();
|
332 |
|
@@ -337,7 +349,11 @@ class Assets extends \tad_DI52_ServiceProvider {
|
|
337 |
*
|
338 |
* @param bool $should_enqueue
|
339 |
*/
|
340 |
-
|
|
|
|
|
|
|
|
|
341 |
}
|
342 |
|
343 |
|
12 |
namespace Tribe\Events\Views\V2;
|
13 |
|
14 |
use Tribe__Events__Main as Plugin;
|
|
|
15 |
|
16 |
/**
|
17 |
* Register
|
31 |
*/
|
32 |
public static $group_key = 'events-views-v2';
|
33 |
|
34 |
+
/**
|
35 |
+
* Caches the result of the `should_enqueue_frontend` check.
|
36 |
+
*
|
37 |
+
* @since 4.9.13
|
38 |
+
*
|
39 |
+
* @var bool
|
40 |
+
*/
|
41 |
+
protected $should_enqueue_frontend;
|
42 |
+
|
43 |
/**
|
44 |
* Binds and sets up implementations.
|
45 |
*
|
331 |
* Checks if we should enqueue frontend assets for the V2 views.
|
332 |
*
|
333 |
* @since 4.9.4
|
334 |
+
* @since 4.9.13 Cache the check value.
|
335 |
*
|
336 |
* @return bool
|
337 |
*/
|
338 |
public function should_enqueue_frontend() {
|
339 |
+
if ( null !== $this->should_enqueue_frontend ) {
|
340 |
+
return $this->should_enqueue_frontend;
|
341 |
+
}
|
342 |
|
343 |
$should_enqueue = tribe( Template_Bootstrap::class )->should_load();
|
344 |
|
349 |
*
|
350 |
* @param bool $should_enqueue
|
351 |
*/
|
352 |
+
$should_enqueue = apply_filters( 'tribe_events_views_v2_assets_should_enqueue_frontend', $should_enqueue );
|
353 |
+
|
354 |
+
$this->should_enqueue_frontend = $should_enqueue;
|
355 |
+
|
356 |
+
return $should_enqueue;
|
357 |
}
|
358 |
|
359 |
|
src/Tribe/Views/V2/Hooks.php
CHANGED
@@ -19,6 +19,8 @@ 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\Template\Title;
|
23 |
use Tribe__Events__Main as TEC;
|
24 |
use Tribe__Rewrite as Rewrite;
|
@@ -55,6 +57,7 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
55 |
add_action( 'tribe_events_pre_rewrite', [ $this, 'on_tribe_events_pre_rewrite' ] );
|
56 |
add_action( 'wp_enqueue_scripts', [ $this, 'action_disable_assets_v1' ], 0 );
|
57 |
add_action( 'tribe_events_pro_shortcode_tribe_events_after_assets', [ $this, 'action_disable_shortcode_assets_v1' ] );
|
|
|
58 |
}
|
59 |
|
60 |
/**
|
@@ -63,8 +66,11 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
63 |
* @since 4.9.2
|
64 |
*/
|
65 |
protected function add_filters() {
|
|
|
|
|
66 |
add_action( 'tribe_events_parse_query', [ $this, 'parse_query' ] );
|
67 |
add_filter( 'template_include', [ $this, 'filter_template_include' ], 50 );
|
|
|
68 |
add_filter( 'posts_pre_query', [ $this, 'filter_posts_pre_query' ], 20, 2 );
|
69 |
add_filter( 'body_class', [ $this, 'filter_body_class' ] );
|
70 |
add_filter( 'query_vars', [ $this, 'filter_query_vars' ], 15 );
|
@@ -74,6 +80,10 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
74 |
add_filter( 'tribe_events_views_v2_after_make_view', [ $this, 'action_include_filters_excerpt' ] );
|
75 |
// 100 is the WordPress cookie-based auth check.
|
76 |
add_filter( 'rest_authentication_errors', [ Rest_Endpoint::class, 'did_rest_authentication_errors' ], 150 );
|
|
|
|
|
|
|
|
|
77 |
|
78 |
if ( tribe_context()->doing_php_initial_state() ) {
|
79 |
add_filter( 'wp_title', [ $this, 'filter_wp_title' ], 10, 2 );
|
@@ -287,6 +297,10 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
287 |
* @return string The modified page title, if required.
|
288 |
*/
|
289 |
public function filter_wp_title( $title, $sep = null ) {
|
|
|
|
|
|
|
|
|
290 |
return $this->container->make( Title::class )->filter_wp_title( $title, $sep );
|
291 |
}
|
292 |
|
@@ -302,6 +316,10 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
302 |
* @return string The modified page title, if required.
|
303 |
*/
|
304 |
public function filter_document_title_parts( $title ) {
|
|
|
|
|
|
|
|
|
305 |
return $this->container->make( Title::class )->filter_document_title_parts( $title );
|
306 |
}
|
307 |
|
@@ -349,6 +367,69 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
349 |
return $html . '<p class="hide-if-no-js howto">' . __( 'We recommend a 16:9 aspect ratio for featured images.', 'the-events-calendar' ) . '</p>';
|
350 |
}
|
351 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
352 |
/**
|
353 |
* Suppress v1 query filters on a per-query basis, if required.
|
354 |
*
|
@@ -364,4 +445,44 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
364 |
$event_query = $this->container->make( Event_Query_Controller::class );
|
365 |
$event_query->parse_query( $query );
|
366 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
367 |
}
|
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 Rewrite;
|
57 |
add_action( 'tribe_events_pre_rewrite', [ $this, 'on_tribe_events_pre_rewrite' ] );
|
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 |
* @since 4.9.2
|
67 |
*/
|
68 |
protected function add_filters() {
|
69 |
+
add_filter( 'wp_redirect', [ $this, 'filter_prevent_canonical_embed_redirect' ] );
|
70 |
+
add_filter( 'redirect_canonical', [ $this, 'filter_prevent_canonical_embed_redirect' ] );
|
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 );
|
74 |
add_filter( 'posts_pre_query', [ $this, 'filter_posts_pre_query' ], 20, 2 );
|
75 |
add_filter( 'body_class', [ $this, 'filter_body_class' ] );
|
76 |
add_filter( 'query_vars', [ $this, 'filter_query_vars' ], 15 );
|
80 |
add_filter( 'tribe_events_views_v2_after_make_view', [ $this, 'action_include_filters_excerpt' ] );
|
81 |
// 100 is the WordPress cookie-based auth check.
|
82 |
add_filter( 'rest_authentication_errors', [ Rest_Endpoint::class, 'did_rest_authentication_errors' ], 150 );
|
83 |
+
add_filter( 'tribe_support_registered_template_systems', [ $this, 'filter_register_template_updates' ] );
|
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 );
|
297 |
* @return string The modified page title, if required.
|
298 |
*/
|
299 |
public function filter_wp_title( $title, $sep = null ) {
|
300 |
+
if ( ! $this->container->make( Template_Bootstrap::class )->should_load() ) {
|
301 |
+
return $title;
|
302 |
+
}
|
303 |
+
|
304 |
return $this->container->make( Title::class )->filter_wp_title( $title, $sep );
|
305 |
}
|
306 |
|
316 |
* @return string The modified page title, if required.
|
317 |
*/
|
318 |
public function filter_document_title_parts( $title ) {
|
319 |
+
if ( ! $this->container->make( Template_Bootstrap::class )->should_load() ) {
|
320 |
+
return $title;
|
321 |
+
}
|
322 |
+
|
323 |
return $this->container->make( Title::class )->filter_document_title_parts( $title );
|
324 |
}
|
325 |
|
367 |
return $html . '<p class="hide-if-no-js howto">' . __( 'We recommend a 16:9 aspect ratio for featured images.', 'the-events-calendar' ) . '</p>';
|
368 |
}
|
369 |
|
370 |
+
/**
|
371 |
+
* Filters the `redirect_canonical` to prevent any redirects on embed URLs.
|
372 |
+
*
|
373 |
+
* @since 4.9.13
|
374 |
+
*
|
375 |
+
* @param mixed $redirect_url URL which we will redirect to.
|
376 |
+
*
|
377 |
+
* @return string A redirection URL, or `false` to prevent redirection.
|
378 |
+
*/
|
379 |
+
public function filter_prevent_canonical_embed_redirect( $redirect_url = null ) {
|
380 |
+
$context = tribe_context();
|
381 |
+
|
382 |
+
// Any other URL we bail with the URL return.
|
383 |
+
if ( 'embed' !== $context->get( 'view' ) ) {
|
384 |
+
return $redirect_url;
|
385 |
+
}
|
386 |
+
|
387 |
+
return false;
|
388 |
+
}
|
389 |
+
|
390 |
+
/**
|
391 |
+
* Modifies the Live update tooltip properly.
|
392 |
+
*
|
393 |
+
* @since 4.9.13
|
394 |
+
*
|
395 |
+
* @param array $fields Fields that were passed for the Settigns tab.
|
396 |
+
*
|
397 |
+
* @return array Fields after changing the tooltip.
|
398 |
+
*/
|
399 |
+
public function filter_general_settings_tab_live_update( $fields ) {
|
400 |
+
if ( empty( $fields['liveFiltersUpdate'] ) ) {
|
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;
|
412 |
+
}
|
413 |
+
|
414 |
+
/**
|
415 |
+
* Registers The Events Calendar with the views/overrides update checker.
|
416 |
+
*
|
417 |
+
* @since 4.9.13
|
418 |
+
*
|
419 |
+
* @param array $plugins List of plugisn to be checked.
|
420 |
+
*
|
421 |
+
* @return array
|
422 |
+
*/
|
423 |
+
public function filter_register_template_updates( array $plugins = [] ) {
|
424 |
+
$plugins[ __( 'The Events Calendar - View V2', 'the-events-calendar' ) ] = [
|
425 |
+
TEC::VERSION,
|
426 |
+
TEC::instance()->pluginPath . 'src/views/v2',
|
427 |
+
trailingslashit( get_stylesheet_directory() ) . 'tribe/events',
|
428 |
+
];
|
429 |
+
|
430 |
+
return $plugins;
|
431 |
+
}
|
432 |
+
|
433 |
/**
|
434 |
* Suppress v1 query filters on a per-query basis, if required.
|
435 |
*
|
445 |
$event_query = $this->container->make( Event_Query_Controller::class );
|
446 |
$event_query->parse_query( $query );
|
447 |
}
|
448 |
+
|
449 |
+
/**
|
450 |
+
* Adds the period repository to the map of available repositories.
|
451 |
+
*
|
452 |
+
* @since 4.9.13
|
453 |
+
*
|
454 |
+
* @param array $repository_map The current repository map.
|
455 |
+
*
|
456 |
+
* @return array The filtered repository map.
|
457 |
+
*/
|
458 |
+
public function add_period_repository( array $repository_map, $repository, array $args = [] ) {
|
459 |
+
if ( 'period' === $repository ) {
|
460 |
+
// This is a new instance on each run, by design. Making this a singleton would create dangerous dependencies.
|
461 |
+
$event_period_repository = $this->container->make( Event_Period::class );
|
462 |
+
$event_period_repository->cache_results = in_array( 'caching', $args, true );
|
463 |
+
$repository_map['period'] = $event_period_repository;
|
464 |
+
}
|
465 |
+
|
466 |
+
return $repository_map;
|
467 |
+
}
|
468 |
+
|
469 |
+
/**
|
470 |
+
* Flush rewrite rules after the site language setting changes.
|
471 |
+
*
|
472 |
+
* @since 4.9.13
|
473 |
+
*
|
474 |
+
* @param string $option The option name that was updated.
|
475 |
+
* @param string $old The option old value.
|
476 |
+
* @param string $new The option updated value.
|
477 |
+
*/
|
478 |
+
public function action_save_wplang( $option, $old, $new ) {
|
479 |
+
|
480 |
+
if ( 'WPLANG' !== $option ) {
|
481 |
+
return;
|
482 |
+
}
|
483 |
+
|
484 |
+
// Deleting `rewrite_rules` given that this is being executed after `init`
|
485 |
+
// And `flush_rewrite_rules()` doesn't take effect.
|
486 |
+
delete_option( 'rewrite_rules' );
|
487 |
+
}
|
488 |
}
|
src/Tribe/Views/V2/Interfaces/View_Url_Provider_Interface.php
CHANGED
@@ -23,11 +23,12 @@ interface View_Url_Provider_Interface {
|
|
23 |
* @since 4.9.3
|
24 |
*
|
25 |
* @param bool $canonical Whether to return the canonical version of the URL or the normal one.
|
|
|
26 |
*
|
27 |
* @return string The current URL associated to the view or an empty string if this View does not correspond to a
|
28 |
* URL.
|
29 |
*/
|
30 |
-
public function get_url( $canonical = false );
|
31 |
|
32 |
/**
|
33 |
* Returns the URL associated to this View logical, next view.
|
23 |
* @since 4.9.3
|
24 |
*
|
25 |
* @param bool $canonical Whether to return the canonical version of the URL or the normal one.
|
26 |
+
* @param bool $force Whether to force the re-fetch and ignore cached values or not.
|
27 |
*
|
28 |
* @return string The current URL associated to the view or an empty string if this View does not correspond to a
|
29 |
* URL.
|
30 |
*/
|
31 |
+
public function get_url( $canonical = false, $force = false );
|
32 |
|
33 |
/**
|
34 |
* Returns the URL associated to this View logical, next view.
|
src/Tribe/Views/V2/Query/Event_Query_Controller.php
CHANGED
@@ -39,7 +39,7 @@ class Event_Query_Controller extends Abstract_Query_Controller {
|
|
39 |
*/
|
40 |
protected function repository() {
|
41 |
// @todo refine this to handle order depending on the View.
|
42 |
-
return tribe_events()->order_by('event_date', 'ASC');
|
43 |
}
|
44 |
|
45 |
/**
|
@@ -67,8 +67,8 @@ class Event_Query_Controller extends Abstract_Query_Controller {
|
|
67 |
]
|
68 |
);
|
69 |
|
70 |
-
if ( 3 === $suppress_filters ) {
|
71 |
-
$query->tribe_suppress_query_filters
|
72 |
}
|
73 |
}
|
74 |
}
|
39 |
*/
|
40 |
protected function repository() {
|
41 |
// @todo refine this to handle order depending on the View.
|
42 |
+
return tribe_events()->order_by( 'event_date', 'ASC' );
|
43 |
}
|
44 |
|
45 |
/**
|
67 |
]
|
68 |
);
|
69 |
|
70 |
+
if ( 3 === $suppress_filters || $query->is_embed ) {
|
71 |
+
$query->set( 'tribe_suppress_query_filters', true );
|
72 |
}
|
73 |
}
|
74 |
}
|
src/Tribe/Views/V2/Repository/Event_Period.php
ADDED
@@ -0,0 +1,1264 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* A period-based repository to fetch events.
|
4 |
+
*
|
5 |
+
* @since 4.9.13
|
6 |
+
*
|
7 |
+
* @package Tribe\Events\Views\V2\Repository
|
8 |
+
*/
|
9 |
+
|
10 |
+
namespace Tribe\Events\Views\V2\Repository;
|
11 |
+
|
12 |
+
use Tribe\Repository\Core_Read_Interface;
|
13 |
+
use Tribe\Repository\Filter_Validation;
|
14 |
+
use Tribe__Cache_Listener as Cache_Listener;
|
15 |
+
use Tribe__Date_Utils as Dates;
|
16 |
+
use Tribe__Events__Main as TEC;
|
17 |
+
use Tribe__Repository__Read_Interface;
|
18 |
+
use Tribe__Timezones as Timezones;
|
19 |
+
use Tribe__Utils__Array as Arr;
|
20 |
+
use WP_Post;
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Class Event_Period
|
24 |
+
*
|
25 |
+
* @since 4.9.13
|
26 |
+
*
|
27 |
+
* @package Tribe\Events\Views\V2\Repository
|
28 |
+
*/
|
29 |
+
class Event_Period implements Core_Read_Interface {
|
30 |
+
use Filter_Validation;
|
31 |
+
|
32 |
+
/**
|
33 |
+
* A definition of each filter required argument count and nature.
|
34 |
+
*
|
35 |
+
* @since 4.9.13
|
36 |
+
*
|
37 |
+
* @var array
|
38 |
+
*/
|
39 |
+
protected static $filter_args_map = [
|
40 |
+
'period' => [
|
41 |
+
'start date' => [ Dates::class, 'is_valid_date' ],
|
42 |
+
'end date' => [ Dates::class, 'is_valid_date' ]
|
43 |
+
],
|
44 |
+
];
|
45 |
+
/**
|
46 |
+
* Whether the repository should cache sets and results in WP cache or not.
|
47 |
+
*
|
48 |
+
* @since 4.9.13
|
49 |
+
*
|
50 |
+
* @var bool
|
51 |
+
*/
|
52 |
+
public $cache_results = false;
|
53 |
+
/**
|
54 |
+
* The period start date.
|
55 |
+
*
|
56 |
+
* @since 4.9.13
|
57 |
+
*
|
58 |
+
* @var \DateTime
|
59 |
+
*/
|
60 |
+
protected $period_start;
|
61 |
+
|
62 |
+
/**
|
63 |
+
* The period end date.
|
64 |
+
*
|
65 |
+
* @since 4.9.13
|
66 |
+
*
|
67 |
+
* @var \DateTime
|
68 |
+
*/
|
69 |
+
protected $period_end;
|
70 |
+
|
71 |
+
/**
|
72 |
+
* A flag property to indicate whether the sets should be fetched and built using the site timezone or not.
|
73 |
+
*
|
74 |
+
* @since 4.9.13
|
75 |
+
*
|
76 |
+
* @var bool
|
77 |
+
*/
|
78 |
+
protected $use_site_timezone;
|
79 |
+
|
80 |
+
/**
|
81 |
+
* The last fetched sets.
|
82 |
+
*
|
83 |
+
* @since 4.9.13
|
84 |
+
*
|
85 |
+
* @var Events_Result_Set[]
|
86 |
+
*/
|
87 |
+
protected $sets;
|
88 |
+
|
89 |
+
/**
|
90 |
+
* The "base" repository used by this repository.
|
91 |
+
* This repository will handle any non-period related filter.
|
92 |
+
*
|
93 |
+
* @since 4.9.13
|
94 |
+
*
|
95 |
+
* @var \Tribe__Repository__Interface
|
96 |
+
*/
|
97 |
+
protected $base_repository;
|
98 |
+
|
99 |
+
/**
|
100 |
+
* A flag property to indicate whether there are filters for the base repository or not.
|
101 |
+
*
|
102 |
+
* @since 4.9.13
|
103 |
+
*
|
104 |
+
* @var bool
|
105 |
+
*/
|
106 |
+
protected $has_base_filters = false;
|
107 |
+
|
108 |
+
/**
|
109 |
+
* Batch filter application method.
|
110 |
+
*
|
111 |
+
* This is the same as calling `by` multiple times with different arguments.
|
112 |
+
*
|
113 |
+
* @since 4.7.19
|
114 |
+
*
|
115 |
+
* @param array $args An associative array of arguments to filter
|
116 |
+
* the posts by in the shape [ <key>, <value> ]. * * @return Tribe__Repository__Read_Interface
|
117 |
+
*/
|
118 |
+
public function by_args( array $args ) {
|
119 |
+
// TODO: Implement by_args() method.
|
120 |
+
}
|
121 |
+
|
122 |
+
/**
|
123 |
+
* Just an alias of the `by` method to allow for easier reading.
|
124 |
+
*
|
125 |
+
* @since 4.7.19
|
126 |
+
*
|
127 |
+
* @param string $key
|
128 |
+
* @param mixed $value
|
129 |
+
*
|
130 |
+
* @return Tribe__Repository__Read_Interface
|
131 |
+
*/
|
132 |
+
public function where( $key, $value = null ) {
|
133 |
+
return $this->by( ...func_get_args() );
|
134 |
+
}
|
135 |
+
|
136 |
+
/**
|
137 |
+
* {@inheritDoc}
|
138 |
+
*
|
139 |
+
* @since 4.9.13
|
140 |
+
*/
|
141 |
+
public function by( $key, $value = null ) {
|
142 |
+
$original_by_key = $key;
|
143 |
+
$key = preg_replace( '/^(on|in)_/', '', $key );
|
144 |
+
|
145 |
+
$call_args = func_get_args();
|
146 |
+
|
147 |
+
$method = 'by_' . $key;
|
148 |
+
|
149 |
+
if ( ! method_exists( $this, $method ) ) {
|
150 |
+
// Redirect the call to the base repository.
|
151 |
+
$this->has_base_filters = true;
|
152 |
+
$this->base_repository()->by( $original_by_key, ...array_slice( $call_args, 1 ) );
|
153 |
+
|
154 |
+
return $this;
|
155 |
+
}
|
156 |
+
|
157 |
+
$this->ensure_args_for_filter( $key, $call_args );
|
158 |
+
|
159 |
+
array_shift( $call_args );
|
160 |
+
|
161 |
+
return $this->{$method}( ...$call_args );
|
162 |
+
}
|
163 |
+
|
164 |
+
/**
|
165 |
+
* Returns the base event repository used by this repository.
|
166 |
+
*
|
167 |
+
* @since 4.9.13
|
168 |
+
*
|
169 |
+
* @return \Tribe__Repository__Interface The base repository instance used by this repository.
|
170 |
+
*/
|
171 |
+
public function base_repository() {
|
172 |
+
if ( null !== $this->base_repository ) {
|
173 |
+
return $this->base_repository;
|
174 |
+
}
|
175 |
+
|
176 |
+
$this->base_repository = tribe_events();
|
177 |
+
|
178 |
+
return $this->base_repository;
|
179 |
+
}
|
180 |
+
|
181 |
+
/**
|
182 |
+
* Sets the page of posts to fetch.
|
183 |
+
*
|
184 |
+
* Mind that this implementation does not support a `by( 'page', 2 )`
|
185 |
+
* filter to force more readable code.
|
186 |
+
*
|
187 |
+
* @since 4.7.19
|
188 |
+
*
|
189 |
+
* @param int $page
|
190 |
+
*
|
191 |
+
* @return Tribe__Repository__Read_Interface
|
192 |
+
*/
|
193 |
+
public function page( $page ) {
|
194 |
+
// TODO: Implement page() method.
|
195 |
+
}
|
196 |
+
|
197 |
+
/**
|
198 |
+
* Sets the number of posts to retrieve per page.
|
199 |
+
*
|
200 |
+
* Mind that this implementation does not support a `by( 'per_page', 5 )`
|
201 |
+
* filter to force more readable code; by default posts per page is set to
|
202 |
+
* the pagination defaults for the post type.
|
203 |
+
*
|
204 |
+
* @param int $per_page
|
205 |
+
*
|
206 |
+
* @return Tribe__Repository__Read_Interface
|
207 |
+
*/
|
208 |
+
public function per_page( $per_page ) {
|
209 |
+
// TODO: Implement per_page() method.
|
210 |
+
}
|
211 |
+
|
212 |
+
/**
|
213 |
+
* Returns the number of posts found matching the query.
|
214 |
+
*
|
215 |
+
* Mind that this value ignores the offset returning the
|
216 |
+
* number of results if limits where not applied.
|
217 |
+
*
|
218 |
+
* @since 4.7.19
|
219 |
+
*
|
220 |
+
* @return int
|
221 |
+
*/
|
222 |
+
public function found() {
|
223 |
+
// TODO: Implement found() method.
|
224 |
+
}
|
225 |
+
|
226 |
+
/**
|
227 |
+
* Returns all posts matching the query.
|
228 |
+
*
|
229 |
+
* Mind that "all" means "all the posts matching all the filters" so pagination applies.
|
230 |
+
*
|
231 |
+
* @return array
|
232 |
+
*/
|
233 |
+
public function all() {
|
234 |
+
// TODO: Implement all() method.
|
235 |
+
}
|
236 |
+
|
237 |
+
/**
|
238 |
+
* Sets the offset on the query.
|
239 |
+
*
|
240 |
+
* Mind that this implementation does not support a `by( 'offset', 2 )`
|
241 |
+
* filter to force more readable code.
|
242 |
+
*
|
243 |
+
* @since 4.7.19
|
244 |
+
*
|
245 |
+
* @param int $offset
|
246 |
+
* @param bool $increment Whether to increment the offset by the value
|
247 |
+
* or replace it.
|
248 |
+
*
|
249 |
+
* @return Tribe__Repository__Read_Interface
|
250 |
+
*/
|
251 |
+
public function offset( $offset, $increment = false ) {
|
252 |
+
// TODO: Implement offset() method.
|
253 |
+
}
|
254 |
+
|
255 |
+
/**
|
256 |
+
* Sets the order on the query.
|
257 |
+
*
|
258 |
+
* Mind that this implementation does not support a `by( 'order', 2 )`
|
259 |
+
* filter to force more readable code.
|
260 |
+
*
|
261 |
+
* @since 4.7.19
|
262 |
+
*
|
263 |
+
* @param string $order
|
264 |
+
*
|
265 |
+
* @return Tribe__Repository__Read_Interface
|
266 |
+
*/
|
267 |
+
public function order( $order = 'ASC' ) {
|
268 |
+
// TODO: Implement order() method.
|
269 |
+
}
|
270 |
+
|
271 |
+
/**
|
272 |
+
* Sets the order criteria results should be fetched by.
|
273 |
+
*
|
274 |
+
* Mind that this implementation does not support a `by( 'order_by', 'title' )`
|
275 |
+
* filter to force more readable code.
|
276 |
+
*
|
277 |
+
* @since 4.7.19
|
278 |
+
*
|
279 |
+
* @param string $order_by The post field, custom field or alias key to order posts by.
|
280 |
+
* @param string $order The order direction; optional; shortcut for the `order` method; defaults
|
281 |
+
* to `DESC`.
|
282 |
+
*
|
283 |
+
* @return Tribe__Repository__Read_Interface
|
284 |
+
*/
|
285 |
+
public function order_by( $order_by, $order = 'DESC' ) {
|
286 |
+
// TODO: Implement order_by() method.
|
287 |
+
}
|
288 |
+
|
289 |
+
/**
|
290 |
+
* Sets the fields that should be returned by the query.
|
291 |
+
*
|
292 |
+
* Mind that this implementation does not support a `by( 'fields', 'ids' )`
|
293 |
+
* filter to force more readable code.
|
294 |
+
*
|
295 |
+
* @since 4.7.19
|
296 |
+
*
|
297 |
+
* @param string $fields
|
298 |
+
*
|
299 |
+
* @return Tribe__Repository__Read_Interface
|
300 |
+
*/
|
301 |
+
public function fields( $fields ) {
|
302 |
+
// TODO: Implement fields() method.
|
303 |
+
}
|
304 |
+
|
305 |
+
/**
|
306 |
+
* Sugar method to set the `post__in` argument.
|
307 |
+
*
|
308 |
+
* Successive calls will stack, not replace each one.
|
309 |
+
*
|
310 |
+
* @since 4.7.19
|
311 |
+
*
|
312 |
+
* @param array|int $post_ids
|
313 |
+
*
|
314 |
+
* @return Tribe__Repository__Read_Interface
|
315 |
+
*/
|
316 |
+
public function in( $post_ids ) {
|
317 |
+
// TODO: Implement in() method.
|
318 |
+
}
|
319 |
+
|
320 |
+
/**
|
321 |
+
* Sugar method to set the `post__not_in` argument.
|
322 |
+
*
|
323 |
+
* Successive calls will stack, not replace each one.
|
324 |
+
*
|
325 |
+
* @since 4.7.19
|
326 |
+
*
|
327 |
+
* @param array|int $post_ids
|
328 |
+
*
|
329 |
+
* @return Tribe__Repository__Read_Interface
|
330 |
+
*/
|
331 |
+
public function not_in( $post_ids ) {
|
332 |
+
// TODO: Implement not_in() method.
|
333 |
+
}
|
334 |
+
|
335 |
+
/**
|
336 |
+
* Sugar method to set the `post_parent__in` argument.
|
337 |
+
*
|
338 |
+
* Successive calls will stack, not replace each one.
|
339 |
+
*
|
340 |
+
* @since 4.7.19
|
341 |
+
*
|
342 |
+
* @param array|int $post_id
|
343 |
+
*
|
344 |
+
* @return Tribe__Repository__Read_Interface
|
345 |
+
*/
|
346 |
+
public function parent( $post_id ) {
|
347 |
+
// TODO: Implement parent() method.
|
348 |
+
}
|
349 |
+
|
350 |
+
/**
|
351 |
+
* Sugar method to set the `post_parent__in` argument.
|
352 |
+
*
|
353 |
+
* Successive calls will stack, not replace each one.
|
354 |
+
*
|
355 |
+
* @since 4.7.19
|
356 |
+
*
|
357 |
+
* @param array $post_ids
|
358 |
+
*
|
359 |
+
* @return Tribe__Repository__Read_Interface
|
360 |
+
*/
|
361 |
+
public function parent_in( $post_ids ) {
|
362 |
+
// TODO: Implement parent_in() method.
|
363 |
+
}
|
364 |
+
|
365 |
+
/**
|
366 |
+
* Sugar method to set the `post_parent__not_in` argument.
|
367 |
+
*
|
368 |
+
* Successive calls will stack, not replace each one.
|
369 |
+
*
|
370 |
+
* @since 4.7.19
|
371 |
+
*
|
372 |
+
* @param array $post_ids
|
373 |
+
*
|
374 |
+
* @return Tribe__Repository__Read_Interface
|
375 |
+
*/
|
376 |
+
public function parent_not_in( $post_ids ) {
|
377 |
+
// TODO: Implement parent_not_in() method.
|
378 |
+
}
|
379 |
+
|
380 |
+
/**
|
381 |
+
* Sugar method to set the `s` argument.
|
382 |
+
*
|
383 |
+
* Successive calls will replace the search string.
|
384 |
+
* This is the default WordPress searh, to search by title,
|
385 |
+
* content or excerpt only use the `title`, `content`, `excerpt` filters.
|
386 |
+
*
|
387 |
+
* @param $search
|
388 |
+
*
|
389 |
+
* @return Tribe__Repository__Read_Interface
|
390 |
+
*/
|
391 |
+
public function search( $search ) {
|
392 |
+
// TODO: Implement search() method.
|
393 |
+
}
|
394 |
+
|
395 |
+
/**
|
396 |
+
* Returns the number of posts found matching the query in the current page.
|
397 |
+
*
|
398 |
+
* While the `found` method will return the number of posts found
|
399 |
+
* across all pages this method will only return the number of
|
400 |
+
* posts found in the current page.
|
401 |
+
* Differently from the `found` method this method will apply the
|
402 |
+
* offset if set.
|
403 |
+
*
|
404 |
+
* @since 4.7.19
|
405 |
+
*
|
406 |
+
* @return int
|
407 |
+
*/
|
408 |
+
public function count() {
|
409 |
+
// TODO: Implement count() method.
|
410 |
+
}
|
411 |
+
|
412 |
+
/**
|
413 |
+
* Returns the first post of the page matching the current query.
|
414 |
+
*
|
415 |
+
* If, by default or because set with the `per_page` method, all
|
416 |
+
* posts matching the query should be returned then this will be
|
417 |
+
* the first post of all those matching the query.
|
418 |
+
*
|
419 |
+
* @since 4.7.19
|
420 |
+
*
|
421 |
+
* @return WP_Post|mixed|null
|
422 |
+
*
|
423 |
+
* @see Tribe__Repository__Read_Interface::per_page()
|
424 |
+
*/
|
425 |
+
public function first() {
|
426 |
+
// TODO: Implement first() method.
|
427 |
+
}
|
428 |
+
|
429 |
+
/**
|
430 |
+
* Returns the last post of the page matching the current query.
|
431 |
+
*
|
432 |
+
* If, by default or because set with the `per_page` method, all
|
433 |
+
* posts matching the query should be returned then this will be
|
434 |
+
* the last post of all those matching the query.
|
435 |
+
*
|
436 |
+
* @since 4.7.19
|
437 |
+
*
|
438 |
+
* @return WP_Post|mixed|null
|
439 |
+
*
|
440 |
+
* @see Tribe__Repository__Read_Interface::per_page()
|
441 |
+
*/
|
442 |
+
public function last() {
|
443 |
+
// TODO: Implement last() method.
|
444 |
+
}
|
445 |
+
|
446 |
+
/**
|
447 |
+
* Returns the nth post (1-based) of the page matching the current query.
|
448 |
+
*
|
449 |
+
* Being 1-based the second post can be fetched using `nth( 2 )`.
|
450 |
+
* If, by default or because set with the `per_page` method, all
|
451 |
+
* posts matching the query should be returned then this will be
|
452 |
+
* the nth post of all those matching the query.
|
453 |
+
*
|
454 |
+
* @since 4.7.19
|
455 |
+
*
|
456 |
+
* @param int $n
|
457 |
+
*
|
458 |
+
* @return WP_Post|mixed|null
|
459 |
+
*
|
460 |
+
* @see Tribe__Repository__Read_Interface::per_page()
|
461 |
+
*/
|
462 |
+
public function nth( $n ) {
|
463 |
+
// TODO: Implement nth() method.
|
464 |
+
}
|
465 |
+
|
466 |
+
/**
|
467 |
+
* Returns the first n posts of the page matching the current query.
|
468 |
+
*
|
469 |
+
* If, by default or because set with the `per_page` method, all
|
470 |
+
* posts matching the query should be returned then this method will
|
471 |
+
* return the first n posts of all those matching the query.
|
472 |
+
*
|
473 |
+
* @since 4.7.19
|
474 |
+
*
|
475 |
+
* @return array An array of posts matching the query.
|
476 |
+
*
|
477 |
+
* @see Tribe__Repository__Read_Interface::per_page()
|
478 |
+
*/
|
479 |
+
public function take( $n ) {
|
480 |
+
// TODO: Implement take() method.
|
481 |
+
}
|
482 |
+
|
483 |
+
/**
|
484 |
+
* Plucks a field from all results and returns it.
|
485 |
+
*
|
486 |
+
* This method will implicitly build and use a `WP_List_Util` instance on the return
|
487 |
+
* value of a call to the `all` method.
|
488 |
+
*
|
489 |
+
* @since 4.9.5
|
490 |
+
*
|
491 |
+
* @param string $field The field to pluck from each result.
|
492 |
+
*
|
493 |
+
* @return array An array of the plucked results.
|
494 |
+
*
|
495 |
+
* @see \wp_list_pluck()
|
496 |
+
*/
|
497 |
+
public function pluck( $field ) {
|
498 |
+
// TODO: Implement pluck() method.
|
499 |
+
}
|
500 |
+
|
501 |
+
/**
|
502 |
+
* Filters the results according to the specified criteria.
|
503 |
+
*
|
504 |
+
* This method will implicitly build and use a `WP_List_Util` instance on the return
|
505 |
+
* value of a call to the `all` method.
|
506 |
+
*
|
507 |
+
* @since 4.9.5
|
508 |
+
*
|
509 |
+
* @param array $args Optional. An array of key => value arguments to match
|
510 |
+
* against each object. Default empty array.
|
511 |
+
* @param string $operator Optional. The logical operation to perform. 'AND' means
|
512 |
+
* all elements from the array must match. 'OR' means only
|
513 |
+
* one element needs to match. 'NOT' means no elements may
|
514 |
+
* match. Default 'AND'.
|
515 |
+
*
|
516 |
+
* @return array An array of the filtered results.
|
517 |
+
*
|
518 |
+
* @see \wp_list_filter()
|
519 |
+
*/
|
520 |
+
public function filter( $args = array(), $operator = 'AND' ) {
|
521 |
+
// TODO: Implement filter() method.
|
522 |
+
}
|
523 |
+
|
524 |
+
/**
|
525 |
+
* Sorts the results according to the specified criteria.
|
526 |
+
*
|
527 |
+
* This method will implicitly build and use a `WP_List_Util` instance on the return
|
528 |
+
* value of a call to the `all` method.
|
529 |
+
*
|
530 |
+
* @since 4.9.5
|
531 |
+
*
|
532 |
+
* @param string|array $orderby Optional. Either the field name to order by or an array
|
533 |
+
* of multiple orderby fields as $orderby => $order.
|
534 |
+
* @param string $order Optional. Either 'ASC' or 'DESC'. Only used if $orderby
|
535 |
+
* is a string.
|
536 |
+
* @param bool $preserve_keys Optional. Whether to preserve keys. Default false.
|
537 |
+
*
|
538 |
+
* @return array An array of the sorted results.
|
539 |
+
*
|
540 |
+
* @see \wp_list_sort()
|
541 |
+
*/
|
542 |
+
public function sort( $orderby = array(), $order = 'ASC', $preserve_keys = false ) {
|
543 |
+
// TODO: Implement sort() method.
|
544 |
+
}
|
545 |
+
|
546 |
+
/**
|
547 |
+
* Builds a collection on the result of the `all()` method call.
|
548 |
+
*
|
549 |
+
* @since 4.9.5
|
550 |
+
*
|
551 |
+
* @return \Tribe__Utils__Post_Collection
|
552 |
+
*/
|
553 |
+
public function collect() {
|
554 |
+
// TODO: Implement collect() method.
|
555 |
+
}
|
556 |
+
|
557 |
+
/**
|
558 |
+
* Gets the ids of the posts matching the query.
|
559 |
+
*
|
560 |
+
* @since 4.9.13
|
561 |
+
*
|
562 |
+
* @return array An array containing the post IDs to update.
|
563 |
+
*/
|
564 |
+
public function get_ids() {
|
565 |
+
return $this->get_sets_ids( $this->get_sets() );
|
566 |
+
}
|
567 |
+
|
568 |
+
/**
|
569 |
+
* Flattens and returns the post IDs of all events in the a sets collection.
|
570 |
+
*
|
571 |
+
* @since 4.9.13
|
572 |
+
*
|
573 |
+
* @param array $sets The sets to parse.
|
574 |
+
*
|
575 |
+
* @return int[] An array of the sets post IDs.
|
576 |
+
*/
|
577 |
+
protected function get_sets_ids( array $sets ) {
|
578 |
+
$ids = array_filter( array_map(
|
579 |
+
static function ( Events_Result_Set $set ) {
|
580 |
+
return $set->pluck( 'ID' );
|
581 |
+
},
|
582 |
+
$sets
|
583 |
+
) );
|
584 |
+
|
585 |
+
if ( ! count( $ids ) ) {
|
586 |
+
return [];
|
587 |
+
}
|
588 |
+
|
589 |
+
$ids = array_values( array_map( 'absint', array_unique( array_merge( ...array_values( $ids ) ) ) ) );
|
590 |
+
|
591 |
+
return $ids;
|
592 |
+
}
|
593 |
+
|
594 |
+
/**
|
595 |
+
* Returns an array of result sets, one for each period day.
|
596 |
+
*
|
597 |
+
* @since 4.9.13
|
598 |
+
*
|
599 |
+
* @return Events_Result_Set[] An array of result sets, in the shape `[ <Y-m-d> => <Event_Result_Set> ]`.
|
600 |
+
*/
|
601 |
+
public function get_sets() {
|
602 |
+
if ( null !== $this->sets ) {
|
603 |
+
// Do we have them here?
|
604 |
+
return $this->get_sub_set( $this->sets, $this->period_start, $this->period_end );
|
605 |
+
}
|
606 |
+
|
607 |
+
$results = $this->query_for_sets( $this->period_start, $this->period_end );
|
608 |
+
|
609 |
+
if ( empty( $results ) ) {
|
610 |
+
// Store the value, do not run again.
|
611 |
+
$this->sets = [];
|
612 |
+
|
613 |
+
return [];
|
614 |
+
}
|
615 |
+
|
616 |
+
$raw_sets = $this->group_sets_by_start_date( $results );
|
617 |
+
|
618 |
+
$sets = $this->cast_sets( $raw_sets );
|
619 |
+
$sets = $this->add_missing_sets( $sets );
|
620 |
+
|
621 |
+
if ( $this->cache_results ) {
|
622 |
+
$this->set_results_cache( $sets );
|
623 |
+
}
|
624 |
+
|
625 |
+
$this->sets = $sets;
|
626 |
+
|
627 |
+
if ( $this->has_base_filters ) {
|
628 |
+
$this->sets = $this->filter_sets_w_base_repository( $sets );
|
629 |
+
}
|
630 |
+
|
631 |
+
return $this->sets;
|
632 |
+
}
|
633 |
+
|
634 |
+
/**
|
635 |
+
* Returns the already fetched set, or a sub-set of it.
|
636 |
+
*
|
637 |
+
* @since 4.9.13
|
638 |
+
*
|
639 |
+
* @param array $sets The sets, by day, to get the subset from.
|
640 |
+
* @param \DateTimeInterface $start The sub-set start.
|
641 |
+
* @param \DateTimeInterface $end The sub-set end.
|
642 |
+
*
|
643 |
+
* @return Events_Result_Set[] The result sub-set, or the whole set if the dates are the same.
|
644 |
+
*/
|
645 |
+
protected function get_sub_set( array $sets, \DateTimeInterface $start, \DateTimeInterface $end ) {
|
646 |
+
// The sets might have been previously fetched and be cached.
|
647 |
+
$days = array_keys( $this->sets );
|
648 |
+
$request_start_ymd = $start->format( Dates::DBDATEFORMAT );
|
649 |
+
$request_end_ymd = $end->format( Dates::DBDATEFORMAT );
|
650 |
+
$same_start = $request_start_ymd === reset( $days );
|
651 |
+
$same_end = $request_end_ymd === end( $days );
|
652 |
+
|
653 |
+
if ( $same_start && $same_end ) {
|
654 |
+
return $this->sets;
|
655 |
+
}
|
656 |
+
|
657 |
+
if ( $request_start_ymd === $request_end_ymd ) {
|
658 |
+
// It's a single day query, just return it.
|
659 |
+
return isset( $this->sets[ $request_start_ymd ] ) ? [ $this->sets[ $request_start_ymd ] ] : [];
|
660 |
+
}
|
661 |
+
|
662 |
+
// Let's restrict results to the current request period.
|
663 |
+
$offset = array_search( $request_start_ymd, $days, true );
|
664 |
+
$length = array_search( $request_end_ymd, $days, true ) - $offset;
|
665 |
+
|
666 |
+
return array_slice( $sets, $offset, $length, true );
|
667 |
+
}
|
668 |
+
|
669 |
+
/**
|
670 |
+
* Queries the database to fetch the sets.
|
671 |
+
*
|
672 |
+
* @since 4.9.13
|
673 |
+
*
|
674 |
+
* @return array|false Either the results of the query, or `false` on error.
|
675 |
+
*/
|
676 |
+
protected function query_for_sets( \DateTimeInterface $start, \DateTimeInterface $end ) {
|
677 |
+
// Let's try and set the LIMIT as high as we can.
|
678 |
+
/** @var \Tribe__Feature_Detection $feature_detection */
|
679 |
+
$feature_detection = tribe( 'feature-detection' );
|
680 |
+
// Results will not be JSON, but this is a good approximation.
|
681 |
+
$example = '{"ID":"23098402348023849","start_date":"2019-11-18 08:00:00",' .
|
682 |
+
'"end_date":"2019-11-18 17:00:00","timezone":"America\/New_York","all_day":null,' .
|
683 |
+
'"post_status":"publish"}';
|
684 |
+
$limit = $feature_detection->mysql_limit_for_string( $example );
|
685 |
+
|
686 |
+
/**
|
687 |
+
* Filters the LIMIT that should be used to fetch event results set from the database.
|
688 |
+
*
|
689 |
+
* Lower this value on less powerful hosts.
|
690 |
+
*
|
691 |
+
* @since 4.9.13
|
692 |
+
*
|
693 |
+
* @param int $limit The SQL LIMIT to use for result set fetching.
|
694 |
+
* @param static $this The current repository instance.
|
695 |
+
* @param \DateTimeInterface $start The period start date.
|
696 |
+
* @param \DateTimeInterface $end The period end date.
|
697 |
+
*/
|
698 |
+
$limit = apply_filters( 'tribe_events_event_period_repository_set_limit', $limit, $this, $start, $end );
|
699 |
+
$limit = absint( $limit );
|
700 |
+
|
701 |
+
$starting_before_period_end = $this->query_for_sets_starting_before_period_end( $limit, $end );
|
702 |
+
|
703 |
+
if ( empty( $starting_before_period_end ) ) {
|
704 |
+
return [];
|
705 |
+
}
|
706 |
+
|
707 |
+
$results = $this->query_for_sets_ending_after_period_start(
|
708 |
+
$limit,
|
709 |
+
$start,
|
710 |
+
array_column( $starting_before_period_end, 'ID' )
|
711 |
+
);
|
712 |
+
|
713 |
+
if ( empty( $results ) ) {
|
714 |
+
return [];
|
715 |
+
}
|
716 |
+
|
717 |
+
$starting_before_period_end = array_combine(
|
718 |
+
array_column( $starting_before_period_end, 'ID' ),
|
719 |
+
$starting_before_period_end
|
720 |
+
);
|
721 |
+
|
722 |
+
foreach ( $results as &$result ) {
|
723 |
+
$result['start_date'] = $starting_before_period_end[ $result['ID'] ]['start_date'];
|
724 |
+
$result['post_status'] = $starting_before_period_end[ $result['ID'] ]['post_status'];
|
725 |
+
}
|
726 |
+
unset( $result );
|
727 |
+
|
728 |
+
$post_ids = array_column( $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 |
+
|
732 |
+
foreach ( $results as &$result ) {
|
733 |
+
$result ['timezone'] = $timezone_details[ $result['ID'] ]['_EventTimezone'];
|
734 |
+
$result ['all_day'] = (bool) $all_day_details[ $result['ID'] ]['_EventAllDay'];
|
735 |
+
}
|
736 |
+
unset( $result );
|
737 |
+
|
738 |
+
return $results;
|
739 |
+
}
|
740 |
+
|
741 |
+
/**
|
742 |
+
* Queries for all the events that start before the period ends.
|
743 |
+
*
|
744 |
+
* @since 4.9.13
|
745 |
+
*
|
746 |
+
* @param int $limit The value of the LIMIT that should be respected to send queries (in respect
|
747 |
+
* to the
|
748 |
+
* `$post_in` parameter) or fetch results (the SQL LIMIT clause). This limit
|
749 |
+
* should be defined using the
|
750 |
+
* `Tribe__Feature_Detection::mysql_limit_for_example` method.
|
751 |
+
* @param \DateTimeInterface $end The period end date.
|
752 |
+
* @param array $post_in An array of post IDs to limit the search to.
|
753 |
+
*
|
754 |
+
* @return array A result set, an array of arrays in the shape `[ <ID> => [ 'ID' => <ID>, 'start_date' =>
|
755 |
+
* <start_date> ] ]`;
|
756 |
+
*/
|
757 |
+
protected function query_for_sets_starting_before_period_end(
|
758 |
+
$limit,
|
759 |
+
\DateTimeInterface $end,
|
760 |
+
array $post_in = []
|
761 |
+
) {
|
762 |
+
global $wpdb;
|
763 |
+
$post_type = TEC::POSTTYPE;
|
764 |
+
|
765 |
+
$query = "
|
766 |
+
SELECT p.ID,
|
767 |
+
p.post_status,
|
768 |
+
start_date.meta_value AS 'start_date'
|
769 |
+
|
770 |
+
FROM {$wpdb->posts} p
|
771 |
+
INNER JOIN {$wpdb->postmeta} start_date
|
772 |
+
ON (p.ID = start_date.post_id AND start_date.meta_key = %s)
|
773 |
+
|
774 |
+
WHERE p.post_type = '{$post_type}'
|
775 |
+
-- Starts before the period ends.
|
776 |
+
AND start_date.meta_value <= %s";
|
777 |
+
|
778 |
+
$prepare_args = [
|
779 |
+
$this->use_site_timezone ? '_EventStartDateUTC' : '_EventStartDate',
|
780 |
+
$end->format( Dates::DBDATETIMEFORMAT ),
|
781 |
+
];
|
782 |
+
|
783 |
+
return $this->query_w_limit( $limit, $query, $prepare_args, $post_in );
|
784 |
+
}
|
785 |
+
|
786 |
+
/**
|
787 |
+
* Runs a query within a SQL LIMIT.
|
788 |
+
*
|
789 |
+
* The method will run multiple queries if the limit is lower than the number of results or the number of post IDs
|
790 |
+
* in the `$post_in` parameter.
|
791 |
+
*
|
792 |
+
* @since 4.9.13
|
793 |
+
*
|
794 |
+
* @param int $limit The value of the LIMIT that should be respected to send queries (in respect to
|
795 |
+
* the `$post_in` parameter) or fetch results (the SQL LIMIT clause). This limit
|
796 |
+
* should be defined using the `Tribe__Feature_Detection::mysql_limit_for_example`
|
797 |
+
* method.
|
798 |
+
* @param string $query The un-prepared SQL query to run, if should contains placeholders in the format
|
799 |
+
* used by the `wpdb::prepare` method.
|
800 |
+
* @param array|null $prepare_args An array of arguments that will be used, in order, to prepare the query using
|
801 |
+
* the
|
802 |
+
* `wpdb::prepare` method.
|
803 |
+
* @param array|null $post_in An array of post IDs that will be used to pivot the query. The `$limit`
|
804 |
+
* parameter will apply to these values too chunking them if they are too many to
|
805 |
+
* avoid hitting MySQL packet size. When applied to post IDs the limit is overly
|
806 |
+
* conservative.
|
807 |
+
*
|
808 |
+
* @return array An array of results. Whether one or more queries ran, the return value will always have the format
|
809 |
+
* a single query run would have.
|
810 |
+
*
|
811 |
+
* @see Tribe__Feature_Detection::mysql_limit_for_example for the method that should be used to set the limit.
|
812 |
+
* @see wpdb::prepare() for the format of the placeholders to use to prepare the query.
|
813 |
+
*/
|
814 |
+
protected function query_w_limit( $limit, $query, array $prepare_args = [], array $post_in = [] ) {
|
815 |
+
global $wpdb;
|
816 |
+
|
817 |
+
$post_in = array_filter( array_unique( array_map( 'absint', $post_in ) ) );
|
818 |
+
|
819 |
+
$prepared = $wpdb->prepare( $query, ...$prepare_args );
|
820 |
+
|
821 |
+
$page = 0;
|
822 |
+
$results = [];
|
823 |
+
$chunk = array_splice( $post_in, 0, $limit );
|
824 |
+
|
825 |
+
do {
|
826 |
+
do {
|
827 |
+
$interval_where_clause = count( $chunk )
|
828 |
+
? 'AND p.ID IN (' . implode( ',', array_map( 'absint', $chunk ) ) . ')'
|
829 |
+
: '';
|
830 |
+
|
831 |
+
$limit_clause = sprintf( 'LIMIT %d,%d', $page * $limit, $limit );
|
832 |
+
|
833 |
+
$page ++;
|
834 |
+
|
835 |
+
$this_query = $prepared . ' ' . $interval_where_clause . ' ' . $limit_clause;
|
836 |
+
$these_results = (array) $wpdb->get_results( $this_query, ARRAY_A );
|
837 |
+
$results[] = $these_results;
|
838 |
+
} while ( $chunk = array_splice( $post_in, 0, $limit ) );
|
839 |
+
} while ( ! empty( $these_results ) && is_array( $these_results ) && count( $these_results ) === $limit );
|
840 |
+
|
841 |
+
return array_merge( ...$results );
|
842 |
+
}
|
843 |
+
|
844 |
+
/**
|
845 |
+
* Queries for all the events that end after the period starts.
|
846 |
+
*
|
847 |
+
* @since 4.9.13
|
848 |
+
*
|
849 |
+
* @param int $limit The value of the LIMIT that should be respected to send queries (in respect
|
850 |
+
* to the
|
851 |
+
* `$post_in` parameter) or fetch results (the SQL LIMIT clause). This limit
|
852 |
+
* should be defined using the
|
853 |
+
* `Tribe__Feature_Detection::mysql_limit_for_example` method.
|
854 |
+
* @param \DateTimeInterface $start The period start date.
|
855 |
+
* @param array $post_in An array of post IDs to limit the search to.
|
856 |
+
*
|
857 |
+
* @return array A result set, an array of arrays in the shape `[ <ID> => [ 'ID' => <ID>, 'end_date' => <end_date>
|
858 |
+
* ] ]`;
|
859 |
+
*/
|
860 |
+
protected function query_for_sets_ending_after_period_start(
|
861 |
+
$limit,
|
862 |
+
\DateTimeInterface $start,
|
863 |
+
array $post_in = []
|
864 |
+
) {
|
865 |
+
global $wpdb;
|
866 |
+
$post_type = TEC::POSTTYPE;
|
867 |
+
|
868 |
+
$query = "
|
869 |
+
SELECT p.ID,
|
870 |
+
end_date.meta_value AS 'end_date'
|
871 |
+
|
872 |
+
FROM {$wpdb->posts} p
|
873 |
+
INNER JOIN {$wpdb->postmeta} end_date
|
874 |
+
ON (p.ID = end_date.post_id AND end_date.meta_key = %s)
|
875 |
+
|
876 |
+
WHERE p.post_type = '{$post_type}'
|
877 |
+
-- Ends after the period starts.
|
878 |
+
AND end_date.meta_value >= %s";
|
879 |
+
|
880 |
+
|
881 |
+
$prepare_args = [
|
882 |
+
$this->use_site_timezone ? '_EventEndDateUTC' : '_EventEndDate',
|
883 |
+
$start->format( Dates::DBDATETIMEFORMAT )
|
884 |
+
];
|
885 |
+
|
886 |
+
return $this->query_w_limit( $limit, $query, $prepare_args, $post_in );
|
887 |
+
}
|
888 |
+
|
889 |
+
/**
|
890 |
+
* Queries the database to fetch all the values of a single meta entry for all the post IDs in the datatbase or in
|
891 |
+
* a defined interval.
|
892 |
+
*
|
893 |
+
* @since 4.9.13
|
894 |
+
*
|
895 |
+
* @param int $limit The value of the LIMIT that should be respected to send queries (in respect
|
896 |
+
* to the
|
897 |
+
* `$post_in` parameter) or fetch results (the SQL LIMIT clause). This limit
|
898 |
+
* should be defined using the
|
899 |
+
* `Tribe__Feature_Detection::mysql_limit_for_example` method.
|
900 |
+
* @param string $meta_key The meta key to fetch from the database, this is the value of the `meta_key`
|
901 |
+
* column, e.g. `_EventTimezone`.
|
902 |
+
* @param array|null $post_ids An array of post IDs to limit the query.
|
903 |
+
* @param string $join The type of JOIN to use; defaults to `INNER`, but `LEFT` should be used when
|
904 |
+
* fetching meta that might be not set for all posts.
|
905 |
+
*
|
906 |
+
* @return array An array of meta results, the post IDs as keys.
|
907 |
+
*
|
908 |
+
* @see Tribe__Feature_Detection::mysql_limit_for_example for the method that should be used to set the limit.
|
909 |
+
* @see wpdb::prepare() for the format of the placeholders to use to prepare the query.
|
910 |
+
*/
|
911 |
+
protected function query_for_meta( $limit, $meta_key, array $post_ids = null, $join = 'INNER' ) {
|
912 |
+
global $wpdb;
|
913 |
+
$post_type = TEC::POSTTYPE;
|
914 |
+
|
915 |
+
$query = "
|
916 |
+
SELECT p.ID, m.meta_value AS %s
|
917 |
+
|
918 |
+
FROM {$wpdb->posts} p
|
919 |
+
{$join} JOIN {$wpdb->postmeta} m
|
920 |
+
ON (p.ID = m.post_id AND m.meta_key = %s)
|
921 |
+
|
922 |
+
WHERE p.post_type = '{$post_type}'";
|
923 |
+
|
924 |
+
$prepare_args = [ $meta_key, $meta_key ];
|
925 |
+
|
926 |
+
$results = $this->query_w_limit( $limit, $query, $prepare_args, $post_ids );
|
927 |
+
|
928 |
+
return array_combine( array_column( $results, 'ID' ), $results );
|
929 |
+
}
|
930 |
+
|
931 |
+
/**
|
932 |
+
* Groups a set of raw database results by start date.
|
933 |
+
*
|
934 |
+
* @since 4.9.13
|
935 |
+
*
|
936 |
+
* @param array $results A raw set of database results.
|
937 |
+
*
|
938 |
+
* @return array The database results, grouped by days, in the shape `[ <Y-m-d> => [ ...<results> ] ]`. Each result
|
939 |
+
* is an instance `Event_Result`.
|
940 |
+
*/
|
941 |
+
protected function group_sets_by_start_date( $results ) {
|
942 |
+
if ( empty( $results ) || ! is_array( $results ) ) {
|
943 |
+
return [];
|
944 |
+
}
|
945 |
+
|
946 |
+
$site_timezone = Timezones::build_timezone_object();
|
947 |
+
|
948 |
+
$use_site_timezone = $this->use_site_timezone;
|
949 |
+
|
950 |
+
$one_day = Dates::interval( 'P1D' );
|
951 |
+
|
952 |
+
$sets_by_day = array_reduce( $results,
|
953 |
+
static function ( array $buffer, array $result ) use ( $use_site_timezone, $site_timezone, $one_day ) {
|
954 |
+
$display_timezone = $use_site_timezone
|
955 |
+
? $site_timezone
|
956 |
+
: Timezones::build_timezone_object( $result['timezone'] );
|
957 |
+
$start_date = Dates::build_date_object( $result['start_date'], $display_timezone );
|
958 |
+
$end_date = Dates::build_date_object( $result['end_date'], $display_timezone );
|
959 |
+
if (
|
960 |
+
$start_date->format( Dates::DBDATEFORMAT ) === $end_date->format( Dates::DBDATEFORMAT )
|
961 |
+
) {
|
962 |
+
$overlapping_days = [ $start_date->format( Dates::DBDATEFORMAT ) ];
|
963 |
+
} else {
|
964 |
+
/*
|
965 |
+
* "Move" the end date, adding a day to it, to make sure the end date is included in the period.
|
966 |
+
* Else multi-day events would only overlap the first two dates.
|
967 |
+
*/
|
968 |
+
$moved_end_date = clone $end_date;
|
969 |
+
$moved_end_date->add( $one_day );
|
970 |
+
$period = new \DatePeriod( $start_date, $one_day, $moved_end_date );
|
971 |
+
$overlapping_days = [];
|
972 |
+
/** @var \DateTimeInterface $d */
|
973 |
+
foreach ( $period as $d ) {
|
974 |
+
// This is skipping the end day on multi-day events.
|
975 |
+
$overlapping_days[] = $d->format( Dates::DBDATEFORMAT );
|
976 |
+
// Sanity check: break when the current day is equal to the event end date.
|
977 |
+
$reached_end = $d->format( Dates::DBDATEFORMAT )
|
978 |
+
=== $end_date->format( Dates::DBDATEFORMAT );
|
979 |
+
if ( $reached_end ) {
|
980 |
+
break;
|
981 |
+
}
|
982 |
+
}
|
983 |
+
}
|
984 |
+
|
985 |
+
// Normalize the timezone to the site one.
|
986 |
+
$result['start_date'] = $start_date->setTimezone( $site_timezone )->format( 'Y-m-d H:i:s' );
|
987 |
+
$result['end_date'] = $end_date->setTimezone( $site_timezone )->format( Dates::DBDATEFORMAT );
|
988 |
+
|
989 |
+
foreach ( $overlapping_days as $overlap_day ) {
|
990 |
+
if ( isset( $buffer[ $overlap_day ] ) ) {
|
991 |
+
$buffer[ $overlap_day ][] = new Event_Result( $result );
|
992 |
+
} else {
|
993 |
+
$buffer[ $overlap_day ] = [ new Event_Result( $result ) ];
|
994 |
+
}
|
995 |
+
}
|
996 |
+
|
997 |
+
return $buffer;
|
998 |
+
}, [] );
|
999 |
+
|
1000 |
+
|
1001 |
+
return $sets_by_day;
|
1002 |
+
}
|
1003 |
+
|
1004 |
+
/**
|
1005 |
+
* Casts each set to an `Event_Result_Set`.
|
1006 |
+
*
|
1007 |
+
* @since 4.9.13
|
1008 |
+
*
|
1009 |
+
* @param array $raw_sets The raw sets.
|
1010 |
+
*
|
1011 |
+
* @return array The set, each element cast to an `Event_Result_Set`.
|
1012 |
+
*/
|
1013 |
+
protected function cast_sets( array $raw_sets ) {
|
1014 |
+
$sets = array_combine(
|
1015 |
+
array_keys( $raw_sets ),
|
1016 |
+
array_map( static function ( $raw_set ) {
|
1017 |
+
return Events_Result_Set::from_value( $raw_set );
|
1018 |
+
}, $raw_sets )
|
1019 |
+
);
|
1020 |
+
|
1021 |
+
return $sets;
|
1022 |
+
}
|
1023 |
+
|
1024 |
+
/**
|
1025 |
+
* Adds to the sets any missing day.
|
1026 |
+
*
|
1027 |
+
* @since 4.9.13
|
1028 |
+
*
|
1029 |
+
* @param array $sets The current sets, by day.
|
1030 |
+
*
|
1031 |
+
* @return array The filled sets.
|
1032 |
+
*/
|
1033 |
+
protected function add_missing_sets( array $sets ) {
|
1034 |
+
$period = new \DatePeriod( $this->period_start, Dates::interval( 'P1D' ), $this->period_end );
|
1035 |
+
foreach ( $period as $day ) {
|
1036 |
+
$day_string = $day->format( Dates::DBDATEFORMAT );
|
1037 |
+
if ( ! array_key_exists( $day_string, $sets ) ) {
|
1038 |
+
$sets[ $day_string ] = new Events_Result_Set();
|
1039 |
+
}
|
1040 |
+
}
|
1041 |
+
|
1042 |
+
ksort( $sets );
|
1043 |
+
|
1044 |
+
return $sets;
|
1045 |
+
}
|
1046 |
+
|
1047 |
+
/**
|
1048 |
+
* Caches the resulting sets using `Tribe__Cache`.
|
1049 |
+
*
|
1050 |
+
* As a result sets might be cached either in a real object cache or in transients.
|
1051 |
+
*
|
1052 |
+
* @param array $sets The sets to cache.
|
1053 |
+
*/
|
1054 |
+
protected function set_results_cache( $sets ) {
|
1055 |
+
$days = array_keys( $sets );
|
1056 |
+
// EOD cutoff does not apply here, we just do it for the interval.
|
1057 |
+
$start = Dates::build_date_object( reset( $days ) )->setTime( 0, 0, 0 );
|
1058 |
+
$end = Dates::build_date_object( end( $days ) )->setTime( 23, 59, 59 );
|
1059 |
+
$one_day = Dates::interval( 'P1D' );
|
1060 |
+
$request_period = new \DatePeriod( $start, $one_day, $end );
|
1061 |
+
|
1062 |
+
/** @var \Tribe__Cache $cache */
|
1063 |
+
$cache = tribe( 'cache' );
|
1064 |
+
$trigger = Cache_Listener::TRIGGER_SAVE_POST;
|
1065 |
+
|
1066 |
+
$periods_key = static::get_cache_key( 'periods' );
|
1067 |
+
$cached_periods = $cache->get_transient( $periods_key, $trigger );
|
1068 |
+
$cached_periods[] = [ $start->format( Dates::DBDATEFORMAT ), $end->format( Dates::DBDATEFORMAT ) ];
|
1069 |
+
$cache->set_transient( $periods_key, $cached_periods, WEEK_IN_SECONDS, $trigger );
|
1070 |
+
|
1071 |
+
/** @var \DateTime $day */
|
1072 |
+
foreach ( $request_period as $day ) {
|
1073 |
+
$day_string = $day->format( Dates::DBDATEFORMAT );
|
1074 |
+
$day_event_results = Arr::get( $sets, $day_string, [] );
|
1075 |
+
$cache->set_transient(
|
1076 |
+
static::get_cache_key( $day_string . '_set' ),
|
1077 |
+
$day_event_results,
|
1078 |
+
WEEK_IN_SECONDS,
|
1079 |
+
$trigger
|
1080 |
+
);
|
1081 |
+
}
|
1082 |
+
}
|
1083 |
+
|
1084 |
+
/**
|
1085 |
+
* Returns the full cache key for a partial key.
|
1086 |
+
*
|
1087 |
+
* @since 4.9.13
|
1088 |
+
*
|
1089 |
+
* @param string $key The partial key.
|
1090 |
+
*
|
1091 |
+
* @return string The full cache key.
|
1092 |
+
*/
|
1093 |
+
private static function get_cache_key( $key ) {
|
1094 |
+
$key = preg_replace( '/^tribe_event_period_repository_/', '', $key );
|
1095 |
+
|
1096 |
+
return 'tribe_event_period_repository_' . $key;
|
1097 |
+
}
|
1098 |
+
|
1099 |
+
/**
|
1100 |
+
* Further filters the sets using a default event repository to handle the non-period related filters.
|
1101 |
+
*
|
1102 |
+
* @since 4.9.13
|
1103 |
+
*
|
1104 |
+
* @param array $sets The sets found by this repository so far.
|
1105 |
+
*/
|
1106 |
+
protected function filter_sets_w_base_repository( array $sets ) {
|
1107 |
+
// Restrict the base repository to only operate on the IDs we already have.
|
1108 |
+
$matching_ids = $this->base_repository->in( $this->get_sets_ids( $sets ) )->get_ids();
|
1109 |
+
|
1110 |
+
if ( empty( $matching_ids ) ) {
|
1111 |
+
return [];
|
1112 |
+
}
|
1113 |
+
|
1114 |
+
/** @var Events_Result_Set $set */
|
1115 |
+
$filtered_sets = array_map( static function ( Events_Result_Set $set ) use ( $matching_ids ) {
|
1116 |
+
return $set->filter( static function ( Event_Result $result ) use ( $matching_ids ) {
|
1117 |
+
return in_array( $result->id(), $matching_ids, true );
|
1118 |
+
} );
|
1119 |
+
}, $sets );
|
1120 |
+
|
1121 |
+
return $filtered_sets;
|
1122 |
+
}
|
1123 |
+
|
1124 |
+
/**
|
1125 |
+
* An alias of the `get_sets` method to stick with the convention of naming database-querying methods w/ "fetch".
|
1126 |
+
*
|
1127 |
+
* This method will "warm up" the instance cache of the repository fetching the events in the period.
|
1128 |
+
*
|
1129 |
+
* @since 4.9.13
|
1130 |
+
*/
|
1131 |
+
public function fetch() {
|
1132 |
+
$this->get_sets();
|
1133 |
+
}
|
1134 |
+
|
1135 |
+
/**
|
1136 |
+
* Short-hand to fetch events for a single date.
|
1137 |
+
*
|
1138 |
+
* A wrapper around the `by_period` method.
|
1139 |
+
*
|
1140 |
+
* @since 4.9.13
|
1141 |
+
*
|
1142 |
+
* @param string|int|\DateTimeInterface $date The day date.
|
1143 |
+
*
|
1144 |
+
* @return $this For chaining.
|
1145 |
+
*/
|
1146 |
+
public function by_date( $date ) {
|
1147 |
+
$normalized = Dates::build_date_object( $date )->format( Dates::DBDATEFORMAT );
|
1148 |
+
|
1149 |
+
return $this->by_period( tribe_beginning_of_day( $normalized ), tribe_end_of_day( $normalized ) );
|
1150 |
+
}
|
1151 |
+
|
1152 |
+
/**
|
1153 |
+
* Sets up the filter to fetch events sets in a period.
|
1154 |
+
*
|
1155 |
+
* @since 4.9.13
|
1156 |
+
*
|
1157 |
+
* @param string|int|\DateTimeInterface $start_date The period start date.
|
1158 |
+
* @param string|int|\DateTimeInterface $end_date The period end date.
|
1159 |
+
*
|
1160 |
+
* @return static For chaining.
|
1161 |
+
*/
|
1162 |
+
public function by_period( $start_date, $end_date ) {
|
1163 |
+
if ( null !== $this->sets ) {
|
1164 |
+
// Do we REALLY need to re-fetch?
|
1165 |
+
$the_start = Dates::build_date_object( $start_date );
|
1166 |
+
$the_end = Dates::build_date_object( $end_date );
|
1167 |
+
$set_days = array_keys( $this->sets );
|
1168 |
+
|
1169 |
+
if (
|
1170 |
+
$the_start->format( Dates::DBDATEFORMAT ) < reset( $set_days )
|
1171 |
+
|| $the_end->format( Dates::DBDATEFORMAT ) > end( $set_days )
|
1172 |
+
) {
|
1173 |
+
// We need to re-fetch.
|
1174 |
+
$this->sets = null;
|
1175 |
+
}
|
1176 |
+
}
|
1177 |
+
|
1178 |
+
$this->period_start = Dates::build_date_object( $start_date );
|
1179 |
+
$this->period_end = Dates::build_date_object( $end_date );
|
1180 |
+
$this->use_site_timezone = Timezones::is_mode( Timezones::SITE_TIMEZONE );
|
1181 |
+
|
1182 |
+
if ( $this->sets === null && $this->cache_results ) {
|
1183 |
+
// Maybe fetch them from the cache?
|
1184 |
+
$this->sets = $this->fetch_cached_sets();
|
1185 |
+
}
|
1186 |
+
|
1187 |
+
return $this;
|
1188 |
+
}
|
1189 |
+
|
1190 |
+
/**
|
1191 |
+
* Try and fetch sets from cache to share data between diff. instances of the repository.
|
1192 |
+
*
|
1193 |
+
* In cache we store periods.
|
1194 |
+
* A cached period has a start and an end.
|
1195 |
+
* If the current request period overlaps a cached period, then we fetch sets for each day in the period from the
|
1196 |
+
* cache.
|
1197 |
+
*
|
1198 |
+
* @since 4.9.13
|
1199 |
+
*
|
1200 |
+
* @return array|null Either a set of results fetched from the cache, or `null` if nothing was found in cache.
|
1201 |
+
*/
|
1202 |
+
protected function fetch_cached_sets() {
|
1203 |
+
/** @var \Tribe__Cache $cache */
|
1204 |
+
$cache = tribe( 'cache' );
|
1205 |
+
$trigger = Cache_Listener::TRIGGER_SAVE_POST;
|
1206 |
+
// Try and fetch them from the shared cache.
|
1207 |
+
$periods_key = static::get_cache_key( 'periods' );
|
1208 |
+
|
1209 |
+
$cached_periods = (array)$cache->get_transient( $periods_key, $trigger );
|
1210 |
+
|
1211 |
+
foreach ( $cached_periods as list( $start_date, $end_date ) ) {
|
1212 |
+
if (
|
1213 |
+
$this->period_start->format( Dates::DBDATEFORMAT ) <= $end_date
|
1214 |
+
&& $this->period_end->format( Dates::DBDATEFORMAT ) >= $start_date
|
1215 |
+
) {
|
1216 |
+
$sets = [];
|
1217 |
+
$period = new \DatePeriod(
|
1218 |
+
$this->period_start,
|
1219 |
+
Dates::interval( 'P1D' ),
|
1220 |
+
$this->period_end
|
1221 |
+
);
|
1222 |
+
/** @var \DateTimeInterface $day */
|
1223 |
+
foreach ( $period as $day ) {
|
1224 |
+
$day_string = $day->format( Dates::DBDATEFORMAT );
|
1225 |
+
|
1226 |
+
$sets[ $day_string ] = unserialize( $cache->get_transient(
|
1227 |
+
static::get_cache_key( $day_string . '_set' ),
|
1228 |
+
$trigger
|
1229 |
+
) );
|
1230 |
+
}
|
1231 |
+
|
1232 |
+
return $sets;
|
1233 |
+
break;
|
1234 |
+
}
|
1235 |
+
}
|
1236 |
+
|
1237 |
+
return null;
|
1238 |
+
}
|
1239 |
+
|
1240 |
+
/**
|
1241 |
+
* Shorthand method to get the first set of a search.
|
1242 |
+
*
|
1243 |
+
* @since 4.9.13
|
1244 |
+
*
|
1245 |
+
* @return Events_Result_Set Either the first found set, or an empty set.
|
1246 |
+
*/
|
1247 |
+
public function get_set() {
|
1248 |
+
$sets = $this->get_sets();
|
1249 |
+
|
1250 |
+
return count( $sets ) ? reset( $sets ) : new Events_Result_Set;
|
1251 |
+
}
|
1252 |
+
|
1253 |
+
/**
|
1254 |
+
* Sets, or unsets if the passed value is `null`, the base repository used by this repository.
|
1255 |
+
*
|
1256 |
+
* @since 4.9.13
|
1257 |
+
*
|
1258 |
+
* @param Core_Read_Interface $base_repository The base repository this repository should use; a `null` value will
|
1259 |
+
* unset it.
|
1260 |
+
*/
|
1261 |
+
public function set_base_repository( Core_Read_Interface $base_repository = null ) {
|
1262 |
+
$this->base_repository = $base_repository;
|
1263 |
+
}
|
1264 |
+
}
|
src/Tribe/Views/V2/Repository/Event_Result.php
ADDED
@@ -0,0 +1,182 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* A value object representing an event query database result and the minimal entity of information required to work
|
4 |
+
* with events.
|
5 |
+
*
|
6 |
+
* @since 4.9.13
|
7 |
+
*
|
8 |
+
* @package Tribe\Events\Views\V2\Repository
|
9 |
+
*/
|
10 |
+
|
11 |
+
namespace Tribe\Events\Views\V2\Repository;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Class Event_Result
|
15 |
+
*
|
16 |
+
* @since 4.9.13
|
17 |
+
*
|
18 |
+
* @package Tribe\Events\Views\V2\Repository
|
19 |
+
*/
|
20 |
+
class Event_Result {
|
21 |
+
|
22 |
+
/**
|
23 |
+
* An array of data keys that are required for an event result to be valid.
|
24 |
+
*
|
25 |
+
* @since 4.9.13
|
26 |
+
*
|
27 |
+
* @var array
|
28 |
+
*/
|
29 |
+
protected static $required_keys = [ 'ID', 'post_status', 'start_date', 'end_date', 'timezone', 'all_day' ];
|
30 |
+
/**
|
31 |
+
* The data wrapped by the value object.
|
32 |
+
*
|
33 |
+
* @since 4.9.13
|
34 |
+
*
|
35 |
+
* @var array
|
36 |
+
*/
|
37 |
+
protected $data = [];
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Event_Result constructor.
|
41 |
+
*
|
42 |
+
* @param array $result
|
43 |
+
*/
|
44 |
+
public function __construct( array $data ) {
|
45 |
+
foreach ( static::$required_keys as $required_key ) {
|
46 |
+
if ( ! array_key_exists( $required_key, $data ) ) {
|
47 |
+
throw new \InvalidArgumentException( 'The "' . $required_key . '" data key is missing!' );
|
48 |
+
}
|
49 |
+
}
|
50 |
+
$this->data = $data;
|
51 |
+
// Normalized the `all_day` flag property.
|
52 |
+
$this->data['all_day'] = ! empty( $this->data['all_day'] );
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Builds and returns a result set from an array of values.
|
57 |
+
*
|
58 |
+
* @since 4.9.13
|
59 |
+
*
|
60 |
+
* @param array $value The value to build the instance from.
|
61 |
+
*
|
62 |
+
* @return static An result instance.
|
63 |
+
*/
|
64 |
+
public static function from_value( $value ) {
|
65 |
+
return $value instanceof static ? $value : new static( $value );
|
66 |
+
}
|
67 |
+
|
68 |
+
/**
|
69 |
+
* Returns the event post ID.
|
70 |
+
*
|
71 |
+
* @since 4.9.13
|
72 |
+
*
|
73 |
+
* @return int The event post ID.
|
74 |
+
*/
|
75 |
+
public function id() {
|
76 |
+
return (int) $this->data['ID'];
|
77 |
+
}
|
78 |
+
|
79 |
+
/**
|
80 |
+
* Returns the event start date in the site timezone.
|
81 |
+
*
|
82 |
+
* @since 4.9.13
|
83 |
+
*
|
84 |
+
* @return string The event start date and time, in the `Y-m-d H:i:s` format.
|
85 |
+
*/
|
86 |
+
public function start_date() {
|
87 |
+
return $this->data['start_date'];
|
88 |
+
}
|
89 |
+
|
90 |
+
/**
|
91 |
+
* Returns the event end date in the site timezone.
|
92 |
+
*
|
93 |
+
* @since 4.9.13
|
94 |
+
*
|
95 |
+
* @return string The event end date and time, in the `Y-m-d H:i:s` format.
|
96 |
+
*/
|
97 |
+
public function end_date() {
|
98 |
+
return $this->data['end_date'];
|
99 |
+
}
|
100 |
+
|
101 |
+
/**
|
102 |
+
* Returns the event timezone string.
|
103 |
+
*
|
104 |
+
* @since 4.9.13
|
105 |
+
*
|
106 |
+
* @return string The event timezone string.
|
107 |
+
*/
|
108 |
+
public function timezone() {
|
109 |
+
return $this->data['timezone'];
|
110 |
+
}
|
111 |
+
|
112 |
+
/**
|
113 |
+
* Returns a flag indicating whether the event is an all-day one or not.
|
114 |
+
*
|
115 |
+
* @since 4.9.13
|
116 |
+
*
|
117 |
+
* @return bool Whether the event is an all-day one or not.
|
118 |
+
*/
|
119 |
+
public function all_day() {
|
120 |
+
return $this->data['all_day'];
|
121 |
+
}
|
122 |
+
|
123 |
+
/**
|
124 |
+
* Returns the event post status.
|
125 |
+
*
|
126 |
+
* @since 4.9.13
|
127 |
+
*
|
128 |
+
* @return bool The event post status.
|
129 |
+
*/
|
130 |
+
public function status() {
|
131 |
+
return $this->data['post_status'];
|
132 |
+
}
|
133 |
+
|
134 |
+
/**
|
135 |
+
* Dumps the event result data to array.
|
136 |
+
*
|
137 |
+
* @since 4.9.13
|
138 |
+
*
|
139 |
+
* @return array The event result data.
|
140 |
+
*/
|
141 |
+
public function to_array() {
|
142 |
+
return $this->data;
|
143 |
+
}
|
144 |
+
|
145 |
+
public function __get( $name ) {
|
146 |
+
if ( isset( $this->data[ $name ] ) ) {
|
147 |
+
return $this->data[ $name ];
|
148 |
+
}
|
149 |
+
|
150 |
+
throw new \InvalidArgumentException( 'Property "' . $name . '" is not accessible or defined on Event Result.' );
|
151 |
+
}
|
152 |
+
|
153 |
+
/**
|
154 |
+
* Sets a property on the result, returning a modified clone.
|
155 |
+
*
|
156 |
+
* @since 4.9.13
|
157 |
+
*
|
158 |
+
* @param string $name The name of the property to set.
|
159 |
+
* @param mixed $value The property value.
|
160 |
+
*
|
161 |
+
* @return Event_Result A clone of this result.
|
162 |
+
*/
|
163 |
+
public function __set( $name, $value ) {
|
164 |
+
$clone = clone $this;
|
165 |
+
$clone->{$name} = $value;
|
166 |
+
|
167 |
+
return $clone;
|
168 |
+
}
|
169 |
+
|
170 |
+
/**
|
171 |
+
* Checks whether a data entry is set or not.
|
172 |
+
*
|
173 |
+
* @since 4.9.13
|
174 |
+
*
|
175 |
+
* @param string $name The name of the data entry to set.
|
176 |
+
*
|
177 |
+
* @return bool Whether a data entry is set or not.
|
178 |
+
*/
|
179 |
+
public function __isset( $name ) {
|
180 |
+
return isset( $this->data[ $name ] );
|
181 |
+
}
|
182 |
+
}
|
src/Tribe/Views/V2/Repository/Events_Result_Set.php
ADDED
@@ -0,0 +1,169 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* A collection of Event_Results.
|
4 |
+
*
|
5 |
+
* @since 4.9.13
|
6 |
+
*
|
7 |
+
* @package Tribe\Events\Views\V2\Repository
|
8 |
+
*/
|
9 |
+
|
10 |
+
namespace Tribe\Events\Views\V2\Repository;
|
11 |
+
|
12 |
+
use Tribe\Utils\Collection_Interface;
|
13 |
+
use Tribe\Utils\Collection_Trait;
|
14 |
+
use Tribe__Utils__Array as Arr;
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Class Events_Result_Set
|
18 |
+
*
|
19 |
+
* @since 4.9.13
|
20 |
+
*
|
21 |
+
* @package Tribe\Events\Views\V2\Repository
|
22 |
+
*/
|
23 |
+
class Events_Result_Set implements Collection_Interface {
|
24 |
+
use Collection_Trait;
|
25 |
+
|
26 |
+
/**
|
27 |
+
* An array of event results in this result set.
|
28 |
+
*
|
29 |
+
* @since 4.9.13
|
30 |
+
*
|
31 |
+
* @var array
|
32 |
+
*/
|
33 |
+
protected $items;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Events_Result_Set constructor.
|
37 |
+
*
|
38 |
+
* @param Event_Result[]|array $event_results An array of event results.
|
39 |
+
*/
|
40 |
+
public function __construct( array $event_results = [] ) {
|
41 |
+
$this->items = $this->normalize_event_results( $event_results );
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Builds a result set from different type of values.
|
46 |
+
*
|
47 |
+
* @since 4.9.13
|
48 |
+
*
|
49 |
+
* @param mixed $value A result set, that will be returned intact, an array of event results
|
50 |
+
*
|
51 |
+
* @return Events_Result_Set The original set, a set built on an array of `Event_Result` instances, or a set
|
52 |
+
* built on an empty array if the set could not be built.
|
53 |
+
*/
|
54 |
+
public static function from_value( $value ) {
|
55 |
+
if ( $value instanceof Events_Result_Set ) {
|
56 |
+
return $value;
|
57 |
+
}
|
58 |
+
|
59 |
+
if ( is_array( $value ) ) {
|
60 |
+
try {
|
61 |
+
return new Events_Result_Set( $value );
|
62 |
+
} catch ( \Exception $e ) {
|
63 |
+
return new Events_Result_Set( [] );
|
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 ) ) {
|
77 |
+
throw new \InvalidArgumentException( 'Order "' . $order . '" is not supported, only "ASC" and "DESC" are.' );
|
78 |
+
}
|
79 |
+
|
80 |
+
// @todo @be here support more ordering criteria than date.
|
81 |
+
$order_by_key_map = [
|
82 |
+
'event_date' => 'start_date',
|
83 |
+
];
|
84 |
+
|
85 |
+
$order_by_key = Arr::get( $order_by_key_map, $order_by, 'start_date' );
|
86 |
+
|
87 |
+
/*
|
88 |
+
* The `wp_list_sort` function will convert each element of the set in an array.
|
89 |
+
* Since we cannot control that `(array)$item` cast, we pre-convert each
|
90 |
+
* element into an array and convert it back to a set of `Event_Result` after the sorting.
|
91 |
+
*/
|
92 |
+
$this->items = static::from_value(
|
93 |
+
wp_list_sort(
|
94 |
+
$this->to_array(),
|
95 |
+
$order_by_key,
|
96 |
+
$order
|
97 |
+
)
|
98 |
+
);
|
99 |
+
|
100 |
+
return $this;
|
101 |
+
}
|
102 |
+
|
103 |
+
/**
|
104 |
+
* {@inheritDoc}
|
105 |
+
*/
|
106 |
+
public function all() {
|
107 |
+
return $this->items;
|
108 |
+
}
|
109 |
+
|
110 |
+
/**
|
111 |
+
* {@inheritDoc}
|
112 |
+
*/
|
113 |
+
public function jsonSerialize() {
|
114 |
+
return wp_json_encode( $this->items );
|
115 |
+
}
|
116 |
+
|
117 |
+
/**
|
118 |
+
* Plucks a key from all the event results in the collection.
|
119 |
+
*
|
120 |
+
* @since 4.9.13
|
121 |
+
*
|
122 |
+
* @param string $column The key to pluck.
|
123 |
+
*
|
124 |
+
* @return array An array of all the values associated to the key for each event result in the set.
|
125 |
+
*/
|
126 |
+
public function pluck( $column ) {
|
127 |
+
return wp_list_pluck( $this->items, $column );
|
128 |
+
}
|
129 |
+
|
130 |
+
/**
|
131 |
+
* Iterates over the result set and to return the array version of each result.
|
132 |
+
*
|
133 |
+
* @since 4.9.13
|
134 |
+
*
|
135 |
+
* @return array An array of arrays, each one the array version of an `Event_Result`.
|
136 |
+
*/
|
137 |
+
public function to_array() {
|
138 |
+
return array_map( static function ( Event_Result $event_result ) {
|
139 |
+
return $event_result->to_array();
|
140 |
+
}, $this->items );
|
141 |
+
}
|
142 |
+
|
143 |
+
/**
|
144 |
+
* Overrides the base `Collection_Trait` implementation to normalize all the items in the result set.
|
145 |
+
*
|
146 |
+
* @since 4.9.13
|
147 |
+
*
|
148 |
+
* @param string $data The serialized data.
|
149 |
+
*/
|
150 |
+
public function unserialize( $data ) {
|
151 |
+
$event_results = unserialize( $data );
|
152 |
+
$this->items = $this->normalize_event_results( $event_results );
|
153 |
+
}
|
154 |
+
|
155 |
+
/**
|
156 |
+
* Normalizes the event results in this set ensuring each one is an instance of `Event_Result`.
|
157 |
+
*
|
158 |
+
* @since 4.9.13
|
159 |
+
*
|
160 |
+
* @param array $event_results A set of event results in array or object format..
|
161 |
+
*
|
162 |
+
* @return Event_Result[] The normalized set of results.
|
163 |
+
*/
|
164 |
+
protected function normalize_event_results( array $event_results ) {
|
165 |
+
return array_map( static function ( $result ) {
|
166 |
+
return Event_Result::from_value( $result );
|
167 |
+
}, $event_results );
|
168 |
+
}
|
169 |
+
}
|
src/Tribe/Views/V2/Service_Provider.php
CHANGED
@@ -24,8 +24,9 @@ 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 |
|
30 |
return;
|
31 |
}
|
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 |
}
|
src/Tribe/Views/V2/Template.php
CHANGED
@@ -12,6 +12,7 @@ use Tribe\Traits\Cache_User;
|
|
12 |
use Tribe__Repository__Interface as Repository_Interface;
|
13 |
use Tribe__Template as Base_Template;
|
14 |
use Tribe__Utils__Array as Arr;
|
|
|
15 |
|
16 |
/**
|
17 |
* Class Template
|
@@ -155,6 +156,25 @@ class Template extends Base_Template {
|
|
155 |
return parent::get_template_file( 'base' );
|
156 |
}
|
157 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
158 |
/**
|
159 |
* Returns the absolute path to the view "not found" template file.
|
160 |
*
|
12 |
use Tribe__Repository__Interface as Repository_Interface;
|
13 |
use Tribe__Template as Base_Template;
|
14 |
use Tribe__Utils__Array as Arr;
|
15 |
+
use WP_Post;
|
16 |
|
17 |
/**
|
18 |
* Class Template
|
156 |
return parent::get_template_file( 'base' );
|
157 |
}
|
158 |
|
159 |
+
/**
|
160 |
+
* Sets up the post data and replace the global post variable on all required places.
|
161 |
+
*
|
162 |
+
* @since 4.9.13
|
163 |
+
*
|
164 |
+
* @param WP_Post $event Which event will replace the Post for the templates
|
165 |
+
*
|
166 |
+
* @return bool|void Returns whatever WP_Query::setup_postdata() sends back.
|
167 |
+
*/
|
168 |
+
public function setup_postdata( WP_Post $event ) {
|
169 |
+
global $post, $wp_query;
|
170 |
+
|
171 |
+
// Replace the global $post with the event given.
|
172 |
+
$post = $event;
|
173 |
+
|
174 |
+
// Setup Post data with the info passed.
|
175 |
+
return $wp_query->setup_postdata( $post );
|
176 |
+
}
|
177 |
+
|
178 |
/**
|
179 |
* Returns the absolute path to the view "not found" template file.
|
180 |
*
|
src/Tribe/Views/V2/Template/Excerpt.php
CHANGED
@@ -63,24 +63,12 @@ class Excerpt extends Base_Template {
|
|
63 |
* @return string The excerpt read more link modified, if necessary.
|
64 |
*/
|
65 |
public function maybe_filter_excerpt_more( $link ) {
|
66 |
-
/**
|
67 |
-
* Because `maybe_filter_excerpt_more` needs to call `tribe_get_event` it creates
|
68 |
-
* a infinite loop with adding excerpt calls again.
|
69 |
-
*/
|
70 |
-
remove_filter( 'excerpt_more', [ tribe( Hooks::class ), 'filter_excerpt_more' ], 50 );
|
71 |
-
|
72 |
if ( is_admin() ) {
|
73 |
return $link;
|
74 |
}
|
75 |
|
76 |
$event = tribe_get_event( get_the_ID() );
|
77 |
|
78 |
-
/**
|
79 |
-
* Because `maybe_filter_excerpt_more` needs to call `tribe_get_event` it creates
|
80 |
-
* a infinite loop with adding excerpt calls again.
|
81 |
-
*/
|
82 |
-
add_filter( 'excerpt_more', [ tribe( Hooks::class ), 'filter_excerpt_more' ], 50 );
|
83 |
-
|
84 |
$template = strtolower( get_template() );
|
85 |
|
86 |
// Check if theme is twentyseventeen.
|
63 |
* @return string The excerpt read more link modified, if necessary.
|
64 |
*/
|
65 |
public function maybe_filter_excerpt_more( $link ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
if ( is_admin() ) {
|
67 |
return $link;
|
68 |
}
|
69 |
|
70 |
$event = tribe_get_event( get_the_ID() );
|
71 |
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
$template = strtolower( get_template() );
|
73 |
|
74 |
// Check if theme is twentyseventeen.
|
src/Tribe/Views/V2/Template/Page.php
CHANGED
@@ -270,7 +270,7 @@ class Page {
|
|
270 |
}
|
271 |
|
272 |
// We wont hijack in case we are not dealing with a Post Type query
|
273 |
-
if (
|
274 |
$should_hijack = false;
|
275 |
}
|
276 |
|
270 |
}
|
271 |
|
272 |
// We wont hijack in case we are not dealing with a Post Type query
|
273 |
+
if ( empty( $query->tribe_is_event_query ) ) {
|
274 |
$should_hijack = false;
|
275 |
}
|
276 |
|
src/Tribe/Views/V2/Template/Settings/Advanced_Display.php
CHANGED
@@ -48,12 +48,13 @@ class Advanced_Display {
|
|
48 |
$before = convert_chars( $before );
|
49 |
$before = wpautop( $before );
|
50 |
$before = do_shortcode( stripslashes( shortcode_unautop( $before ) ) );
|
|
|
51 |
|
52 |
/**
|
53 |
* Filter imported from V1 of Views, kept since there was no requirement to
|
54 |
* remove the backwards compatibility here.
|
55 |
*
|
56 |
-
* @since ??? Unsure which
|
57 |
* @since 4.9.11 Moved to the a class method in V2, and removed Loader HTML.
|
58 |
*
|
59 |
* @param string $before HTML after passing all the params.
|
@@ -91,6 +92,7 @@ class Advanced_Display {
|
|
91 |
$after = convert_chars( $after );
|
92 |
$after = wpautop( $after );
|
93 |
$after = do_shortcode( stripslashes( shortcode_unautop( $after ) ) );
|
|
|
94 |
|
95 |
/**
|
96 |
* Filter imported from V1 of Views, kept since there was no requirement to
|
48 |
$before = convert_chars( $before );
|
49 |
$before = wpautop( $before );
|
50 |
$before = do_shortcode( stripslashes( shortcode_unautop( $before ) ) );
|
51 |
+
$before = force_balance_tags( $before );
|
52 |
|
53 |
/**
|
54 |
* Filter imported from V1 of Views, kept since there was no requirement to
|
55 |
* remove the backwards compatibility here.
|
56 |
*
|
57 |
+
* @since ??? Unsure which version this was introduced to the codebase.
|
58 |
* @since 4.9.11 Moved to the a class method in V2, and removed Loader HTML.
|
59 |
*
|
60 |
* @param string $before HTML after passing all the params.
|
92 |
$after = convert_chars( $after );
|
93 |
$after = wpautop( $after );
|
94 |
$after = do_shortcode( stripslashes( shortcode_unautop( $after ) ) );
|
95 |
+
$after = force_balance_tags( $after );
|
96 |
|
97 |
/**
|
98 |
* Filter imported from V1 of Views, kept since there was no requirement to
|
src/Tribe/Views/V2/Template/Title.php
CHANGED
@@ -101,10 +101,6 @@ class Title {
|
|
101 |
$context = $this->context ?: tribe_context();
|
102 |
$posts = $this->get_posts();
|
103 |
|
104 |
-
if ( 'single-event' === $context->get( 'view' ) ) {
|
105 |
-
return $current_title;
|
106 |
-
}
|
107 |
-
|
108 |
if ( $context->is( 'featured' ) ) {
|
109 |
$this->events_label_plural = sprintf(
|
110 |
_x( 'Featured %s', 'featured events title', 'the-events-calendar' ),
|
101 |
$context = $this->context ?: tribe_context();
|
102 |
$posts = $this->get_posts();
|
103 |
|
|
|
|
|
|
|
|
|
104 |
if ( $context->is( 'featured' ) ) {
|
105 |
$this->events_label_plural = sprintf(
|
106 |
_x( 'Featured %s', 'featured events title', 'the-events-calendar' ),
|
src/Tribe/Views/V2/Template_Bootstrap.php
CHANGED
@@ -15,6 +15,8 @@ use Tribe__Events__Rewrite as Rewrite;
|
|
15 |
use Tribe__Notices;
|
16 |
use Tribe__Utils__Array as Arr;
|
17 |
use WP_Query;
|
|
|
|
|
18 |
|
19 |
|
20 |
/**
|
@@ -54,7 +56,9 @@ class Template_Bootstrap {
|
|
54 |
* @return void
|
55 |
*/
|
56 |
public function disable_v1() {
|
57 |
-
|
|
|
|
|
58 |
}
|
59 |
|
60 |
/**
|
@@ -141,6 +145,25 @@ class Template_Bootstrap {
|
|
141 |
return $html;
|
142 |
}
|
143 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
/**
|
145 |
* Gets the View HTML
|
146 |
*
|
@@ -158,7 +181,7 @@ class Template_Bootstrap {
|
|
158 |
if (
|
159 |
'single-event' === $view_slug
|
160 |
&& ! tribe_is_showing_all()
|
161 |
-
&& !
|
162 |
) {
|
163 |
$html = $this->get_v1_single_event_html();
|
164 |
} elseif ( isset( $query->query_vars['tribe_events_views_kitchen_sink'] ) ) {
|
@@ -232,12 +255,18 @@ class Template_Bootstrap {
|
|
232 |
* @return string Path to the File that initalizes the template
|
233 |
*/
|
234 |
public function filter_template_include( $template ) {
|
235 |
-
|
236 |
// Determine if we should load bootstrap or bail.
|
237 |
if ( ! $this->should_load() ) {
|
238 |
return $template;
|
239 |
}
|
240 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
241 |
return $this->get_template_object()->get_path();
|
242 |
}
|
243 |
|
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 |
/**
|
56 |
* @return void
|
57 |
*/
|
58 |
public function disable_v1() {
|
59 |
+
remove_filter( 'tribe_events_before_html', [ TEC::instance(), 'before_html_data_wrapper' ] );
|
60 |
+
remove_filter( 'tribe_events_after_html', [ TEC::instance(), 'after_html_data_wrapper' ] );
|
61 |
+
remove_action( 'plugins_loaded', [ V1_Event_Templates::class, 'init' ] );
|
62 |
}
|
63 |
|
64 |
/**
|
145 |
return $html;
|
146 |
}
|
147 |
|
148 |
+
/**
|
149 |
+
* Fetches the template for the Single Embed Event page using the legacy view system.
|
150 |
+
*
|
151 |
+
* @since 4.9.13
|
152 |
+
*
|
153 |
+
* @return string
|
154 |
+
*/
|
155 |
+
protected function get_v1_embed_template_path() {
|
156 |
+
global $post;
|
157 |
+
$query = tribe_get_global_query_object();
|
158 |
+
|
159 |
+
if ( ! tribe_is_showing_all() && tribe_is_past_event() ) {
|
160 |
+
Tribe__Notices::set_notice( 'event-past', sprintf( esc_html__( 'This %s has passed.', 'the-events-calendar' ), tribe_get_event_label_singular_lowercase() ) );
|
161 |
+
}
|
162 |
+
|
163 |
+
$template_path = V1_Event_Templates::getTemplateHierarchy( 'embed' );
|
164 |
+
return $template_path;
|
165 |
+
}
|
166 |
+
|
167 |
/**
|
168 |
* Gets the View HTML
|
169 |
*
|
181 |
if (
|
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'] ) ) {
|
255 |
* @return string Path to the File that initalizes the template
|
256 |
*/
|
257 |
public function filter_template_include( $template ) {
|
|
|
258 |
// Determine if we should load bootstrap or bail.
|
259 |
if ( ! $this->should_load() ) {
|
260 |
return $template;
|
261 |
}
|
262 |
|
263 |
+
$context = tribe_context();
|
264 |
+
$view_slug = $context->get( 'view' );
|
265 |
+
|
266 |
+
if ( V1_Templates::is_embed() || 'embed' === $view_slug ) {
|
267 |
+
return $this->get_v1_embed_template_path();
|
268 |
+
}
|
269 |
+
|
270 |
return $this->get_template_object()->get_path();
|
271 |
}
|
272 |
|
src/Tribe/Views/V2/Utils/Separators.php
CHANGED
@@ -5,9 +5,10 @@
|
|
5 |
* @since 4.9.4
|
6 |
* @package Tribe\Events\Views\V2\Utils
|
7 |
*/
|
|
|
8 |
namespace Tribe\Events\Views\V2\Utils;
|
9 |
|
10 |
-
use
|
11 |
|
12 |
/**
|
13 |
* Class Utils Separators
|
@@ -20,31 +21,64 @@ class Separators {
|
|
20 |
* Determines if a given event from a list of events should have a month separator
|
21 |
* for the List view template structure.
|
22 |
*
|
|
|
|
|
|
|
|
|
23 |
* @since 4.9.4
|
24 |
*
|
25 |
-
* @param
|
26 |
-
* @param
|
|
|
|
|
27 |
*
|
28 |
-
* @return boolean
|
29 |
*/
|
30 |
-
public static function should_have_month( $events, $event ) {
|
31 |
if ( ! is_array( $events ) ) {
|
32 |
return false;
|
33 |
}
|
34 |
|
35 |
-
$
|
36 |
-
return
|
37 |
-
}
|
38 |
|
39 |
-
$
|
40 |
|
41 |
-
|
42 |
-
return
|
43 |
-
}
|
|
|
|
|
|
|
|
|
|
|
44 |
|
45 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
|
47 |
-
return
|
48 |
}
|
49 |
|
50 |
/**
|
@@ -53,8 +87,8 @@ class Separators {
|
|
53 |
*
|
54 |
* @since 4.9.5
|
55 |
*
|
56 |
-
* @param array $events WP_Post or numeric ID for events
|
57 |
-
* @param WP_Post|int $event Event we want to
|
58 |
*
|
59 |
* @return boolean
|
60 |
*/
|
@@ -70,7 +104,7 @@ class Separators {
|
|
70 |
$event_id = is_numeric( $event ) ? $event : $event->ID;
|
71 |
|
72 |
$start_hours = array_map( static function( $id ) {
|
73 |
-
return tribe_get_start_date( $id, true,
|
74 |
}, $ids );
|
75 |
|
76 |
$start_hours_ids = array_unique( array_combine( $ids, $start_hours ) );
|
@@ -123,4 +157,4 @@ class Separators {
|
|
123 |
|
124 |
return $should_have;
|
125 |
}
|
126 |
-
}
|
5 |
* @since 4.9.4
|
6 |
* @package Tribe\Events\Views\V2\Utils
|
7 |
*/
|
8 |
+
|
9 |
namespace Tribe\Events\Views\V2\Utils;
|
10 |
|
11 |
+
use Tribe__Date_Utils as Dates;
|
12 |
|
13 |
/**
|
14 |
* Class Utils Separators
|
21 |
* Determines if a given event from a list of events should have a month separator
|
22 |
* for the List view template structure.
|
23 |
*
|
24 |
+
* Note that events will NOT be sorted by date for this check: this is by design. There are other criteria by which
|
25 |
+
* events might be sorted this method should not interfere with.
|
26 |
+
* The method will perform the check using the "display" date of the events since this is a front-end facing method.
|
27 |
+
*
|
28 |
* @since 4.9.4
|
29 |
*
|
30 |
+
* @param array $events WP_Post or numeric ID for events.
|
31 |
+
* @param \WP_Post|int $event Event we want to check.
|
32 |
+
* @param string|\DateTimeInterface|null $request_date A request date that should be used as context for the
|
33 |
+
* evaluation.
|
34 |
*
|
35 |
+
* @return boolean Whether the event, in the context of this event set, should show the month separator or not.
|
36 |
*/
|
37 |
+
public static function should_have_month( $events, $event, $request_date = null ) {
|
38 |
if ( ! is_array( $events ) ) {
|
39 |
return false;
|
40 |
}
|
41 |
|
42 |
+
$events = array_filter( array_map( 'tribe_get_event', $events ), static function ( $event ) {
|
43 |
+
return $event instanceof \WP_Post;
|
44 |
+
} );
|
45 |
|
46 |
+
$event = tribe_get_event( $event );
|
47 |
|
48 |
+
if ( empty( $events ) || ! $event instanceof \WP_Post ) {
|
49 |
+
return false;
|
50 |
+
}
|
51 |
+
|
52 |
+
if ( $event->ID === reset( $events )->ID ) {
|
53 |
+
// The first event in a set should always trigger the month separator display.
|
54 |
+
return true;
|
55 |
+
}
|
56 |
|
57 |
+
if ( null !== $request_date ) {
|
58 |
+
$request_date = Dates::build_date_object( $request_date );
|
59 |
+
}
|
60 |
+
|
61 |
+
// Reduce events to only keep the starting ones.
|
62 |
+
$start_events_ids = array_unique(
|
63 |
+
array_combine(
|
64 |
+
wp_list_pluck( $events, 'ID' ),
|
65 |
+
array_map( static function ( \WP_Post $event ) use ( $request_date ) {
|
66 |
+
/*
|
67 |
+
* If we have a request date we "move forward" the event to it.
|
68 |
+
* If the event is in this set, then we assume it fits.
|
69 |
+
* This is usually the case w/ multi-day events that start "in the past" in relation to a request
|
70 |
+
* date; in that case we display them not in their original month, but in the request date one.
|
71 |
+
*/
|
72 |
+
$the_date = null !== $request_date
|
73 |
+
? max( $event->dates->start_display, $request_date )
|
74 |
+
: $event->dates->start_display;
|
75 |
+
|
76 |
+
return $the_date->format( 'Y-m' );
|
77 |
+
}, $events )
|
78 |
+
)
|
79 |
+
);
|
80 |
|
81 |
+
return $event->ID === array_search( $event->dates->start_display->format( 'Y-m' ), $start_events_ids, true );
|
82 |
}
|
83 |
|
84 |
/**
|
87 |
*
|
88 |
* @since 4.9.5
|
89 |
*
|
90 |
+
* @param array $events WP_Post or numeric ID for events.
|
91 |
+
* @param \WP_Post|int $event Event we want to check.
|
92 |
*
|
93 |
* @return boolean
|
94 |
*/
|
104 |
$event_id = is_numeric( $event ) ? $event : $event->ID;
|
105 |
|
106 |
$start_hours = array_map( static function( $id ) {
|
107 |
+
return Dates::round_nearest_half_hour( tribe_get_start_date( $id, true, Dates::DBDATETIMEFORMAT ) );
|
108 |
}, $ids );
|
109 |
|
110 |
$start_hours_ids = array_unique( array_combine( $ids, $start_hours ) );
|
157 |
|
158 |
return $should_have;
|
159 |
}
|
160 |
+
}
|
src/Tribe/Views/V2/View.php
CHANGED
@@ -8,8 +8,8 @@
|
|
8 |
|
9 |
namespace Tribe\Events\Views\V2;
|
10 |
|
11 |
-
use Tribe\Events\Views\V2\Template\Title;
|
12 |
use Tribe\Events\Views\V2\Template\Settings\Advanced_Display;
|
|
|
13 |
use Tribe__Container as Container;
|
14 |
use Tribe__Context as Context;
|
15 |
use Tribe__Date_Utils as Dates;
|
@@ -164,6 +164,24 @@ class View implements View_Interface {
|
|
164 |
*/
|
165 |
protected $display_events_bar = true;
|
166 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
167 |
/**
|
168 |
* View constructor.
|
169 |
*
|
@@ -173,6 +191,7 @@ class View implements View_Interface {
|
|
173 |
*/
|
174 |
public function __construct( Messages $messages = null ) {
|
175 |
$this->messages = $messages ?: new Messages();
|
|
|
176 |
}
|
177 |
|
178 |
/**
|
@@ -212,20 +231,11 @@ class View implements View_Interface {
|
|
212 |
$params['name'] = $params[ reset( $post_name ) ];
|
213 |
}
|
214 |
|
215 |
-
if ( false === $slug ) {
|
216 |
-
/*
|
217 |
-
* If we cannot get the view slug from the request parameters let's try to get it from the URL.
|
218 |
-
*/
|
219 |
-
$slug = Arr::get( $params, 'eventDisplay', tribe_context()->get( 'view', 'default' ) );
|
220 |
-
}
|
221 |
-
|
222 |
// Let's check if we have a display mode set.
|
223 |
$query_args = $url_object->query_overrides_path( true )
|
224 |
->parse_url()
|
225 |
->get_query_args();
|
226 |
|
227 |
-
$params['event_display_mode'] = Arr::get( $query_args, 'eventDisplay', false );
|
228 |
-
|
229 |
/**
|
230 |
* Filters the parameters that will be used to build the View class for a REST request.
|
231 |
*
|
@@ -238,6 +248,15 @@ class View implements View_Interface {
|
|
238 |
*/
|
239 |
$params = apply_filters( 'tribe_events_views_v2_rest_params', $params, $request );
|
240 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
241 |
if ( ! empty( $slug ) ) {
|
242 |
/**
|
243 |
* Filters the parameters that will be used to build a specific View class for a REST request.
|
@@ -503,7 +522,10 @@ class View implements View_Interface {
|
|
503 |
*/
|
504 |
$this->repository_args = $repository_args;
|
505 |
|
506 |
-
|
|
|
|
|
|
|
507 |
|
508 |
$template_vars = $this->filter_template_vars( $this->setup_template_vars() );
|
509 |
|
@@ -571,6 +593,58 @@ class View implements View_Interface {
|
|
571 |
return $this->slug;
|
572 |
}
|
573 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
574 |
/**
|
575 |
* {@inheritDoc}
|
576 |
*/
|
@@ -596,7 +670,7 @@ class View implements View_Interface {
|
|
596 |
/**
|
597 |
* {@inheritDoc}
|
598 |
*/
|
599 |
-
public function get_url( $canonical = false ) {
|
600 |
$query_args = [
|
601 |
'post_type' => TEC::POSTTYPE,
|
602 |
'eventDisplay' => $this->slug,
|
@@ -624,10 +698,16 @@ class View implements View_Interface {
|
|
624 |
if ( ! empty( $query_args['tribe-bar-date'] ) ) {
|
625 |
// If the Events Bar date is the same as today's date, then drop it.
|
626 |
$today = $this->context->get( 'today', 'today' );
|
627 |
-
$
|
628 |
-
$
|
629 |
-
|
630 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
631 |
unset( $query_args['tribe-bar-date'] );
|
632 |
}
|
633 |
}
|
@@ -642,11 +722,11 @@ class View implements View_Interface {
|
|
642 |
$url = add_query_arg( array_filter( $query_args ), home_url() );
|
643 |
|
644 |
if ( $canonical ) {
|
645 |
-
$url =
|
646 |
}
|
647 |
|
648 |
$event_display_mode = $this->context->get( 'event_display_mode', false );
|
649 |
-
if (
|
650 |
$url = add_query_arg( [ 'eventDisplay' => $event_display_mode ], $url );
|
651 |
}
|
652 |
|
@@ -757,8 +837,8 @@ class View implements View_Interface {
|
|
757 |
global $wp_query;
|
758 |
|
759 |
$this->global_backup = [
|
760 |
-
'wp_query'
|
761 |
-
'$_SERVER'
|
762 |
];
|
763 |
|
764 |
$args = wp_parse_args( $args, $this->repository_args );
|
@@ -768,6 +848,7 @@ class View implements View_Interface {
|
|
768 |
$this->set_url( $args, true );
|
769 |
|
770 |
$wp_query = $this->repository->get_query();
|
|
|
771 |
wp_reset_postdata();
|
772 |
|
773 |
// Set the $_SERVER['REQUEST_URI'] as many WordPress functions rely on it to correctly work.
|
@@ -1067,38 +1148,52 @@ class View implements View_Interface {
|
|
1067 |
|
1068 |
$this->setup_messages( $events );
|
1069 |
|
1070 |
-
$
|
1071 |
-
|
1072 |
-
|
1073 |
-
|
1074 |
-
|
1075 |
-
|
1076 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1077 |
'keyword' => $this->context->get( 'keyword', '' ),
|
1078 |
'date' => $this->context->get( 'event_date', '' ),
|
1079 |
],
|
1080 |
-
'today'
|
1081 |
-
'now'
|
1082 |
-
'
|
1083 |
-
'
|
1084 |
-
'
|
1085 |
-
'
|
1086 |
-
'
|
1087 |
-
'
|
1088 |
-
'
|
|
|
1089 |
'compact' => Dates::datepicker_formats( tribe_get_option( 'datepickerFormat' ) ),
|
1090 |
'month_and_year' => tribe_get_date_option( 'monthAndYearFormat', 'F Y' ),
|
1091 |
'time_range_separator' => tribe_get_date_option( 'timeRangeSeparator', ' - ' ),
|
1092 |
'date_time_separator' => tribe_get_date_option( 'dateTimeSeparator', ' @ ' ),
|
1093 |
],
|
1094 |
-
'messages'
|
1095 |
-
'start_of_week'
|
1096 |
-
'breadcrumbs'
|
1097 |
-
'before_events'
|
1098 |
-
'after_events'
|
1099 |
-
'display_events_bar'
|
1100 |
-
'disable_event_search'
|
1101 |
-
'live_refresh'
|
|
|
|
|
|
|
|
|
1102 |
];
|
1103 |
|
1104 |
return $template_vars;
|
@@ -1162,7 +1257,7 @@ class View implements View_Interface {
|
|
1162 |
str_replace(
|
1163 |
home_url(),
|
1164 |
'',
|
1165 |
-
|
1166 |
'/'
|
1167 |
);
|
1168 |
|
@@ -1213,7 +1308,7 @@ class View implements View_Interface {
|
|
1213 |
return $ugly_url;
|
1214 |
}
|
1215 |
|
1216 |
-
return
|
1217 |
}
|
1218 |
|
1219 |
/**
|
@@ -1222,13 +1317,15 @@ class View implements View_Interface {
|
|
1222 |
* This is usually used to build the next and prev link URLs labels.
|
1223 |
* Extending classes can customize the format of the the label by overriding the `get_label_format` method.
|
1224 |
*
|
|
|
|
|
|
|
|
|
1225 |
* @since 4.9.9
|
1226 |
*
|
1227 |
* @param string $url The input URL to build the link label from.
|
1228 |
*
|
1229 |
* @return string The formatted and localized, but not HTML escaped, link label.
|
1230 |
-
*
|
1231 |
-
* @see View::get_label_format(), the method child classes should override to customize the link label format.
|
1232 |
*/
|
1233 |
public function get_link_label( $url ) {
|
1234 |
if ( empty( $url ) ) {
|
@@ -1285,12 +1382,14 @@ class View implements View_Interface {
|
|
1285 |
*
|
1286 |
* This format will, usually, apply to next and previous links.
|
1287 |
*
|
1288 |
-
* @
|
1289 |
-
*
|
1290 |
-
* @return string The date format, a valid PHP `date` function format, that should be used to build link labels.
|
1291 |
*
|
1292 |
* @see View::get_link_label(), the method using this method to build a link label.
|
1293 |
* @see date_i18n() as the formatted date will, then, be localized using this method.
|
|
|
|
|
|
|
|
|
1294 |
*/
|
1295 |
protected function get_label_format() {
|
1296 |
return 'Y-m-d';
|
@@ -1514,6 +1613,20 @@ class View implements View_Interface {
|
|
1514 |
}
|
1515 |
}
|
1516 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1517 |
/**
|
1518 |
* Filters the breadcrumbs the View will print on the frontend.
|
1519 |
*
|
@@ -1568,4 +1681,130 @@ class View implements View_Interface {
|
|
1568 |
|
1569 |
return $display;
|
1570 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1571 |
}
|
8 |
|
9 |
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;
|
164 |
*/
|
165 |
protected $display_events_bar = true;
|
166 |
|
167 |
+
/**
|
168 |
+
* The instance of the rewrite handling class to use.
|
169 |
+
* Extending classes can override this to use more specific rewrite handlers (e.g. PRO Views).
|
170 |
+
*
|
171 |
+
* @since 4.9.13
|
172 |
+
*
|
173 |
+
* @var Rewrite
|
174 |
+
*/
|
175 |
+
protected $rewrite;
|
176 |
+
|
177 |
+
/**
|
178 |
+
* A flag property to indicate whether the View date is part of the "pretty" URL (true) or is supported only as
|
179 |
+
* a query argument like. `tribe-bar-date` (false).
|
180 |
+
*
|
181 |
+
* @var bool
|
182 |
+
*/
|
183 |
+
protected static $date_in_url = true;
|
184 |
+
|
185 |
/**
|
186 |
* View constructor.
|
187 |
*
|
191 |
*/
|
192 |
public function __construct( Messages $messages = null ) {
|
193 |
$this->messages = $messages ?: new Messages();
|
194 |
+
$this->rewrite = Rewrite::instance();
|
195 |
}
|
196 |
|
197 |
/**
|
231 |
$params['name'] = $params[ reset( $post_name ) ];
|
232 |
}
|
233 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
234 |
// Let's check if we have a display mode set.
|
235 |
$query_args = $url_object->query_overrides_path( true )
|
236 |
->parse_url()
|
237 |
->get_query_args();
|
238 |
|
|
|
|
|
239 |
/**
|
240 |
* Filters the parameters that will be used to build the View class for a REST request.
|
241 |
*
|
248 |
*/
|
249 |
$params = apply_filters( 'tribe_events_views_v2_rest_params', $params, $request );
|
250 |
|
251 |
+
if ( false === $slug ) {
|
252 |
+
/*
|
253 |
+
* If we cannot get the view slug from the request parameters let's try to get it from the URL.
|
254 |
+
*/
|
255 |
+
$slug = Arr::get( $params, 'eventDisplay', tribe_context()->get( 'view', 'default' ) );
|
256 |
+
}
|
257 |
+
|
258 |
+
$params['event_display_mode'] = Arr::get( $query_args, 'eventDisplay', false );
|
259 |
+
|
260 |
if ( ! empty( $slug ) ) {
|
261 |
/**
|
262 |
* Filters the parameters that will be used to build a specific View class for a REST request.
|
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 |
|
530 |
$template_vars = $this->filter_template_vars( $this->setup_template_vars() );
|
531 |
|
593 |
return $this->slug;
|
594 |
}
|
595 |
|
596 |
+
/**
|
597 |
+
* {@inheritDoc}
|
598 |
+
*/
|
599 |
+
public function get_parents_slug() {
|
600 |
+
$parents = class_parents( $this );
|
601 |
+
$parents = array_map( [ tribe( Manager::class ), 'get_view_slug_by_class' ], $parents );
|
602 |
+
$parents = array_filter( $parents );
|
603 |
+
|
604 |
+
return array_values( $parents );
|
605 |
+
}
|
606 |
+
|
607 |
+
/**
|
608 |
+
* {@inheritDoc}
|
609 |
+
*/
|
610 |
+
public function get_html_classes( array $classes = [] ) {
|
611 |
+
$base_classes = [
|
612 |
+
'tribe-common',
|
613 |
+
'tribe-events',
|
614 |
+
'tribe-events-view',
|
615 |
+
'tribe-events-view--' . $this->get_slug(),
|
616 |
+
];
|
617 |
+
|
618 |
+
$parents = array_map( static function ( $view_slug ) {
|
619 |
+
return 'tribe-events-view--' . $view_slug;
|
620 |
+
}, $this->get_parents_slug() );
|
621 |
+
|
622 |
+
$html_classes = array_merge( $base_classes, $parents, $classes );
|
623 |
+
|
624 |
+
/**
|
625 |
+
* Filters the query arguments array for a View URL.
|
626 |
+
*
|
627 |
+
* @since 4.9.13
|
628 |
+
*
|
629 |
+
* @param array $html_classes Array of classes used for this view.
|
630 |
+
* @param string $view_slug The current view slug.
|
631 |
+
* @param \Tribe\Events\Views\V2\View $instance The current View object.
|
632 |
+
*/
|
633 |
+
$html_classes = apply_filters( 'tribe_events_views_v2_view_html_classes', $html_classes, $this->get_slug(), $this );
|
634 |
+
|
635 |
+
/**
|
636 |
+
* Filters the query arguments array for a specific View URL.
|
637 |
+
*
|
638 |
+
* @since 4.9.13
|
639 |
+
*
|
640 |
+
* @param array $html_classes Array of classes used for this view.
|
641 |
+
* @param \Tribe\Events\Views\V2\View $instance The current View object.
|
642 |
+
*/
|
643 |
+
$html_classes = apply_filters( "tribe_events_views_v2_{$this->get_slug()}_view_html_classes", $html_classes, $this );
|
644 |
+
|
645 |
+
return $html_classes;
|
646 |
+
}
|
647 |
+
|
648 |
/**
|
649 |
* {@inheritDoc}
|
650 |
*/
|
670 |
/**
|
671 |
* {@inheritDoc}
|
672 |
*/
|
673 |
+
public function get_url( $canonical = false, $force = false ) {
|
674 |
$query_args = [
|
675 |
'post_type' => TEC::POSTTYPE,
|
676 |
'eventDisplay' => $this->slug,
|
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 = $this->context->get( 'today', 'today' );
|
701 |
+
$url_date_format = $this->get_url_date_format();
|
702 |
+
$today_date = Dates::build_date_object( $today ) ->format( $url_date_format );
|
703 |
+
$tribe_bar_date = Dates::build_date_object( $query_args['tribe-bar-date'] ) ->format( $url_date_format );
|
704 |
+
|
705 |
+
if ( static::$date_in_url ) {
|
706 |
+
if ( $today_date !== $tribe_bar_date ) {
|
707 |
+
// Default date is already today, no need to have it.
|
708 |
+
$query_args['eventDate'] = $tribe_bar_date;
|
709 |
+
}
|
710 |
+
// Replace `tribe-bar-date` with `eventDate` as that's the query var used by the rewrite rules.
|
711 |
unset( $query_args['tribe-bar-date'] );
|
712 |
}
|
713 |
}
|
722 |
$url = add_query_arg( array_filter( $query_args ), home_url() );
|
723 |
|
724 |
if ( $canonical ) {
|
725 |
+
$url = $this->rewrite->get_clean_url( $url, $force );
|
726 |
}
|
727 |
|
728 |
$event_display_mode = $this->context->get( 'event_display_mode', false );
|
729 |
+
if ( 'past' === $event_display_mode && $event_display_mode !== $this->context->get( 'eventDisplay' ) ) {
|
730 |
$url = add_query_arg( [ 'eventDisplay' => $event_display_mode ], $url );
|
731 |
}
|
732 |
|
837 |
global $wp_query;
|
838 |
|
839 |
$this->global_backup = [
|
840 |
+
'wp_query' => $wp_query,
|
841 |
+
'$_SERVER' => isset( $_SERVER ) ? $_SERVER : []
|
842 |
];
|
843 |
|
844 |
$args = wp_parse_args( $args, $this->repository_args );
|
848 |
$this->set_url( $args, true );
|
849 |
|
850 |
$wp_query = $this->repository->get_query();
|
851 |
+
|
852 |
wp_reset_postdata();
|
853 |
|
854 |
// Set the $_SERVER['REQUEST_URI'] as many WordPress functions rely on it to correctly work.
|
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 |
+
$url_event_date = false !== $event_date
|
1156 |
+
? Dates::build_date_object( $event_date )->format( Dates::DBDATEFORMAT )
|
1157 |
+
: false;
|
1158 |
+
|
1159 |
+
$template_vars = [
|
1160 |
+
'title' => $this->get_title( $events ),
|
1161 |
+
'events' => $events,
|
1162 |
+
'url' => $this->get_url( true ),
|
1163 |
+
'prev_url' => $this->prev_url( true ),
|
1164 |
+
'next_url' => $this->next_url( true ),
|
1165 |
+
'url_event_date' => $url_event_date,
|
1166 |
+
'bar' => [
|
1167 |
'keyword' => $this->context->get( 'keyword', '' ),
|
1168 |
'date' => $this->context->get( 'event_date', '' ),
|
1169 |
],
|
1170 |
+
'today' => $today,
|
1171 |
+
'now' => $this->context->get( 'now', 'now' ),
|
1172 |
+
'request_date' => Dates::build_date_object( $this->context->get( 'event_date', $today ) ),
|
1173 |
+
'rest_url' => tribe( Rest_Endpoint::class )->get_url(),
|
1174 |
+
'rest_nonce' => wp_create_nonce( 'wp_rest' ),
|
1175 |
+
'should_manage_url' => $this->should_manage_url,
|
1176 |
+
'today_url' => $today_url,
|
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' => Dates::datepicker_formats( tribe_get_option( 'datepickerFormat' ) ),
|
1181 |
'month_and_year' => tribe_get_date_option( 'monthAndYearFormat', 'F Y' ),
|
1182 |
'time_range_separator' => tribe_get_date_option( 'timeRangeSeparator', ' - ' ),
|
1183 |
'date_time_separator' => tribe_get_date_option( 'dateTimeSeparator', ' @ ' ),
|
1184 |
],
|
1185 |
+
'messages' => $this->get_messages( $events ),
|
1186 |
+
'start_of_week' => get_option( 'start_of_week', 0 ),
|
1187 |
+
'breadcrumbs' => $this->get_breadcrumbs(),
|
1188 |
+
'before_events' => tribe( Advanced_Display::class )->get_before_events_html( $this ),
|
1189 |
+
'after_events' => tribe( Advanced_Display::class )->get_after_events_html( $this ),
|
1190 |
+
'display_events_bar' => $this->filter_display_events_bar( $this->display_events_bar ),
|
1191 |
+
'disable_event_search' => tribe_is_truthy( tribe_get_option( 'tribeDisableTribeBar', false ) ),
|
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;
|
1257 |
str_replace(
|
1258 |
home_url(),
|
1259 |
'',
|
1260 |
+
$this->rewrite->get_clean_url( (string) $this->get_url() ) ),
|
1261 |
'/'
|
1262 |
);
|
1263 |
|
1308 |
return $ugly_url;
|
1309 |
}
|
1310 |
|
1311 |
+
return $this->rewrite->get_canonical_url( $ugly_url );
|
1312 |
}
|
1313 |
|
1314 |
/**
|
1317 |
* This is usually used to build the next and prev link URLs labels.
|
1318 |
* Extending classes can customize the format of the the label by overriding the `get_label_format` method.
|
1319 |
*
|
1320 |
+
* @todo @bordoni move this method to a supporting class.
|
1321 |
+
*
|
1322 |
+
* @see View::get_label_format(), the method child classes should override to customize the link label format.
|
1323 |
+
*
|
1324 |
* @since 4.9.9
|
1325 |
*
|
1326 |
* @param string $url The input URL to build the link label from.
|
1327 |
*
|
1328 |
* @return string The formatted and localized, but not HTML escaped, link label.
|
|
|
|
|
1329 |
*/
|
1330 |
public function get_link_label( $url ) {
|
1331 |
if ( empty( $url ) ) {
|
1382 |
*
|
1383 |
* This format will, usually, apply to next and previous links.
|
1384 |
*
|
1385 |
+
* @todo @bordoni move this method to a supporting class.
|
|
|
|
|
1386 |
*
|
1387 |
* @see View::get_link_label(), the method using this method to build a link label.
|
1388 |
* @see date_i18n() as the formatted date will, then, be localized using this method.
|
1389 |
+
*
|
1390 |
+
* @since 4.9.9
|
1391 |
+
*
|
1392 |
+
* @return string The date format, a valid PHP `date` function format, that should be used to build link labels.
|
1393 |
*/
|
1394 |
protected function get_label_format() {
|
1395 |
return 'Y-m-d';
|
1613 |
}
|
1614 |
}
|
1615 |
|
1616 |
+
// Setup breadcrumbs for when it's featured.
|
1617 |
+
if ( $is_featured = tribe_is_truthy( $this->context->get( 'featured', false ) ) ) {
|
1618 |
+
$non_featured_link = tribe_events_get_url( [ 'featured' => 0 ] );
|
1619 |
+
|
1620 |
+
$breadcrumbs[] = [
|
1621 |
+
'link' => $non_featured_link,
|
1622 |
+
'label' => tribe_get_event_label_plural(),
|
1623 |
+
];
|
1624 |
+
$breadcrumbs[] = [
|
1625 |
+
'link' => '',
|
1626 |
+
'label' => esc_html__( 'Featured', 'the-events-calendar' ),
|
1627 |
+
];
|
1628 |
+
}
|
1629 |
+
|
1630 |
/**
|
1631 |
* Filters the breadcrumbs the View will print on the frontend.
|
1632 |
*
|
1681 |
|
1682 |
return $display;
|
1683 |
}
|
1684 |
+
|
1685 |
+
/**
|
1686 |
+
* Returns the iCal data we're sending to the view.
|
1687 |
+
*
|
1688 |
+
* @todo @bordoni move this method to a supporting class.
|
1689 |
+
*
|
1690 |
+
* @since 4.9.13
|
1691 |
+
*
|
1692 |
+
* @return object
|
1693 |
+
*/
|
1694 |
+
protected function get_ical_data() {
|
1695 |
+
/**
|
1696 |
+
* A filter to control whether the "iCal Import" link shows up or not.
|
1697 |
+
*
|
1698 |
+
* @since unknown
|
1699 |
+
*
|
1700 |
+
* @param boolean $show Whether to show the "iCal Import" link; defaults to true.
|
1701 |
+
*/
|
1702 |
+
$display_ical = apply_filters( 'tribe_events_list_show_ical_link', true );
|
1703 |
+
|
1704 |
+
/**
|
1705 |
+
* Allow for customization of the iCal export link "Export Events" text.
|
1706 |
+
*
|
1707 |
+
* @since unknown
|
1708 |
+
*
|
1709 |
+
* @param string $text The default link text, which is "Export Events".
|
1710 |
+
*/
|
1711 |
+
$link_text = apply_filters( 'tribe_events_ical_export_text', __( 'Export Events', 'the-events-calendar' ) );
|
1712 |
+
|
1713 |
+
$link_title = __( 'Use this to share calendar data with Google Calendar, Apple iCal and other compatible apps', 'the-events-calendar' );
|
1714 |
+
|
1715 |
+
$ical_data = (object) [
|
1716 |
+
'display_link' => $display_ical,
|
1717 |
+
'link' => (object) [
|
1718 |
+
'url' => esc_url( tribe_get_ical_link() ),
|
1719 |
+
'text' => $link_text,
|
1720 |
+
'title' => $link_title,
|
1721 |
+
],
|
1722 |
+
];
|
1723 |
+
|
1724 |
+
/**
|
1725 |
+
* Filters the ical data.
|
1726 |
+
*
|
1727 |
+
* @since 4.9.13
|
1728 |
+
*
|
1729 |
+
* @param object $ical_data An object containing the ical data.
|
1730 |
+
* @param View $this The current View instance being rendered.
|
1731 |
+
*/
|
1732 |
+
$ical_data = apply_filters( "tribe_events_views_v2_view_ical_data", $ical_data, $this );
|
1733 |
+
|
1734 |
+
/**
|
1735 |
+
* Filters the ical data for a specific view.
|
1736 |
+
*
|
1737 |
+
* @since 4.9.13
|
1738 |
+
*
|
1739 |
+
* @param object $ical_data An object containing the ical data.
|
1740 |
+
* @param View $this The current View instance being rendered.
|
1741 |
+
*/
|
1742 |
+
$ical_data = apply_filters( "tribe_events_views_v2_view_{$this->slug}_ical_data", $ical_data, $this );
|
1743 |
+
|
1744 |
+
return $ical_data;
|
1745 |
+
}
|
1746 |
+
|
1747 |
+
/**
|
1748 |
+
* Returns a boolean on whether to show the datepicker submit button.
|
1749 |
+
*
|
1750 |
+
* @since 4.9.13
|
1751 |
+
*
|
1752 |
+
* @return bool
|
1753 |
+
*/
|
1754 |
+
protected function get_show_datepicker_submit() {
|
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 |
+
if ( empty( $live_refresh ) && ! empty( $disable_events_bar ) ) {
|
1759 |
+
return true;
|
1760 |
+
}
|
1761 |
+
|
1762 |
+
return false;
|
1763 |
+
}
|
1764 |
+
|
1765 |
+
/**
|
1766 |
+
* {@inheritDoc}
|
1767 |
+
*/
|
1768 |
+
public function url_for_query_args( $date = null, $query_args = [] ) {
|
1769 |
+
$event_date = Dates::build_date_object( $date )->format( $this->get_url_date_format() );
|
1770 |
+
|
1771 |
+
if ( ! empty( $query_args ) && is_string( $query_args ) ) {
|
1772 |
+
$str_args = $query_args;
|
1773 |
+
$query_args = [];
|
1774 |
+
wp_parse_str( $str_args, $query_args );
|
1775 |
+
}
|
1776 |
+
|
1777 |
+
$url_query_args = array_filter( array_merge( $query_args, [
|
1778 |
+
'eventDisplay' => $this->get_slug(),
|
1779 |
+
'eventDate' => $event_date,
|
1780 |
+
] ) );
|
1781 |
+
|
1782 |
+
if ( static::$date_in_url ) {
|
1783 |
+
unset( $url_query_args['tribe-bar-date'] );
|
1784 |
+
|
1785 |
+
// This is the case for Views that include the date in the "pretty" URL, e.g. Month, Day or Week.
|
1786 |
+
return tribe_events_get_url( $url_query_args );
|
1787 |
+
}
|
1788 |
+
|
1789 |
+
// This is the case for Views that don't include the date in the "pretty" URL, e.g. List.
|
1790 |
+
unset( $url_query_args['eventDate'] );
|
1791 |
+
|
1792 |
+
return add_query_arg(
|
1793 |
+
[ 'tribe-bar-date' => $event_date ],
|
1794 |
+
tribe_events_get_url( $url_query_args )
|
1795 |
+
);
|
1796 |
+
}
|
1797 |
+
|
1798 |
+
/**
|
1799 |
+
* Returns the date format that should be used to format the date in the View URL.
|
1800 |
+
*
|
1801 |
+
* Extending Views cal override this to customize the URL output (e.g. Month View).
|
1802 |
+
*
|
1803 |
+
* @since 4.9.13
|
1804 |
+
*
|
1805 |
+
* @return string The date format that should be used to format the date in the View URL.
|
1806 |
+
*/
|
1807 |
+
protected function get_url_date_format() {
|
1808 |
+
return Dates::DBDATEFORMAT;
|
1809 |
+
}
|
1810 |
}
|
src/Tribe/Views/V2/View_Interface.php
CHANGED
@@ -89,6 +89,26 @@ interface View_Interface extends View_Url_Provider_Interface, Repository_User_I
|
|
89 |
*/
|
90 |
public function get_slug();
|
91 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
/**
|
93 |
* Returns a View template class.
|
94 |
*
|
@@ -188,4 +208,16 @@ interface View_Interface extends View_Url_Provider_Interface, Repository_User_I
|
|
188 |
* @return array An array of user-facing messages the View will display on the front-end.
|
189 |
*/
|
190 |
public function get_messages();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
191 |
}
|
89 |
*/
|
90 |
public function get_slug();
|
91 |
|
92 |
+
/**
|
93 |
+
* Returns all the parent views that the current class as an array of slugs.
|
94 |
+
*
|
95 |
+
* @since 4.9.13
|
96 |
+
*
|
97 |
+
* @return string[] Array of string with the slugs of all the registered views.
|
98 |
+
*/
|
99 |
+
public function get_parents_slug();
|
100 |
+
|
101 |
+
/**
|
102 |
+
* Returns all html classes for the view instance we are handling.
|
103 |
+
*
|
104 |
+
* @since 4.9.13
|
105 |
+
*
|
106 |
+
* @param array $classes Array of classes that are going to be appended to this instance.
|
107 |
+
*
|
108 |
+
* @return string[] Array of string with the classes used
|
109 |
+
*/
|
110 |
+
public function get_html_classes( array $classes = [] );
|
111 |
+
|
112 |
/**
|
113 |
* Returns a View template class.
|
114 |
*
|
208 |
* @return array An array of user-facing messages the View will display on the front-end.
|
209 |
*/
|
210 |
public function get_messages();
|
211 |
+
|
212 |
+
/**
|
213 |
+
* Returns the URL to get the View for a date and a set of arguments.
|
214 |
+
*
|
215 |
+
* @since 4.9.13
|
216 |
+
*
|
217 |
+
* @param string|int|\DateTimeInterface $date The date to return the URL for.
|
218 |
+
* @param array|string $query_args The query string or arguments to append to the URL.
|
219 |
+
*
|
220 |
+
* @return string The URL to fetch the View for a date.
|
221 |
+
*/
|
222 |
+
public function url_for_query_args( $date = null, $query_args = null );
|
223 |
}
|
src/Tribe/Views/V2/Views/By_Day_View.php
CHANGED
@@ -10,6 +10,7 @@
|
|
10 |
namespace Tribe\Events\Views\V2\Views;
|
11 |
|
12 |
use Tribe\Events\Views\V2\Messages;
|
|
|
13 |
use Tribe\Events\Views\V2\Utils\Stack;
|
14 |
use Tribe\Events\Views\V2\View;
|
15 |
use Tribe\Traits\Cache_User;
|
@@ -99,7 +100,9 @@ abstract class By_Day_View extends View {
|
|
99 |
return $this->grid_days_cache;
|
100 |
}
|
101 |
|
102 |
-
|
|
|
|
|
103 |
|
104 |
list( $grid_start, $grid_end ) = $this->calculate_grid_start_end( $this->user_date );
|
105 |
|
@@ -133,42 +136,75 @@ abstract class By_Day_View extends View {
|
|
133 |
$this->warmup_cache( 'grid_days_found', 0, Cache_Listener::TRIGGER_SAVE_POST );
|
134 |
$events_per_day = $this->get_events_per_day();
|
135 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
// phpcs:ignore
|
137 |
/** @var \DateTime $day */
|
138 |
foreach ( $days as $day ) {
|
139 |
$day_string = $day->format( 'Y-m-d' );
|
140 |
|
141 |
-
if ( isset( $
|
142 |
-
|
143 |
-
}
|
144 |
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
*/
|
152 |
-
$day_query = tribe_events()
|
153 |
-
->by_args( $repository_args )
|
154 |
-
->where( 'date_overlaps', $start, $end, null, 2 )
|
155 |
-
->per_page( $events_per_day )
|
156 |
-
->order_by( $order_by, $order );
|
157 |
-
$event_ids = $day_query->get_ids();
|
158 |
-
$found = $day_query->found();
|
159 |
|
160 |
-
|
161 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
162 |
|
163 |
/*
|
164 |
* Multi-day events will always appear on the second day and forward, back-fill if they did not make the
|
165 |
* cut (of events per day) on previous days.
|
166 |
*/
|
167 |
-
$this->backfill_multiday_event_ids( $
|
168 |
}
|
169 |
|
170 |
-
if (
|
171 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
172 |
}
|
173 |
|
174 |
// Drop the last day we've added before.
|
@@ -238,7 +274,7 @@ abstract class By_Day_View extends View {
|
|
238 |
* @return int The number of events to show, per each day, in total, in the view.
|
239 |
*/
|
240 |
protected function get_events_per_day() {
|
241 |
-
$events_per_day = $this->context->get( 'events_per_page',
|
242 |
|
243 |
/**
|
244 |
* Filters the number of events per day to fetch in th View.
|
@@ -297,16 +333,6 @@ abstract class By_Day_View extends View {
|
|
297 |
return $url;
|
298 |
}
|
299 |
|
300 |
-
/**
|
301 |
-
* Return the PHP `date` format that should be used to build the View URL when targeting a specific date.
|
302 |
-
*
|
303 |
-
* @since 4.9.9
|
304 |
-
*
|
305 |
-
* @return string The PHP `date` format that should be used to build the View URL when targeting a specific date;
|
306 |
-
* e.g. `Y-m` for Month View, or `Y-m-d` for Week View.
|
307 |
-
*/
|
308 |
-
abstract protected function get_url_date_format();
|
309 |
-
|
310 |
/**
|
311 |
* Adds the implied events to the grid days results.
|
312 |
*
|
@@ -416,4 +442,16 @@ abstract class By_Day_View extends View {
|
|
416 |
}
|
417 |
}
|
418 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
419 |
}
|
10 |
namespace Tribe\Events\Views\V2\Views;
|
11 |
|
12 |
use Tribe\Events\Views\V2\Messages;
|
13 |
+
use Tribe\Events\Views\V2\Repository\Event_Period;
|
14 |
use Tribe\Events\Views\V2\Utils\Stack;
|
15 |
use Tribe\Events\Views\V2\View;
|
16 |
use Tribe\Traits\Cache_User;
|
100 |
return $this->grid_days_cache;
|
101 |
}
|
102 |
|
103 |
+
if ( empty( $this->user_date ) ) {
|
104 |
+
$this->user_date = $date ?: $this->context->get( 'event_date', 'now' );
|
105 |
+
}
|
106 |
|
107 |
list( $grid_start, $grid_end ) = $this->calculate_grid_start_end( $this->user_date );
|
108 |
|
136 |
$this->warmup_cache( 'grid_days_found', 0, Cache_Listener::TRIGGER_SAVE_POST );
|
137 |
$events_per_day = $this->get_events_per_day();
|
138 |
|
139 |
+
// @todo remove this when the Event_Period repository is solid and clean up.
|
140 |
+
$using_period_repository = tribe_events_view_v2_use_period_repository();
|
141 |
+
|
142 |
+
if ( $using_period_repository ) {
|
143 |
+
/** @var Event_Period $repository */
|
144 |
+
if ( tribe_is_truthy( tribe_get_option( 'enable_month_view_cache', false ) ) ) {
|
145 |
+
$repository = tribe_events( 'period', 'caching' );
|
146 |
+
} else {
|
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 ) {
|
155 |
$day_string = $day->format( 'Y-m-d' );
|
156 |
|
157 |
+
if ( $using_period_repository && isset( $repository ) ) {
|
158 |
+
$day_results = $repository->by_date( $day_string )->get_set();
|
|
|
159 |
|
160 |
+
$event_ids = [];
|
161 |
+
if ( $day_results->count() ) {
|
162 |
+
// Sort events by honoring order and direction.
|
163 |
+
$day_results->order_by( $order_by, $order );
|
164 |
+
$event_ids = array_map( 'absint', $day_results->pluck( 'ID' ) );
|
165 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
166 |
|
167 |
+
// @todo @bluedevs truncating here does not make sense, do in template?
|
168 |
+
$day_event_ids = array_slice( $event_ids, 0, $events_per_day );
|
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 |
+
* We want events overlapping the current day, by more than 1 second.
|
177 |
+
* This prevents events ending on the cutoff from showing up here.
|
178 |
+
*/
|
179 |
+
$day_query = tribe_events()
|
180 |
+
->set_found_rows(true)
|
181 |
+
->by_args( $repository_args )
|
182 |
+
->where( 'date_overlaps', $start, $end, null, 2 )
|
183 |
+
->per_page( $events_per_day )
|
184 |
+
->order_by( $order_by, $order );
|
185 |
+
$day_event_ids = $day_query->get_ids();
|
186 |
+
$found = $day_query->found();
|
187 |
+
|
188 |
+
$this->grid_days_cache[ $day_string ] = (array) $day_event_ids;
|
189 |
+
$this->grid_days_found_cache[ $day_string ] = (int) $found;
|
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 */
|
202 |
+
$cache = tribe( 'cache' );
|
203 |
+
$cache->warmup_post_caches( $post_ids, true );
|
204 |
+
} else {
|
205 |
+
if ( is_array( $this->grid_days_cache ) && count( $this->grid_days_cache ) ) {
|
206 |
+
$this->grid_days_cache = $this->add_implied_events( $this->grid_days_cache );
|
207 |
+
}
|
208 |
}
|
209 |
|
210 |
// Drop the last day we've added before.
|
274 |
* @return int The number of events to show, per each day, in total, in the view.
|
275 |
*/
|
276 |
protected function get_events_per_day() {
|
277 |
+
$events_per_day = $this->context->get( 'events_per_page', 12 );
|
278 |
|
279 |
/**
|
280 |
* Filters the number of events per day to fetch in th View.
|
333 |
return $url;
|
334 |
}
|
335 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
336 |
/**
|
337 |
* Adds the implied events to the grid days results.
|
338 |
*
|
442 |
}
|
443 |
}
|
444 |
}
|
445 |
+
|
446 |
+
/**
|
447 |
+
* ${CARET}
|
448 |
+
*
|
449 |
+
* @since 4.9.13
|
450 |
+
*
|
451 |
+
* @return bool
|
452 |
+
*/
|
453 |
+
protected function using_period_repository() {
|
454 |
+
return defined( 'TRIBE_EVENTS_V2_VIEWS_USE_PERIOD_REPOSITORY' )
|
455 |
+
&& TRIBE_EVENTS_V2_VIEWS_USE_PERIOD_REPOSITORY;
|
456 |
+
}
|
457 |
}
|
src/Tribe/Views/V2/Views/Day_View.php
CHANGED
@@ -174,11 +174,14 @@ class Day_View extends View {
|
|
174 |
$ongoing = [];
|
175 |
$hourly = [];
|
176 |
|
|
|
|
|
|
|
177 |
foreach ( $events as $i => $event ) {
|
178 |
if ( ! empty( $event->all_day ) ) {
|
179 |
$event->timeslot = 'all_day';
|
180 |
$all_day[ $i ] = $event;
|
181 |
-
} elseif ( ! empty( $event->multiday ) ) {
|
182 |
$event->timeslot = 'multiday';
|
183 |
$ongoing[ $i ] = $event;
|
184 |
} else {
|
174 |
$ongoing = [];
|
175 |
$hourly = [];
|
176 |
|
177 |
+
$today = Dates::build_date_object( $this->context->get( 'today', 'today' ) );
|
178 |
+
$request_date = $this->context->get( 'event_date', $today->format( Dates::DBDATEFORMAT ) );
|
179 |
+
|
180 |
foreach ( $events as $i => $event ) {
|
181 |
if ( ! empty( $event->all_day ) ) {
|
182 |
$event->timeslot = 'all_day';
|
183 |
$all_day[ $i ] = $event;
|
184 |
+
} elseif ( ! empty( $event->multiday ) && $event->dates->start_display->format( Dates::DBDATEFORMAT ) !== $request_date ) {
|
185 |
$event->timeslot = 'multiday';
|
186 |
$ongoing[ $i ] = $event;
|
187 |
} else {
|
src/Tribe/Views/V2/Views/List_View.php
CHANGED
@@ -35,6 +35,13 @@ class List_View extends View {
|
|
35 |
*/
|
36 |
protected static $publicly_visible = true;
|
37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
/**
|
39 |
* {@inheritDoc}
|
40 |
*/
|
@@ -225,7 +232,7 @@ class List_View extends View {
|
|
225 |
if (
|
226 |
! empty( $template_vars['events'] )
|
227 |
&& is_array( $template_vars['events'] )
|
228 |
-
&& 'past' === $this->context->get( 'event_display_mode'
|
229 |
) {
|
230 |
$template_vars['events'] = array_reverse( $template_vars['events'] );
|
231 |
}
|
35 |
*/
|
36 |
protected static $publicly_visible = true;
|
37 |
|
38 |
+
/**
|
39 |
+
* Indicates List View supports the date as a query argument appended to its URL, not as part of a "pretty" URL.
|
40 |
+
*
|
41 |
+
* @var bool
|
42 |
+
*/
|
43 |
+
protected static $date_in_url = false;
|
44 |
+
|
45 |
/**
|
46 |
* {@inheritDoc}
|
47 |
*/
|
232 |
if (
|
233 |
! empty( $template_vars['events'] )
|
234 |
&& is_array( $template_vars['events'] )
|
235 |
+
&& 'past' === $this->context->get( 'event_display_mode' )
|
236 |
) {
|
237 |
$template_vars['events'] = array_reverse( $template_vars['events'] );
|
238 |
}
|
src/Tribe/Views/V2/Views/Month_View.php
CHANGED
@@ -24,7 +24,7 @@ class Month_View extends By_Day_View {
|
|
24 |
*
|
25 |
* @var int
|
26 |
*/
|
27 |
-
protected static $posts_per_page_default =
|
28 |
|
29 |
/**
|
30 |
* Slug for this view.
|
@@ -144,15 +144,14 @@ class Month_View extends By_Day_View {
|
|
144 |
$context = null !== $context ? $context : $this->context;
|
145 |
|
146 |
// Let's override the ones the Month View will use differently.
|
147 |
-
$context_arr = $context->to_array();
|
148 |
// The setting governing the Events > Settings > Display > "Month view events per day" setting.
|
149 |
-
$args['posts_per_page'] =
|
150 |
// Per-day events never paginate.
|
151 |
unset( $args['paged'] );
|
152 |
|
153 |
-
$date =
|
154 |
|
155 |
-
$this->user_date = (
|
156 |
|
157 |
$args['order_by'] = [
|
158 |
'menu_order' => 'ASC',
|
@@ -171,7 +170,7 @@ class Month_View extends By_Day_View {
|
|
171 |
* @return int The Month view number of events per day.
|
172 |
*/
|
173 |
protected function get_events_per_day() {
|
174 |
-
$events_per_day = $this->context->get( 'month_posts_per_page',
|
175 |
|
176 |
/**
|
177 |
* Filters the number of events per day to fetch in the Month view.
|
24 |
*
|
25 |
* @var int
|
26 |
*/
|
27 |
+
protected static $posts_per_page_default = 12;
|
28 |
|
29 |
/**
|
30 |
* Slug for this view.
|
144 |
$context = null !== $context ? $context : $this->context;
|
145 |
|
146 |
// Let's override the ones the Month View will use differently.
|
|
|
147 |
// The setting governing the Events > Settings > Display > "Month view events per day" setting.
|
148 |
+
$args['posts_per_page'] = $context->get( 'month_posts_per_page', static::$posts_per_page_default );
|
149 |
// Per-day events never paginate.
|
150 |
unset( $args['paged'] );
|
151 |
|
152 |
+
$date = $context->get( 'event_date', 'now' );
|
153 |
|
154 |
+
$this->user_date = Dates::build_date_object( $date )->format( 'Y-m' );
|
155 |
|
156 |
$args['order_by'] = [
|
157 |
'menu_order' => 'ASC',
|
170 |
* @return int The Month view number of events per day.
|
171 |
*/
|
172 |
protected function get_events_per_day() {
|
173 |
+
$events_per_day = $this->context->get( 'month_posts_per_page', 12 );
|
174 |
|
175 |
/**
|
176 |
* Filters the number of events per day to fetch in the Month view.
|
src/admin-views/aggregator/origins/refine.php
CHANGED
@@ -9,6 +9,12 @@ $radius = new stdClass;
|
|
9 |
$radius->placeholder = sprintf( _x( 'Radius (%s)', 'Radius with abbreviation', 'the-events-calendar' ), Tribe__Events__Utils__Radius::get_abbreviation() );
|
10 |
$depends_condition = 'data-condition-not-empty';
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
switch ( $origin_slug ) {
|
13 |
case 'ics':
|
14 |
$depends = "#tribe-ea-field-{$origin_slug}_file";
|
@@ -23,9 +29,14 @@ switch ( $origin_slug ) {
|
|
23 |
$radius->help = __( 'Use the filters to narrow down which events are fetched from this site.', 'the-events-calendar' );
|
24 |
break;
|
25 |
case 'eventbrite':
|
26 |
-
$depends =
|
27 |
-
$depends_condition = 'data-condition=source_type_url';
|
28 |
$radius->help = __( 'Use the filters to narrow down which events are fetched from Eventbrite.', 'the-events-calendar' );
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
// Only new events
|
30 |
if ( empty( $record->meta['start'] ) ) {
|
31 |
$record->meta['start'] = date_i18n( 'Y-m-d' );
|
@@ -46,9 +57,7 @@ switch ( $origin_slug ) {
|
|
46 |
*
|
47 |
* @param array $keyword_exclusions List of origins excluded.
|
48 |
*/
|
49 |
-
$keyword_exclusions = apply_filters( 'tribe_events_aggregator_refine_keyword_exclusions',
|
50 |
-
$keyword_exclusions = json_encode( $keyword_exclusions );
|
51 |
-
|
52 |
/**
|
53 |
* Allow filtering of origins excluded from refining EA results by location.
|
54 |
*
|
@@ -56,15 +65,16 @@ $keyword_exclusions = json_encode( $keyword_exclusions );
|
|
56 |
*
|
57 |
* @param array $location_exclusions List of origins excluded.
|
58 |
*/
|
59 |
-
$location_exclusions = apply_filters( 'tribe_events_aggregator_refine_location_exclusions',
|
60 |
-
|
|
|
61 |
?>
|
62 |
<tr class="tribe-dependent tribe-refine-filters <?php echo esc_attr( $origin_slug ) ?>" data-depends="<?php echo esc_attr( $depends ); ?>" <?php echo esc_attr( $depends_condition ); ?>>
|
63 |
<th scope="row">
|
64 |
<label for="tribe-ea-field-refine_keywords"><?php echo __( 'Refine:', 'the-events-calendar' ); ?></label>
|
65 |
</th>
|
66 |
<td>
|
67 |
-
<div class="tribe-refine tribe-dependent" data-depends="
|
68 |
<input
|
69 |
name="aggregator[<?php echo esc_attr( $origin_slug ); ?>][keywords]"
|
70 |
type="text"
|
@@ -103,7 +113,7 @@ $location_exclusions = json_encode( $location_exclusions );
|
|
103 |
<span id="tribe-date-helper-date-<?php echo esc_attr( $origin_slug ); ?>"><?php echo esc_html( $start ); ?></span>
|
104 |
</span>
|
105 |
</div>
|
106 |
-
<div class="tribe-refine tribe-dependent" data-depends="
|
107 |
data-condition-relation="and" data-condition-not="<?php echo esc_attr( $location_exclusions ); ?>">
|
108 |
<input
|
109 |
name="aggregator[<?php echo esc_attr( $origin_slug ); ?>][location]"
|
9 |
$radius->placeholder = sprintf( _x( 'Radius (%s)', 'Radius with abbreviation', 'the-events-calendar' ), Tribe__Events__Utils__Radius::get_abbreviation() );
|
10 |
$depends_condition = 'data-condition-not-empty';
|
11 |
|
12 |
+
$location_depends = '#tribe-ea-field-origin';
|
13 |
+
$keyword_depends = '#tribe-ea-field-origin';
|
14 |
+
|
15 |
+
$keyword_exclusions = [ 'facebook' ];
|
16 |
+
$location_exclusions = [ 'url', 'facebook' ];
|
17 |
+
|
18 |
switch ( $origin_slug ) {
|
19 |
case 'ics':
|
20 |
$depends = "#tribe-ea-field-{$origin_slug}_file";
|
29 |
$radius->help = __( 'Use the filters to narrow down which events are fetched from this site.', 'the-events-calendar' );
|
30 |
break;
|
31 |
case 'eventbrite':
|
32 |
+
$depends = '#tribe-ea-field-eventbrite_import_source';
|
|
|
33 |
$radius->help = __( 'Use the filters to narrow down which events are fetched from Eventbrite.', 'the-events-calendar' );
|
34 |
+
$location_depends = '#tribe-ea-field-eventbrite_import_source';
|
35 |
+
$keyword_depends = '#tribe-ea-field-eventbrite_import_source';
|
36 |
+
|
37 |
+
$location_exclusions[] = 'https://www.eventbrite.com/me';
|
38 |
+
$keyword_exclusions[] = 'https://www.eventbrite.com/me';
|
39 |
+
|
40 |
// Only new events
|
41 |
if ( empty( $record->meta['start'] ) ) {
|
42 |
$record->meta['start'] = date_i18n( 'Y-m-d' );
|
57 |
*
|
58 |
* @param array $keyword_exclusions List of origins excluded.
|
59 |
*/
|
60 |
+
$keyword_exclusions = json_encode( apply_filters( 'tribe_events_aggregator_refine_keyword_exclusions', $keyword_exclusions ) );
|
|
|
|
|
61 |
/**
|
62 |
* Allow filtering of origins excluded from refining EA results by location.
|
63 |
*
|
65 |
*
|
66 |
* @param array $location_exclusions List of origins excluded.
|
67 |
*/
|
68 |
+
$location_exclusions = json_encode( apply_filters( 'tribe_events_aggregator_refine_location_exclusions', $location_exclusions ) );
|
69 |
+
|
70 |
+
|
71 |
?>
|
72 |
<tr class="tribe-dependent tribe-refine-filters <?php echo esc_attr( $origin_slug ) ?>" data-depends="<?php echo esc_attr( $depends ); ?>" <?php echo esc_attr( $depends_condition ); ?>>
|
73 |
<th scope="row">
|
74 |
<label for="tribe-ea-field-refine_keywords"><?php echo __( 'Refine:', 'the-events-calendar' ); ?></label>
|
75 |
</th>
|
76 |
<td>
|
77 |
+
<div class="tribe-refine tribe-dependent" data-depends="<?php echo esc_attr($keyword_depends); ?>" data-condition-not="<?php echo esc_attr( $keyword_exclusions ); ?>">
|
78 |
<input
|
79 |
name="aggregator[<?php echo esc_attr( $origin_slug ); ?>][keywords]"
|
80 |
type="text"
|
113 |
<span id="tribe-date-helper-date-<?php echo esc_attr( $origin_slug ); ?>"><?php echo esc_html( $start ); ?></span>
|
114 |
</span>
|
115 |
</div>
|
116 |
+
<div class="tribe-refine tribe-dependent" data-depends="<?php echo esc_attr( $location_depends ); ?>"
|
117 |
data-condition-relation="and" data-condition-not="<?php echo esc_attr( $location_exclusions ); ?>">
|
118 |
<input
|
119 |
name="aggregator[<?php echo esc_attr( $origin_slug ); ?>][location]"
|
src/admin-views/tribe-options-general.php
CHANGED
@@ -6,23 +6,23 @@ $site_time_format = get_option( 'time_format' );
|
|
6 |
$general_tab_fields = Tribe__Main::array_insert_after_key(
|
7 |
'info-start',
|
8 |
$general_tab_fields,
|
9 |
-
|
10 |
// after info-start
|
11 |
-
'upsell-heading' =>
|
12 |
'type' => 'heading',
|
13 |
'label' => esc_html__( 'Finding & extending your calendar.', 'the-events-calendar' ),
|
14 |
'conditional' => ( ! defined( 'TRIBE_HIDE_UPSELL' ) || ! TRIBE_HIDE_UPSELL ),
|
15 |
-
|
16 |
-
'finding-heading' =>
|
17 |
'type' => 'heading',
|
18 |
'label' => esc_html__( 'Finding your calendar.', 'the-events-calendar' ),
|
19 |
'conditional' => ( defined( 'TRIBE_HIDE_UPSELL' ) && TRIBE_HIDE_UPSELL ),
|
20 |
-
|
21 |
-
'view-calendar-link' =>
|
22 |
'type' => 'html',
|
23 |
'html' => '<p>' . esc_html__( 'Where\'s my calendar?', 'the-events-calendar' ) . ' <a href="' . esc_url( Tribe__Events__Main::instance()->getLink() ) . '">' . esc_html__( 'Right here', 'the-events-calendar' ) . '</a>.</p>',
|
24 |
-
|
25 |
-
|
26 |
);
|
27 |
|
28 |
$posts_per_page_tooltip = esc_html__( 'The number of events per page on the List View. Does not affect other views.', 'the-events-calendar' );
|
@@ -34,50 +34,50 @@ if ( class_exists( 'Tribe__Events__Pro__Main' ) ) {
|
|
34 |
$general_tab_fields = Tribe__Main::array_insert_before_key(
|
35 |
'debugEvents',
|
36 |
$general_tab_fields,
|
37 |
-
|
38 |
-
'tribeEventsDisplayThemeTitle' =>
|
39 |
'type' => 'html',
|
40 |
'html' => '<h3>' . esc_html__( 'General Settings', 'the-events-calendar' ) . '</h3>',
|
41 |
-
|
42 |
-
'postsPerPage' =>
|
43 |
'type' => 'text',
|
44 |
'label' => esc_html__( 'Number of events to show per page', 'the-events-calendar' ),
|
45 |
'tooltip' => $posts_per_page_tooltip,
|
46 |
'size' => 'small',
|
47 |
-
'default' => get_option( 'posts_per_page' ),
|
48 |
'validation_type' => 'positive_int',
|
49 |
-
|
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 ?
|
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',
|
61 |
'label' => esc_html__( 'Show comments', 'the-events-calendar' ),
|
62 |
'tooltip' => esc_html__( 'Enable comments on event pages.', 'the-events-calendar' ),
|
63 |
'default' => false,
|
64 |
'validation_type' => 'boolean',
|
65 |
-
|
66 |
-
'disable_metabox_custom_fields' =>
|
67 |
'type' => 'checkbox_bool',
|
68 |
'label' => esc_html__( 'Show Custom Fields metabox', 'the-events-calendar' ),
|
69 |
'tooltip' => esc_html__( 'Enable WordPress Custom Fields on events in the classic editor.', 'the-events-calendar' ),
|
70 |
'default' => true,
|
71 |
'validation_type' => 'boolean',
|
72 |
-
|
73 |
-
'showEventsInMainLoop' =>
|
74 |
'type' => 'checkbox_bool',
|
75 |
'label' => esc_html__( 'Include events in main blog loop', 'the-events-calendar' ),
|
76 |
'tooltip' => esc_html__( 'Show events with the site\'s other posts. When this box is checked, events will also continue to appear on the default events page.', 'the-events-calendar' ),
|
77 |
'default' => false,
|
78 |
'validation_type' => 'boolean',
|
79 |
-
|
80 |
-
'unprettyPermalinksUrl' =>
|
81 |
'type' => 'wrapped_html',
|
82 |
'label' => esc_html__( 'Events URL slug', 'the-events-calendar' ),
|
83 |
'html' => '<p>'
|
@@ -92,43 +92,43 @@ $general_tab_fields = Tribe__Main::array_insert_before_key(
|
|
92 |
)
|
93 |
. '</p>',
|
94 |
'conditional' => ( '' == get_option( 'permalink_structure' ) ),
|
95 |
-
|
96 |
-
'eventsSlug' =>
|
97 |
'type' => 'text',
|
98 |
'label' => esc_html__( 'Events URL slug', 'the-events-calendar' ),
|
99 |
'default' => 'events',
|
100 |
'validation_type' => 'slug',
|
101 |
'conditional' => ( '' != get_option( 'permalink_structure' ) ),
|
102 |
-
|
103 |
-
'current-events-slug' =>
|
104 |
'type' => 'html',
|
105 |
'html' => '<p class="tribe-field-indent tribe-field-description description">' . esc_html__( 'The slug used for building the events URL.', 'the-events-calendar' ) . ' ' . sprintf( esc_html__( 'Your current events URL is: %s', 'the-events-calendar' ), '<code><a href="' . esc_url( tribe_get_events_link() ) . '">' . urldecode( tribe_get_events_link() ) . '</a></code>' ) . '</p>',
|
106 |
'conditional' => ( '' != get_option( 'permalink_structure' ) ),
|
107 |
-
|
108 |
-
'ical-info' =>
|
109 |
'type' => 'html',
|
110 |
'display_callback' => ( function_exists( 'tribe_get_ical_link' ) ) ? '<p id="ical-link" class="tribe-field-indent tribe-field-description description">' . esc_html__( 'Here is the iCal feed URL for your events:', 'the-events-calendar' ) . ' <code>' . tribe_get_ical_link() . '</code></p>' : '',
|
111 |
'conditional' => function_exists( 'tribe_get_ical_link' ),
|
112 |
-
|
113 |
-
'singleEventSlug' =>
|
114 |
'type' => 'text',
|
115 |
'label' => esc_html__( 'Single event URL slug', 'the-events-calendar' ),
|
116 |
'default' => 'event',
|
117 |
'validation_type' => 'slug',
|
118 |
'conditional' => ( '' != get_option( 'permalink_structure' ) ),
|
119 |
-
|
120 |
-
'current-single-event-slug' =>
|
121 |
'type' => 'html',
|
122 |
'html' => '<p class="tribe-field-indent tribe-field-description description">' . sprintf( __( 'The above should ideally be plural, and this singular.<br />Your single event URL is: %s', 'the-events-calendar' ), '<code>' . trailingslashit( home_url() ) . urldecode( tribe_get_option( 'singleEventSlug', 'event' ) ) . '/single-post-name/</code>' ) . '</p>',
|
123 |
'conditional' => ( '' != get_option( 'permalink_structure' ) ),
|
124 |
-
|
125 |
-
'multiDayCutoff' =>
|
126 |
'type' => 'dropdown',
|
127 |
'label' => esc_html__( 'End of day cutoff', 'the-events-calendar' ),
|
128 |
'validation_type' => 'options',
|
129 |
'size' => 'small',
|
130 |
'default' => date_i18n( $site_time_format, strtotime( '12:00 am' ) ),
|
131 |
-
'options' =>
|
132 |
'00:00' => date_i18n( $site_time_format, strtotime( '12:00 am' ) ),
|
133 |
'01:00' => date_i18n( $site_time_format, strtotime( '01:00 am' ) ),
|
134 |
'02:00' => date_i18n( $site_time_format, strtotime( '02:00 am' ) ),
|
@@ -141,40 +141,40 @@ $general_tab_fields = Tribe__Main::array_insert_before_key(
|
|
141 |
'09:00' => date_i18n( $site_time_format, strtotime( '09:00 am' ) ),
|
142 |
'10:00' => date_i18n( $site_time_format, strtotime( '10:00 am' ) ),
|
143 |
'11:00' => date_i18n( $site_time_format, strtotime( '11:00 am' ) ),
|
144 |
-
|
145 |
-
|
146 |
-
'multiDayCutoffHelper' =>
|
147 |
'type' => 'html',
|
148 |
'html' => '<p class="tribe-field-indent tribe-field-description description">' . sprintf( esc_html__( "Have an event that runs past midnight? Select a time after that event's end to avoid showing the event on the next day's calendar.", 'the-events-calendar' ) ) . '</p>',
|
149 |
'conditional' => ( '' != get_option( 'permalink_structure' ) ),
|
150 |
-
|
151 |
-
'defaultCurrencySymbol' =>
|
152 |
'type' => 'text',
|
153 |
'label' => esc_html__( 'Default currency symbol', 'the-events-calendar' ),
|
154 |
'tooltip' => esc_html__( 'Set the default currency symbol for event costs. Note that this only impacts future events, and changes made will not apply retroactively.', 'the-events-calendar' ),
|
155 |
'validation_type' => 'textarea',
|
156 |
'size' => 'small',
|
157 |
'default' => '$',
|
158 |
-
|
159 |
-
'reverseCurrencyPosition' =>
|
160 |
'type' => 'checkbox_bool',
|
161 |
'label' => esc_html__( 'Currency symbol follows value', 'the-events-calendar' ),
|
162 |
'tooltip' => esc_html__( 'The currency symbol normally precedes the value. Enabling this option positions the symbol after the value.', 'the-events-calendar' ),
|
163 |
'default' => false,
|
164 |
'validation_type' => 'boolean',
|
165 |
-
|
166 |
-
'amalgamateDuplicates' =>
|
167 |
'type' => 'html',
|
168 |
'html' => '<fieldset class="tribe-field tribe-field-html"><legend>' . esc_html__( 'Duplicate Venues & Organizers', 'the-events-calendar' ) . '</legend><div class="tribe-field-wrap">' . Tribe__Events__Amalgamator::migration_button( esc_html__( 'Merge Duplicates', 'the-events-calendar' ) ) . '<p class="tribe-field-indent description">' . esc_html__( 'You might find duplicate venues and organizers when updating The Events Calendar from a pre-3.0 version. Click this button to automatically merge identical venues and organizers.', 'the-events-calendar' ) . '</p></div></fieldset><div class="clear"></div>',
|
169 |
-
|
170 |
-
tribe( 'tec.event-cleaner' )->key_trash_events =>
|
171 |
'type' => 'dropdown',
|
172 |
'label' => esc_html__( 'Move to trash events older than', 'the-events-calendar' ),
|
173 |
'tooltip' => esc_html__( 'This option allows you to automatically move past events to trash.', 'the-events-calendar' ),
|
174 |
'validation_type' => 'options',
|
175 |
'size' => 'small',
|
176 |
'default' => null,
|
177 |
-
'options' =>
|
178 |
null => esc_html__( 'Disabled', 'the-events-calendar' ),
|
179 |
3 => esc_html__( '3 months', 'the-events-calendar' ),
|
180 |
6 => esc_html__( '6 months', 'the-events-calendar' ),
|
@@ -182,16 +182,16 @@ $general_tab_fields = Tribe__Main::array_insert_before_key(
|
|
182 |
12 => esc_html__( '1 year', 'the-events-calendar' ),
|
183 |
24 => esc_html__( '2 years', 'the-events-calendar' ),
|
184 |
36 => esc_html__( '3 years', 'the-events-calendar' ),
|
185 |
-
|
186 |
-
|
187 |
-
tribe( 'tec.event-cleaner' )->key_delete_events =>
|
188 |
'type' => 'dropdown',
|
189 |
'label' => esc_html__( 'Permanently delete events older than', 'the-events-calendar' ),
|
190 |
'tooltip' => esc_html__( 'This option allows you to bulk delete past events. Be careful and backup your database before removing your events as there is no way to reverse the changes.', 'the-events-calendar' ),
|
191 |
'validation_type' => 'options',
|
192 |
'size' => 'small',
|
193 |
'default' => null,
|
194 |
-
'options' =>
|
195 |
null => esc_html__( 'Disabled', 'the-events-calendar' ),
|
196 |
3 => esc_html__( '3 months', 'the-events-calendar' ),
|
197 |
6 => esc_html__( '6 months', 'the-events-calendar' ),
|
@@ -199,54 +199,54 @@ $general_tab_fields = Tribe__Main::array_insert_before_key(
|
|
199 |
12 => esc_html__( '1 year', 'the-events-calendar' ),
|
200 |
24 => esc_html__( '2 years', 'the-events-calendar' ),
|
201 |
36 => esc_html__( '3 years', 'the-events-calendar' ),
|
202 |
-
|
203 |
-
|
204 |
-
'tribeEventsMiscellaneousTitle' =>
|
205 |
'type' => 'html',
|
206 |
'html' => '<h3>' . esc_html__( 'Miscellaneous Settings', 'the-events-calendar' ) . '</h3>',
|
207 |
-
|
208 |
-
|
209 |
);
|
210 |
|
211 |
$general_tab_fields = Tribe__Main::array_insert_after_key(
|
212 |
'tribeEventsMiscellaneousTitle',
|
213 |
$general_tab_fields,
|
214 |
-
|
215 |
-
'viewWelcomePage' =>
|
216 |
'type' => 'html',
|
217 |
'html' =>
|
218 |
'<fieldset class="tribe-field tribe-field-html"><legend>' .
|
219 |
esc_html__( 'View Welcome Page', 'the-events-calendar' ) .
|
220 |
-
'</legend><div class="tribe-field-wrap"><a href="' . Tribe__Settings::instance()->get_url(
|
221 |
-
|
222 |
-
'viewUpdatePage' =>
|
223 |
'type' => 'html',
|
224 |
'html' =>
|
225 |
'<fieldset class="tribe-field tribe-field-html"><legend>' .
|
226 |
esc_html__( 'View Update Page', 'the-events-calendar' ) .
|
227 |
-
'</legend><div class="tribe-field-wrap"><a href="' . Tribe__Settings::instance()->get_url(
|
228 |
-
|
229 |
-
|
230 |
);
|
231 |
|
232 |
|
233 |
$general_tab_fields = Tribe__Main::array_insert_before_key(
|
234 |
'tribeEventsMiscellaneousTitle',
|
235 |
$general_tab_fields,
|
236 |
-
|
237 |
-
'tribeGoogleMapsSettings' =>
|
238 |
'type' => 'html',
|
239 |
'html' => '<h3>' . esc_html__( 'Map Settings', 'the-events-calendar' ) . '</h3>',
|
240 |
-
|
241 |
-
'embedGoogleMaps' =>
|
242 |
'type' => 'checkbox_bool',
|
243 |
'label' => esc_html__( 'Enable Maps', 'the-events-calendar' ),
|
244 |
'tooltip' => esc_html__( 'Check to enable maps for events and venues.', 'the-events-calendar' ),
|
245 |
'default' => true,
|
246 |
'class' => 'google-embed-size',
|
247 |
'validation_type' => 'boolean',
|
248 |
-
|
249 |
-
'embedGoogleMapsZoom' =>
|
250 |
'type' => 'text',
|
251 |
'label' => esc_html__( 'Google Maps default zoom level', 'the-events-calendar' ),
|
252 |
'tooltip' => esc_html__( '0 = zoomed out; 21 = zoomed in.', 'the-events-calendar' ),
|
@@ -254,8 +254,8 @@ $general_tab_fields = Tribe__Main::array_insert_before_key(
|
|
254 |
'default' => 10,
|
255 |
'class' => 'google-embed-field',
|
256 |
'validation_type' => 'number_or_percent',
|
257 |
-
|
258 |
-
|
259 |
);
|
260 |
|
261 |
$general_tab_fields = tribe( 'events.editor.compatibility' )->insert_toggle_blocks_editor_field( $general_tab_fields );
|
6 |
$general_tab_fields = Tribe__Main::array_insert_after_key(
|
7 |
'info-start',
|
8 |
$general_tab_fields,
|
9 |
+
[
|
10 |
// after info-start
|
11 |
+
'upsell-heading' => [
|
12 |
'type' => 'heading',
|
13 |
'label' => esc_html__( 'Finding & extending your calendar.', 'the-events-calendar' ),
|
14 |
'conditional' => ( ! defined( 'TRIBE_HIDE_UPSELL' ) || ! TRIBE_HIDE_UPSELL ),
|
15 |
+
],
|
16 |
+
'finding-heading' => [
|
17 |
'type' => 'heading',
|
18 |
'label' => esc_html__( 'Finding your calendar.', 'the-events-calendar' ),
|
19 |
'conditional' => ( defined( 'TRIBE_HIDE_UPSELL' ) && TRIBE_HIDE_UPSELL ),
|
20 |
+
],
|
21 |
+
'view-calendar-link' => [
|
22 |
'type' => 'html',
|
23 |
'html' => '<p>' . esc_html__( 'Where\'s my calendar?', 'the-events-calendar' ) . ' <a href="' . esc_url( Tribe__Events__Main::instance()->getLink() ) . '">' . esc_html__( 'Right here', 'the-events-calendar' ) . '</a>.</p>',
|
24 |
+
],
|
25 |
+
]
|
26 |
);
|
27 |
|
28 |
$posts_per_page_tooltip = esc_html__( 'The number of events per page on the List View. Does not affect other views.', 'the-events-calendar' );
|
34 |
$general_tab_fields = Tribe__Main::array_insert_before_key(
|
35 |
'debugEvents',
|
36 |
$general_tab_fields,
|
37 |
+
[
|
38 |
+
'tribeEventsDisplayThemeTitle' => [
|
39 |
'type' => 'html',
|
40 |
'html' => '<h3>' . esc_html__( 'General Settings', 'the-events-calendar' ) . '</h3>',
|
41 |
+
],
|
42 |
+
'postsPerPage' => [
|
43 |
'type' => 'text',
|
44 |
'label' => esc_html__( 'Number of events to show per page', 'the-events-calendar' ),
|
45 |
'tooltip' => $posts_per_page_tooltip,
|
46 |
'size' => 'small',
|
47 |
+
'default' => tribe_events_views_v2_is_enabled() ? 12 : get_option( 'posts_per_page' ),
|
48 |
'validation_type' => 'positive_int',
|
49 |
+
],
|
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',
|
61 |
'label' => esc_html__( 'Show comments', 'the-events-calendar' ),
|
62 |
'tooltip' => esc_html__( 'Enable comments on event pages.', 'the-events-calendar' ),
|
63 |
'default' => false,
|
64 |
'validation_type' => 'boolean',
|
65 |
+
],
|
66 |
+
'disable_metabox_custom_fields' => [
|
67 |
'type' => 'checkbox_bool',
|
68 |
'label' => esc_html__( 'Show Custom Fields metabox', 'the-events-calendar' ),
|
69 |
'tooltip' => esc_html__( 'Enable WordPress Custom Fields on events in the classic editor.', 'the-events-calendar' ),
|
70 |
'default' => true,
|
71 |
'validation_type' => 'boolean',
|
72 |
+
],
|
73 |
+
'showEventsInMainLoop' => [
|
74 |
'type' => 'checkbox_bool',
|
75 |
'label' => esc_html__( 'Include events in main blog loop', 'the-events-calendar' ),
|
76 |
'tooltip' => esc_html__( 'Show events with the site\'s other posts. When this box is checked, events will also continue to appear on the default events page.', 'the-events-calendar' ),
|
77 |
'default' => false,
|
78 |
'validation_type' => 'boolean',
|
79 |
+
],
|
80 |
+
'unprettyPermalinksUrl' => [
|
81 |
'type' => 'wrapped_html',
|
82 |
'label' => esc_html__( 'Events URL slug', 'the-events-calendar' ),
|
83 |
'html' => '<p>'
|
92 |
)
|
93 |
. '</p>',
|
94 |
'conditional' => ( '' == get_option( 'permalink_structure' ) ),
|
95 |
+
],
|
96 |
+
'eventsSlug' => [
|
97 |
'type' => 'text',
|
98 |
'label' => esc_html__( 'Events URL slug', 'the-events-calendar' ),
|
99 |
'default' => 'events',
|
100 |
'validation_type' => 'slug',
|
101 |
'conditional' => ( '' != get_option( 'permalink_structure' ) ),
|
102 |
+
],
|
103 |
+
'current-events-slug' => [
|
104 |
'type' => 'html',
|
105 |
'html' => '<p class="tribe-field-indent tribe-field-description description">' . esc_html__( 'The slug used for building the events URL.', 'the-events-calendar' ) . ' ' . sprintf( esc_html__( 'Your current events URL is: %s', 'the-events-calendar' ), '<code><a href="' . esc_url( tribe_get_events_link() ) . '">' . urldecode( tribe_get_events_link() ) . '</a></code>' ) . '</p>',
|
106 |
'conditional' => ( '' != get_option( 'permalink_structure' ) ),
|
107 |
+
],
|
108 |
+
'ical-info' => [
|
109 |
'type' => 'html',
|
110 |
'display_callback' => ( function_exists( 'tribe_get_ical_link' ) ) ? '<p id="ical-link" class="tribe-field-indent tribe-field-description description">' . esc_html__( 'Here is the iCal feed URL for your events:', 'the-events-calendar' ) . ' <code>' . tribe_get_ical_link() . '</code></p>' : '',
|
111 |
'conditional' => function_exists( 'tribe_get_ical_link' ),
|
112 |
+
],
|
113 |
+
'singleEventSlug' => [
|
114 |
'type' => 'text',
|
115 |
'label' => esc_html__( 'Single event URL slug', 'the-events-calendar' ),
|
116 |
'default' => 'event',
|
117 |
'validation_type' => 'slug',
|
118 |
'conditional' => ( '' != get_option( 'permalink_structure' ) ),
|
119 |
+
],
|
120 |
+
'current-single-event-slug' => [
|
121 |
'type' => 'html',
|
122 |
'html' => '<p class="tribe-field-indent tribe-field-description description">' . sprintf( __( 'The above should ideally be plural, and this singular.<br />Your single event URL is: %s', 'the-events-calendar' ), '<code>' . trailingslashit( home_url() ) . urldecode( tribe_get_option( 'singleEventSlug', 'event' ) ) . '/single-post-name/</code>' ) . '</p>',
|
123 |
'conditional' => ( '' != get_option( 'permalink_structure' ) ),
|
124 |
+
],
|
125 |
+
'multiDayCutoff' => [
|
126 |
'type' => 'dropdown',
|
127 |
'label' => esc_html__( 'End of day cutoff', 'the-events-calendar' ),
|
128 |
'validation_type' => 'options',
|
129 |
'size' => 'small',
|
130 |
'default' => date_i18n( $site_time_format, strtotime( '12:00 am' ) ),
|
131 |
+
'options' => [
|
132 |
'00:00' => date_i18n( $site_time_format, strtotime( '12:00 am' ) ),
|
133 |
'01:00' => date_i18n( $site_time_format, strtotime( '01:00 am' ) ),
|
134 |
'02:00' => date_i18n( $site_time_format, strtotime( '02:00 am' ) ),
|
141 |
'09:00' => date_i18n( $site_time_format, strtotime( '09:00 am' ) ),
|
142 |
'10:00' => date_i18n( $site_time_format, strtotime( '10:00 am' ) ),
|
143 |
'11:00' => date_i18n( $site_time_format, strtotime( '11:00 am' ) ),
|
144 |
+
],
|
145 |
+
],
|
146 |
+
'multiDayCutoffHelper' => [
|
147 |
'type' => 'html',
|
148 |
'html' => '<p class="tribe-field-indent tribe-field-description description">' . sprintf( esc_html__( "Have an event that runs past midnight? Select a time after that event's end to avoid showing the event on the next day's calendar.", 'the-events-calendar' ) ) . '</p>',
|
149 |
'conditional' => ( '' != get_option( 'permalink_structure' ) ),
|
150 |
+
],
|
151 |
+
'defaultCurrencySymbol' => [
|
152 |
'type' => 'text',
|
153 |
'label' => esc_html__( 'Default currency symbol', 'the-events-calendar' ),
|
154 |
'tooltip' => esc_html__( 'Set the default currency symbol for event costs. Note that this only impacts future events, and changes made will not apply retroactively.', 'the-events-calendar' ),
|
155 |
'validation_type' => 'textarea',
|
156 |
'size' => 'small',
|
157 |
'default' => '$',
|
158 |
+
],
|
159 |
+
'reverseCurrencyPosition' => [
|
160 |
'type' => 'checkbox_bool',
|
161 |
'label' => esc_html__( 'Currency symbol follows value', 'the-events-calendar' ),
|
162 |
'tooltip' => esc_html__( 'The currency symbol normally precedes the value. Enabling this option positions the symbol after the value.', 'the-events-calendar' ),
|
163 |
'default' => false,
|
164 |
'validation_type' => 'boolean',
|
165 |
+
],
|
166 |
+
'amalgamateDuplicates' => [
|
167 |
'type' => 'html',
|
168 |
'html' => '<fieldset class="tribe-field tribe-field-html"><legend>' . esc_html__( 'Duplicate Venues & Organizers', 'the-events-calendar' ) . '</legend><div class="tribe-field-wrap">' . Tribe__Events__Amalgamator::migration_button( esc_html__( 'Merge Duplicates', 'the-events-calendar' ) ) . '<p class="tribe-field-indent description">' . esc_html__( 'You might find duplicate venues and organizers when updating The Events Calendar from a pre-3.0 version. Click this button to automatically merge identical venues and organizers.', 'the-events-calendar' ) . '</p></div></fieldset><div class="clear"></div>',
|
169 |
+
],
|
170 |
+
tribe( 'tec.event-cleaner' )->key_trash_events => [
|
171 |
'type' => 'dropdown',
|
172 |
'label' => esc_html__( 'Move to trash events older than', 'the-events-calendar' ),
|
173 |
'tooltip' => esc_html__( 'This option allows you to automatically move past events to trash.', 'the-events-calendar' ),
|
174 |
'validation_type' => 'options',
|
175 |
'size' => 'small',
|
176 |
'default' => null,
|
177 |
+
'options' => [
|
178 |
null => esc_html__( 'Disabled', 'the-events-calendar' ),
|
179 |
3 => esc_html__( '3 months', 'the-events-calendar' ),
|
180 |
6 => esc_html__( '6 months', 'the-events-calendar' ),
|
182 |
12 => esc_html__( '1 year', 'the-events-calendar' ),
|
183 |
24 => esc_html__( '2 years', 'the-events-calendar' ),
|
184 |
36 => esc_html__( '3 years', 'the-events-calendar' ),
|
185 |
+
],
|
186 |
+
],
|
187 |
+
tribe( 'tec.event-cleaner' )->key_delete_events => [
|
188 |
'type' => 'dropdown',
|
189 |
'label' => esc_html__( 'Permanently delete events older than', 'the-events-calendar' ),
|
190 |
'tooltip' => esc_html__( 'This option allows you to bulk delete past events. Be careful and backup your database before removing your events as there is no way to reverse the changes.', 'the-events-calendar' ),
|
191 |
'validation_type' => 'options',
|
192 |
'size' => 'small',
|
193 |
'default' => null,
|
194 |
+
'options' => [
|
195 |
null => esc_html__( 'Disabled', 'the-events-calendar' ),
|
196 |
3 => esc_html__( '3 months', 'the-events-calendar' ),
|
197 |
6 => esc_html__( '6 months', 'the-events-calendar' ),
|
199 |
12 => esc_html__( '1 year', 'the-events-calendar' ),
|
200 |
24 => esc_html__( '2 years', 'the-events-calendar' ),
|
201 |
36 => esc_html__( '3 years', 'the-events-calendar' ),
|
202 |
+
],
|
203 |
+
],
|
204 |
+
'tribeEventsMiscellaneousTitle' => [
|
205 |
'type' => 'html',
|
206 |
'html' => '<h3>' . esc_html__( 'Miscellaneous Settings', 'the-events-calendar' ) . '</h3>',
|
207 |
+
],
|
208 |
+
]
|
209 |
);
|
210 |
|
211 |
$general_tab_fields = Tribe__Main::array_insert_after_key(
|
212 |
'tribeEventsMiscellaneousTitle',
|
213 |
$general_tab_fields,
|
214 |
+
[
|
215 |
+
'viewWelcomePage' => [
|
216 |
'type' => 'html',
|
217 |
'html' =>
|
218 |
'<fieldset class="tribe-field tribe-field-html"><legend>' .
|
219 |
esc_html__( 'View Welcome Page', 'the-events-calendar' ) .
|
220 |
+
'</legend><div class="tribe-field-wrap"><a href="' . Tribe__Settings::instance()->get_url( [ Tribe__Events__Main::instance()->activation_page->welcome_slug => 1 ] ) . '" class="button">' . esc_html__( 'View Welcome Page', 'the-events-calendar' ) . '</a><p class="tribe-field-indent description">' . esc_html__( 'View the page that displayed when you initially installed the plugin.', 'the-events-calendar' ) . '</p></div></fieldset><div class="clear"></div>',
|
221 |
+
],
|
222 |
+
'viewUpdatePage' => [
|
223 |
'type' => 'html',
|
224 |
'html' =>
|
225 |
'<fieldset class="tribe-field tribe-field-html"><legend>' .
|
226 |
esc_html__( 'View Update Page', 'the-events-calendar' ) .
|
227 |
+
'</legend><div class="tribe-field-wrap"><a href="' . Tribe__Settings::instance()->get_url( [ Tribe__Events__Main::instance()->activation_page->update_slug => 1 ] ) . '" class="button">' . esc_html__( 'View Update Page', 'the-events-calendar' ) . '</a><p class="tribe-field-indent description">' . esc_html__( 'View the page that displayed when you updated the plugin.', 'the-events-calendar' ) . '</p></div></fieldset><div class="clear"></div>',
|
228 |
+
],
|
229 |
+
]
|
230 |
);
|
231 |
|
232 |
|
233 |
$general_tab_fields = Tribe__Main::array_insert_before_key(
|
234 |
'tribeEventsMiscellaneousTitle',
|
235 |
$general_tab_fields,
|
236 |
+
[
|
237 |
+
'tribeGoogleMapsSettings' => [
|
238 |
'type' => 'html',
|
239 |
'html' => '<h3>' . esc_html__( 'Map Settings', 'the-events-calendar' ) . '</h3>',
|
240 |
+
],
|
241 |
+
'embedGoogleMaps' => [
|
242 |
'type' => 'checkbox_bool',
|
243 |
'label' => esc_html__( 'Enable Maps', 'the-events-calendar' ),
|
244 |
'tooltip' => esc_html__( 'Check to enable maps for events and venues.', 'the-events-calendar' ),
|
245 |
'default' => true,
|
246 |
'class' => 'google-embed-size',
|
247 |
'validation_type' => 'boolean',
|
248 |
+
],
|
249 |
+
'embedGoogleMapsZoom' => [
|
250 |
'type' => 'text',
|
251 |
'label' => esc_html__( 'Google Maps default zoom level', 'the-events-calendar' ),
|
252 |
'tooltip' => esc_html__( '0 = zoomed out; 21 = zoomed in.', 'the-events-calendar' ),
|
254 |
'default' => 10,
|
255 |
'class' => 'google-embed-field',
|
256 |
'validation_type' => 'number_or_percent',
|
257 |
+
],
|
258 |
+
]
|
259 |
);
|
260 |
|
261 |
$general_tab_fields = tribe( 'events.editor.compatibility' )->insert_toggle_blocks_editor_field( $general_tab_fields );
|
src/functions/template-tags/event.php
CHANGED
@@ -19,6 +19,7 @@ if ( ! function_exists( 'tribe_get_event' ) ) {
|
|
19 |
* respectively. Defaults to `OBJECT`.
|
20 |
* @param string $filter Type of filter to apply. Accepts 'raw', a valid date string or
|
21 |
* object to localize the event in a specific time-frame.
|
|
|
22 |
*
|
23 |
* @return array|mixed|void|WP_Post|null {
|
24 |
* The Event post object or array, `null` if not found.
|
@@ -74,7 +75,7 @@ if ( ! function_exists( 'tribe_get_event' ) ) {
|
|
74 |
* tags.
|
75 |
* }
|
76 |
*/
|
77 |
-
function tribe_get_event( $event = null, $output = OBJECT, $filter = 'raw' ) {
|
78 |
/**
|
79 |
* Filters the event result before any logic applies.
|
80 |
*
|
@@ -97,26 +98,38 @@ if ( ! function_exists( 'tribe_get_event' ) ) {
|
|
97 |
return $return;
|
98 |
}
|
99 |
|
100 |
-
$post =
|
101 |
-
|
102 |
-
|
103 |
-
|
|
|
|
|
104 |
}
|
105 |
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
|
121 |
if ( OBJECT !== $output ) {
|
122 |
$post = ARRAY_A === $output ? (array) $post : array_values( (array) $post );
|
19 |
* respectively. Defaults to `OBJECT`.
|
20 |
* @param string $filter Type of filter to apply. Accepts 'raw', a valid date string or
|
21 |
* object to localize the event in a specific time-frame.
|
22 |
+
* @param bool $force Whether to force a re-fetch ignoring cached results or not.
|
23 |
*
|
24 |
* @return array|mixed|void|WP_Post|null {
|
25 |
* The Event post object or array, `null` if not found.
|
75 |
* tags.
|
76 |
* }
|
77 |
*/
|
78 |
+
function tribe_get_event( $event = null, $output = OBJECT, $filter = 'raw', $force = false ) {
|
79 |
/**
|
80 |
* Filters the event result before any logic applies.
|
81 |
*
|
98 |
return $return;
|
99 |
}
|
100 |
|
101 |
+
$post = false;
|
102 |
+
if ( ! $force ) {
|
103 |
+
$cache_key = 'tribe_get_event_' . md5( json_encode( [ $event, $output, $filter ] ) );
|
104 |
+
/** @var Tribe__Cache $cache */
|
105 |
+
$cache = tribe( 'cache' );
|
106 |
+
$post = $cache->get( $cache_key, Tribe__Cache_Listener::TRIGGER_SAVE_POST );
|
107 |
}
|
108 |
|
109 |
+
if ( false === $post ) {
|
110 |
+
$post = Event::from_post( $event )->to_post( $output, $filter );
|
111 |
+
|
112 |
+
if ( empty( $post ) ) {
|
113 |
+
return null;
|
114 |
+
}
|
115 |
+
|
116 |
+
/**
|
117 |
+
* Filters the event post object before caching it and returning it.
|
118 |
+
*
|
119 |
+
* Note: this value will be cached; as such this filter might not run on each request.
|
120 |
+
* If you need to filter the output value on each call of this function then use the `tribe_get_event_before`
|
121 |
+
* filter.
|
122 |
+
*
|
123 |
+
* @since 4.9.7
|
124 |
+
*
|
125 |
+
* @param WP_Post $post The event post object, decorated with a set of custom properties.
|
126 |
+
* @param string $output The output format to use.
|
127 |
+
* @param string $filter The filter, or context of the fetch.
|
128 |
+
*/
|
129 |
+
$post = apply_filters( 'tribe_get_event', $post, $output, $filter );
|
130 |
+
|
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 );
|
src/functions/template-tags/orm.php
CHANGED
@@ -23,15 +23,20 @@ if ( ! function_exists( 'tribe_events' ) ) {
|
|
23 |
'default' => 'events.event-repository',
|
24 |
);
|
25 |
|
|
|
|
|
26 |
/**
|
27 |
* Filters the map relating event repository slugs to service container bindings.
|
28 |
*
|
29 |
* @since 4.9
|
|
|
30 |
*
|
31 |
* @param array $map A map in the shape [ <repository_slug> => <service_name> ]
|
32 |
* @param string $repository The currently requested implementation.
|
|
|
|
|
33 |
*/
|
34 |
-
$map = apply_filters( 'tribe_events_event_repository_map', $map, $repository );
|
35 |
|
36 |
return tribe( Tribe__Utils__Array::get( $map, $repository, $map['default'] ) );
|
37 |
}
|
23 |
'default' => 'events.event-repository',
|
24 |
);
|
25 |
|
26 |
+
$args = func_num_args() > 1 ? array_slice( func_get_args(), 1 ) : [];
|
27 |
+
|
28 |
/**
|
29 |
* Filters the map relating event repository slugs to service container bindings.
|
30 |
*
|
31 |
* @since 4.9
|
32 |
+
* @since 4.9.13 Added additional call arguements support.
|
33 |
*
|
34 |
* @param array $map A map in the shape [ <repository_slug> => <service_name> ]
|
35 |
* @param string $repository The currently requested implementation.
|
36 |
+
* @param array $args An array of additional call arguments used to call the function beside the
|
37 |
+
* repository slug.
|
38 |
*/
|
39 |
+
$map = apply_filters( 'tribe_events_event_repository_map', $map, $repository, $args );
|
40 |
|
41 |
return tribe( Tribe__Utils__Array::get( $map, $repository, $map['default'] ) );
|
42 |
}
|
src/functions/template-tags/venue.php
CHANGED
@@ -4,6 +4,7 @@
|
|
4 |
*
|
5 |
* Display functions (template-tags) for use in WordPress templates.
|
6 |
*/
|
|
|
7 |
use Tribe\Events\Models\Post_Types\Venue;
|
8 |
|
9 |
/**
|
@@ -16,6 +17,7 @@ use Tribe\Events\Models\Post_Types\Venue;
|
|
16 |
* correspond to a WP_Post object, an associative array, or a numeric array,
|
17 |
* respectively. Defaults to `OBJECT`.
|
18 |
* @param string $filter Type of filter to apply. Accepts 'raw'.
|
|
|
19 |
*
|
20 |
* @return array|mixed|void|WP_Post|null {
|
21 |
* The Venue post object or array, `null` if not found.
|
@@ -33,7 +35,7 @@ use Tribe\Events\Models\Post_Types\Venue;
|
|
33 |
* @type string $geolocation_string The string we use to crawl and link to the maps provider.
|
34 |
* }
|
35 |
*/
|
36 |
-
function tribe_get_venue_object( $venue = null, $output = OBJECT, $filter = 'raw' ) {
|
37 |
/**
|
38 |
* Filters the venue result before any logic applies.
|
39 |
*
|
@@ -55,26 +57,37 @@ function tribe_get_venue_object( $venue = null, $output = OBJECT, $filter = 'raw
|
|
55 |
return $return;
|
56 |
}
|
57 |
|
58 |
-
$post =
|
59 |
-
|
60 |
-
|
61 |
-
|
|
|
|
|
62 |
}
|
63 |
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
|
79 |
if ( OBJECT !== $output ) {
|
80 |
$post = ARRAY_A === $output ? (array) $post : array_values( (array) $post );
|
4 |
*
|
5 |
* Display functions (template-tags) for use in WordPress templates.
|
6 |
*/
|
7 |
+
|
8 |
use Tribe\Events\Models\Post_Types\Venue;
|
9 |
|
10 |
/**
|
17 |
* correspond to a WP_Post object, an associative array, or a numeric array,
|
18 |
* respectively. Defaults to `OBJECT`.
|
19 |
* @param string $filter Type of filter to apply. Accepts 'raw'.
|
20 |
+
* @param bool $force Whether to force a re-fetch ignoring cached results or not.
|
21 |
*
|
22 |
* @return array|mixed|void|WP_Post|null {
|
23 |
* The Venue post object or array, `null` if not found.
|
35 |
* @type string $geolocation_string The string we use to crawl and link to the maps provider.
|
36 |
* }
|
37 |
*/
|
38 |
+
function tribe_get_venue_object( $venue = null, $output = OBJECT, $filter = 'raw', $force = false ) {
|
39 |
/**
|
40 |
* Filters the venue result before any logic applies.
|
41 |
*
|
57 |
return $return;
|
58 |
}
|
59 |
|
60 |
+
$post = false;
|
61 |
+
if ( ! $force ) {
|
62 |
+
$cache_key = 'tribe_get_venue_object_' . md5( json_encode( [ $venue, $output, $filter ] ) );
|
63 |
+
/** @var Tribe__Cache $cache */
|
64 |
+
$cache = tribe( 'cache' );
|
65 |
+
$post = $cache->get( $cache_key, Tribe__Cache_Listener::TRIGGER_SAVE_POST );
|
66 |
}
|
67 |
|
68 |
+
if ( false === $post ) {
|
69 |
+
$post = Venue::from_post( $venue )->to_post( $output, $filter );
|
70 |
+
|
71 |
+
if ( empty( $post ) ) {
|
72 |
+
return null;
|
73 |
+
}
|
74 |
+
/**
|
75 |
+
* Filters the venue post object before caching it and returning it.
|
76 |
+
*
|
77 |
+
* Note: this value will be cached; as such this filter might not run on each request.
|
78 |
+
* If you need to filter the output value on each call of this function then use the `tribe_get_venue_object_before`
|
79 |
+
* filter.
|
80 |
+
*
|
81 |
+
* @since 4.9.7
|
82 |
+
*
|
83 |
+
* @param WP_Post $post The venue post object, decorated with a set of custom properties.
|
84 |
+
* @param string $output The output format to use.
|
85 |
+
* @param string $filter The filter, or context of the fetch.
|
86 |
+
*/
|
87 |
+
$post = apply_filters( 'tribe_get_venue_object', $post, $output, $filter );
|
88 |
+
|
89 |
+
$cache->set( $cache_key, $post, WEEK_IN_SECONDS, Tribe__Cache_Listener::TRIGGER_SAVE_POST );
|
90 |
+
}
|
91 |
|
92 |
if ( OBJECT !== $output ) {
|
93 |
$post = ARRAY_A === $output ? (array) $post : array_values( (array) $post );
|
src/functions/utils/install.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
use Tribe__Events__Main as TEC;
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Verifies that the current install of The Events Calendar is not
|
6 |
+
* a pre-existing setup, and trigger the activation of View V2.
|
7 |
+
*
|
8 |
+
* @since 4.9.13
|
9 |
+
*
|
10 |
+
* @return bool When to activate the View V2 or not.
|
11 |
+
*/
|
12 |
+
function tribe_events_is_new_install() {
|
13 |
+
$previous_versions = array_filter( (array) tribe_get_option( 'previous_ecp_versions', [] ) );
|
14 |
+
usort( $previous_versions, 'version_compare' );
|
15 |
+
|
16 |
+
$has_previous_versions = ! empty( $previous_versions );
|
17 |
+
|
18 |
+
return ! $has_previous_versions;
|
19 |
+
}
|
src/functions/views/provider.php
CHANGED
@@ -32,4 +32,82 @@ function tribe_events_views_v2_is_enabled() {
|
|
32 |
* @param boolean $enabled Determining if V2 Views is enabled\
|
33 |
*/
|
34 |
return apply_filters( 'tribe_events_views_v2_is_enabled', $enabled );
|
35 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
* @param boolean $enabled Determining if V2 Views is enabled\
|
33 |
*/
|
34 |
return apply_filters( 'tribe_events_views_v2_is_enabled', $enabled );
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Checks smart activation of the view v2, is not a function for verification of v2 is active or not.
|
39 |
+
*
|
40 |
+
* Current only being triggered on plugin actiovation hook.
|
41 |
+
*
|
42 |
+
* @since 4.9.13
|
43 |
+
*
|
44 |
+
* @return bool Wether we just activated the v2 on the database.
|
45 |
+
*/
|
46 |
+
function tribe_events_views_v2_smart_activation() {
|
47 |
+
/**
|
48 |
+
* Allows filtering of the Events Views V2 smart activation..
|
49 |
+
*
|
50 |
+
* @since 4.9.13
|
51 |
+
*
|
52 |
+
* @param boolean $enabled Determining if V2 Views is enabled\
|
53 |
+
*/
|
54 |
+
$should_smart_activate = apply_filters( 'tribe_events_views_v2_should_smart_activate', true );
|
55 |
+
|
56 |
+
if ( ! $should_smart_activate ) {
|
57 |
+
return false;
|
58 |
+
}
|
59 |
+
|
60 |
+
if ( tribe_events_views_v2_is_enabled() ) {
|
61 |
+
return false;
|
62 |
+
}
|
63 |
+
|
64 |
+
if ( ! tribe_events_is_new_install() ) {
|
65 |
+
return false;
|
66 |
+
}
|
67 |
+
|
68 |
+
$current_status = tribe_get_option( Manager::$option_enabled, null );
|
69 |
+
|
70 |
+
// Only update when value is either null or empty string.
|
71 |
+
if ( null !== $current_status && '' !== $current_status ) {
|
72 |
+
return false;
|
73 |
+
}
|
74 |
+
|
75 |
+
$status = tribe_update_option( Manager::$option_enabled, true );
|
76 |
+
|
77 |
+
if ( $status ) {
|
78 |
+
// Update the default posts_per_page to 12
|
79 |
+
tribe_update_option( 'postsPerPage', 12 );
|
80 |
+
|
81 |
+
// Update default events per day on month view amount to 3
|
82 |
+
tribe_update_option( 'monthEventAmount', 3 );
|
83 |
+
}
|
84 |
+
|
85 |
+
return $status;
|
86 |
+
}
|
87 |
+
|
88 |
+
/**
|
89 |
+
* Returns whether the Event Period repository should be used or not.
|
90 |
+
*
|
91 |
+
* @since 4.9.13
|
92 |
+
*
|
93 |
+
* @return bool whether the Event Period repository should be used or not.
|
94 |
+
*/
|
95 |
+
function tribe_events_view_v2_use_period_repository() {
|
96 |
+
$enabled = false;
|
97 |
+
if ( defined( 'TRIBE_EVENTS_V2_VIEWS_USE_PERIOD_REPOSITORY' ) ) {
|
98 |
+
$enabled = (bool) TRIBE_EVENTS_V2_VIEWS_USE_PERIOD_REPOSITORY;
|
99 |
+
}
|
100 |
+
|
101 |
+
$env_var = getenv( 'TRIBE_EVENTS_V2_VIEWS_USE_PERIOD_REPOSITORY' );
|
102 |
+
if ( false !== $env_var ) {
|
103 |
+
$enabled = (bool) $env_var;
|
104 |
+
}
|
105 |
+
/**
|
106 |
+
* Filters whether to use the period repository or not.
|
107 |
+
*
|
108 |
+
* @since 4.9.13
|
109 |
+
*
|
110 |
+
* @param boolean $enabled Whether the Event Period repository should be used or not.
|
111 |
+
*/
|
112 |
+
return (bool) apply_filters( 'tribe_events_views_v2_use_period_repository', $enabled );
|
113 |
+
}
|
src/resources/css/views-full.css
CHANGED
@@ -153,6 +153,10 @@
|
|
153 |
* SVG - Filters
|
154 |
* ----------------------------------------------------------------------------- */
|
155 |
|
|
|
|
|
|
|
|
|
156 |
/* -----------------------------------------------------------------------------
|
157 |
* SVG - List
|
158 |
* ----------------------------------------------------------------------------- */
|
@@ -161,10 +165,18 @@
|
|
161 |
* SVG - Location
|
162 |
* ----------------------------------------------------------------------------- */
|
163 |
|
|
|
|
|
|
|
|
|
164 |
/* -----------------------------------------------------------------------------
|
165 |
* SVG - Map
|
166 |
* ----------------------------------------------------------------------------- */
|
167 |
|
|
|
|
|
|
|
|
|
168 |
/* -----------------------------------------------------------------------------
|
169 |
* SVG - Messages
|
170 |
* ----------------------------------------------------------------------------- */
|
@@ -177,6 +189,10 @@
|
|
177 |
* SVG - No Map
|
178 |
* ----------------------------------------------------------------------------- */
|
179 |
|
|
|
|
|
|
|
|
|
180 |
/* -----------------------------------------------------------------------------
|
181 |
* SVG - Photo
|
182 |
* ----------------------------------------------------------------------------- */
|
@@ -420,6 +436,15 @@
|
|
420 |
*
|
421 |
* ----------------------------------------------------------------------------- */
|
422 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
423 |
.tribe-events .datepicker {
|
424 |
background-color: #FFFFFF;
|
425 |
border: 1px solid #D5D5D5;
|
@@ -477,10 +502,6 @@
|
|
477 |
font-weight: 400;
|
478 |
}
|
479 |
|
480 |
-
.tribe-events .datepicker .day.old {
|
481 |
-
color: #D5D5D5;
|
482 |
-
}
|
483 |
-
|
484 |
.tribe-events .datepicker .month,
|
485 |
.tribe-events .datepicker .year {
|
486 |
color: #141827;
|
@@ -490,6 +511,10 @@
|
|
490 |
font-weight: 400;
|
491 |
}
|
492 |
|
|
|
|
|
|
|
|
|
493 |
.tribe-events .datepicker .day,
|
494 |
.tribe-events .datepicker .month,
|
495 |
.tribe-events .datepicker .year {
|
@@ -508,9 +533,26 @@
|
|
508 |
background: #F7F6F6;
|
509 |
}
|
510 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
511 |
.tribe-events .datepicker .day.active, .tribe-events .datepicker .month.active, .tribe-events .datepicker .year.active {
|
512 |
color: #FFFFFF;
|
513 |
background: #334AFF;
|
|
|
514 |
}
|
515 |
|
516 |
.tribe-events .datepicker .day.active:hover,
|
@@ -524,61 +566,7 @@
|
|
524 |
.tribe-events .datepicker .year.active.focused {
|
525 |
color: #FFFFFF;
|
526 |
background: #334AFF;
|
527 |
-
|
528 |
-
|
529 |
-
.tribe-events.tribe-events-view--week .datepicker tbody tr.active:after {
|
530 |
-
border: 1px solid #334AFF;
|
531 |
-
border-radius: 4px;
|
532 |
-
content: '';
|
533 |
-
display: block;
|
534 |
-
height: 47px;
|
535 |
-
left: 16px;
|
536 |
-
pointer-events: none;
|
537 |
-
position: absolute;
|
538 |
-
-webkit-transform: translateY(-1px);
|
539 |
-
transform: translateY(-1px);
|
540 |
-
width: calc(100% - 34px); /* 16px left padding + 16px right padding + 1px left border + 1px right border */
|
541 |
-
}
|
542 |
-
|
543 |
-
.tribe-events.tribe-events-view--week .datepicker .day {
|
544 |
-
border-radius: 0;
|
545 |
-
}
|
546 |
-
|
547 |
-
.tribe-events.tribe-events-view--week .datepicker .day:first-child {
|
548 |
-
border-bottom-left-radius: 4px;
|
549 |
-
border-top-left-radius: 4px;
|
550 |
-
}
|
551 |
-
|
552 |
-
.tribe-events.tribe-events-view--week .datepicker .day:last-child {
|
553 |
-
border-bottom-right-radius: 4px;
|
554 |
-
border-top-right-radius: 4px;
|
555 |
-
}
|
556 |
-
|
557 |
-
.tribe-events.tribe-events-view--week .datepicker .day.active {
|
558 |
-
color: #141827;
|
559 |
-
background: transparent;
|
560 |
-
}
|
561 |
-
|
562 |
-
.tribe-events.tribe-events-view--week .datepicker .day.active:hover {
|
563 |
-
background: transparent;
|
564 |
-
}
|
565 |
-
|
566 |
-
.tribe-events.tribe-events-view--week .datepicker .day.disabled {
|
567 |
-
color: #141827;
|
568 |
-
}
|
569 |
-
|
570 |
-
.tribe-events.tribe-events-view--week .datepicker .day.disabled:hover,
|
571 |
-
.tribe-events.tribe-events-view--week .datepicker .day.disabled:focus,
|
572 |
-
.tribe-events.tribe-events-view--week .datepicker .day.disabled.focused {
|
573 |
-
color: #141827;
|
574 |
-
}
|
575 |
-
|
576 |
-
.tribe-events.tribe-events-view--week .datepicker .hovered .day, .tribe-events.tribe-events-view--week .datepicker .focused .day {
|
577 |
-
background: #F7F6F6;
|
578 |
-
}
|
579 |
-
|
580 |
-
.tribe-events.tribe-events-view--week .datepicker .hovered .day:hover, .tribe-events.tribe-events-view--week .datepicker .focused .day:hover {
|
581 |
-
background: #F7F6F6;
|
582 |
}
|
583 |
|
584 |
/* -----------------------------------------------------------------------------
|
@@ -623,10 +611,6 @@
|
|
623 |
opacity: 1;
|
624 |
}
|
625 |
|
626 |
-
.tribe-theme-enfold .tribe-events .datepicker .day.old {
|
627 |
-
color: #D5D5D5;
|
628 |
-
}
|
629 |
-
|
630 |
.tribe-theme-enfold .tribe-events .datepicker .day,
|
631 |
.tribe-theme-enfold .tribe-events .datepicker .month,
|
632 |
.tribe-theme-enfold .tribe-events .datepicker .year {
|
@@ -646,6 +630,26 @@
|
|
646 |
background: #F7F6F6;
|
647 |
}
|
648 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
649 |
.tribe-theme-enfold .tribe-events .datepicker .day.active, .tribe-theme-enfold .tribe-events .datepicker .month.active, .tribe-theme-enfold .tribe-events .datepicker .year.active {
|
650 |
color: #FFFFFF;
|
651 |
background: #334AFF;
|
@@ -664,29 +668,6 @@
|
|
664 |
background: #334AFF;
|
665 |
}
|
666 |
|
667 |
-
/* -----------------------------------------------------------------------------
|
668 |
-
*
|
669 |
-
* Datepicker: Theme Overrides
|
670 |
-
*
|
671 |
-
* ----------------------------------------------------------------------------- */
|
672 |
-
|
673 |
-
.tribe-theme-enfold .tribe-events.tribe-events-view--week .datepicker .day.active {
|
674 |
-
color: #141827;
|
675 |
-
background: transparent;
|
676 |
-
}
|
677 |
-
|
678 |
-
.tribe-theme-enfold .tribe-events.tribe-events-view--week .datepicker .day.active:hover {
|
679 |
-
background: transparent;
|
680 |
-
}
|
681 |
-
|
682 |
-
.tribe-theme-enfold .tribe-events.tribe-events-view--week .datepicker .hovered .day, .tribe-theme-enfold .tribe-events.tribe-events-view--week .datepicker .focused .day {
|
683 |
-
background: #F7F6F6;
|
684 |
-
}
|
685 |
-
|
686 |
-
.tribe-theme-enfold .tribe-events.tribe-events-view--week .datepicker .hovered .day:hover, .tribe-theme-enfold .tribe-events.tribe-events-view--week .datepicker .focused .day:hover {
|
687 |
-
background: #F7F6F6;
|
688 |
-
}
|
689 |
-
|
690 |
/* -----------------------------------------------------------------------------
|
691 |
* Theme Overrides - Avada
|
692 |
* ----------------------------------------------------------------------------- */
|
@@ -713,6 +694,7 @@
|
|
713 |
.tribe-theme-avada .tribe-events .datepicker .day.old,
|
714 |
.tribe-theme-avada .tribe-events .datepicker .day.new {
|
715 |
background-color: transparent !important;
|
|
|
716 |
}
|
717 |
|
718 |
.tribe-theme-avada .tribe-events .datepicker .day.old:hover,
|
@@ -724,14 +706,6 @@
|
|
724 |
background: #F7F6F6 !important;
|
725 |
}
|
726 |
|
727 |
-
.tribe-theme-avada .tribe-events .datepicker .day.old {
|
728 |
-
color: #D5D5D5 !important;
|
729 |
-
}
|
730 |
-
|
731 |
-
.tribe-theme-avada .tribe-events .datepicker .day.new {
|
732 |
-
color: #141827 !important;
|
733 |
-
}
|
734 |
-
|
735 |
.tribe-theme-avada .tribe-events .datepicker .day,
|
736 |
.tribe-theme-avada .tribe-events .datepicker .month {
|
737 |
background-color: transparent;
|
@@ -747,9 +721,26 @@
|
|
747 |
background: #F7F6F6;
|
748 |
}
|
749 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
750 |
.tribe-theme-avada .tribe-events .datepicker .day.active, .tribe-theme-avada .tribe-events .datepicker .month.active {
|
751 |
-
color: #FFFFFF;
|
752 |
-
background: #334AFF;
|
753 |
}
|
754 |
|
755 |
.tribe-theme-avada .tribe-events .datepicker .day.active:hover,
|
@@ -758,32 +749,8 @@
|
|
758 |
.tribe-theme-avada .tribe-events .datepicker .month.active:hover,
|
759 |
.tribe-theme-avada .tribe-events .datepicker .month.active:focus,
|
760 |
.tribe-theme-avada .tribe-events .datepicker .month.active.focused {
|
761 |
-
color: #FFFFFF;
|
762 |
-
background: #334AFF;
|
763 |
-
}
|
764 |
-
|
765 |
-
.tribe-theme-avada .tribe-events.tribe-events-view--week .datepicker .day.active {
|
766 |
-
color: #141827;
|
767 |
-
background: transparent;
|
768 |
-
}
|
769 |
-
|
770 |
-
.tribe-theme-avada .tribe-events.tribe-events-view--week .datepicker .day.active:hover {
|
771 |
-
background: transparent;
|
772 |
-
}
|
773 |
-
|
774 |
-
.tribe-theme-avada .tribe-events.tribe-events-view--week .datepicker .hovered .day, .tribe-theme-avada .tribe-events.tribe-events-view--week .datepicker .focused .day {
|
775 |
-
background: #F7F6F6;
|
776 |
-
}
|
777 |
-
|
778 |
-
.tribe-theme-avada .tribe-events.tribe-events-view--week .datepicker .hovered .day:hover, .tribe-theme-avada .tribe-events.tribe-events-view--week .datepicker .focused .day:hover {
|
779 |
-
background: #F7F6F6;
|
780 |
-
}
|
781 |
-
|
782 |
-
.tribe-theme-avada .tribe-events.tribe-events-view--week .datepicker .hovered .day.old,
|
783 |
-
.tribe-theme-avada .tribe-events.tribe-events-view--week .datepicker .hovered .day.new,
|
784 |
-
.tribe-theme-avada .tribe-events.tribe-events-view--week .datepicker .focused .day.old,
|
785 |
-
.tribe-theme-avada .tribe-events.tribe-events-view--week .datepicker .focused .day.new {
|
786 |
-
background-color: #F7F6F6 !important;
|
787 |
}
|
788 |
|
789 |
/* Day marker */
|
@@ -885,6 +852,14 @@
|
|
885 |
background-color: #F7F6F6;
|
886 |
}
|
887 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
888 |
/* Loader */
|
889 |
|
890 |
/* -----------------------------------------------------------------------------
|
@@ -972,7 +947,6 @@
|
|
972 |
|
973 |
.tribe-events .tribe-events-c-nav__prev:active, .tribe-events .tribe-events-c-nav__next:active, .tribe-events .tribe-events-c-nav__today:active {
|
974 |
color: #141827;
|
975 |
-
font-weight: 700;
|
976 |
}
|
977 |
|
978 |
.tribe-events .tribe-events-c-nav__prev:disabled, .tribe-events .tribe-events-c-nav__next:disabled {
|
@@ -1525,7 +1499,7 @@
|
|
1525 |
background-color: #334AFF;
|
1526 |
content: '';
|
1527 |
height: 100%;
|
1528 |
-
left:
|
1529 |
position: absolute;
|
1530 |
width: 2px;
|
1531 |
}
|
@@ -1534,19 +1508,6 @@
|
|
1534 |
height: calc(100% - 16px);
|
1535 |
}
|
1536 |
|
1537 |
-
.tribe-events .tribe-events-calendar-month__calendar-event-datetime-featured,
|
1538 |
-
.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-icon {
|
1539 |
-
display: inline-block;
|
1540 |
-
}
|
1541 |
-
|
1542 |
-
.tribe-events .tribe-events-calendar-month__calendar-event-datetime-featured {
|
1543 |
-
margin-right: 4px;
|
1544 |
-
}
|
1545 |
-
|
1546 |
-
.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-icon {
|
1547 |
-
margin-left: 4px;
|
1548 |
-
}
|
1549 |
-
|
1550 |
.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-link:hover .tribe-events-calendar-month__calendar-event-datetime-recurring-icon, .tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-link:focus .tribe-events-calendar-month__calendar-event-datetime-recurring-icon {
|
1551 |
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");
|
1552 |
}
|
@@ -1569,6 +1530,18 @@
|
|
1569 |
opacity: 0.9;
|
1570 |
}
|
1571 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1572 |
/* -----------------------------------------------------------------------------
|
1573 |
* Calendar Header
|
1574 |
* ----------------------------------------------------------------------------- */
|
@@ -1626,15 +1599,9 @@
|
|
1626 |
opacity: 0.5;
|
1627 |
}
|
1628 |
|
1629 |
-
.tribe-events .tribe-events-calendar-month__day-cell--mobile {
|
1630 |
-
border-bottom: 2px solid transparent;
|
1631 |
-
-webkit-transition: border-color 0.2s ease;
|
1632 |
-
transition: border-color 0.2s ease;
|
1633 |
-
}
|
1634 |
-
|
1635 |
.tribe-events .tribe-events-calendar-month__day-cell--mobile:hover,
|
1636 |
.tribe-events .tribe-events-calendar-month__day-cell--mobile:focus {
|
1637 |
-
|
1638 |
}
|
1639 |
|
1640 |
.tribe-events .tribe-events-calendar-month__day-cell--selected {
|
@@ -1796,12 +1763,12 @@
|
|
1796 |
|
1797 |
.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-inner:hover,
|
1798 |
.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-inner:focus {
|
1799 |
-
background-color: #
|
1800 |
}
|
1801 |
|
1802 |
.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-inner--focus,
|
1803 |
.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-inner--hover {
|
1804 |
-
background-color: #
|
1805 |
}
|
1806 |
|
1807 |
.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-featured-icon,
|
@@ -1814,6 +1781,14 @@
|
|
1814 |
text-overflow: ellipsis;
|
1815 |
}
|
1816 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1817 |
/* .tribe-events { */
|
1818 |
|
1819 |
/* -----------------------------------------------------------------------------
|
@@ -2064,12 +2039,6 @@
|
|
2064 |
background-color: #141827
|
2065 |
}
|
2066 |
|
2067 |
-
.tribe-events .tribe-events-calendar-day__event--featured:before {
|
2068 |
-
content: '';
|
2069 |
-
min-width: 90px;
|
2070 |
-
width: 11.111%
|
2071 |
-
}
|
2072 |
-
|
2073 |
.tribe-events .tribe-events-calendar-day__event--featured:after {
|
2074 |
left: calc(11.111% - 24px);
|
2075 |
width: 4px
|
153 |
* SVG - Filters
|
154 |
* ----------------------------------------------------------------------------- */
|
155 |
|
156 |
+
/* -----------------------------------------------------------------------------
|
157 |
+
* SVG - Link
|
158 |
+
* ----------------------------------------------------------------------------- */
|
159 |
+
|
160 |
/* -----------------------------------------------------------------------------
|
161 |
* SVG - List
|
162 |
* ----------------------------------------------------------------------------- */
|
165 |
* SVG - Location
|
166 |
* ----------------------------------------------------------------------------- */
|
167 |
|
168 |
+
/* -----------------------------------------------------------------------------
|
169 |
+
* SVG - Mail
|
170 |
+
* ----------------------------------------------------------------------------- */
|
171 |
+
|
172 |
/* -----------------------------------------------------------------------------
|
173 |
* SVG - Map
|
174 |
* ----------------------------------------------------------------------------- */
|
175 |
|
176 |
+
/* -----------------------------------------------------------------------------
|
177 |
+
* SVG - Map pin
|
178 |
+
* ----------------------------------------------------------------------------- */
|
179 |
+
|
180 |
/* -----------------------------------------------------------------------------
|
181 |
* SVG - Messages
|
182 |
* ----------------------------------------------------------------------------- */
|
189 |
* SVG - No Map
|
190 |
* ----------------------------------------------------------------------------- */
|
191 |
|
192 |
+
/* -----------------------------------------------------------------------------
|
193 |
+
* SVG - Phone
|
194 |
+
* ----------------------------------------------------------------------------- */
|
195 |
+
|
196 |
/* -----------------------------------------------------------------------------
|
197 |
* SVG - Photo
|
198 |
* ----------------------------------------------------------------------------- */
|
436 |
*
|
437 |
* ----------------------------------------------------------------------------- */
|
438 |
|
439 |
+
.tribe-events {
|
440 |
+
|
441 |
+
/* -----------------------------------------------------------------------------
|
442 |
+
*
|
443 |
+
* Datepicker: Theme Overrides
|
444 |
+
*
|
445 |
+
* ----------------------------------------------------------------------------- */
|
446 |
+
}
|
447 |
+
|
448 |
.tribe-events .datepicker {
|
449 |
background-color: #FFFFFF;
|
450 |
border: 1px solid #D5D5D5;
|
502 |
font-weight: 400;
|
503 |
}
|
504 |
|
|
|
|
|
|
|
|
|
505 |
.tribe-events .datepicker .month,
|
506 |
.tribe-events .datepicker .year {
|
507 |
color: #141827;
|
511 |
font-weight: 400;
|
512 |
}
|
513 |
|
514 |
+
.tribe-events .datepicker .past {
|
515 |
+
color: rgba(20,24,39, 0.62);
|
516 |
+
}
|
517 |
+
|
518 |
.tribe-events .datepicker .day,
|
519 |
.tribe-events .datepicker .month,
|
520 |
.tribe-events .datepicker .year {
|
533 |
background: #F7F6F6;
|
534 |
}
|
535 |
|
536 |
+
.tribe-events .datepicker .day.current, .tribe-events .datepicker .month.current, .tribe-events .datepicker .year.current {
|
537 |
+
background: rgba(51,74,255, 0.07);
|
538 |
+
}
|
539 |
+
|
540 |
+
.tribe-events .datepicker .day.current:hover,
|
541 |
+
.tribe-events .datepicker .day.current:focus,
|
542 |
+
.tribe-events .datepicker .day.current.focused,
|
543 |
+
.tribe-events .datepicker .month.current:hover,
|
544 |
+
.tribe-events .datepicker .month.current:focus,
|
545 |
+
.tribe-events .datepicker .month.current.focused,
|
546 |
+
.tribe-events .datepicker .year.current:hover,
|
547 |
+
.tribe-events .datepicker .year.current:focus,
|
548 |
+
.tribe-events .datepicker .year.current.focused {
|
549 |
+
background: rgba(51,74,255, 0.07);
|
550 |
+
}
|
551 |
+
|
552 |
.tribe-events .datepicker .day.active, .tribe-events .datepicker .month.active, .tribe-events .datepicker .year.active {
|
553 |
color: #FFFFFF;
|
554 |
background: #334AFF;
|
555 |
+
text-shadow: none;
|
556 |
}
|
557 |
|
558 |
.tribe-events .datepicker .day.active:hover,
|
566 |
.tribe-events .datepicker .year.active.focused {
|
567 |
color: #FFFFFF;
|
568 |
background: #334AFF;
|
569 |
+
text-shadow: none;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
570 |
}
|
571 |
|
572 |
/* -----------------------------------------------------------------------------
|
611 |
opacity: 1;
|
612 |
}
|
613 |
|
|
|
|
|
|
|
|
|
614 |
.tribe-theme-enfold .tribe-events .datepicker .day,
|
615 |
.tribe-theme-enfold .tribe-events .datepicker .month,
|
616 |
.tribe-theme-enfold .tribe-events .datepicker .year {
|
630 |
background: #F7F6F6;
|
631 |
}
|
632 |
|
633 |
+
.tribe-theme-enfold .tribe-events .datepicker .day.past, .tribe-theme-enfold .tribe-events .datepicker .month.past, .tribe-theme-enfold .tribe-events .datepicker .year.past {
|
634 |
+
color: rgba(20,24,39, 0.62);
|
635 |
+
}
|
636 |
+
|
637 |
+
.tribe-theme-enfold .tribe-events .datepicker .day.current, .tribe-theme-enfold .tribe-events .datepicker .month.current, .tribe-theme-enfold .tribe-events .datepicker .year.current {
|
638 |
+
background: rgba(51,74,255, 0.07);
|
639 |
+
}
|
640 |
+
|
641 |
+
.tribe-theme-enfold .tribe-events .datepicker .day.current:hover,
|
642 |
+
.tribe-theme-enfold .tribe-events .datepicker .day.current:focus,
|
643 |
+
.tribe-theme-enfold .tribe-events .datepicker .day.current.focused,
|
644 |
+
.tribe-theme-enfold .tribe-events .datepicker .month.current:hover,
|
645 |
+
.tribe-theme-enfold .tribe-events .datepicker .month.current:focus,
|
646 |
+
.tribe-theme-enfold .tribe-events .datepicker .month.current.focused,
|
647 |
+
.tribe-theme-enfold .tribe-events .datepicker .year.current:hover,
|
648 |
+
.tribe-theme-enfold .tribe-events .datepicker .year.current:focus,
|
649 |
+
.tribe-theme-enfold .tribe-events .datepicker .year.current.focused {
|
650 |
+
background: rgba(51,74,255, 0.07);
|
651 |
+
}
|
652 |
+
|
653 |
.tribe-theme-enfold .tribe-events .datepicker .day.active, .tribe-theme-enfold .tribe-events .datepicker .month.active, .tribe-theme-enfold .tribe-events .datepicker .year.active {
|
654 |
color: #FFFFFF;
|
655 |
background: #334AFF;
|
668 |
background: #334AFF;
|
669 |
}
|
670 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
671 |
/* -----------------------------------------------------------------------------
|
672 |
* Theme Overrides - Avada
|
673 |
* ----------------------------------------------------------------------------- */
|
694 |
.tribe-theme-avada .tribe-events .datepicker .day.old,
|
695 |
.tribe-theme-avada .tribe-events .datepicker .day.new {
|
696 |
background-color: transparent !important;
|
697 |
+
color: #141827 !important;
|
698 |
}
|
699 |
|
700 |
.tribe-theme-avada .tribe-events .datepicker .day.old:hover,
|
706 |
background: #F7F6F6 !important;
|
707 |
}
|
708 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
709 |
.tribe-theme-avada .tribe-events .datepicker .day,
|
710 |
.tribe-theme-avada .tribe-events .datepicker .month {
|
711 |
background-color: transparent;
|
721 |
background: #F7F6F6;
|
722 |
}
|
723 |
|
724 |
+
.tribe-theme-avada .tribe-events .datepicker .day.past, .tribe-theme-avada .tribe-events .datepicker .month.past {
|
725 |
+
color: rgba(20,24,39, 0.62) !important;
|
726 |
+
}
|
727 |
+
|
728 |
+
.tribe-theme-avada .tribe-events .datepicker .day.current, .tribe-theme-avada .tribe-events .datepicker .month.current {
|
729 |
+
background: rgba(51,74,255, 0.07);
|
730 |
+
}
|
731 |
+
|
732 |
+
.tribe-theme-avada .tribe-events .datepicker .day.current:hover,
|
733 |
+
.tribe-theme-avada .tribe-events .datepicker .day.current:focus,
|
734 |
+
.tribe-theme-avada .tribe-events .datepicker .day.current.focused,
|
735 |
+
.tribe-theme-avada .tribe-events .datepicker .month.current:hover,
|
736 |
+
.tribe-theme-avada .tribe-events .datepicker .month.current:focus,
|
737 |
+
.tribe-theme-avada .tribe-events .datepicker .month.current.focused {
|
738 |
+
background: rgba(51,74,255, 0.07);
|
739 |
+
}
|
740 |
+
|
741 |
.tribe-theme-avada .tribe-events .datepicker .day.active, .tribe-theme-avada .tribe-events .datepicker .month.active {
|
742 |
+
color: #FFFFFF !important;
|
743 |
+
background: #334AFF !important;
|
744 |
}
|
745 |
|
746 |
.tribe-theme-avada .tribe-events .datepicker .day.active:hover,
|
749 |
.tribe-theme-avada .tribe-events .datepicker .month.active:hover,
|
750 |
.tribe-theme-avada .tribe-events .datepicker .month.active:focus,
|
751 |
.tribe-theme-avada .tribe-events .datepicker .month.active.focused {
|
752 |
+
color: #FFFFFF !important;
|
753 |
+
background: #334AFF !important;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
754 |
}
|
755 |
|
756 |
/* Day marker */
|
852 |
background-color: #F7F6F6;
|
853 |
}
|
854 |
|
855 |
+
/* iCal link */
|
856 |
+
|
857 |
+
/* -----------------------------------------------------------------------------
|
858 |
+
*
|
859 |
+
* iCal Link
|
860 |
+
*
|
861 |
+
* ----------------------------------------------------------------------------- */
|
862 |
+
|
863 |
/* Loader */
|
864 |
|
865 |
/* -----------------------------------------------------------------------------
|
947 |
|
948 |
.tribe-events .tribe-events-c-nav__prev:active, .tribe-events .tribe-events-c-nav__next:active, .tribe-events .tribe-events-c-nav__today:active {
|
949 |
color: #141827;
|
|
|
950 |
}
|
951 |
|
952 |
.tribe-events .tribe-events-c-nav__prev:disabled, .tribe-events .tribe-events-c-nav__next:disabled {
|
1499 |
background-color: #334AFF;
|
1500 |
content: '';
|
1501 |
height: 100%;
|
1502 |
+
left: 7px;
|
1503 |
position: absolute;
|
1504 |
width: 2px;
|
1505 |
}
|
1508 |
height: calc(100% - 16px);
|
1509 |
}
|
1510 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1511 |
.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-link:hover .tribe-events-calendar-month__calendar-event-datetime-recurring-icon, .tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-link:focus .tribe-events-calendar-month__calendar-event-datetime-recurring-icon {
|
1512 |
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");
|
1513 |
}
|
1530 |
opacity: 0.9;
|
1531 |
}
|
1532 |
|
1533 |
+
.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime {
|
1534 |
+
color: #141827;
|
1535 |
+
font-family: "Helvetica Neue", Helvetica, -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif;
|
1536 |
+
font-size: 11px;
|
1537 |
+
font-weight: 400;
|
1538 |
+
line-height: 1.5;
|
1539 |
+
}
|
1540 |
+
|
1541 |
+
.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-link:hover .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-icon, .tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-link:focus .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-icon {
|
1542 |
+
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");
|
1543 |
+
}
|
1544 |
+
|
1545 |
/* -----------------------------------------------------------------------------
|
1546 |
* Calendar Header
|
1547 |
* ----------------------------------------------------------------------------- */
|
1599 |
opacity: 0.5;
|
1600 |
}
|
1601 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1602 |
.tribe-events .tribe-events-calendar-month__day-cell--mobile:hover,
|
1603 |
.tribe-events .tribe-events-calendar-month__day-cell--mobile:focus {
|
1604 |
+
background-color: #F7F6F6;
|
1605 |
}
|
1606 |
|
1607 |
.tribe-events .tribe-events-calendar-month__day-cell--selected {
|
1763 |
|
1764 |
.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-inner:hover,
|
1765 |
.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-inner:focus {
|
1766 |
+
background-color: #F0EEEE;
|
1767 |
}
|
1768 |
|
1769 |
.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-inner--focus,
|
1770 |
.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-inner--hover {
|
1771 |
+
background-color: #F0EEEE;
|
1772 |
}
|
1773 |
|
1774 |
.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-featured-icon,
|
1781 |
text-overflow: ellipsis;
|
1782 |
}
|
1783 |
|
1784 |
+
/* -----------------------------------------------------------------------------
|
1785 |
+
* Theme Overrides - Avada
|
1786 |
+
* ----------------------------------------------------------------------------- */
|
1787 |
+
|
1788 |
+
.tribe-theme-avada #main .tribe-events .tribe-events-calendar-month__multiday-event-bar-title {
|
1789 |
+
font-weight: 400;
|
1790 |
+
}
|
1791 |
+
|
1792 |
/* .tribe-events { */
|
1793 |
|
1794 |
/* -----------------------------------------------------------------------------
|
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
|
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 .day.old{color:#d5d5d5}.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 .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.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}.tribe-events.tribe-events-view--week .datepicker tbody tr.active:after{border:1px solid #334aff;border-radius:4px;content:"";display:block;height:47px;left:16px;pointer-events:none;position:absolute;transform:translateY(-1px);width:calc(100% - 34px)}.tribe-events.tribe-events-view--week .datepicker .day{border-radius:0}.tribe-events.tribe-events-view--week .datepicker .day:first-child{border-bottom-left-radius:4px;border-top-left-radius:4px}.tribe-events.tribe-events-view--week .datepicker .day:last-child{border-bottom-right-radius:4px;border-top-right-radius:4px}.tribe-events.tribe-events-view--week .datepicker .day.active{color:#141827;background:transparent}.tribe-events.tribe-events-view--week .datepicker .day.active:hover{background:transparent}.tribe-events.tribe-events-view--week .datepicker .day.disabled,.tribe-events.tribe-events-view--week .datepicker .day.disabled.focused,.tribe-events.tribe-events-view--week .datepicker .day.disabled:focus,.tribe-events.tribe-events-view--week .datepicker .day.disabled:hover{color:#141827}.tribe-events.tribe-events-view--week .datepicker .focused .day,.tribe-events.tribe-events-view--week .datepicker .focused .day:hover,.tribe-events.tribe-events-view--week .datepicker .hovered .day,.tribe-events.tribe-events-view--week .datepicker .hovered .day:hover{background:#f7f6f6}.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.old{color:#d5d5d5}.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.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-enfold .tribe-events.tribe-events-view--week .datepicker .day.active{color:#141827;background:transparent}.tribe-theme-enfold .tribe-events.tribe-events-view--week .datepicker .day.active:hover{background:transparent}.tribe-theme-enfold .tribe-events.tribe-events-view--week .datepicker .focused .day,.tribe-theme-enfold .tribe-events.tribe-events-view--week .datepicker .focused .day:hover,.tribe-theme-enfold .tribe-events.tribe-events-view--week .datepicker .hovered .day,.tribe-theme-enfold .tribe-events.tribe-events-view--week .datepicker .hovered .day:hover{background:#f7f6f6}.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}.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.old{color:#d5d5d5!important}.tribe-theme-avada .tribe-events .datepicker .day.new{color:#141827!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.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;background:#334aff}.tribe-theme-avada .tribe-events.tribe-events-view--week .datepicker .day.active{color:#141827;background:transparent}.tribe-theme-avada .tribe-events.tribe-events-view--week .datepicker .day.active:hover{background:transparent}.tribe-theme-avada .tribe-events.tribe-events-view--week .datepicker .focused .day,.tribe-theme-avada .tribe-events.tribe-events-view--week .datepicker .focused .day:hover,.tribe-theme-avada .tribe-events.tribe-events-view--week .datepicker .hovered .day,.tribe-theme-avada .tribe-events.tribe-events-view--week .datepicker .hovered .day:hover{background:#f7f6f6}.tribe-theme-avada .tribe-events.tribe-events-view--week .datepicker .focused .day.new,.tribe-theme-avada .tribe-events.tribe-events-view--week .datepicker .focused .day.old,.tribe-theme-avada .tribe-events.tribe-events-view--week .datepicker .hovered .day.new,.tribe-theme-avada .tribe-events.tribe-events-view--week .datepicker .hovered .day.old{background-color:#f7f6f6!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;font-weight:700}.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:3px;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-featured,.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-icon{display:inline-block}.tribe-events .tribe-events-calendar-month__calendar-event-datetime-featured{margin-right:4px}.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-icon{margin-left:4px}.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__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{border-bottom:2px solid transparent;transition:border-color .2s ease}.tribe-events .tribe-events-calendar-month__day-cell--mobile:focus,.tribe-events .tribe-events-calendar-month__day-cell--mobile:hover{border-bottom-color:#334aff}.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,.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:#f7f6f6}.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-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:before{content:"";min-width:90px;width:11.111%}.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-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}}
|
src/resources/css/views-skeleton.css
CHANGED
@@ -153,6 +153,10 @@
|
|
153 |
* SVG - Filters
|
154 |
* ----------------------------------------------------------------------------- */
|
155 |
|
|
|
|
|
|
|
|
|
156 |
/* -----------------------------------------------------------------------------
|
157 |
* SVG - List
|
158 |
* ----------------------------------------------------------------------------- */
|
@@ -161,10 +165,18 @@
|
|
161 |
* SVG - Location
|
162 |
* ----------------------------------------------------------------------------- */
|
163 |
|
|
|
|
|
|
|
|
|
164 |
/* -----------------------------------------------------------------------------
|
165 |
* SVG - Map
|
166 |
* ----------------------------------------------------------------------------- */
|
167 |
|
|
|
|
|
|
|
|
|
168 |
/* -----------------------------------------------------------------------------
|
169 |
* SVG - Messages
|
170 |
* ----------------------------------------------------------------------------- */
|
@@ -177,6 +189,10 @@
|
|
177 |
* SVG - No Map
|
178 |
* ----------------------------------------------------------------------------- */
|
179 |
|
|
|
|
|
|
|
|
|
180 |
/* -----------------------------------------------------------------------------
|
181 |
* SVG - Photo
|
182 |
* ----------------------------------------------------------------------------- */
|
@@ -515,14 +531,6 @@
|
|
515 |
width: 25%;
|
516 |
}
|
517 |
|
518 |
-
.tribe-events.tribe-events-view--week .datepicker tbody tr.active {
|
519 |
-
position: relative;
|
520 |
-
}
|
521 |
-
|
522 |
-
.tribe-events.tribe-events-view--week .datepicker .day.disabled {
|
523 |
-
cursor: pointer;
|
524 |
-
}
|
525 |
-
|
526 |
/* -----------------------------------------------------------------------------
|
527 |
*
|
528 |
* Datepicker: V1 Style Overrides
|
@@ -741,6 +749,19 @@
|
|
741 |
width: 16px;
|
742 |
}
|
743 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
744 |
/* Loader */
|
745 |
|
746 |
/* -----------------------------------------------------------------------------
|
@@ -1016,6 +1037,7 @@
|
|
1016 |
|
1017 |
.tooltipster-base.tribe-events-tooltip-theme .tooltipster-box .tooltipster-content {
|
1018 |
padding: 0;
|
|
|
1019 |
}
|
1020 |
|
1021 |
.tooltipster-base.tribe-events-tooltip-theme .tooltipster-arrow {
|
@@ -1039,11 +1061,6 @@
|
|
1039 |
* ----------------------------------------------------------------------------- */
|
1040 |
}
|
1041 |
|
1042 |
-
.tribe-events .tribe-events-c-top-bar__nav {
|
1043 |
-
display: none !important;
|
1044 |
-
visibility: hidden;
|
1045 |
-
}
|
1046 |
-
|
1047 |
.tribe-events .tribe-events-c-top-bar__nav-list {
|
1048 |
display: -webkit-box;
|
1049 |
display: flex;
|
@@ -1063,12 +1080,16 @@
|
|
1063 |
display: block;
|
1064 |
}
|
1065 |
|
1066 |
-
.tribe-events .tribe-events-c-top-
|
1067 |
-
|
1068 |
-
|
|
|
|
|
1069 |
}
|
1070 |
|
1071 |
.tribe-events .tribe-events-c-top-bar__datepicker {
|
|
|
|
|
1072 |
position: relative;
|
1073 |
}
|
1074 |
|
@@ -1348,7 +1369,8 @@
|
|
1348 |
margin-bottom: 16px;
|
1349 |
}
|
1350 |
|
1351 |
-
.tribe-events .tribe-events-calendar-list__event-featured-image-link
|
|
|
1352 |
display: block;
|
1353 |
}
|
1354 |
|
@@ -1470,11 +1492,25 @@
|
|
1470 |
margin-top: 8px;
|
1471 |
}
|
1472 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1473 |
.tribe-events .tribe-events-calendar-month__calendar-event-featured-image-wrapper {
|
1474 |
margin-bottom: 4px;
|
1475 |
}
|
1476 |
|
1477 |
-
.tribe-events .tribe-events-calendar-month__calendar-event-featured-image-link
|
|
|
1478 |
display: block;
|
1479 |
}
|
1480 |
|
@@ -1495,10 +1531,32 @@
|
|
1495 |
margin-bottom: 0;
|
1496 |
}
|
1497 |
|
1498 |
-
.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image-link
|
|
|
1499 |
display: block;
|
1500 |
}
|
1501 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1502 |
.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-description {
|
1503 |
margin-bottom: 8px;
|
1504 |
}
|
@@ -1511,6 +1569,25 @@
|
|
1511 |
margin-top: 16px;
|
1512 |
}
|
1513 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1514 |
/* -----------------------------------------------------------------------------
|
1515 |
* Calendar Header
|
1516 |
* ----------------------------------------------------------------------------- */
|
@@ -1692,6 +1769,10 @@
|
|
1692 |
z-index: 5;
|
1693 |
}
|
1694 |
|
|
|
|
|
|
|
|
|
1695 |
.tribe-events .tribe-events-calendar-month__multiday-event-hidden-link {
|
1696 |
display: block;
|
1697 |
height: 100%;
|
@@ -1724,6 +1805,7 @@
|
|
1724 |
.tribe-events .tribe-events-calendar-month__multiday-event-bar-title {
|
1725 |
-webkit-box-flex: 0;
|
1726 |
flex: none;
|
|
|
1727 |
overflow: hidden;
|
1728 |
white-space: nowrap;
|
1729 |
}
|
@@ -1759,7 +1841,8 @@
|
|
1759 |
margin-bottom: 40px;
|
1760 |
}
|
1761 |
|
1762 |
-
.tribe-events .tribe-events-calendar-day__time-separator + .tribe-events-calendar-day__event
|
|
|
1763 |
margin-top: 20px;
|
1764 |
}
|
1765 |
|
@@ -1772,7 +1855,8 @@
|
|
1772 |
margin-bottom: 16px;
|
1773 |
}
|
1774 |
|
1775 |
-
.tribe-events .tribe-events-calendar-day__event-featured-image-link
|
|
|
1776 |
display: block;
|
1777 |
}
|
1778 |
|
@@ -1820,8 +1904,19 @@
|
|
1820 |
* Theme Overrides - Twenty Nineteen
|
1821 |
* ------------------------------------------------------------------------- */
|
1822 |
|
1823 |
-
.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-day__event {
|
|
|
1824 |
margin-top: 32px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1825 |
}
|
1826 |
|
1827 |
/* -----------------------------------------------------------------------------
|
@@ -2065,6 +2160,14 @@
|
|
2065 |
min-width: 363px
|
2066 |
}
|
2067 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2068 |
.tribe-events .tribe-events-c-top-bar__actions {
|
2069 |
display: block !important;
|
2070 |
-webkit-box-flex: 0;
|
@@ -2358,7 +2461,14 @@
|
|
2358 |
margin-bottom: 64px
|
2359 |
}
|
2360 |
|
2361 |
-
.tribe-events .tribe-events-calendar-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2362 |
margin-top: 40px
|
2363 |
}
|
2364 |
|
@@ -2423,8 +2533,19 @@
|
|
2423 |
margin-top: 16px
|
2424 |
}
|
2425 |
|
2426 |
-
.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-day__event {
|
2427 |
-
margin-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2428 |
}
|
2429 |
|
2430 |
.tribe-events .tribe-events-calendar-day-nav {
|
153 |
* SVG - Filters
|
154 |
* ----------------------------------------------------------------------------- */
|
155 |
|
156 |
+
/* -----------------------------------------------------------------------------
|
157 |
+
* SVG - Link
|
158 |
+
* ----------------------------------------------------------------------------- */
|
159 |
+
|
160 |
/* -----------------------------------------------------------------------------
|
161 |
* SVG - List
|
162 |
* ----------------------------------------------------------------------------- */
|
165 |
* SVG - Location
|
166 |
* ----------------------------------------------------------------------------- */
|
167 |
|
168 |
+
/* -----------------------------------------------------------------------------
|
169 |
+
* SVG - Mail
|
170 |
+
* ----------------------------------------------------------------------------- */
|
171 |
+
|
172 |
/* -----------------------------------------------------------------------------
|
173 |
* SVG - Map
|
174 |
* ----------------------------------------------------------------------------- */
|
175 |
|
176 |
+
/* -----------------------------------------------------------------------------
|
177 |
+
* SVG - Map pin
|
178 |
+
* ----------------------------------------------------------------------------- */
|
179 |
+
|
180 |
/* -----------------------------------------------------------------------------
|
181 |
* SVG - Messages
|
182 |
* ----------------------------------------------------------------------------- */
|
189 |
* SVG - No Map
|
190 |
* ----------------------------------------------------------------------------- */
|
191 |
|
192 |
+
/* -----------------------------------------------------------------------------
|
193 |
+
* SVG - Phone
|
194 |
+
* ----------------------------------------------------------------------------- */
|
195 |
+
|
196 |
/* -----------------------------------------------------------------------------
|
197 |
* SVG - Photo
|
198 |
* ----------------------------------------------------------------------------- */
|
531 |
width: 25%;
|
532 |
}
|
533 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
534 |
/* -----------------------------------------------------------------------------
|
535 |
*
|
536 |
* Datepicker: V1 Style Overrides
|
749 |
width: 16px;
|
750 |
}
|
751 |
|
752 |
+
/* iCal link */
|
753 |
+
|
754 |
+
/* -----------------------------------------------------------------------------
|
755 |
+
*
|
756 |
+
* iCal link
|
757 |
+
*
|
758 |
+
* ----------------------------------------------------------------------------- */
|
759 |
+
|
760 |
+
.tribe-events .tribe-events-c-ical {
|
761 |
+
margin-top: 20px;
|
762 |
+
text-align: right;
|
763 |
+
}
|
764 |
+
|
765 |
/* Loader */
|
766 |
|
767 |
/* -----------------------------------------------------------------------------
|
1037 |
|
1038 |
.tooltipster-base.tribe-events-tooltip-theme .tooltipster-box .tooltipster-content {
|
1039 |
padding: 0;
|
1040 |
+
word-break: break-word;
|
1041 |
}
|
1042 |
|
1043 |
.tooltipster-base.tribe-events-tooltip-theme .tooltipster-arrow {
|
1061 |
* ----------------------------------------------------------------------------- */
|
1062 |
}
|
1063 |
|
|
|
|
|
|
|
|
|
|
|
1064 |
.tribe-events .tribe-events-c-top-bar__nav-list {
|
1065 |
display: -webkit-box;
|
1066 |
display: flex;
|
1080 |
display: block;
|
1081 |
}
|
1082 |
|
1083 |
+
.tribe-events .tribe-events-c-top-bar__datepicker-form {
|
1084 |
+
-webkit-box-align: center;
|
1085 |
+
align-items: center;
|
1086 |
+
display: -webkit-box;
|
1087 |
+
display: flex;
|
1088 |
}
|
1089 |
|
1090 |
.tribe-events .tribe-events-c-top-bar__datepicker {
|
1091 |
+
-webkit-box-flex: 1;
|
1092 |
+
flex: auto;
|
1093 |
position: relative;
|
1094 |
}
|
1095 |
|
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;
|
1375 |
}
|
1376 |
|
1492 |
margin-top: 8px;
|
1493 |
}
|
1494 |
|
1495 |
+
.tribe-events .tribe-events-calendar-month__calendar-event-datetime-featured-icon,
|
1496 |
+
.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-icon {
|
1497 |
+
display: inline-block;
|
1498 |
+
}
|
1499 |
+
|
1500 |
+
.tribe-events .tribe-events-calendar-month__calendar-event-datetime-featured-icon {
|
1501 |
+
margin-right: 4px;
|
1502 |
+
}
|
1503 |
+
|
1504 |
+
.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-icon {
|
1505 |
+
margin-left: 2px;
|
1506 |
+
}
|
1507 |
+
|
1508 |
.tribe-events .tribe-events-calendar-month__calendar-event-featured-image-wrapper {
|
1509 |
margin-bottom: 4px;
|
1510 |
}
|
1511 |
|
1512 |
+
.tribe-events .tribe-events-calendar-month__calendar-event-featured-image-link,
|
1513 |
+
.tribe-events .tribe-events-calendar-month__calendar-event-featured-image {
|
1514 |
display: block;
|
1515 |
}
|
1516 |
|
1531 |
margin-bottom: 0;
|
1532 |
}
|
1533 |
|
1534 |
+
.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image-link,
|
1535 |
+
.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image {
|
1536 |
display: block;
|
1537 |
}
|
1538 |
|
1539 |
+
.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime {
|
1540 |
+
margin-bottom: 4px;
|
1541 |
+
}
|
1542 |
+
|
1543 |
+
.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-featured-icon,
|
1544 |
+
.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-icon {
|
1545 |
+
display: inline-block;
|
1546 |
+
}
|
1547 |
+
|
1548 |
+
.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-featured-icon {
|
1549 |
+
margin-right: 4px;
|
1550 |
+
}
|
1551 |
+
|
1552 |
+
.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-icon {
|
1553 |
+
margin-left: 2px;
|
1554 |
+
}
|
1555 |
+
|
1556 |
+
.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-title {
|
1557 |
+
margin-bottom: 4px;
|
1558 |
+
}
|
1559 |
+
|
1560 |
.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-description {
|
1561 |
margin-bottom: 8px;
|
1562 |
}
|
1569 |
margin-top: 16px;
|
1570 |
}
|
1571 |
|
1572 |
+
/* -------------------------------------------------------------------------
|
1573 |
+
* Theme Overrides - Twenty Nineteen
|
1574 |
+
* ------------------------------------------------------------------------- */
|
1575 |
+
|
1576 |
+
.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-month__calendar-event, .tribe-theme-twentynineteen .entry .tribe-events .tribe-events-calendar-month__calendar-event {
|
1577 |
+
margin: 8px 0;
|
1578 |
+
padding: 0 16px;
|
1579 |
+
position: relative;
|
1580 |
+
}
|
1581 |
+
|
1582 |
+
.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-month__calendar-event:first-child, .tribe-theme-twentynineteen .entry .tribe-events .tribe-events-calendar-month__calendar-event:first-child {
|
1583 |
+
margin-top: 0;
|
1584 |
+
}
|
1585 |
+
|
1586 |
+
.tribe-theme-twentynineteen .tribe-events .tribe-events-calendar-month__calendar-event:last-child, .tribe-theme-twentynineteen .entry .tribe-events .tribe-events-calendar-month__calendar-event:last-child {
|
1587 |
+
margin-bottom: 0;
|
1588 |
+
padding-bottom: 16px;
|
1589 |
+
}
|
1590 |
+
|
1591 |
/* -----------------------------------------------------------------------------
|
1592 |
* Calendar Header
|
1593 |
* ----------------------------------------------------------------------------- */
|
1769 |
z-index: 5;
|
1770 |
}
|
1771 |
|
1772 |
+
.tribe-events .tribe-events-calendar-month__multiday-event-hidden-title {
|
1773 |
+
white-space: nowrap;
|
1774 |
+
}
|
1775 |
+
|
1776 |
.tribe-events .tribe-events-calendar-month__multiday-event-hidden-link {
|
1777 |
display: block;
|
1778 |
height: 100%;
|
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;
|
1811 |
}
|
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 |
|
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;
|
1861 |
}
|
1862 |
|
1904 |
* Theme Overrides - Twenty Nineteen
|
1905 |
* ------------------------------------------------------------------------- */
|
1906 |
|
1907 |
+
.tribe-theme-twentynineteen .tribe-events .entry.tribe-events-calendar-day__event {
|
1908 |
+
margin-bottom: 24px;
|
1909 |
margin-top: 32px;
|
1910 |
+
padding-left: 54px;
|
1911 |
+
}
|
1912 |
+
|
1913 |
+
.tribe-theme-twentynineteen .tribe-events .entry.tribe-events-calendar-day__event:last-child {
|
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 |
/* -----------------------------------------------------------------------------
|
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;
|
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 |
|
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 {
|
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%}.tribe-events.tribe-events-view--week .datepicker tbody tr.active{position:relative}.tribe-events.tribe-events-view--week .datepicker .day.disabled{cursor:pointer}.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-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}.tooltipster-base.tribe-events-tooltip-theme .tooltipster-arrow{display:none}.tribe-events .tribe-events-c-top-bar__nav{display:none!important;visibility:hidden}.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__today-button{display:none!important;visibility:hidden}.tribe-events .tribe-events-c-top-bar__datepicker{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-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-featured-image-wrapper{margin-bottom:4px}.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-link{display:block}.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-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-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;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{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{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 .tribe-events-calendar-day__event{margin-top:32px}.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__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__time-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 .tribe-events-calendar-day__event{margin-top:48px}.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}.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}}
|
src/resources/js/views/datepicker.js
CHANGED
@@ -39,6 +39,7 @@ tribe.events.views.datepicker = {};
|
|
39 |
* @type {PlainObject}
|
40 |
*/
|
41 |
obj.selectors = {
|
|
|
42 |
datepickerContainer: '[data-js="tribe-events-top-bar-datepicker-container"]',
|
43 |
datepickerDaysBody: '.datepicker-days tbody',
|
44 |
input: '[data-js="tribe-events-top-bar-date"]',
|
@@ -72,13 +73,21 @@ tribe.events.views.datepicker = {};
|
|
72 |
minViewMode: 'month',
|
73 |
orientation: 'bottom left',
|
74 |
showOnFocus: false,
|
75 |
-
todayHighlight: true,
|
76 |
templates: {
|
77 |
leftArrow: '',
|
78 |
rightArrow: '',
|
79 |
},
|
80 |
};
|
81 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
/**
|
83 |
* Object of date format map.
|
84 |
* Date formats are mapped from PHP to Bootstrap Datepicker format.
|
@@ -189,14 +198,19 @@ tribe.events.views.datepicker = {};
|
|
189 |
|
190 |
obj.request( viewData, $container );
|
191 |
} else {
|
192 |
-
var $
|
193 |
-
|
|
|
194 |
|
195 |
-
$forms
|
196 |
-
|
197 |
-
.remove();
|
198 |
|
199 |
-
|
|
|
|
|
|
|
|
|
|
|
200 |
|
201 |
$container
|
202 |
.find( obj.selectors.input )
|
@@ -248,6 +262,19 @@ tribe.events.views.datepicker = {};
|
|
248 |
obj.submitRequest( $container, dateValue );
|
249 |
};
|
250 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
251 |
/**
|
252 |
* Handle datepicker hide event
|
253 |
*
|
@@ -268,7 +295,9 @@ tribe.events.views.datepicker = {};
|
|
268 |
return;
|
269 |
}
|
270 |
|
271 |
-
$datepickerButton
|
|
|
|
|
272 |
};
|
273 |
|
274 |
/**
|
@@ -283,16 +312,12 @@ tribe.events.views.datepicker = {};
|
|
283 |
obj.handleMousedown = function( event ) {
|
284 |
var $datepickerButton = event.data.target;
|
285 |
var state = $datepickerButton.data( 'tribeEventsState' );
|
286 |
-
var tapHide = false;
|
287 |
|
288 |
if ( 'touchstart' === event.type ) {
|
289 |
var method = $datepickerButton.hasClass( obj.selectors.buttonOpenClass.className() ) ? 'hide' : 'show';
|
|
|
290 |
state.isTarget = false;
|
291 |
|
292 |
-
if ( 'hide' === method ) {
|
293 |
-
tapHide = true;
|
294 |
-
}
|
295 |
-
|
296 |
$datepickerButton
|
297 |
.data( 'tribeTapHide', tapHide )
|
298 |
.data( 'tribeEventsState', state )
|
@@ -327,11 +352,12 @@ tribe.events.views.datepicker = {};
|
|
327 |
|
328 |
state.isTarget = false;
|
329 |
|
330 |
-
$datepickerButton
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
.
|
|
|
335 |
};
|
336 |
|
337 |
/**
|
@@ -371,6 +397,121 @@ tribe.events.views.datepicker = {};
|
|
371 |
};
|
372 |
};
|
373 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
374 |
/**
|
375 |
* Convert date format from PHP to Bootstrap datepicker format.
|
376 |
*
|
@@ -430,6 +571,7 @@ tribe.events.views.datepicker = {};
|
|
430 |
$input
|
431 |
.bootstrapDatepicker( 'destroy' )
|
432 |
.off( changeEvent, changeHandler )
|
|
|
433 |
.off( 'hide', obj.handleHide );
|
434 |
$datepickerButton
|
435 |
.off( 'mousedown', obj.handleMousedown )
|
@@ -470,6 +612,9 @@ tribe.events.views.datepicker = {};
|
|
470 |
// set up mutation observer
|
471 |
obj.observer = new MutationObserver( obj.handleMutation( { container: $container } ) );
|
472 |
|
|
|
|
|
|
|
473 |
// set options for datepicker
|
474 |
obj.initDateFormat( data );
|
475 |
obj.isLiveRefresh = data.live_refresh ? data.live_refresh : false;
|
@@ -482,10 +627,14 @@ tribe.events.views.datepicker = {};
|
|
482 |
var prevText = datepickerI18n.prevText || 'Prev';
|
483 |
obj.options.templates.leftArrow = '<span class="tribe-common-svgicon"></span><span class="tribe-common-a11y-visual-hide">' + prevText + '</span>',
|
484 |
obj.options.templates.rightArrow = '<span class="tribe-common-svgicon"></span><span class="tribe-common-a11y-visual-hide">' + nextText + '</span>',
|
|
|
|
|
|
|
485 |
|
486 |
$input
|
487 |
.bootstrapDatepicker( obj.options )
|
488 |
.on( changeEvent, { container: $container }, changeHandler )
|
|
|
489 |
.on( 'hide', { datepickerButton: $datepickerButton, input: $input, observer: obj.observer }, obj.handleHide );
|
490 |
|
491 |
$datepickerButton
|
39 |
* @type {PlainObject}
|
40 |
*/
|
41 |
obj.selectors = {
|
42 |
+
datepickerFormClass: '.tribe-events-c-top-bar__datepicker-form',
|
43 |
datepickerContainer: '[data-js="tribe-events-top-bar-datepicker-container"]',
|
44 |
datepickerDaysBody: '.datepicker-days tbody',
|
45 |
input: '[data-js="tribe-events-top-bar-date"]',
|
73 |
minViewMode: 'month',
|
74 |
orientation: 'bottom left',
|
75 |
showOnFocus: false,
|
|
|
76 |
templates: {
|
77 |
leftArrow: '',
|
78 |
rightArrow: '',
|
79 |
},
|
80 |
};
|
81 |
|
82 |
+
/**
|
83 |
+
* Date object representing today
|
84 |
+
*
|
85 |
+
* @since 4.9.13
|
86 |
+
*
|
87 |
+
* @type {Date|null}
|
88 |
+
*/
|
89 |
+
obj.today = null;
|
90 |
+
|
91 |
/**
|
92 |
* Object of date format map.
|
93 |
* Date formats are mapped from PHP to Bootstrap Datepicker format.
|
198 |
|
199 |
obj.request( viewData, $container );
|
200 |
} else {
|
201 |
+
var $forms = $container
|
202 |
+
.find( tribe.events.views.manager.selectors.form )
|
203 |
+
.not( obj.selectors.datepickerFormClass );
|
204 |
|
205 |
+
if ( $forms.length ) {
|
206 |
+
var $input = obj.createDateInputObj( value );
|
|
|
207 |
|
208 |
+
$forms
|
209 |
+
.find( obj.selectors.dateInput )
|
210 |
+
.remove();
|
211 |
+
|
212 |
+
$forms.prepend( $input );
|
213 |
+
}
|
214 |
|
215 |
$container
|
216 |
.find( obj.selectors.input )
|
262 |
obj.submitRequest( $container, dateValue );
|
263 |
};
|
264 |
|
265 |
+
/**
|
266 |
+
* Handle datepicker show event
|
267 |
+
*
|
268 |
+
* @since 4.9.13
|
269 |
+
*
|
270 |
+
* @param {Event} event event object for 'show' event
|
271 |
+
*
|
272 |
+
* @return {void}
|
273 |
+
*/
|
274 |
+
obj.handleShow = function( event ) {
|
275 |
+
event.data.datepickerButton.addClass( obj.selectors.buttonOpenClass.className() );
|
276 |
+
};
|
277 |
+
|
278 |
/**
|
279 |
* Handle datepicker hide event
|
280 |
*
|
295 |
return;
|
296 |
}
|
297 |
|
298 |
+
$datepickerButton
|
299 |
+
.removeClass( obj.selectors.buttonOpenClass.className() )
|
300 |
+
.focus();
|
301 |
};
|
302 |
|
303 |
/**
|
312 |
obj.handleMousedown = function( event ) {
|
313 |
var $datepickerButton = event.data.target;
|
314 |
var state = $datepickerButton.data( 'tribeEventsState' );
|
|
|
315 |
|
316 |
if ( 'touchstart' === event.type ) {
|
317 |
var method = $datepickerButton.hasClass( obj.selectors.buttonOpenClass.className() ) ? 'hide' : 'show';
|
318 |
+
var tapHide = 'hide' === method;
|
319 |
state.isTarget = false;
|
320 |
|
|
|
|
|
|
|
|
|
321 |
$datepickerButton
|
322 |
.data( 'tribeTapHide', tapHide )
|
323 |
.data( 'tribeEventsState', state )
|
352 |
|
353 |
state.isTarget = false;
|
354 |
|
355 |
+
$datepickerButton.data( 'tribeEventsState', state );
|
356 |
+
$input.bootstrapDatepicker( method );
|
357 |
+
|
358 |
+
if ( 'show' === method ) {
|
359 |
+
$input.focus();
|
360 |
+
}
|
361 |
};
|
362 |
|
363 |
/**
|
397 |
};
|
398 |
};
|
399 |
|
400 |
+
/**
|
401 |
+
* Set today to date object representing today
|
402 |
+
*
|
403 |
+
* @since 4.9.13
|
404 |
+
*
|
405 |
+
* @param {string} today string representation of today's date according to website time
|
406 |
+
*
|
407 |
+
* @return {void}
|
408 |
+
*/
|
409 |
+
obj.setToday = function( today ) {
|
410 |
+
var date = today;
|
411 |
+
if ( today.indexOf( ' ' ) >= 0 ) {
|
412 |
+
date = today.split( ' ' )[0];
|
413 |
+
}
|
414 |
+
|
415 |
+
obj.today = new Date( date );
|
416 |
+
};
|
417 |
+
|
418 |
+
/**
|
419 |
+
* Determine whether or not date is the same as today.
|
420 |
+
* The function uses UTC values to maintain consistency with website date.
|
421 |
+
* Function will return false if proper unit is not provided.
|
422 |
+
*
|
423 |
+
* @since 4.9.13
|
424 |
+
*
|
425 |
+
* @param {Date} date Date object representing the date being compared
|
426 |
+
* @param {string} unit Unit to compare dates to
|
427 |
+
*
|
428 |
+
* @return {bool}
|
429 |
+
*/
|
430 |
+
obj.isSameAsToday = function( date, unit ) {
|
431 |
+
switch ( unit ) {
|
432 |
+
case 'year':
|
433 |
+
return date.getFullYear() === obj.today.getUTCFullYear();
|
434 |
+
case 'month':
|
435 |
+
return obj.isSameAsToday( date, 'year' ) && date.getMonth() === obj.today.getUTCMonth();
|
436 |
+
case 'day':
|
437 |
+
return obj.isSameAsToday( date, 'month' ) && date.getDate() === obj.today.getUTCDate();
|
438 |
+
default:
|
439 |
+
return false;
|
440 |
+
}
|
441 |
+
}
|
442 |
+
|
443 |
+
/**
|
444 |
+
* Determine whether or not date is before today.
|
445 |
+
* The function uses UTC values to maintain consistency with website date.
|
446 |
+
* Function will return false if proper unit is not provided.
|
447 |
+
*
|
448 |
+
* @since 4.9.13
|
449 |
+
*
|
450 |
+
* @param {Date} date Date object representing the date being compared
|
451 |
+
* @param {string} unit Unit to compare dates to
|
452 |
+
*
|
453 |
+
* @return {bool}
|
454 |
+
*/
|
455 |
+
obj.isBeforeToday = function( date, unit ) {
|
456 |
+
switch ( unit ) {
|
457 |
+
case 'year':
|
458 |
+
return date.getFullYear() < obj.today.getUTCFullYear();
|
459 |
+
case 'month':
|
460 |
+
return obj.isBeforeToday( date, 'year' )
|
461 |
+
|| ( obj.isSameAsToday( date, 'year' ) && date.getMonth() < obj.today.getUTCMonth() );
|
462 |
+
case 'day':
|
463 |
+
return obj.isBeforeToday( date, 'month' )
|
464 |
+
|| ( obj.isSameAsToday( date, 'month' ) && date.getDate() < obj.today.getUTCDate() );
|
465 |
+
default:
|
466 |
+
return false;
|
467 |
+
}
|
468 |
+
};
|
469 |
+
|
470 |
+
/**
|
471 |
+
* Filter datepicker day cells
|
472 |
+
*
|
473 |
+
* @since 4.9.13
|
474 |
+
*
|
475 |
+
* @return {string|void}
|
476 |
+
*/
|
477 |
+
obj.filterDayCells = function( date ) {
|
478 |
+
if ( obj.isBeforeToday( date, 'day' ) ) {
|
479 |
+
return 'past';
|
480 |
+
} else if ( obj.isSameAsToday( date, 'day' ) ) {
|
481 |
+
return 'current';
|
482 |
+
}
|
483 |
+
};
|
484 |
+
|
485 |
+
/**
|
486 |
+
* Filter datepicker month cells
|
487 |
+
*
|
488 |
+
* @since 4.9.13
|
489 |
+
*
|
490 |
+
* @return {string|void}
|
491 |
+
*/
|
492 |
+
obj.filterMonthCells = function( date ) {
|
493 |
+
if ( obj.isBeforeToday( date, 'month' ) ) {
|
494 |
+
return 'past';
|
495 |
+
} else if ( obj.isSameAsToday( date, 'month' ) ) {
|
496 |
+
return 'current';
|
497 |
+
}
|
498 |
+
};
|
499 |
+
|
500 |
+
/**
|
501 |
+
* Filter datepicker year cells
|
502 |
+
*
|
503 |
+
* @since 4.9.13
|
504 |
+
*
|
505 |
+
* @return {string|void}
|
506 |
+
*/
|
507 |
+
obj.filterYearCells = function( date ) {
|
508 |
+
if ( obj.isBeforeToday( date, 'year' ) ) {
|
509 |
+
return 'past';
|
510 |
+
} else if ( obj.isSameAsToday( date, 'year' ) ) {
|
511 |
+
return 'current';
|
512 |
+
}
|
513 |
+
};
|
514 |
+
|
515 |
/**
|
516 |
* Convert date format from PHP to Bootstrap datepicker format.
|
517 |
*
|
571 |
$input
|
572 |
.bootstrapDatepicker( 'destroy' )
|
573 |
.off( changeEvent, changeHandler )
|
574 |
+
.off( 'show', obj.handleShow )
|
575 |
.off( 'hide', obj.handleHide );
|
576 |
$datepickerButton
|
577 |
.off( 'mousedown', obj.handleMousedown )
|
612 |
// set up mutation observer
|
613 |
obj.observer = new MutationObserver( obj.handleMutation( { container: $container } ) );
|
614 |
|
615 |
+
// set up today's date
|
616 |
+
obj.setToday( data.today );
|
617 |
+
|
618 |
// set options for datepicker
|
619 |
obj.initDateFormat( data );
|
620 |
obj.isLiveRefresh = data.live_refresh ? data.live_refresh : false;
|
627 |
var prevText = datepickerI18n.prevText || 'Prev';
|
628 |
obj.options.templates.leftArrow = '<span class="tribe-common-svgicon"></span><span class="tribe-common-a11y-visual-hide">' + prevText + '</span>',
|
629 |
obj.options.templates.rightArrow = '<span class="tribe-common-svgicon"></span><span class="tribe-common-a11y-visual-hide">' + nextText + '</span>',
|
630 |
+
obj.options.beforeShowDay = obj.filterDayCells;
|
631 |
+
obj.options.beforeShowMonth = obj.filterMonthCells;
|
632 |
+
obj.options.beforeShowYear = obj.filterYearCells;
|
633 |
|
634 |
$input
|
635 |
.bootstrapDatepicker( obj.options )
|
636 |
.on( changeEvent, { container: $container }, changeHandler )
|
637 |
+
.on( 'show', { datepickerButton: $datepickerButton }, obj.handleShow )
|
638 |
.on( 'hide', { datepickerButton: $datepickerButton, input: $input, observer: obj.observer }, obj.handleHide );
|
639 |
|
640 |
$datepickerButton
|
src/resources/js/views/manager.js
CHANGED
@@ -314,7 +314,6 @@ tribe.events.views.manager = {};
|
|
314 |
var formData = Qs.parse( $form.serialize() );
|
315 |
|
316 |
var data = {
|
317 |
-
url: window.location.href,
|
318 |
view_data: formData['tribe-events-views'],
|
319 |
_wpnonce: nonce
|
320 |
};
|
314 |
var formData = Qs.parse( $form.serialize() );
|
315 |
|
316 |
var data = {
|
|
|
317 |
view_data: formData['tribe-events-views'],
|
318 |
_wpnonce: nonce
|
319 |
};
|
src/resources/js/views/tooltip.js
CHANGED
@@ -263,6 +263,7 @@ tribe.events.views.tooltip = {};
|
|
263 |
.find( obj.selectors.tooltipTrigger )
|
264 |
.each( function( index, trigger ) {
|
265 |
$( trigger ).tooltipster( {
|
|
|
266 |
interactive: true,
|
267 |
delay: [ obj.config.delayHoverIn, obj.config.delayHoverOut ],
|
268 |
delayTouch: [ obj.config.delayHoverIn, obj.config.delayHoverOut ],
|
263 |
.find( obj.selectors.tooltipTrigger )
|
264 |
.each( function( index, trigger ) {
|
265 |
$( trigger ).tooltipster( {
|
266 |
+
animationDuration: 0,
|
267 |
interactive: true,
|
268 |
delay: [ obj.config.delayHoverIn, obj.config.delayHoverOut ],
|
269 |
delayTouch: [ obj.config.delayHoverIn, obj.config.delayHoverOut ],
|
src/resources/postcss/components/full/_all.pcss
CHANGED
@@ -19,6 +19,9 @@
|
|
19 |
/* Events bar */
|
20 |
@import "_events-bar.pcss";
|
21 |
|
|
|
|
|
|
|
22 |
/* Loader */
|
23 |
@import "_loader.pcss";
|
24 |
|
19 |
/* Events bar */
|
20 |
@import "_events-bar.pcss";
|
21 |
|
22 |
+
/* iCal link */
|
23 |
+
@import "_ical-link.pcss";
|
24 |
+
|
25 |
/* Loader */
|
26 |
@import "_loader.pcss";
|
27 |
|
src/resources/postcss/components/full/_datepicker.pcss
CHANGED
@@ -47,10 +47,6 @@
|
|
47 |
|
48 |
.day {
|
49 |
@mixin desktop-body-1;
|
50 |
-
|
51 |
-
&.old {
|
52 |
-
color: var(--color-text-disabled);
|
53 |
-
}
|
54 |
}
|
55 |
|
56 |
.month,
|
@@ -58,6 +54,10 @@
|
|
58 |
@mixin desktop-body-3;
|
59 |
}
|
60 |
|
|
|
|
|
|
|
|
|
61 |
.day,
|
62 |
.month,
|
63 |
.year {
|
@@ -69,82 +69,27 @@
|
|
69 |
background: var(--color-background-secondary);
|
70 |
}
|
71 |
|
72 |
-
&.
|
73 |
-
|
74 |
-
background: var(--color-accent-primary);
|
75 |
|
76 |
&:hover,
|
77 |
&:focus,
|
78 |
&.focused {
|
79 |
-
|
80 |
-
background: var(--color-accent-primary);
|
81 |
}
|
82 |
}
|
83 |
-
}
|
84 |
-
}
|
85 |
-
|
86 |
-
&.tribe-events-view--week .datepicker {
|
87 |
-
|
88 |
-
tbody tr {
|
89 |
-
|
90 |
-
&.active {
|
91 |
-
|
92 |
-
&:after {
|
93 |
-
border: 1px solid var(--color-accent-primary);
|
94 |
-
border-radius: var(--border-radius-default);
|
95 |
-
content: '';
|
96 |
-
display: block;
|
97 |
-
height: 47px;
|
98 |
-
left: var(--spacer-3);
|
99 |
-
pointer-events: none;
|
100 |
-
position: absolute;
|
101 |
-
transform: translateY(-1px);
|
102 |
-
width: calc(100% - 34px); /* 16px left padding + 16px right padding + 1px left border + 1px right border */
|
103 |
-
}
|
104 |
-
}
|
105 |
-
}
|
106 |
-
|
107 |
-
.day {
|
108 |
-
border-radius: 0;
|
109 |
-
|
110 |
-
&:first-child {
|
111 |
-
border-bottom-left-radius: var(--border-radius-default);
|
112 |
-
border-top-left-radius: var(--border-radius-default);
|
113 |
-
}
|
114 |
-
|
115 |
-
&:last-child {
|
116 |
-
border-bottom-right-radius: var(--border-radius-default);
|
117 |
-
border-top-right-radius: var(--border-radius-default);
|
118 |
-
}
|
119 |
|
120 |
&.active {
|
121 |
-
color: var(--color-
|
122 |
-
background:
|
123 |
-
|
124 |
-
&:hover {
|
125 |
-
background: transparent;
|
126 |
-
}
|
127 |
-
}
|
128 |
-
|
129 |
-
&.disabled {
|
130 |
-
color: var(--color-text-primary);
|
131 |
|
132 |
&:hover,
|
133 |
&:focus,
|
134 |
&.focused {
|
135 |
-
color: var(--color-
|
136 |
-
|
137 |
-
|
138 |
-
}
|
139 |
-
|
140 |
-
.hovered,
|
141 |
-
.focused {
|
142 |
-
|
143 |
-
.day {
|
144 |
-
background: var(--color-background-secondary);
|
145 |
-
|
146 |
-
&:hover {
|
147 |
-
background: var(--color-background-secondary);
|
148 |
}
|
149 |
}
|
150 |
}
|
@@ -199,10 +144,6 @@
|
|
199 |
&.new {
|
200 |
opacity: 1;
|
201 |
}
|
202 |
-
|
203 |
-
&.old {
|
204 |
-
color: var(--color-text-disabled);
|
205 |
-
}
|
206 |
}
|
207 |
|
208 |
.day,
|
@@ -217,42 +158,29 @@
|
|
217 |
background: var(--color-background-secondary);
|
218 |
}
|
219 |
|
220 |
-
&.
|
221 |
-
color: var(--color-
|
222 |
-
|
|
|
|
|
|
|
223 |
|
224 |
&:hover,
|
225 |
&:focus,
|
226 |
&.focused {
|
227 |
-
|
228 |
-
background: var(--color-accent-primary);
|
229 |
}
|
230 |
}
|
231 |
-
}
|
232 |
-
}
|
233 |
-
|
234 |
-
.tribe-theme-enfold &.tribe-events-view--week .datepicker {
|
235 |
-
|
236 |
-
.day {
|
237 |
|
238 |
&.active {
|
239 |
-
color: var(--color-
|
240 |
-
background:
|
241 |
-
|
242 |
-
&:hover {
|
243 |
-
background: transparent;
|
244 |
-
}
|
245 |
-
}
|
246 |
-
}
|
247 |
-
|
248 |
-
.hovered,
|
249 |
-
.focused {
|
250 |
-
|
251 |
-
.day {
|
252 |
-
background: var(--color-background-secondary);
|
253 |
|
254 |
-
&:hover
|
255 |
-
|
|
|
|
|
|
|
256 |
}
|
257 |
}
|
258 |
}
|
@@ -285,6 +213,7 @@
|
|
285 |
&.old,
|
286 |
&.new {
|
287 |
background-color: transparent !important;
|
|
|
288 |
|
289 |
&:hover,
|
290 |
&:focus,
|
@@ -292,14 +221,6 @@
|
|
292 |
background: var(--color-background-secondary) !important;
|
293 |
}
|
294 |
}
|
295 |
-
|
296 |
-
&.old {
|
297 |
-
color: var(--color-text-disabled) !important;
|
298 |
-
}
|
299 |
-
|
300 |
-
&.new {
|
301 |
-
color: var(--color-text-primary) !important;
|
302 |
-
}
|
303 |
}
|
304 |
|
305 |
.day,
|
@@ -313,47 +234,29 @@
|
|
313 |
background: var(--color-background-secondary);
|
314 |
}
|
315 |
|
316 |
-
&.
|
317 |
-
color: var(--color-
|
318 |
-
|
|
|
|
|
|
|
319 |
|
320 |
&:hover,
|
321 |
&:focus,
|
322 |
&.focused {
|
323 |
-
|
324 |
-
background: var(--color-accent-primary);
|
325 |
}
|
326 |
}
|
327 |
-
}
|
328 |
-
}
|
329 |
-
|
330 |
-
.tribe-theme-avada &.tribe-events-view--week .datepicker {
|
331 |
-
|
332 |
-
.day {
|
333 |
|
334 |
&.active {
|
335 |
-
color: var(--color-
|
336 |
-
background:
|
337 |
|
338 |
-
&:hover
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
.hovered,
|
345 |
-
.focused {
|
346 |
-
|
347 |
-
.day {
|
348 |
-
background: var(--color-background-secondary);
|
349 |
-
|
350 |
-
&:hover {
|
351 |
-
background: var(--color-background-secondary);
|
352 |
-
}
|
353 |
-
|
354 |
-
&.old,
|
355 |
-
&.new {
|
356 |
-
background-color: var(--color-background-secondary) !important;
|
357 |
}
|
358 |
}
|
359 |
}
|
47 |
|
48 |
.day {
|
49 |
@mixin desktop-body-1;
|
|
|
|
|
|
|
|
|
50 |
}
|
51 |
|
52 |
.month,
|
54 |
@mixin desktop-body-3;
|
55 |
}
|
56 |
|
57 |
+
.past {
|
58 |
+
color: var(--color-text-primary-light);
|
59 |
+
}
|
60 |
+
|
61 |
.day,
|
62 |
.month,
|
63 |
.year {
|
69 |
background: var(--color-background-secondary);
|
70 |
}
|
71 |
|
72 |
+
&.current {
|
73 |
+
background: var(--color-accent-primary-background);
|
|
|
74 |
|
75 |
&:hover,
|
76 |
&:focus,
|
77 |
&.focused {
|
78 |
+
background: var(--color-accent-primary-background);
|
|
|
79 |
}
|
80 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
|
82 |
&.active {
|
83 |
+
color: var(--color-background);
|
84 |
+
background: var(--color-accent-primary);
|
85 |
+
text-shadow: none;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
|
87 |
&:hover,
|
88 |
&:focus,
|
89 |
&.focused {
|
90 |
+
color: var(--color-background);
|
91 |
+
background: var(--color-accent-primary);
|
92 |
+
text-shadow: none;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
}
|
94 |
}
|
95 |
}
|
144 |
&.new {
|
145 |
opacity: 1;
|
146 |
}
|
|
|
|
|
|
|
|
|
147 |
}
|
148 |
|
149 |
.day,
|
158 |
background: var(--color-background-secondary);
|
159 |
}
|
160 |
|
161 |
+
&.past {
|
162 |
+
color: var(--color-text-primary-light);
|
163 |
+
}
|
164 |
+
|
165 |
+
&.current {
|
166 |
+
background: var(--color-accent-primary-background);
|
167 |
|
168 |
&:hover,
|
169 |
&:focus,
|
170 |
&.focused {
|
171 |
+
background: var(--color-accent-primary-background);
|
|
|
172 |
}
|
173 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
|
175 |
&.active {
|
176 |
+
color: var(--color-background);
|
177 |
+
background: var(--color-accent-primary);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
|
179 |
+
&:hover,
|
180 |
+
&:focus,
|
181 |
+
&.focused {
|
182 |
+
color: var(--color-background);
|
183 |
+
background: var(--color-accent-primary);
|
184 |
}
|
185 |
}
|
186 |
}
|
213 |
&.old,
|
214 |
&.new {
|
215 |
background-color: transparent !important;
|
216 |
+
color: var(--color-text-primary) !important;
|
217 |
|
218 |
&:hover,
|
219 |
&:focus,
|
221 |
background: var(--color-background-secondary) !important;
|
222 |
}
|
223 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
224 |
}
|
225 |
|
226 |
.day,
|
234 |
background: var(--color-background-secondary);
|
235 |
}
|
236 |
|
237 |
+
&.past {
|
238 |
+
color: var(--color-text-primary-light) !important;
|
239 |
+
}
|
240 |
+
|
241 |
+
&.current {
|
242 |
+
background: var(--color-accent-primary-background);
|
243 |
|
244 |
&:hover,
|
245 |
&:focus,
|
246 |
&.focused {
|
247 |
+
background: var(--color-accent-primary-background);
|
|
|
248 |
}
|
249 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
250 |
|
251 |
&.active {
|
252 |
+
color: var(--color-background) !important;
|
253 |
+
background: var(--color-accent-primary) !important;
|
254 |
|
255 |
+
&:hover,
|
256 |
+
&:focus,
|
257 |
+
&.focused {
|
258 |
+
color: var(--color-background) !important;
|
259 |
+
background: var(--color-accent-primary) !important;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
260 |
}
|
261 |
}
|
262 |
}
|
src/resources/postcss/components/full/_ical-link.pcss
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* -----------------------------------------------------------------------------
|
2 |
+
*
|
3 |
+
* iCal Link
|
4 |
+
*
|
5 |
+
* ----------------------------------------------------------------------------- */
|
src/resources/postcss/components/full/_navigation.pcss
CHANGED
@@ -44,7 +44,6 @@
|
|
44 |
|
45 |
&:active {
|
46 |
color: var(--color-text-primary);
|
47 |
-
font-weight: var(--font-weight-bold);
|
48 |
}
|
49 |
}
|
50 |
|
44 |
|
45 |
&:active {
|
46 |
color: var(--color-text-primary);
|
|
|
47 |
}
|
48 |
}
|
49 |
|
src/resources/postcss/components/skeleton/_all.pcss
CHANGED
@@ -19,6 +19,9 @@
|
|
19 |
/* Events bar */
|
20 |
@import "_events-bar.pcss";
|
21 |
|
|
|
|
|
|
|
22 |
/* Loader */
|
23 |
@import "_loader.pcss";
|
24 |
|
19 |
/* Events bar */
|
20 |
@import "_events-bar.pcss";
|
21 |
|
22 |
+
/* iCal link */
|
23 |
+
@import "_ical-link.pcss";
|
24 |
+
|
25 |
/* Loader */
|
26 |
@import "_loader.pcss";
|
27 |
|
src/resources/postcss/components/skeleton/_datepicker.pcss
CHANGED
@@ -102,23 +102,6 @@
|
|
102 |
}
|
103 |
}
|
104 |
|
105 |
-
&.tribe-events-view--week .datepicker {
|
106 |
-
|
107 |
-
tbody tr {
|
108 |
-
|
109 |
-
&.active {
|
110 |
-
position: relative;
|
111 |
-
}
|
112 |
-
}
|
113 |
-
|
114 |
-
.day {
|
115 |
-
|
116 |
-
&.disabled {
|
117 |
-
cursor: pointer;
|
118 |
-
}
|
119 |
-
}
|
120 |
-
}
|
121 |
-
|
122 |
/* -----------------------------------------------------------------------------
|
123 |
*
|
124 |
* Datepicker: V1 Style Overrides
|
102 |
}
|
103 |
}
|
104 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
/* -----------------------------------------------------------------------------
|
106 |
*
|
107 |
* Datepicker: V1 Style Overrides
|
src/resources/postcss/components/skeleton/_ical-link.pcss
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* -----------------------------------------------------------------------------
|
2 |
+
*
|
3 |
+
* iCal link
|
4 |
+
*
|
5 |
+
* ----------------------------------------------------------------------------- */
|
6 |
+
|
7 |
+
.tribe-events {
|
8 |
+
|
9 |
+
.tribe-events-c-ical {
|
10 |
+
margin-top: var(--spacer-4);
|
11 |
+
text-align: right;
|
12 |
+
}
|
13 |
+
}
|
src/resources/postcss/components/skeleton/_tooltip.pcss
CHANGED
@@ -15,6 +15,7 @@
|
|
15 |
|
16 |
.tooltipster-content {
|
17 |
padding: 0;
|
|
|
18 |
}
|
19 |
}
|
20 |
|
15 |
|
16 |
.tooltipster-content {
|
17 |
padding: 0;
|
18 |
+
word-break: break-word;
|
19 |
}
|
20 |
}
|
21 |
|
src/resources/postcss/components/skeleton/_top-bar.pcss
CHANGED
@@ -16,8 +16,6 @@
|
|
16 |
}
|
17 |
|
18 |
.tribe-events-c-top-bar__nav {
|
19 |
-
@mixin hidden;
|
20 |
-
|
21 |
@media (--viewport-medium) {
|
22 |
display: block !important;
|
23 |
flex: none;
|
@@ -50,8 +48,6 @@
|
|
50 |
}
|
51 |
|
52 |
.tribe-events-c-top-bar__today-button {
|
53 |
-
@mixin hidden;
|
54 |
-
|
55 |
@media (--viewport-medium) {
|
56 |
display: block !important;
|
57 |
flex: none;
|
@@ -60,7 +56,13 @@
|
|
60 |
}
|
61 |
}
|
62 |
|
|
|
|
|
|
|
|
|
|
|
63 |
.tribe-events-c-top-bar__datepicker {
|
|
|
64 |
position: relative;
|
65 |
|
66 |
@media (--viewport-medium) {
|
@@ -101,6 +103,15 @@
|
|
101 |
}
|
102 |
}
|
103 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
.tribe-events-c-top-bar__actions {
|
105 |
@mixin hidden;
|
106 |
|
16 |
}
|
17 |
|
18 |
.tribe-events-c-top-bar__nav {
|
|
|
|
|
19 |
@media (--viewport-medium) {
|
20 |
display: block !important;
|
21 |
flex: none;
|
48 |
}
|
49 |
|
50 |
.tribe-events-c-top-bar__today-button {
|
|
|
|
|
51 |
@media (--viewport-medium) {
|
52 |
display: block !important;
|
53 |
flex: none;
|
56 |
}
|
57 |
}
|
58 |
|
59 |
+
.tribe-events-c-top-bar__datepicker-form {
|
60 |
+
align-items: center;
|
61 |
+
display: flex;
|
62 |
+
}
|
63 |
+
|
64 |
.tribe-events-c-top-bar__datepicker {
|
65 |
+
flex: auto;
|
66 |
position: relative;
|
67 |
|
68 |
@media (--viewport-medium) {
|
103 |
}
|
104 |
}
|
105 |
|
106 |
+
.tribe-events-c-top-bar__datepicker-submit {
|
107 |
+
@media (--viewport-medium) {
|
108 |
+
display: block !important;
|
109 |
+
flex: none;
|
110 |
+
margin-left: 15px;
|
111 |
+
visibility: visible;
|
112 |
+
}
|
113 |
+
}
|
114 |
+
|
115 |
.tribe-events-c-top-bar__actions {
|
116 |
@mixin hidden;
|
117 |
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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 |
|
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 |
|
@@ -50,6 +51,7 @@
|
|
50 |
--color-background-messages: rgba(var(--color-text-primary), 0.07);
|
51 |
--color-background-secondary-hover: #F0EEEE;
|
52 |
--color-box-shadow: rgba(#000000, 0.14);
|
|
|
53 |
--color-scroll-track: rgba(#000000, 0.25);
|
54 |
--color-scroll-bar: rgba(#000000, 0.5);
|
55 |
|
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 |
|
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 |
|
src/resources/postcss/utilities/variables/_svgs.pcss
CHANGED
@@ -222,6 +222,17 @@
|
|
222 |
}
|
223 |
}
|
224 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
225 |
/* -----------------------------------------------------------------------------
|
226 |
* SVG - List
|
227 |
* ----------------------------------------------------------------------------- */
|
@@ -265,12 +276,34 @@
|
|
265 |
}
|
266 |
}
|
267 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
268 |
/* -----------------------------------------------------------------------------
|
269 |
* SVG - Map
|
270 |
* ----------------------------------------------------------------------------- */
|
271 |
|
272 |
@svg-load map url('../icons/map.svg') {
|
273 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
274 |
path {
|
275 |
stroke: var(--color-icon-active);
|
276 |
}
|
@@ -299,6 +332,17 @@
|
|
299 |
|
300 |
@svg-load no-map url('../icons/no-map.svg') {}
|
301 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
302 |
/* -----------------------------------------------------------------------------
|
303 |
* SVG - Photo
|
304 |
* ----------------------------------------------------------------------------- */
|
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 |
}
|
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 |
* ----------------------------------------------------------------------------- */
|
src/resources/postcss/views/full/day/_event.pcss
CHANGED
@@ -7,14 +7,6 @@
|
|
7 |
.tribe-events-calendar-day__event--featured {
|
8 |
position: relative;
|
9 |
|
10 |
-
&:before {
|
11 |
-
@media (--viewport-medium) {
|
12 |
-
content: '';
|
13 |
-
min-width: 90px;
|
14 |
-
width: var(--grid-width-1-of-9);
|
15 |
-
}
|
16 |
-
}
|
17 |
-
|
18 |
&:after {
|
19 |
background-color: var(--color-accent-primary);
|
20 |
content: '';
|
7 |
.tribe-events-calendar-day__event--featured {
|
8 |
position: relative;
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
&:after {
|
11 |
background-color: var(--color-accent-primary);
|
12 |
content: '';
|
src/resources/postcss/views/full/month/_calendar-event.pcss
CHANGED
@@ -36,7 +36,7 @@
|
|
36 |
background-color: var(--color-accent-primary);
|
37 |
content: '';
|
38 |
height: 100%;
|
39 |
-
left:
|
40 |
position: absolute;
|
41 |
width: 2px;
|
42 |
}
|
@@ -49,19 +49,6 @@
|
|
49 |
}
|
50 |
}
|
51 |
|
52 |
-
.tribe-events-calendar-month__calendar-event-datetime-featured,
|
53 |
-
.tribe-events-calendar-month__calendar-event-datetime-recurring-icon {
|
54 |
-
display: inline-block;
|
55 |
-
}
|
56 |
-
|
57 |
-
.tribe-events-calendar-month__calendar-event-datetime-featured {
|
58 |
-
margin-right: var(--spacer-0);
|
59 |
-
}
|
60 |
-
|
61 |
-
.tribe-events-calendar-month__calendar-event-datetime-recurring-icon {
|
62 |
-
margin-left: var(--spacer-0);
|
63 |
-
}
|
64 |
-
|
65 |
.tribe-events-calendar-month__calendar-event-datetime-recurring-link {
|
66 |
|
67 |
&:hover,
|
@@ -89,4 +76,20 @@
|
|
89 |
opacity: var(--opacity-icon-active);
|
90 |
}
|
91 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
}
|
36 |
background-color: var(--color-accent-primary);
|
37 |
content: '';
|
38 |
height: 100%;
|
39 |
+
left: 7px;
|
40 |
position: absolute;
|
41 |
width: 2px;
|
42 |
}
|
49 |
}
|
50 |
}
|
51 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
.tribe-events-calendar-month__calendar-event-datetime-recurring-link {
|
53 |
|
54 |
&:hover,
|
76 |
opacity: var(--opacity-icon-active);
|
77 |
}
|
78 |
}
|
79 |
+
|
80 |
+
.tribe-events-calendar-month__calendar-event-tooltip-datetime {
|
81 |
+
@mixin mobile-body-3;
|
82 |
+
}
|
83 |
+
|
84 |
+
.tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-link {
|
85 |
+
|
86 |
+
&:hover,
|
87 |
+
&:focus {
|
88 |
+
|
89 |
+
.tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-icon {
|
90 |
+
background-image: svg-inline(recurring);
|
91 |
+
}
|
92 |
+
}
|
93 |
+
}
|
94 |
+
|
95 |
}
|
src/resources/postcss/views/full/month/_day.pcss
CHANGED
@@ -74,12 +74,10 @@
|
|
74 |
}
|
75 |
|
76 |
.tribe-events-calendar-month__day-cell--mobile {
|
77 |
-
border-bottom: 2px solid transparent;
|
78 |
-
transition: var(--transition-border-color);
|
79 |
|
80 |
&:hover,
|
81 |
&:focus {
|
82 |
-
|
83 |
}
|
84 |
}
|
85 |
|
74 |
}
|
75 |
|
76 |
.tribe-events-calendar-month__day-cell--mobile {
|
|
|
|
|
77 |
|
78 |
&:hover,
|
79 |
&:focus {
|
80 |
+
background-color: var(--color-background-secondary);
|
81 |
}
|
82 |
}
|
83 |
|
src/resources/postcss/views/full/month/_multiday-event.pcss
CHANGED
@@ -42,13 +42,13 @@
|
|
42 |
|
43 |
&:hover,
|
44 |
&:focus {
|
45 |
-
background-color: var(--color-background-secondary);
|
46 |
}
|
47 |
}
|
48 |
|
49 |
.tribe-events-calendar-month__multiday-event-bar-inner--focus,
|
50 |
.tribe-events-calendar-month__multiday-event-bar-inner--hover {
|
51 |
-
background-color: var(--color-background-secondary);
|
52 |
}
|
53 |
|
54 |
.tribe-events-calendar-month__multiday-event-bar-featured-icon,
|
@@ -61,4 +61,14 @@
|
|
61 |
font-weight: var(--font-weight-regular);
|
62 |
text-overflow: ellipsis;
|
63 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
}
|
42 |
|
43 |
&:hover,
|
44 |
&:focus {
|
45 |
+
background-color: var(--color-background-secondary-hover);
|
46 |
}
|
47 |
}
|
48 |
|
49 |
.tribe-events-calendar-month__multiday-event-bar-inner--focus,
|
50 |
.tribe-events-calendar-month__multiday-event-bar-inner--hover {
|
51 |
+
background-color: var(--color-background-secondary-hover);
|
52 |
}
|
53 |
|
54 |
.tribe-events-calendar-month__multiday-event-bar-featured-icon,
|
61 |
font-weight: var(--font-weight-regular);
|
62 |
text-overflow: ellipsis;
|
63 |
}
|
64 |
+
|
65 |
+
/* -----------------------------------------------------------------------------
|
66 |
+
* Theme Overrides - Avada
|
67 |
+
* ----------------------------------------------------------------------------- */
|
68 |
+
|
69 |
+
.tribe-theme-avada #main & {
|
70 |
+
.tribe-events-calendar-month__multiday-event-bar-title {
|
71 |
+
font-weight: var(--font-weight-regular);
|
72 |
+
}
|
73 |
+
}
|
74 |
}
|
src/resources/postcss/views/skeleton/day/_event.pcss
CHANGED
@@ -22,9 +22,18 @@
|
|
22 |
margin-bottom: var(--spacer-11);
|
23 |
}
|
24 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
}
|
26 |
|
27 |
-
.tribe-events-calendar-day__time-separator + .tribe-events-calendar-day__event
|
|
|
28 |
margin-top: var(--spacer-4);
|
29 |
|
30 |
@media (--viewport-medium) {
|
@@ -62,7 +71,8 @@
|
|
62 |
}
|
63 |
}
|
64 |
|
65 |
-
.tribe-events-calendar-day__event-featured-image-link
|
|
|
66 |
display: block;
|
67 |
}
|
68 |
|
@@ -145,11 +155,32 @@
|
|
145 |
|
146 |
.tribe-theme-twentynineteen & {
|
147 |
|
148 |
-
.tribe-events-calendar-day__event {
|
|
|
149 |
margin-top: var(--spacer-7);
|
|
|
150 |
|
151 |
@media (--viewport-medium) {
|
|
|
152 |
margin-top: var(--spacer-9);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
153 |
}
|
154 |
}
|
155 |
}
|
22 |
margin-bottom: var(--spacer-11);
|
23 |
}
|
24 |
}
|
25 |
+
|
26 |
+
&:before {
|
27 |
+
@media (--viewport-medium) {
|
28 |
+
content: '';
|
29 |
+
min-width: 90px;
|
30 |
+
width: var(--grid-width-1-of-9);
|
31 |
+
}
|
32 |
+
}
|
33 |
}
|
34 |
|
35 |
+
.tribe-events-calendar-day__time-separator + .tribe-events-calendar-day__event,
|
36 |
+
.tribe-events-calendar-day__type-separator + .tribe-events-calendar-day__event {
|
37 |
margin-top: var(--spacer-4);
|
38 |
|
39 |
@media (--viewport-medium) {
|
71 |
}
|
72 |
}
|
73 |
|
74 |
+
.tribe-events-calendar-day__event-featured-image-link,
|
75 |
+
.tribe-events-calendar-list__event-featured-image {
|
76 |
display: block;
|
77 |
}
|
78 |
|
155 |
|
156 |
.tribe-theme-twentynineteen & {
|
157 |
|
158 |
+
.entry.tribe-events-calendar-day__event {
|
159 |
+
margin-bottom: var(--spacer-5);
|
160 |
margin-top: var(--spacer-7);
|
161 |
+
padding-left: 54px;
|
162 |
|
163 |
@media (--viewport-medium) {
|
164 |
+
margin-bottom: var(--spacer-8);
|
165 |
margin-top: var(--spacer-9);
|
166 |
+
padding-left: 0;
|
167 |
+
}
|
168 |
+
|
169 |
+
&:last-child {
|
170 |
+
margin-bottom: var(--spacer-8);
|
171 |
+
|
172 |
+
@media (--viewport-medium) {
|
173 |
+
margin-bottom: var(--spacer-11);
|
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 |
+
@media (--viewport-medium) {
|
183 |
+
margin-top: var(--spacer-8);
|
184 |
}
|
185 |
}
|
186 |
}
|
src/resources/postcss/views/skeleton/list/_event.pcss
CHANGED
@@ -90,7 +90,8 @@
|
|
90 |
}
|
91 |
}
|
92 |
|
93 |
-
.tribe-events-calendar-list__event-featured-image-link
|
|
|
94 |
display: block;
|
95 |
}
|
96 |
|
90 |
}
|
91 |
}
|
92 |
|
93 |
+
.tribe-events-calendar-list__event-featured-image-link,
|
94 |
+
.tribe-events-calendar-list__event-featured-image {
|
95 |
display: block;
|
96 |
}
|
97 |
|
src/resources/postcss/views/skeleton/month/_calendar-event.pcss
CHANGED
@@ -27,11 +27,25 @@
|
|
27 |
margin-top: var(--spacer-1);
|
28 |
}
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
.tribe-events-calendar-month__calendar-event-featured-image-wrapper {
|
31 |
margin-bottom: var(--spacer-0);
|
32 |
}
|
33 |
|
34 |
-
.tribe-events-calendar-month__calendar-event-featured-image-link
|
|
|
35 |
display: block;
|
36 |
}
|
37 |
|
@@ -55,10 +69,32 @@
|
|
55 |
}
|
56 |
}
|
57 |
|
58 |
-
.tribe-events-calendar-month__calendar-event-tooltip-featured-image-link
|
|
|
59 |
display: block;
|
60 |
}
|
61 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
.tribe-events-calendar-month__calendar-event-tooltip-description {
|
63 |
margin-bottom: var(--spacer-1);
|
64 |
|
@@ -70,4 +106,27 @@
|
|
70 |
.tribe-events-calendar-month__calendar-event-tooltip-cost {
|
71 |
margin-top: var(--spacer-3);
|
72 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
}
|
27 |
margin-top: var(--spacer-1);
|
28 |
}
|
29 |
|
30 |
+
.tribe-events-calendar-month__calendar-event-datetime-featured-icon,
|
31 |
+
.tribe-events-calendar-month__calendar-event-datetime-recurring-icon {
|
32 |
+
display: inline-block;
|
33 |
+
}
|
34 |
+
|
35 |
+
.tribe-events-calendar-month__calendar-event-datetime-featured-icon {
|
36 |
+
margin-right: var(--spacer-0);
|
37 |
+
}
|
38 |
+
|
39 |
+
.tribe-events-calendar-month__calendar-event-datetime-recurring-icon {
|
40 |
+
margin-left: 2px;
|
41 |
+
}
|
42 |
+
|
43 |
.tribe-events-calendar-month__calendar-event-featured-image-wrapper {
|
44 |
margin-bottom: var(--spacer-0);
|
45 |
}
|
46 |
|
47 |
+
.tribe-events-calendar-month__calendar-event-featured-image-link,
|
48 |
+
.tribe-events-calendar-month__calendar-event-featured-image {
|
49 |
display: block;
|
50 |
}
|
51 |
|
69 |
}
|
70 |
}
|
71 |
|
72 |
+
.tribe-events-calendar-month__calendar-event-tooltip-featured-image-link,
|
73 |
+
.tribe-events-calendar-month__calendar-event-tooltip-featured-image {
|
74 |
display: block;
|
75 |
}
|
76 |
|
77 |
+
.tribe-events-calendar-month__calendar-event-tooltip-datetime {
|
78 |
+
margin-bottom: var(--spacer-0);
|
79 |
+
}
|
80 |
+
|
81 |
+
.tribe-events-calendar-month__calendar-event-tooltip-datetime-featured-icon,
|
82 |
+
.tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-icon {
|
83 |
+
display: inline-block;
|
84 |
+
}
|
85 |
+
|
86 |
+
.tribe-events-calendar-month__calendar-event-tooltip-datetime-featured-icon {
|
87 |
+
margin-right: var(--spacer-0);
|
88 |
+
}
|
89 |
+
|
90 |
+
.tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-icon {
|
91 |
+
margin-left: 2px;
|
92 |
+
}
|
93 |
+
|
94 |
+
.tribe-events-calendar-month__calendar-event-tooltip-title {
|
95 |
+
margin-bottom: var(--spacer-0);
|
96 |
+
}
|
97 |
+
|
98 |
.tribe-events-calendar-month__calendar-event-tooltip-description {
|
99 |
margin-bottom: var(--spacer-1);
|
100 |
|
106 |
.tribe-events-calendar-month__calendar-event-tooltip-cost {
|
107 |
margin-top: var(--spacer-3);
|
108 |
}
|
109 |
+
|
110 |
+
/* -------------------------------------------------------------------------
|
111 |
+
* Theme Overrides - Twenty Nineteen
|
112 |
+
* ------------------------------------------------------------------------- */
|
113 |
+
|
114 |
+
.tribe-theme-twentynineteen &,
|
115 |
+
.tribe-theme-twentynineteen .entry & {
|
116 |
+
|
117 |
+
.tribe-events-calendar-month__calendar-event {
|
118 |
+
margin: var(--spacer-1) 0;
|
119 |
+
padding: 0 var(--spacer-3);
|
120 |
+
position: relative;
|
121 |
+
|
122 |
+
&:first-child {
|
123 |
+
margin-top: 0;
|
124 |
+
}
|
125 |
+
|
126 |
+
&:last-child {
|
127 |
+
margin-bottom: 0;
|
128 |
+
padding-bottom: var(--spacer-3);
|
129 |
+
}
|
130 |
+
}
|
131 |
+
}
|
132 |
}
|
src/resources/postcss/views/skeleton/month/_multiday-event.pcss
CHANGED
@@ -62,6 +62,10 @@
|
|
62 |
z-index: var(--z-index-multiday-event);
|
63 |
}
|
64 |
|
|
|
|
|
|
|
|
|
65 |
.tribe-events-calendar-month__multiday-event-hidden-link {
|
66 |
display: block;
|
67 |
height: 100%;
|
@@ -90,6 +94,7 @@
|
|
90 |
|
91 |
.tribe-events-calendar-month__multiday-event-bar-title {
|
92 |
flex: none;
|
|
|
93 |
overflow: hidden;
|
94 |
white-space: nowrap;
|
95 |
}
|
62 |
z-index: var(--z-index-multiday-event);
|
63 |
}
|
64 |
|
65 |
+
.tribe-events-calendar-month__multiday-event-hidden-title {
|
66 |
+
white-space: nowrap;
|
67 |
+
}
|
68 |
+
|
69 |
.tribe-events-calendar-month__multiday-event-hidden-link {
|
70 |
display: block;
|
71 |
height: 100%;
|
94 |
|
95 |
.tribe-events-calendar-month__multiday-event-bar-title {
|
96 |
flex: none;
|
97 |
+
max-width: 100%;
|
98 |
overflow: hidden;
|
99 |
white-space: nowrap;
|
100 |
}
|
src/views/v2/base.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Base View
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Base View
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/base.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/after.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Component: After Events
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* Component: After Events
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/after.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/before.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Component: Before Events
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* Component: Before Events
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/before.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/breadcrumbs.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Breadcrumbs
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Breadcrumbs
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/breadcrumbs.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/breadcrumbs/breadcrumb.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Linked Breadcrumb
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Linked Breadcrumb
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/breadcrumbs/breadcrumb.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/breadcrumbs/linked-breadcrumb.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Linked Breadcrumb
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Linked Breadcrumb
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/breadcrumbs/linked-breadcrumb.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/data.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Events Data Object.
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Events Data Object.
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/data.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/events-bar.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Events Bar
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Events Bar
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/events-bar.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/events-bar/filters.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Events Bar Filters
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Events Bar Filters
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/events-bar/filters.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/events-bar/search-button.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Events Bar Search Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Events Bar Search Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/events-bar/search-button.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/events-bar/search-button/icon.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Events Bar Search Button Icon
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Events Bar Search Button Icon
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/events-bar/search-button/icon.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/events-bar/search.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Events Bar Search
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Events Bar Search
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/events-bar/search.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/events-bar/search/keyword.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Events Bar Search Keyword Input
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Events Bar Search Keyword Input
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/events-bar/search/keyword.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/events-bar/search/submit.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Events Bar Search Submit Input
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Events Bar Search Submit Input
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/events-bar/search/submit.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/events-bar/tabs.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Events Bar Mobile Tabs
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Events Bar Mobile Tabs
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/events-bar/tabs.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/events-bar/views.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Events Bar Views
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Events Bar Views
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/events-bar/views.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/events-bar/views/list.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Events Bar Views List
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Events Bar Views List
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/events-bar/views/list.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/events-bar/views/list/item.php
CHANGED
@@ -3,25 +3,38 @@
|
|
3 |
* View: Events Bar Views List Item
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
|
|
|
|
|
|
|
|
12 |
* @version 4.9.10
|
13 |
*/
|
|
|
14 |
use Tribe\Events\Views\V2\View;
|
|
|
15 |
|
16 |
// Bail on invalid name of class
|
17 |
if ( ! $this->get( 'view_class_name' ) ) {
|
18 |
return;
|
19 |
}
|
20 |
|
21 |
-
$view_instance
|
22 |
-
$view_slug
|
23 |
$is_current_view = $view->get_slug() === $view_instance->get_slug();
|
24 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
|
26 |
$list_item_classes = [ 'tribe-events-c-view-selector__list-item', "tribe-events-c-view-selector__list-item--$view_slug" ];
|
27 |
if ( $is_current_view ) {
|
3 |
* View: Events Bar Views List Item
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/events-bar/views/list/item.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
+
* @var View_Interface $view The View that is currently rendering.
|
13 |
+
* @var string $url_event_date The value, `Y-m-d` format, of the `eventDate` request variable to append to the
|
14 |
+
* view URL, if any.
|
15 |
+
*
|
16 |
* @version 4.9.10
|
17 |
*/
|
18 |
+
|
19 |
use Tribe\Events\Views\V2\View;
|
20 |
+
use Tribe\Events\Views\V2\View_Interface;
|
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 ) {
|
src/views/v2/components/filter-bar.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Filter Bar
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Filter Bar
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/filter-bar.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/ical-link.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Component: iCal Link
|
4 |
+
*
|
5 |
+
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/ical-link.php
|
7 |
+
*
|
8 |
+
* See more documentation about our views templating system.
|
9 |
+
*
|
10 |
+
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
+
*
|
12 |
+
* @version 4.9.13
|
13 |
+
*
|
14 |
+
* @var object $ical Object containing iCal data
|
15 |
+
*/
|
16 |
+
|
17 |
+
if ( empty( $ical->display_link ) ) {
|
18 |
+
return;
|
19 |
+
}
|
20 |
+
|
21 |
+
?>
|
22 |
+
<div class="tribe-events-c-ical tribe-common-b1">
|
23 |
+
<a
|
24 |
+
class="tribe-events-c-ical__link tribe-common-anchor-alt"
|
25 |
+
title="<?php echo esc_attr( $ical->link->title ); ?>"
|
26 |
+
href="<?php echo esc_url( $ical->link->url ); ?>"
|
27 |
+
><?php echo esc_html( $ical->link->text ); ?></a>
|
28 |
+
</div>
|
29 |
+
|
src/views/v2/components/loader.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Loader
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Loader
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/loader.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/messages.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Messages
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Messages
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/messaging.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/read-more.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Read More
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
@@ -11,9 +11,7 @@
|
|
11 |
*
|
12 |
* @version 4.9.11
|
13 |
*
|
14 |
-
* @var WP_Post $event The event post object with
|
15 |
-
*
|
16 |
-
* @see tribe_get_event() For the format of the event object.
|
17 |
*/
|
18 |
?>
|
19 |
<span class="tribe-events-c-read-more-hellip"> … </span>
|
3 |
* View: Read More
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/read-more.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
11 |
*
|
12 |
* @version 4.9.11
|
13 |
*
|
14 |
+
* @var WP_Post $event The event post object, with an added `permalink` property.
|
|
|
|
|
15 |
*/
|
16 |
?>
|
17 |
<span class="tribe-events-c-read-more-hellip"> … </span>
|
src/views/v2/components/top-bar/actions.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Top Bar - Actions
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Top Bar - Actions
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/top-bar/actions.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/top-bar/actions/content.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Top Bar Actions Content
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Top Bar Actions Content
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/top-bar/actions/content.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/top-bar/datepicker/submit.php
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* View: Top Bar - Datepicker Submit
|
4 |
+
*
|
5 |
+
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/top-bar/datepicker/submit.php
|
7 |
+
*
|
8 |
+
* See more documentation about our views templating system.
|
9 |
+
*
|
10 |
+
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
+
*
|
12 |
+
* @version 4.9.13
|
13 |
+
*
|
14 |
+
* @var bool $show_datepicker_submit Boolean on whether to show the datepicker submit button.
|
15 |
+
*
|
16 |
+
*/
|
17 |
+
|
18 |
+
if ( empty( $show_datepicker_submit ) ) {
|
19 |
+
return;
|
20 |
+
}
|
21 |
+
?>
|
22 |
+
<button
|
23 |
+
class="tribe-common-c-btn tribe-common-a11y-hidden tribe-events-c-top-bar__datepicker-submit"
|
24 |
+
type="submit"
|
25 |
+
name="submit-bar"
|
26 |
+
>
|
27 |
+
<?php printf( esc_html__( 'Find %s', 'the-events-calendar' ), tribe_get_event_label_plural() ); ?>
|
28 |
+
</button>
|
src/views/v2/components/top-bar/nav.php
CHANGED
@@ -3,17 +3,19 @@
|
|
3 |
* View: Top Bar - Navigation
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
-
* @version 4.9.
|
13 |
*
|
|
|
|
|
14 |
*/
|
15 |
?>
|
16 |
-
<nav class="tribe-events-c-top-bar__nav">
|
17 |
<ul class="tribe-events-c-top-bar__nav-list">
|
18 |
<?php
|
19 |
if ( ! empty( $prev_url ) ) {
|
3 |
* View: Top Bar - Navigation
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/top-bar/nav.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
+
* @version 4.9.13
|
13 |
*
|
14 |
+
* @var string $prev_url The URL to the previous page, if any, or an empty string.
|
15 |
+
* @var string $next_url The URL to the next page, if any, or an empty string.
|
16 |
*/
|
17 |
?>
|
18 |
+
<nav class="tribe-events-c-top-bar__nav tribe-common-a11y-hidden">
|
19 |
<ul class="tribe-events-c-top-bar__nav-list">
|
20 |
<?php
|
21 |
if ( ! empty( $prev_url ) ) {
|
src/views/v2/components/top-bar/nav/next-disabled.php
CHANGED
@@ -3,15 +3,13 @@
|
|
3 |
* View: Top Bar Navigation Next Disabled Template
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
-
* @
|
13 |
-
*
|
14 |
-
* @version 4.9.10
|
15 |
*
|
16 |
*/
|
17 |
?>
|
3 |
* View: Top Bar Navigation Next Disabled Template
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/top-bar/nav/next-disabled.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
+
* @version 4.9.13
|
|
|
|
|
13 |
*
|
14 |
*/
|
15 |
?>
|
src/views/v2/components/top-bar/nav/next.php
CHANGED
@@ -3,15 +3,15 @@
|
|
3 |
* View: Top Bar Navigation Next Template
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
-
* @var string $link The URL to the
|
13 |
*
|
14 |
-
* @version 4.9.
|
15 |
*
|
16 |
*/
|
17 |
?>
|
3 |
* View: Top Bar Navigation Next Template
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/top-bar/nav/next.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
+
* @var string $link The URL to the next page, if any, or an empty string.
|
13 |
*
|
14 |
+
* @version 4.9.13
|
15 |
*
|
16 |
*/
|
17 |
?>
|
src/views/v2/components/top-bar/nav/prev-disabled.php
CHANGED
@@ -3,15 +3,13 @@
|
|
3 |
* View: Top Bar Navigation Previous Disabled Template
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
-
* @
|
13 |
-
*
|
14 |
-
* @version 4.9.10
|
15 |
*
|
16 |
*/
|
17 |
?>
|
3 |
* View: Top Bar Navigation Previous Disabled Template
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/top-bar/nav/prev-disabled.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
+
* @version 4.9.13
|
|
|
|
|
13 |
*
|
14 |
*/
|
15 |
?>
|
src/views/v2/components/top-bar/nav/prev.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Top Bar Navigation Previous Template
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Top Bar Navigation Previous Template
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/top-bar/nav/prev.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/components/top-bar/today.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Top Bar - Today
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
@@ -11,12 +11,12 @@
|
|
11 |
*
|
12 |
* @var string $today_url The URL to the today page.
|
13 |
*
|
14 |
-
* @version 4.9.
|
15 |
*/
|
16 |
?>
|
17 |
<a
|
18 |
href="<?php echo esc_url( $today_url ); ?>"
|
19 |
-
class="tribe-common-c-btn-border tribe-events-c-top-bar__today-button"
|
20 |
data-js="tribe-events-view-link"
|
21 |
>
|
22 |
<?php esc_html_e( 'Today', 'the-events-calendar' ); ?>
|
3 |
* View: Top Bar - Today
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/components/top-bar/today.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
11 |
*
|
12 |
* @var string $today_url The URL to the today page.
|
13 |
*
|
14 |
+
* @version 4.9.13
|
15 |
*/
|
16 |
?>
|
17 |
<a
|
18 |
href="<?php echo esc_url( $today_url ); ?>"
|
19 |
+
class="tribe-common-c-btn-border tribe-events-c-top-bar__today-button tribe-common-a11y-hidden"
|
20 |
data-js="tribe-events-view-link"
|
21 |
>
|
22 |
<?php esc_html_e( 'Today', 'the-events-calendar' ); ?>
|
src/views/v2/day.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Day View
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
@@ -11,19 +11,21 @@
|
|
11 |
*
|
12 |
* @version 4.9.11
|
13 |
*
|
14 |
-
* @var array
|
15 |
-
* @var string
|
16 |
-
* @var string
|
17 |
-
* @var bool
|
|
|
18 |
*/
|
19 |
|
20 |
$header_classes = [ 'tribe-events-header' ];
|
21 |
if ( empty( $disable_event_search ) ) {
|
22 |
$header_classes[] = 'tribe-events-header--has-event-search';
|
23 |
}
|
|
|
24 |
?>
|
25 |
<div
|
26 |
-
|
27 |
data-js="tribe-events-view"
|
28 |
data-view-rest-nonce="<?php echo esc_attr( $rest_nonce ); ?>"
|
29 |
data-view-rest-url="<?php echo esc_url( $rest_url ); ?>"
|
@@ -51,6 +53,7 @@ if ( empty( $disable_event_search ) ) {
|
|
51 |
<div class="tribe-events-calendar-day">
|
52 |
|
53 |
<?php foreach ( $events as $event ) : ?>
|
|
|
54 |
|
55 |
<?php $this->template( 'day/type-separator', [ 'event' => $event ] ); ?>
|
56 |
<?php $this->template( 'day/time-separator', [ 'event' => $event ] ); ?>
|
@@ -62,6 +65,8 @@ if ( empty( $disable_event_search ) ) {
|
|
62 |
|
63 |
<?php $this->template( 'day/nav' ); ?>
|
64 |
|
|
|
|
|
65 |
<?php $this->template( 'components/after' ); ?>
|
66 |
|
67 |
</div>
|
3 |
* View: Day View
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/day.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
11 |
*
|
12 |
* @version 4.9.11
|
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' ];
|
22 |
if ( empty( $disable_event_search ) ) {
|
23 |
$header_classes[] = 'tribe-events-header--has-event-search';
|
24 |
}
|
25 |
+
|
26 |
?>
|
27 |
<div
|
28 |
+
<?php tribe_classes( $container_classes ); ?>
|
29 |
data-js="tribe-events-view"
|
30 |
data-view-rest-nonce="<?php echo esc_attr( $rest_nonce ); ?>"
|
31 |
data-view-rest-url="<?php echo esc_url( $rest_url ); ?>"
|
53 |
<div class="tribe-events-calendar-day">
|
54 |
|
55 |
<?php foreach ( $events as $event ) : ?>
|
56 |
+
<?php $this->setup_postdata( $event ); ?>
|
57 |
|
58 |
<?php $this->template( 'day/type-separator', [ 'event' => $event ] ); ?>
|
59 |
<?php $this->template( 'day/time-separator', [ 'event' => $event ] ); ?>
|
65 |
|
66 |
<?php $this->template( 'day/nav' ); ?>
|
67 |
|
68 |
+
<?php $this->template( 'components/ical-link' ); ?>
|
69 |
+
|
70 |
<?php $this->template( 'components/after' ); ?>
|
71 |
|
72 |
</div>
|
src/views/v2/day/event.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Day Event
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Day Event
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/day/event.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/day/event/cost.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Day Single Event Cost
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Day Single Event Cost
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/day/event/cost.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/day/event/date.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Day View - Single Event Date
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Day View - Single Event Date
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/day/event/date.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/day/event/date/meta.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Day View - Single Event Meta
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Day View - Single Event Meta
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/day/event/date/meta.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/day/event/description.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Day Single Event Description
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
@@ -16,10 +16,10 @@
|
|
16 |
* @see tribe_get_event() For the format of the event object.
|
17 |
*/
|
18 |
|
19 |
-
if ( empty( $event->excerpt ) ) {
|
20 |
return;
|
21 |
}
|
22 |
?>
|
23 |
<div class="tribe-events-calendar-day__event-description tribe-common-b2">
|
24 |
-
<?php echo $event->excerpt; ?>
|
25 |
</div>
|
3 |
* View: Day Single Event Description
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/day/event/description.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
16 |
* @see tribe_get_event() For the format of the event object.
|
17 |
*/
|
18 |
|
19 |
+
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>
|
src/views/v2/day/event/featured-image.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Day View - Single Event Featured Image
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Day View - Single Event Featured Image
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/day/event/featured-image.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/day/event/title.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Day View - Single Event Title
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
@@ -16,7 +16,7 @@
|
|
16 |
* @see tribe_get_event() For the format of the event object.
|
17 |
*/
|
18 |
?>
|
19 |
-
<h3 class="tribe-events-calendar-day__event-title tribe-common-h6 tribe-common-
|
20 |
<a
|
21 |
href="<?php echo esc_url( $event->permalink ); ?>"
|
22 |
title="<?php echo esc_attr( get_the_title( $event->ID ) ); ?>"
|
3 |
* View: Day View - Single Event Title
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/day/event/title.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
16 |
* @see tribe_get_event() For the format of the event object.
|
17 |
*/
|
18 |
?>
|
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( get_the_title( $event->ID ) ); ?>"
|
src/views/v2/day/event/venue.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Day Single Event Venue
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Day Single Event Venue
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/day/event/venue.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/day/nav.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Day View Nav Template
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Day View Nav Template
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/day/nav.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/day/nav/next-disabled.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Day View Nav Disabled Next Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Day View Nav Disabled Next Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/day/nav/next-disabled.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/day/nav/next.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Day View Nav Next Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Day View Nav Next Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/day/nav/next.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/day/nav/prev-disabled.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Day View Nav Disabled Previous Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Day View Nav Disabled Previous Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/day/nav/prev-disabled.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/day/nav/prev.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Day View Nav Previous Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Day View Nav Previous Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/day/nav/prev.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/day/time-separator.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Day View Time separator
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
@@ -22,17 +22,17 @@ if ( ! $should_have_time_separator || ! empty( $event->timeslot ) ) {
|
|
22 |
return;
|
23 |
}
|
24 |
|
25 |
-
$
|
26 |
-
$event_start_hour = strtotime( date_i18n( 'Y-m-d H:00:00', $event_start_datetime ) );
|
27 |
|
28 |
// Format to WP format
|
29 |
$separator_text = date_i18n( tribe_get_time_format(), $event_start_hour );
|
|
|
30 |
|
31 |
?>
|
32 |
<div class="tribe-events-calendar-day__time-separator">
|
33 |
<time
|
34 |
class="tribe-events-calendar-day__time-separator-text tribe-common-h7 tribe-common-h6--min-medium tribe-common-h--alt"
|
35 |
-
datetime="<?php echo esc_attr( $
|
36 |
>
|
37 |
<?php echo esc_html( $separator_text ); ?>
|
38 |
</time>
|
3 |
* View: Day View Time separator
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/day/time-separator.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
22 |
return;
|
23 |
}
|
24 |
|
25 |
+
$event_start_hour = strtotime( Dates::round_nearest_half_hour( $event->dates->start->format( Dates::DBDATETIMEFORMAT ) ) );
|
|
|
26 |
|
27 |
// Format to WP format
|
28 |
$separator_text = date_i18n( tribe_get_time_format(), $event_start_hour );
|
29 |
+
$time_attribute = date_i18n( 'H:i', $event_start_hour );
|
30 |
|
31 |
?>
|
32 |
<div class="tribe-events-calendar-day__time-separator">
|
33 |
<time
|
34 |
class="tribe-events-calendar-day__time-separator-text tribe-common-h7 tribe-common-h6--min-medium tribe-common-h--alt"
|
35 |
+
datetime="<?php echo esc_attr( $time_attribute ); ?>"
|
36 |
>
|
37 |
<?php echo esc_html( $separator_text ); ?>
|
38 |
</time>
|
src/views/v2/day/top-bar.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Top Bar
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Top Bar
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/day/top-bar.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/day/top-bar/datepicker.php
CHANGED
@@ -3,16 +3,17 @@
|
|
3 |
* View: Top Bar - Date Picker
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
-
* @version 4.9.
|
13 |
*
|
14 |
-
* @var string $now
|
15 |
-
* @var
|
|
|
16 |
*/
|
17 |
use Tribe__Date_Utils as Dates;
|
18 |
|
@@ -27,33 +28,49 @@ $selected_date_label = date_i18n( tribe_get_date_format( true ), $selected_datet
|
|
27 |
|
28 |
$datepicker_date = Dates::build_date_object( $selected_date_value )->format( $date_formats->compact );
|
29 |
?>
|
30 |
-
|
31 |
-
<
|
32 |
-
class="tribe-
|
33 |
-
|
|
|
34 |
>
|
35 |
-
|
36 |
-
|
37 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
>
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
* View: Top Bar - Date Picker
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/day/top-bar/datepicker.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
+
* @version 4.9.13
|
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.
|
16 |
+
* @var bool $show_datepicker_submit Boolean on whether to show the datepicker submit button.
|
17 |
*/
|
18 |
use Tribe__Date_Utils as Dates;
|
19 |
|
28 |
|
29 |
$datepicker_date = Dates::build_date_object( $selected_date_value )->format( $date_formats->compact );
|
30 |
?>
|
31 |
+
<?php if ( $show_datepicker_submit ) : ?>
|
32 |
+
<form
|
33 |
+
class="tribe-events-c-top-bar__datepicker-form"
|
34 |
+
method="get"
|
35 |
+
data-js="tribe-events-view-form"
|
36 |
>
|
37 |
+
<?php wp_nonce_field( 'wp_rest', 'tribe-events-views[_wpnonce]' ); ?>
|
38 |
+
<input type="hidden" name="tribe-events-views[url]" value="<?php echo esc_url( $this->get( 'url' ) ); ?>" />
|
39 |
+
<?php endif; ?>
|
40 |
+
|
41 |
+
<div class="tribe-events-c-top-bar__datepicker">
|
42 |
+
<button
|
43 |
+
class="tribe-common-h3 tribe-common-h--alt tribe-events-c-top-bar__datepicker-button"
|
44 |
+
data-js="tribe-events-top-bar-datepicker-button"
|
45 |
+
type="button"
|
46 |
>
|
47 |
+
<time
|
48 |
+
datetime="<?php echo esc_attr( date( 'Y-m-d', $selected_datetime ) ); ?>"
|
49 |
+
class="tribe-events-c-top-bar__datepicker-time"
|
50 |
+
>
|
51 |
+
<?php echo esc_html( $selected_date_label ); ?>
|
52 |
+
</time>
|
53 |
+
</button>
|
54 |
+
<label
|
55 |
+
class="tribe-events-c-top-bar__datepicker-label tribe-common-a11y-visual-hide"
|
56 |
+
for="tribe-events-top-bar-date"
|
57 |
+
>
|
58 |
+
<?php esc_html_e( 'Select date.', 'the-events-calendar' ); ?>
|
59 |
+
</label>
|
60 |
+
<input
|
61 |
+
type="text"
|
62 |
+
class="tribe-events-c-top-bar__datepicker-input tribe-common-a11y-visual-hide"
|
63 |
+
data-js="tribe-events-top-bar-date"
|
64 |
+
id="tribe-events-top-bar-date"
|
65 |
+
name="tribe-events-views[tribe-bar-date]"
|
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>
|
72 |
+
|
73 |
+
<?php if ( $show_datepicker_submit ) : ?>
|
74 |
+
<?php $this->template( 'components/top-bar/datepicker/submit' ); ?>
|
75 |
+
</form>
|
76 |
+
<?php endif; ?>
|
src/views/v2/day/type-separator.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Day View Type separator
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Day View Type separator
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/day/type-separator.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/list.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: List View
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
@@ -11,11 +11,12 @@
|
|
11 |
*
|
12 |
* @version 4.9.11
|
13 |
*
|
14 |
-
* @var array
|
15 |
-
* @var string
|
16 |
-
* @var string
|
17 |
-
* @var int
|
18 |
-
* @var bool
|
|
|
19 |
*/
|
20 |
|
21 |
$header_classes = [ 'tribe-events-header' ];
|
@@ -24,7 +25,7 @@ if ( empty( $disable_event_search ) ) {
|
|
24 |
}
|
25 |
?>
|
26 |
<div
|
27 |
-
|
28 |
data-js="tribe-events-view"
|
29 |
data-view-rest-nonce="<?php echo esc_attr( $rest_nonce ); ?>"
|
30 |
data-view-rest-url="<?php echo esc_url( $rest_url ); ?>"
|
@@ -52,6 +53,7 @@ if ( empty( $disable_event_search ) ) {
|
|
52 |
<div class="tribe-events-calendar-list">
|
53 |
|
54 |
<?php foreach ( $events as $event ) : ?>
|
|
|
55 |
|
56 |
<?php $this->template( 'list/month-separator', [ 'event' => $event ] ); ?>
|
57 |
|
@@ -63,6 +65,8 @@ if ( empty( $disable_event_search ) ) {
|
|
63 |
|
64 |
<?php $this->template( 'list/nav' ); ?>
|
65 |
|
|
|
|
|
66 |
<?php $this->template( 'components/after' ); ?>
|
67 |
|
68 |
</div>
|
3 |
* View: List View
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/list.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
11 |
*
|
12 |
* @version 4.9.11
|
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 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' ];
|
25 |
}
|
26 |
?>
|
27 |
<div
|
28 |
+
<?php tribe_classes( $container_classes ); ?>
|
29 |
data-js="tribe-events-view"
|
30 |
data-view-rest-nonce="<?php echo esc_attr( $rest_nonce ); ?>"
|
31 |
data-view-rest-url="<?php echo esc_url( $rest_url ); ?>"
|
53 |
<div class="tribe-events-calendar-list">
|
54 |
|
55 |
<?php foreach ( $events as $event ) : ?>
|
56 |
+
<?php $this->setup_postdata( $event ); ?>
|
57 |
|
58 |
<?php $this->template( 'list/month-separator', [ 'event' => $event ] ); ?>
|
59 |
|
65 |
|
66 |
<?php $this->template( 'list/nav' ); ?>
|
67 |
|
68 |
+
<?php $this->template( 'components/ical-link' ); ?>
|
69 |
+
|
70 |
<?php $this->template( 'components/after' ); ?>
|
71 |
|
72 |
</div>
|
src/views/v2/list/event.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: List Event
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
@@ -17,7 +17,7 @@
|
|
17 |
*/
|
18 |
|
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 = get_post_class( [ 'tribe-events-calendar-list__event', 'tribe-common-g-row', 'tribe-common-g-row--gutters' ], $event->ID );
|
23 |
?>
|
3 |
* View: List Event
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/list/event.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
17 |
*/
|
18 |
|
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 = get_post_class( [ 'tribe-events-calendar-list__event', 'tribe-common-g-row', 'tribe-common-g-row--gutters' ], $event->ID );
|
23 |
?>
|
src/views/v2/list/event/cost.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: List Single Event Cost
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: List Single Event Cost
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/list/event/cost.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/list/event/date-tag.php
CHANGED
@@ -3,24 +3,35 @@
|
|
3 |
* View: List View - Single Event Date Tag
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
-
* @version 4.9.
|
13 |
*
|
14 |
-
* @var WP_Post
|
|
|
|
|
|
|
15 |
*
|
16 |
* @see tribe_get_event() For the format of the event object.
|
17 |
*/
|
18 |
|
19 |
use Tribe__Date_Utils as Dates;
|
20 |
|
21 |
-
|
22 |
-
|
23 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
?>
|
25 |
<div class="tribe-events-calendar-list__event-date-tag tribe-common-g-col">
|
26 |
<time class="tribe-events-calendar-list__event-date-tag-datetime" datetime="<?php echo esc_attr( $event_date_attr ); ?>">
|
3 |
* View: List View - Single Event Date Tag
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/list/event/date-tag.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
+
* @version 4.9.13
|
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
|
16 |
+
* date, or the user input date.
|
17 |
+
* @var bool $is_past Whether the current display mode is "past" or not.
|
18 |
*
|
19 |
* @see tribe_get_event() For the format of the event object.
|
20 |
*/
|
21 |
|
22 |
use Tribe__Date_Utils as Dates;
|
23 |
|
24 |
+
/*
|
25 |
+
* If the request date is after the event start date, show the request date to avoid users from seeing dates "in the
|
26 |
+
* past" in relation to the date they requested (or today's date).
|
27 |
+
*/
|
28 |
+
$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->format( 'D' );
|
33 |
+
$event_day_num = $display_date->format( '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">
|
37 |
<time class="tribe-events-calendar-list__event-date-tag-datetime" datetime="<?php echo esc_attr( $event_date_attr ); ?>">
|
src/views/v2/list/event/date.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: List View - Single Event Date
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: List View - Single Event Date
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/list/event/date.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/list/event/date/meta.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: List View - Single Event Meta
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: List View - Single Event Meta
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/list/event/date/meta.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/list/event/description.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: List Single Event Description
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
@@ -16,10 +16,10 @@
|
|
16 |
* @see tribe_get_event() For the format of the event object.
|
17 |
*/
|
18 |
|
19 |
-
if ( empty( $event->excerpt ) ) {
|
20 |
return;
|
21 |
}
|
22 |
?>
|
23 |
<div class="tribe-events-calendar-list__event-description tribe-common-b2">
|
24 |
-
<?php echo $event->excerpt; ?>
|
25 |
</div>
|
3 |
* View: List Single Event Description
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/list/event/description.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
16 |
* @see tribe_get_event() For the format of the event object.
|
17 |
*/
|
18 |
|
19 |
+
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>
|
src/views/v2/list/event/featured-image.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: List View - Single Event Featured Image
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: List View - Single Event Featured Image
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/list/event/featured-image.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/list/event/title.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: List View - Single Event Title
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
@@ -16,7 +16,7 @@
|
|
16 |
* @see tribe_get_event() For the format of the event object.
|
17 |
*/
|
18 |
?>
|
19 |
-
<h3 class="tribe-events-calendar-list__event-title tribe-common-h6 tribe-common-
|
20 |
<a
|
21 |
href="<?php echo esc_url( $event->permalink ); ?>"
|
22 |
title="<?php echo esc_attr( get_the_title( $event->ID ) ); ?>"
|
3 |
* View: List View - Single Event Title
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/list/event/title.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
16 |
* @see tribe_get_event() For the format of the event object.
|
17 |
*/
|
18 |
?>
|
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( get_the_title( $event->ID ) ); ?>"
|
src/views/v2/list/event/venue.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: List Single Event Venue
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: List Single Event Venue
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/list/event/venue.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/list/month-separator.php
CHANGED
@@ -3,33 +3,49 @@
|
|
3 |
* View: List View Month separator
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
-
* @version 4.9.
|
13 |
*
|
14 |
-
* @var WP_Post
|
|
|
|
|
|
|
15 |
*
|
16 |
* @see tribe_get_event() For the format of the event object.
|
17 |
*/
|
18 |
|
19 |
use Tribe\Events\Views\V2\Utils;
|
20 |
|
21 |
-
|
|
|
|
|
|
|
|
|
22 |
|
23 |
if ( ! $should_have_month_separator ) {
|
24 |
return;
|
25 |
}
|
26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
?>
|
28 |
<div class="tribe-events-calendar-list__month-separator">
|
29 |
<time
|
30 |
class="tribe-events-calendar-list__month-separator-text tribe-common-h7 tribe-common-h6--min-medium tribe-common-h--alt"
|
31 |
-
datetime="<?php
|
|
|
32 |
>
|
33 |
-
<?php echo esc_html( $
|
34 |
</time>
|
35 |
</div>
|
3 |
* View: List View Month separator
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/list/month-separator.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
+
* @version 4.9.13
|
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
|
16 |
+
* date, or the user input date.
|
17 |
+
* @var bool $is_past Whether the current display mode is "past" or not.
|
18 |
*
|
19 |
* @see tribe_get_event() For the format of the event object.
|
20 |
*/
|
21 |
|
22 |
use Tribe\Events\Views\V2\Utils;
|
23 |
|
24 |
+
if ( empty( $is_past ) && ! empty ( $request_date ) ) {
|
25 |
+
$should_have_month_separator = Utils\Separators::should_have_month( $this->get( 'events' ), $event, $request_date );
|
26 |
+
} else {
|
27 |
+
$should_have_month_separator = Utils\Separators::should_have_month( $this->get( 'events' ), $event );
|
28 |
+
}
|
29 |
|
30 |
if ( ! $should_have_month_separator ) {
|
31 |
return;
|
32 |
}
|
33 |
|
34 |
+
/*
|
35 |
+
* Depending on the request date we show the later date between the real event start date and the request date.
|
36 |
+
* This avoids users from seeing results "in the past" in relation to an input date or "today".
|
37 |
+
* This does not apply to past events.
|
38 |
+
*/
|
39 |
+
$sep_date = empty( $is_past ) && ! empty( $request_date )
|
40 |
+
? max( $event->dates->start_display, $request_date )
|
41 |
+
: $event->dates->start_display;
|
42 |
?>
|
43 |
<div class="tribe-events-calendar-list__month-separator">
|
44 |
<time
|
45 |
class="tribe-events-calendar-list__month-separator-text tribe-common-h7 tribe-common-h6--min-medium tribe-common-h--alt"
|
46 |
+
datetime="<?php
|
47 |
+
echo esc_attr( $sep_date->format( 'Y-m' ) ); ?>"
|
48 |
>
|
49 |
+
<?php echo esc_html( $sep_date->format( 'F Y' ) ); ?>
|
50 |
</time>
|
51 |
</div>
|
src/views/v2/list/nav.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: List View Nav Template
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: List View Nav Template
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/list/nav.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/list/nav/next-disabled.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: List View Nav Disabled Next Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: List View Nav Disabled Next Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/list/nav/next-disabled.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/list/nav/next.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: List View Nav Next Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: List View Nav Next Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/list/nav/next.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/list/nav/prev-disabled.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: List View Nav Disabled Previous Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: List View Nav Disabled Previous Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/list/nav/prev-disabled.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/list/nav/prev.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: List View Nav Previous Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: List View Nav Previous Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/list/nav/prev.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/list/nav/today.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: List View Nav Today Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: List View Nav Today Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/list/nav/today.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/list/top-bar.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Top Bar
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Top Bar
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/list/top-bar.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/list/top-bar/datepicker.php
CHANGED
@@ -3,13 +3,13 @@
|
|
3 |
* View: Top Bar - Date Picker
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
-
* @version 4.9.
|
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.
|
@@ -22,59 +22,76 @@
|
|
22 |
* @var string $selected_end_date_mobile The formatted date that will show in the datepicker mobile version.
|
23 |
* @var string $selected_end_date_label The label of the datepicker interval end.
|
24 |
* @var string $datepicker_date The datepicker selected date, in the `Y-m-d` format.
|
|
|
25 |
*/
|
26 |
|
27 |
?>
|
28 |
-
|
29 |
-
<
|
30 |
-
class="tribe-
|
31 |
-
|
|
|
32 |
>
|
33 |
-
<?php
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
</
|
57 |
-
|
58 |
-
|
59 |
-
</span>
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
* View: Top Bar - Date Picker
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/list/top-bar/datepicker.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
+
* @version 4.9.13
|
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.
|
22 |
* @var string $selected_end_date_mobile The formatted date that will show in the datepicker mobile version.
|
23 |
* @var string $selected_end_date_label The label of the datepicker interval end.
|
24 |
* @var string $datepicker_date The datepicker selected date, in the `Y-m-d` format.
|
25 |
+
* @var bool $show_datepicker_submit Boolean on whether to show the datepicker submit button.
|
26 |
*/
|
27 |
|
28 |
?>
|
29 |
+
<?php if ( $show_datepicker_submit ) : ?>
|
30 |
+
<form
|
31 |
+
class="tribe-events-c-top-bar__datepicker-form"
|
32 |
+
method="get"
|
33 |
+
data-js="tribe-events-view-form"
|
34 |
>
|
35 |
+
<?php wp_nonce_field( 'wp_rest', 'tribe-events-views[_wpnonce]' ); ?>
|
36 |
+
<input type="hidden" name="tribe-events-views[url]" value="<?php echo esc_url( $this->get( 'url' ) ); ?>" />
|
37 |
+
<?php endif; ?>
|
38 |
+
|
39 |
+
<div class="tribe-events-c-top-bar__datepicker">
|
40 |
+
<button
|
41 |
+
class="tribe-common-h3 tribe-common-h--alt tribe-events-c-top-bar__datepicker-button"
|
42 |
+
data-js="tribe-events-top-bar-datepicker-button"
|
43 |
+
type="button"
|
44 |
+
>
|
45 |
+
<?php if ( $show_now ) : ?>
|
46 |
+
<?php echo esc_html( $now_label ); ?>
|
47 |
+
<?php else : ?>
|
48 |
+
<time
|
49 |
+
datetime="<?php echo esc_attr( $selected_start_datetime ); ?>"
|
50 |
+
class="tribe-events-c-top-bar__datepicker-time"
|
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 |
+
</time>
|
59 |
+
<?php endif; ?>
|
60 |
+
<?php if ( $show_end ) : ?>
|
61 |
+
<span class="tribe-events-c-top-bar__datepicker-separator"> - </span>
|
62 |
+
<time
|
63 |
+
datetime="<?php echo esc_attr( $selected_end_datetime ); ?>"
|
64 |
+
class="tribe-events-c-top-bar__datepicker-time"
|
65 |
+
>
|
66 |
+
<span class="tribe-events-c-top-bar__datepicker-mobile">
|
67 |
+
<?php echo esc_html( $selected_end_date_mobile ); ?>
|
68 |
+
</span>
|
69 |
+
<span class="tribe-events-c-top-bar__datepicker-desktop tribe-common-a11y-hidden">
|
70 |
+
<?php echo esc_html( $selected_end_date_label ); ?>
|
71 |
+
</span>
|
72 |
+
</time>
|
73 |
+
<?php endif; ?>
|
74 |
+
</button>
|
75 |
+
<label
|
76 |
+
class="tribe-events-c-top-bar__datepicker-label tribe-common-a11y-visual-hide"
|
77 |
+
for="tribe-events-top-bar-date"
|
78 |
+
>
|
79 |
+
<?php esc_html_e( 'Select date.', 'the-events-calendar' ); ?>
|
80 |
+
</label>
|
81 |
+
<input
|
82 |
+
type="text"
|
83 |
+
class="tribe-events-c-top-bar__datepicker-input tribe-common-a11y-visual-hide"
|
84 |
+
data-js="tribe-events-top-bar-date"
|
85 |
+
id="tribe-events-top-bar-date"
|
86 |
+
name="tribe-events-views[tribe-bar-date]"
|
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>
|
93 |
+
|
94 |
+
<?php if ( $show_datepicker_submit ) : ?>
|
95 |
+
<?php $this->template( 'components/top-bar/datepicker/submit' ); ?>
|
96 |
+
</form>
|
97 |
+
<?php endif; ?>
|
src/views/v2/month.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
@@ -11,10 +11,11 @@
|
|
11 |
*
|
12 |
* @version 4.9.11
|
13 |
*
|
14 |
-
* @var string
|
15 |
-
* @var string
|
16 |
-
* @var int
|
17 |
-
* @var bool
|
|
|
18 |
*/
|
19 |
|
20 |
$header_classes = [ 'tribe-events-header' ];
|
@@ -23,7 +24,7 @@ if ( empty( $disable_event_search ) ) {
|
|
23 |
}
|
24 |
?>
|
25 |
<div
|
26 |
-
|
27 |
data-js="tribe-events-view"
|
28 |
data-view-rest-nonce="<?php echo esc_attr( $rest_nonce ); ?>"
|
29 |
data-view-rest-url="<?php echo esc_url( $rest_url ); ?>"
|
@@ -64,6 +65,8 @@ if ( empty( $disable_event_search ) ) {
|
|
64 |
|
65 |
<?php $this->template( 'month/mobile-events' ); ?>
|
66 |
|
|
|
|
|
67 |
<?php $this->template( 'components/after' ); ?>
|
68 |
|
69 |
</div>
|
3 |
* View: Month View
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
11 |
*
|
12 |
* @version 4.9.11
|
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' ];
|
24 |
}
|
25 |
?>
|
26 |
<div
|
27 |
+
<?php tribe_classes( $container_classes ); ?>
|
28 |
data-js="tribe-events-view"
|
29 |
data-view-rest-nonce="<?php echo esc_attr( $rest_nonce ); ?>"
|
30 |
data-view-rest-url="<?php echo esc_url( $rest_url ); ?>"
|
65 |
|
66 |
<?php $this->template( 'month/mobile-events' ); ?>
|
67 |
|
68 |
+
<?php $this->template( 'components/ical-link' ); ?>
|
69 |
+
|
70 |
<?php $this->template( 'components/after' ); ?>
|
71 |
|
72 |
</div>
|
src/views/v2/month/calendar-body.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View - Calendar Body
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View - Calendar Body
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/calendar-body.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/calendar-body/day.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View - Day
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View - Day
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/calendar-body/day.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/calendar-body/day/calendar-events.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View - Calendar Events
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
@@ -24,6 +24,7 @@ if ( empty ( $day_events ) ) {
|
|
24 |
?>
|
25 |
|
26 |
<?php foreach ( $day_events as $event ) : ?>
|
|
|
27 |
|
28 |
<?php $this->template( 'month/calendar-body/day/calendar-events/calendar-event', [ 'event' => $event ] ); ?>
|
29 |
|
3 |
* View: Month View - Calendar Events
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/calendar-body/day/calendar-events.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
24 |
?>
|
25 |
|
26 |
<?php foreach ( $day_events as $event ) : ?>
|
27 |
+
<?php $this->setup_postdata( $event ); ?>
|
28 |
|
29 |
<?php $this->template( 'month/calendar-body/day/calendar-events/calendar-event', [ 'event' => $event ] ); ?>
|
30 |
|
src/views/v2/month/calendar-body/day/calendar-events/calendar-event.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month Calendar Event
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month Calendar Event
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/calendar-body/day/calendar-events/calendar-event.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/calendar-body/day/calendar-events/calendar-event/date.php
CHANGED
@@ -3,36 +3,40 @@
|
|
3 |
* View: Month View - Calendar Event Date
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
-
* @version 4.9.
|
13 |
*
|
14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
15 |
* @var obj $date_formats Object containing the date formats.
|
16 |
*
|
17 |
* @see tribe_get_event() For the format of the event object.
|
18 |
*/
|
19 |
-
|
|
|
|
|
20 |
?>
|
21 |
<div class="tribe-events-calendar-month__calendar-event-datetime">
|
22 |
<?php if ( ! empty( $event->featured ) ) : ?>
|
23 |
<em
|
24 |
-
class="tribe-events-calendar-month__calendar-event-datetime-featured tribe-common-svgicon tribe-common-svgicon--featured"
|
25 |
aria-label="<?php esc_attr_e( 'Featured', 'the-events-calendar' ) ?>"
|
26 |
title="<?php esc_attr_e( 'Featured', 'the-events-calendar' ) ?>"
|
27 |
>
|
28 |
</em>
|
29 |
<?php endif; ?>
|
30 |
-
<time datetime="<?php echo esc_attr( $event->dates->start_display->format( 'H:i' ) ) ?>">
|
31 |
-
<?php echo esc_html( $event->dates->start_display->format( $time_format ) ) ?>
|
32 |
-
</time>
|
33 |
-
<span class="tribe-events-calendar-month__calendar-event-datetime-separator"><?php echo esc_html( $date_formats->time_range_separator ); ?></span>
|
34 |
-
<time datetime="<?php echo esc_attr($event->dates->end_display->format( 'H:i' )) ?>">
|
35 |
-
<?php echo esc_html( $event->dates->end_display->format( $time_format ) ) ?>
|
36 |
</time>
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
<?php $this->template( 'month/calendar-body/day/calendar-events/calendar-event/date/meta', [ 'event' => $event ] ); ?>
|
38 |
</div>
|
3 |
* View: Month View - Calendar Event Date
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/calendar-body/day/calendar-events/calendar-event/date.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
+
* @version 4.9.13
|
13 |
*
|
14 |
* @var WP_Post $event The event post object with properties added by the `tribe_get_event` function.
|
15 |
* @var obj $date_formats Object containing the date formats.
|
16 |
*
|
17 |
* @see tribe_get_event() For the format of the event object.
|
18 |
*/
|
19 |
+
|
20 |
+
$time_format = tribe_get_time_format();
|
21 |
+
$display_end_date = $event->dates->start_display->format( 'H:i' ) !== $event->dates->end_display->format( 'H:i' );
|
22 |
?>
|
23 |
<div class="tribe-events-calendar-month__calendar-event-datetime">
|
24 |
<?php if ( ! empty( $event->featured ) ) : ?>
|
25 |
<em
|
26 |
+
class="tribe-events-calendar-month__calendar-event-datetime-featured-icon tribe-common-svgicon tribe-common-svgicon--featured"
|
27 |
aria-label="<?php esc_attr_e( 'Featured', 'the-events-calendar' ) ?>"
|
28 |
title="<?php esc_attr_e( 'Featured', 'the-events-calendar' ) ?>"
|
29 |
>
|
30 |
</em>
|
31 |
<?php endif; ?>
|
32 |
+
<time datetime="<?php echo esc_attr( $event->dates->start_display->format( 'H:i' ) ); ?>">
|
33 |
+
<?php echo esc_html( $event->dates->start_display->format( $time_format ) ); ?>
|
|
|
|
|
|
|
|
|
34 |
</time>
|
35 |
+
<?php if ( $display_end_date ) : ?>
|
36 |
+
<span class="tribe-events-calendar-month__calendar-event-datetime-separator"><?php echo esc_html( $date_formats->time_range_separator ); ?></span>
|
37 |
+
<time datetime="<?php echo esc_attr($event->dates->end_display->format( 'H:i' ) ); ?>">
|
38 |
+
<?php echo esc_html( $event->dates->end_display->format( $time_format ) ); ?>
|
39 |
+
</time>
|
40 |
+
<?php endif; ?>
|
41 |
<?php $this->template( 'month/calendar-body/day/calendar-events/calendar-event/date/meta', [ 'event' => $event ] ); ?>
|
42 |
</div>
|
src/views/v2/month/calendar-body/day/calendar-events/calendar-event/date/meta.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View - Calendar Event Meta
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View - Calendar Event Meta
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/calendar-body/day/calendar-events/calendar-event/date/meta.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/calendar-body/day/calendar-events/calendar-event/featured-image.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View - Calendar Event Featured Image
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View - Calendar Event Featured Image
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/calendar-body/day/calendar-events/calendar-event/featured-image.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/calendar-body/day/calendar-events/calendar-event/title.php
CHANGED
@@ -3,19 +3,19 @@
|
|
3 |
* View: Month View - Calendar Event Title
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTICLE_LINK_HERE}
|
11 |
*
|
12 |
-
* @version 4.9.
|
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 |
?>
|
20 |
<h3 class="tribe-events-calendar-month__calendar-event-title tribe-common-h8 tribe-common-h--alt">
|
21 |
<a
|
@@ -23,11 +23,9 @@ $display_tooltip = ! empty( $event->excerpt ) || ! empty( $event->cost ) || $eve
|
|
23 |
title="<?php echo esc_attr( get_the_title( $event->ID ) ); ?>"
|
24 |
rel="bookmark"
|
25 |
class="tribe-events-calendar-month__calendar-event-title-link tribe-common-anchor-thin"
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
aria-describedby="tribe-events-tooltip-content-<?php echo esc_attr( $event->ID ); ?>"
|
30 |
-
<?php endif; ?>
|
31 |
>
|
32 |
<?php echo wp_kses_post( get_the_title( $event->ID ) ); ?>
|
33 |
</a>
|
3 |
* View: Month View - Calendar Event Title
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/calendar-body/day/calendar-events/calendar-event/title.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTICLE_LINK_HERE}
|
11 |
*
|
12 |
+
* @version 4.9.13
|
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 |
?>
|
20 |
<h3 class="tribe-events-calendar-month__calendar-event-title tribe-common-h8 tribe-common-h--alt">
|
21 |
<a
|
23 |
title="<?php echo esc_attr( get_the_title( $event->ID ) ); ?>"
|
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 echo wp_kses_post( get_the_title( $event->ID ) ); ?>
|
31 |
</a>
|
src/views/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip.php
CHANGED
@@ -3,23 +3,19 @@
|
|
3 |
* View: Month View - Calendar Event Tooltip
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
-
* @version 4.9.
|
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 |
-
$display_tooltip = ! empty( $event->excerpt ) || ! empty( $event->cost ) || $event->thumbnail->exists;
|
19 |
|
20 |
-
if ( ! $display_tooltip ) {
|
21 |
-
return;
|
22 |
-
}
|
23 |
?>
|
24 |
<div class="tribe-events-calendar-month__calendar-event-tooltip-template tribe-common-a11y-hidden">
|
25 |
<div
|
@@ -28,6 +24,8 @@ if ( ! $display_tooltip ) {
|
|
28 |
role="tooltip"
|
29 |
>
|
30 |
<?php $this->template( 'month/calendar-body/day/calendar-events/calendar-event/tooltip/featured-image', [ 'event' => $event ] ); ?>
|
|
|
|
|
31 |
<?php $this->template( 'month/calendar-body/day/calendar-events/calendar-event/tooltip/description', [ 'event' => $event ] ); ?>
|
32 |
<?php $this->template( 'month/calendar-body/day/calendar-events/calendar-event/tooltip/cost', [ 'event' => $event ] ); ?>
|
33 |
</div>
|
3 |
* View: Month View - Calendar Event Tooltip
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
+
* @version 4.9.13
|
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 |
?>
|
20 |
<div class="tribe-events-calendar-month__calendar-event-tooltip-template tribe-common-a11y-hidden">
|
21 |
<div
|
24 |
role="tooltip"
|
25 |
>
|
26 |
<?php $this->template( 'month/calendar-body/day/calendar-events/calendar-event/tooltip/featured-image', [ 'event' => $event ] ); ?>
|
27 |
+
<?php $this->template( 'month/calendar-body/day/calendar-events/calendar-event/tooltip/date', [ 'event' => $event ] ); ?>
|
28 |
+
<?php $this->template( 'month/calendar-body/day/calendar-events/calendar-event/tooltip/title', [ 'event' => $event ] ); ?>
|
29 |
<?php $this->template( 'month/calendar-body/day/calendar-events/calendar-event/tooltip/description', [ 'event' => $event ] ); ?>
|
30 |
<?php $this->template( 'month/calendar-body/day/calendar-events/calendar-event/tooltip/cost', [ 'event' => $event ] ); ?>
|
31 |
</div>
|
src/views/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/cost.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View - Single Event Tooltip Cost
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View - Single Event Tooltip Cost
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/cost.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/date.php
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* View: Month View - Single Event Tooltip Date
|
4 |
+
*
|
5 |
+
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/date.php
|
7 |
+
*
|
8 |
+
* See more documentation about our views templating system.
|
9 |
+
*
|
10 |
+
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
+
*
|
12 |
+
* @version 4.9.13
|
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 |
+
use Tribe__Date_Utils as Dates;
|
20 |
+
$event_date_attr = $event->dates->start->format( Dates::DBDATEFORMAT );
|
21 |
+
?>
|
22 |
+
<div class="tribe-events-calendar-month__calendar-event-tooltip-datetime">
|
23 |
+
<?php if ( ! empty( $event->featured ) ) : ?>
|
24 |
+
<em
|
25 |
+
class="tribe-events-calendar-month__calendar-event-tooltip-datetime-featured-icon tribe-common-svgicon tribe-common-svgicon--featured"
|
26 |
+
aria-label="<?php esc_attr_e( 'Featured', 'the-events-calendar' ) ?>"
|
27 |
+
title="<?php esc_attr_e( 'Featured', 'the-events-calendar' ) ?>"
|
28 |
+
>
|
29 |
+
</em>
|
30 |
+
<?php endif; ?>
|
31 |
+
<time datetime="<?php echo esc_attr( $event_date_attr ); ?>">
|
32 |
+
<?php echo $event->schedule_details->value(); ?>
|
33 |
+
</time>
|
34 |
+
<?php $this->template( 'month/calendar-body/day/calendar-events/calendar-event/tooltip/date/meta', [ 'event' => $event ] ); ?>
|
35 |
+
</div>
|
src/views/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/date/meta.php
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* View: Month View - Single Event Tooltip Meta
|
4 |
+
*
|
5 |
+
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/date/meta.php
|
7 |
+
*
|
8 |
+
* See more documentation about our views templating system.
|
9 |
+
*
|
10 |
+
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
+
*
|
12 |
+
* @version 4.9.13
|
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 |
+
*/
|
src/views/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/description.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View - Calendar Event Tooltip Description
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
@@ -16,10 +16,10 @@
|
|
16 |
* @see tribe_get_event() For the format of the event object.
|
17 |
*/
|
18 |
|
19 |
-
if ( empty( $event->excerpt ) ) {
|
20 |
return;
|
21 |
}
|
22 |
?>
|
23 |
<div class="tribe-events-calendar-month__calendar-event-tooltip-description tribe-common-b3">
|
24 |
-
<?php echo $event->excerpt; ?>
|
25 |
</div>
|
3 |
* View: Month View - Calendar Event Tooltip Description
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/description.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
16 |
* @see tribe_get_event() For the format of the event object.
|
17 |
*/
|
18 |
|
19 |
+
if ( empty( (string) $event->excerpt ) ) {
|
20 |
return;
|
21 |
}
|
22 |
?>
|
23 |
<div class="tribe-events-calendar-month__calendar-event-tooltip-description tribe-common-b3">
|
24 |
+
<?php echo (string) $event->excerpt; ?>
|
25 |
</div>
|
src/views/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/featured-image.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View - Calendar Event Tooltip Featured Image
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View - Calendar Event Tooltip Featured Image
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/featured-image.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/title.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* View: Month View - Single Event Tooltip Title
|
4 |
+
*
|
5 |
+
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/title.php
|
7 |
+
*
|
8 |
+
* See more documentation about our views templating system.
|
9 |
+
*
|
10 |
+
* @link {INSERT_ARTICLE_LINK_HERE}
|
11 |
+
*
|
12 |
+
* @version 4.9.13
|
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 |
+
?>
|
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( get_the_title( $event->ID ) ); ?>"
|
24 |
+
rel="bookmark"
|
25 |
+
class="tribe-events-calendar-month__calendar-event-tooltip-title-link tribe-common-anchor-thin"
|
26 |
+
>
|
27 |
+
<?php echo wp_kses_post( get_the_title( $event->ID ) ); ?>
|
28 |
+
</a>
|
29 |
+
</h3>
|
src/views/v2/month/calendar-body/day/more-events.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View - More Events
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View - More Events
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/calendar-body/day/more-events.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/calendar-body/day/multiday-events.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View - Multiday Events
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
@@ -27,7 +27,6 @@ if ( 0 === count( $multiday_events ) ) {
|
|
27 |
?>
|
28 |
|
29 |
<?php foreach ( $multiday_events as $event ) : ?>
|
30 |
-
|
31 |
<?php
|
32 |
// If we receive a falsy value, then we need to add a spacer in the "stack".
|
33 |
if ( false === $event ) {
|
@@ -35,6 +34,8 @@ if ( 0 === count( $multiday_events ) ) {
|
|
35 |
continue;
|
36 |
}
|
37 |
|
|
|
|
|
38 |
$this->template( 'month/calendar-body/day/multiday-events/multiday-event', [
|
39 |
'day_date' => $day_date,
|
40 |
'event' => $event,
|
3 |
* View: Month View - Multiday Events
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/calendar-body/day/multiday-events.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
27 |
?>
|
28 |
|
29 |
<?php foreach ( $multiday_events as $event ) : ?>
|
|
|
30 |
<?php
|
31 |
// If we receive a falsy value, then we need to add a spacer in the "stack".
|
32 |
if ( false === $event ) {
|
34 |
continue;
|
35 |
}
|
36 |
|
37 |
+
$this->setup_postdata( $event );
|
38 |
+
|
39 |
$this->template( 'month/calendar-body/day/multiday-events/multiday-event', [
|
40 |
'day_date' => $day_date,
|
41 |
'event' => $event,
|
src/views/v2/month/calendar-body/day/multiday-events/multiday-event-spacer.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View - Multiday Event Spacer
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View - Multiday Event Spacer
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/calendar-body/day/multiday-events/multiday-event.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/calendar-body/day/multiday-events/multiday-event.php
CHANGED
@@ -3,13 +3,13 @@
|
|
3 |
* View: Month View - Multiday Event
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
-
* @version 4.9.
|
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.
|
@@ -41,13 +41,8 @@ if ( $event->featured ) {
|
|
41 |
|
42 |
// If the event started on a previous month.
|
43 |
$started_previous_month = $event->dates->start_display->format( 'Y-m-d' ) < $grid_start_date;
|
44 |
-
|
45 |
-
// We display the tooltip only if there's excpert or cost or it has a thumbnail.
|
46 |
-
$display_tooltip = ! empty( $event->excerpt ) || ! empty( $event->cost ) || $event->thumbnail->exists;
|
47 |
$is_first_appearance = ( $event->dates->start_display->format( 'Y-m-d' ) === $day_date )
|
48 |
|| ( $started_previous_month && $grid_start_date === $day_date );
|
49 |
-
// We print the tooltip contents if it's the first appearrance and we should display it.
|
50 |
-
$should_print_tooltip = $is_first_appearance && $display_tooltip;
|
51 |
|
52 |
// If it starts today and this week, let's add the left border and set the width.
|
53 |
if ( $should_display ) {
|
@@ -74,6 +69,7 @@ if ( $should_display ) {
|
|
74 |
}
|
75 |
}
|
76 |
|
|
|
77 |
?>
|
78 |
<div class="tribe-events-calendar-month__multiday-event-wrapper">
|
79 |
<article <?php tribe_classes( $classes ); ?> data-event-id="<?php echo esc_attr( $event->ID ); ?>">
|
@@ -87,11 +83,9 @@ if ( $should_display ) {
|
|
87 |
<a
|
88 |
href="<?php echo esc_url( $event->permalink ); ?>"
|
89 |
class="tribe-events-calendar-month__multiday-event-hidden-link"
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
aria-describedby="tribe-events-tooltip-content-<?php echo esc_attr( $event->ID ); ?>"
|
94 |
-
<?php endif; ?>
|
95 |
>
|
96 |
<?php if ( $event->featured ) : ?>
|
97 |
<em
|
@@ -120,7 +114,7 @@ if ( $should_display ) {
|
|
120 |
</h3>
|
121 |
</div>
|
122 |
</div>
|
123 |
-
<?php if ( $
|
124 |
<?php $this->template( 'month/calendar-body/day/calendar-events/calendar-event/tooltip', [ 'event' => $event ] ); ?>
|
125 |
<?php endif; ?>
|
126 |
<?php endif; ?>
|
3 |
* View: Month View - Multiday Event
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/calendar-body/day/multiday-events/multiday-event.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
+
* @version 4.9.13
|
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.
|
41 |
|
42 |
// If the event started on a previous month.
|
43 |
$started_previous_month = $event->dates->start_display->format( 'Y-m-d' ) < $grid_start_date;
|
|
|
|
|
|
|
44 |
$is_first_appearance = ( $event->dates->start_display->format( 'Y-m-d' ) === $day_date )
|
45 |
|| ( $started_previous_month && $grid_start_date === $day_date );
|
|
|
|
|
46 |
|
47 |
// If it starts today and this week, let's add the left border and set the width.
|
48 |
if ( $should_display ) {
|
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 ); ?>">
|
83 |
<a
|
84 |
href="<?php echo esc_url( $event->permalink ); ?>"
|
85 |
class="tribe-events-calendar-month__multiday-event-hidden-link"
|
86 |
+
data-js="tribe-events-tooltip"
|
87 |
+
data-tooltip-content="#tribe-events-tooltip-content-<?php echo esc_attr( $event->ID ); ?>"
|
88 |
+
aria-describedby="tribe-events-tooltip-content-<?php echo esc_attr( $event->ID ); ?>"
|
|
|
|
|
89 |
>
|
90 |
<?php if ( $event->featured ) : ?>
|
91 |
<em
|
114 |
</h3>
|
115 |
</div>
|
116 |
</div>
|
117 |
+
<?php if ( $is_first_appearance ) : ?>
|
118 |
<?php $this->template( 'month/calendar-body/day/calendar-events/calendar-event/tooltip', [ 'event' => $event ] ); ?>
|
119 |
<?php endif; ?>
|
120 |
<?php endif; ?>
|
src/views/v2/month/calendar-header.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View - Calendar Header
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View - Calendar Header
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/calendar-header.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/mobile-events.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View Mobile Events
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View Mobile Events
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/mobile-events.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/mobile-events/mobile-day.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View Mobile Day
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
@@ -52,6 +52,7 @@ if ( $today_date === $day_date ) {
|
|
52 |
<?php $this->template( 'month/mobile-events/mobile-day/day-marker', [ 'day_date' => $day_date ] ); ?>
|
53 |
|
54 |
<?php foreach( $events as $event ) : ?>
|
|
|
55 |
|
56 |
<?php $this->template( 'month/mobile-events/mobile-day/mobile-event', [ 'event' => $event ] ); ?>
|
57 |
|
3 |
* View: Month View Mobile Day
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/mobile-events/mobile-day.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
52 |
<?php $this->template( 'month/mobile-events/mobile-day/day-marker', [ 'day_date' => $day_date ] ); ?>
|
53 |
|
54 |
<?php foreach( $events as $event ) : ?>
|
55 |
+
<?php $this->setup_postdata( $event ); ?>
|
56 |
|
57 |
<?php $this->template( 'month/mobile-events/mobile-day/mobile-event', [ 'event' => $event ] ); ?>
|
58 |
|
src/views/v2/month/mobile-events/mobile-day/day-marker.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View Day marker
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View Day marker
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/mobile-events/mobile-day/day-marker.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/mobile-events/mobile-day/mobile-event.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View Mobile Event
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View Mobile Event
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/mobile-events/mobile-day/mobile-event.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/mobile-events/mobile-day/mobile-event/cost.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View - Mobile Event Cost
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View - Mobile Event Cost
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/mobile-events/mobile-day/mobile-event/cost.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/mobile-events/mobile-day/mobile-event/date.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View - Mobile Event Date
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View - Mobile Event Date
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/mobile-events/mobile-day/mobile-event/date.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/mobile-events/mobile-day/mobile-event/date/meta.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View - Mobile Event Meta
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View - Mobile Event Meta
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/mobile-events/mobile-day/mobile-event/date/meta.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/mobile-events/mobile-day/mobile-event/featured-image.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View - Mobile Event Featured Image
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View - Mobile Event Featured Image
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/mobile-events/mobile-day/mobile-event/featured-image.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/mobile-events/mobile-day/mobile-event/title.php
CHANGED
@@ -3,20 +3,20 @@
|
|
3 |
* View: Month View - Mobile Event Title
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
-
* @version 4.9.
|
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-events-calendar-month-mobile-events__mobile-event-title', 'tribe-common-
|
20 |
|
21 |
?>
|
22 |
<h3 <?php tribe_classes( $classes ); ?>>
|
3 |
* View: Month View - Mobile Event Title
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/mobile-events/mobile-day/mobile-event/title.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
+
* @version 4.9.13
|
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-events-calendar-month-mobile-events__mobile-event-title', 'tribe-common-h7' ];
|
20 |
|
21 |
?>
|
22 |
<h3 <?php tribe_classes( $classes ); ?>>
|
src/views/v2/month/mobile-events/mobile-day/more-events.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View - More Events
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View - More Events
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/mobile-events/mobile-day/more-events.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/mobile-events/nav.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View Nav Template
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View Nav Template
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/mobile-events/nav.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/mobile-events/nav/next-disabled.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View Nav Disabled Next Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View Nav Disabled Next Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/mobile-events/nav/next-disabled.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/mobile-events/nav/next.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View Nav Next Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View Nav Next Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/mobile-events/nav/next.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/mobile-events/nav/prev-disabled.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View Nav Disabled Previous Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View Nav Disabled Previous Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/mobile-events/nav/prev-disabled.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/mobile-events/nav/prev.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View Nav Previous Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View Nav Previous Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/mobile-events/nav/prev.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/mobile-events/nav/today.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Month View Nav Today Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Month View Nav Today Button
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/mobile-events/nav/today.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/top-bar.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* View: Top Bar
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
3 |
* View: Top Bar
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/top-bar.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
src/views/v2/month/top-bar/datepicker.php
CHANGED
@@ -3,20 +3,21 @@
|
|
3 |
* View: Top Bar - Date Picker
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
-
* @version 4.9.
|
13 |
*
|
14 |
-
* @var string $now
|
15 |
-
* @var string $grid_date
|
16 |
-
* @var string $formatted_grid_date
|
17 |
-
*
|
18 |
-
* @var
|
19 |
-
* @var \DateTime $the_date
|
|
|
20 |
*/
|
21 |
use Tribe__Date_Utils as Dates;
|
22 |
|
@@ -24,33 +25,49 @@ $default_date = $now;
|
|
24 |
$selected_date_value = $this->get( [ 'bar', 'date' ], $default_date );
|
25 |
$datepicker_date = Dates::build_date_object( $selected_date_value )->format( $date_formats->compact );
|
26 |
?>
|
27 |
-
|
28 |
-
<
|
29 |
-
class="tribe-
|
30 |
-
|
|
|
31 |
>
|
32 |
-
|
33 |
-
|
34 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
>
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
* View: Top Bar - Date Picker
|
4 |
*
|
5 |
* Override this template in your own theme by creating a file at:
|
6 |
+
* [your-theme]/tribe/events/v2/month/top-bar/datepicker.php
|
7 |
*
|
8 |
* See more documentation about our views templating system.
|
9 |
*
|
10 |
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
*
|
12 |
+
* @version 4.9.13
|
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 year
|
17 |
+
* format" option.
|
18 |
+
* @var object $date_formats Object containing the date formats.
|
19 |
+
* @var \DateTime $the_date The Month current date object.
|
20 |
+
* @var bool $show_datepicker_submit Boolean on whether to show the datepicker submit button.
|
21 |
*/
|
22 |
use Tribe__Date_Utils as Dates;
|
23 |
|
25 |
$selected_date_value = $this->get( [ 'bar', 'date' ], $default_date );
|
26 |
$datepicker_date = Dates::build_date_object( $selected_date_value )->format( $date_formats->compact );
|
27 |
?>
|
28 |
+
<?php if ( $show_datepicker_submit ) : ?>
|
29 |
+
<form
|
30 |
+
class="tribe-events-c-top-bar__datepicker-form"
|
31 |
+
method="get"
|
32 |
+
data-js="tribe-events-view-form"
|
33 |
>
|
34 |
+
<?php wp_nonce_field( 'wp_rest', 'tribe-events-views[_wpnonce]' ); ?>
|
35 |
+
<input type="hidden" name="tribe-events-views[url]" value="<?php echo esc_url( $this->get( 'url' ) ); ?>" />
|
36 |
+
<?php endif; ?>
|
37 |
+
|
38 |
+
<div class="tribe-events-c-top-bar__datepicker">
|
39 |
+
<button
|
40 |
+
class="tribe-common-h3 tribe-common-h--alt tribe-events-c-top-bar__datepicker-button"
|
41 |
+
data-js="tribe-events-top-bar-datepicker-button"
|
42 |
+
type="button"
|
43 |
>
|
44 |
+
<time
|
45 |
+
datetime="<?php echo esc_attr( $the_date->format( 'Y-m' ) ); ?>"
|
46 |
+
class="tribe-events-c-top-bar__datepicker-time"
|
47 |
+
>
|
48 |
+
<?php echo esc_html( $formatted_grid_date ); ?>
|
49 |
+
</time>
|
50 |
+
</button>
|
51 |
+
<label
|
52 |
+
class="tribe-events-c-top-bar__datepicker-label tribe-common-a11y-visual-hide"
|
53 |
+
for="tribe-events-top-bar-date"
|
54 |
+
>
|
55 |
+
<?php esc_html_e( 'Select date.', 'the-events-calendar' ); ?>
|
56 |
+
</label>
|
57 |
+
<input
|
58 |
+
type="text"
|
59 |
+
class="tribe-events-c-top-bar__datepicker-input tribe-common-a11y-visual-hide"
|
60 |
+
data-js="tribe-events-top-bar-date"
|
61 |
+
id="tribe-events-top-bar-date"
|
62 |
+
name="tribe-events-views[tribe-bar-date]"
|
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>
|
69 |
+
|
70 |
+
<?php if ( $show_datepicker_submit ) : ?>
|
71 |
+
<?php $this->template( 'components/top-bar/datepicker/submit' ); ?>
|
72 |
+
</form>
|
73 |
+
<?php endif; ?>
|
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: 4.9.
|
6 |
* Author: Modern Tribe, Inc.
|
7 |
* Author URI: http://m.tri.be/1x
|
8 |
* Text Domain: the-events-calendar
|
@@ -74,3 +74,4 @@ Tribe__Events__Main::instance();
|
|
74 |
register_activation_hook( TRIBE_EVENTS_FILE, array( 'Tribe__Events__Main', 'activate' ) );
|
75 |
register_deactivation_hook( TRIBE_EVENTS_FILE, array( 'Tribe__Events__Main', 'deactivate' ) );
|
76 |
|
|
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: 4.9.13
|
6 |
* Author: Modern Tribe, Inc.
|
7 |
* Author URI: http://m.tri.be/1x
|
8 |
* Text Domain: the-events-calendar
|
74 |
register_activation_hook( TRIBE_EVENTS_FILE, array( 'Tribe__Events__Main', 'activate' ) );
|
75 |
register_deactivation_hook( TRIBE_EVENTS_FILE, array( 'Tribe__Events__Main', 'deactivate' ) );
|
76 |
|
77 |
+
// GlotPress Manual Change
|
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 ComposerAutoloaderInit57a7bee611e58fdf0332bbcb2dd79453::getLoader();
|
vendor/composer/autoload_classmap.php
CHANGED
@@ -39,11 +39,13 @@ return array(
|
|
39 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Events_Bar\\ViewsTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Events_Bar/ViewsTest.php',
|
40 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Events_Bar\\Views\\Views_ListTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Events_Bar/Views/Views_ListTest.php',
|
41 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Events_Bar\\Views\\Views_List\\ItemTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Events_Bar/Views/Views_List/ItemTest.php',
|
|
|
42 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\LoaderTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/LoaderTest.php',
|
43 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\MessagesTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/MessagesTest.php',
|
44 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Read_MoreTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Read_MoreTest.php',
|
45 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Top_Bar\\ActionsTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Top_Bar/ActionsTest.php',
|
46 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Top_Bar\\ContentTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Top_Bar/Actions/ContentTest.php',
|
|
|
47 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Top_Bar\\NavTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Top_Bar/NavTest.php',
|
48 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Top_Bar\\Nav\\NextTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Top_Bar/Nav/NextTest.php',
|
49 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Top_Bar\\Nav\\Next_DisabledTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Top_Bar/Nav/Next_DisabledTest.php',
|
@@ -95,8 +97,11 @@ return array(
|
|
95 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\TooltipTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/TooltipTest.php',
|
96 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\Tooltip\\CostTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/Tooltip/CostTest.php',
|
97 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\Tooltip\\CtaTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/Tooltip/CtaTest.php',
|
|
|
|
|
98 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\Tooltip\\DescriptionTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/Tooltip/DescriptionTest.php',
|
99 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\Tooltip\\Featured_ImageTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/Tooltip/Featured_ImageTest.php',
|
|
|
100 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\More_EventsTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/More_EventsTest.php',
|
101 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Multiday_EventsTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Multiday_EventsTest.php',
|
102 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Multiday_Events\\Multiday_EventTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Multiday_Events/Multiday_EventTest.php',
|
@@ -125,6 +130,10 @@ return array(
|
|
125 |
'Tribe\\Events\\Views\\V2\\Query\\ControllerTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Query/ControllerTest.php',
|
126 |
'Tribe\\Events\\Views\\V2\\Query\\Event_Query_Controller' => $baseDir . '/src/Tribe/Views/V2/Query/Event_Query_Controller.php',
|
127 |
'Tribe\\Events\\Views\\V2\\Query\\MainQueryControlTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Query/MainQueryControlTest.php',
|
|
|
|
|
|
|
|
|
128 |
'Tribe\\Events\\Views\\V2\\Rest_Endpoint' => $baseDir . '/src/Tribe/Views/V2/Rest_Endpoint.php',
|
129 |
'Tribe\\Events\\Views\\V2\\Rest_EndpointTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Rest_EndpointTest.php',
|
130 |
'Tribe\\Events\\Views\\V2\\Service_Provider' => $baseDir . '/src/Tribe/Views/V2/Service_Provider.php',
|
39 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Events_Bar\\ViewsTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Events_Bar/ViewsTest.php',
|
40 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Events_Bar\\Views\\Views_ListTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Events_Bar/Views/Views_ListTest.php',
|
41 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Events_Bar\\Views\\Views_List\\ItemTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Events_Bar/Views/Views_List/ItemTest.php',
|
42 |
+
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Ical_LinkTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Ical_LinkTest.php',
|
43 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\LoaderTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/LoaderTest.php',
|
44 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\MessagesTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/MessagesTest.php',
|
45 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Read_MoreTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Read_MoreTest.php',
|
46 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Top_Bar\\ActionsTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Top_Bar/ActionsTest.php',
|
47 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Top_Bar\\ContentTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Top_Bar/Actions/ContentTest.php',
|
48 |
+
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Top_Bar\\Datepicker\\SubmitTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Top_Bar/Datepicker/SubmitTest.php',
|
49 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Top_Bar\\NavTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Top_Bar/NavTest.php',
|
50 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Top_Bar\\Nav\\NextTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Top_Bar/Nav/NextTest.php',
|
51 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Top_Bar\\Nav\\Next_DisabledTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Top_Bar/Nav/Next_DisabledTest.php',
|
97 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\TooltipTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/TooltipTest.php',
|
98 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\Tooltip\\CostTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/Tooltip/CostTest.php',
|
99 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\Tooltip\\CtaTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/Tooltip/CtaTest.php',
|
100 |
+
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\Tooltip\\DateTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/Tooltip/DateTest.php',
|
101 |
+
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\Tooltip\\Date\\MetaTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/Tooltip/Date/MetaTest.php',
|
102 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\Tooltip\\DescriptionTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/Tooltip/DescriptionTest.php',
|
103 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\Tooltip\\Featured_ImageTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/Tooltip/Featured_ImageTest.php',
|
104 |
+
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\Tooltip\\TitleTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/Tooltip/TitleTest.php',
|
105 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\More_EventsTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/More_EventsTest.php',
|
106 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Multiday_EventsTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Multiday_EventsTest.php',
|
107 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Multiday_Events\\Multiday_EventTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Multiday_Events/Multiday_EventTest.php',
|
130 |
'Tribe\\Events\\Views\\V2\\Query\\ControllerTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Query/ControllerTest.php',
|
131 |
'Tribe\\Events\\Views\\V2\\Query\\Event_Query_Controller' => $baseDir . '/src/Tribe/Views/V2/Query/Event_Query_Controller.php',
|
132 |
'Tribe\\Events\\Views\\V2\\Query\\MainQueryControlTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Query/MainQueryControlTest.php',
|
133 |
+
'Tribe\\Events\\Views\\V2\\Repository\\Event_Period' => $baseDir . '/src/Tribe/Views/V2/Repository/Event_Period.php',
|
134 |
+
'Tribe\\Events\\Views\\V2\\Repository\\Event_Period_Test' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/Repository/Event_Period_Test.php',
|
135 |
+
'Tribe\\Events\\Views\\V2\\Repository\\Event_Result' => $baseDir . '/src/Tribe/Views/V2/Repository/Event_Result.php',
|
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',
|
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 ComposerAutoloaderInit4905b28e588a12c1b4d3264a69cb1850
|
|
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 ComposerAutoloaderInit57a7bee611e58fdf0332bbcb2dd79453
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit57a7bee611e58fdf0332bbcb2dd79453', 'loadClassLoader'), true, true);
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit57a7bee611e58fdf0332bbcb2dd79453', '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\ComposerStaticInit57a7bee611e58fdf0332bbcb2dd79453::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' =>
|
@@ -64,11 +64,13 @@ class ComposerStaticInit4905b28e588a12c1b4d3264a69cb1850
|
|
64 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Events_Bar\\ViewsTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Events_Bar/ViewsTest.php',
|
65 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Events_Bar\\Views\\Views_ListTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Events_Bar/Views/Views_ListTest.php',
|
66 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Events_Bar\\Views\\Views_List\\ItemTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Events_Bar/Views/Views_List/ItemTest.php',
|
|
|
67 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\LoaderTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/LoaderTest.php',
|
68 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\MessagesTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/MessagesTest.php',
|
69 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Read_MoreTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Read_MoreTest.php',
|
70 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Top_Bar\\ActionsTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Top_Bar/ActionsTest.php',
|
71 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Top_Bar\\ContentTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Top_Bar/Actions/ContentTest.php',
|
|
|
72 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Top_Bar\\NavTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Top_Bar/NavTest.php',
|
73 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Top_Bar\\Nav\\NextTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Top_Bar/Nav/NextTest.php',
|
74 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Top_Bar\\Nav\\Next_DisabledTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Top_Bar/Nav/Next_DisabledTest.php',
|
@@ -120,8 +122,11 @@ class ComposerStaticInit4905b28e588a12c1b4d3264a69cb1850
|
|
120 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\TooltipTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/TooltipTest.php',
|
121 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\Tooltip\\CostTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/Tooltip/CostTest.php',
|
122 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\Tooltip\\CtaTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/Tooltip/CtaTest.php',
|
|
|
|
|
123 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\Tooltip\\DescriptionTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/Tooltip/DescriptionTest.php',
|
124 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\Tooltip\\Featured_ImageTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/Tooltip/Featured_ImageTest.php',
|
|
|
125 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\More_EventsTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/More_EventsTest.php',
|
126 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Multiday_EventsTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Multiday_EventsTest.php',
|
127 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Multiday_Events\\Multiday_EventTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Multiday_Events/Multiday_EventTest.php',
|
@@ -150,6 +155,10 @@ class ComposerStaticInit4905b28e588a12c1b4d3264a69cb1850
|
|
150 |
'Tribe\\Events\\Views\\V2\\Query\\ControllerTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Query/ControllerTest.php',
|
151 |
'Tribe\\Events\\Views\\V2\\Query\\Event_Query_Controller' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Query/Event_Query_Controller.php',
|
152 |
'Tribe\\Events\\Views\\V2\\Query\\MainQueryControlTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Query/MainQueryControlTest.php',
|
|
|
|
|
|
|
|
|
153 |
'Tribe\\Events\\Views\\V2\\Rest_Endpoint' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Rest_Endpoint.php',
|
154 |
'Tribe\\Events\\Views\\V2\\Rest_EndpointTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Rest_EndpointTest.php',
|
155 |
'Tribe\\Events\\Views\\V2\\Service_Provider' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Service_Provider.php',
|
@@ -217,9 +226,9 @@ class ComposerStaticInit4905b28e588a12c1b4d3264a69cb1850
|
|
217 |
public static function getInitializer(ClassLoader $loader)
|
218 |
{
|
219 |
return \Closure::bind(function () use ($loader) {
|
220 |
-
$loader->prefixLengthsPsr4 =
|
221 |
-
$loader->prefixDirsPsr4 =
|
222 |
-
$loader->classMap =
|
223 |
|
224 |
}, null, ClassLoader::class);
|
225 |
}
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
+
class ComposerStaticInit57a7bee611e58fdf0332bbcb2dd79453
|
8 |
{
|
9 |
public static $prefixLengthsPsr4 = array (
|
10 |
'T' =>
|
64 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Events_Bar\\ViewsTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Events_Bar/ViewsTest.php',
|
65 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Events_Bar\\Views\\Views_ListTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Events_Bar/Views/Views_ListTest.php',
|
66 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Events_Bar\\Views\\Views_List\\ItemTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Events_Bar/Views/Views_List/ItemTest.php',
|
67 |
+
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Ical_LinkTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Ical_LinkTest.php',
|
68 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\LoaderTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/LoaderTest.php',
|
69 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\MessagesTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/MessagesTest.php',
|
70 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Read_MoreTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Read_MoreTest.php',
|
71 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Top_Bar\\ActionsTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Top_Bar/ActionsTest.php',
|
72 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Top_Bar\\ContentTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Top_Bar/Actions/ContentTest.php',
|
73 |
+
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Top_Bar\\Datepicker\\SubmitTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Top_Bar/Datepicker/SubmitTest.php',
|
74 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Top_Bar\\NavTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Top_Bar/NavTest.php',
|
75 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Top_Bar\\Nav\\NextTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Top_Bar/Nav/NextTest.php',
|
76 |
'Tribe\\Events\\Views\\V2\\Partials\\Components\\Top_Bar\\Nav\\Next_DisabledTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Components/Top_Bar/Nav/Next_DisabledTest.php',
|
122 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\TooltipTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/TooltipTest.php',
|
123 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\Tooltip\\CostTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/Tooltip/CostTest.php',
|
124 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\Tooltip\\CtaTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/Tooltip/CtaTest.php',
|
125 |
+
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\Tooltip\\DateTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/Tooltip/DateTest.php',
|
126 |
+
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\Tooltip\\Date\\MetaTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/Tooltip/Date/MetaTest.php',
|
127 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\Tooltip\\DescriptionTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/Tooltip/DescriptionTest.php',
|
128 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\Tooltip\\Featured_ImageTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/Tooltip/Featured_ImageTest.php',
|
129 |
+
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Calendar_Events\\Calendar_Event\\Tooltip\\TitleTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Calendar_Events/Calendar_Event/Tooltip/TitleTest.php',
|
130 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\More_EventsTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/More_EventsTest.php',
|
131 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Multiday_EventsTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Multiday_EventsTest.php',
|
132 |
'Tribe\\Events\\Views\\V2\\Partials\\Month_View\\Calendar_Body\\Day\\Multiday_Events\\Multiday_EventTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Partials/Month_View/Calendar_Body/Day/Multiday_Events/Multiday_EventTest.php',
|
155 |
'Tribe\\Events\\Views\\V2\\Query\\ControllerTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Query/ControllerTest.php',
|
156 |
'Tribe\\Events\\Views\\V2\\Query\\Event_Query_Controller' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Query/Event_Query_Controller.php',
|
157 |
'Tribe\\Events\\Views\\V2\\Query\\MainQueryControlTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Query/MainQueryControlTest.php',
|
158 |
+
'Tribe\\Events\\Views\\V2\\Repository\\Event_Period' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Repository/Event_Period.php',
|
159 |
+
'Tribe\\Events\\Views\\V2\\Repository\\Event_Period_Test' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/Repository/Event_Period_Test.php',
|
160 |
+
'Tribe\\Events\\Views\\V2\\Repository\\Event_Result' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Repository/Event_Result.php',
|
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',
|
226 |
public static function getInitializer(ClassLoader $loader)
|
227 |
{
|
228 |
return \Closure::bind(function () use ($loader) {
|
229 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit57a7bee611e58fdf0332bbcb2dd79453::$prefixLengthsPsr4;
|
230 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit57a7bee611e58fdf0332bbcb2dd79453::$prefixDirsPsr4;
|
231 |
+
$loader->classMap = ComposerStaticInit57a7bee611e58fdf0332bbcb2dd79453::$classMap;
|
232 |
|
233 |
}, null, ClassLoader::class);
|
234 |
}
|