Version Description
Download this release
Release Info
Developer | ModernTribe |
Plugin | The Events Calendar |
Version | 4.9.3.1 |
Comparing to | |
See all releases |
Code changes from version 4.9.3 to 4.9.3.1
- common/lang/tribe-common.pot +27 -27
- common/src/Tribe/Context.php +188 -53
- common/src/Tribe/Context/locations.php +25 -9
- common/src/Tribe/Main.php +2 -1
- common/src/Tribe/Repository.php +23 -1
- common/src/Tribe/Repository/Decorator.php +11 -2
- common/src/Tribe/Repository/Interface.php +13 -2
- common/src/Tribe/Rewrite.php +60 -21
- common/src/Tribe/Utils/Array.php +23 -0
- common/src/functions/url.php +182 -0
- common/src/resources/css/common.css +3 -5
- common/src/resources/css/common.min.css +1 -1
- common/src/resources/postcss/base/_buttons.pcss +1 -0
- common/src/resources/postcss/components/_image.pcss +0 -1
- common/src/resources/postcss/components/_navigation.pcss +2 -4
- common/tribe-autoload.php +1 -1
- common/vendor/autoload_52.php +1 -1
- common/vendor/composer/autoload_real_52.php +3 -3
- lang/the-events-calendar-de_DE.mo +0 -0
- readme.txt +6 -1
- src/Tribe/Main.php +1 -1
- src/Tribe/Rewrite.php +17 -16
- src/Tribe/Views/V2/Assets.php +1 -10
- src/Tribe/Views/V2/Hooks.php +7 -3
- src/Tribe/Views/V2/Service_Provider.php +0 -3
- src/Tribe/Views/V2/Theme_Compatibility.php +69 -44
- src/Tribe/Views/V2/month-view-demo-template-tags.php +0 -432
- src/admin-views/admin-update-message.php +11 -5
- src/admin-views/admin-welcome-message.php +5 -4
- src/resources/css/views/tribe-events-v2.css +23 -126
- src/resources/js/views/scripts.js +0 -93
- src/resources/postcss/base/_layouts.pcss +0 -1
- src/resources/postcss/components/_all.pcss +0 -3
- src/resources/postcss/components/_tooltip.pcss +0 -40
- src/resources/postcss/views/month/_calendar-event.pcss +10 -6
- src/resources/postcss/views/month/_day.pcss +1 -10
- src/resources/postcss/views/month/_multiday-event.pcss +4 -75
- src/resources/postcss/views/tribe-events-v2.pcss +10 -1
- src/views/v2/index.php +6 -7
- src/views/v2/month.php +2 -7
- src/views/v2/month/calendar-event.php +3 -3
- src/views/v2/month/calendar-event/date.php +6 -13
- src/views/v2/month/calendar-event/featured-image.php +1 -13
- src/views/v2/month/calendar-event/title.php +4 -7
- src/views/v2/month/calendar-event/tooltip.php +6 -12
- src/views/v2/month/calendar-event/tooltip/description.php +1 -1
- src/views/v2/month/calendar-event/tooltip/featured-image.php +1 -12
- src/views/v2/month/day-events-multiday.php +0 -39
- src/views/v2/month/day-events.php +0 -35
- src/views/v2/month/day.php +2 -8
- src/views/v2/month/event-multiday-spacer.php +0 -19
- src/views/v2/month/event-multiday.php +15 -45
- src/views/v2/month/{calendar-event/tooltip → tooltip}/cta.php +1 -1
- the-events-calendar.php +1 -1
- vendor/autoload.php +1 -1
- vendor/composer/autoload_classmap.php +1 -4
- vendor/composer/autoload_real.php +4 -4
- vendor/composer/autoload_static.php +5 -8
common/lang/tribe-common.pot
CHANGED
@@ -2,13 +2,13 @@
|
|
2 |
# This file is distributed under the same license as the Tribe Common package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Tribe Common 4.9.
|
6 |
"Report-Msgid-Bugs-To: http://m.tri.be/191x\n"
|
7 |
-
"POT-Creation-Date: 2019-05
|
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-05
|
12 |
"Last-Translator: \n"
|
13 |
"Language-Team: \n"
|
14 |
|
@@ -1655,99 +1655,99 @@ msgstr ""
|
|
1655 |
msgid "Full debug (all events)"
|
1656 |
msgstr ""
|
1657 |
|
1658 |
-
#: src/Tribe/Main.php:
|
1659 |
msgid ": activate to sort column ascending"
|
1660 |
msgstr ""
|
1661 |
|
1662 |
-
#: src/Tribe/Main.php:
|
1663 |
msgid ": activate to sort column descending"
|
1664 |
msgstr ""
|
1665 |
|
1666 |
-
#: src/Tribe/Main.php:
|
1667 |
msgid "Show _MENU_ entries"
|
1668 |
msgstr ""
|
1669 |
|
1670 |
-
#: src/Tribe/Main.php:
|
1671 |
msgid "No data available in table"
|
1672 |
msgstr ""
|
1673 |
|
1674 |
-
#: src/Tribe/Main.php:
|
1675 |
msgid "Showing _START_ to _END_ of _TOTAL_ entries"
|
1676 |
msgstr ""
|
1677 |
|
1678 |
-
#: src/Tribe/Main.php:
|
1679 |
msgid "Showing 0 to 0 of 0 entries"
|
1680 |
msgstr ""
|
1681 |
|
1682 |
-
#: src/Tribe/Main.php:
|
1683 |
msgid "(filtered from _MAX_ total entries)"
|
1684 |
msgstr ""
|
1685 |
|
1686 |
-
#: src/Tribe/Main.php:
|
1687 |
msgid "No matching records found"
|
1688 |
msgstr ""
|
1689 |
|
1690 |
-
#: src/Tribe/Main.php:
|
1691 |
msgid "Search:"
|
1692 |
msgstr ""
|
1693 |
|
1694 |
-
#: src/Tribe/Main.php:
|
1695 |
msgid "All items on this page were selected. "
|
1696 |
msgstr ""
|
1697 |
|
1698 |
-
#: src/Tribe/Main.php:
|
1699 |
msgid "Select all pages"
|
1700 |
msgstr ""
|
1701 |
|
1702 |
-
#: src/Tribe/Main.php:
|
1703 |
msgid "Clear Selection."
|
1704 |
msgstr ""
|
1705 |
|
1706 |
-
#: src/Tribe/Main.php:
|
1707 |
msgid "All"
|
1708 |
msgstr ""
|
1709 |
|
1710 |
-
#: src/Tribe/Main.php:
|
1711 |
msgid "Next"
|
1712 |
msgstr ""
|
1713 |
|
1714 |
-
#: src/Tribe/Main.php:
|
1715 |
msgid "Previous"
|
1716 |
msgstr ""
|
1717 |
|
1718 |
-
#: src/Tribe/Main.php:
|
1719 |
msgid ": Selected %d rows"
|
1720 |
msgstr ""
|
1721 |
|
1722 |
-
#: src/Tribe/Main.php:
|
1723 |
msgid ": Selected 1 row"
|
1724 |
msgstr ""
|
1725 |
|
1726 |
-
#: src/Tribe/Main.php:
|
1727 |
msgid "Prev"
|
1728 |
msgstr ""
|
1729 |
|
1730 |
-
#: src/Tribe/Main.php:
|
1731 |
msgid "Today"
|
1732 |
msgstr ""
|
1733 |
|
1734 |
-
#: src/Tribe/Main.php:
|
1735 |
msgid "Done"
|
1736 |
msgstr ""
|
1737 |
|
1738 |
-
#: src/Tribe/Main.php:
|
1739 |
msgid "Clear"
|
1740 |
msgstr ""
|
1741 |
|
1742 |
-
#: src/Tribe/Main.php:
|
1743 |
msgid "Copy to clipboard"
|
1744 |
msgstr ""
|
1745 |
|
1746 |
-
#: src/Tribe/Main.php:
|
1747 |
msgid "System info copied"
|
1748 |
msgstr ""
|
1749 |
|
1750 |
-
#: src/Tribe/Main.php:
|
1751 |
msgid "Press \"Cmd + C\" to copy"
|
1752 |
msgstr ""
|
1753 |
|
2 |
# This file is distributed under the same license as the Tribe Common package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Tribe Common 4.9.10\n"
|
6 |
"Report-Msgid-Bugs-To: http://m.tri.be/191x\n"
|
7 |
+
"POT-Creation-Date: 2019-06-05 16:13:28+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
11 |
+
"PO-Revision-Date: 2019-06-05 16:13\n"
|
12 |
"Last-Translator: \n"
|
13 |
"Language-Team: \n"
|
14 |
|
1655 |
msgid "Full debug (all events)"
|
1656 |
msgstr ""
|
1657 |
|
1658 |
+
#: src/Tribe/Main.php:266
|
1659 |
msgid ": activate to sort column ascending"
|
1660 |
msgstr ""
|
1661 |
|
1662 |
+
#: src/Tribe/Main.php:267
|
1663 |
msgid ": activate to sort column descending"
|
1664 |
msgstr ""
|
1665 |
|
1666 |
+
#: src/Tribe/Main.php:269
|
1667 |
msgid "Show _MENU_ entries"
|
1668 |
msgstr ""
|
1669 |
|
1670 |
+
#: src/Tribe/Main.php:270
|
1671 |
msgid "No data available in table"
|
1672 |
msgstr ""
|
1673 |
|
1674 |
+
#: src/Tribe/Main.php:271
|
1675 |
msgid "Showing _START_ to _END_ of _TOTAL_ entries"
|
1676 |
msgstr ""
|
1677 |
|
1678 |
+
#: src/Tribe/Main.php:272
|
1679 |
msgid "Showing 0 to 0 of 0 entries"
|
1680 |
msgstr ""
|
1681 |
|
1682 |
+
#: src/Tribe/Main.php:273
|
1683 |
msgid "(filtered from _MAX_ total entries)"
|
1684 |
msgstr ""
|
1685 |
|
1686 |
+
#: src/Tribe/Main.php:274
|
1687 |
msgid "No matching records found"
|
1688 |
msgstr ""
|
1689 |
|
1690 |
+
#: src/Tribe/Main.php:275
|
1691 |
msgid "Search:"
|
1692 |
msgstr ""
|
1693 |
|
1694 |
+
#: src/Tribe/Main.php:276
|
1695 |
msgid "All items on this page were selected. "
|
1696 |
msgstr ""
|
1697 |
|
1698 |
+
#: src/Tribe/Main.php:277
|
1699 |
msgid "Select all pages"
|
1700 |
msgstr ""
|
1701 |
|
1702 |
+
#: src/Tribe/Main.php:278
|
1703 |
msgid "Clear Selection."
|
1704 |
msgstr ""
|
1705 |
|
1706 |
+
#: src/Tribe/Main.php:280
|
1707 |
msgid "All"
|
1708 |
msgstr ""
|
1709 |
|
1710 |
+
#: src/Tribe/Main.php:281 src/Tribe/Main.php:298
|
1711 |
msgid "Next"
|
1712 |
msgstr ""
|
1713 |
|
1714 |
+
#: src/Tribe/Main.php:282
|
1715 |
msgid "Previous"
|
1716 |
msgstr ""
|
1717 |
|
1718 |
+
#: src/Tribe/Main.php:287
|
1719 |
msgid ": Selected %d rows"
|
1720 |
msgstr ""
|
1721 |
|
1722 |
+
#: src/Tribe/Main.php:288
|
1723 |
msgid ": Selected 1 row"
|
1724 |
msgstr ""
|
1725 |
|
1726 |
+
#: src/Tribe/Main.php:299
|
1727 |
msgid "Prev"
|
1728 |
msgstr ""
|
1729 |
|
1730 |
+
#: src/Tribe/Main.php:300 src/Tribe/Main.php:302
|
1731 |
msgid "Today"
|
1732 |
msgstr ""
|
1733 |
|
1734 |
+
#: src/Tribe/Main.php:301
|
1735 |
msgid "Done"
|
1736 |
msgstr ""
|
1737 |
|
1738 |
+
#: src/Tribe/Main.php:303
|
1739 |
msgid "Clear"
|
1740 |
msgstr ""
|
1741 |
|
1742 |
+
#: src/Tribe/Main.php:309 src/admin-views/tribe-options-help.php:50
|
1743 |
msgid "Copy to clipboard"
|
1744 |
msgstr ""
|
1745 |
|
1746 |
+
#: src/Tribe/Main.php:310
|
1747 |
msgid "System info copied"
|
1748 |
msgstr ""
|
1749 |
|
1750 |
+
#: src/Tribe/Main.php:311
|
1751 |
msgid "Press \"Cmd + C\" to copy"
|
1752 |
msgstr ""
|
1753 |
|
common/src/Tribe/Context.php
CHANGED
@@ -1,5 +1,7 @@
|
|
1 |
<?php
|
2 |
|
|
|
|
|
3 |
/**
|
4 |
* Class Tribe__Context
|
5 |
*
|
@@ -8,74 +10,163 @@
|
|
8 |
*/
|
9 |
class Tribe__Context {
|
10 |
|
11 |
-
|
|
|
|
|
|
|
|
|
|
|
12 |
|
13 |
-
|
|
|
|
|
|
|
|
|
|
|
14 |
|
15 |
-
|
|
|
|
|
|
|
|
|
|
|
16 |
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
18 |
|
19 |
-
|
|
|
|
|
|
|
|
|
|
|
20 |
|
21 |
-
|
|
|
|
|
|
|
|
|
|
|
22 |
|
23 |
-
|
|
|
|
|
|
|
|
|
|
|
24 |
|
25 |
-
|
|
|
|
|
|
|
|
|
|
|
26 |
|
27 |
-
|
|
|
|
|
|
|
|
|
|
|
28 |
|
29 |
-
|
|
|
|
|
|
|
|
|
|
|
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 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
protected static $locations = [];
|
80 |
|
81 |
/**
|
@@ -1216,6 +1307,50 @@ class Tribe__Context {
|
|
1216 |
return $default;
|
1217 |
}
|
1218 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1219 |
/**
|
1220 |
* Maps an input array to the corresponding read locations.
|
1221 |
*
|
1 |
<?php
|
2 |
|
3 |
+
use Tribe__Utils__Array as Arr;
|
4 |
+
|
5 |
/**
|
6 |
* Class Tribe__Context
|
7 |
*
|
10 |
*/
|
11 |
class Tribe__Context {
|
12 |
|
13 |
+
/**
|
14 |
+
* The value that will be used to indicate no value was found in any location while trying to read it.
|
15 |
+
*
|
16 |
+
* @since TBD
|
17 |
+
*/
|
18 |
+
const NOT_FOUND = '__not_found__';
|
19 |
|
20 |
+
/**
|
21 |
+
* The key to locate a context value as the value of a request variable.
|
22 |
+
*
|
23 |
+
* @since TBD
|
24 |
+
*/
|
25 |
+
const REQUEST_VAR = 'request_var';
|
26 |
|
27 |
+
/**
|
28 |
+
* The key to locate a context value as the value of a Tribe option.
|
29 |
+
*
|
30 |
+
* @since TBD
|
31 |
+
*/
|
32 |
+
const TRIBE_OPTION = 'tribe_option';
|
33 |
|
34 |
+
/**
|
35 |
+
* The key to locate a context value as the value of an option.
|
36 |
+
*
|
37 |
+
* @since TBD
|
38 |
+
*/
|
39 |
+
const OPTION = 'option';
|
40 |
|
41 |
+
/**
|
42 |
+
* The key to locate a context value as the value of a transient.
|
43 |
+
*
|
44 |
+
* @since TBD
|
45 |
+
*/
|
46 |
+
const TRANSIENT = 'transient';
|
47 |
|
48 |
+
/**
|
49 |
+
* The key to locate a context value as the value of the main query (global `$wp_query`) query var.
|
50 |
+
*
|
51 |
+
* @since TBD
|
52 |
+
*/
|
53 |
+
const QUERY_VAR = 'query_var';
|
54 |
|
55 |
+
/**
|
56 |
+
* The key to locate a context value as the value of the main query (global `$wp_query`) property.
|
57 |
+
*
|
58 |
+
* @since TBD
|
59 |
+
*/
|
60 |
+
const QUERY_PROP = 'query_prop';
|
61 |
|
62 |
+
/**
|
63 |
+
* The key to locate a context value as the value of a constant.
|
64 |
+
*
|
65 |
+
* @since TBD
|
66 |
+
*/
|
67 |
+
const CONSTANT = 'constant';
|
68 |
|
69 |
+
/**
|
70 |
+
* The key to locate a context value as a static class property.
|
71 |
+
*
|
72 |
+
* @since TBD
|
73 |
+
*/
|
74 |
+
const STATIC_PROP = 'static_prop';
|
75 |
|
76 |
+
/**
|
77 |
+
* The key to locate a context value as property of an object.
|
78 |
+
*
|
79 |
+
* @since TBD
|
80 |
+
*/
|
81 |
+
const PROP = 'prop';
|
82 |
|
83 |
+
/**
|
84 |
+
* The key to locate a context value as result running a static class method.
|
85 |
+
*
|
86 |
+
* @since TBD
|
87 |
+
*/
|
88 |
+
const STATIC_METHOD = 'static_method';
|
89 |
|
90 |
+
/**
|
91 |
+
* The key to locate a context value as result running a method on an object.
|
92 |
+
*
|
93 |
+
* @since TBD
|
94 |
+
*/
|
95 |
+
const METHOD = 'method';
|
96 |
|
97 |
+
/**
|
98 |
+
* The key to locate a context value as result running a callback function (e.g. a callable, a closure).
|
99 |
+
*
|
100 |
+
* @since TBD
|
101 |
+
*/
|
102 |
+
const FUNC = 'func';
|
103 |
|
104 |
+
/**
|
105 |
+
* The key to locate a context value as result of reading a global value.
|
106 |
+
*
|
107 |
+
* @since TBD
|
108 |
+
*/
|
109 |
+
const GLOBAL_VAR = 'global_var';
|
110 |
|
111 |
+
/**
|
112 |
+
* The key to locate a context value as result of an `apply_filters` call.
|
113 |
+
*
|
114 |
+
* @since TBD
|
115 |
+
*/
|
116 |
+
const FILTER = 'filter';
|
117 |
|
118 |
+
/**
|
119 |
+
* The key to locate a context value among the values parsed by `WP::parse_request`.
|
120 |
+
*
|
121 |
+
* @since TBD
|
122 |
+
*/
|
123 |
+
const WP_PARSED = 'wp_parsed';
|
124 |
+
|
125 |
+
/**
|
126 |
+
* The key to locate a context value among the values in the query mached by `WP::parse_request`.
|
127 |
+
*
|
128 |
+
* @since TBD
|
129 |
+
*/
|
130 |
+
const WP_MATCHED_QUERY = 'wp_matched_query';
|
131 |
+
|
132 |
+
/*
|
133 |
+
*
|
134 |
+
* An array defining the properties the context will be able to read and (dangerously) write.
|
135 |
+
*
|
136 |
+
* This is the configuration that should be modified to add/remove/modify values and locations
|
137 |
+
* provided by the global context.
|
138 |
+
* Each entry has the shape [ <key> => [ 'read' => <read_locations>, 'write' => <write_locations> ] ].
|
139 |
+
* The key is used to identify the property that will be accessible with the `get` and
|
140 |
+
* 'dangerously_set_global_context' method, e.g. `$context->get( 'event_display', 'list' );`.
|
141 |
+
* The locations is a list of locations the context will search, top to bottom, left to right, to find a value that's
|
142 |
+
* not empty or the default one, here's a list of supported lookup locations:
|
143 |
+
*
|
144 |
+
* request_var - look into $_GET, $_POST, $_PUT, $_DELETE, $_REQUEST.
|
145 |
+
* query_var - get the value from the main WP_Query object query vars.
|
146 |
+
* query_prop - get the value from a property of the main WP_Query object.
|
147 |
+
* tribe_option - get the value from a Tribe option.
|
148 |
+
* option - get the value from a database option.
|
149 |
+
* transient - get the value from a transient.
|
150 |
+
* constant - get the value from a constant, can also be a class constant with <class>::<const>.
|
151 |
+
* global_var - get the value from a global variable
|
152 |
+
* static_prop - get the value from a class static property, format: `array( $class, $prop )`.
|
153 |
+
* prop - get the value from a tribe() container binding, format `array( $binding, $prop )`.
|
154 |
+
* static_method - get the value from a class static method.
|
155 |
+
* method - get the value calling a method on a tribe() container binding.
|
156 |
+
* func - get the value from a function or a closure.
|
157 |
+
* filter - get the value by applying a filter.
|
158 |
+
*
|
159 |
+
* For each location additional arguments can be specified:
|
160 |
+
* orm_arg - if `false` then the location will never produce an ORM argument, if provided the ORM arg produced bye the
|
161 |
+
* location will have this name.
|
162 |
+
* orm_transform - if provided the value of the location will be obtained by passing it as an argument to a callable.
|
163 |
+
*
|
164 |
+
* As the Context locations increase in number it would be impractical to define them inline here.
|
165 |
+
* The locations will be loaded by the `Tribe__Context::populate_locations` method from the `Context/locations.php`
|
166 |
+
* file.
|
167 |
+
*
|
168 |
+
* @var array
|
169 |
+
*/
|
170 |
protected static $locations = [];
|
171 |
|
172 |
/**
|
1307 |
return $default;
|
1308 |
}
|
1309 |
|
1310 |
+
/**
|
1311 |
+
* Reads (gets) the value reading it from a query var parsed from the global `$wp` object.
|
1312 |
+
*
|
1313 |
+
* @since 4.9.8
|
1314 |
+
*
|
1315 |
+
* @param array $vars The list of variables to read, in order.
|
1316 |
+
* @param mixed $default The default value to return if no variable was parsed.
|
1317 |
+
*
|
1318 |
+
* @return mixed The first valid value found or the default value.
|
1319 |
+
*/
|
1320 |
+
public function wp_parsed( array $vars, $default ) {
|
1321 |
+
/** @var WP $wp */
|
1322 |
+
global $wp;
|
1323 |
+
|
1324 |
+
if ( ! $wp instanceof WP || empty($wp->query_vars) ) {
|
1325 |
+
return $default;
|
1326 |
+
}
|
1327 |
+
|
1328 |
+
return Arr::get_first_set( (array) $wp->query_vars, $vars, $default );
|
1329 |
+
}
|
1330 |
+
|
1331 |
+
/**
|
1332 |
+
* Reads (gets) the value reading it from a query var parsed from the query matched by the global `$wp` object.
|
1333 |
+
*
|
1334 |
+
* @since 4.9.8
|
1335 |
+
*
|
1336 |
+
* @param array $vars The list of variables to read, in order.
|
1337 |
+
* @param mixed $default The default value to return if no variable was parsed.
|
1338 |
+
*
|
1339 |
+
* @return mixed The first valid value found or the default value.
|
1340 |
+
*/
|
1341 |
+
public function wp_matched_query( array $vars, $default ) {
|
1342 |
+
/** @var WP $wp */
|
1343 |
+
global $wp;
|
1344 |
+
|
1345 |
+
if ( ! $wp instanceof WP || empty( $wp->matched_query ) ) {
|
1346 |
+
return $default;
|
1347 |
+
}
|
1348 |
+
|
1349 |
+
parse_str( $wp->matched_query, $query_vars );
|
1350 |
+
|
1351 |
+
return Arr::get_first_set( (array) $query_vars, $vars, $default );
|
1352 |
+
}
|
1353 |
+
|
1354 |
/**
|
1355 |
* Maps an input array to the corresponding read locations.
|
1356 |
*
|
common/src/Tribe/Context/locations.php
CHANGED
@@ -23,22 +23,27 @@ return [
|
|
23 |
],
|
24 |
'event_display' => [
|
25 |
'read' => [
|
26 |
-
Tribe__Context::
|
27 |
-
Tribe__Context::
|
|
|
|
|
|
|
28 |
],
|
29 |
'write' => [
|
30 |
-
Tribe__Context::REQUEST_VAR => 'tribe_event_display',
|
31 |
Tribe__Context::QUERY_VAR => 'eventDisplay',
|
32 |
],
|
33 |
],
|
34 |
'view' => [
|
35 |
'read' => [
|
36 |
-
Tribe__Context::
|
37 |
-
Tribe__Context::
|
38 |
-
Tribe__Context::
|
|
|
|
|
39 |
],
|
40 |
'write' => [
|
41 |
-
Tribe__Context::REQUEST_VAR => [ 'view', 'tribe_view', 'tribe_event_display' ],
|
42 |
Tribe__Context::QUERY_VAR => [ 'tribe_view', 'eventDisplay' ],
|
43 |
],
|
44 |
],
|
@@ -157,6 +162,17 @@ return [
|
|
157 |
Tribe__Context::REQUEST_VAR => 'paged',
|
158 |
Tribe__Context::QUERY_VAR => 'paged',
|
159 |
],
|
160 |
-
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
];
|
162 |
-
|
23 |
],
|
24 |
'event_display' => [
|
25 |
'read' => [
|
26 |
+
Tribe__Context::WP_MATCHED_QUERY => [ 'eventDisplay' ],
|
27 |
+
Tribe__Context::WP_PARSED => [ 'eventDisplay' ],
|
28 |
+
Tribe__Context::REQUEST_VAR => [ 'view', 'tribe_view', 'tribe_event_display', 'eventDisplay' ],
|
29 |
+
Tribe__Context::QUERY_VAR => 'eventDisplay',
|
30 |
+
Tribe__Context::TRIBE_OPTION => 'viewOption',
|
31 |
],
|
32 |
'write' => [
|
33 |
+
Tribe__Context::REQUEST_VAR => [ 'view', 'tribe_view', 'tribe_event_display', 'eventDisplay' ],
|
34 |
Tribe__Context::QUERY_VAR => 'eventDisplay',
|
35 |
],
|
36 |
],
|
37 |
'view' => [
|
38 |
'read' => [
|
39 |
+
Tribe__Context::WP_MATCHED_QUERY => [ 'eventDisplay' ],
|
40 |
+
Tribe__Context::WP_PARSED => [ 'eventDisplay' ],
|
41 |
+
Tribe__Context::REQUEST_VAR => [ 'view', 'tribe_view', 'tribe_event_display', 'eventDisplay' ],
|
42 |
+
Tribe__Context::QUERY_VAR => [ 'tribe_view', 'eventDisplay' ],
|
43 |
+
Tribe__Context::TRIBE_OPTION => 'viewOption',
|
44 |
],
|
45 |
'write' => [
|
46 |
+
Tribe__Context::REQUEST_VAR => [ 'view', 'tribe_view', 'tribe_event_display', 'eventDisplay' ],
|
47 |
Tribe__Context::QUERY_VAR => [ 'tribe_view', 'eventDisplay' ],
|
48 |
],
|
49 |
],
|
162 |
Tribe__Context::REQUEST_VAR => 'paged',
|
163 |
Tribe__Context::QUERY_VAR => 'paged',
|
164 |
],
|
165 |
+
],
|
166 |
+
'event_display_mode' => [
|
167 |
+
/**
|
168 |
+
* We use the `eventDisplay` query var with duplicity: when parsed from the path it represents the View, when
|
169 |
+
* appended as a query var it represents the "view mode". Here we invert the order to read the appended query
|
170 |
+
* var first and get, from its position, a clean variable we can consume in Views.
|
171 |
+
*/
|
172 |
+
'read' => [
|
173 |
+
Tribe__Context::REQUEST_VAR => [ 'view', 'tribe_view', 'tribe_event_display', 'eventDisplay' ],
|
174 |
+
Tribe__Context::WP_PARSED => [ 'eventDisplay' ],
|
175 |
+
Tribe__Context::QUERY_VAR => 'eventDisplay',
|
176 |
+
],
|
177 |
+
],
|
178 |
];
|
|
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.9.
|
21 |
|
22 |
const FEED_URL = 'https://theeventscalendar.com/feed/';
|
23 |
|
@@ -162,6 +162,7 @@ class Tribe__Main {
|
|
162 |
*/
|
163 |
public function init_libraries() {
|
164 |
require_once $this->plugin_path . 'src/functions/utils.php';
|
|
|
165 |
require_once $this->plugin_path . 'src/functions/query.php';
|
166 |
require_once $this->plugin_path . 'src/functions/multibyte.php';
|
167 |
require_once $this->plugin_path . 'src/functions/template-tags/general.php';
|
17 |
const OPTIONNAME = 'tribe_events_calendar_options';
|
18 |
const OPTIONNAMENETWORK = 'tribe_events_calendar_network_options';
|
19 |
|
20 |
+
const VERSION = '4.9.11';
|
21 |
|
22 |
const FEED_URL = 'https://theeventscalendar.com/feed/';
|
23 |
|
162 |
*/
|
163 |
public function init_libraries() {
|
164 |
require_once $this->plugin_path . 'src/functions/utils.php';
|
165 |
+
require_once $this->plugin_path . 'src/functions/url.php';
|
166 |
require_once $this->plugin_path . 'src/functions/query.php';
|
167 |
require_once $this->plugin_path . 'src/functions/multibyte.php';
|
168 |
require_once $this->plugin_path . 'src/functions/template-tags/general.php';
|
common/src/Tribe/Repository.php
CHANGED
@@ -861,9 +861,22 @@ abstract class Tribe__Repository
|
|
861 |
* @return WP_Post
|
862 |
*/
|
863 |
protected function format_item( $id ) {
|
864 |
-
|
865 |
? get_post( $id )
|
866 |
: $this->formatter->format_item( $id );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
867 |
}
|
868 |
|
869 |
/**
|
@@ -3511,6 +3524,15 @@ abstract class Tribe__Repository
|
|
3511 |
return $this;
|
3512 |
}
|
3513 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3514 |
/**
|
3515 |
* Flush current filters and query information.
|
3516 |
*
|
861 |
* @return WP_Post
|
862 |
*/
|
863 |
protected function format_item( $id ) {
|
864 |
+
$formatted = null === $this->formatter
|
865 |
? get_post( $id )
|
866 |
: $this->formatter->format_item( $id );
|
867 |
+
|
868 |
+
/**
|
869 |
+
* Filters a single formatted result.
|
870 |
+
*
|
871 |
+
* @since TBD
|
872 |
+
*
|
873 |
+
* @param mixed|WP_Post $formatted The formatted post result, usually a post object.
|
874 |
+
* @param int $id The formatted post ID.
|
875 |
+
* @param Tribe__Repository__Interface $this The current repository object.
|
876 |
+
*/
|
877 |
+
$formatted = apply_filters( "tribe_repository_{$this->filter_name}_format_item", $formatted, $id, $this );
|
878 |
+
|
879 |
+
return $formatted;
|
880 |
}
|
881 |
|
882 |
/**
|
3524 |
return $this;
|
3525 |
}
|
3526 |
|
3527 |
+
/**
|
3528 |
+
* {@inheritDoc}
|
3529 |
+
*/
|
3530 |
+
public function set_found_rows( $found_rows ) {
|
3531 |
+
$this->skip_found_rows = ! $found_rows;
|
3532 |
+
|
3533 |
+
return $this;
|
3534 |
+
}
|
3535 |
+
|
3536 |
/**
|
3537 |
* Flush current filters and query information.
|
3538 |
*
|
common/src/Tribe/Repository/Decorator.php
CHANGED
@@ -657,14 +657,23 @@ abstract class Tribe__Repository__Decorator implements Tribe__Repository__Interf
|
|
657 |
/**
|
658 |
* {@inheritDoc}
|
659 |
*/
|
660 |
-
public function next(
|
661 |
return $this->decorated->next();
|
662 |
}
|
663 |
|
664 |
/**
|
665 |
* {@inheritDoc}
|
666 |
*/
|
667 |
-
public function prev(
|
668 |
return $this->decorated->prev();
|
669 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
670 |
}
|
657 |
/**
|
658 |
* {@inheritDoc}
|
659 |
*/
|
660 |
+
public function next() {
|
661 |
return $this->decorated->next();
|
662 |
}
|
663 |
|
664 |
/**
|
665 |
* {@inheritDoc}
|
666 |
*/
|
667 |
+
public function prev() {
|
668 |
return $this->decorated->prev();
|
669 |
}
|
670 |
+
|
671 |
+
/**
|
672 |
+
* {@inheritDoc}
|
673 |
+
*/
|
674 |
+
public function set_found_rows( $found_rows ) {
|
675 |
+
$this->decorated->set_found_rows( $found_rows );
|
676 |
+
|
677 |
+
return $this;
|
678 |
+
}
|
679 |
}
|
common/src/Tribe/Repository/Interface.php
CHANGED
@@ -291,7 +291,7 @@ interface Tribe__Repository__Interface
|
|
291 |
*
|
292 |
* @return \Tribe__Repository__Interface The repository instance that will yield the next page results.
|
293 |
*/
|
294 |
-
public function next(
|
295 |
|
296 |
/**
|
297 |
* Returns a cloned instance of the repository that will yield the previous page results.
|
@@ -304,5 +304,16 @@ interface Tribe__Repository__Interface
|
|
304 |
*
|
305 |
* @return \Tribe__Repository__Interface The repository instance that will yield the previous page results.
|
306 |
*/
|
307 |
-
public function prev(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
308 |
}
|
291 |
*
|
292 |
* @return \Tribe__Repository__Interface The repository instance that will yield the next page results.
|
293 |
*/
|
294 |
+
public function next();
|
295 |
|
296 |
/**
|
297 |
* Returns a cloned instance of the repository that will yield the previous page results.
|
304 |
*
|
305 |
* @return \Tribe__Repository__Interface The repository instance that will yield the previous page results.
|
306 |
*/
|
307 |
+
public function prev();
|
308 |
+
|
309 |
+
/**
|
310 |
+
* Sets the found rows calculation to be enabled for queries.
|
311 |
+
*
|
312 |
+
* @since 4.9.10
|
313 |
+
*
|
314 |
+
* @param bool $found_rows Whether found rows calculation should be enabled.
|
315 |
+
*
|
316 |
+
* @return \Tribe__Repository__Interface The repository instance, for chaining.
|
317 |
+
*/
|
318 |
+
public function set_found_rows( $found_rows );
|
319 |
}
|
common/src/Tribe/Rewrite.php
CHANGED
@@ -48,7 +48,7 @@ class Tribe__Rewrite {
|
|
48 |
*/
|
49 |
public $bases = array();
|
50 |
/**
|
51 |
-
* After creating the Hooks on WordPress we lock the usage of the function
|
52 |
*
|
53 |
* @var boolean
|
54 |
*/
|
@@ -57,6 +57,8 @@ class Tribe__Rewrite {
|
|
57 |
/**
|
58 |
* An array cache of resolved canonical URLs in the shape `[ <url> => <canonical_url> ]`.
|
59 |
*
|
|
|
|
|
60 |
* @var array
|
61 |
*/
|
62 |
protected $canonical_url_cache = null;
|
@@ -64,10 +66,21 @@ class Tribe__Rewrite {
|
|
64 |
/**
|
65 |
* An array cache of parsed URLs in the shape `[ <url> => <parsed_vars> ]`.
|
66 |
*
|
|
|
|
|
67 |
* @var array
|
68 |
*/
|
69 |
protected $parse_request_cache = null;
|
70 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
/**
|
72 |
* Static Singleton Factory Method
|
73 |
*
|
@@ -76,7 +89,6 @@ class Tribe__Rewrite {
|
|
76 |
public static function instance() {
|
77 |
if ( ! static::$instance ) {
|
78 |
static::$instance = new static;
|
79 |
-
static::$instance->setup();
|
80 |
}
|
81 |
|
82 |
return static::$instance;
|
@@ -118,20 +130,6 @@ class Tribe__Rewrite {
|
|
118 |
// Gets the rewrite bases and completes any other required setup work
|
119 |
$this->setup( $wp_rewrite );
|
120 |
|
121 |
-
/**
|
122 |
-
* Use this to change the Tribe__Events__Rewrite instance before new rules
|
123 |
-
* are committed.
|
124 |
-
*
|
125 |
-
* Should be used when you want to add more rewrite rules without having to
|
126 |
-
* deal with the array merge, noting that rules for The Events Calendar are
|
127 |
-
* themselves added via this hook (default priority).
|
128 |
-
*
|
129 |
-
* @var Tribe__Events__Rewrite $rewrite
|
130 |
-
*
|
131 |
-
* @deprecated 4.3 Use `tribe_pre_rewrite`
|
132 |
-
*/
|
133 |
-
do_action( 'tribe_events_pre_rewrite', $this );
|
134 |
-
|
135 |
/**
|
136 |
* Use this to change the Tribe__Rewrite instance before new rules
|
137 |
* are committed.
|
@@ -334,8 +332,7 @@ class Tribe__Rewrite {
|
|
334 |
* @param string $url The URL to try and translate into its canonical form.
|
335 |
* @param bool $force Whether to try and use the cache or force a new canonical URL conversion.
|
336 |
*
|
337 |
-
* @return string
|
338 |
-
*
|
339 |
*/
|
340 |
public function get_canonical_url( $url, $force = false ) {
|
341 |
if ( get_class( $this ) === Tribe__Rewrite::class ) {
|
@@ -503,7 +500,8 @@ class Tribe__Rewrite {
|
|
503 |
}
|
504 |
|
505 |
if ( $canonical_url !== $resolved ) {
|
506 |
-
|
|
|
507 |
}
|
508 |
|
509 |
if ( count( $unmatched_vars ) ) {
|
@@ -649,7 +647,9 @@ class Tribe__Rewrite {
|
|
649 |
$slugs = explode( '|', $matches['slugs'] );
|
650 |
// The localized version is the last.
|
651 |
$localized_slug = end( $slugs );
|
652 |
-
|
|
|
|
|
653 |
}
|
654 |
}
|
655 |
|
@@ -702,7 +702,7 @@ class Tribe__Rewrite {
|
|
702 |
*
|
703 |
* @return array An array of query vars, as parsed from the input URL.
|
704 |
*/
|
705 |
-
public function parse_request(
|
706 |
if ( null === $this->rewrite ) {
|
707 |
// We re-do this check here as the object might have been initialized before the global rewrite was set.
|
708 |
$this->setup();
|
@@ -913,4 +913,43 @@ class Tribe__Rewrite {
|
|
913 |
public function __destruct() {
|
914 |
$this->dump_cache();
|
915 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
916 |
}
|
48 |
*/
|
49 |
public $bases = array();
|
50 |
/**
|
51 |
+
* After creating the Hooks on WordPress we lock the usage of the function.
|
52 |
*
|
53 |
* @var boolean
|
54 |
*/
|
57 |
/**
|
58 |
* An array cache of resolved canonical URLs in the shape `[ <url> => <canonical_url> ]`.
|
59 |
*
|
60 |
+
* @since TBD
|
61 |
+
*
|
62 |
* @var array
|
63 |
*/
|
64 |
protected $canonical_url_cache = null;
|
66 |
/**
|
67 |
* An array cache of parsed URLs in the shape `[ <url> => <parsed_vars> ]`.
|
68 |
*
|
69 |
+
* @since TBD
|
70 |
+
*
|
71 |
* @var array
|
72 |
*/
|
73 |
protected $parse_request_cache = null;
|
74 |
|
75 |
+
/**
|
76 |
+
* And array cache of cleaned URLs.
|
77 |
+
*
|
78 |
+
* @since TBD
|
79 |
+
*
|
80 |
+
* @var array
|
81 |
+
*/
|
82 |
+
protected $clean_url_cache = null;
|
83 |
+
|
84 |
/**
|
85 |
* Static Singleton Factory Method
|
86 |
*
|
89 |
public static function instance() {
|
90 |
if ( ! static::$instance ) {
|
91 |
static::$instance = new static;
|
|
|
92 |
}
|
93 |
|
94 |
return static::$instance;
|
130 |
// Gets the rewrite bases and completes any other required setup work
|
131 |
$this->setup( $wp_rewrite );
|
132 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
/**
|
134 |
* Use this to change the Tribe__Rewrite instance before new rules
|
135 |
* are committed.
|
332 |
* @param string $url The URL to try and translate into its canonical form.
|
333 |
* @param bool $force Whether to try and use the cache or force a new canonical URL conversion.
|
334 |
*
|
335 |
+
* @return string The canonical URL, or the input URL if it could not be resolved to a canonical one.
|
|
|
336 |
*/
|
337 |
public function get_canonical_url( $url, $force = false ) {
|
338 |
if ( get_class( $this ) === Tribe__Rewrite::class ) {
|
500 |
}
|
501 |
|
502 |
if ( $canonical_url !== $resolved ) {
|
503 |
+
// Be sure to add a trailing slash to the URL; before `?` or `#`.
|
504 |
+
$resolved = preg_replace( '/(?<!\\/)(#|\\?)/u', '/$1', $resolved );
|
505 |
}
|
506 |
|
507 |
if ( count( $unmatched_vars ) ) {
|
647 |
$slugs = explode( '|', $matches['slugs'] );
|
648 |
// The localized version is the last.
|
649 |
$localized_slug = end( $slugs );
|
650 |
+
// We use two different regular expressions to read pages, let's add both.
|
651 |
+
$dynamic_matchers["{$page_regex}/(\d+)"] = "{$localized_slug}/{$query_vars['paged']}";
|
652 |
+
$dynamic_matchers["{$page_regex}/([0-9]{1,})"] = "{$localized_slug}/{$query_vars['paged']}";
|
653 |
}
|
654 |
}
|
655 |
|
702 |
*
|
703 |
* @return array An array of query vars, as parsed from the input URL.
|
704 |
*/
|
705 |
+
public function parse_request( $url, array $extra_query_vars = [], $force = false ) {
|
706 |
if ( null === $this->rewrite ) {
|
707 |
// We re-do this check here as the object might have been initialized before the global rewrite was set.
|
708 |
$this->setup();
|
913 |
public function __destruct() {
|
914 |
$this->dump_cache();
|
915 |
}
|
916 |
+
|
917 |
+
/**
|
918 |
+
* Returns the "clean" version of a URL.
|
919 |
+
*
|
920 |
+
* The URL is first parsed then resolved to a canonical URL.
|
921 |
+
* As an example the URL `/events/list/?post_type=tribe_events` is "dirty" in that the `post_type` query variable
|
922 |
+
* is redundant. The clean version of the URL is `/events/list/`, where the query variable is removed.
|
923 |
+
*
|
924 |
+
* @since TBD
|
925 |
+
*
|
926 |
+
* @param string $url The URL to clean.
|
927 |
+
* @param bool $force Whether to try and use the cache or force a new URL cleaning run.
|
928 |
+
*
|
929 |
+
* @return string The cleaned URL, or the input URL if it could not be resolved to a clean one.
|
930 |
+
*/
|
931 |
+
public function get_clean_url( $url, $force = false ) {
|
932 |
+
if ( ! $force ) {
|
933 |
+
$this->warmup_cache(
|
934 |
+
'clean_url',
|
935 |
+
WEEK_IN_SECONDS,
|
936 |
+
Listener::TRIGGER_GENERATE_REWRITE_RULES
|
937 |
+
);
|
938 |
+
if ( isset( $this->clean_url_cache[ $url ] ) ) {
|
939 |
+
return $this->clean_url_cache[ $url ];
|
940 |
+
}
|
941 |
+
}
|
942 |
+
|
943 |
+
$parsed_vars = $this->parse_request( $url );
|
944 |
+
|
945 |
+
if ( empty( $parsed_vars ) ) {
|
946 |
+
return home_url();
|
947 |
+
}
|
948 |
+
|
949 |
+
$clean = $this->get_canonical_url( add_query_arg( $parsed_vars, home_url() ) );
|
950 |
+
|
951 |
+
$this->clean_url_cache[ $url ] = $clean;
|
952 |
+
|
953 |
+
return $clean;
|
954 |
+
}
|
955 |
}
|
common/src/Tribe/Utils/Array.php
CHANGED
@@ -417,4 +417,27 @@ class Tribe__Utils__Array {
|
|
417 |
|
418 |
return ksort( $array );
|
419 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
420 |
}
|
417 |
|
418 |
return ksort( $array );
|
419 |
}
|
420 |
+
|
421 |
+
/**
|
422 |
+
* Returns the value associated with the first index, among the indexes, that is set in the array..
|
423 |
+
*
|
424 |
+
* @since TBD
|
425 |
+
*
|
426 |
+
* @param array $array The array to search.
|
427 |
+
* @param array $indexes The indexes to search; in order the function will look from the first to the last.
|
428 |
+
* @param null $default The value that will be returned if the array does not have any of the indexes set.
|
429 |
+
*
|
430 |
+
* @return mixed|null The set value or the default value.
|
431 |
+
*/
|
432 |
+
public static function get_first_set( array $array, array $indexes, $default = null ) {
|
433 |
+
foreach ( $indexes as $index ) {
|
434 |
+
if ( ! isset( $array[ $index ] ) ) {
|
435 |
+
continue;
|
436 |
+
}
|
437 |
+
|
438 |
+
return $array[ $index ];
|
439 |
+
}
|
440 |
+
|
441 |
+
return $default;
|
442 |
+
}
|
443 |
}
|
common/src/functions/url.php
ADDED
@@ -0,0 +1,182 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Functions, or polyfills, related to URL manipulation
|
4 |
+
*
|
5 |
+
* @since TBD
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* The code for the `tribe_build_url` function is from https://github.com/jakeasmith/http_build_url
|
10 |
+
*
|
11 |
+
* @see https://github.com/jakeasmith/http_build_url
|
12 |
+
*
|
13 |
+
* URL constants as defined in the PHP Manual under "Constants usable with
|
14 |
+
* http_build_url()".
|
15 |
+
*
|
16 |
+
* @see http://us2.php.net/manual/en/http.constants.php#http.constants.url
|
17 |
+
*/
|
18 |
+
if ( ! defined( 'HTTP_URL_REPLACE' ) ) {
|
19 |
+
define( 'HTTP_URL_REPLACE', 1 );
|
20 |
+
}
|
21 |
+
if ( ! defined( 'HTTP_URL_JOIN_PATH' ) ) {
|
22 |
+
define( 'HTTP_URL_JOIN_PATH', 2 );
|
23 |
+
}
|
24 |
+
if ( ! defined( 'HTTP_URL_JOIN_QUERY' ) ) {
|
25 |
+
define( 'HTTP_URL_JOIN_QUERY', 4 );
|
26 |
+
}
|
27 |
+
if ( ! defined( 'HTTP_URL_STRIP_USER' ) ) {
|
28 |
+
define( 'HTTP_URL_STRIP_USER', 8 );
|
29 |
+
}
|
30 |
+
if ( ! defined( 'HTTP_URL_STRIP_PASS' ) ) {
|
31 |
+
define( 'HTTP_URL_STRIP_PASS', 16 );
|
32 |
+
}
|
33 |
+
if ( ! defined( 'HTTP_URL_STRIP_AUTH' ) ) {
|
34 |
+
define( 'HTTP_URL_STRIP_AUTH', 32 );
|
35 |
+
}
|
36 |
+
if ( ! defined( 'HTTP_URL_STRIP_PORT' ) ) {
|
37 |
+
define( 'HTTP_URL_STRIP_PORT', 64 );
|
38 |
+
}
|
39 |
+
if ( ! defined( 'HTTP_URL_STRIP_PATH' ) ) {
|
40 |
+
define( 'HTTP_URL_STRIP_PATH', 128 );
|
41 |
+
}
|
42 |
+
if ( ! defined( 'HTTP_URL_STRIP_QUERY' ) ) {
|
43 |
+
define( 'HTTP_URL_STRIP_QUERY', 256 );
|
44 |
+
}
|
45 |
+
if ( ! defined( 'HTTP_URL_STRIP_FRAGMENT' ) ) {
|
46 |
+
define( 'HTTP_URL_STRIP_FRAGMENT', 512 );
|
47 |
+
}
|
48 |
+
if ( ! defined( 'HTTP_URL_STRIP_ALL' ) ) {
|
49 |
+
define( 'HTTP_URL_STRIP_ALL', 1024 );
|
50 |
+
}
|
51 |
+
|
52 |
+
if ( ! function_exists( 'tribe_build_url' ) ) {
|
53 |
+
/**
|
54 |
+
* Build a URL.
|
55 |
+
*
|
56 |
+
* The parts of the second URL will be merged into the first according to
|
57 |
+
* the flags argument.
|
58 |
+
*
|
59 |
+
* @since TBD
|
60 |
+
*
|
61 |
+
* @param mixed $url (part(s) of) an URL in form of a string or associative array like parse_url() returns.
|
62 |
+
* @param mixed $parts Same as the first argument.
|
63 |
+
* @param int $flags A bitmask of binary ordered HTTP_URL constants; HTTP_URL_REPLACE is the default.
|
64 |
+
* @param array $new_url if set, it will be filled with the parts of the composed url like `parse_url()` would
|
65 |
+
* return.
|
66 |
+
*
|
67 |
+
* @return string The URL built from its parts.
|
68 |
+
*/
|
69 |
+
function tribe_build_url( $url, $parts = [], $flags = HTTP_URL_REPLACE, &$new_url = [] ) {
|
70 |
+
is_array( $url ) || $url = parse_url( $url );
|
71 |
+
is_array( $parts ) || $parts = parse_url( $parts );
|
72 |
+
|
73 |
+
( isset( $url['query'] ) && is_string( $url['query'] ) ) || $url['query'] = null;
|
74 |
+
( isset( $parts['query'] ) && is_string( $parts['query'] ) ) || $parts['query'] = null;
|
75 |
+
|
76 |
+
$keys = [ 'user', 'pass', 'port', 'path', 'query', 'fragment' ];
|
77 |
+
|
78 |
+
// HTTP_URL_STRIP_ALL and HTTP_URL_STRIP_AUTH cover several other flags.
|
79 |
+
if ( $flags & HTTP_URL_STRIP_ALL ) {
|
80 |
+
$flags |= HTTP_URL_STRIP_USER | HTTP_URL_STRIP_PASS
|
81 |
+
| HTTP_URL_STRIP_PORT | HTTP_URL_STRIP_PATH
|
82 |
+
| HTTP_URL_STRIP_QUERY | HTTP_URL_STRIP_FRAGMENT;
|
83 |
+
} elseif ( $flags & HTTP_URL_STRIP_AUTH ) {
|
84 |
+
$flags |= HTTP_URL_STRIP_USER | HTTP_URL_STRIP_PASS;
|
85 |
+
}
|
86 |
+
|
87 |
+
// Schema and host are alwasy replaced
|
88 |
+
foreach ( [ 'scheme', 'host' ] as $part ) {
|
89 |
+
if ( isset( $parts[ $part ] ) ) {
|
90 |
+
$url[ $part ] = $parts[ $part ];
|
91 |
+
}
|
92 |
+
}
|
93 |
+
|
94 |
+
if ( $flags & HTTP_URL_REPLACE ) {
|
95 |
+
foreach ( $keys as $key ) {
|
96 |
+
if ( isset( $parts[ $key ] ) ) {
|
97 |
+
$url[ $key ] = $parts[ $key ];
|
98 |
+
}
|
99 |
+
}
|
100 |
+
} else {
|
101 |
+
if ( isset( $parts['path'] ) && ( $flags & HTTP_URL_JOIN_PATH ) ) {
|
102 |
+
if ( isset( $url['path'] ) && substr( $parts['path'], 0, 1 ) !== '/' ) {
|
103 |
+
// Workaround for trailing slashes
|
104 |
+
$url['path'] .= 'a';
|
105 |
+
$url['path'] = rtrim(
|
106 |
+
str_replace( basename( $url['path'] ), '', $url['path'] ),
|
107 |
+
'/'
|
108 |
+
) . '/' . ltrim( $parts['path'], '/' );
|
109 |
+
} else {
|
110 |
+
$url['path'] = $parts['path'];
|
111 |
+
}
|
112 |
+
}
|
113 |
+
|
114 |
+
if ( isset( $parts['query'] ) && ( $flags & HTTP_URL_JOIN_QUERY ) ) {
|
115 |
+
if ( isset( $url['query'] ) ) {
|
116 |
+
parse_str( $url['query'], $url_query );
|
117 |
+
parse_str( $parts['query'], $parts_query );
|
118 |
+
|
119 |
+
$url['query'] = http_build_query(
|
120 |
+
array_replace_recursive(
|
121 |
+
$url_query,
|
122 |
+
$parts_query
|
123 |
+
)
|
124 |
+
);
|
125 |
+
} else {
|
126 |
+
$url['query'] = $parts['query'];
|
127 |
+
}
|
128 |
+
}
|
129 |
+
}
|
130 |
+
|
131 |
+
if ( isset( $url['path'] ) && $url['path'] !== '' && substr( $url['path'], 0, 1 ) !== '/' ) {
|
132 |
+
$url['path'] = '/' . $url['path'];
|
133 |
+
}
|
134 |
+
|
135 |
+
foreach ( $keys as $key ) {
|
136 |
+
$strip = 'HTTP_URL_STRIP_' . strtoupper( $key );
|
137 |
+
if ( $flags & constant( $strip ) ) {
|
138 |
+
unset( $url[ $key ] );
|
139 |
+
}
|
140 |
+
}
|
141 |
+
|
142 |
+
$parsed_string = '';
|
143 |
+
|
144 |
+
if ( ! empty( $url['scheme'] ) ) {
|
145 |
+
$parsed_string .= $url['scheme'] . '://';
|
146 |
+
}
|
147 |
+
|
148 |
+
if ( ! empty( $url['user'] ) ) {
|
149 |
+
$parsed_string .= $url['user'];
|
150 |
+
|
151 |
+
if ( isset( $url['pass'] ) ) {
|
152 |
+
$parsed_string .= ':' . $url['pass'];
|
153 |
+
}
|
154 |
+
|
155 |
+
$parsed_string .= '@';
|
156 |
+
}
|
157 |
+
|
158 |
+
if ( ! empty( $url['host'] ) ) {
|
159 |
+
$parsed_string .= $url['host'];
|
160 |
+
}
|
161 |
+
|
162 |
+
if ( ! empty( $url['port'] ) ) {
|
163 |
+
$parsed_string .= ':' . $url['port'];
|
164 |
+
}
|
165 |
+
|
166 |
+
if ( ! empty( $url['path'] ) ) {
|
167 |
+
$parsed_string .= $url['path'];
|
168 |
+
}
|
169 |
+
|
170 |
+
if ( ! empty( $url['query'] ) ) {
|
171 |
+
$parsed_string .= '?' . $url['query'];
|
172 |
+
}
|
173 |
+
|
174 |
+
if ( ! empty( $url['fragment'] ) ) {
|
175 |
+
$parsed_string .= '#' . $url['fragment'];
|
176 |
+
}
|
177 |
+
|
178 |
+
$new_url = $url;
|
179 |
+
|
180 |
+
return $parsed_string;
|
181 |
+
}
|
182 |
+
}
|
common/src/resources/css/common.css
CHANGED
@@ -1564,6 +1564,7 @@ body#top .tribe-common .tribe-common-form-control-toggle__label {
|
|
1564 |
|
1565 |
.tribe-common button {
|
1566 |
background-color: #FFFFFF;
|
|
|
1567 |
}
|
1568 |
|
1569 |
/* -----------------------------------------------------------------------------
|
@@ -1946,7 +1947,6 @@ body#top .tribe-common .tribe-common-form-control-toggle__label {
|
|
1946 |
right: 0;
|
1947 |
top: 0;
|
1948 |
width: 100%;
|
1949 |
-
overflow: hidden;
|
1950 |
}
|
1951 |
|
1952 |
/**
|
@@ -1987,8 +1987,7 @@ body#top .tribe-common .tribe-common-form-control-toggle__label {
|
|
1987 |
|
1988 |
}
|
1989 |
|
1990 |
-
|
1991 |
-
}
|
1992 |
|
1993 |
.tribe-common .tribe-common-c-nav__prev,
|
1994 |
.tribe-common .tribe-common-c-nav__next {
|
@@ -2001,7 +2000,6 @@ body#top .tribe-common .tribe-common-form-control-toggle__label {
|
|
2001 |
font-size: 12px;
|
2002 |
line-height: 1.42;
|
2003 |
font-weight: 700;
|
2004 |
-
|
2005 |
}
|
2006 |
|
2007 |
.tribe-common .tribe-common-c-nav__prev:hover, .tribe-common .tribe-common-c-nav__next:hover {
|
@@ -2009,6 +2007,7 @@ body#top .tribe-common .tribe-common-form-control-toggle__label {
|
|
2009 |
}
|
2010 |
|
2011 |
.tribe-common .tribe-common-c-nav__prev:disabled, .tribe-common .tribe-common-c-nav__next:disabled {
|
|
|
2012 |
color: #D5D5D5;
|
2013 |
}
|
2014 |
|
@@ -2256,7 +2255,6 @@ body#top .tribe-common .tribe-common-form-control-tabs__label {
|
|
2256 |
.tribe-common .tribe-common-c-nav__prev,
|
2257 |
.tribe-common .tribe-common-c-nav__next {
|
2258 |
font-size: 14px
|
2259 |
-
|
2260 |
}
|
2261 |
|
2262 |
.tribe-common .tribe-common-c-search {
|
1564 |
|
1565 |
.tribe-common button {
|
1566 |
background-color: #FFFFFF;
|
1567 |
+
padding: 0;
|
1568 |
}
|
1569 |
|
1570 |
/* -----------------------------------------------------------------------------
|
1947 |
right: 0;
|
1948 |
top: 0;
|
1949 |
width: 100%;
|
|
|
1950 |
}
|
1951 |
|
1952 |
/**
|
1987 |
|
1988 |
}
|
1989 |
|
1990 |
+
/* .tribe-common-c-nav__list-item {} */
|
|
|
1991 |
|
1992 |
.tribe-common .tribe-common-c-nav__prev,
|
1993 |
.tribe-common .tribe-common-c-nav__next {
|
2000 |
font-size: 12px;
|
2001 |
line-height: 1.42;
|
2002 |
font-weight: 700;
|
|
|
2003 |
}
|
2004 |
|
2005 |
.tribe-common .tribe-common-c-nav__prev:hover, .tribe-common .tribe-common-c-nav__next:hover {
|
2007 |
}
|
2008 |
|
2009 |
.tribe-common .tribe-common-c-nav__prev:disabled, .tribe-common .tribe-common-c-nav__next:disabled {
|
2010 |
+
background-color: transparent;
|
2011 |
color: #D5D5D5;
|
2012 |
}
|
2013 |
|
2255 |
.tribe-common .tribe-common-c-nav__prev,
|
2256 |
.tribe-common .tribe-common-c-nav__next {
|
2257 |
font-size: 14px
|
|
|
2258 |
}
|
2259 |
|
2260 |
.tribe-common .tribe-common-c-search {
|
common/src/resources/css/common.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 ol,.tribe-common ul{list-style:none}.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-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;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{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:1px solid #141827;cursor:pointer;display:inline-block;height:20px;margin:0;position:relative;vertical-align:middle;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' viewBox='0 0 12 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}.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-input-group>*{margin-bottom:8px}.tribe-common .tribe-common-form-control-input-group>:last-child{margin-bottom:0}.tribe-common .tribe-common-form-control-select{position:relative}.tribe-common .tribe-common-form-control-select__button{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:1px solid #d5d5d5;padding:12px 40px 12px 18px;position:relative;text-align:left;width:205px}.tribe-common .tribe-common-form-control-select__button:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='6' viewBox='0 0 12 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23727272' d='M6 6l6-6H0z'/%3E%3C/svg%3E");content:"";height:6px;position:absolute;right:16px;top:50%;transform:translateY(-50%);width:12px}.tribe-common .tribe-common-form-control-select__list{background-color:#fff;border:1px solid #d5d5d5;box-shadow:0 2px 5px 0 rgba(0,0,0,.14);left:0;position:absolute;top:55px;width:205px}.tribe-common .tribe-common-form-control-select__list-item{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;cursor:pointer;padding:6px 18px;text-align:left}.tribe-common .tribe-common-form-control-select__list-item:first-child{padding-top:16px}.tribe-common .tribe-common-form-control-select__list-item:last-child{padding-bottom:16px}.tribe-common .tribe-common-form-control-select__list-item[aria-selected=true]{color:#141827;font-weight:700}.tribe-common .tribe-common-form-control-slider__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;cursor:pointer;display:inline-block;margin:0;padding:0;width:120px;vertical-align:middle}.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;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-tabs{position:relative}.tribe-common .tribe-common-form-control-tabs__button{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:1px solid #d5d5d5;padding:12px 40px 12px 18px;position:relative;text-align:left;width:205px}.tribe-common .tribe-common-form-control-tabs__button:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='6' viewBox='0 0 12 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23727272' d='M6 6l6-6H0z'/%3E%3C/svg%3E");content:"";height:6px;position:absolute;right:16px;top:50%;transform:translateY(-50%);width:12px}.tribe-common .tribe-common-form-control-tabs__list{background-color:#fff;border:1px solid #d5d5d5;box-shadow:0 2px 5px 0 rgba(0,0,0,.14);left:0;position:absolute;top:55px;width:205px}.tribe-common .tribe-common-form-control-tabs__list-item:first-child .tribe-common-form-control-tabs__label{padding-top:16px}.tribe-common .tribe-common-form-control-tabs__list-item:last-child .tribe-common-form-control-tabs__label{padding-bottom:16px}.tribe-common .tribe-common-form-control-tabs__input{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-tabs__input:checked+.tribe-common-form-control-tabs__label{color:#141827;font-weight:700}.tribe-common .tribe-common-form-control-tabs__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;cursor:pointer;padding:6px 18px;text-align:left}body#top .tribe-common .tribe-common-form-control-tabs__list-item:first-child .tribe-common-form-control-tabs__label{padding-top:16px}body#top .tribe-common .tribe-common-form-control-tabs__list-item:last-child .tribe-common-form-control-tabs__label{padding-bottom:16px}body#top .tribe-common .tribe-common-form-control-tabs__input:checked+.tribe-common-form-control-tabs__label{color:#141827;font-weight:700}body#top .tribe-common .tribe-common-form-control-tabs__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}.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{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:1px solid #d5d5d5;padding:12px 18px;width:100%}.tribe-common .tribe-common-form-control-text__input::-webkit-input-placeholder{color:#727272;font-weight:400}.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-weight:400}.tribe-common .tribe-common-form-control-text__input::placeholder{color:#727272;font-weight:400}body#top .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;font-weight:700;border:1px solid #d5d5d5;padding:12px 18px;width:100%}body#top .tribe-common .tribe-common-form-control-text__input::-webkit-input-placeholder{color:#727272;font-weight:400}body#top .tribe-common .tribe-common-form-control-text__input:-ms-input-placeholder,body#top .tribe-common .tribe-common-form-control-text__input::-ms-input-placeholder{color:#727272;font-weight:400}body#top .tribe-common .tribe-common-form-control-text__input::placeholder{color:#727272;font-weight:400}.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;cursor:pointer;display:inline-block;vertical-align:middle;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;cursor:pointer;display:inline-block;margin-left:11px;vertical-align:middle}.tribe-common .tribe-common-form-control-toggle--vertical .tribe-common-form-control-toggle__label{display:block;margin:0 0 6px}body#top .tribe-common .tribe-common-form-control-toggle__input{display:inline-block}body#top .tribe-common .tribe-common-form-control-toggle__label{color:#727272;font-weight:400}.tribe-common .tribe-common-g-col{min-width:0;width:100%}.tribe-common .tribe-common-g-row{display:flex;flex-wrap:wrap}.tribe-common a{cursor:pointer}.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;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-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;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-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{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;font-size:22px;line-height:1.5}.tribe-common .tribe-common-h3--alt{font-weight:400}.tribe-common .tribe-common-h4{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;font-size:20px;line-height:1.42}.tribe-common .tribe-common-h4--alt{font-weight:400}.tribe-common .tribe-common-h5{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;font-size:18px;line-height:1.5}.tribe-common .tribe-common-h6{font-size:16px}.tribe-common .tribe-common-h6,.tribe-common .tribe-common-h7{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;line-height:1.62}.tribe-common .tribe-common-h7{font-size:14px}.tribe-common .tribe-common-h8{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;font-size:12px;line-height:1.38}.tribe-common button{background-color:#fff}.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-size:contain;background-repeat:no-repeat}.tribe-common .tribe-common-svgicon--featured{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='20' viewBox='0 0 16 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23334AFF' d='M0 0h16v20l-7.902-5.122L0 20z'/%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' viewBox='0 0 20 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");height:10px;width:10px}.tribe-common-a11y-hidden{display:none!important;visibility:hidden}.tribe-common-a11y-visual-hide,.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{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;border:1px solid #d5d5d5;transition:color .2s ease,border-color .2s ease;color:#727272;padding:6px 16px 7px}.tribe-common .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{color:#141827}.tribe-common .tribe-common-c-btn-border:disabled{color:#d5d5d5}.tribe-common .tribe-common-c-btn-icon{border:0;cursor:pointer;display:inline-block;height:auto;padding:0;text-decoration:none;width:auto;background-color:transparent}.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--border{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:active{border-color:#141827}.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' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23727272' d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z'/%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' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23141827' d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z'/%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' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23D5D5D5' d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z'/%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' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23727272' d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z'/%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' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23141827' d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z'/%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' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23D5D5D5' d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z'/%3E%3C/svg%3E")}.tribe-common .tribe-common-c-btn-icon--filters:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='20' viewBox='0 0 24 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 16.75l22 .232M0 9.75l22 .232M0 2.75l22 .232' stroke-width='1.5' stroke-linecap='square' fill='%23727272' stroke='%23727272'/%3E%3Cpath d='M6 6a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM6 20a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM16 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6z' fill='%23727272' stroke='%23727272'/%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 width='24' height='20' viewBox='0 0 24 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 16.75l22 .232M0 9.75l22 .232M0 2.75l22 .232' stroke-width='1.5' stroke-linecap='square' fill='%23141827' stroke='%23141827'/%3E%3Cpath d='M6 6a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM6 20a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM16 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6z' fill='%23141827' stroke='%23141827'/%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 width='24' height='20' viewBox='0 0 24 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 16.75l22 .232M0 9.75l22 .232M0 2.75l22 .232' stroke-width='1.5' stroke-linecap='square' fill='%23D5D5D5' stroke='%23D5D5D5'/%3E%3Cpath d='M6 6a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM6 20a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM16 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6z' fill='%23D5D5D5' stroke='%23D5D5D5'/%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' viewBox='0 0 20 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' viewBox='0 0 20 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' viewBox='0 0 20 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{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;color:#fff;text-align:center;transition:background-color .2s ease;background-color:#334aff;padding:16px 22px 17px;width:100%}.tribe-common .tribe-common-c-btn:focus,.tribe-common .tribe-common-c-btn:hover{background-color:rgba(51,74,255,.8)}.tribe-common .tribe-common-c-btn:active{background-color:rgba(51,74,255,.9)}.tribe-common .tribe-common-c-btn:disabled{background-color:rgba(51,74,255,.07)}.tribe-common .tribe-common-c-btn:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='22' height='19' viewBox='0 0 22 19' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23FFF' d='M11.648 0L9.62 1.956l6.23 6.005H0v2.793h15.85L9.62 16.76l2.028 1.956 9.705-9.358z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;content:"";display:inline-block;height:10px;margin-left:8px;width:12px}.tribe-common .tribe-common-c-btn--secondary{padding:12px 19px 13px;width:auto}.tribe-common .tribe-common-c-btn--secondary:after{content:none}.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%;overflow:hidden}.tribe-common .tribe-common-c-nav{border-top:1px solid #d5d5d5;padding-top:24px}.tribe-common .tribe-common-c-nav__list{display:flex;list-style:none;width:100%;flex-wrap:wrap;justify-content:space-between}.tribe-common .tribe-common-c-nav__next,.tribe-common .tribe-common-c-nav__prev{display:flex;justify-content:center;flex-wrap:wrap;align-items:center;color:#727272;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:12px;line-height:1.42;font-weight:700}.tribe-common .tribe-common-c-nav__next:hover,.tribe-common .tribe-common-c-nav__prev:hover{color:var(--color-navigation-hover)}.tribe-common .tribe-common-c-nav__next:disabled,.tribe-common .tribe-common-c-nav__prev:disabled{color:#d5d5d5}.tribe-common .tribe-common-c-nav__prev:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23727272' d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;content:"";height:14px;margin-right:10px;width:12px}.tribe-common .tribe-common-c-nav__prev:active:before,.tribe-common .tribe-common-c-nav__prev:focus:before,.tribe-common .tribe-common-c-nav__prev:hover:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23141827' d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z'/%3E%3C/svg%3E")}.tribe-common .tribe-common-c-nav__prev:disabled:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23D5D5D5' d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z'/%3E%3C/svg%3E")}.tribe-common .tribe-common-c-nav__next:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23727272' d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;content:"";height:14px;margin-left:10px;width:12px}.tribe-common .tribe-common-c-nav__next:active:after,.tribe-common .tribe-common-c-nav__next:focus:after,.tribe-common .tribe-common-c-nav__next:hover:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23141827' d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z'/%3E%3C/svg%3E")}.tribe-common .tribe-common-c-nav__next:disabled:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23D5D5D5' d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z'/%3E%3C/svg%3E")}.tribe-common .tribe-common-c-search__input-group>:first-child{flex:1 1 34.5%}.tribe-common .tribe-common-c-search__input-group>:nth-child(2){flex:1 1 37.5%}.tribe-common .tribe-common-c-search__input-group>:nth-child(3){flex:1 1 28%}.tribe-common .tribe-common-c-search__button{flex:none;margin-top:8px}@media (min-width:768px){.tribe-common .tribe-common-form-control-select__button{padding:16px 44px 16px 18px;width:220px}.tribe-common .tribe-common-form-control-select__button:after{right:18px}.tribe-common .tribe-common-form-control-select__list{width:220px}.tribe-common .tribe-common-form-control-tabs{display:flex}.tribe-common .tribe-common-form-control-tabs__button{display:none!important;visibility:hidden}.tribe-common .tribe-common-form-control-tabs__list{border:1px solid #d5d5d5;box-shadow:none;display:flex!important;flex:none;position:static;visibility:visible;width:auto;outline:none}.tribe-common .tribe-common-form-control-tabs__list-item:first-child .tribe-common-form-control-tabs__label{margin-top:-6px;padding-top:17px}.tribe-common .tribe-common-form-control-tabs__list-item:last-child .tribe-common-form-control-tabs__label{margin-bottom:-6px;padding-bottom:17px}.tribe-common .tribe-common-form-control-tabs__list-item{border-right:1px solid #d5d5d5;flex:none;margin:6px 0;width:88px}.tribe-common .tribe-common-form-control-tabs__list-item:last-child{border:none;width:87px}.tribe-common .tribe-common-form-control-tabs__label{margin:-6px 0;padding:17px 5px;text-align:center;display:block}body#top .tribe-common .tribe-common-form-control-tabs__list-item:first-child .tribe-common-form-control-tabs__label{margin-top:-6px;padding-top:17px}body#top .tribe-common .tribe-common-form-control-tabs__list-item:last-child .tribe-common-form-control-tabs__label{margin-bottom:-6px;padding-bottom:17px}body#top .tribe-common .tribe-common-form-control-tabs__label{margin:-6px 0;padding:17px 5px;text-align:center;display:block}.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-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-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-l-container{padding-left:42px;padding-right:42px}.tribe-common .tribe-common-c-btn{width:auto}.tribe-common .tribe-common-c-nav{padding-top:32px}.tribe-common .tribe-common-c-nav__next,.tribe-common .tribe-common-c-nav__prev{font-size:14px}.tribe-common .tribe-common-c-search{display:flex}.tribe-common .tribe-common-c-search__input-group{background-color:#fff;border:1px solid #d5d5d5;border-right:none;display:flex;flex:auto;max-width:645px;padding:8px 0}.tribe-common .tribe-common-c-search__input-group>*{margin-bottom:0}.tribe-common .tribe-common-c-search__input{border:none;border-right:1px solid #d5d5d5;height:auto;padding:7px 18px 8px}.tribe-common .tribe-common-c-search__button{margin-top:0}body#top .tribe-common .tribe-common-form-control-text-group{padding:8px 0}body#top .tribe-common .tribe-common-c-search__input{border:none;border-right:1px solid #d5d5d5;padding:7px 18px 8px}}
|
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 ol,.tribe-common ul{list-style:none}.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-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;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{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:1px solid #141827;cursor:pointer;display:inline-block;height:20px;margin:0;position:relative;vertical-align:middle;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' viewBox='0 0 12 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}.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-input-group>*{margin-bottom:8px}.tribe-common .tribe-common-form-control-input-group>:last-child{margin-bottom:0}.tribe-common .tribe-common-form-control-select{position:relative}.tribe-common .tribe-common-form-control-select__button{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:1px solid #d5d5d5;padding:12px 40px 12px 18px;position:relative;text-align:left;width:205px}.tribe-common .tribe-common-form-control-select__button:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='6' viewBox='0 0 12 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23727272' d='M6 6l6-6H0z'/%3E%3C/svg%3E");content:"";height:6px;position:absolute;right:16px;top:50%;transform:translateY(-50%);width:12px}.tribe-common .tribe-common-form-control-select__list{background-color:#fff;border:1px solid #d5d5d5;box-shadow:0 2px 5px 0 rgba(0,0,0,.14);left:0;position:absolute;top:55px;width:205px}.tribe-common .tribe-common-form-control-select__list-item{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;cursor:pointer;padding:6px 18px;text-align:left}.tribe-common .tribe-common-form-control-select__list-item:first-child{padding-top:16px}.tribe-common .tribe-common-form-control-select__list-item:last-child{padding-bottom:16px}.tribe-common .tribe-common-form-control-select__list-item[aria-selected=true]{color:#141827;font-weight:700}.tribe-common .tribe-common-form-control-slider__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;cursor:pointer;display:inline-block;margin:0;padding:0;width:120px;vertical-align:middle}.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;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-tabs{position:relative}.tribe-common .tribe-common-form-control-tabs__button{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:1px solid #d5d5d5;padding:12px 40px 12px 18px;position:relative;text-align:left;width:205px}.tribe-common .tribe-common-form-control-tabs__button:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='6' viewBox='0 0 12 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23727272' d='M6 6l6-6H0z'/%3E%3C/svg%3E");content:"";height:6px;position:absolute;right:16px;top:50%;transform:translateY(-50%);width:12px}.tribe-common .tribe-common-form-control-tabs__list{background-color:#fff;border:1px solid #d5d5d5;box-shadow:0 2px 5px 0 rgba(0,0,0,.14);left:0;position:absolute;top:55px;width:205px}.tribe-common .tribe-common-form-control-tabs__list-item:first-child .tribe-common-form-control-tabs__label{padding-top:16px}.tribe-common .tribe-common-form-control-tabs__list-item:last-child .tribe-common-form-control-tabs__label{padding-bottom:16px}.tribe-common .tribe-common-form-control-tabs__input{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-tabs__input:checked+.tribe-common-form-control-tabs__label{color:#141827;font-weight:700}.tribe-common .tribe-common-form-control-tabs__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;cursor:pointer;padding:6px 18px;text-align:left}body#top .tribe-common .tribe-common-form-control-tabs__list-item:first-child .tribe-common-form-control-tabs__label{padding-top:16px}body#top .tribe-common .tribe-common-form-control-tabs__list-item:last-child .tribe-common-form-control-tabs__label{padding-bottom:16px}body#top .tribe-common .tribe-common-form-control-tabs__input:checked+.tribe-common-form-control-tabs__label{color:#141827;font-weight:700}body#top .tribe-common .tribe-common-form-control-tabs__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}.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{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:1px solid #d5d5d5;padding:12px 18px;width:100%}.tribe-common .tribe-common-form-control-text__input::-webkit-input-placeholder{color:#727272;font-weight:400}.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-weight:400}.tribe-common .tribe-common-form-control-text__input::placeholder{color:#727272;font-weight:400}body#top .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;font-weight:700;border:1px solid #d5d5d5;padding:12px 18px;width:100%}body#top .tribe-common .tribe-common-form-control-text__input::-webkit-input-placeholder{color:#727272;font-weight:400}body#top .tribe-common .tribe-common-form-control-text__input:-ms-input-placeholder,body#top .tribe-common .tribe-common-form-control-text__input::-ms-input-placeholder{color:#727272;font-weight:400}body#top .tribe-common .tribe-common-form-control-text__input::placeholder{color:#727272;font-weight:400}.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;cursor:pointer;display:inline-block;vertical-align:middle;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;cursor:pointer;display:inline-block;margin-left:11px;vertical-align:middle}.tribe-common .tribe-common-form-control-toggle--vertical .tribe-common-form-control-toggle__label{display:block;margin:0 0 6px}body#top .tribe-common .tribe-common-form-control-toggle__input{display:inline-block}body#top .tribe-common .tribe-common-form-control-toggle__label{color:#727272;font-weight:400}.tribe-common .tribe-common-g-col{min-width:0;width:100%}.tribe-common .tribe-common-g-row{display:flex;flex-wrap:wrap}.tribe-common a{cursor:pointer}.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;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-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;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-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{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;font-size:22px;line-height:1.5}.tribe-common .tribe-common-h3--alt{font-weight:400}.tribe-common .tribe-common-h4{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;font-size:20px;line-height:1.42}.tribe-common .tribe-common-h4--alt{font-weight:400}.tribe-common .tribe-common-h5{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;font-size:18px;line-height:1.5}.tribe-common .tribe-common-h6{font-size:16px}.tribe-common .tribe-common-h6,.tribe-common .tribe-common-h7{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;line-height:1.62}.tribe-common .tribe-common-h7{font-size:14px}.tribe-common .tribe-common-h8{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;font-size:12px;line-height:1.38}.tribe-common button{background-color:#fff;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-size:contain;background-repeat:no-repeat}.tribe-common .tribe-common-svgicon--featured{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='20' viewBox='0 0 16 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23334AFF' d='M0 0h16v20l-7.902-5.122L0 20z'/%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' viewBox='0 0 20 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");height:10px;width:10px}.tribe-common-a11y-hidden{display:none!important;visibility:hidden}.tribe-common-a11y-visual-hide,.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{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;border:1px solid #d5d5d5;transition:color .2s ease,border-color .2s ease;color:#727272;padding:6px 16px 7px}.tribe-common .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{color:#141827}.tribe-common .tribe-common-c-btn-border:disabled{color:#d5d5d5}.tribe-common .tribe-common-c-btn-icon{border:0;cursor:pointer;display:inline-block;height:auto;padding:0;text-decoration:none;width:auto;background-color:transparent}.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--border{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:active{border-color:#141827}.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' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23727272' d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z'/%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' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23141827' d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z'/%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' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23D5D5D5' d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z'/%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' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23727272' d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z'/%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' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23141827' d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z'/%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' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23D5D5D5' d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z'/%3E%3C/svg%3E")}.tribe-common .tribe-common-c-btn-icon--filters:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='20' viewBox='0 0 24 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 16.75l22 .232M0 9.75l22 .232M0 2.75l22 .232' stroke-width='1.5' stroke-linecap='square' fill='%23727272' stroke='%23727272'/%3E%3Cpath d='M6 6a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM6 20a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM16 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6z' fill='%23727272' stroke='%23727272'/%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 width='24' height='20' viewBox='0 0 24 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 16.75l22 .232M0 9.75l22 .232M0 2.75l22 .232' stroke-width='1.5' stroke-linecap='square' fill='%23141827' stroke='%23141827'/%3E%3Cpath d='M6 6a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM6 20a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM16 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6z' fill='%23141827' stroke='%23141827'/%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 width='24' height='20' viewBox='0 0 24 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 16.75l22 .232M0 9.75l22 .232M0 2.75l22 .232' stroke-width='1.5' stroke-linecap='square' fill='%23D5D5D5' stroke='%23D5D5D5'/%3E%3Cpath d='M6 6a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM6 20a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM16 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6z' fill='%23D5D5D5' stroke='%23D5D5D5'/%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' viewBox='0 0 20 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' viewBox='0 0 20 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' viewBox='0 0 20 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{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;color:#fff;text-align:center;transition:background-color .2s ease;background-color:#334aff;padding:16px 22px 17px;width:100%}.tribe-common .tribe-common-c-btn:focus,.tribe-common .tribe-common-c-btn:hover{background-color:rgba(51,74,255,.8)}.tribe-common .tribe-common-c-btn:active{background-color:rgba(51,74,255,.9)}.tribe-common .tribe-common-c-btn:disabled{background-color:rgba(51,74,255,.07)}.tribe-common .tribe-common-c-btn:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='22' height='19' viewBox='0 0 22 19' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23FFF' d='M11.648 0L9.62 1.956l6.23 6.005H0v2.793h15.85L9.62 16.76l2.028 1.956 9.705-9.358z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;content:"";display:inline-block;height:10px;margin-left:8px;width:12px}.tribe-common .tribe-common-c-btn--secondary{padding:12px 19px 13px;width:auto}.tribe-common .tribe-common-c-btn--secondary:after{content:none}.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-nav{border-top:1px solid #d5d5d5;padding-top:24px}.tribe-common .tribe-common-c-nav__list{display:flex;list-style:none;width:100%;flex-wrap:wrap;justify-content:space-between}.tribe-common .tribe-common-c-nav__next,.tribe-common .tribe-common-c-nav__prev{display:flex;justify-content:center;flex-wrap:wrap;align-items:center;color:#727272;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:12px;line-height:1.42;font-weight:700}.tribe-common .tribe-common-c-nav__next:hover,.tribe-common .tribe-common-c-nav__prev:hover{color:var(--color-navigation-hover)}.tribe-common .tribe-common-c-nav__next:disabled,.tribe-common .tribe-common-c-nav__prev:disabled{background-color:transparent;color:#d5d5d5}.tribe-common .tribe-common-c-nav__prev:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23727272' d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;content:"";height:14px;margin-right:10px;width:12px}.tribe-common .tribe-common-c-nav__prev:active:before,.tribe-common .tribe-common-c-nav__prev:focus:before,.tribe-common .tribe-common-c-nav__prev:hover:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23141827' d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z'/%3E%3C/svg%3E")}.tribe-common .tribe-common-c-nav__prev:disabled:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23D5D5D5' d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z'/%3E%3C/svg%3E")}.tribe-common .tribe-common-c-nav__next:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23727272' d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;content:"";height:14px;margin-left:10px;width:12px}.tribe-common .tribe-common-c-nav__next:active:after,.tribe-common .tribe-common-c-nav__next:focus:after,.tribe-common .tribe-common-c-nav__next:hover:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23141827' d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z'/%3E%3C/svg%3E")}.tribe-common .tribe-common-c-nav__next:disabled:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23D5D5D5' d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z'/%3E%3C/svg%3E")}.tribe-common .tribe-common-c-search__input-group>:first-child{flex:1 1 34.5%}.tribe-common .tribe-common-c-search__input-group>:nth-child(2){flex:1 1 37.5%}.tribe-common .tribe-common-c-search__input-group>:nth-child(3){flex:1 1 28%}.tribe-common .tribe-common-c-search__button{flex:none;margin-top:8px}@media (min-width:768px){.tribe-common .tribe-common-form-control-select__button{padding:16px 44px 16px 18px;width:220px}.tribe-common .tribe-common-form-control-select__button:after{right:18px}.tribe-common .tribe-common-form-control-select__list{width:220px}.tribe-common .tribe-common-form-control-tabs{display:flex}.tribe-common .tribe-common-form-control-tabs__button{display:none!important;visibility:hidden}.tribe-common .tribe-common-form-control-tabs__list{border:1px solid #d5d5d5;box-shadow:none;display:flex!important;flex:none;position:static;visibility:visible;width:auto;outline:none}.tribe-common .tribe-common-form-control-tabs__list-item:first-child .tribe-common-form-control-tabs__label{margin-top:-6px;padding-top:17px}.tribe-common .tribe-common-form-control-tabs__list-item:last-child .tribe-common-form-control-tabs__label{margin-bottom:-6px;padding-bottom:17px}.tribe-common .tribe-common-form-control-tabs__list-item{border-right:1px solid #d5d5d5;flex:none;margin:6px 0;width:88px}.tribe-common .tribe-common-form-control-tabs__list-item:last-child{border:none;width:87px}.tribe-common .tribe-common-form-control-tabs__label{margin:-6px 0;padding:17px 5px;text-align:center;display:block}body#top .tribe-common .tribe-common-form-control-tabs__list-item:first-child .tribe-common-form-control-tabs__label{margin-top:-6px;padding-top:17px}body#top .tribe-common .tribe-common-form-control-tabs__list-item:last-child .tribe-common-form-control-tabs__label{margin-bottom:-6px;padding-bottom:17px}body#top .tribe-common .tribe-common-form-control-tabs__label{margin:-6px 0;padding:17px 5px;text-align:center;display:block}.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-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-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-l-container{padding-left:42px;padding-right:42px}.tribe-common .tribe-common-c-btn{width:auto}.tribe-common .tribe-common-c-nav{padding-top:32px}.tribe-common .tribe-common-c-nav__next,.tribe-common .tribe-common-c-nav__prev{font-size:14px}.tribe-common .tribe-common-c-search{display:flex}.tribe-common .tribe-common-c-search__input-group{background-color:#fff;border:1px solid #d5d5d5;border-right:none;display:flex;flex:auto;max-width:645px;padding:8px 0}.tribe-common .tribe-common-c-search__input-group>*{margin-bottom:0}.tribe-common .tribe-common-c-search__input{border:none;border-right:1px solid #d5d5d5;height:auto;padding:7px 18px 8px}.tribe-common .tribe-common-c-search__button{margin-top:0}body#top .tribe-common .tribe-common-form-control-text-group{padding:8px 0}body#top .tribe-common .tribe-common-c-search__input{border:none;border-right:1px solid #d5d5d5;padding:7px 18px 8px}}
|
common/src/resources/postcss/base/_buttons.pcss
CHANGED
@@ -5,5 +5,6 @@
|
|
5 |
|
6 |
button {
|
7 |
background-color: var(--color-background);
|
|
|
8 |
}
|
9 |
}
|
5 |
|
6 |
button {
|
7 |
background-color: var(--color-background);
|
8 |
+
padding: 0;
|
9 |
}
|
10 |
}
|
common/src/resources/postcss/components/_image.pcss
CHANGED
@@ -35,6 +35,5 @@
|
|
35 |
right: 0;
|
36 |
top: 0;
|
37 |
width: 100%;
|
38 |
-
overflow: hidden;
|
39 |
}
|
40 |
}
|
35 |
right: 0;
|
36 |
top: 0;
|
37 |
width: 100%;
|
|
|
38 |
}
|
39 |
}
|
common/src/resources/postcss/components/_navigation.pcss
CHANGED
@@ -40,8 +40,7 @@
|
|
40 |
|
41 |
}
|
42 |
|
43 |
-
.tribe-common-c-nav__list-item {
|
44 |
-
}
|
45 |
|
46 |
.tribe-common-c-nav__prev,
|
47 |
.tribe-common-c-nav__next {
|
@@ -64,9 +63,9 @@
|
|
64 |
}
|
65 |
|
66 |
&:disabled {
|
|
|
67 |
color: var(--color-text-disabled);
|
68 |
}
|
69 |
-
|
70 |
}
|
71 |
|
72 |
.tribe-common-c-nav__prev {
|
@@ -96,7 +95,6 @@
|
|
96 |
background-image: svg-inline(caret-left-disabled);
|
97 |
}
|
98 |
}
|
99 |
-
|
100 |
}
|
101 |
|
102 |
.tribe-common-c-nav__next {
|
40 |
|
41 |
}
|
42 |
|
43 |
+
/* .tribe-common-c-nav__list-item {} */
|
|
|
44 |
|
45 |
.tribe-common-c-nav__prev,
|
46 |
.tribe-common-c-nav__next {
|
63 |
}
|
64 |
|
65 |
&:disabled {
|
66 |
+
background-color: transparent;
|
67 |
color: var(--color-text-disabled);
|
68 |
}
|
|
|
69 |
}
|
70 |
|
71 |
.tribe-common-c-nav__prev {
|
95 |
background-image: svg-inline(caret-left-disabled);
|
96 |
}
|
97 |
}
|
|
|
98 |
}
|
99 |
|
100 |
.tribe-common-c-nav__next {
|
common/tribe-autoload.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<?php
|
2 |
-
$common =
|
3 |
|
4 |
require_once $common . '/Tribe/Autoloader.php';
|
5 |
|
1 |
<?php
|
2 |
+
$common = __DIR__ . '/src';
|
3 |
|
4 |
require_once $common . '/Tribe/Autoloader.php';
|
5 |
|
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 ComposerAutoloaderInit8be28ee3e909f3421bdac74c24f5e27c::getLoader();
|
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 ComposerAutoloaderInitfffeb31c034cfc97d6d7f6e3e1c537b0 {
|
|
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 ComposerAutoloaderInit8be28ee3e909f3421bdac74c24f5e27c {
|
6 |
private static $loader;
|
7 |
|
8 |
public static function loadClassLoader($class) {
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit8be28ee3e909f3421bdac74c24f5e27c', 'loadClassLoader'), true /*, true */);
|
23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit8be28ee3e909f3421bdac74c24f5e27c', 'loadClassLoader'));
|
25 |
|
26 |
$vendorDir = dirname(dirname(__FILE__));
|
27 |
$baseDir = dirname($vendorDir);
|
lang/the-events-calendar-de_DE.mo
CHANGED
Binary file
|
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.3
|
8 |
Tested up to: 5.2.2
|
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.3] 2019-06-06 =
|
219 |
|
220 |
* Fix - Fixed issue where the previous events link was not present on initial page load of the List View [127477]
|
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.3.1
|
8 |
Tested up to: 5.2.2
|
9 |
Requires PHP: 5.6
|
10 |
License: GPLv2 or later
|
215 |
|
216 |
== Changelog ==
|
217 |
|
218 |
+
= [4.9.3.1] 2019-06-07 =
|
219 |
+
|
220 |
+
* Fix - Remove caching of rewrite base slugs which make third-party, Photo and Week work as expected [129035]
|
221 |
+
* Tweak - Adjust newsletter signup submission destination [129034]
|
222 |
+
|
223 |
= [4.9.3] 2019-06-06 =
|
224 |
|
225 |
* Fix - Fixed issue where the previous events link was not present on initial page load of the List View [127477]
|
src/Tribe/Main.php
CHANGED
@@ -34,7 +34,7 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
|
|
34 |
const VENUE_POST_TYPE = 'tribe_venue';
|
35 |
const ORGANIZER_POST_TYPE = 'tribe_organizer';
|
36 |
|
37 |
-
const VERSION = '4.9.3';
|
38 |
|
39 |
/**
|
40 |
* Min Pro Addon
|
34 |
const VENUE_POST_TYPE = 'tribe_venue';
|
35 |
const ORGANIZER_POST_TYPE = 'tribe_organizer';
|
36 |
|
37 |
+
const VERSION = '4.9.3.1';
|
38 |
|
39 |
/**
|
40 |
* Min Pro Addon
|
src/Tribe/Rewrite.php
CHANGED
@@ -222,6 +222,19 @@ class Tribe__Events__Rewrite extends Tribe__Rewrite {
|
|
222 |
|
223 |
$tec = Tribe__Events__Main::instance();
|
224 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
225 |
/**
|
226 |
* If you want to modify the base slugs before the i18n happens filter this use this filter
|
227 |
* All the bases need to have a key and a value, they might be the same or not.
|
@@ -238,21 +251,9 @@ class Tribe__Events__Rewrite extends Tribe__Rewrite {
|
|
238 |
* Means that is a value that can be overwritten and relies on the user value entered on the
|
239 |
* options page.
|
240 |
*
|
241 |
-
* @
|
242 |
*/
|
243 |
-
$bases = apply_filters( 'tribe_events_rewrite_base_slugs',
|
244 |
-
'month' => array( 'month', $tec->monthSlug ),
|
245 |
-
'list' => array( 'list', $tec->listSlug ),
|
246 |
-
'today' => array( 'today', $tec->todaySlug ),
|
247 |
-
'day' => array( 'day', $tec->daySlug ),
|
248 |
-
'tag' => array( 'tag', $tec->tag_slug ),
|
249 |
-
'tax' => array( 'category', $tec->category_slug ),
|
250 |
-
'page' => array( 'page', esc_html_x( 'page', 'The "/page/" URL string component.', 'the-events-calendar' ) ),
|
251 |
-
'single' => array( Tribe__Settings_Manager::get_option( 'singleEventSlug', 'event' ), $tec->rewriteSlugSingular ),
|
252 |
-
'archive' => array( Tribe__Settings_Manager::get_option( 'eventsSlug', 'events' ), $tec->rewriteSlug ),
|
253 |
-
'featured' => array( 'featured', $tec->featured_slug ),
|
254 |
-
) );
|
255 |
-
|
256 |
|
257 |
// Remove duplicates (no need to have 'month' twice if no translations are in effect, etc)
|
258 |
$bases = array_map( 'array_unique', $bases );
|
@@ -451,7 +452,7 @@ class Tribe__Events__Rewrite extends Tribe__Rewrite {
|
|
451 |
* {@inheritDoc}
|
452 |
*/
|
453 |
protected function get_localized_matchers() {
|
454 |
-
$localized_matchers =
|
455 |
|
456 |
// Handle the dates.
|
457 |
$localized_matchers['(\d{4}-\d{2})'] = 'eventDate';
|
@@ -492,7 +493,7 @@ class Tribe__Events__Rewrite extends Tribe__Rewrite {
|
|
492 |
// Remove leading/trailing slashes to get something like `grand-parent/parent/child`.
|
493 |
$category_slug = trim( $category_slug, '/' );
|
494 |
|
495 |
-
$dynamic_matchers["{$cat_regex}/(?:[^/]+/)*([^/]+)"] = "{$localized_slug}/{$category_slug}";
|
496 |
}
|
497 |
}
|
498 |
}
|
222 |
|
223 |
$tec = Tribe__Events__Main::instance();
|
224 |
|
225 |
+
$default_bases = [
|
226 |
+
'month' => [ 'month', $tec->monthSlug ],
|
227 |
+
'list' => [ 'list', $tec->listSlug ],
|
228 |
+
'today' => [ 'today', $tec->todaySlug ],
|
229 |
+
'day' => [ 'day', $tec->daySlug ],
|
230 |
+
'tag' => [ 'tag', $tec->tag_slug ],
|
231 |
+
'tax' => [ 'category', $tec->category_slug ],
|
232 |
+
'page' => [ 'page', esc_html_x( 'page', 'The "/page/" URL string component.', 'the-events-calendar' ) ],
|
233 |
+
'single' => [ tribe_get_option( 'singleEventSlug', 'event' ), $tec->rewriteSlugSingular ],
|
234 |
+
'archive' => [ tribe_get_option( 'eventsSlug', 'events' ), $tec->rewriteSlug ],
|
235 |
+
'featured' => [ 'featured', $tec->featured_slug ],
|
236 |
+
];
|
237 |
+
|
238 |
/**
|
239 |
* If you want to modify the base slugs before the i18n happens filter this use this filter
|
240 |
* All the bases need to have a key and a value, they might be the same or not.
|
251 |
* Means that is a value that can be overwritten and relies on the user value entered on the
|
252 |
* options page.
|
253 |
*
|
254 |
+
* @param array $bases
|
255 |
*/
|
256 |
+
$bases = apply_filters( 'tribe_events_rewrite_base_slugs', $default_bases );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
|
258 |
// Remove duplicates (no need to have 'month' twice if no translations are in effect, etc)
|
259 |
$bases = array_map( 'array_unique', $bases );
|
452 |
* {@inheritDoc}
|
453 |
*/
|
454 |
protected function get_localized_matchers() {
|
455 |
+
$localized_matchers = parent::get_localized_matchers();
|
456 |
|
457 |
// Handle the dates.
|
458 |
$localized_matchers['(\d{4}-\d{2})'] = 'eventDate';
|
493 |
// Remove leading/trailing slashes to get something like `grand-parent/parent/child`.
|
494 |
$category_slug = trim( $category_slug, '/' );
|
495 |
|
496 |
+
$dynamic_matchers[ "{$cat_regex}/(?:[^/]+/)*([^/]+)" ] = "{$localized_slug}/{$category_slug}";
|
497 |
}
|
498 |
}
|
499 |
}
|
src/Tribe/Views/V2/Assets.php
CHANGED
@@ -33,7 +33,7 @@ class Assets extends \tad_DI52_ServiceProvider {
|
|
33 |
$plugin,
|
34 |
'tribe-events-calendar-views-v2',
|
35 |
'views/tribe-events-v2.css',
|
36 |
-
[ 'tribe-common-style'
|
37 |
'wp_enqueue_scripts',
|
38 |
[ 'priority' => 10 ]
|
39 |
);
|
@@ -45,14 +45,5 @@ class Assets extends \tad_DI52_ServiceProvider {
|
|
45 |
[ 'jquery', 'tribe-common', 'tribe-query-string', 'underscore' ],
|
46 |
null // prevent it from loading
|
47 |
);
|
48 |
-
|
49 |
-
tribe_asset(
|
50 |
-
$plugin,
|
51 |
-
'tribe-events-views-v2-scripts',
|
52 |
-
'views/scripts.js',
|
53 |
-
[ 'jquery', 'tribe-common', 'tribe-tooltipster' ], // @todo: check if we're including tooltips only in month view.
|
54 |
-
'wp_enqueue_scripts',
|
55 |
-
[ 'priority' => 10 ]
|
56 |
-
);
|
57 |
}
|
58 |
}
|
33 |
$plugin,
|
34 |
'tribe-events-calendar-views-v2',
|
35 |
'views/tribe-events-v2.css',
|
36 |
+
[ 'tribe-common-style' ],
|
37 |
'wp_enqueue_scripts',
|
38 |
[ 'priority' => 10 ]
|
39 |
);
|
45 |
[ 'jquery', 'tribe-common', 'tribe-query-string', 'underscore' ],
|
46 |
null // prevent it from loading
|
47 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
}
|
49 |
}
|
src/Tribe/Views/V2/Hooks.php
CHANGED
@@ -67,7 +67,7 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
67 |
add_filter( 'tribe_suppress_query_filters', '__return_true' );
|
68 |
add_filter( 'template_include', [ $this, 'filter_template_include' ], 50 );
|
69 |
add_filter( 'posts_pre_query', [ $this, 'filter_posts_pre_query' ], 20, 2 );
|
70 |
-
add_filter( 'body_class', [ $this, '
|
71 |
add_filter( 'query_vars', [ $this, 'filter_query_vars' ], 15 );
|
72 |
}
|
73 |
|
@@ -202,8 +202,12 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
202 |
* Filters the body classes to add theme compatibility ones.
|
203 |
*
|
204 |
* @since 4.9.3
|
|
|
|
|
|
|
|
|
205 |
*/
|
206 |
-
public function
|
207 |
-
return $this->container->make( Theme_Compatibility::class )->
|
208 |
}
|
209 |
}
|
67 |
add_filter( 'tribe_suppress_query_filters', '__return_true' );
|
68 |
add_filter( 'template_include', [ $this, 'filter_template_include' ], 50 );
|
69 |
add_filter( 'posts_pre_query', [ $this, 'filter_posts_pre_query' ], 20, 2 );
|
70 |
+
add_filter( 'body_class', [ $this, 'filter_body_class' ] );
|
71 |
add_filter( 'query_vars', [ $this, 'filter_query_vars' ], 15 );
|
72 |
}
|
73 |
|
202 |
* Filters the body classes to add theme compatibility ones.
|
203 |
*
|
204 |
* @since 4.9.3
|
205 |
+
*
|
206 |
+
* @param array $classes Classes that are been passed to the body.
|
207 |
+
*
|
208 |
+
* @return array $classes
|
209 |
*/
|
210 |
+
public function filter_body_class( $classes ) {
|
211 |
+
return $this->container->make( Theme_Compatibility::class )->filter_add_body_classes( $classes );
|
212 |
}
|
213 |
}
|
src/Tribe/Views/V2/Service_Provider.php
CHANGED
@@ -46,9 +46,6 @@ class Service_Provider extends \tad_DI52_ServiceProvider {
|
|
46 |
|
47 |
// Since the View main class will act as a DI container itself let's provide it with the global container.
|
48 |
View::set_container( $this->container );
|
49 |
-
|
50 |
-
// @todo: remove this when we hydrate the month view with data and we use the correct template tags.
|
51 |
-
require_once tribe( 'tec.main' )->plugin_path . 'src/Tribe/Views/V2/month-view-demo-template-tags.php';
|
52 |
}
|
53 |
|
54 |
/**
|
46 |
|
47 |
// Since the View main class will act as a DI container itself let's provide it with the global container.
|
48 |
View::set_container( $this->container );
|
|
|
|
|
|
|
49 |
}
|
50 |
|
51 |
/**
|
src/Tribe/Views/V2/Theme_Compatibility.php
CHANGED
@@ -1,8 +1,9 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Add theme compatibility things here.
|
4 |
-
*
|
5 |
-
* @
|
|
|
6 |
* @since 4.9.3
|
7 |
*
|
8 |
* @package Tribe\Events\Views\V2
|
@@ -10,13 +11,17 @@
|
|
10 |
namespace Tribe\Events\Views\V2;
|
11 |
|
12 |
use Tribe\Events\Views\V2\Template_Bootstrap;
|
|
|
13 |
|
14 |
class Theme_Compatibility {
|
15 |
-
|
16 |
-
|
17 |
-
*
|
|
|
|
|
|
|
18 |
*/
|
19 |
-
|
20 |
'avada',
|
21 |
'divi',
|
22 |
'enfold',
|
@@ -25,74 +30,94 @@ class Theme_Compatibility {
|
|
25 |
'twentynineteen',
|
26 |
];
|
27 |
|
28 |
-
|
29 |
/**
|
30 |
-
*
|
31 |
*
|
32 |
* @since 4.9.3
|
33 |
-
|
34 |
-
*
|
35 |
-
* @return void
|
36 |
*/
|
37 |
-
public function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
|
39 |
/**
|
40 |
-
*
|
41 |
-
*
|
42 |
-
* @param string $theme Name of template from WP_Theme->Template, defaults to current active template.
|
43 |
*
|
44 |
* @since 4.9.3
|
45 |
*
|
46 |
-
* @
|
|
|
|
|
47 |
*/
|
48 |
-
public function
|
49 |
-
|
50 |
-
|
51 |
-
$theme = get_stylesheet();
|
52 |
}
|
53 |
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
* @since 4.9.3
|
58 |
-
*
|
59 |
-
* @param array $themes_with_compatibility_fixes A list of themes we provide compatibility for.
|
60 |
-
*/
|
61 |
-
$theme_compatibility_list = apply_filters( 'tribe_events_views_v2_themes_compatibility_fixes', $this->themes_with_compatibility_fixes );
|
62 |
|
63 |
-
return
|
64 |
}
|
65 |
|
66 |
/**
|
67 |
-
*
|
68 |
*
|
69 |
* @since 4.9.3
|
70 |
*
|
71 |
* @return array $classes
|
72 |
*/
|
73 |
-
public function
|
|
|
|
|
|
|
74 |
|
75 |
-
|
76 |
-
|
77 |
-
|| ! $this->needs_compatibility_fix()
|
78 |
-
) {
|
79 |
return $classes;
|
80 |
}
|
81 |
|
82 |
-
$
|
83 |
-
$parent_theme = get_option( 'template' );
|
84 |
|
85 |
// if the 2 options are the same, then there is no child theme.
|
86 |
-
if ( $child_theme
|
87 |
-
$
|
88 |
}
|
89 |
|
90 |
-
$classes
|
|
|
91 |
|
92 |
-
|
93 |
-
|
94 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
|
96 |
-
return $
|
97 |
}
|
98 |
}
|
1 |
<?php
|
2 |
/**
|
3 |
* Add theme compatibility things here.
|
4 |
+
*
|
5 |
+
* @todo This is an implementation to set a body class we can use in the common implementation.
|
6 |
+
*
|
7 |
* @since 4.9.3
|
8 |
*
|
9 |
* @package Tribe\Events\Views\V2
|
11 |
namespace Tribe\Events\Views\V2;
|
12 |
|
13 |
use Tribe\Events\Views\V2\Template_Bootstrap;
|
14 |
+
use Tribe__Container as Container;
|
15 |
|
16 |
class Theme_Compatibility {
|
17 |
+
/**
|
18 |
+
* List of themes which have compatibility.
|
19 |
+
*
|
20 |
+
* @since TBD
|
21 |
+
*
|
22 |
+
* @var array
|
23 |
*/
|
24 |
+
protected $themes = [
|
25 |
'avada',
|
26 |
'divi',
|
27 |
'enfold',
|
30 |
'twentynineteen',
|
31 |
];
|
32 |
|
|
|
33 |
/**
|
34 |
+
* Checks if theme needs a compatibility fix.
|
35 |
*
|
36 |
* @since 4.9.3
|
37 |
+
*
|
38 |
+
* @return boolean
|
|
|
39 |
*/
|
40 |
+
public function is_compatibility_required() {
|
41 |
+
$template = get_template();
|
42 |
+
$stylesheet = get_stylesheet();
|
43 |
+
|
44 |
+
// Prevents empty stylesheet or template
|
45 |
+
if ( empty( $template ) || empty( $stylesheet ) ) {
|
46 |
+
return false;
|
47 |
+
}
|
48 |
+
|
49 |
+
if ( in_array( $template, $this->get_registered_themes() ) ) {
|
50 |
+
return true;
|
51 |
+
}
|
52 |
+
|
53 |
+
return false;
|
54 |
+
}
|
55 |
|
56 |
/**
|
57 |
+
* Add the theme to the body class.
|
|
|
|
|
58 |
*
|
59 |
* @since 4.9.3
|
60 |
*
|
61 |
+
* @param array $classes Classes that are been passed to the body.
|
62 |
+
*
|
63 |
+
* @return array $classes
|
64 |
*/
|
65 |
+
public function filter_add_body_classes( array $classes ) {
|
66 |
+
if ( ! tribe( Template_Bootstrap::class )->should_load() ) {
|
67 |
+
return $classes;
|
|
|
68 |
}
|
69 |
|
70 |
+
if ( ! $this->is_compatibility_required() ) {
|
71 |
+
return $classes;
|
72 |
+
}
|
|
|
|
|
|
|
|
|
|
|
73 |
|
74 |
+
return array_merge( $classes, $this->get_body_classes() );
|
75 |
}
|
76 |
|
77 |
/**
|
78 |
+
* Fetches the correct class strings for theme and child theme if available.
|
79 |
*
|
80 |
* @since 4.9.3
|
81 |
*
|
82 |
* @return array $classes
|
83 |
*/
|
84 |
+
public function get_body_classes() {
|
85 |
+
$classes = [];
|
86 |
+
$child_theme = get_stylesheet();
|
87 |
+
$parent_theme = get_template();
|
88 |
|
89 |
+
// Prevents empty stylesheet or template
|
90 |
+
if ( empty( $parent_theme ) || empty( $child_theme ) ) {
|
|
|
|
|
91 |
return $classes;
|
92 |
}
|
93 |
|
94 |
+
$classes[] = sanitize_html_class( "tribe-theme-$parent_theme" );
|
|
|
95 |
|
96 |
// if the 2 options are the same, then there is no child theme.
|
97 |
+
if ( $child_theme !== $parent_theme ) {
|
98 |
+
$classes[] = sanitize_html_class( "tribe-theme-child-$child_theme" );
|
99 |
}
|
100 |
|
101 |
+
return $classes;
|
102 |
+
}
|
103 |
|
104 |
+
/**
|
105 |
+
* Returns a list of themes registred for compatibility with our Views.
|
106 |
+
*
|
107 |
+
* @since TBD
|
108 |
+
*
|
109 |
+
* @return array An array of the themes registred.
|
110 |
+
*/
|
111 |
+
public function get_registered_themes() {
|
112 |
+
/**
|
113 |
+
* Filters the list of themes that are registred for compatibility.
|
114 |
+
*
|
115 |
+
* @since TBD
|
116 |
+
*
|
117 |
+
* @param array $registered An associative array of views in the shape `[ <slug> => <class> ]`.
|
118 |
+
*/
|
119 |
+
$registered = apply_filters( 'tribe_events_views_v2_theme_compatibility_registered', $this->themes );
|
120 |
|
121 |
+
return (array) $registered;
|
122 |
}
|
123 |
}
|
src/Tribe/Views/V2/month-view-demo-template-tags.php
DELETED
@@ -1,432 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Month view demo data and temporary template tags to handle the data.
|
4 |
-
*
|
5 |
-
* @package Tribe\Events\Views\V2
|
6 |
-
* @since TBD
|
7 |
-
*/
|
8 |
-
|
9 |
-
// @todo: remove this when we hydrate the month view with data and we use the correct template tags.
|
10 |
-
|
11 |
-
if ( ! function_exists( 'tribe_events_views_v2_month_demo_day_get_data' ) ) :
|
12 |
-
/**
|
13 |
-
* Get the day data of the $month array
|
14 |
-
*
|
15 |
-
* @since TBD
|
16 |
-
*
|
17 |
-
* @return bool
|
18 |
-
*/
|
19 |
-
function tribe_events_views_v2_month_demo_day_get_data( $month = [], $day_number = 0 ) {
|
20 |
-
$key = array_search( $day_number, array_column( $month, 'daynum' ) );
|
21 |
-
|
22 |
-
return false !== $key ? $month[ $key ] : $key;
|
23 |
-
}
|
24 |
-
endif;
|
25 |
-
|
26 |
-
if ( ! function_exists( 'tribe_events_views_v2_month_demo_day_has_events' ) ) :
|
27 |
-
/**
|
28 |
-
* Check if a given day has events
|
29 |
-
*
|
30 |
-
* @since TBD
|
31 |
-
*
|
32 |
-
* @return bool
|
33 |
-
*/
|
34 |
-
function tribe_events_views_v2_month_demo_day_has_events( $month = [], $day_number = 0 ) {
|
35 |
-
|
36 |
-
if ( ! $day_data = tribe_events_views_v2_month_demo_day_get_data( $month, $day_number ) ) {
|
37 |
-
return false;
|
38 |
-
}
|
39 |
-
|
40 |
-
return (bool) $day_data[ 'total_events' ];
|
41 |
-
}
|
42 |
-
endif;
|
43 |
-
|
44 |
-
|
45 |
-
if ( ! function_exists( 'tribe_events_views_v2_month_demo_day_get_events' ) ) :
|
46 |
-
/**
|
47 |
-
* Get events for a given day
|
48 |
-
*
|
49 |
-
* @since TBD
|
50 |
-
*
|
51 |
-
* @return array
|
52 |
-
*/
|
53 |
-
function tribe_events_views_v2_month_demo_day_get_events( $month = [], $day_number = 0 ) {
|
54 |
-
|
55 |
-
if ( ! $has_events = tribe_events_views_v2_month_demo_day_has_events( $month, $day_number ) ) {
|
56 |
-
return false;
|
57 |
-
}
|
58 |
-
|
59 |
-
$day_data = tribe_events_views_v2_month_demo_day_get_data( $month, $day_number );
|
60 |
-
|
61 |
-
return $day_data[ 'events' ];
|
62 |
-
}
|
63 |
-
endif;
|
64 |
-
|
65 |
-
|
66 |
-
if ( ! function_exists( 'tribe_events_views_v2_month_demo_day_get_events_multiday' ) ) :
|
67 |
-
/**
|
68 |
-
* Get multiday events for a given day
|
69 |
-
*
|
70 |
-
* @since TBD
|
71 |
-
*
|
72 |
-
* @return array
|
73 |
-
*/
|
74 |
-
function tribe_events_views_v2_month_demo_day_get_events_multiday( $month = [], $day_number = 0 ) {
|
75 |
-
$events = tribe_events_views_v2_month_demo_day_get_events( $month, $day_number );
|
76 |
-
|
77 |
-
if ( ! $events ) {
|
78 |
-
return [];
|
79 |
-
}
|
80 |
-
|
81 |
-
$multiday = [];
|
82 |
-
|
83 |
-
foreach ( $events as $event ) {
|
84 |
-
|
85 |
-
// Add it to the array if multiday is set and multiday is true.
|
86 |
-
// Or if it false (we are using this as empty spaces)
|
87 |
-
if (
|
88 |
-
( isset( $event['multiday'] ) && $event['multiday'] )
|
89 |
-
|| false === $event
|
90 |
-
) {
|
91 |
-
$multiday[] = $event;
|
92 |
-
}
|
93 |
-
}
|
94 |
-
|
95 |
-
return $multiday;
|
96 |
-
}
|
97 |
-
endif;
|
98 |
-
|
99 |
-
|
100 |
-
if ( ! function_exists( 'tribe_events_views_v2_month_demo_day_get_events_regular' ) ) :
|
101 |
-
/**
|
102 |
-
* Get regular events for a given day.
|
103 |
-
*
|
104 |
-
* @since TBD
|
105 |
-
*
|
106 |
-
* @return array
|
107 |
-
*/
|
108 |
-
function tribe_events_views_v2_month_demo_day_get_events_regular( $month = [], $day_number = 0 ) {
|
109 |
-
$events = tribe_events_views_v2_month_demo_day_get_events( $month, $day_number );
|
110 |
-
|
111 |
-
if ( ! $events ) {
|
112 |
-
return [];
|
113 |
-
}
|
114 |
-
|
115 |
-
$regular = [];
|
116 |
-
|
117 |
-
foreach ( $events as $event ) {
|
118 |
-
|
119 |
-
if ( false === $event ) {
|
120 |
-
// it's an empty space, continue with the next one.
|
121 |
-
continue;
|
122 |
-
}
|
123 |
-
|
124 |
-
// Add it to the new array if multiday exists and is set to false.
|
125 |
-
// or if multiday is not set.
|
126 |
-
if (
|
127 |
-
( isset( $event['multiday'] ) && ! $event['multiday'] )
|
128 |
-
|| ! isset( $event['multiday'] )
|
129 |
-
) {
|
130 |
-
$regular[] = $event;
|
131 |
-
}
|
132 |
-
}
|
133 |
-
|
134 |
-
return $regular;
|
135 |
-
}
|
136 |
-
endif;
|
137 |
-
|
138 |
-
|
139 |
-
if ( ! function_exists( 'tribe_events_views_v2_month_demo_add_data' ) ) :
|
140 |
-
/**
|
141 |
-
* Return an array with the events for the month
|
142 |
-
*
|
143 |
-
* @since TBD
|
144 |
-
*
|
145 |
-
* @return array
|
146 |
-
*/
|
147 |
-
function tribe_events_views_v2_month_demo_add_data() {
|
148 |
-
|
149 |
-
$event1 = [
|
150 |
-
'title' => esc_html__( 'WordCamp Buenos Aires', 'the-events-calendar' ),
|
151 |
-
'ID' => 1,
|
152 |
-
'multiday' => true,
|
153 |
-
'start_date' => 1,
|
154 |
-
'start_this_week' => true,
|
155 |
-
'end_this_week' => true,
|
156 |
-
'duration' => 2, // duration in days
|
157 |
-
];
|
158 |
-
|
159 |
-
$event2 = [
|
160 |
-
'title' => esc_html__( 'TedX Argentina', 'the-events-calendar' ),
|
161 |
-
'ID' => 14,
|
162 |
-
'multiday' => true,
|
163 |
-
'start_date' => 1,
|
164 |
-
'start_this_week' => true,
|
165 |
-
'end_this_week' => true,
|
166 |
-
'duration' => 3, // duration in days
|
167 |
-
'featured' => true,
|
168 |
-
];
|
169 |
-
|
170 |
-
$event3 = [
|
171 |
-
'title' => esc_html__( 'UX and UI Workshop', 'the-events-calendar' ),
|
172 |
-
'ID' => 18,
|
173 |
-
'multiday' => true,
|
174 |
-
'start_date' => 2,
|
175 |
-
'start_this_week' => true,
|
176 |
-
'end_this_week' => true,
|
177 |
-
'duration' => 3, // duration in days
|
178 |
-
];
|
179 |
-
|
180 |
-
$event4 = [
|
181 |
-
'title' => esc_html__( 'Contributors hackaton', 'the-events-calendar' ),
|
182 |
-
'ID' => 23,
|
183 |
-
'multiday' => true,
|
184 |
-
'start_date' => 4,
|
185 |
-
'start_this_week' => true,
|
186 |
-
'end_this_week' => true,
|
187 |
-
'duration' => 2, // duration in days
|
188 |
-
'featured' => true,
|
189 |
-
];
|
190 |
-
|
191 |
-
$event_multi_5 = [
|
192 |
-
'title' => esc_html__( 'Prepping long weekend', 'the-events-calendar' ),
|
193 |
-
'ID' => 25,
|
194 |
-
'multiday' => true,
|
195 |
-
'start_date' => 19,
|
196 |
-
'start_this_week' => true,
|
197 |
-
'end_this_week' => true,
|
198 |
-
'duration' => 2, // duration in days
|
199 |
-
'featured' => false,
|
200 |
-
];
|
201 |
-
|
202 |
-
$event_multi_weekend_pre = [
|
203 |
-
'title' => esc_html__( 'Long weekend', 'the-events-calendar' ),
|
204 |
-
'ID' => 40,
|
205 |
-
'multiday' => true,
|
206 |
-
'start_date' => 19,
|
207 |
-
'start_this_week' => true,
|
208 |
-
'end_this_week' => false,
|
209 |
-
'duration' => 3, // duration in days
|
210 |
-
'featured' => false,
|
211 |
-
];
|
212 |
-
|
213 |
-
$event_multi_weekend_post = [
|
214 |
-
'title' => esc_html__( 'Long weekend', 'the-events-calendar' ),
|
215 |
-
'ID' => 40,
|
216 |
-
'multiday' => true,
|
217 |
-
'start_date' => 22,
|
218 |
-
'end_this_week' => true,
|
219 |
-
'start_this_week' => false,
|
220 |
-
'duration' => 2, // duration in days
|
221 |
-
'featured' => false,
|
222 |
-
];
|
223 |
-
|
224 |
-
$event_not_multi_1 = [
|
225 |
-
'title' => esc_html__( 'Melbourne WordPress Meetup', 'the-events-calendar' ),
|
226 |
-
'ID' => 57,
|
227 |
-
'multiday' => false,
|
228 |
-
'featured' => true,
|
229 |
-
'recurring' => false,
|
230 |
-
];
|
231 |
-
|
232 |
-
$event_not_multi_2 = [
|
233 |
-
'title' => esc_html__( 'North Sydney Meetup', 'the-events-calendar' ),
|
234 |
-
'ID' => 53,
|
235 |
-
'multiday' => false,
|
236 |
-
'featured' => true,
|
237 |
-
'recurring' => false,
|
238 |
-
'image' => 'https://cldup.com/xfPL3E4sMe-2000x2000.jpeg',
|
239 |
-
];
|
240 |
-
|
241 |
-
$event_not_multi_3 = [
|
242 |
-
'title' => esc_html__( 'HackNight #CodeforthePeople', 'the-events-calendar' ),
|
243 |
-
'ID' => 59,
|
244 |
-
'multiday' => false,
|
245 |
-
'featured' => false,
|
246 |
-
'recurring' => false,
|
247 |
-
'image' => 'https://cldup.com/GkpQuY_i8k-1200x1200.jpeg',
|
248 |
-
];
|
249 |
-
|
250 |
-
$event_not_multi_4 = [
|
251 |
-
'title' => esc_html__( 'Winnipeg WordPress Meetup', 'the-events-calendar' ),
|
252 |
-
'ID' => 39,
|
253 |
-
'multiday' => false,
|
254 |
-
'featured' => false,
|
255 |
-
'recurring' => false,
|
256 |
-
'image' => 'https://cldup.com/Nhp8FNOyBl-2000x2000.jpeg',
|
257 |
-
];
|
258 |
-
|
259 |
-
$event_not_multi_5 = [
|
260 |
-
'title' => esc_html__( 'Hannover WordPress Meetup', 'the-events-calendar' ),
|
261 |
-
'ID' => 89,
|
262 |
-
'multiday' => false,
|
263 |
-
'featured' => false,
|
264 |
-
'recurring' => false,
|
265 |
-
];
|
266 |
-
|
267 |
-
$event_not_multi_recurring = [
|
268 |
-
'title' => esc_html__( 'Taco Tuesdays!', 'the-events-calendar' ),
|
269 |
-
'ID' => 69,
|
270 |
-
'multiday' => false,
|
271 |
-
'featured' => false,
|
272 |
-
'recurring' => true,
|
273 |
-
];
|
274 |
-
|
275 |
-
|
276 |
-
// Day 1
|
277 |
-
$day_1_events = [ $event1, $event2 ];
|
278 |
-
|
279 |
-
$day1 = [
|
280 |
-
'daynum' => 1,
|
281 |
-
'events' => $day_1_events,
|
282 |
-
'total_events' => count( $day_1_events ),
|
283 |
-
];
|
284 |
-
|
285 |
-
// Day 2
|
286 |
-
$day_2_events = [ $event1, $event2, $event3 ];
|
287 |
-
|
288 |
-
$day2 = [
|
289 |
-
'daynum' => 2,
|
290 |
-
'events' => $day_2_events,
|
291 |
-
'total_events' => count( $day_2_events )
|
292 |
-
];
|
293 |
-
|
294 |
-
// Day 3
|
295 |
-
$day_3_events = [ false, $event2, $event3 ];
|
296 |
-
|
297 |
-
$day3 = [
|
298 |
-
'daynum' => 3,
|
299 |
-
'events' => $day_3_events,
|
300 |
-
'total_events' => count( $day_3_events )
|
301 |
-
];
|
302 |
-
|
303 |
-
// Day 4
|
304 |
-
$day_4_events = [ $event4, false, $event3 ];
|
305 |
-
|
306 |
-
$day4 = [
|
307 |
-
'daynum' => 4,
|
308 |
-
'events' => $day_4_events,
|
309 |
-
'total_events' => count( $day_4_events )
|
310 |
-
];
|
311 |
-
|
312 |
-
// Day 5
|
313 |
-
$day_5_events = [ $event4, $event3 ];
|
314 |
-
|
315 |
-
$day5 = [
|
316 |
-
'daynum' => 5,
|
317 |
-
'events' => $day_5_events,
|
318 |
-
'total_events' => count( $day_5_events )
|
319 |
-
];
|
320 |
-
|
321 |
-
// Day 6
|
322 |
-
$day_6_events = [ $event_not_multi_2 ];
|
323 |
-
$day6 = [
|
324 |
-
'daynum' => 6,
|
325 |
-
'events' => $day_6_events,
|
326 |
-
'total_events' => count( $day_6_events )
|
327 |
-
];
|
328 |
-
|
329 |
-
$day7 = [];
|
330 |
-
|
331 |
-
$week1 = [ $day1, $day2, $day3, $day4, $day5, $day6 ];
|
332 |
-
|
333 |
-
/*
|
334 |
-
Week 2
|
335 |
-
*/
|
336 |
-
|
337 |
-
$day_9_events = [ $event_not_multi_recurring, $event_not_multi_1 ];
|
338 |
-
|
339 |
-
$day9 = [
|
340 |
-
'daynum' => 9,
|
341 |
-
'events' => $day_9_events,
|
342 |
-
'total_events' => count( $day_9_events )
|
343 |
-
];
|
344 |
-
|
345 |
-
$day_10_events = [ $event_not_multi_3 ];
|
346 |
-
|
347 |
-
$day10 = [
|
348 |
-
'daynum' => 10,
|
349 |
-
'events' => $day_10_events,
|
350 |
-
'total_events' => count( $day_10_events )
|
351 |
-
];
|
352 |
-
|
353 |
-
$week2 = [ $day9, $day10 ];
|
354 |
-
|
355 |
-
/*
|
356 |
-
Week 3
|
357 |
-
*/
|
358 |
-
|
359 |
-
$day_16_events = [ $event_not_multi_recurring ];
|
360 |
-
|
361 |
-
$day16 = [
|
362 |
-
'daynum' => 16,
|
363 |
-
'events' => $day_16_events,
|
364 |
-
'total_events' => count( $day_16_events )
|
365 |
-
];
|
366 |
-
|
367 |
-
$day_19_events = [ $event_multi_weekend_pre, $event_multi_5 ];
|
368 |
-
|
369 |
-
$day19 = [
|
370 |
-
'daynum' => 19,
|
371 |
-
'events' => $day_19_events,
|
372 |
-
'total_events' => count( $day_19_events )
|
373 |
-
];
|
374 |
-
|
375 |
-
$day_20_events = [ $event_multi_weekend_pre, $event_multi_5 ];
|
376 |
-
|
377 |
-
$day20 = [
|
378 |
-
'daynum' => 20,
|
379 |
-
'events' => $day_20_events,
|
380 |
-
'total_events' => count( $day_20_events )
|
381 |
-
];
|
382 |
-
|
383 |
-
$day21 = [
|
384 |
-
'daynum' => 21,
|
385 |
-
'events' => [ $event_multi_weekend_pre, false ],
|
386 |
-
'total_events' => count( [ $event_multi_weekend_pre, false ] )
|
387 |
-
];
|
388 |
-
|
389 |
-
$week3 = [ $day16, $day19, $day20, $day21 ];
|
390 |
-
|
391 |
-
/*
|
392 |
-
Week 4
|
393 |
-
*/
|
394 |
-
|
395 |
-
$day_22_events = [ $event_multi_weekend_post ];
|
396 |
-
|
397 |
-
$day22 = [
|
398 |
-
'daynum' => 22,
|
399 |
-
'events' => $day_22_events,
|
400 |
-
'total_events' => count( $day_22_events )
|
401 |
-
];
|
402 |
-
|
403 |
-
$day_23_events = [ $event_multi_weekend_post, $event_not_multi_recurring ];
|
404 |
-
|
405 |
-
$day23 = [
|
406 |
-
'daynum' => 23,
|
407 |
-
'events' => $day_23_events,
|
408 |
-
'total_events' => count( $day_23_events )
|
409 |
-
];
|
410 |
-
|
411 |
-
$day26 = [
|
412 |
-
'daynum' => 26,
|
413 |
-
'events' => [ $event_not_multi_4 ],
|
414 |
-
'total_events' => count( [ $event_not_multi_4 ] )
|
415 |
-
];
|
416 |
-
|
417 |
-
$day27 = [
|
418 |
-
'daynum' => 27,
|
419 |
-
'events' => [ $event_not_multi_5 ],
|
420 |
-
'total_events' => count( [ $event_not_multi_5 ] )
|
421 |
-
];
|
422 |
-
|
423 |
-
$week4 = [ $day22, $day23, $day26, $day27 ];
|
424 |
-
|
425 |
-
$month = array_merge( $week1, $week2, $week3, $week4 );
|
426 |
-
|
427 |
-
|
428 |
-
return $month;
|
429 |
-
|
430 |
-
}
|
431 |
-
add_filter( 'tribe_events_views_v2_month_demo_data', 'tribe_events_views_v2_month_demo_add_data' );
|
432 |
-
endif;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/admin-views/admin-update-message.php
CHANGED
@@ -36,11 +36,17 @@
|
|
36 |
<br/>
|
37 |
<h2><?php esc_html_e( 'PSST... Want a Discount?', 'the-events-calendar' ); ?></h2>
|
38 |
<p><?php esc_html_e( 'We send out discounts to our core users via our newsletter.', 'the-events-calendar' ); ?></p>
|
39 |
-
<form action="https://
|
40 |
-
<p><input id="
|
41 |
-
<
|
42 |
-
|
43 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
</form>
|
45 |
<br/>
|
46 |
<hr/>
|
36 |
<br/>
|
37 |
<h2><?php esc_html_e( 'PSST... Want a Discount?', 'the-events-calendar' ); ?></h2>
|
38 |
<p><?php esc_html_e( 'We send out discounts to our core users via our newsletter.', 'the-events-calendar' ); ?></p>
|
39 |
+
<form action="https://support-api.tri.be/mailing-list/subscribe" method="post">
|
40 |
+
<p><input id="fieldEmail" class="regular-text" name="email" type="email" placeholder="Email" required /></p>
|
41 |
+
<div>
|
42 |
+
<input id="cm-privacy-consent" name="consent" required type="checkbox" role="checkbox" aria-checked="false" />
|
43 |
+
<label for="cm-privacy-consent"><?php esc_html_e( 'Add me to the list', 'the-events-calendar' ); ?></label>
|
44 |
+
</div>
|
45 |
+
<p>
|
46 |
+
<input type="hidden" name="list" value="tec-newsletter" />
|
47 |
+
<input type="hidden" name="source" value="plugin:tec" />
|
48 |
+
<button type="submit" class="button-primary"><?php esc_html_e( 'Sign Up', 'the-events-calendar' ); ?></button>
|
49 |
+
</p>
|
50 |
</form>
|
51 |
<br/>
|
52 |
<hr/>
|
src/admin-views/admin-welcome-message.php
CHANGED
@@ -45,14 +45,15 @@
|
|
45 |
<h4 data-tribe-icon="dashicons-megaphone"><?php esc_html_e( "Don't Miss Out", 'the-events-calendar' ); ?></h4>
|
46 |
<p><?php esc_html_e( 'Get the latest on The Events Calendar, occasional discounts, and hilarious gifs delivered straight to your inbox.', 'the-events-calendar' ); ?></p>
|
47 |
|
48 |
-
<form action="https://
|
49 |
-
<p><input id="fieldEmail" class="regular-text" name="
|
50 |
<div>
|
51 |
-
<input id="cm-privacy-consent" name="
|
52 |
<label for="cm-privacy-consent"><?php esc_html_e( 'Add me to the list', 'the-events-calendar' ); ?></label>
|
53 |
-
<input id="cm-privacy-consent-hidden" name="cm-privacy-consent-hidden" type="hidden" value="true" />
|
54 |
</div>
|
55 |
<p>
|
|
|
|
|
56 |
<button type="submit" class="button-primary"><?php esc_html_e( 'Sign Up', 'the-events-calendar' ); ?></button>
|
57 |
</p>
|
58 |
</form>
|
45 |
<h4 data-tribe-icon="dashicons-megaphone"><?php esc_html_e( "Don't Miss Out", 'the-events-calendar' ); ?></h4>
|
46 |
<p><?php esc_html_e( 'Get the latest on The Events Calendar, occasional discounts, and hilarious gifs delivered straight to your inbox.', 'the-events-calendar' ); ?></p>
|
47 |
|
48 |
+
<form action="https://support-api.tri.be/mailing-list/subscribe" method="post">
|
49 |
+
<p><input id="fieldEmail" class="regular-text" name="email" type="email" placeholder="<?php esc_attr_e( 'Email', 'the-events-calendar' ); ?>" required /></p>
|
50 |
<div>
|
51 |
+
<input id="cm-privacy-consent" name="consent" required type="checkbox" role="checkbox" aria-checked="false" />
|
52 |
<label for="cm-privacy-consent"><?php esc_html_e( 'Add me to the list', 'the-events-calendar' ); ?></label>
|
|
|
53 |
</div>
|
54 |
<p>
|
55 |
+
<input type="hidden" name="list" value="tec-newsletter" />
|
56 |
+
<input type="hidden" name="source" value="plugin:tec" />
|
57 |
<button type="submit" class="button-primary"><?php esc_html_e( 'Sign Up', 'the-events-calendar' ); ?></button>
|
58 |
</p>
|
59 |
</form>
|
src/resources/css/views/tribe-events-v2.css
CHANGED
@@ -293,11 +293,8 @@
|
|
293 |
.tribe-events .tribe-events-l-container {
|
294 |
margin-bottom: 80px;
|
295 |
margin-top: 64px;
|
296 |
-
position: relative;
|
297 |
}
|
298 |
|
299 |
-
/* @todo: making this relative so the loader can take its dimension. Check where do we want to place it. */
|
300 |
-
|
301 |
/* Components */
|
302 |
|
303 |
/* -----------------------------------------------------------------------------
|
@@ -331,47 +328,6 @@
|
|
331 |
|
332 |
}
|
333 |
|
334 |
-
/* Tooltip */
|
335 |
-
|
336 |
-
/* -----------------------------------------------------------------------------
|
337 |
-
*
|
338 |
-
* Tooltip
|
339 |
-
*
|
340 |
-
* ----------------------------------------------------------------------------- */
|
341 |
-
|
342 |
-
.tribe-events .tribe-events-tooltip__content {
|
343 |
-
position: absolute;
|
344 |
-
visibility: hidden; /* A11y purposes */
|
345 |
-
}
|
346 |
-
|
347 |
-
/* Defining our tooltipster theme. */
|
348 |
-
|
349 |
-
.tooltipster-base.tribe-events-tooltip-theme {
|
350 |
-
background-color: #FFFFFF;
|
351 |
-
border: 1px solid #D5D5D5;
|
352 |
-
box-shadow: 0 2px 12px 0 rgba(0,0,0, 0.14);
|
353 |
-
padding: 24px;
|
354 |
-
max-width: 254px;
|
355 |
-
}
|
356 |
-
|
357 |
-
.tooltipster-base.tribe-events-tooltip-theme .tooltipster-box {
|
358 |
-
background-color: transparent;
|
359 |
-
border: none;
|
360 |
-
border-radius: 0;
|
361 |
-
box-shadow: none;
|
362 |
-
margin: 0;
|
363 |
-
}
|
364 |
-
|
365 |
-
.tooltipster-base.tribe-events-tooltip-theme .tooltipster-box .tooltipster-content {
|
366 |
-
color: #141827;
|
367 |
-
overflow: inherit;
|
368 |
-
padding: 0;
|
369 |
-
}
|
370 |
-
|
371 |
-
.tooltipster-base.tribe-events-tooltip-theme .tooltipster-arrow {
|
372 |
-
display: none;
|
373 |
-
}
|
374 |
-
|
375 |
/* Day marker */
|
376 |
|
377 |
/* -----------------------------------------------------------------------------
|
@@ -629,10 +585,6 @@
|
|
629 |
position: relative;
|
630 |
}
|
631 |
|
632 |
-
.tribe-events .tribe-events-calendar-month__calendar-event:first-of-type {
|
633 |
-
margin-top: 0;
|
634 |
-
}
|
635 |
-
|
636 |
.tribe-events .tribe-events-calendar-month__calendar-event-featured-image-wrapper {
|
637 |
margin-bottom: 4px;
|
638 |
}
|
@@ -665,8 +617,16 @@
|
|
665 |
font-weight: 400;
|
666 |
}
|
667 |
|
668 |
-
.tribe-events .tribe-events-calendar-month__calendar-event-
|
669 |
-
color: #
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
670 |
}
|
671 |
|
672 |
.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image-wrapper {
|
@@ -701,7 +661,7 @@
|
|
701 |
font-size: 16px;
|
702 |
line-height: 1.62;
|
703 |
|
704 |
-
padding: 8px
|
705 |
}
|
706 |
|
707 |
.tribe-events .tribe-events-calendar-month__day-date-link {
|
@@ -738,10 +698,6 @@
|
|
738 |
color: #D5D5D5;
|
739 |
}
|
740 |
|
741 |
-
.tribe-events .tribe-events-calendar-month__day-events {
|
742 |
-
display: none;
|
743 |
-
}
|
744 |
-
|
745 |
/* -----------------------------------------------------------------------------
|
746 |
* Grid Header
|
747 |
* ----------------------------------------------------------------------------- */
|
@@ -804,7 +760,10 @@
|
|
804 |
* ----------------------------------------------------------------------------- */
|
805 |
|
806 |
.tribe-events .tribe-events-calendar-month__event-multiday {
|
807 |
-
|
|
|
|
|
|
|
808 |
}
|
809 |
|
810 |
.tribe-events .tribe-events-calendar-month__event-multiday-inner {
|
@@ -839,38 +798,14 @@
|
|
839 |
font-weight: 400;
|
840 |
}
|
841 |
|
842 |
-
|
843 |
-
|
844 |
-
|
845 |
-
|
846 |
-
.tribe-events .tribe-events-calendar-month__event-multiday-width-2 {
|
847 |
-
width: calc(200% + 2px);
|
848 |
-
}
|
849 |
-
|
850 |
-
.tribe-events .tribe-events-calendar-month__event-multiday-width-3 {
|
851 |
-
width: calc(300% + 3px);
|
852 |
-
}
|
853 |
-
|
854 |
-
.tribe-events .tribe-events-calendar-month__event-multiday-width-4 {
|
855 |
-
width: calc(400% + 4px);
|
856 |
-
}
|
857 |
-
|
858 |
-
.tribe-events .tribe-events-calendar-month__event-multiday-width-5 {
|
859 |
-
width: calc(500% + 5px);
|
860 |
-
}
|
861 |
-
|
862 |
-
.tribe-events .tribe-events-calendar-month__event-multiday-width-6 {
|
863 |
-
width: calc(600% + 6px);
|
864 |
-
}
|
865 |
-
|
866 |
-
.tribe-events .tribe-events-calendar-month__event-multiday-width-7 {
|
867 |
-
width: calc(700% + 7px);
|
868 |
-
}
|
869 |
|
870 |
-
.tribe-events
|
871 |
-
|
872 |
-
|
873 |
-
}
|
874 |
|
875 |
@media (min-width: 768px) {
|
876 |
|
@@ -995,11 +930,6 @@
|
|
995 |
line-height: 1.42;
|
996 |
}
|
997 |
|
998 |
-
.tribe-events .tribe-events-calendar-month__day-events {
|
999 |
-
display: block;
|
1000 |
-
padding: 0 16px 16px
|
1001 |
-
}
|
1002 |
-
|
1003 |
.tribe-events .tribe-events-calendar-month__week:first-of-type {
|
1004 |
border-top: 1px solid #D5D5D5
|
1005 |
}
|
@@ -1007,38 +937,5 @@
|
|
1007 |
.tribe-events .tribe-events-calendar-month__week {
|
1008 |
border-left: 1px solid #D5D5D5
|
1009 |
}
|
|
|
1010 |
|
1011 |
-
.tribe-events .tribe-events-calendar-month__event-multiday {
|
1012 |
-
display: block;
|
1013 |
-
border-radius: 6px;
|
1014 |
-
background-color: white;
|
1015 |
-
overflow: hidden;
|
1016 |
-
position: absolute;
|
1017 |
-
z-index: 99
|
1018 |
-
}
|
1019 |
-
|
1020 |
-
.tribe-events .tribe-events-calendar-month__event-multiday--start {
|
1021 |
-
border-radius: 6px 0 0 6px
|
1022 |
-
}
|
1023 |
-
.tribe-events .tribe-events-calendar-month__event-multiday--start.tribe-events-calendar-month__event-multiday--end {
|
1024 |
-
border-radius: 6px;
|
1025 |
-
}
|
1026 |
-
|
1027 |
-
.tribe-events .tribe-events-calendar-month__event-multiday--end {
|
1028 |
-
border-radius: 0 6px 6px 0
|
1029 |
-
}
|
1030 |
-
.tribe-events .tribe-events-calendar-month__event-multiday--end.tribe-events-calendar-month__event-multiday--start {
|
1031 |
-
border-radius: 6px;
|
1032 |
-
}
|
1033 |
-
|
1034 |
-
.tribe-events .tribe-events-calendar-month__multiday-wrapper {
|
1035 |
-
height: 19px;
|
1036 |
-
margin-bottom: 4px;
|
1037 |
-
position: relative
|
1038 |
-
}
|
1039 |
-
|
1040 |
-
.tribe-events .tribe-events-calendar-month__event-multiday--empty,
|
1041 |
-
.tribe-events .tribe-events-calendar-month__event-multiday--hidden {
|
1042 |
-
visibility: hidden
|
1043 |
-
}
|
1044 |
-
}
|
293 |
.tribe-events .tribe-events-l-container {
|
294 |
margin-bottom: 80px;
|
295 |
margin-top: 64px;
|
|
|
296 |
}
|
297 |
|
|
|
|
|
298 |
/* Components */
|
299 |
|
300 |
/* -----------------------------------------------------------------------------
|
328 |
|
329 |
}
|
330 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
331 |
/* Day marker */
|
332 |
|
333 |
/* -----------------------------------------------------------------------------
|
585 |
position: relative;
|
586 |
}
|
587 |
|
|
|
|
|
|
|
|
|
588 |
.tribe-events .tribe-events-calendar-month__calendar-event-featured-image-wrapper {
|
589 |
margin-bottom: 4px;
|
590 |
}
|
617 |
font-weight: 400;
|
618 |
}
|
619 |
|
620 |
+
.tribe-events .tribe-events-calendar-month__calendar-event-tooltip {
|
621 |
+
background-color: #FFFFFF;
|
622 |
+
border: 1px solid #D5D5D5;
|
623 |
+
box-shadow: 0 2px 12px 0 rgba(0,0,0, 0.14);
|
624 |
+
display: none;
|
625 |
+
left: -40px;
|
626 |
+
padding: 24px;
|
627 |
+
position: absolute;
|
628 |
+
top: calc(100% + 8px);
|
629 |
+
width: calc(100% + 80px);
|
630 |
}
|
631 |
|
632 |
.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image-wrapper {
|
661 |
font-size: 16px;
|
662 |
line-height: 1.62;
|
663 |
|
664 |
+
padding: 8px;
|
665 |
}
|
666 |
|
667 |
.tribe-events .tribe-events-calendar-month__day-date-link {
|
698 |
color: #D5D5D5;
|
699 |
}
|
700 |
|
|
|
|
|
|
|
|
|
701 |
/* -----------------------------------------------------------------------------
|
702 |
* Grid Header
|
703 |
* ----------------------------------------------------------------------------- */
|
760 |
* ----------------------------------------------------------------------------- */
|
761 |
|
762 |
.tribe-events .tribe-events-calendar-month__event-multiday {
|
763 |
+
border-radius: 6px;
|
764 |
+
margin-bottom: 4px;
|
765 |
+
background-color: white;
|
766 |
+
overflow: hidden;
|
767 |
}
|
768 |
|
769 |
.tribe-events .tribe-events-calendar-month__event-multiday-inner {
|
798 |
font-weight: 400;
|
799 |
}
|
800 |
|
801 |
+
/**
|
802 |
+
* Views Manager Loader required the views container to be position: relative;
|
803 |
+
* @todo move this to somewhere that makes sense
|
804 |
+
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
805 |
|
806 |
+
.tribe-events {
|
807 |
+
position: relative;
|
808 |
+
}
|
|
|
809 |
|
810 |
@media (min-width: 768px) {
|
811 |
|
930 |
line-height: 1.42;
|
931 |
}
|
932 |
|
|
|
|
|
|
|
|
|
|
|
933 |
.tribe-events .tribe-events-calendar-month__week:first-of-type {
|
934 |
border-top: 1px solid #D5D5D5
|
935 |
}
|
937 |
.tribe-events .tribe-events-calendar-month__week {
|
938 |
border-left: 1px solid #D5D5D5
|
939 |
}
|
940 |
+
}
|
941 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/resources/js/views/scripts.js
DELETED
@@ -1,93 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Makes sure we have all the required levels on the Tribe Object
|
3 |
-
*
|
4 |
-
* @since TBD
|
5 |
-
*
|
6 |
-
* @type {PlainObject}
|
7 |
-
*/
|
8 |
-
tribe.events = tribe.events || {};
|
9 |
-
tribe.events.views = tribe.events.views || {};
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Configures Views Object in the Global Tribe variable
|
13 |
-
*
|
14 |
-
* @since TBD
|
15 |
-
*
|
16 |
-
* @type {PlainObject}
|
17 |
-
*/
|
18 |
-
tribe.events.views.scripts = {};
|
19 |
-
|
20 |
-
/**
|
21 |
-
* Initializes in a Strict env the code that manages the Event Views
|
22 |
-
*
|
23 |
-
* @since TBD
|
24 |
-
*
|
25 |
-
* @param {PlainObject} $ jQuery
|
26 |
-
* @param {PlainObject} _ Underscore.js
|
27 |
-
* @param {PlainObject} obj tribe.events.views.scripts
|
28 |
-
*
|
29 |
-
* @return {void}
|
30 |
-
*/
|
31 |
-
( function( $, _, obj ) {
|
32 |
-
'use strict';
|
33 |
-
var $document = $( document );
|
34 |
-
|
35 |
-
/**
|
36 |
-
* Selectors used for configuration and setup
|
37 |
-
*
|
38 |
-
* @since TBD
|
39 |
-
*
|
40 |
-
* @type {PlainObject}
|
41 |
-
*/
|
42 |
-
obj.selectors = {
|
43 |
-
tooltip: '.tribe-events-tooltip',
|
44 |
-
tooltipContent: '.tribe-events-tooltip__content',
|
45 |
-
};
|
46 |
-
|
47 |
-
/**
|
48 |
-
* Initialize accessible tooltips via tooltipster
|
49 |
-
*
|
50 |
-
* @since TBD
|
51 |
-
*
|
52 |
-
*/
|
53 |
-
obj.initTooltips = function() {
|
54 |
-
|
55 |
-
$( obj.selectors.tooltip ).tooltipster( {
|
56 |
-
interactive: true,
|
57 |
-
theme: [ 'tribe-common', 'tribe-events', 'tribe-events-tooltip-theme' ],
|
58 |
-
functionInit: function( instance, helper ) {
|
59 |
-
var content = $( helper.origin ).find( obj.selectors.tooltipContent ).html();
|
60 |
-
instance.content( content );
|
61 |
-
$( helper.origin )
|
62 |
-
.focus( function() {
|
63 |
-
$( this ).tooltipster( 'open' );
|
64 |
-
})
|
65 |
-
.blur( function() {
|
66 |
-
$( this ).tooltipster( 'close' );
|
67 |
-
});
|
68 |
-
},
|
69 |
-
functionReady: function( instance, helper ) {
|
70 |
-
$( helper.origin ).find( obj.selectors.tooltipContent ).attr( 'aria-hidden', false );
|
71 |
-
},
|
72 |
-
functionAfter: function( instance, helper ) {
|
73 |
-
$( helper.origin ).find( obj.selectors.tooltipContent ).attr( 'aria-hidden', true );
|
74 |
-
}
|
75 |
-
} );
|
76 |
-
};
|
77 |
-
|
78 |
-
/**
|
79 |
-
* Handles the initialization of the scripts when Document is ready
|
80 |
-
*
|
81 |
-
* @since TBD
|
82 |
-
*
|
83 |
-
* @return {void}
|
84 |
-
*/
|
85 |
-
obj.ready = function() {
|
86 |
-
|
87 |
-
obj.initTooltips();
|
88 |
-
|
89 |
-
};
|
90 |
-
|
91 |
-
// Configure on document ready
|
92 |
-
$document.ready( obj.ready );
|
93 |
-
}( jQuery, window.underscore || window._, tribe.events.views.scripts ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/resources/postcss/base/_layouts.pcss
CHANGED
@@ -8,7 +8,6 @@
|
|
8 |
.tribe-events-l-container {
|
9 |
margin-bottom: var(--spacer-11);
|
10 |
margin-top: var(--spacer-10);
|
11 |
-
position: relative; /* @todo: making this relative so the loader can take its dimension. Check where do we want to place it. */
|
12 |
|
13 |
@media (--viewport-medium) {
|
14 |
margin-bottom: var(--spacer-13);
|
8 |
.tribe-events-l-container {
|
9 |
margin-bottom: var(--spacer-11);
|
10 |
margin-top: var(--spacer-10);
|
|
|
11 |
|
12 |
@media (--viewport-medium) {
|
13 |
margin-bottom: var(--spacer-13);
|
src/resources/postcss/components/_all.pcss
CHANGED
@@ -10,9 +10,6 @@
|
|
10 |
/* Small CTA */
|
11 |
@import "_small-cta.pcss";
|
12 |
|
13 |
-
/* Tooltip */
|
14 |
-
@import "_tooltip.pcss";
|
15 |
-
|
16 |
/* Day marker */
|
17 |
@import "_day-marker.pcss";
|
18 |
|
10 |
/* Small CTA */
|
11 |
@import "_small-cta.pcss";
|
12 |
|
|
|
|
|
|
|
13 |
/* Day marker */
|
14 |
@import "_day-marker.pcss";
|
15 |
|
src/resources/postcss/components/_tooltip.pcss
DELETED
@@ -1,40 +0,0 @@
|
|
1 |
-
/* -----------------------------------------------------------------------------
|
2 |
-
*
|
3 |
-
* Tooltip
|
4 |
-
*
|
5 |
-
* ----------------------------------------------------------------------------- */
|
6 |
-
|
7 |
-
.tribe-events {
|
8 |
-
|
9 |
-
.tribe-events-tooltip__content {
|
10 |
-
position: absolute;
|
11 |
-
visibility: hidden; /* A11y purposes */
|
12 |
-
}
|
13 |
-
}
|
14 |
-
|
15 |
-
/* Defining our tooltipster theme. */
|
16 |
-
.tooltipster-base.tribe-events-tooltip-theme {
|
17 |
-
background-color: var(--color-background);
|
18 |
-
border: 1px solid var(--color-border-default);
|
19 |
-
box-shadow: var(--box-shadow-tooltip);
|
20 |
-
padding: var(--spacer-4);
|
21 |
-
max-width: 254px;
|
22 |
-
|
23 |
-
.tooltipster-box {
|
24 |
-
background-color: transparent;
|
25 |
-
border: none;
|
26 |
-
border-radius: 0;
|
27 |
-
box-shadow: none;
|
28 |
-
margin: 0;
|
29 |
-
|
30 |
-
.tooltipster-content {
|
31 |
-
color: var(--color-text-primary);
|
32 |
-
overflow: inherit;
|
33 |
-
padding: 0;
|
34 |
-
}
|
35 |
-
}
|
36 |
-
|
37 |
-
.tooltipster-arrow {
|
38 |
-
display: none;
|
39 |
-
}
|
40 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/resources/postcss/views/month/_calendar-event.pcss
CHANGED
@@ -7,10 +7,6 @@
|
|
7 |
.tribe-events-calendar-month__calendar-event {
|
8 |
margin: var(--spacer-1) 0;
|
9 |
position: relative;
|
10 |
-
|
11 |
-
&:first-of-type {
|
12 |
-
margin-top: 0;
|
13 |
-
}
|
14 |
}
|
15 |
|
16 |
.tribe-events-calendar-month__calendar-event-featured-image-wrapper {
|
@@ -41,8 +37,16 @@
|
|
41 |
font-weight: var(--font-weight-regular);
|
42 |
}
|
43 |
|
44 |
-
.tribe-events-calendar-month__calendar-event-
|
45 |
-
color: var(--color-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
}
|
47 |
|
48 |
.tribe-events-calendar-month__calendar-event-tooltip-featured-image-wrapper {
|
7 |
.tribe-events-calendar-month__calendar-event {
|
8 |
margin: var(--spacer-1) 0;
|
9 |
position: relative;
|
|
|
|
|
|
|
|
|
10 |
}
|
11 |
|
12 |
.tribe-events-calendar-month__calendar-event-featured-image-wrapper {
|
37 |
font-weight: var(--font-weight-regular);
|
38 |
}
|
39 |
|
40 |
+
.tribe-events-calendar-month__calendar-event-tooltip {
|
41 |
+
background-color: var(--color-background);
|
42 |
+
border: 1px solid var(--color-border-default);
|
43 |
+
box-shadow: var(--box-shadow-tooltip);
|
44 |
+
display: none;
|
45 |
+
left: calc(var(--spacer-7) * -1);
|
46 |
+
padding: var(--spacer-4);
|
47 |
+
position: absolute;
|
48 |
+
top: calc(100% + var(--spacer-1));
|
49 |
+
width: calc(100% + (2 * var(--spacer-7)));
|
50 |
}
|
51 |
|
52 |
.tribe-events-calendar-month__calendar-event-tooltip-featured-image-wrapper {
|
src/resources/postcss/views/month/_day.pcss
CHANGED
@@ -37,7 +37,7 @@
|
|
37 |
@mixin desktop-heading-4;
|
38 |
}
|
39 |
|
40 |
-
padding: var(--spacer-1)
|
41 |
}
|
42 |
|
43 |
.tribe-events-calendar-month__day-date-link {
|
@@ -73,13 +73,4 @@
|
|
73 |
.tribe-events-calendar-month__day-date--disabled {
|
74 |
color: var(--color-text-disabled);
|
75 |
}
|
76 |
-
|
77 |
-
.tribe-events-calendar-month__day-events {
|
78 |
-
display: none;
|
79 |
-
|
80 |
-
@media (--viewport-medium) {
|
81 |
-
display: block;
|
82 |
-
padding: 0 var(--spacer-2) var(--spacer-2);
|
83 |
-
}
|
84 |
-
}
|
85 |
}
|
37 |
@mixin desktop-heading-4;
|
38 |
}
|
39 |
|
40 |
+
padding: var(--spacer-1);
|
41 |
}
|
42 |
|
43 |
.tribe-events-calendar-month__day-date-link {
|
73 |
.tribe-events-calendar-month__day-date--disabled {
|
74 |
color: var(--color-text-disabled);
|
75 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
}
|
src/resources/postcss/views/month/_multiday-event.pcss
CHANGED
@@ -5,34 +5,10 @@
|
|
5 |
* ----------------------------------------------------------------------------- */
|
6 |
|
7 |
.tribe-events-calendar-month__event-multiday {
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
border-radius: 6px;
|
13 |
-
background-color: white;
|
14 |
-
overflow: hidden;
|
15 |
-
position: absolute;
|
16 |
-
z-index: calc( var(--z-index-spinner-container) - 1 );
|
17 |
-
}
|
18 |
-
}
|
19 |
-
|
20 |
-
.tribe-events-calendar-month__event-multiday--start {
|
21 |
-
@media (--viewport-medium) {
|
22 |
-
border-radius: 6px 0 0 6px;
|
23 |
-
&.tribe-events-calendar-month__event-multiday--end {
|
24 |
-
border-radius: 6px;
|
25 |
-
}
|
26 |
-
}
|
27 |
-
}
|
28 |
-
|
29 |
-
.tribe-events-calendar-month__event-multiday--end {
|
30 |
-
@media (--viewport-medium) {
|
31 |
-
border-radius: 0 6px 6px 0;
|
32 |
-
&.tribe-events-calendar-month__event-multiday--start {
|
33 |
-
border-radius: 6px;
|
34 |
-
}
|
35 |
-
}
|
36 |
}
|
37 |
|
38 |
.tribe-events-calendar-month__event-multiday-inner {
|
@@ -50,15 +26,6 @@
|
|
50 |
}
|
51 |
}
|
52 |
|
53 |
-
.tribe-events-calendar-month__multiday-wrapper {
|
54 |
-
|
55 |
-
@media (--viewport-medium) {
|
56 |
-
height: 19px;
|
57 |
-
margin-bottom: var(--spacer-0);
|
58 |
-
position: relative;
|
59 |
-
}
|
60 |
-
}
|
61 |
-
|
62 |
.tribe-events-calendar-month__event-multiday-inner--border-left {
|
63 |
border-left: 2px solid var(--color-accent-primary);
|
64 |
}
|
@@ -75,42 +42,4 @@
|
|
75 |
.tribe-events-calendar-month__event-multiday-title {
|
76 |
font-weight: var(--font-weight-regular);
|
77 |
}
|
78 |
-
|
79 |
-
.tribe-events-calendar-month__event-multiday-width-1 {
|
80 |
-
width: 100%;
|
81 |
-
}
|
82 |
-
|
83 |
-
.tribe-events-calendar-month__event-multiday-width-2 {
|
84 |
-
width: calc( 200% + 2px );
|
85 |
-
}
|
86 |
-
|
87 |
-
.tribe-events-calendar-month__event-multiday-width-3 {
|
88 |
-
width: calc( 300% + 3px );
|
89 |
-
}
|
90 |
-
|
91 |
-
.tribe-events-calendar-month__event-multiday-width-4 {
|
92 |
-
width: calc( 400% + 4px );
|
93 |
-
}
|
94 |
-
|
95 |
-
.tribe-events-calendar-month__event-multiday-width-5 {
|
96 |
-
width: calc( 500% + 5px );
|
97 |
-
}
|
98 |
-
|
99 |
-
.tribe-events-calendar-month__event-multiday-width-6 {
|
100 |
-
width: calc( 600% + 6px );
|
101 |
-
}
|
102 |
-
|
103 |
-
.tribe-events-calendar-month__event-multiday-width-7 {
|
104 |
-
width: calc( 700% + 7px );
|
105 |
-
}
|
106 |
-
|
107 |
-
.tribe-events-calendar-month__event-multiday--empty,
|
108 |
-
.tribe-events-calendar-month__event-multiday--hidden {
|
109 |
-
display: none;
|
110 |
-
|
111 |
-
@media (--viewport-medium) {
|
112 |
-
visibility: hidden;
|
113 |
-
}
|
114 |
-
}
|
115 |
-
|
116 |
}
|
5 |
* ----------------------------------------------------------------------------- */
|
6 |
|
7 |
.tribe-events-calendar-month__event-multiday {
|
8 |
+
border-radius: 6px;
|
9 |
+
margin-bottom: var(--spacer-0);
|
10 |
+
background-color: white;
|
11 |
+
overflow: hidden;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
}
|
13 |
|
14 |
.tribe-events-calendar-month__event-multiday-inner {
|
26 |
}
|
27 |
}
|
28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
.tribe-events-calendar-month__event-multiday-inner--border-left {
|
30 |
border-left: 2px solid var(--color-accent-primary);
|
31 |
}
|
42 |
.tribe-events-calendar-month__event-multiday-title {
|
43 |
font-weight: var(--font-weight-regular);
|
44 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
}
|
src/resources/postcss/views/tribe-events-v2.pcss
CHANGED
@@ -15,4 +15,13 @@
|
|
15 |
@import "../components/_all.pcss";
|
16 |
|
17 |
/* Views */
|
18 |
-
@import "_all.pcss";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
@import "../components/_all.pcss";
|
16 |
|
17 |
/* Views */
|
18 |
+
@import "_all.pcss";
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Views Manager Loader required the views container to be position: relative;
|
22 |
+
* @todo move this to somewhere that makes sense
|
23 |
+
*/
|
24 |
+
.tribe-events {
|
25 |
+
position: relative;
|
26 |
+
}
|
27 |
+
|
src/views/v2/index.php
CHANGED
@@ -1,9 +1,8 @@
|
|
1 |
<?php
|
2 |
use Tribe\Events\Views\V2\Template_Bootstrap;
|
3 |
-
|
4 |
-
get_header()
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
get_footer();
|
1 |
<?php
|
2 |
use Tribe\Events\Views\V2\Template_Bootstrap;
|
3 |
+
|
4 |
+
get_header();
|
5 |
+
|
6 |
+
echo tribe( Template_Bootstrap::class )->get_view_html();
|
7 |
+
|
8 |
+
get_footer();
|
|
src/views/v2/month.php
CHANGED
@@ -15,12 +15,6 @@
|
|
15 |
|
16 |
$events = $this->get( 'events' );
|
17 |
|
18 |
-
/*
|
19 |
-
Adding this as a temprorary data structure.
|
20 |
-
@todo: This array should contain the month with real events.
|
21 |
-
*/
|
22 |
-
$month = apply_filters( 'tribe_events_views_v2_month_demo_data', [] );
|
23 |
-
|
24 |
?>
|
25 |
|
26 |
<div class="tribe-common-l-container tribe-events-l-container">
|
@@ -42,7 +36,7 @@ $month = apply_filters( 'tribe_events_views_v2_month_demo_data', [] );
|
|
42 |
|
43 |
<?php for ( $day = 0; $day < 7; $day++ ) : ?>
|
44 |
|
45 |
-
<?php $this->template( 'month/day', [ 'day' => $day, 'week' => $week
|
46 |
|
47 |
<?php endfor; ?>
|
48 |
|
@@ -55,3 +49,4 @@ $month = apply_filters( 'tribe_events_views_v2_month_demo_data', [] );
|
|
55 |
</div>
|
56 |
|
57 |
</div>
|
|
15 |
|
16 |
$events = $this->get( 'events' );
|
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
?>
|
19 |
|
20 |
<div class="tribe-common-l-container tribe-events-l-container">
|
36 |
|
37 |
<?php for ( $day = 0; $day < 7; $day++ ) : ?>
|
38 |
|
39 |
+
<?php $this->template( 'month/day', [ 'day' => $day, 'week' => $week ] ); ?>
|
40 |
|
41 |
<?php endfor; ?>
|
42 |
|
49 |
</div>
|
50 |
|
51 |
</div>
|
52 |
+
|
src/views/v2/month/calendar-event.php
CHANGED
@@ -14,7 +14,7 @@
|
|
14 |
*/
|
15 |
|
16 |
$event = $this->get( 'event' );
|
17 |
-
|
18 |
|
19 |
$classes = [ 'tribe-events-calendar-month__calendar-event' ];
|
20 |
|
@@ -32,8 +32,8 @@ $classes = [ 'tribe-events-calendar-month__calendar-event' ];
|
|
32 |
<?php $this->template( 'month/calendar-event/date', [ 'event' => $event ] ); ?>
|
33 |
<?php $this->template( 'month/calendar-event/title', [ 'event' => $event ] ); ?>
|
34 |
|
35 |
-
<?php $this->template( 'month/calendar-event/tooltip', [ 'event' => $event ] ); ?>
|
36 |
-
|
37 |
</div>
|
38 |
|
|
|
|
|
39 |
</article>
|
14 |
*/
|
15 |
|
16 |
$event = $this->get( 'event' );
|
17 |
+
$event_id = $event->ID;
|
18 |
|
19 |
$classes = [ 'tribe-events-calendar-month__calendar-event' ];
|
20 |
|
32 |
<?php $this->template( 'month/calendar-event/date', [ 'event' => $event ] ); ?>
|
33 |
<?php $this->template( 'month/calendar-event/title', [ 'event' => $event ] ); ?>
|
34 |
|
|
|
|
|
35 |
</div>
|
36 |
|
37 |
+
<?php $this->template( 'month/calendar-event/tooltip', [ 'event' => $event ] ); ?>
|
38 |
+
|
39 |
</article>
|
src/views/v2/month/calendar-event/date.php
CHANGED
@@ -12,28 +12,21 @@
|
|
12 |
* @version 4.9.3
|
13 |
*
|
14 |
*/
|
15 |
-
$event = $this->get( 'event' );
|
16 |
-
$is_featured = isset( $event->featured ) && $event->featured;
|
17 |
-
$is_recurring = isset( $event->recurring ) && $event->recurring;
|
18 |
?>
|
19 |
<div class="tribe-events-calendar-month__calendar-event-datetime">
|
20 |
<time datetime="14:00">2pm</time>
|
21 |
<span class="tribe-events-calendar-month__calendar-event-datetime-separator"> - </span>
|
22 |
<time datetime="18:00">6pm</time>
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
</em>
|
30 |
-
<?php endif; ?>
|
31 |
-
<?php if ( $is_recurring ) : ?>
|
32 |
<em
|
33 |
class="tribe-events-calendar-month__calendar-event-datetime-recurring tribe-common-svgicon tribe-common-svgicon--recurring"
|
34 |
aria-label="<?php esc_attr_e( 'Recurring', 'the-events-calendar' ) ?>"
|
35 |
title="<?php esc_attr_e( 'Recurring', 'the-events-calendar' ) ?>"
|
36 |
>
|
37 |
</em>
|
38 |
-
<?php endif; ?>
|
39 |
</div>
|
12 |
* @version 4.9.3
|
13 |
*
|
14 |
*/
|
|
|
|
|
|
|
15 |
?>
|
16 |
<div class="tribe-events-calendar-month__calendar-event-datetime">
|
17 |
<time datetime="14:00">2pm</time>
|
18 |
<span class="tribe-events-calendar-month__calendar-event-datetime-separator"> - </span>
|
19 |
<time datetime="18:00">6pm</time>
|
20 |
+
<em
|
21 |
+
class="tribe-events-calendar-month__calendar-event-datetime-featured tribe-common-svgicon tribe-common-svgicon--featured"
|
22 |
+
aria-label="<?php esc_attr_e( 'Featured', 'the-events-calendar' ) ?>"
|
23 |
+
title="<?php esc_attr_e( 'Featured', 'the-events-calendar' ) ?>"
|
24 |
+
>
|
25 |
+
</em>
|
|
|
|
|
|
|
26 |
<em
|
27 |
class="tribe-events-calendar-month__calendar-event-datetime-recurring tribe-common-svgicon tribe-common-svgicon--recurring"
|
28 |
aria-label="<?php esc_attr_e( 'Recurring', 'the-events-calendar' ) ?>"
|
29 |
title="<?php esc_attr_e( 'Recurring', 'the-events-calendar' ) ?>"
|
30 |
>
|
31 |
</em>
|
|
|
32 |
</div>
|
src/views/v2/month/calendar-event/featured-image.php
CHANGED
@@ -12,21 +12,9 @@
|
|
12 |
* @version 4.9.3
|
13 |
*
|
14 |
*/
|
15 |
-
$event = $this->get( 'event' );
|
16 |
-
|
17 |
-
if ( ! isset( $event->image ) ) { // @todo: use template tags for images here
|
18 |
-
return;
|
19 |
-
}
|
20 |
-
|
21 |
?>
|
22 |
<div class="tribe-events-calendar-month__calendar-event-featured-image-wrapper">
|
23 |
<div class="tribe-events-calendar-month__calendar-event-featured-image tribe-common-c-image tribe-common-c-image--bg">
|
24 |
-
<div
|
25 |
-
class="tribe-common-c-image__bg"
|
26 |
-
style="background-image: url('<?php echo esc_attr( $event->image ); ?>');"
|
27 |
-
role="img"
|
28 |
-
aria-label="alt text here"
|
29 |
-
>
|
30 |
-
</div>
|
31 |
</div>
|
32 |
</div>
|
12 |
* @version 4.9.3
|
13 |
*
|
14 |
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
?>
|
16 |
<div class="tribe-events-calendar-month__calendar-event-featured-image-wrapper">
|
17 |
<div class="tribe-events-calendar-month__calendar-event-featured-image tribe-common-c-image tribe-common-c-image--bg">
|
18 |
+
<div class="tribe-common-c-image__bg"></div>
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
</div>
|
20 |
</div>
|
src/views/v2/month/calendar-event/title.php
CHANGED
@@ -12,17 +12,14 @@
|
|
12 |
* @version 4.9.3
|
13 |
*
|
14 |
*/
|
15 |
-
$event = $this->get( 'event' );
|
16 |
-
$event_id = $event->ID;
|
17 |
?>
|
18 |
-
<h3 class="tribe-events-calendar-month__calendar-event-title tribe-common-h8
|
19 |
-
data-tooltip-content="#tooltip_content-<?php echo esc_attr( $event_id ); ?>"
|
20 |
-
aria-describedby="#tooltip_content-<?php echo esc_attr( $event_id ); ?>">
|
21 |
<a
|
22 |
-
|
|
|
23 |
rel="bookmark"
|
24 |
class="tribe-events-calendar-month__calendar-event-title-link tribe-common-anchor-thin"
|
25 |
>
|
26 |
-
|
27 |
</a>
|
28 |
</h3>
|
12 |
* @version 4.9.3
|
13 |
*
|
14 |
*/
|
|
|
|
|
15 |
?>
|
16 |
+
<h3 class="tribe-events-calendar-month__calendar-event-title tribe-common-h8">
|
|
|
|
|
17 |
<a
|
18 |
+
href="#"
|
19 |
+
title="Lorem Ipsum"
|
20 |
rel="bookmark"
|
21 |
class="tribe-events-calendar-month__calendar-event-title-link tribe-common-anchor-thin"
|
22 |
>
|
23 |
+
Lorem Ipsum
|
24 |
</a>
|
25 |
</h3>
|
src/views/v2/month/calendar-event/tooltip.php
CHANGED
@@ -12,17 +12,11 @@
|
|
12 |
* @version 4.9.3
|
13 |
*
|
14 |
*/
|
15 |
-
$event = $this->get( 'event' );
|
16 |
-
$event_id = $event->ID;
|
17 |
?>
|
18 |
-
<div class="tribe-events-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
role="tooltip"
|
23 |
-
>
|
24 |
-
<?php $this->template( 'month/calendar-event/tooltip/featured-image', [ 'event' => $event ] ); ?>
|
25 |
-
<?php $this->template( 'month/calendar-event/tooltip/description', [ 'event' => $event ] ); ?>
|
26 |
-
<?php $this->template( 'month/calendar-event/tooltip/cta', [ 'event' => $event ] ); ?>
|
27 |
-
</div>
|
28 |
</div>
|
12 |
* @version 4.9.3
|
13 |
*
|
14 |
*/
|
15 |
+
// $event = $this->get( 'event' );
|
16 |
+
// $event_id = $event->ID;
|
17 |
?>
|
18 |
+
<div class="tribe-events-calendar-month__calendar-event-tooltip">
|
19 |
+
<?php $this->template( 'month/calendar-event/tooltip/featured-image', [ 'event' => $event ] ); ?>
|
20 |
+
<?php $this->template( 'month/calendar-event/tooltip/description', [ 'event' => $event ] ); ?>
|
21 |
+
<?php /* RSVP Ticket CTA goes here */ ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
</div>
|
src/views/v2/month/calendar-event/tooltip/description.php
CHANGED
@@ -14,5 +14,5 @@
|
|
14 |
*/
|
15 |
?>
|
16 |
<p class="tribe-events-calendar-month__calendar-event-tooltip-description tribe-common-b3">
|
17 |
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In consectetur metus tortor, et maximus libero aliquet in. Praesent rhoncus ultricies neque in imperdiet. Aenean at ex luctus, tempor justo eget, pharetra magna. Nullam ut odio maximus nisi mollis gravida.
|
18 |
</p>
|
14 |
*/
|
15 |
?>
|
16 |
<p class="tribe-events-calendar-month__calendar-event-tooltip-description tribe-common-b3">
|
17 |
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In consectetur metus tortor, et maximus libero aliquet in. Praesent rhoncus ultricies neque in imperdiet. Aenean at ex luctus, tempor justo eget, pharetra magna. Nullam ut odio maximus nisi mollis gravida. Fusce dictum vestibulum pretium. In faucibus aliquet hendrerit. Sed ultrices tristique odio id bibendum. Donec at porta ante, sit amet vehicula erat. Quisque non est dapibus neque faucibus faucibus. Nulla ac justo ornare, facilisis mi id, vulputate lorem.
|
18 |
</p>
|
src/views/v2/month/calendar-event/tooltip/featured-image.php
CHANGED
@@ -12,20 +12,9 @@
|
|
12 |
* @version 4.9.3
|
13 |
*
|
14 |
*/
|
15 |
-
$event = $this->get( 'event' );
|
16 |
-
|
17 |
-
if ( ! isset( $event->image ) ) { // @todo: use template tags for images here
|
18 |
-
return;
|
19 |
-
}
|
20 |
?>
|
21 |
<div class="tribe-events-calendar-month__calendar-event-tooltip-featured-image-wrapper">
|
22 |
<div class="tribe-events-calendar-month__calendar-event-tooltip-featured-image tribe-common-c-image tribe-common-c-image--bg">
|
23 |
-
<div
|
24 |
-
class="tribe-common-c-image__bg"
|
25 |
-
style="background-image: url('<?php echo esc_attr( $event->image ); ?>');"
|
26 |
-
role="img"
|
27 |
-
aria-label="alt text here"
|
28 |
-
>
|
29 |
-
</div>
|
30 |
</div>
|
31 |
</div>
|
12 |
* @version 4.9.3
|
13 |
*
|
14 |
*/
|
|
|
|
|
|
|
|
|
|
|
15 |
?>
|
16 |
<div class="tribe-events-calendar-month__calendar-event-tooltip-featured-image-wrapper">
|
17 |
<div class="tribe-events-calendar-month__calendar-event-tooltip-featured-image tribe-common-c-image tribe-common-c-image--bg">
|
18 |
+
<div class="tribe-common-c-image__bg"></div>
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
</div>
|
20 |
</div>
|
src/views/v2/month/day-events-multiday.php
DELETED
@@ -1,39 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* View: Month View - Day Events Multiday
|
4 |
-
*
|
5 |
-
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/views/v2/month/day-events-multiday.php
|
7 |
-
*
|
8 |
-
* See more documentation about our views templating system.
|
9 |
-
*
|
10 |
-
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
-
*
|
12 |
-
* @version TBD
|
13 |
-
*
|
14 |
-
*/
|
15 |
-
$day_number = $this->get( 'day' );
|
16 |
-
$month = $this->get( 'month' );
|
17 |
-
|
18 |
-
// Get the multiday events for that day
|
19 |
-
// @todo: This is a function with demo purposes.
|
20 |
-
$events_multiday = tribe_events_views_v2_month_demo_day_get_events_multiday( $month, $day_number );
|
21 |
-
|
22 |
-
if ( ! $events_multiday ) {
|
23 |
-
return;
|
24 |
-
}
|
25 |
-
?>
|
26 |
-
|
27 |
-
<?php foreach ( $events_multiday as $event ) : ?>
|
28 |
-
|
29 |
-
<?php
|
30 |
-
// we receive false, we need to fill an empty space
|
31 |
-
if ( false === $event ) {
|
32 |
-
$this->template( 'month/event-multiday-spacer' );
|
33 |
-
continue;
|
34 |
-
}
|
35 |
-
|
36 |
-
$this->template( 'month/event-multiday', [ 'event' => (object) $event, 'day' => $day_number ] );
|
37 |
-
?>
|
38 |
-
|
39 |
-
<?php endforeach; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/views/v2/month/day-events.php
DELETED
@@ -1,35 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* View: Month View - Day Events
|
4 |
-
*
|
5 |
-
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/views/v2/month/day-events.php
|
7 |
-
*
|
8 |
-
* See more documentation about our views templating system.
|
9 |
-
*
|
10 |
-
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
-
*
|
12 |
-
* @version TBD
|
13 |
-
*
|
14 |
-
*/
|
15 |
-
$day_number = $this->get( 'day' );
|
16 |
-
$month = $this->get( 'month' );
|
17 |
-
|
18 |
-
// Get the multiday events for that day
|
19 |
-
// @todo: This is a function with demo purposes.
|
20 |
-
$events_regular = tribe_events_views_v2_month_demo_day_get_events_regular( $month, $day_number );
|
21 |
-
|
22 |
-
// Bail if there are no events
|
23 |
-
if ( ! $events_regular ) {
|
24 |
-
return;
|
25 |
-
}
|
26 |
-
?>
|
27 |
-
<div class="tribe-events-calendar-month__day-events">
|
28 |
-
|
29 |
-
<?php foreach ( $events_regular as $event ) : ?>
|
30 |
-
|
31 |
-
<?php $this->template( 'month/calendar-event', [ 'event' => (object) $event, 'day' => $day_number ] ); ?>
|
32 |
-
|
33 |
-
<?php endforeach; ?>
|
34 |
-
|
35 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/views/v2/month/day.php
CHANGED
@@ -14,8 +14,7 @@
|
|
14 |
*/
|
15 |
// @todo: This is just for presentation purposes, while building the view.
|
16 |
$day_number = ( $week < 1 ) ? ( $day + 1 ) * ( $week + 1 ) : ( $day + 1 ) + $week * 7;
|
17 |
-
$month_number =
|
18 |
-
$month = $this->get( 'month' );
|
19 |
|
20 |
$day_title_classes = [ 'tribe-events-calendar-month__day-date' ];
|
21 |
$day_title_link_classes = [ 'tribe-events-calendar-month__day-date-link' ];
|
@@ -26,7 +25,6 @@ if ( $day_number == date( 'd', time() ) ) {
|
|
26 |
$day_title_classes[] = 'tribe-events-calendar-month__day-date--current';
|
27 |
$day_title_link_classes[] = 'tribe-events-calendar-month__day-date-link--current';
|
28 |
}
|
29 |
-
|
30 |
?>
|
31 |
|
32 |
<div class="tribe-events-calendar-month__day" role="gridcell" aria-labelledby="<?php echo esc_attr( $day_id ); ?>">
|
@@ -43,9 +41,5 @@ if ( $day_number == date( 'd', time() ) ) {
|
|
43 |
</time>
|
44 |
</h3>
|
45 |
</div>
|
46 |
-
|
47 |
-
<?php $this->template( 'month/day-events-multiday', [ 'day' => $day_number, 'month' => $month ] ); ?>
|
48 |
-
|
49 |
-
<?php $this->template( 'month/day-events', [ 'day' => $day_number, 'month' => $month ] ); ?>
|
50 |
-
|
51 |
</div>
|
14 |
*/
|
15 |
// @todo: This is just for presentation purposes, while building the view.
|
16 |
$day_number = ( $week < 1 ) ? ( $day + 1 ) * ( $week + 1 ) : ( $day + 1 ) + $week * 7;
|
17 |
+
$month_number = 5;
|
|
|
18 |
|
19 |
$day_title_classes = [ 'tribe-events-calendar-month__day-date' ];
|
20 |
$day_title_link_classes = [ 'tribe-events-calendar-month__day-date-link' ];
|
25 |
$day_title_classes[] = 'tribe-events-calendar-month__day-date--current';
|
26 |
$day_title_link_classes[] = 'tribe-events-calendar-month__day-date-link--current';
|
27 |
}
|
|
|
28 |
?>
|
29 |
|
30 |
<div class="tribe-events-calendar-month__day" role="gridcell" aria-labelledby="<?php echo esc_attr( $day_id ); ?>">
|
41 |
</time>
|
42 |
</h3>
|
43 |
</div>
|
44 |
+
<!-- Events for this day will be listed here -->
|
|
|
|
|
|
|
|
|
45 |
</div>
|
src/views/v2/month/event-multiday-spacer.php
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* View: Month Event Multiday - Hidden Event / Spacer
|
4 |
-
*
|
5 |
-
* Override this template in your own theme by creating a file at:
|
6 |
-
* [your-theme]/tribe/events/views/v2/month/event-multiday.php
|
7 |
-
*
|
8 |
-
* See more documentation about our views templating system.
|
9 |
-
*
|
10 |
-
* @link {INSERT_ARTCILE_LINK_HERE}
|
11 |
-
*
|
12 |
-
* @version TBD
|
13 |
-
*
|
14 |
-
*/
|
15 |
-
|
16 |
-
?>
|
17 |
-
<div class="tribe-events-calendar-month__multiday-wrapper">
|
18 |
-
<div class="tribe-events-calendar-month__event-multiday--empty" aria-hidden="true"></div>
|
19 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/views/v2/month/event-multiday.php
CHANGED
@@ -15,55 +15,25 @@
|
|
15 |
|
16 |
$event = $this->get( 'event' );
|
17 |
$event_id = $event->ID;
|
18 |
-
$day_number = $this->get( 'day' );
|
19 |
|
20 |
$classes = [ 'tribe-events-calendar-month__event-multiday' ];
|
21 |
-
$classes_inner = [ 'tribe-events-calendar-month__event-multiday-inner' ];
|
22 |
|
23 |
-
|
24 |
-
if ( $is_featured = isset( $event->featured ) && $event->featured ) { // @todo: later use tribe( 'tec.featured_events' )->is_featured( $event_id ) or similar
|
25 |
$classes[] = 'tribe-events-calendar-month__event-multiday--featured';
|
26 |
}
|
27 |
-
|
28 |
-
// If it starts today and this week, let's add the left border and set the width
|
29 |
-
if ( $starts_today = $event->start_date == $day_number ) { // @todo:later we can check mm/dd or even year
|
30 |
-
|
31 |
-
// @todo: check if it ends this week or not, in order to split the duration
|
32 |
-
$classes[] = 'tribe-events-calendar-month__event-multiday-width-' . $event->duration;
|
33 |
-
|
34 |
-
if ( isset( $event->start_this_week ) && $event->start_this_week ) {
|
35 |
-
// adding the left border because it starts today
|
36 |
-
$classes_inner[] = 'tribe-events-calendar-month__event-multiday-inner--border-left';
|
37 |
-
$classes[] = 'tribe-events-calendar-month__event-multiday--start';
|
38 |
-
}
|
39 |
-
|
40 |
-
} else {
|
41 |
-
$classes[] = 'tribe-events-calendar-month__event-multiday--hidden';
|
42 |
-
}
|
43 |
-
|
44 |
-
// if it ends this week, let's add the right border
|
45 |
-
$end_this_week = isset( $event->end_this_week ) && $event->end_this_week;
|
46 |
-
if ( $end_this_week ) {
|
47 |
-
$classes_inner[] = 'tribe-events-calendar-month__event-multiday-inner--border-right';
|
48 |
-
$classes[] = 'tribe-events-calendar-month__event-multiday--end';
|
49 |
-
}
|
50 |
?>
|
51 |
-
<div class="
|
52 |
-
|
53 |
-
<
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
</h3>
|
66 |
-
</a>
|
67 |
-
</div>
|
68 |
-
|
69 |
</div>
|
15 |
|
16 |
$event = $this->get( 'event' );
|
17 |
$event_id = $event->ID;
|
|
|
18 |
|
19 |
$classes = [ 'tribe-events-calendar-month__event-multiday' ];
|
|
|
20 |
|
21 |
+
if ( $is_featured = tribe( 'tec.featured_events' )->is_featured( $event_id ) ) {
|
|
|
22 |
$classes[] = 'tribe-events-calendar-month__event-multiday--featured';
|
23 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
?>
|
25 |
+
<div class="<?php echo esc_attr( implode( ' ', $classes ) ); ?>">
|
26 |
+
<time datetime="the-date-and-or-duration" class="tribe-common-a11y-visual-hide">The date and duration</time>
|
27 |
+
<a class="tribe-events-calendar-month__event-multiday-inner tribe-events-calendar-month__event-multiday-inner--border-left tribe-events-calendar-month__event-multiday-inner--border-right">
|
28 |
+
<?php if ( $is_featured ) : ?>
|
29 |
+
<em
|
30 |
+
class="tribe-events-calendar-month__event-multiday-featured-icon tribe-common-svgicon tribe-common-svgicon--featured"
|
31 |
+
aria-label="<?php esc_attr_e( 'Featured', 'the-events-calendar' ); ?>"
|
32 |
+
title="<?php esc_attr_e( 'Featured', 'the-events-calendar' ); ?>"
|
33 |
+
></em>
|
34 |
+
<?php endif; ?>
|
35 |
+
<h3 class="tribe-events-calendar-month__event-multiday-title tribe-common-h8">
|
36 |
+
Lorem ipsum
|
37 |
+
</h3>
|
38 |
+
</a>
|
|
|
|
|
|
|
|
|
39 |
</div>
|
src/views/v2/month/{calendar-event/tooltip → tooltip}/cta.php
RENAMED
@@ -13,7 +13,7 @@
|
|
13 |
*
|
14 |
*/
|
15 |
?>
|
16 |
-
<div class="tribe-events-c-small-cta
|
17 |
<a class="tribe-events-c-small-cta__link tribe-common-cta tribe-common-cta--alt">Buy Now</a>
|
18 |
<span class="tribe-events-c-small-cta__price">$10</span>
|
19 |
</div>
|
13 |
*
|
14 |
*/
|
15 |
?>
|
16 |
+
<div class="tribe-events-c-small-cta">
|
17 |
<a class="tribe-events-c-small-cta__link tribe-common-cta tribe-common-cta--alt">Buy Now</a>
|
18 |
<span class="tribe-events-c-small-cta__price">$10</span>
|
19 |
</div>
|
the-events-calendar.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
Plugin Name: The Events Calendar
|
4 |
Description: The Events Calendar is a carefully crafted, extensible plugin that lets you easily share your events. Beautiful. Solid. Awesome.
|
5 |
-
Version: 4.9.3
|
6 |
Author: Modern Tribe, Inc.
|
7 |
Author URI: http://m.tri.be/1x
|
8 |
Text Domain: the-events-calendar
|
2 |
/*
|
3 |
Plugin Name: The Events Calendar
|
4 |
Description: The Events Calendar is a carefully crafted, extensible plugin that lets you easily share your events. Beautiful. Solid. Awesome.
|
5 |
+
Version: 4.9.3.1
|
6 |
Author: Modern Tribe, Inc.
|
7 |
Author URI: http://m.tri.be/1x
|
8 |
Text Domain: the-events-calendar
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit5ce369a6eb0c98361b55fe85cd99c7b3::getLoader();
|
vendor/composer/autoload_classmap.php
CHANGED
@@ -36,6 +36,7 @@ return array(
|
|
36 |
'Tribe\\Events\\Views\\V2\\TestCase' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/TestCase.php',
|
37 |
'Tribe\\Events\\Views\\V2\\TestCaseTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/TestCaseTest.php',
|
38 |
'Tribe\\Events\\Views\\V2\\TestHtmlCase' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/TestHtmlCase.php',
|
|
|
39 |
'Tribe\\Events\\Views\\V2\\Theme_Compatibility' => $baseDir . '/src/Tribe/Views/V2/Theme_Compatibility.php',
|
40 |
'Tribe\\Events\\Views\\V2\\Url' => $baseDir . '/src/Tribe/Views/V2/Url.php',
|
41 |
'Tribe\\Events\\Views\\V2\\UrlTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/UrlTest.php',
|
@@ -45,10 +46,6 @@ return array(
|
|
45 |
'Tribe\\Events\\Views\\V2\\View_Interface' => $baseDir . '/src/Tribe/Views/V2/View_Interface.php',
|
46 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\LoaderTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/HTML/LoaderTest.php',
|
47 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\MonthTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/HTML/MonthTest.php',
|
48 |
-
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\CalendarEvent\\MonthCalendarEventDateTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/CalendarEvent/MonthCalendarEventDateTest.php',
|
49 |
-
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\CalendarEvent\\MonthCalendarEventFeaturedImageTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/CalendarEvent/MonthCalendarEventFeaturedImageTest.php',
|
50 |
-
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\CalendarEvent\\MonthCalendarEventTitleTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/CalendarEvent/MonthCalendarEventTitleTest.php',
|
51 |
-
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\CalendarEvent\\MonthCalendarEventTooltipTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/CalendarEvent/MonthCalendarEventTooltipTest.php',
|
52 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\MonthDayTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/MonthDayTest.php',
|
53 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\MonthEventMultidayTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/MonthEventMultidayTest.php',
|
54 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\MonthGridHeaderTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/MonthGridHeaderTest.php',
|
36 |
'Tribe\\Events\\Views\\V2\\TestCase' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/TestCase.php',
|
37 |
'Tribe\\Events\\Views\\V2\\TestCaseTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/TestCaseTest.php',
|
38 |
'Tribe\\Events\\Views\\V2\\TestHtmlCase' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/TestHtmlCase.php',
|
39 |
+
'Tribe\\Events\\Views\\V2\\ThemeCompatibilityTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/ThemeCompatibilityTest.php',
|
40 |
'Tribe\\Events\\Views\\V2\\Theme_Compatibility' => $baseDir . '/src/Tribe/Views/V2/Theme_Compatibility.php',
|
41 |
'Tribe\\Events\\Views\\V2\\Url' => $baseDir . '/src/Tribe/Views/V2/Url.php',
|
42 |
'Tribe\\Events\\Views\\V2\\UrlTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/UrlTest.php',
|
46 |
'Tribe\\Events\\Views\\V2\\View_Interface' => $baseDir . '/src/Tribe/Views/V2/View_Interface.php',
|
47 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\LoaderTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/HTML/LoaderTest.php',
|
48 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\MonthTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/HTML/MonthTest.php',
|
|
|
|
|
|
|
|
|
49 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\MonthDayTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/MonthDayTest.php',
|
50 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\MonthEventMultidayTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/MonthEventMultidayTest.php',
|
51 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\MonthGridHeaderTest' => $baseDir . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/MonthGridHeaderTest.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 ComposerAutoloaderInitb866a3ab9ee6be3ce1ed0cf476650f52
|
|
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 ComposerAutoloaderInit5ce369a6eb0c98361b55fe85cd99c7b3
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit5ce369a6eb0c98361b55fe85cd99c7b3', 'loadClassLoader'), true, true);
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit5ce369a6eb0c98361b55fe85cd99c7b3', '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\ComposerStaticInit5ce369a6eb0c98361b55fe85cd99c7b3::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' =>
|
@@ -61,6 +61,7 @@ class ComposerStaticInitb866a3ab9ee6be3ce1ed0cf476650f52
|
|
61 |
'Tribe\\Events\\Views\\V2\\TestCase' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/TestCase.php',
|
62 |
'Tribe\\Events\\Views\\V2\\TestCaseTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/TestCaseTest.php',
|
63 |
'Tribe\\Events\\Views\\V2\\TestHtmlCase' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/TestHtmlCase.php',
|
|
|
64 |
'Tribe\\Events\\Views\\V2\\Theme_Compatibility' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Theme_Compatibility.php',
|
65 |
'Tribe\\Events\\Views\\V2\\Url' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Url.php',
|
66 |
'Tribe\\Events\\Views\\V2\\UrlTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/UrlTest.php',
|
@@ -70,10 +71,6 @@ class ComposerStaticInitb866a3ab9ee6be3ce1ed0cf476650f52
|
|
70 |
'Tribe\\Events\\Views\\V2\\View_Interface' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/View_Interface.php',
|
71 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\LoaderTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/HTML/LoaderTest.php',
|
72 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\MonthTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/HTML/MonthTest.php',
|
73 |
-
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\CalendarEvent\\MonthCalendarEventDateTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/CalendarEvent/MonthCalendarEventDateTest.php',
|
74 |
-
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\CalendarEvent\\MonthCalendarEventFeaturedImageTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/CalendarEvent/MonthCalendarEventFeaturedImageTest.php',
|
75 |
-
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\CalendarEvent\\MonthCalendarEventTitleTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/CalendarEvent/MonthCalendarEventTitleTest.php',
|
76 |
-
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\CalendarEvent\\MonthCalendarEventTooltipTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/CalendarEvent/MonthCalendarEventTooltipTest.php',
|
77 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\MonthDayTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/MonthDayTest.php',
|
78 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\MonthEventMultidayTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/MonthEventMultidayTest.php',
|
79 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\MonthGridHeaderTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/MonthGridHeaderTest.php',
|
@@ -88,9 +85,9 @@ class ComposerStaticInitb866a3ab9ee6be3ce1ed0cf476650f52
|
|
88 |
public static function getInitializer(ClassLoader $loader)
|
89 |
{
|
90 |
return \Closure::bind(function () use ($loader) {
|
91 |
-
$loader->prefixLengthsPsr4 =
|
92 |
-
$loader->prefixDirsPsr4 =
|
93 |
-
$loader->classMap =
|
94 |
|
95 |
}, null, ClassLoader::class);
|
96 |
}
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
+
class ComposerStaticInit5ce369a6eb0c98361b55fe85cd99c7b3
|
8 |
{
|
9 |
public static $prefixLengthsPsr4 = array (
|
10 |
'T' =>
|
61 |
'Tribe\\Events\\Views\\V2\\TestCase' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/TestCase.php',
|
62 |
'Tribe\\Events\\Views\\V2\\TestCaseTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/TestCaseTest.php',
|
63 |
'Tribe\\Events\\Views\\V2\\TestHtmlCase' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/TestHtmlCase.php',
|
64 |
+
'Tribe\\Events\\Views\\V2\\ThemeCompatibilityTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/ThemeCompatibilityTest.php',
|
65 |
'Tribe\\Events\\Views\\V2\\Theme_Compatibility' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Theme_Compatibility.php',
|
66 |
'Tribe\\Events\\Views\\V2\\Url' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/Url.php',
|
67 |
'Tribe\\Events\\Views\\V2\\UrlTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/UrlTest.php',
|
71 |
'Tribe\\Events\\Views\\V2\\View_Interface' => __DIR__ . '/../..' . '/src/Tribe/Views/V2/View_Interface.php',
|
72 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\LoaderTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/HTML/LoaderTest.php',
|
73 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\MonthTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/HTML/MonthTest.php',
|
|
|
|
|
|
|
|
|
74 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\MonthDayTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/MonthDayTest.php',
|
75 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\MonthEventMultidayTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/MonthEventMultidayTest.php',
|
76 |
'Tribe\\Events\\Views\\V2\\Views\\HTML\\Month\\MonthGridHeaderTest' => __DIR__ . '/../..' . '/tests/views_integration/Tribe/Events/Views/V2/HTML/Month/MonthGridHeaderTest.php',
|
85 |
public static function getInitializer(ClassLoader $loader)
|
86 |
{
|
87 |
return \Closure::bind(function () use ($loader) {
|
88 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit5ce369a6eb0c98361b55fe85cd99c7b3::$prefixLengthsPsr4;
|
89 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit5ce369a6eb0c98361b55fe85cd99c7b3::$prefixDirsPsr4;
|
90 |
+
$loader->classMap = ComposerStaticInit5ce369a6eb0c98361b55fe85cd99c7b3::$classMap;
|
91 |
|
92 |
}, null, ClassLoader::class);
|
93 |
}
|