Changeset 3406692
- Timestamp:
- 12/01/2025 10:27:41 AM (13 days ago)
- Location:
- burst-statistics/trunk
- Files:
-
- 1 deleted
- 56 edited
-
assets/js/build/burst-cookieless.js (modified) (1 diff)
-
assets/js/build/burst.js (modified) (1 diff)
-
burst.php (modified) (2 diffs)
-
endpoint.php (modified) (1 diff)
-
includes/Admin/App/Fields/class-fields.php (modified) (1 diff)
-
includes/Admin/App/Menu/class-menu.php (modified) (1 diff)
-
includes/Admin/App/build (deleted)
-
includes/Admin/App/class-app.php (modified) (5 diffs)
-
includes/Admin/App/src/api/getDataTableData.js (modified) (1 diff)
-
includes/Admin/App/src/components/Common/ExplanationAndStatsItem.js (modified) (3 diffs)
-
includes/Admin/App/src/components/Common/Header.jsx (modified) (1 diff)
-
includes/Admin/App/src/components/Fields/Field.jsx (modified) (2 diffs)
-
includes/Admin/App/src/components/Fields/FieldWrapper.tsx (modified) (1 diff)
-
includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx (modified) (1 diff)
-
includes/Admin/App/src/components/Fields/TextField.jsx (modified) (1 diff)
-
includes/Admin/App/src/components/Filters/Modal/Setup/StringFilterSetup.tsx (modified) (9 diffs)
-
includes/Admin/App/src/components/Goals/GoalsSettings.js (modified) (2 diffs)
-
includes/Admin/App/src/components/Sales/Funnel/FunnelStepStatistics.tsx (modified) (1 diff)
-
includes/Admin/App/src/components/Sales/QuickWins.tsx (modified) (14 diffs)
-
includes/Admin/App/src/components/Sales/Sales.tsx (modified) (5 diffs)
-
includes/Admin/App/src/components/Sales/TopPerformers.tsx (modified) (3 diffs)
-
includes/Admin/App/src/components/Sales/TopPerformersStats.tsx (modified) (4 diffs)
-
includes/Admin/App/src/components/Settings/Settings.js (modified) (5 diffs)
-
includes/Admin/App/src/components/Settings/SettingsGroupBlock.jsx (modified) (1 diff)
-
includes/Admin/App/src/components/Upsell/UpsellOverlay.tsx (modified) (1 diff)
-
includes/Admin/App/src/hooks/useGoalsData.js (modified) (2 diffs)
-
includes/Admin/App/src/hooks/useLiveVisitorsData.js (modified) (3 diffs)
-
includes/Admin/App/src/hooks/useSettingsData.ts (modified) (1 diff)
-
includes/Admin/App/src/index.tsx (modified) (3 diffs)
-
includes/Admin/App/src/routes/__root.jsx (modified) (1 diff)
-
includes/Admin/App/src/routes/sales.jsx (modified) (1 diff)
-
includes/Admin/App/src/routes/statistics.jsx (modified) (1 diff)
-
includes/Admin/App/src/store/useArchivesStore.js (modified) (4 diffs)
-
includes/Admin/App/src/store/useTasksStore.js (modified) (1 diff)
-
includes/Admin/App/src/tailwind.generated.css (modified) (9 diffs)
-
includes/Admin/App/src/utils/api.js (modified) (2 diffs)
-
includes/Admin/Capability/class-capability.php (modified) (1 diff)
-
includes/Admin/Cron/class-cron.php (modified) (4 diffs)
-
includes/Admin/DB_Upgrade/class-db-upgrade.php (modified) (4 diffs)
-
includes/Admin/Dashboard_Widget/build/index.asset.php (modified) (1 diff)
-
includes/Admin/Dashboard_Widget/build/index.js (modified) (1 diff)
-
includes/Admin/Statistics/class-goal-statistics.php (modified) (1 diff)
-
includes/Admin/Statistics/class-statistics.php (modified) (7 diffs)
-
includes/Admin/class-admin.php (modified) (10 diffs)
-
includes/Admin/class-tasks.php (modified) (1 diff)
-
includes/Admin/class-upgrade.php (modified) (3 diffs)
-
includes/Frontend/Goals/class-goals-tracker.php (modified) (3 diffs)
-
includes/Frontend/Goals/class-goals.php (modified) (3 diffs)
-
includes/Frontend/Tracking/class-tracking.php (modified) (29 diffs)
-
includes/Frontend/class-frontend.php (modified) (3 diffs)
-
includes/Integrations/plugins/easy-digital-downloads.php (modified) (1 diff)
-
includes/TeamUpdraft/Onboarding/class-onboarding.php (modified) (1 diff)
-
includes/Traits/trait-admin-helper.php (modified) (2 diffs)
-
includes/Traits/trait-sanitize.php (modified) (1 diff)
-
includes/class-burst.php (modified) (1 diff)
-
languages/burst-statistics.pot (modified) (115 diffs)
-
readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
burst-statistics/trunk/assets/js/build/burst-cookieless.js
r3392751 r3406692 374 374 time_on_page: time, 375 375 completed_goals: burst.goals.completed, 376 should_load_ecommerce: burst.should_load_ecommerce,376 should_load_ecommerce: burst.should_load_ecommerce, 377 377 }; 378 378 -
burst-statistics/trunk/assets/js/build/burst.js
r3392751 r3406692 371 371 time_on_page: time, 372 372 completed_goals: burst.goals.completed, 373 should_load_ecommerce: burst.should_load_ecommerce,373 should_load_ecommerce: burst.should_load_ecommerce, 374 374 }; 375 375 -
burst-statistics/trunk/burst.php
r3402379 r3406692 4 4 * Plugin URI: https://www.wordpress.org/plugins/burst-statistics 5 5 * Description: Get detailed insights into visitors’ behavior with Burst Statistics, the privacy-friendly analytics dashboard. 6 * Version: 3. 0.26 * Version: 3.1.0.3 7 7 * Requires at least: 6.4 8 8 * Requires PHP: 8.0 … … 11 11 * Author: Burst Statistics - Stats & Analytics for WordPress 12 12 * Author URI: https://burst-statistics.com 13 * License: GPL v2 or later 14 * License URI: https://www.gnu.org/licenses/gpl-2.0.html 13 15 */ 14 16 -
burst-statistics/trunk/endpoint.php
r3392751 r3406692 61 61 62 62 require_once __DIR__ . '/includes/autoload.php'; 63 require_once __DIR__ . '/helpers/php-user-agent/UserAgentParser.php';64 63 if ( file_exists( __DIR__ . '/includes/Pro/Frontend/Tracking/tracking.php' ) ) { 65 64 require_once __DIR__ . '/includes/Pro/Frontend/Tracking/tracking.php'; -
burst-statistics/trunk/includes/Admin/App/Fields/class-fields.php
r3377993 r3406692 34 34 } 35 35 $fields = $this->fields; 36 37 // If the plugin is considered high traffic, summary tables kick in. This can be disabled with this option.38 if ( $this->get_option_bool( 'disable_summary' ) ) {39 $fields[] = [40 'id' => 'disable_summary',41 'menu_id' => 'advanced',42 'group_id' => 'tracking',43 'type' => 'checkbox',44 'label' => __( 'Disable the usage of summary tables', 'burst-statistics' ),45 'context' => __( 'Using summary tables speeds up the dashboard on higher traffic environments, but can show small differences from the actual data.', 'burst-statistics' ),46 'disabled' => false,47 'default' => false,48 ];49 }50 36 51 37 if ( is_multisite() && self::is_networkwide_active() && is_main_site() ) { -
burst-statistics/trunk/includes/Admin/App/Menu/class-menu.php
r3377993 r3406692 43 43 if ( ! current_user_can( $menu_item['capabilities'] ) ) { 44 44 unset( $menu_items[ $key ] ); 45 continue; 45 46 } 46 47 -
burst-statistics/trunk/includes/Admin/App/class-app.php
r3392751 r3406692 15 15 use Burst\Traits\Sanitize; 16 16 use Burst\Traits\Save; 17 use Burst\UserAgentParser\UserAgentParser; 17 18 use function Burst\burst_loader; 18 19 … … 45 46 add_action( 'rest_api_init', [ $this, 'settings_rest_route' ], 8 ); 46 47 add_filter( 'burst_localize_script', [ $this, 'extend_localized_settings_for_dashboard' ], 10, 1 ); 47 add_action( 'burst_weekly', [ $this, 'weekly_clear_referrers_table' ] ); 48 add_action( 'burst_weekly', [ $this, 'init_cleanup' ] ); 49 add_action( 'burst_weekly_clear_referrers_cron', [ $this, 'weekly_clear_referrers_table' ] ); 50 add_action( 'burst_weekly_clear_spam_browsers_cron', [ $this, 'weekly_clear_spam_browsers' ] ); 48 51 add_action( 'burst_daily', [ $this, 'maybe_update_plugin_path' ] ); 49 52 $this->menu = new Menu(); … … 1181 1184 1182 1185 /** 1186 * Initialize weekly cleanup cron jobs 1187 * Schedules both referrer and browser cleanup if not already scheduled 1188 */ 1189 public function init_cleanup(): void { 1190 if ( ! wp_next_scheduled( 'burst_weekly_clear_referrers_cron' ) ) { 1191 wp_schedule_single_event( time() + 60, 'burst_weekly_clear_referrers_cron' ); 1192 } 1193 1194 if ( ! wp_next_scheduled( 'burst_weekly_clear_spam_browsers_cron' ) ) { 1195 wp_schedule_single_event( time() + 120, 'burst_weekly_clear_spam_browsers_cron' ); 1196 } 1197 } 1198 /** 1183 1199 * On a weekly basis, clear the referrers table. 1184 1200 * … … 1191 1207 global $wpdb; 1192 1208 $wpdb->query( "TRUNCATE TABLE {$wpdb->prefix}burst_referrers" ); 1209 } 1210 1211 /** 1212 * Weekly cleanup of one spam/invalid browser from the database 1213 * Only removes browsers with limited statistics to keep queries fast 1214 */ 1215 public function weekly_clear_spam_browsers(): void { 1216 if ( ! $this->user_can_manage() ) { 1217 return; 1218 } 1219 1220 global $wpdb; 1221 1222 $browsers = $wpdb->get_results( 1223 "SELECT ID, name FROM {$wpdb->prefix}burst_browsers", 1224 ARRAY_A 1225 ); 1226 1227 if ( empty( $browsers ) ) { 1228 return; 1229 } 1230 1231 $parser = new UserAgentParser(); 1232 // Find the first invalid browser with limited statistics. 1233 foreach ( $browsers as $browser ) { 1234 $browser_name = $browser['name']; 1235 $browser_id = (int) $browser['ID']; 1236 1237 // Skip if browser name is valid. 1238 if ( ! $parser->is_invalid_browser_name( $browser_name ) ) { 1239 continue; 1240 } 1241 1242 // Check how many statistics use this browser. 1243 $count = $wpdb->get_var( 1244 $wpdb->prepare( 1245 "SELECT COUNT(*) FROM {$wpdb->prefix}burst_statistics WHERE browser_id = %d", 1246 $browser_id 1247 ) 1248 ); 1249 1250 // Only clean up browsers with max 50 statistics to keep it fast. 1251 if ( $count > 50 ) { 1252 continue; 1253 } 1254 1255 // Delete statistics for this browser. 1256 $deleted_stats = $wpdb->query( 1257 $wpdb->prepare( 1258 "DELETE FROM {$wpdb->prefix}burst_statistics WHERE browser_id = %d", 1259 $browser_id 1260 ) 1261 ); 1262 1263 // Delete the browser entry. 1264 $wpdb->query( 1265 $wpdb->prepare( 1266 "DELETE FROM {$wpdb->prefix}burst_browsers WHERE ID = %d", 1267 $browser_id 1268 ) 1269 ); 1270 1271 self::error_log( 1272 sprintf( 1273 'Burst: Weekly cleanup removed spam browser "%s" (ID: %d) and %d related statistics.', 1274 $browser_name, 1275 $browser_id, 1276 $deleted_stats 1277 ) 1278 ); 1279 1280 return; 1281 } 1282 1283 self::error_log( 'Burst: No spam browsers found with limited statistics during weekly cleanup.' ); 1193 1284 } 1194 1285 … … 1476 1567 [ 1477 1568 'success' => false, 1478 'message' => 'Invalid no ce.',1569 'message' => 'Invalid nonce.', 1479 1570 ] 1480 1571 ); -
burst-statistics/trunk/includes/Admin/App/src/api/getDataTableData.js
r3392751 r3406692 122 122 formatFunctionCache.set( cacheKey, ( row ) => { 123 123 const value = row[column.id]; 124 console.log(column, row);125 126 124 switch ( format ) { 127 125 case 'percentage': -
burst-statistics/trunk/includes/Admin/App/src/components/Common/ExplanationAndStatsItem.js
r3392751 r3406692 7 7 * @param {Object} props Component props. 8 8 * @param {string} props.title Title of the item. 9 * @param {string } props.subtitle Subtitle of the item.9 * @param {string|null} props.subtitle Subtitle of the item. 10 10 * @param {string|number} props.value Display value of the item. 11 * @param {number } props.exactValue Exact numeric value for tooltip (if > 1000).12 * @param {string } props.change Change value to display.13 * @param {string } props.changeStatus Status of the change ('positive' or 'negative').11 * @param {number|null} props.exactValue Exact numeric value for tooltip (if > 1000). 12 * @param {string|null} props.change Change value to display. 13 * @param {string|null} props.changeStatus Status of the change ('positive' or 'negative'). 14 14 * @param {string|null} [props.iconKey] Optional key for icon display. Default is null. 15 * @param {string} [props.className] Optional additional class names. Default is ''. 15 16 * 16 17 * @returns {JSX.Element} The rendered component. … … 24 25 changeStatus, 25 26 iconKey = null, 27 className = '', 26 28 } ) => { 27 const tooltipValue = 1000 < exactValue ? exactValue : false; 29 let tooltipValue; 30 if ( ! exactValue || exactValue < 1000 ) { 31 tooltipValue = false; 32 } else { 33 tooltipValue = exactValue; 34 } 28 35 return ( 29 <div className="flex items-start gap-3 py-2">36 <div className={`flex items-start gap-3 py-2 ${ className }`}> 30 37 { 31 38 iconKey && ( <Icon name={ iconKey } className="mt-1" /> ) 32 39 } 33 40 34 <div className="flex-1">41 <div className="flex-1 label"> 35 42 <h3 className="text-base font-semibold text-black">{ title }</h3> 36 43 37 <p className="text-sm text-gray">{ subtitle }</p> 44 { 45 subtitle && <p className="text-sm text-gray">{ subtitle }</p> 46 } 38 47 </div> 39 48 … … 41 50 { 42 51 tooltipValue ? 43 (44 <HelpTooltip content={ tooltipValue } delayDuration={ 1000 }>45 <span className="text-xl font-bold text-black ">{ value }</span>52 ( 53 <HelpTooltip content={ tooltipValue } delayDuration={ 1000 }> 54 <span className="text-xl font-bold text-black value">{ value }</span> 46 55 </HelpTooltip> 47 ) : 48 <span className="text-xl font-bold text-black">{ value }</span> 56 ) : 57 58 <span className="text-xl font-bold text-black value">{ value }</span> 49 59 } 50 60 -
burst-statistics/trunk/includes/Admin/App/src/components/Common/Header.jsx
r3392751 r3406692 43 43 */ 44 44 const Header = () => { 45 const menu = burst_settings.menu; 45 const menu = Array.isArray( burst_settings.menu ) ? burst_settings.menu : Object.values(burst_settings.menu); 46 46 47 const { 47 48 isPro, -
burst-statistics/trunk/includes/Admin/App/src/components/Fields/Field.jsx
r3392751 r3406692 142 142 }; 143 143 144 145 144 const validationRules = { 146 145 ...(setting.required && { … … 162 161 }), 163 162 ...getCustomValidation(), 164 ...(setting.min && { min: setting.min }), 165 ...(setting.max && { max: setting.max }), 163 ...(setting.type === 'number' && setting.min !== undefined && { 164 min: { 165 value: setting.min, 166 message: sprintf( 167 __('Value must be at least %s', 'burst-statistics'), 168 setting.min 169 ) 170 } 171 }), 172 ...(setting.type === 'number' && setting.max !== undefined && { 173 max: { 174 value: setting.max, 175 message: sprintf( 176 __('Value must be at most %s', 'burst-statistics'), 177 setting.max 178 ) 179 } 180 }), 166 181 ...(setting.minLength && { minLength: setting.minLength }), 167 182 ...(setting.maxLength && { maxLength: setting.maxLength }) -
burst-statistics/trunk/includes/Admin/App/src/components/Fields/FieldWrapper.tsx
r3392751 r3406692 127 127 128 128 return ( 129 <div className={wrapperClasses }>129 <div className={wrapperClasses+' burst_field_'+inputId}> 130 130 <div className={containerClasses}> 131 131 <div className={clsx(labelOrderClass)}>{labelBlock}</div> -
burst-statistics/trunk/includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx
r3377993 r3406692 1 1 import { useState, useEffect, forwardRef } from 'react'; 2 import { __ } from '@wordpress/i18n';2 import { __, _n, sprintf } from '@wordpress/i18n'; 3 3 import Icon from '../../utils/Icon'; 4 4 import useArchiveStore from '@/store/useArchivesStore'; 5 5 import useSettingsData from '@/hooks/useSettingsData'; 6 6 import DataTable from 'react-data-table-component'; 7 8 const RestoreArchivesField = forwardRef( 9 ({ ...props }, ref) => { 10 const [ searchValue, setSearchValue ] = useState( '' ); 11 const [ selectedArchives, setSelectedArchives ] = useState([]); 12 const [ downloading, setDownloading ] = useState( false ); 13 const [ pagination, setPagination ] = useState({}); 14 const [ indeterminate, setIndeterminate ] = useState( false ); 15 const [ entirePageSelected, setEntirePageSelected ] = useState( false ); 16 const [ sortBy, setSortBy ] = useState( 'title' ); 17 const [ sortDirection, setSortDirection ] = useState( 'asc' ); 18 19 20 const archives = useArchiveStore( state => state.archives ); 21 const archivesLoaded = useArchiveStore( state => state.archivesLoaded ); 22 const fetching = useArchiveStore( state => state.fetching ); 23 const fetchData = useArchiveStore( state => state.fetchData ); 24 const deleteArchives = useArchiveStore( state => state.deleteArchives ); 25 const downloadUrl = useArchiveStore( state => state.downloadUrl ); 26 const startRestoreArchives = useArchiveStore( state => state.startRestoreArchives ); 27 const fetchRestoreArchivesProgress = useArchiveStore( state => state.fetchRestoreArchivesProgress ); 28 const restoring = useArchiveStore( state => state.restoring ); 29 const progress = useArchiveStore( state => state.progress ); 30 const {addNotice} = useSettingsData(); 31 32 useEffect( () => { 33 fetchRestoreArchivesProgress(); 34 }, []); 35 36 useEffect( () => { 37 if ( ! archivesLoaded ) { 38 fetchData(); 39 } 40 }, [ archivesLoaded ]); 41 42 const handlePageChange = ( page ) => { 43 setPagination({ ...pagination, currentPage: page }); 44 }; 45 46 const updateSelectedArchives = ( ids ) => { 47 if ( 0 === ids.length ) { 48 setEntirePageSelected( false ); 49 setIndeterminate( false ); 50 } 51 setSelectedArchives( ids ); 52 } 53 54 const onDeleteArchives = async( e, ids ) => { 55 e.preventDefault(); 56 updateSelectedArchives([]); 57 await deleteArchives( ids ); 58 }; 59 60 const onRestoreArchives = async( e, ids ) => { 61 e.preventDefault(); 62 updateSelectedArchives([]); 63 await startRestoreArchives( ids ); 64 addNotice( 65 'archive_data', 66 'warning', 67 __( 'Because restoring files can conflict with the archiving functionality, archiving has been disabled.', 'burst-statistics' ), 68 __( 'Archiving disabled', 'burst-statistics' ) 69 ); 70 }; 71 72 const downloadArchives = async(e) => { 73 e.preventDefault(); 74 let selectedArchivesCopy = archives.filter( ( archive ) => 75 selectedArchives.includes( archive.id ) 76 ); 77 setDownloading( true ); 78 const downloadNext = async() => { 79 if ( 0 < selectedArchivesCopy.length ) { 80 const archive = selectedArchivesCopy.shift(); 81 const url = downloadUrl + archive.id; 82 83 try { 84 let request = new XMLHttpRequest(); 85 request.responseType = 'blob'; 86 request.open( 'get', url, true ); 87 request.send(); 88 request.onreadystatechange = function() { 89 if ( 4 === this.readyState && 200 === this.status ) { 90 let obj = window.URL.createObjectURL( this.response ); 91 let element = window.document.createElement( 'a' ); 92 element.href = obj; 93 element.download = archive.title; 94 element.style.display = 'none'; 95 document.body.appendChild(element); 96 element.click(); 97 document.body.removeChild(element); // prevents redirect 98 99 updateSelectedArchives( selectedArchivesCopy ); 100 101 setDownloading( false ); 102 103 setTimeout( function() { 104 window.URL.revokeObjectURL( obj ); 105 }, 60 * 1000 ); 106 } 107 }; 108 109 await downloadNext(); 110 } catch ( error ) { 111 console.error( error ); 112 setDownloading( false ); 113 } 114 } else { 115 setDownloading( false ); 116 } 117 }; 118 119 await downloadNext(); 120 }; 121 122 const handleSelectEntirePage = ( selected ) => { 123 if ( selected ) { 124 setEntirePageSelected( true ); 125 let currentPage = pagination.currentPage ? pagination.currentPage : 1; 126 let filtered = handleFiltering( archives ); 127 let archivesOnPage = filtered.slice( 128 ( currentPage - 1 ) * 10, 129 currentPage * 10 130 ); 131 setSelectedArchives( archivesOnPage.map( ( archive ) => archive.id ) ); 132 } else { 133 setEntirePageSelected( false ); 134 setSelectedArchives([]); 135 } 136 setIndeterminate( false ); 137 }; 138 139 const onSelectArchive = ( selected, id ) => { 140 let docs = [ ...selectedArchives ]; 141 if ( selected ) { 142 if ( ! docs.includes( id ) ) { 143 docs.push( id ); 144 setSelectedArchives( docs ); 145 } 146 } else { 147 docs = [ ...selectedArchives.filter( ( archiveId ) => archiveId !== id ) ]; 148 setSelectedArchives( docs ); 149 } 150 151 let currentPage = pagination.currentPage ? pagination.currentPage : 1; 152 let filtered = handleFiltering( archives ); 153 let archivesOnPage = filtered.slice( 154 ( currentPage - 1 ) * 10, 155 currentPage * 10 156 ); 157 let allSelected = true; 158 let hasOneSelected = false; 159 archivesOnPage.forEach( ( record ) => { 160 if ( ! docs.includes( record.id ) ) { 161 allSelected = false; 162 } else { 163 hasOneSelected = true; 164 } 165 }); 166 167 if ( allSelected ) { 168 setEntirePageSelected( true ); 169 setIndeterminate( false ); 170 } else if ( ! hasOneSelected ) { 171 setIndeterminate( false ); 172 } else { 173 setEntirePageSelected( false ); 174 setIndeterminate( true ); 175 } 176 }; 177 178 const handleFiltering = ( archives ) => { 179 let newArchives = [ ...archives ]; 180 newArchives = handleSort( newArchives, sortBy, sortDirection ); 181 newArchives = newArchives.filter( ( archive ) => { 182 return archive.title.toLowerCase().includes( searchValue.toLowerCase() ); 183 }); 184 return newArchives; 185 }; 186 187 const handleSort = ( rows, selector, direction ) => { 188 if ( 0 === rows.length ) { 189 return rows; 190 } 191 const multiplier = 'asc' === direction ? 1 : -1; 192 if ( direction !== sortDirection ) { 193 setSortDirection( direction ); 194 } 195 const convertToBytes = ( size ) => { 196 const units = { 197 B: 1, 198 KB: 1024, 199 MB: 1024 * 1024 200 }; 201 202 const [ value, unit ] = size.split( ' ' ); 203 204 return parseFloat( value ) * units[unit]; 205 }; 206 if ( -1 !== selector.toString().indexOf( 'title' ) && 'title' !== sortBy ) { 207 setSortBy( 'title' ); 208 } else if ( -1 !== selector.toString().indexOf( 'size' ) && 'size' !== sortBy ) { 209 setSortBy( 'size' ); 210 } 211 if ( 'title' === sortBy ) { 212 rows.sort( ( a, b ) => { 213 const [ yearA, monthA ] = a.id.replace( '.zip', '' ).split( '-' ).map( Number ); 214 const [ yearB, monthB ] = b.id.replace( '.zip', '' ).split( '-' ).map( Number ); 215 216 if ( yearA !== yearB ) { 217 return multiplier * ( yearA - yearB ); 218 } 219 return multiplier * ( monthA - monthB ); 220 }); 221 } else if ( 'size' === sortBy ) { 222 rows.sort( ( a, b ) => { 223 const sizeA = convertToBytes( a.size ); 224 const sizeB = convertToBytes( b.size ); 225 226 return multiplier * ( sizeA - sizeB ); 227 }); 228 } 229 return rows; 230 }; 231 232 const columns = [ 233 { 234 name: ( 235 <input 236 type="checkbox" 237 className={indeterminate ? 'burst-indeterminate' : ''} 238 checked={entirePageSelected} 239 onChange={( e ) => handleSelectEntirePage( e.target.checked )} 240 /> 241 ), 242 selector: ( row ) => row.selectControl, 243 grow: 1 244 }, 245 { 246 name: __( 'Archive', 'burst-statistics' ), 247 selector: ( row ) => row.title, 248 sortable: true, 249 grow: 6 250 }, 251 { 252 name: __( 'Size', 'burst-statistics' ), 253 selector: ( row ) => row.size, 254 sortable: true, 255 grow: 2, 256 right: 1 257 } 258 ]; 259 260 let filteredArchives = handleFiltering( archives ); 261 let data = []; 262 filteredArchives.forEach( ( archive ) => { 263 let archiveCopy = { ...archive }; 264 archiveCopy.selectControl = ( 265 <input 266 type="checkbox" 267 className="m-0" 268 disabled={archiveCopy.restoring || restoring} 269 checked={selectedArchives.includes( archiveCopy.id )} 270 onChange={( e ) => onSelectArchive( e.target.checked, archiveCopy.id )} 271 /> 272 ); 273 data.push( archiveCopy ); 274 }); 275 276 let showDownloadButton = 1 < selectedArchives.length; 277 if ( ! showDownloadButton && 1 === selectedArchives.length ) { 278 let currentSelected = archives.filter( ( archive ) => 279 selectedArchives.includes( archive.id ) 280 ); 281 showDownloadButton = 282 currentSelected.hasOwnProperty( 0 ) && 283 '' !== currentSelected[0].download_url; 284 } 285 286 return ( 287 <div className="w-full p-6"> 288 <div className="py-2.5 px-6"> 289 <div> 290 <input 291 type="text" 292 placeholder={__( 'Search', 'burst-statistics' )} 293 value={searchValue} 294 onChange={( e ) => setSearchValue( e.target.value )} 295 /> 296 </div> 297 </div> 298 299 {0 < selectedArchives.length && ( 300 <div className="mt-[10px] mb-[10px] items-center bg-blue-light py-2.5 px-6 flex space-y-2"> 301 <div className="ml-auto flex gap-2.5 mb-4 mt-4 items-center"> 302 {showDownloadButton && ( 303 <> 304 <button 305 disabled={downloading || (progress && 100 > progress)} 306 className="burst-button burst-button--secondary" 307 onClick={(e) => downloadArchives(e)} 308 > 309 {__('Download', 'burst-statistics')} 310 {downloading && <Icon name="loading" color="gray"/>} 311 </button> 312 </> 313 )} 314 <button 315 disabled={progress && 100 > progress} 316 className="burst-button burst-button--primary" 317 onClick={(e) => onRestoreArchives(e, selectedArchives)} 318 > 319 {__('Restore', 'burst-statistics')} 320 {100 > progress && <Icon name="loading" color="gray"/>} 321 </button> 322 <button 323 disabled={progress && 100 > progress} 324 className="burst-button burst-button--tertiary" 325 onClick={(e) => onDeleteArchives(e, selectedArchives)} 326 > 327 {__('Delete', 'burst-statistics')} 328 </button> 329 <div> 330 {1 < selectedArchives.length && 331 __('%s items selected', 'burst-statistics').replace( 332 '%s', 333 selectedArchives.length 334 )} 335 {1 === selectedArchives.length && 336 __('1 item selected', 'burst-statistics')} 337 </div> 338 </div> 339 340 </div> 341 )} 342 {0 < progress && 100 > progress && ( 343 <div className="my-2.5 items-center bg-blue-light py-2.5 px-l flex space-y-2"> 344 {__('Restore in progress, %s complete', 'burst-statistics').replace( 345 '%s', 346 progress + '%' 347 )} 348 </div> 349 )} 350 351 {DataTable && ( 352 <DataTable 353 columns={columns} 354 data={data} 355 dense 356 paginationPerPage={10} 357 onChangePage={handlePageChange} 358 paginationState={pagination} 359 persistTableHead 360 defaultSortFieldId={2} 361 pagination 362 paginationRowsPerPageOptions={[ 10, 25, 50 ]} 363 paginationComponentOptions={{ 364 rowsPerPageText: '', 365 rangeSeparatorText: __( 'of', 'burst-statistics' ), 366 noRowsPerPage: false, 367 selectAllRowsItem: true, 368 selectAllRowsItemText: __( 'All', 'burst-statistics' ) 369 }} 370 noDataComponent={ 371 <div className="p-8"> 372 {__( 'No archives', 'burst-statistics' )} 373 </div> 374 } 375 sortFunction={handleSort} 376 /> 377 )} 378 </div> 379 ); 7 import useLicenseData from '@/hooks/useLicenseData' 8 import { useQuery } from '@tanstack/react-query' 9 10 const RestoreArchivesField = forwardRef( ( { ...props }, ref ) => { 11 const [ searchValue, setSearchValue ] = useState( '' ); 12 const [ selectedArchives, setSelectedArchives ] = useState([]); 13 const [ downloading, setDownloading ] = useState( false ); 14 const [ pagination, setPagination ] = useState({}); 15 const [ indeterminate, setIndeterminate ] = useState( false ); 16 const [ entirePageSelected, setEntirePageSelected ] = useState( false ); 17 const [ sortBy, setSortBy ] = useState( 'title' ); 18 const [ sortDirection, setSortDirection ] = useState( 'asc' ); 19 20 21 const archives = useArchiveStore( state => state.archives ); 22 const fetching = useArchiveStore( state => state.fetching ); 23 const fetchData = useArchiveStore( state => state.fetchData ); 24 const deleteArchives = useArchiveStore( state => state.deleteArchives ); 25 const downloadUrl = useArchiveStore( state => state.downloadUrl ); 26 const startRestoreArchives = useArchiveStore( state => state.startRestoreArchives ); 27 const fetchRestoreArchivesProgress = useArchiveStore( state => state.fetchRestoreArchivesProgress ); 28 const restoring = useArchiveStore( state => state.restoring ); 29 const progress = useArchiveStore( state => state.progress ); 30 const { addNotice } = useSettingsData(); 31 const { isPro } = useLicenseData(); 32 33 useQuery( 34 { 35 queryFn: () => fetchRestoreArchivesProgress(), 36 queryKey: [ 'restore-archives-progress' ], 37 refetchInterval: restoring ? 5000 : false, 38 } 39 ); 40 41 useEffect( () => { 42 let mounted = true; 43 44 const loadData = async () => { 45 if (mounted) { 46 await fetchData( isPro ); 47 } 48 }; 49 50 loadData(); 51 52 return () => { 53 mounted = false; 54 }; 55 }, [isPro, fetchData] ); 56 57 const handlePageChange = ( page ) => { 58 setPagination( { ...pagination, currentPage: page } ); 59 }; 60 61 const updateSelectedArchives = ( ids ) => { 62 try { 63 if ( 0 === ids.length ) { 64 setEntirePageSelected( false ); 65 setIndeterminate( false ); 66 } 67 setSelectedArchives( ids ); 68 } catch (error) { 69 // Component was unmounted, ignore the error 70 console.log('Component unmounted, ignoring state update'); 71 } 72 } 73 74 const onDeleteArchives = async( e, ids ) => { 75 e.preventDefault(); 76 updateSelectedArchives( [] ); 77 await deleteArchives( ids ); 78 }; 79 80 const onRestoreArchives = async( e, ids ) => { 81 e.preventDefault(); 82 updateSelectedArchives([]); 83 await startRestoreArchives( ids ); 84 addNotice( 85 'archive_data', 86 'warning', 87 __( 'Because restoring files can conflict with the archiving functionality, archiving has been disabled.', 'burst-statistics' ), 88 __( 'Archiving disabled', 'burst-statistics' ) 89 ); 90 }; 91 92 const downloadArchives = async( e ) => { 93 e.preventDefault(); 94 let selectedArchivesCopy = archives.filter( ( archive ) => 95 selectedArchives.includes( archive.id ) 96 ); 97 setDownloading( true ); 98 const downloadNext = async() => { 99 if ( 0 < selectedArchivesCopy.length ) { 100 const archive = selectedArchivesCopy.shift(); 101 const url = downloadUrl + archive.id; 102 103 try { 104 let request = new XMLHttpRequest(); 105 request.responseType = 'blob'; 106 request.open( 'get', url, true ); 107 request.send(); 108 request.onreadystatechange = function() { 109 if ( 4 === this.readyState && 200 === this.status ) { 110 let obj = window.URL.createObjectURL( this.response ); 111 let element = window.document.createElement( 'a' ); 112 element.href = obj; 113 element.download = archive.title; 114 element.style.display = 'none'; 115 document.body.appendChild(element); 116 element.click(); 117 document.body.removeChild(element); // prevents redirect 118 119 updateSelectedArchives( selectedArchivesCopy.map( archive => archive.id ) ); 120 121 setDownloading( false ); 122 123 setTimeout( function() { 124 window.URL.revokeObjectURL( obj ); 125 }, 60 * 1000 ); 126 } 127 }; 128 129 await downloadNext(); 130 } catch ( error ) { 131 console.error( error ); 132 setDownloading( false ); 133 } 134 } else { 135 setDownloading( false ); 136 } 137 }; 138 139 await downloadNext(); 140 }; 141 142 const handleSelectEntirePage = ( selected ) => { 143 if ( selected ) { 144 setEntirePageSelected( true ); 145 let currentPage = pagination.currentPage ? pagination.currentPage : 1; 146 let filtered = handleFiltering( archives ); 147 let archivesOnPage = filtered.slice( 148 ( currentPage - 1 ) * 10, 149 currentPage * 10 150 ); 151 setSelectedArchives( archivesOnPage.map( ( archive ) => archive.id ) ); 152 } else { 153 setEntirePageSelected( false ); 154 setSelectedArchives([]); 155 } 156 setIndeterminate( false ); 157 }; 158 159 const onSelectArchive = ( selected, id ) => { 160 let docs = [ ...selectedArchives ]; 161 if ( selected ) { 162 if ( ! docs.includes( id ) ) { 163 docs.push( id ); 164 setSelectedArchives( docs ); 165 } 166 } else { 167 docs = [ ...selectedArchives.filter( ( archiveId ) => archiveId !== id ) ]; 168 setSelectedArchives( docs ); 169 } 170 171 let currentPage = pagination.currentPage ? pagination.currentPage : 1; 172 let filtered = handleFiltering( archives ); 173 let archivesOnPage = filtered.slice( 174 ( currentPage - 1 ) * 10, 175 currentPage * 10 176 ); 177 let allSelected = true; 178 let hasOneSelected = false; 179 archivesOnPage.forEach( ( record ) => { 180 if ( ! docs.includes( record.id ) ) { 181 allSelected = false; 182 } else { 183 hasOneSelected = true; 184 } 185 }); 186 187 if ( allSelected ) { 188 setEntirePageSelected( true ); 189 setIndeterminate( false ); 190 } else if ( ! hasOneSelected ) { 191 setIndeterminate( false ); 192 } else { 193 setEntirePageSelected( false ); 194 setIndeterminate( true ); 195 } 196 }; 197 198 const handleFiltering = ( archives ) => { 199 let newArchives = [ ...archives ]; 200 newArchives = handleSort( newArchives, sortBy, sortDirection ); 201 newArchives = newArchives.filter( ( archive ) => { 202 return archive.title.toLowerCase().includes( searchValue.toLowerCase() ); 203 }); 204 return newArchives; 205 }; 206 207 const handleSort = ( rows, selector, direction ) => { 208 if ( 0 === rows.length ) { 209 return rows; 210 } 211 const multiplier = 'asc' === direction ? 1 : -1; 212 if ( direction !== sortDirection ) { 213 setSortDirection( direction ); 214 } 215 const convertToBytes = ( size ) => { 216 const units = { 217 B: 1, 218 KB: 1024, 219 MB: 1024 * 1024 220 }; 221 222 const [ value, unit ] = size.split( ' ' ); 223 224 return parseFloat( value ) * units[unit]; 225 }; 226 if ( -1 !== selector.toString().indexOf( 'title' ) && 'title' !== sortBy ) { 227 setSortBy( 'title' ); 228 } else if ( -1 !== selector.toString().indexOf( 'size' ) && 'size' !== sortBy ) { 229 setSortBy( 'size' ); 230 } 231 if ( 'title' === sortBy ) { 232 rows.sort( ( a, b ) => { 233 const [ yearA, monthA ] = a.id.replace( '.zip', '' ).split( '-' ).map( Number ); 234 const [ yearB, monthB ] = b.id.replace( '.zip', '' ).split( '-' ).map( Number ); 235 236 if ( yearA !== yearB ) { 237 return multiplier * ( yearA - yearB ); 238 } 239 return multiplier * ( monthA - monthB ); 240 }); 241 } else if ( 'size' === sortBy ) { 242 rows.sort( ( a, b ) => { 243 const sizeA = convertToBytes( a.size ); 244 const sizeB = convertToBytes( b.size ); 245 246 return multiplier * ( sizeA - sizeB ); 247 }); 248 } 249 return rows; 250 }; 251 252 const columns = [ 253 { 254 name: ( 255 <input 256 type="checkbox" 257 className={indeterminate ? 'burst-indeterminate' : ''} 258 checked={entirePageSelected} 259 disabled={fetching || 0 === archives.length || restoring} 260 onChange={( e ) => handleSelectEntirePage( e.target.checked )} 261 /> 262 ), 263 selector: ( row ) => row.selectControl, 264 width: '60px', 265 }, 266 { 267 name: __( 'Archive', 'burst-statistics' ), 268 selector: ( row ) => row.title, 269 sortable: true, 270 }, 271 { 272 name: __( 'Size', 'burst-statistics' ), 273 selector: ( row ) => row.size, 274 sortable: true, 275 width: '120px', 276 style: { 277 justifyContent: 'flex-end', // replaces right:true 278 }, 279 } 280 ]; 281 282 let filteredArchives = handleFiltering( archives ); 283 let data = []; 284 filteredArchives.forEach( ( archive ) => { 285 let archiveCopy = { ...archive }; 286 archiveCopy.selectControl = ( 287 <input 288 type="checkbox" 289 className="m-0" 290 disabled={archiveCopy.restoring || restoring} 291 checked={selectedArchives.includes( archiveCopy.id )} 292 onChange={( e ) => onSelectArchive( e.target.checked, archiveCopy.id )} 293 /> 294 ); 295 data.push( archiveCopy ); 296 }); 297 298 let showDownloadButton = 1 < selectedArchives.length; 299 if ( ! showDownloadButton && 1 === selectedArchives.length ) { 300 let currentSelected = archives.filter( ( archive ) => 301 selectedArchives.includes( archive.id ) 302 ); 303 showDownloadButton = 304 currentSelected.hasOwnProperty( 0 ) && 305 '' !== currentSelected[0].download_url; 306 } 307 //with just one month to restore, progress will always be zero. So we show 50% by default until it's finished. 308 console.log("selected arhcives count ", selectedArchives.length) 309 const defaultProgresss = selectedArchives.length >= 1 ? 5 : 50; 310 return ( 311 <div className="w-full p-6"> 312 <div className="flex py-2.5 px-6 justify-between"> 313 <input 314 type="text" 315 placeholder={__( 'Search', 'burst-statistics' )} 316 value={searchValue} 317 onChange={( e ) => setSearchValue( e.target.value )} 318 /> 319 320 { 321 restoring && <div className="flex items-center justify-end text-gray-400 w-full gap-1">{progress === 0 ? defaultProgresss : progress } %<Icon name="loading" color="gray"/></div> 322 } 323 </div> 324 325 { 326 0 < selectedArchives.length && ( 327 <div className="mt-[10px] mb-[10px] items-center bg-blue-light py-2.5 px-6 flex space-y-2"> 328 <div className="flex mb-4 mt-4 justify-between items-center w-full"> 329 <div> 330 { 331 selectedArchives.length > 0 && sprintf( _n( '%s item selected', '%s items selected', selectedArchives.length, 'burst-statistics' ), selectedArchives.length ) 332 } 333 </div> 334 335 <div className="flex gap-2.5"> 336 { 337 showDownloadButton && ( 338 <button 339 disabled={ downloading || ( progress && 100 > progress ) } 340 className="burst-button burst-button--secondary" 341 onClick={ ( e ) => downloadArchives( e ) } 342 > 343 { __( 'Download', 'burst-statistics' ) } 344 345 { downloading && <Icon name="loading" color="gray"/> } 346 </button> 347 ) 348 } 349 350 <button 351 disabled={ progress && 100 > progress } 352 className="burst-button burst-button--primary" 353 onClick={ ( e ) => onRestoreArchives( e, selectedArchives ) } 354 > 355 { __( 'Restore', 'burst-statistics' ) } 356 { 100 > progress && <Icon name="loading" color="gray"/> } 357 </button> 358 359 <button 360 disabled={ progress && 100 > progress } 361 className="burst-button burst-button--tertiary" 362 onClick={ ( e ) => onDeleteArchives( e, selectedArchives ) } 363 > 364 { __( 'Delete', 'burst-statistics' ) } 365 </button> 366 </div> 367 </div> 368 </div> 369 ) 370 } 371 372 { 373 DataTable && ( 374 <DataTable 375 columns={columns} 376 data={data} 377 dense 378 paginationPerPage={10} 379 onChangePage={handlePageChange} 380 paginationState={pagination} 381 persistTableHead 382 defaultSortFieldId={2} 383 pagination 384 paginationRowsPerPageOptions={[ 10, 25, 50 ]} 385 paginationComponentOptions={ 386 { 387 rowsPerPageText: '', 388 rangeSeparatorText: __( 'of', 'burst-statistics' ), 389 noRowsPerPage: false, 390 selectAllRowsItem: true, 391 selectAllRowsItemText: __( 'All', 'burst-statistics' ) 392 } 393 } 394 noDataComponent={ 395 <div className="p-8"> 396 { __( 'No archives', 'burst-statistics' ) } 397 </div> 398 } 399 sortFunction={handleSort} 400 /> 401 ) 402 } 403 </div> 404 ); 380 405 }); 381 406 -
burst-statistics/trunk/includes/Admin/App/src/components/Fields/TextField.jsx
r3377993 r3406692 17 17 ({ field, fieldState, label, help, context, className, ...props }, ref ) => { 18 18 const inputId = props.id || field.name; 19 if (inputId==='archive_after_months'){20 console.log(field)21 }22 19 return ( 23 20 <FieldWrapper -
burst-statistics/trunk/includes/Admin/App/src/components/Filters/Modal/Setup/StringFilterSetup.tsx
r3392751 r3406692 1 // typescript 1 2 import React, {useState, useRef, useEffect, useCallback} from 'react'; 2 3 import { __ } from '@wordpress/i18n'; … … 42 43 const textInputRef = useRef<HTMLInputElement>(null); 43 44 const [availableOptions, setAvailableOptions] = useState<SelectOption[]>([]); 45 const [filteredOptions, setFilteredOptions] = useState<SelectOption[]>([]); 44 46 const [searchTerm, setSearchTerm] = useState<string>(''); 45 47 const [hasFullDataset, setHasFullDataset] = useState<boolean>(false); … … 62 64 63 65 setAvailableOptions(transformedOptions); 66 // ensure dropdown shows all options by default 67 setFilteredOptions(transformedOptions); 64 68 // If we got less than 1000 options, we have the full dataset 65 69 setHasFullDataset(transformedOptions.length < 1000); … … 80 84 81 85 setAvailableOptions(transformedOptions); 86 // if search is empty, mirror into filteredOptions so dropdown shows items 87 if (!search) { 88 setFilteredOptions(transformedOptions); 89 } 82 90 }, 300), 83 91 [config.options, getFilterOptions] … … 119 127 120 128 // Load options function for AsyncSelectInput 121 const loadOptions = (inputValue: string, callback: (options: SelectOption[]) => void) => { 129 const loadOptions = async(inputValue?: string, callback?: (options: SelectOption[]) => void) => { 130 const input = String(inputValue ?? '').toLowerCase(); 131 122 132 // Update search term for reloadOnSearch functionality 123 setSearchTerm(input Value);124 125 // If still loading , return empty array126 if (isLoading ) {127 callback ([]);133 setSearchTerm(input); 134 135 // If still loading or error, return empty array via callback 136 if (isLoading || isError) { 137 callback?.([]); 128 138 return; 129 139 } 130 140 131 // If error, return empty array132 if ( isError) {133 callback ([]);141 // If no available options yet, return empty array 142 if (!availableOptions.length) { 143 callback?.([]); 134 144 return; 135 145 } 136 146 137 if (!availableOptions.length) { 138 callback([]); 147 // If input is empty, return all available options 148 if (input.length === 0) { 149 callback?.(availableOptions); 150 setFilteredOptions(availableOptions); 139 151 return; 140 152 } 141 153 142 // If reloadOnSearch is enabled, we have the full dataset, or search < 3 chars 143 // do client-side filtering 144 if (hasFullDataset || !config.reloadOnSearch || inputValue.length < 3) { 145 const filteredOptions = availableOptions.filter(function (option) { 146 const label = (option.label ?? '').toLowerCase(); 147 const value = (option.value ?? '').toLowerCase(); 148 const input = inputValue.toLowerCase(); 149 150 return label.includes(input) || value.includes(input); 151 }); 152 callback(filteredOptions); 153 return; 154 } 155 156 // For server-side filtering (reloadOnSearch enabled, 3+ chars, large dataset) 157 // the options are already being fetched via useEffect 158 callback(availableOptions); 154 // Always do client-side filtering on the available options 155 const filtered = availableOptions.filter(function (option) { 156 const label = String(option.label ?? '').toLowerCase(); 157 const value = String(option.value ?? '').toLowerCase(); 158 return label.includes(input) || value.includes(input); 159 }); 160 161 callback?.(filtered); 162 setFilteredOptions(filtered); 159 163 }; 160 164 … … 191 195 } 192 196 193 // Custom placeholders based on filter type194 197 switch (filterKey) { 195 198 case 'page_url': … … 222 225 </label> 223 226 224 {/* Always render the same input type based on config.options */}225 227 {config.options ? ( 226 228 <AsyncSelectInput … … 229 231 onChange={handleSelectChange} 230 232 loadOptions={loadOptions} 231 defaultOptions={ availableOptions}233 defaultOptions={filteredOptions} 232 234 placeholder={getPlaceholder()} 233 235 isSearchable={true} … … 235 237 disabled={false} 236 238 insideModal={true} 239 allowCustomValue={filteredOptions.length===0} 237 240 /> 238 241 ) : ( -
burst-statistics/trunk/includes/Admin/App/src/components/Goals/GoalsSettings.js
r3392751 r3406692 96 96 className={ 97 97 predefinedGoalsButtonClass + 98 ' burst-button burst-button--secondary '98 ' burst-button burst-button--secondary burst-add-predefined-goal' 99 99 } 100 100 onClick={() => { … … 114 114 sideOffset={5} 115 115 align={'end'} 116 className=" z-50 flex flex-col gap-2 rounded-lg border border-gray-400 bg-white p-2"116 className="burst-predefined-goals-list z-50 flex flex-col gap-2 rounded-lg border border-gray-400 bg-white p-2" 117 117 > 118 118 {predefinedGoals.map( ( goal, index ) => { -
burst-statistics/trunk/includes/Admin/App/src/components/Sales/Funnel/FunnelStepStatistics.tsx
r3392754 r3406692 30 30 step.isHighestDropOff ? 'bg-red-light' : 'bg-gray-200' 31 31 }`}> 32 < tspan className={`text-xl font-bold text-center ${32 <span className={`text-xl font-bold text-center ${ 33 33 step.isHighestDropOff ? 'text-red' : 'text-gray-700' 34 34 }`}> 35 35 {step.dropOffPercentage.toFixed(step.dropOffPercentage > 0 && step.dropOffPercentage < 10 ? 1 : 0)}% 36 </ tspan>37 < tspan className="text-xxs uppercase tracking-wide text-gray-600">36 </span> 37 <span className="text-xxs uppercase tracking-wide text-gray-600"> 38 38 drop-off 39 </ tspan>39 </span> 40 40 </div> 41 41 42 42 {/* Secondary Metric: Lost sessions (smaller font) */} 43 {step.dropOff !== null && step.dropOff > 0 && (43 {step.dropOff !== null && step.dropOff >= 0 && ( 44 44 <span className="text-xs text-center text-gray mt-1"> 45 45 {sprintf(__("%d lost visitors", "burst-statistics"), step.dropOff)} -
burst-statistics/trunk/includes/Admin/App/src/components/Sales/QuickWins.tsx
r3392754 r3406692 12 12 import Icon from "@/utils/Icon"; 13 13 import { Root, Trigger, Content, Close } from '@radix-ui/react-popover'; 14 import { use Effect, useState} from "react";14 import { useMemo } from "react"; 15 15 import { doAction } from "@/utils/api"; 16 16 import { toast } from 'react-toastify'; 17 17 import { motion, AnimatePresence } from "framer-motion"; 18 import { formatUnixToDate } from "@/utils/formatting"; 19 import Tooltip from "@/components/Common/Tooltip"; 18 20 19 21 … … 29 31 } 30 32 33 interface DateRange { 34 date_start: number; 35 date_end: number; 36 } 37 31 38 interface QuickWinsData { 32 39 quickWins: QuickWinItem[]; 33 } 34 35 const blockHeadingProps = { 36 title: __( 'Opportunities', 'burst-statistics' ), 37 } 40 dateRange: DateRange | null; 41 } 42 38 43 39 44 const blockContentProps = { … … 64 69 const { startDate, endDate, range } = useDate( ( state ) => state ); 65 70 const filters = useFiltersStore( ( state ) => state.filters ); 66 const [ quickWins, setQuickWins ] = useState< QuickWinItem[] | null >(null);67 71 const queryClient = useQueryClient(); 68 72 69 73 const quickWinsQuery = useQuery<QuickWinsData | null>( 70 74 { 71 queryKey: [ 'quickWins' , startDate, endDate, range, filters],75 queryKey: [ 'quickWins' ], 72 76 queryFn: () => getQuickWins( { startDate, endDate, range, filters } ), 73 77 placeholderData: null, … … 85 89 }, 86 90 onMutate: async (key: string) => { 87 await queryClient.cancelQueries({ queryKey: ['quickWins' , startDate, endDate, range, filters] });88 89 const previousData = queryClient.getQueryData<QuickWinsData | null>(['quickWins' , startDate, endDate, range, filters]);91 await queryClient.cancelQueries({ queryKey: ['quickWins'] }); 92 93 const previousData = queryClient.getQueryData<QuickWinsData | null>(['quickWins']); 90 94 91 95 if (previousData?.quickWins) { … … 94 98 quickWins: previousData.quickWins.filter(item => item.key !== key), 95 99 }; 96 queryClient.setQueryData(['quickWins' , startDate, endDate, range, filters], newData);100 queryClient.setQueryData(['quickWins'], newData); 97 101 } 98 102 … … 102 106 // Rollback if mutation fails or backend returned success=false 103 107 if (context?.previousData) { 104 queryClient.setQueryData(['quickWins' , startDate, endDate, range, filters], context.previousData);108 queryClient.setQueryData(['quickWins'], context.previousData); 105 109 } 106 110 … … 119 123 }, 120 124 onMutate: async (key: string) => { 121 await queryClient.cancelQueries({ queryKey: ['quickWins' , startDate, endDate, range, filters] });122 123 const previousData = queryClient.getQueryData<QuickWinsData | null>(['quickWins' , startDate, endDate, range, filters]);125 await queryClient.cancelQueries({ queryKey: ['quickWins'] }); 126 127 const previousData = queryClient.getQueryData<QuickWinsData | null>(['quickWins']); 124 128 125 129 if (previousData?.quickWins) { … … 128 132 quickWins: previousData.quickWins.filter(item => item.key !== key), 129 133 }; 130 queryClient.setQueryData(['quickWins' , startDate, endDate, range, filters], newData);134 queryClient.setQueryData(['quickWins'], newData); 131 135 } 132 136 … … 136 140 // Rollback if mutation fails or backend returned success=false 137 141 if (context?.previousData) { 138 queryClient.setQueryData(['quickWins' , startDate, endDate, range, filters], context.previousData);142 queryClient.setQueryData(['quickWins'], context.previousData); 139 143 } 140 144 … … 144 148 }); 145 149 146 const quickWinsData = quickWinsQuery.data || { quickWins: [] }; 147 148 useEffect( () => { 149 if ( quickWinsData.quickWins ) { 150 setQuickWins( quickWinsData.quickWins ); 150 const quickWinsData = quickWinsQuery.data || { quickWins: [], dateRange: null }; 151 152 // Format date range for display. 153 const dateControl = useMemo( () => { 154 if ( ! quickWinsData.dateRange ) { 155 return null; 151 156 } 152 }, [ quickWinsData.quickWins ] ); 157 158 const { date_start, date_end } = quickWinsData.dateRange; 159 const formattedDateStart = formatUnixToDate( date_start ); 160 const formattedDateEnd = formatUnixToDate( date_end ); 161 162 return ( 163 <Tooltip content={__("Identifying meaningful trends is a demanding process. To ensure your WordPress dashboard remains fast and responsive, we calculate these opportunities periodically. This gives you valuable insights from the past 30 days without slowing down your website.")}> 164 <span className="cursor-help text-sm text-gray-900 flex items-center gap-2 bg-gray-100 p-2 rounded-md border border-gray-200"> 165 <Icon name='calendar' color='black' size={16} /> 166 { formattedDateStart } - { formattedDateEnd } 167 </span> 168 </Tooltip> 169 ); 170 }, [ quickWinsData.dateRange ] ); 171 172 const blockHeadingProps = { 173 title: __( 'Opportunities', 'burst-statistics' ), 174 controls: dateControl, 175 }; 153 176 154 177 const quickWinVariants = { 155 hidden: { opacity: 0, y: -10 },178 hidden: { opacity: 0, y: 0 }, 156 179 visible: { opacity: 1, y: 0 }, 157 exit: { opacity: 0, y: -10 },180 exit: { opacity: 0, x: 400 }, 158 181 }; 159 182 … … 167 190 <p className="p-6 text-sm text-gray-500">{ __( 'Loading...', 'burst-statistics' ) }</p> 168 191 ) : ( 169 quickWins && quickWins.length > 0 && quickWins? (170 <div className="flex h-full flex-col overflow-y-auto max-h-96">192 quickWinsData.quickWins && quickWinsData.quickWins.length > 0 ? ( 193 <div className="flex h-full flex-col overflow-y-auto overflow-x-hidden max-h-96"> 171 194 <AnimatePresence> 172 195 { 173 quickWins .map(( quickWin ) => {196 quickWinsData.quickWins.map(( quickWin ) => { 174 197 if ( ! quickWin.type ) { 175 198 return null; … … 185 208 animate="visible" 186 209 exit="exit" 187 transition={{ duration: 0. 5, ease: "easeOut" }}210 transition={{ duration: 0.3, ease: "easeInOut" }} 188 211 className="border-t border-gray-200 p-6 group" 189 212 > … … 205 228 <Root> 206 229 <Trigger asChild> 207 <button className='hidden group-hover:inline-block burst-button burst-button--secondary rounded-full bg-gray-300 p-2'> 230 <motion.button 231 whileHover={{ scale: 1.05 }} 232 className='opacity-0 scale-90 group-hover:opacity-100 group-hover:scale-100 burst-button burst-button--secondary rounded-full bg-gray-200 border border-gray-300 p-1 transition-all duration-200 ease-out' 233 > 208 234 <Icon size={24} name='ellipsis' /> 209 </ button>235 </motion.button> 210 236 </Trigger> 211 237 … … 233 259 234 260 { 235 url && ( 236 <a 237 href={url} 238 target="_blank" 239 rel="noopener noreferrer" 240 className="items-center bg-blue-lightest pt-2 pb-2 pl-3 pr-3 rounded flex gap-3" 241 > 242 <Icon name='graph' color='blue' size={24} /> 243 244 <p className='flex-1 text-sm font-semibold text-black'>{recommendation}</p> 245 246 <span className='shrink-0 text-xxs font-semibold text-black-light flex gap-1 items-center'> 247 { __( 'Read our guide', 'burst-statistics' ) } 248 <Icon name='right-arrow' color='black-light' size={24} className='inline-block' /> 249 </span> 250 </a> 251 )} 261 recommendation && ( 262 <div className="items-center bg-blue-lightest pt-2 pb-2 pl-3 pr-3 rounded flex gap-3"> 263 <Icon name='graph' color='blue' size={24} /> 264 265 <p className='flex-1 text-sm font-semibold text-black'>{recommendation}</p> 266 267 { 268 url && ( 269 <a 270 href={url} 271 target="_blank" 272 rel="noopener noreferrer" 273 className='shrink-0 text-base font-semibold text-black-light flex gap-1 items-center' 274 > 275 { __( 'Read our guide', 'burst-statistics' ) } 276 <Icon name='right-arrow' color='black-light' size={24} className='inline-block' /> 277 </a> 278 ) 279 } 280 </div> 281 ) 282 } 252 283 </motion.div> 253 284 ); -
burst-statistics/trunk/includes/Admin/App/src/components/Sales/Sales.tsx
r3392754 r3406692 20 20 [key: string]: { 21 21 title: string; 22 subtitle: string ;22 subtitle: string | null; 23 23 value: string; 24 exactValue: number ;25 change: string ;26 changeStatus: string ;24 exactValue: number | null; 25 change: string | null; 26 changeStatus: string | null; 27 27 icon?: string | null; 28 28 } … … 37 37 const { startDate, endDate, range } = useDate( ( state ) => state ); 38 38 const filters = useFiltersStore( ( state ) => state.filters ); 39 const placeholderData: SalesData = { 40 "conversion-rate": { 41 title: __( "Conversion Rate", 'burst-statistics' ), 42 value: "-", 43 exactValue: null, 44 subtitle: null, 45 changeStatus: null, 46 change: null, 47 icon: "eye" 48 }, 49 "abandonment-rate": { 50 title: __( "Abandoned Carts", 'burst-statistics' ), 51 value: "-", 52 exactValue: null, 53 subtitle: null, 54 changeStatus: null, 55 change: null, 56 icon: "sessions" 57 }, 58 "average-order": { 59 title: __( "Average Order Value", 'burst-statistics' ), 60 value: "-", 61 exactValue: null, 62 subtitle: null, 63 changeStatus: null, 64 change: null, 65 icon: "visitors" 66 }, 67 "revenue": { 68 title: __( "Revenue", 'burst-statistics' ), 69 value: "-", 70 exactValue: null, 71 subtitle: null, 72 changeStatus: null, 73 change: null, 74 icon: "log-out" 75 } 76 }; 39 77 40 78 const salesQuery = useQuery< SalesData | null >( … … 42 80 queryKey: [ 'sales', startDate, endDate, range, filters ], 43 81 queryFn: () => getSales( { startDate, endDate, range, filters } ), 44 placeholderData: null,82 placeholderData: placeholderData, 45 83 gcTime: 10000 46 84 } … … 54 92 55 93 return ( 56 <Block className="row-span-2 lg:col-span-6 xl:col-span-3 ">94 <Block className="row-span-2 lg:col-span-6 xl:col-span-3 block-sales"> 57 95 <BlockHeading { ...blockHeadingProps } /> 58 96 … … 70 108 change={ value.change } 71 109 changeStatus={ value.changeStatus } 110 className={ key } 72 111 /> 73 112 ); -
burst-statistics/trunk/includes/Admin/App/src/components/Sales/TopPerformers.tsx
r3392754 r3406692 50 50 const [ selectedOption, setSelectedOption ] = useState( options[0].value ); 51 51 52 const placeholderData = { 53 "top-product": { 54 title: __( "Top product", 'burst-statistics' ), 55 value: "-", 56 exactValue: "-", 57 change: null, 58 changeStatus: "-" 59 }, 60 "top-campaign": { 61 title: __( "Top campaign", 'burst-statistics' ), 62 value: "-", 63 exactValue: "-", 64 change: null, 65 changeStatus: "-" 66 }, 67 "top-country": { 68 title: __( "Top country", 'burst-statistics' ), 69 value: "-", 70 exactValue: "-", 71 change: null, 72 changeStatus: "-" 73 }, 74 "top-device": { 75 title: __( "Top device", 'burst-statistics' ), 76 value: "-", 77 exactValue: "-", 78 change: null, 79 changeStatus: "-" 80 } 81 } 82 52 83 const { data: rawData } = useQuery( 53 84 { 54 85 queryKey: [ 'top-performers', startDate, endDate, range, filters ], 55 86 queryFn: () => getTopPerformers( { startDate, endDate, range, filters } ), 56 placeholderData: null,87 placeholderData: placeholderData, 57 88 gcTime: 10000, 58 89 } … … 74 105 75 106 return ( 76 <Block className="row-span-2 lg:col-span-6 xl:col-span-3 ">107 <Block className="row-span-2 lg:col-span-6 xl:col-span-3 block-top-performers"> 77 108 <BlockHeading { ...blockHeadingProps } /> 78 109 … … 88 119 change={ value.change } 89 120 changeStatus={ value.changeStatus } 121 className={ key } 90 122 /> 91 123 ) ) -
burst-statistics/trunk/includes/Admin/App/src/components/Sales/TopPerformersStats.tsx
r3392754 r3406692 3 3 interface TopPerformersProps { 4 4 title: string; 5 subtitle: string ;5 subtitle: string | null; 6 6 value: string | number; 7 exactValue: number; 8 change: string; 9 changeStatus: string; 7 exactValue: number | null; 8 change: string | null; 9 changeStatus: string | null; 10 className?: string; 10 11 } 11 12 … … 15 16 * @param {Object} props Component props. 16 17 * @param {string} props.title Title of the item. 17 * @param {string } props.subtitle Subtitle of the item.18 * @param {string|null} props.subtitle Subtitle of the item. 18 19 * @param {string|number} props.value Display value of the item. 19 * @param {number} props.exactValue Exact numeric value for tooltip (if > 1000). 20 * @param {string} props.change Change value to display. 21 * @param {string} props.changeStatus Status of the change ('positive' or 'negative'). 20 * @param {number|null} props.exactValue Exact numeric value for tooltip (if > 1000). 21 * @param {string|null} props.change Change value to display. 22 * @param {string|null} props.changeStatus Status of the change ('positive' or 'negative'). 23 * @param {string} [props.className] Optional additional class names. 22 24 * 23 25 * @returns {JSX.Element} The rendered component. … … 30 32 change, 31 33 changeStatus, 34 className = '', 32 35 }: TopPerformersProps ): JSX.Element => { 33 const tooltipValue = 1000 < exactValue ? exactValue : false; 36 let tooltipValue; 37 if ( ! exactValue || exactValue < 1000 ) { 38 tooltipValue = false; 39 } else { 40 tooltipValue = exactValue; 41 } 42 34 43 return ( 35 <div className= "flex items-center gap-3 py-2">36 <div className="flex-1 flex flex-col justify-center ">44 <div className={`flex items-center gap-3 py-2 ${ className }`}> 45 <div className="flex-1 flex flex-col justify-center label"> 37 46 <h3 className="text-sm font-normal text-gray">{ title }</h3> 38 47 … … 47 56 ( 48 57 <HelpTooltip content={ tooltipValue } delayDuration={ 1000 }> 49 <span className="text-xl font-bold text-black ">{ value }</span>58 <span className="text-xl font-bold text-black value">{ value }</span> 50 59 </HelpTooltip> 51 60 ) : 52 <span className="text-xl font-bold text-black ">{ value }</span>61 <span className="text-xl font-bold text-black value">{ value }</span> 53 62 } 54 63 -
burst-statistics/trunk/includes/Admin/App/src/components/Settings/Settings.js
r3377993 r3406692 16 16 const { saveGoals } = useGoalsData(); 17 17 const settingsId = currentSettingPage.id; 18 const currentFormDefaultValues = useMemo( 19 () => extractFormValuesPerMenuId( settings, settingsId ), 20 [ settings ] 18 19 const initialDefaultValues = useMemo( 20 () => extractFormValuesPerMenuId(settings, settingsId), 21 [] 21 22 ); 22 23 … … 28 29 reset 29 30 } = useForm({ 30 defaultValues: currentFormDefaultValues,31 defaultValues: initialDefaultValues, 31 32 }); 32 33 // reset form state to match defaultValues exactly34 useEffect(() => {35 reset(currentFormDefaultValues);36 }, [currentFormDefaultValues, reset]);37 33 38 34 const watchedValues = useWatch({ control }); … … 43 39 .filter((setting) => setting.menu_id === settingsId && setting.group_id === group.id) 44 40 .filter((setting) => { 45 if (!setting.react_conditions) return true; 41 if ( !setting.react_conditions ) { 42 return true; 43 } 46 44 return Object.entries(setting.react_conditions).every(([field, allowedValues]) => { 47 45 const value = watchedValues?.[field]; 46 if (!Array.isArray(allowedValues)) { 47 return value === allowedValues; 48 } 49 if (Array.isArray(value)) { 50 return allowedValues.some(allowedValue => 51 Array.isArray(allowedValue) && 52 value.length === allowedValue.length && 53 value.every((val, index) => val === allowedValue[index]) 54 ); 55 } 48 56 return allowedValues.includes(value); 49 57 }); … … 82 90 return acc; 83 91 }, {}); 84 saveSettings(changedData); 92 saveSettings(changedData).then(() => { 93 reset(formData, { 94 keepValues: true, 95 keepDefaultValues: false // <- Belangrijk! Update de defaultValues 96 }); 97 }); 85 98 saveGoals(); 86 99 })} … … 97 110 const formValues = {}; 98 111 settings.forEach(setting => { 99 //if (setting.menu_id === menuId) {112 if (setting.menu_id === menuId) { 100 113 const hasValue = setting.value !== undefined && setting.value !== ''; 101 114 formValues[setting.id] = hasValue ? setting.value : setting.default; 102 //}115 } 103 116 }); 104 117 return { ...formValues }; // <- force new object reference -
burst-statistics/trunk/includes/Admin/App/src/components/Settings/SettingsGroupBlock.jsx
r3392751 r3406692 44 44 <div className="flex flex-wrap"> 45 45 {fields.map( ( field, i ) => ( 46 <ErrorBoundary key={ i} fallback={'Could not load field'}>46 <ErrorBoundary key={field.id} fallback={'Could not load field'}> 47 47 <Field 48 key={i}49 index={i}50 48 setting={field} 51 49 control={control} -
burst-statistics/trunk/includes/Admin/App/src/components/Upsell/UpsellOverlay.tsx
r3377993 r3406692 19 19 }) => { 20 20 return ( 21 <div className={` absolute inset-0 z-50 ${className}`}>21 <div className={`burst-upsell-overlay absolute inset-0 z-50 ${className}`}> 22 22 {/* Backdrop with blur effect and lttle darker */} 23 23 <div className="absolute inset-0 backdrop-blur-sm" /> -
burst-statistics/trunk/includes/Admin/App/src/hooks/useGoalsData.js
r3392751 r3406692 15 15 const useGoalsData = () => { 16 16 const queryClient = useQueryClient(); 17 17 const { isPro } = useLicenseData(); 18 18 // Main query to fetch goals, predefined goals, and goal fields 19 19 const goalsQuery = useQuery({ … … 186 186 const addPredefinedGoalMutation = useMutation({ 187 187 mutationFn: async ({predefinedGoalId}) => { 188 const {189 isPro,190 } = useLicenseData();191 192 188 if (!isPro) { 193 189 throw new Error(__('Predefined goals are a premium feature.', 'burst-statistics')); -
burst-statistics/trunk/includes/Admin/App/src/hooks/useLiveVisitorsData.js
r3377993 r3406692 1 import { useQuery } from '@tanstack/react-query' ;2 import { useRef } from 'react' ;1 import { useQuery } from '@tanstack/react-query' 2 import { useRef } from 'react' 3 3 import getLiveVisitors from '../api/getLiveVisitors'; 4 4 … … 10 10 export const useLiveVisitorsData = () => { 11 11 const intervalRef = useRef( 5000 ); 12 13 12 return useQuery( 14 13 { … … 18 17 placeholderData: '-', 19 18 onError: () => { 20 intervalRef.current = 0; // stop refreshing if error19 intervalRef.current = 0; // Stop refreshing if error. 21 20 }, 22 21 gcTime: 10000, -
burst-statistics/trunk/includes/Admin/App/src/hooks/useSettingsData.ts
r3392751 r3406692 35 35 queryFn: async () => { 36 36 const fields = await getFields(); 37 console.log(fields);38 37 return fields.fields as SettingField[]; 39 38 }, -
burst-statistics/trunk/includes/Admin/App/src/index.tsx
r3377993 r3406692 21 21 interface Window { 22 22 burst_settings?: { 23 isPro?: boolean; 23 is_pro?: string; 24 view_sales_burst_statistics?: string; 24 25 [key: string]: any; 25 26 }; … … 63 64 64 65 const queryClient = new QueryClient(config); 65 const isPro = window.burst_settings?.isPro; 66 const isPro = window.burst_settings?.is_pro; 67 const canViewSales = window.burst_settings?.view_sales_burst_statistics; 66 68 67 69 // Create the router with improved loading state … … 71 73 queryClient, 72 74 isPro, 75 canViewSales, 73 76 }, 74 77 defaultPendingComponent: () => <PendingComponent />, -
burst-statistics/trunk/includes/Admin/App/src/routes/__root.jsx
r3377993 r3406692 6 6 7 7 export const Route = createRootRoute({ 8 component: () => { 9 return ( 10 <ErrorBoundary> 11 <Header /> 12 <Suspense fallback={<div className="p-4">Loading...</div>}> 13 <div className="mx-auto flex max-w-screen-2xl"> 14 <div 15 className="grid-rows-auto p-3 grid min-h-full w-full grid-cols-12 gap-3 lg:p-5 lg:gap-5 relative"> 16 <Outlet/> 17 </div> 18 </div> 19 </Suspense> 20 {'development' === process.env.NODE_ENV && ( 21 <Suspense> 22 <TanStackRouterDevtools/> 23 </Suspense> 24 )} 25 </ErrorBoundary> 26 ); 27 } 8 component: () => { 9 return ( 10 <ErrorBoundary> 11 <Header /> 12 13 <Suspense fallback={<div className="p-4">Loading...</div>}> 14 <div className="mx-auto flex max-w-screen-2xl"> 15 <div className="grid-rows-auto p-3 grid min-h-full w-full grid-cols-12 gap-3 lg:p-5 lg:gap-5 relative"> 16 <Outlet/> 17 </div> 18 </div> 19 20 </Suspense> 21 22 {'development' === process.env.NODE_ENV && ( 23 <Suspense> 24 <TanStackRouterDevtools/> 25 </Suspense> 26 )} 27 </ErrorBoundary> 28 ); 29 }, 30 errorComponent: ({ error }) => { 31 console.log('Root Route Error:', error); 32 } 28 33 }); -
burst-statistics/trunk/includes/Admin/App/src/routes/sales.jsx
r3392754 r3406692 18 18 import { EcommerceNotices } from '@/components/Upsell/Sales/EcommerceNotices'; 19 19 import UpsellCopy from '@/components/Upsell/UpsellCopy'; 20 import UnauthorizedModal from '@/components/Common/UnauthorizedModal' 20 21 21 22 export const Route = createFileRoute( '/sales' )({ 23 beforeLoad: ( { context } ) => { 24 let canAccessSales = false; 25 26 if ( context?.canViewSales === '1' ) { 27 canAccessSales = true; 28 } 29 30 if ( ! canAccessSales ) { 31 throw { 32 type: 'UNAUTHORIZED', 33 message: __( 'You do not have permission to view sales data.', 'burst-statistics' ), 34 }; 35 } 36 }, 22 37 component: SalesComponent, 23 errorComponent: ( { error } ) => ( 24 <div className="text-red-500 p-4"> 25 { error.message || __( 'An error occurred loading statistics', 'burst-statistics' ) } 26 </div> 27 ) 38 errorComponent: ( { error } ) => { 39 if ( 'UNAUTHORIZED' === error.type ) { 40 return ( 41 <UnauthorizedModal 42 header={ __( "Unauthorized Access", "burst-statistics" ) } 43 message={ error.message } 44 actionLabel={ __( "Go Back", "burst-statistics" ) } 45 /> 46 ); 47 } 48 49 return ( 50 <div className = "text-red-500 p-4"> 51 { error.message || __('An error occurred loading statistics', 'burst-statistics') } 52 </div> 53 ); 54 }, 55 28 56 }); 29 57 -
burst-statistics/trunk/includes/Admin/App/src/routes/statistics.jsx
r3392751 r3406692 21 21 22 22 function Statistics() { 23 const { 24 isPro, 25 } = useLicenseData(); 26 const blockOneItems = ['pages']; 27 const blockTwoItems = isPro ? ['parameters'] : ['referrers']; 28 return ( 29 <> 30 <div className="col-span-12 flex justify-between items-center"> 31 <ErrorBoundary> 32 <PageFilter/> 33 </ErrorBoundary> 34 <ErrorBoundary> 35 <DateRange/> 36 </ErrorBoundary> 37 </div> 38 <ErrorBoundary> 39 <InsightsBlock/> 40 </ErrorBoundary> 41 <ErrorBoundary> 42 <CompareBlock/> 43 </ErrorBoundary> 44 <ErrorBoundary> 45 <DevicesBlock/> 46 </ErrorBoundary> 47 <ErrorBoundary> 48 <DataTableBlock 49 allowedConfigs={blockOneItems} 50 id={1} 51 /> 52 </ErrorBoundary> 53 <ErrorBoundary> 54 <DataTableBlock 55 allowedConfigs={blockTwoItems} 56 id={2} 57 /> 58 </ErrorBoundary> 59 </> 60 ); 23 const { isPro } = useLicenseData(); 24 const blockOneItems = ['pages']; 25 const blockTwoItems = isPro ? ['parameters'] : ['referrers']; 26 return ( 27 <> 28 <div className="col-span-12 flex justify-between items-center"> 29 <ErrorBoundary> 30 <PageFilter/> 31 </ErrorBoundary> 32 33 <ErrorBoundary> 34 <DateRange/> 35 </ErrorBoundary> 36 </div> 37 38 <ErrorBoundary> 39 <InsightsBlock/> 40 </ErrorBoundary> 41 42 <ErrorBoundary> 43 <CompareBlock/> 44 </ErrorBoundary> 45 46 <ErrorBoundary> 47 <DevicesBlock/> 48 </ErrorBoundary> 49 50 <ErrorBoundary> 51 <DataTableBlock allowedConfigs={blockOneItems} id={1} /> 52 </ErrorBoundary> 53 54 <ErrorBoundary> 55 <DataTableBlock allowedConfigs={blockTwoItems} id={2} /> 56 </ErrorBoundary> 57 </> 58 ); 61 59 } -
burst-statistics/trunk/includes/Admin/App/src/store/useArchivesStore.js
r3392751 r3406692 3 3 import {toast} from 'react-toastify'; 4 4 import {__} from '@wordpress/i18n'; 5 import useLicenseData from "@/hooks/useLicenseData";6 5 const useArchiveStore = create( ( set, get ) => ({ 7 archivesLoaded: false,8 6 fetching: false, 9 7 restoring: false, … … 30 28 }); 31 29 }, 32 fetchData: async( ) => { 33 const { 34 isPro, 35 } = useLicenseData(); 36 if ( !isPro ) { 30 fetchData: async( isPro ) => { 31 if ( ! isPro ) { 37 32 return; 38 33 } 34 39 35 if ( get().fetching ) { 40 36 return; 41 37 } 42 set({fetching: true}); 38 39 set( { fetching: true } ); 40 43 41 let data = {}; 44 const { archives, downloadUrl} = await doAction( 'get_archives', data ).then( ( response ) => { 42 43 const { archives, downloadUrl } = await doAction( 'get_archives', data ).then( ( response ) => { 45 44 return response; 46 45 }).catch( ( error ) => { 47 46 console.error( error ); 48 47 }); 48 49 49 set( () => ({ 50 archivesLoaded: true,51 50 archives: archives, 52 51 downloadUrl: downloadUrl, 53 fetching: false 52 fetching: false, 53 restoring: archives.some( ( archive ) => archive.restoring === true ) 54 54 }) ); 55 55 }, … … 60 60 }); 61 61 62 // set 'selectedArchives' to 'restoring' status62 // set 'selectedArchives' to 'restoring' status. 63 63 set( ( state ) => ({ 64 64 archives: state.archives.map( ( archive ) => { … … 76 76 }); 77 77 }, 78 79 78 fetchRestoreArchivesProgress: async() => { 80 set( { restoring: true });81 const { progress, noData} = await doAction( 'get_restore_progress', {}).then( ( response ) => {79 set( { restoring: true } ); 80 const { progress, noData } = await doAction( 'get_restore_progress', {}).then( ( response ) => { 82 81 return response; 83 82 }).catch( ( error ) => { 84 83 console.error( error ); 85 84 }); 85 86 86 let restoring = false; 87 87 88 if ( 100 > progress ) { 88 89 restoring = true; 89 90 } 90 set({progress: progress, restoring: restoring, noData: noData}); 91 92 set( { progress: progress, restoring: restoring, noData: noData } ); 93 91 94 if ( 100 === progress ) { 92 93 //exclude all archives where restoring = true 95 // exclude all archives where restoring = true. 94 96 let archives = get().archives.filter( ( archive ) => { 95 97 return ! archive.restoring; 96 } );97 set( {archives: archives});98 } ); 99 set( { archives: archives } ); 98 100 } 101 102 return { progress, noData, restoring }; 99 103 } 100 104 }) ); -
burst-statistics/trunk/includes/Admin/App/src/store/useTasksStore.js
r3377993 r3406692 42 42 .map(key => tasks[key]); 43 43 } else { 44 console.log("tasks array has unexpected format: ", tasks );45 44 tasksArray = []; 46 45 } -
burst-statistics/trunk/includes/Admin/App/src/tailwind.generated.css
r3392751 r3406692 1019 1019 } 1020 1020 1021 #burst-statistics .my-2\.5 {1022 margin-top: 0.625rem;1023 margin-bottom: 0.625rem;1024 }1025 1026 1021 #burst-statistics .my-auto { 1027 1022 margin-top: auto; … … 1061 1056 } 1062 1057 1058 #burst-statistics .mb-8 { 1059 margin-bottom: 2rem; 1060 } 1061 1063 1062 #burst-statistics .mb-\[10px\] { 1064 1063 margin-bottom: 10px; … … 1201 1200 } 1202 1201 1202 #burst-statistics .h-14 { 1203 height: 3.5rem; 1204 } 1205 1203 1206 #burst-statistics .h-2 { 1204 1207 height: 0.5rem; … … 1343 1346 #burst-statistics .w-12 { 1344 1347 width: 3rem; 1348 } 1349 1350 #burst-statistics .w-14 { 1351 width: 3.5rem; 1345 1352 } 1346 1353 … … 1513 1520 } 1514 1521 1522 #burst-statistics .max-w-lg { 1523 max-width: 32rem; 1524 } 1525 1515 1526 #burst-statistics .max-w-md { 1516 1527 max-width: 28rem; … … 1588 1599 #burst-statistics .rotate-45 { 1589 1600 --tw-rotate: 45deg; 1601 transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); 1602 } 1603 1604 #burst-statistics .scale-90 { 1605 --tw-scale-x: .9; 1606 --tw-scale-y: .9; 1590 1607 transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); 1591 1608 } … … 2398 2415 } 2399 2416 2417 #burst-statistics .whitespace-pre-line { 2418 white-space: pre-line; 2419 } 2420 2400 2421 #burst-statistics .break-words { 2401 2422 overflow-wrap: break-word; … … 3019 3040 --tw-bg-opacity: 1; 3020 3041 background-color: rgb(198 39 59 / var(--tw-bg-opacity, 1)); 3042 } 3043 3044 #burst-statistics .bg-red-100 { 3045 --tw-bg-opacity: 1; 3046 background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1)); 3021 3047 } 3022 3048 … … 7352 7378 } 7353 7379 7354 #burst-statistics :is(.group:hover .group-hover\:inline-block) {7355 display: inline-block;7356 }7357 7358 7380 #burst-statistics :is(.group:hover .group-hover\:max-h-32) { 7359 7381 max-height: 8rem; 7382 } 7383 7384 #burst-statistics :is(.group:hover .group-hover\:scale-100) { 7385 --tw-scale-x: 1; 7386 --tw-scale-y: 1; 7387 transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); 7360 7388 } 7361 7389 -
burst-statistics/trunk/includes/Admin/App/src/utils/api.js
r3392751 r3406692 76 76 }; 77 77 78 const makeRequest = async (path, method = 'GET', data = {}) => { 79 let args = { path, method }; 80 81 if (method === 'POST') { 82 data.nonce = burst_settings.burst_nonce; 83 args.data = data; 84 } 85 86 try { 87 const response = await apiFetch(args); 88 89 if (!response.request_success) { 90 if (Object.prototype.hasOwnProperty.call(response, 'message')) { 91 throw new Error(response.message); 92 } else { 93 throw new Error('Received unexpected response from server. Please check if the Rest API is enabled.'); 94 } 95 } 96 97 if (response.code && response.code !== 200) { 98 throw new Error(response.message); 99 } 100 101 delete response.request_success; 102 return response; 103 104 } catch (error) { 105 try { 106 // Wait for ajaxRequest to resolve before continuing 107 return await ajaxRequest(method, path, data); 108 } catch { 109 generateError(error.message, args.path); 110 throw error; 111 } 112 } 113 }; 78 const makeRequest = async ( path, method = 'GET', data = {} ) => { 79 const controller = new AbortController(); 80 const signal = controller.signal; 81 let args = { path, method, signal }; 82 83 if ( method === 'POST' ) { 84 data.nonce = burst_settings.burst_nonce; 85 args.data = data; 86 } 87 88 try { 89 const response = await apiFetch( args ); 90 if ( ! response.request_success ) { 91 if ( Object.prototype.hasOwnProperty.call( response, 'message' ) ) { 92 throw new Error( response.message ); 93 } else { 94 throw new Error( 'Received unexpected response from server. Please check if the Rest API is enabled.' ); 95 } 96 } 97 98 if ( response.code && response.code !== 200 ) { 99 throw new Error( response.message ); 100 } 101 102 delete response.request_success; 103 return response; 104 } catch ( error ) { 105 try { 106 // Wait for ajaxRequest to resolve before continuing. 107 return await ajaxRequest( method, path, data ); 108 } catch { 109 generateError( error.message, args.path ); 110 throw error; 111 } 112 } 113 }; 114 114 115 const ajaxRequest = async( method, path, requestData = null ) => { 115 const url = 116 'GET' === method ? 117 `${siteUrl( 'ajax' )}&rest_action=${path.replace( '?', '&' )}` : 118 siteUrl( 'ajax' ); 119 120 const options = { 121 method, 122 headers: { 'Content-Type': 'application/json; charset=UTF-8' } 123 }; 124 125 if ( 'POST' === method ) { 126 options.body = JSON.stringify({ path, data: requestData }, stripControls ); 127 } 128 129 try { 130 const response = await fetch( url, options ); 131 if ( ! response.ok ) { 132 generateError( false, response.statusText ); 133 throw new Error( response.statusText ); 134 } 135 136 const responseData = await response.json(); 137 138 if ( 139 ! responseData.data || 140 ! Object.prototype.hasOwnProperty.call( responseData.data, 'request_success' ) 141 ) { 142 //log for automted fallback test. Do not remove. 143 console.log("Ajax fallback request failed."); 144 throw new Error( 'Invalid data error' ); 145 } 146 147 delete responseData.data.request_success; 148 149 // return promise with the data object 150 return Promise.resolve( responseData.data ); 151 } catch ( error ) { 152 return Promise.reject( new Error( 'AJAX request failed' ) ); 153 } 116 const url = 'GET' === method ? `${siteUrl( 'ajax' )}&rest_action=${path.replace( '?', '&' )}` : siteUrl( 'ajax' ); 117 118 const controller = new AbortController(); 119 const signal = controller.signal; 120 121 const options = { 122 method, 123 headers: { 'Content-Type': 'application/json; charset=UTF-8' }, 124 signal 125 }; 126 127 if ( 'POST' === method ) { 128 options.body = JSON.stringify( { path, data: requestData }, stripControls ); 129 } 130 131 try { 132 const response = await fetch( url, options ); 133 if ( ! response.ok ) { 134 generateError( false, response.statusText ); 135 throw new Error( response.statusText ); 136 } 137 138 const responseData = await response.json(); 139 140 if ( 141 ! responseData.data || 142 ! Object.prototype.hasOwnProperty.call( responseData.data, 'request_success' ) 143 ) { 144 //log for automated fallback test. Do not remove. 145 console.log( "Ajax fallback request failed." ); 146 throw new Error( 'Invalid data error' ); 147 } 148 149 delete responseData.data.request_success; 150 151 // return promise with the data object 152 return Promise.resolve( responseData.data ); 153 } catch ( error ) { 154 return Promise.reject( new Error( 'AJAX request failed' ) ); 155 } 154 156 }; 155 157 … … 280 282 * @returns {Promise} 281 283 */ 282 export const getData = async( type, startDate, endDate, range, args = {} ) => {283 284 // Extract filters and metrics from args if they exist 285 const { filters, metrics, group_by, currentView, selectedPages } = args;286 287 // Combine all query parameters 288 const queryParams = {289 date_start: startDate,290 date_end: endDate,291 date_range: range,292 nonce: burst_settings.burst_nonce,293 should_load_ecommerce: burst_settings.shouldLoadEcommerce || false,294 goal_id: args.goal_id,295 token: Math.random()// nosemgrep296 .toString( 36 )297 .replace( /[^a-z]+/g, '' )298 .substr( 0, 5 ),299 ...( selectedPages && { selected_pages: selectedPages } ), // type is string300 ...( filters && { filters }), // type is object301 ...( metrics && { metrics }), // type is array302 ...( group_by && { group_by }), // type is array303 ...( currentView && { currentView }) // type is object304 };305 306 const queryString = buildQueryString( queryParams );307 const path = `burst/v1/data/${type}${glue()}${queryString}`;308 309 return await makeRequest( path, 'GET' );284 export const getData = async( type, startDate, endDate, range, args = {} ) => { 285 286 // Extract filters and metrics from args if they exist. 287 const { filters, metrics, group_by, currentView, selectedPages } = args; 288 289 // Combine all query parameters. 290 const queryParams = { 291 date_start: startDate, 292 date_end: endDate, 293 date_range: range, 294 nonce: burst_settings.burst_nonce, 295 should_load_ecommerce: burst_settings.shouldLoadEcommerce || false, 296 goal_id: args.goal_id, 297 token: Math.random() // nosemgrep 298 .toString( 36 ) 299 .replace( /[^a-z]+/g, '' ) 300 .substr( 0, 5 ), 301 ...( selectedPages && { selected_pages: selectedPages } ), // type is string 302 ...( filters && { filters }), // type is object 303 ...( metrics && { metrics }), // type is array 304 ...( group_by && { group_by }), // type is array 305 ...( currentView && { currentView }) // type is object 306 }; 307 308 const queryString = buildQueryString( queryParams ); 309 const path = `burst/v1/data/${type}${glue()}${queryString}`; 310 311 return await makeRequest( path, 'GET' ); 310 312 }; 311 313 -
burst-statistics/trunk/includes/Admin/Capability/class-capability.php
r3377993 r3406692 15 15 16 16 /** 17 * Get possible capability types. 18 * 19 * @return array List of possible capability types. 20 */ 21 private function get_possible_capabilities(): array { 22 return apply_filters( 'burst_possible_capability_types', [ 'view', 'manage' ] ); 23 } 24 25 /** 17 26 * Add capability to a user 18 27 */ 19 28 public static function add_capability( string $type = 'view', array $roles = [ 'administrator' ], bool $handle_subsites = true ): void { 20 $possible_capabilities = [ 'view', 'manage' ];29 $possible_capabilities = ( new self() )->get_possible_capabilities(); 21 30 if ( ! in_array( $type, $possible_capabilities, true ) ) { 22 31 return; -
burst-statistics/trunk/includes/Admin/Cron/class-cron.php
r3392751 r3406692 12 12 add_action( 'init', [ $this, 'schedule_cron' ], 10, 2 ); 13 13 add_action( 'cron_schedules', [ $this, 'filter_cron_schedules' ], 10, 2 ); 14 add_action( 'burst_every_ten_minutes', [ $this, 'test_hourly_cron' ] ); 14 15 add_action( 'burst_every_hour', [ $this, 'test_hourly_cron' ] ); 15 16 } … … 19 20 */ 20 21 public function test_hourly_cron(): void { 21 // This is just a test function to check if the hourly cron is working.22 // You can remove this function once you have verified that the cron is working.23 22 update_option( 'burst_last_cron_hit', time(), false ); 24 23 } … … 30 29 */ 31 30 public function schedule_cron(): void { 31 if ( ! wp_next_scheduled( 'burst_every_ten_minutes' ) ) { 32 wp_schedule_event( time(), 'burst_every_ten_minutes', 'burst_every_ten_minutes' ); 33 } 34 32 35 if ( ! wp_next_scheduled( 'burst_every_hour' ) ) { 33 36 wp_schedule_event( time(), 'burst_every_hour', 'burst_every_hour' ); … … 63 66 */ 64 67 public function filter_cron_schedules( array $schedules ): array { 65 $schedules['burst_daily'] = [68 $schedules['burst_daily'] = [ 66 69 'interval' => DAY_IN_SECONDS, 67 70 'display' => 'Once every day', 68 71 ]; 69 $schedules['burst_every_hour'] = [ 72 $schedules['burst_every_ten_minutes'] = [ 73 'interval' => 10 * MINUTE_IN_SECONDS, 74 'display' => 'Once every 10 minutes', 75 ]; 76 $schedules['burst_every_hour'] = [ 70 77 'interval' => HOUR_IN_SECONDS, 71 78 'display' => 'Once every hour', 72 79 ]; 73 $schedules['burst_weekly'] = [80 $schedules['burst_weekly'] = [ 74 81 'interval' => WEEK_IN_SECONDS, 75 82 'display' => 'Once every week', -
burst-statistics/trunk/includes/Admin/DB_Upgrade/class-db-upgrade.php
r3379991 r3406692 6 6 use Burst\Traits\Helper; 7 7 use Burst\Traits\Sanitize; 8 use Burst\Admin\Statistics\Summary;9 8 10 9 defined( 'ABSPATH' ) || die(); … … 180 179 $this->upgrade_strip_domain_names_from_entire_page_url(); 181 180 } 182 if ( 'summary_table' === $do_upgrade ) { 183 ( new Summary() )->upgrade_summary_table_alltime(); 184 } 181 185 182 if ( 'create_lookup_tables' === $do_upgrade ) { 186 183 $this->create_lookup_tables(); … … 258 255 ], 259 256 '1.7.0' => [ 260 'summary_table',261 257 'create_lookup_tables', 262 258 'init_lookup_ids', … … 790 786 791 787 global $wpdb; 792 788 $post_types = array_values( $post_types ); 793 789 $placeholders = implode( ',', array_fill( 0, count( $post_types ), '%s' ) ); 794 790 $sql = "SELECT COUNT(*) FROM {$wpdb->posts} -
burst-statistics/trunk/includes/Admin/Dashboard_Widget/build/index.asset.php
r3392751 r3406692 1 <?php return array('dependencies' => array('react', 'react-dom', 'wp-api-fetch', 'wp-date', 'wp-element', 'wp-i18n'), 'version' => ' e831432208968ee6bad8');1 <?php return array('dependencies' => array('react', 'react-dom', 'wp-api-fetch', 'wp-date', 'wp-element', 'wp-i18n'), 'version' => '35e955c7eb567ff2e15d'); -
burst-statistics/trunk/includes/Admin/Dashboard_Widget/build/index.js
r3392751 r3406692 1 (()=>{"use strict";var e,t,n={96:(e,t,n)=>{var r=n(609),i=Symbol.for("react.element"),o=Symbol.for("react.fragment"),a=Object.prototype.hasOwnProperty,s=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,o={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)a.call(t,r)&&!l.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===o[r]&&(o[r]=t[r]);return{$$typeof:i,type:e,key:c,ref:u,props:o,_owner:s.current}}t.Fragment=o,t.jsx=c,t.jsxs=c},338:(e,t,n)=>{var r=n(795);t.H=r.createRoot,r.hydrateRoot},428:(e,t,n)=>{e.exports=n(96)},493:(e,t,n)=>{var r=n(609),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=r.useState,a=r.useEffect,s=r.useLayoutEffect,l=r.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch(e){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=o({inst:{value:n,getSnapshot:t}}),i=r[0].inst,u=r[1];return s((function(){i.value=n,i.getSnapshot=t,c(i)&&u({inst:i})}),[e,n,t]),a((function(){return c(i)&&u({inst:i}),e((function(){c(i)&&u({inst:i})}))}),[e]),l(n),n};t.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:u},609:e=>{e.exports=window.React},795:e=>{e.exports=window.ReactDOM},888:(e,t,n)=>{e.exports=n(493)}},r={};function i(e){var t=r[e];if(void 0!==t)return t.exports;var o=r[e]={exports:{}};return n[e](o,o.exports,i),o.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,i.t=function(n,r){if(1&r&&(n=this(n)),8&r)return n;if("object"==typeof n&&n){if(4&r&&n.__esModule)return n;if(16&r&&"function"==typeof n.then)return n}var o=Object.create(null);i.r(o);var a={};e=e||[null,t({}),t([]),t(t)];for(var s=2&r&&n;"object"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach((e=>a[e]=()=>n[e]));return a.default=()=>n,i.d(o,a),o},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o=i(609),a=i.t(o,2);const s=window.wp.element,l=window.wp.i18n;function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function u(e,t){if(t.length<e)throw new TypeError(e+" argument"+(e>1?"s":"")+" required, but only "+t.length+" present")}function d(e){u(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||"object"===c(e)&&"[object Date]"===t?new Date(e.getTime()):"number"==typeof e||"[object Number]"===t?new Date(e):("string"!=typeof e&&"[object String]"!==t||"undefined"==typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn((new Error).stack)),new Date(NaN))}function h(e){u(1,arguments);var t=d(e);return t.setHours(0,0,0,0),t}function f(e){u(1,arguments);var t=d(e);return t.setHours(23,59,59,999),t}function p(e){if(null===e||!0===e||!1===e)return NaN;var t=Number(e);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)}function y(e,t){u(2,arguments);var n=d(e),r=p(t);return isNaN(r)?new Date(NaN):r?(n.setDate(n.getDate()+r),n):n}function m(e){u(1,arguments);var t=d(e);return t.setDate(1),t.setHours(0,0,0,0),t}function g(e,t){u(2,arguments);var n=d(e),r=p(t);if(isNaN(r))return new Date(NaN);if(!r)return n;var i=n.getDate(),o=new Date(n.getTime());return o.setMonth(n.getMonth()+r+1,0),i>=o.getDate()?o:(n.setFullYear(o.getFullYear(),o.getMonth(),i),n)}function v(e){u(1,arguments);var t=d(e),n=t.getMonth();return t.setFullYear(t.getFullYear(),n+1,0),t.setHours(23,59,59,999),t}function b(e){u(1,arguments);var t=d(e),n=new Date(0);return n.setFullYear(t.getFullYear(),0,1),n.setHours(0,0,0,0),n}function w(e,t){return u(2,arguments),g(e,12*p(t))}function x(e){u(1,arguments);var t=d(e),n=t.getFullYear();return t.setFullYear(n+1,0,0),t.setHours(23,59,59,999),t}function k(e=0){let t=Number(e);isNaN(t)&&(t=0);const n=Math.floor(t/1e3),r=Math.floor(n/3600),i=Math.floor((n-3600*r)/60),o=n-3600*r-60*i,a=e=>isNaN(e)?"00":String(e).padStart(2,"0");return 0===r?[i,o].map(a).join(":"):[r,i,o].map(a).join(":")}function E(e,t=1){return e=Number(e),isNaN(e)&&(e=0),e<1e3&&(t=0),new Intl.NumberFormat(void 0,{style:"decimal",notation:"compact",compactDisplay:"short",maximumFractionDigits:t}).format(e)}window.wp.date;const C=function(e=new Date){const t=-60*e.getTimezoneOffset(),n=Math.floor(e.getTime()/1e3)+3600*burst_settings.gmt_offset-t;return new Date(1e3*n)}(),M={today:{label:(0,l.__)("Today","burst-statistics"),range:()=>({startDate:h(C),endDate:f(C)})},yesterday:{label:(0,l.__)("Yesterday","burst-statistics"),range:()=>({startDate:h(y(C,-1)),endDate:f(y(C,-1))})},"last-7-days":{label:(0,l.__)("Last 7 days","burst-statistics"),range:()=>({startDate:h(y(C,-7)),endDate:f(y(C,-1))})},"last-30-days":{label:(0,l.__)("Last 30 days","burst-statistics"),range:()=>({startDate:h(y(C,-30)),endDate:f(y(C,-1))})},"last-90-days":{label:(0,l.__)("Last 90 days","burst-statistics"),range:()=>({startDate:h(y(C,-90)),endDate:f(y(C,-1))})},"last-month":{label:(0,l.__)("Last month","burst-statistics"),range:()=>({startDate:m(g(C,-1)),endDate:v(g(C,-1))})},"week-to-date":{label:(0,l.__)("Week to date","burst-statistics"),range:()=>({startDate:h(y(C,-C.getDay())),endDate:f(C)})},"month-to-date":{label:(0,l.__)("Month to date","burst-statistics"),range:()=>({startDate:m(C),endDate:f(C)})},"year-to-date":{label:(0,l.__)("Year to date","burst-statistics"),range:()=>({startDate:b(C),endDate:f(C)})},"last-year":{label:(0,l.__)("Last year","burst-statistics"),range:()=>({startDate:b(w(C,-1)),endDate:x(w(C,-1))})}},T=e=>{let t={};return Object.keys(M).filter((t=>e.includes(t))).forEach((e=>{t[e]={...M[e]}})),t},O=window.wp.apiFetch;var S=i.n(O);function R(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(n=R(e[t]))&&(r&&(r+=" "),r+=n);else for(t in e)e[t]&&(r&&(r+=" "),r+=t);return r}const D=function(){for(var e,t,n=0,r="";n<arguments.length;)(e=arguments[n++])&&(t=R(e))&&(r&&(r+=" "),r+=t);return r},P=e=>"number"==typeof e&&!isNaN(e),q=e=>"string"==typeof e,_=e=>"function"==typeof e,N=e=>q(e)||_(e)?e:null,A=e=>(0,o.isValidElement)(e)||q(e)||_(e)||P(e);function L(e){let{enter:t,exit:n,appendPosition:r=!1,collapse:i=!0,collapseDuration:a=300}=e;return function(e){let{children:s,position:l,preventExitTransition:c,done:u,nodeRef:d,isIn:h}=e;const f=r?`${t}--${l}`:t,p=r?`${n}--${l}`:n,y=(0,o.useRef)(0);return(0,o.useLayoutEffect)((()=>{const e=d.current,t=f.split(" "),n=r=>{r.target===d.current&&(e.dispatchEvent(new Event("d")),e.removeEventListener("animationend",n),e.removeEventListener("animationcancel",n),0===y.current&&"animationcancel"!==r.type&&e.classList.remove(...t))};e.classList.add(...t),e.addEventListener("animationend",n),e.addEventListener("animationcancel",n)}),[]),(0,o.useEffect)((()=>{const e=d.current,t=()=>{e.removeEventListener("animationend",t),i?function(e,t,n){void 0===n&&(n=300);const{scrollHeight:r,style:i}=e;requestAnimationFrame((()=>{i.minHeight="initial",i.height=r+"px",i.transition=`all ${n}ms`,requestAnimationFrame((()=>{i.height="0",i.padding="0",i.margin="0",setTimeout(t,n)}))}))}(e,u,a):u()};h||(c?t():(y.current=1,e.className+=` ${p}`,e.addEventListener("animationend",t)))}),[h]),o.createElement(o.Fragment,null,s)}}function j(e,t){return null!=e?{content:e.content,containerId:e.props.containerId,id:e.props.toastId,theme:e.props.theme,type:e.props.type,data:e.props.data||{},isLoading:e.props.isLoading,icon:e.props.icon,status:t}:{}}const F={list:new Map,emitQueue:new Map,on(e,t){return this.list.has(e)||this.list.set(e,[]),this.list.get(e).push(t),this},off(e,t){if(t){const n=this.list.get(e).filter((e=>e!==t));return this.list.set(e,n),this}return this.list.delete(e),this},cancelEmit(e){const t=this.emitQueue.get(e);return t&&(t.forEach(clearTimeout),this.emitQueue.delete(e)),this},emit(e){this.list.has(e)&&this.list.get(e).forEach((t=>{const n=setTimeout((()=>{t(...[].slice.call(arguments,1))}),0);this.emitQueue.has(e)||this.emitQueue.set(e,[]),this.emitQueue.get(e).push(n)}))}},I=e=>{let{theme:t,type:n,...r}=e;return o.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:"colored"===t?"currentColor":`var(--toastify-icon-color-${n})`,...r})},U={info:function(e){return o.createElement(I,{...e},o.createElement("path",{d:"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z"}))},warning:function(e){return o.createElement(I,{...e},o.createElement("path",{d:"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z"}))},success:function(e){return o.createElement(I,{...e},o.createElement("path",{d:"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z"}))},error:function(e){return o.createElement(I,{...e},o.createElement("path",{d:"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"}))},spinner:function(){return o.createElement("div",{className:"Toastify__spinner"})}};function z(e){const[,t]=(0,o.useReducer)((e=>e+1),0),[n,r]=(0,o.useState)([]),i=(0,o.useRef)(null),a=(0,o.useRef)(new Map).current,s=e=>-1!==n.indexOf(e),l=(0,o.useRef)({toastKey:1,displayedToast:0,count:0,queue:[],props:e,containerId:null,isToastActive:s,getToast:e=>a.get(e)}).current;function c(e){let{containerId:t}=e;const{limit:n}=l.props;!n||t&&l.containerId!==t||(l.count-=l.queue.length,l.queue=[])}function u(e){r((t=>null==e?[]:t.filter((t=>t!==e))))}function d(){const{toastContent:e,toastProps:t,staleId:n}=l.queue.shift();f(e,t,n)}function h(e,n){let{delay:r,staleId:s,...c}=n;if(!A(e)||function(e){return!i.current||l.props.enableMultiContainer&&e.containerId!==l.props.containerId||a.has(e.toastId)&&null==e.updateId}(c))return;const{toastId:h,updateId:p,data:y}=c,{props:m}=l,g=()=>u(h),v=null==p;v&&l.count++;const b={...m,style:m.toastStyle,key:l.toastKey++,...Object.fromEntries(Object.entries(c).filter((e=>{let[t,n]=e;return null!=n}))),toastId:h,updateId:p,data:y,closeToast:g,isIn:!1,className:N(c.className||m.toastClassName),bodyClassName:N(c.bodyClassName||m.bodyClassName),progressClassName:N(c.progressClassName||m.progressClassName),autoClose:!c.isLoading&&(w=c.autoClose,x=m.autoClose,!1===w||P(w)&&w>0?w:x),deleteToast(){const e=j(a.get(h),"removed");a.delete(h),F.emit(4,e);const n=l.queue.length;if(l.count=null==h?l.count-l.displayedToast:l.count-1,l.count<0&&(l.count=0),n>0){const e=null==h?l.props.limit:1;if(1===n||1===e)l.displayedToast++,d();else{const t=e>n?n:e;l.displayedToast=t;for(let e=0;e<t;e++)d()}}else t()}};var w,x;b.iconOut=function(e){let{theme:t,type:n,isLoading:r,icon:i}=e,a=null;const s={theme:t,type:n};return!1===i||(_(i)?a=i(s):(0,o.isValidElement)(i)?a=(0,o.cloneElement)(i,s):q(i)||P(i)?a=i:r?a=U.spinner():(e=>e in U)(n)&&(a=U[n](s))),a}(b),_(c.onOpen)&&(b.onOpen=c.onOpen),_(c.onClose)&&(b.onClose=c.onClose),b.closeButton=m.closeButton,!1===c.closeButton||A(c.closeButton)?b.closeButton=c.closeButton:!0===c.closeButton&&(b.closeButton=!A(m.closeButton)||m.closeButton);let k=e;(0,o.isValidElement)(e)&&!q(e.type)?k=(0,o.cloneElement)(e,{closeToast:g,toastProps:b,data:y}):_(e)&&(k=e({closeToast:g,toastProps:b,data:y})),m.limit&&m.limit>0&&l.count>m.limit&&v?l.queue.push({toastContent:k,toastProps:b,staleId:s}):P(r)?setTimeout((()=>{f(k,b,s)}),r):f(k,b,s)}function f(e,t,n){const{toastId:i}=t;n&&a.delete(n);const o={content:e,props:t};a.set(i,o),r((e=>[...e,i].filter((e=>e!==n)))),F.emit(4,j(o,null==o.props.updateId?"added":"updated"))}return(0,o.useEffect)((()=>(l.containerId=e.containerId,F.cancelEmit(3).on(0,h).on(1,(e=>i.current&&u(e))).on(5,c).emit(2,l),()=>{a.clear(),F.emit(3,l)})),[]),(0,o.useEffect)((()=>{l.props=e,l.isToastActive=s,l.displayedToast=n.length})),{getToastToRender:function(t){const n=new Map,r=Array.from(a.values());return e.newestOnTop&&r.reverse(),r.forEach((e=>{const{position:t}=e.props;n.has(t)||n.set(t,[]),n.get(t).push(e)})),Array.from(n,(e=>t(e[0],e[1])))},containerRef:i,isToastActive:s}}function H(e){return e.targetTouches&&e.targetTouches.length>=1?e.targetTouches[0].clientX:e.clientX}function Q(e){return e.targetTouches&&e.targetTouches.length>=1?e.targetTouches[0].clientY:e.clientY}function W(e){const[t,n]=(0,o.useState)(!1),[r,i]=(0,o.useState)(!1),a=(0,o.useRef)(null),s=(0,o.useRef)({start:0,x:0,y:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,boundingRect:null,didMove:!1}).current,l=(0,o.useRef)(e),{autoClose:c,pauseOnHover:u,closeToast:d,onClick:h,closeOnClick:f}=e;function p(t){if(e.draggable){"touchstart"===t.nativeEvent.type&&t.nativeEvent.preventDefault(),s.didMove=!1,document.addEventListener("mousemove",v),document.addEventListener("mouseup",b),document.addEventListener("touchmove",v),document.addEventListener("touchend",b);const n=a.current;s.canCloseOnClick=!0,s.canDrag=!0,s.boundingRect=n.getBoundingClientRect(),n.style.transition="",s.x=H(t.nativeEvent),s.y=Q(t.nativeEvent),"x"===e.draggableDirection?(s.start=s.x,s.removalDistance=n.offsetWidth*(e.draggablePercent/100)):(s.start=s.y,s.removalDistance=n.offsetHeight*(80===e.draggablePercent?1.5*e.draggablePercent:e.draggablePercent/100))}}function y(t){if(s.boundingRect){const{top:n,bottom:r,left:i,right:o}=s.boundingRect;"touchend"!==t.nativeEvent.type&&e.pauseOnHover&&s.x>=i&&s.x<=o&&s.y>=n&&s.y<=r?g():m()}}function m(){n(!0)}function g(){n(!1)}function v(n){const r=a.current;s.canDrag&&r&&(s.didMove=!0,t&&g(),s.x=H(n),s.y=Q(n),s.delta="x"===e.draggableDirection?s.x-s.start:s.y-s.start,s.start!==s.x&&(s.canCloseOnClick=!1),r.style.transform=`translate${e.draggableDirection}(${s.delta}px)`,r.style.opacity=""+(1-Math.abs(s.delta/s.removalDistance)))}function b(){document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",b),document.removeEventListener("touchmove",v),document.removeEventListener("touchend",b);const t=a.current;if(s.canDrag&&s.didMove&&t){if(s.canDrag=!1,Math.abs(s.delta)>s.removalDistance)return i(!0),void e.closeToast();t.style.transition="transform 0.2s, opacity 0.2s",t.style.transform=`translate${e.draggableDirection}(0)`,t.style.opacity="1"}}(0,o.useEffect)((()=>{l.current=e})),(0,o.useEffect)((()=>(a.current&&a.current.addEventListener("d",m,{once:!0}),_(e.onOpen)&&e.onOpen((0,o.isValidElement)(e.children)&&e.children.props),()=>{const e=l.current;_(e.onClose)&&e.onClose((0,o.isValidElement)(e.children)&&e.children.props)})),[]),(0,o.useEffect)((()=>(e.pauseOnFocusLoss&&(document.hasFocus()||g(),window.addEventListener("focus",m),window.addEventListener("blur",g)),()=>{e.pauseOnFocusLoss&&(window.removeEventListener("focus",m),window.removeEventListener("blur",g))})),[e.pauseOnFocusLoss]);const w={onMouseDown:p,onTouchStart:p,onMouseUp:y,onTouchEnd:y};return c&&u&&(w.onMouseEnter=g,w.onMouseLeave=m),f&&(w.onClick=e=>{h&&h(e),s.canCloseOnClick&&d()}),{playToast:m,pauseToast:g,isRunning:t,preventExitTransition:r,toastRef:a,eventHandlers:w}}function B(e){let{closeToast:t,theme:n,ariaLabel:r="close"}=e;return o.createElement("button",{className:`Toastify__close-button Toastify__close-button--${n}`,type:"button",onClick:e=>{e.stopPropagation(),t(e)},"aria-label":r},o.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},o.createElement("path",{fillRule:"evenodd",d:"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"})))}function $(e){let{delay:t,isRunning:n,closeToast:r,type:i="default",hide:a,className:s,style:l,controlledProgress:c,progress:u,rtl:d,isIn:h,theme:f}=e;const p=a||c&&0===u,y={...l,animationDuration:`${t}ms`,animationPlayState:n?"running":"paused",opacity:p?0:1};c&&(y.transform=`scaleX(${u})`);const m=D("Toastify__progress-bar",c?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${f}`,`Toastify__progress-bar--${i}`,{"Toastify__progress-bar--rtl":d}),g=_(s)?s({rtl:d,type:i,defaultClassName:m}):D(m,s);return o.createElement("div",{role:"progressbar","aria-hidden":p?"true":"false","aria-label":"notification timer",className:g,style:y,[c&&u>=1?"onTransitionEnd":"onAnimationEnd"]:c&&u<1?null:()=>{h&&r()}})}const Y=e=>{const{isRunning:t,preventExitTransition:n,toastRef:r,eventHandlers:i}=W(e),{closeButton:a,children:s,autoClose:l,onClick:c,type:u,hideProgressBar:d,closeToast:h,transition:f,position:p,className:y,style:m,bodyClassName:g,bodyStyle:v,progressClassName:b,progressStyle:w,updateId:x,role:k,progress:E,rtl:C,toastId:M,deleteToast:T,isIn:O,isLoading:S,iconOut:R,closeOnClick:P,theme:q}=e,N=D("Toastify__toast",`Toastify__toast-theme--${q}`,`Toastify__toast--${u}`,{"Toastify__toast--rtl":C},{"Toastify__toast--close-on-click":P}),A=_(y)?y({rtl:C,position:p,type:u,defaultClassName:N}):D(N,y),L=!!E||!l,j={closeToast:h,type:u,theme:q};let F=null;return!1===a||(F=_(a)?a(j):(0,o.isValidElement)(a)?(0,o.cloneElement)(a,j):B(j)),o.createElement(f,{isIn:O,done:T,position:p,preventExitTransition:n,nodeRef:r},o.createElement("div",{id:M,onClick:c,className:A,...i,style:m,ref:r},o.createElement("div",{...O&&{role:k},className:_(g)?g({type:u}):D("Toastify__toast-body",g),style:v},null!=R&&o.createElement("div",{className:D("Toastify__toast-icon",{"Toastify--animate-icon Toastify__zoom-enter":!S})},R),o.createElement("div",null,s)),F,o.createElement($,{...x&&!L?{key:`pb-${x}`}:{},rtl:C,theme:q,delay:l,isRunning:t,isIn:O,closeToast:h,hide:d,type:u,style:w,className:b,controlledProgress:L,progress:E||0})))},V=function(e,t){return void 0===t&&(t=!1),{enter:`Toastify--animate Toastify__${e}-enter`,exit:`Toastify--animate Toastify__${e}-exit`,appendPosition:t}},K=L(V("bounce",!0)),G=(L(V("slide",!0)),L(V("zoom")),L(V("flip")),(0,o.forwardRef)(((e,t)=>{const{getToastToRender:n,containerRef:r,isToastActive:i}=z(e),{className:a,style:s,rtl:l,containerId:c}=e;function u(e){const t=D("Toastify__toast-container",`Toastify__toast-container--${e}`,{"Toastify__toast-container--rtl":l});return _(a)?a({position:e,rtl:l,defaultClassName:t}):D(t,N(a))}return(0,o.useEffect)((()=>{t&&(t.current=r.current)}),[]),o.createElement("div",{ref:r,className:"Toastify",id:c},n(((e,t)=>{const n=t.length?{...s}:{...s,pointerEvents:"none"};return o.createElement("div",{className:u(e),style:n,key:`container-${e}`},t.map(((e,n)=>{let{content:r,props:a}=e;return o.createElement(Y,{...a,isIn:i(a.toastId),style:{...a.style,"--nth":n+1,"--len":t.length},key:`toast-${a.key}`},r)})))})))})));G.displayName="ToastContainer",G.defaultProps={position:"top-right",transition:K,autoClose:5e3,closeButton:B,pauseOnHover:!0,pauseOnFocusLoss:!0,closeOnClick:!0,draggable:!0,draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light"};let X,J=new Map,Z=[],ee=1;function te(){return""+ee++}function ne(e){return e&&(q(e.toastId)||P(e.toastId))?e.toastId:te()}function re(e,t){return J.size>0?F.emit(0,e,t):Z.push({content:e,options:t}),t.toastId}function ie(e,t){return{...t,type:t&&t.type||e,toastId:ne(t)}}function oe(e){return(t,n)=>re(t,ie(e,n))}function ae(e,t){return re(e,ie("default",t))}ae.loading=(e,t)=>re(e,ie("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...t})),ae.promise=function(e,t,n){let r,{pending:i,error:o,success:a}=t;i&&(r=q(i)?ae.loading(i,n):ae.loading(i.render,{...n,...i}));const s={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},l=(e,t,i)=>{if(null==t)return void ae.dismiss(r);const o={type:e,...s,...n,data:i},a=q(t)?{render:t}:t;return r?ae.update(r,{...o,...a}):ae(a.render,{...o,...a}),i},c=_(e)?e():e;return c.then((e=>l("success",a,e))).catch((e=>l("error",o,e))),c},ae.success=oe("success"),ae.info=oe("info"),ae.error=oe("error"),ae.warning=oe("warning"),ae.warn=ae.warning,ae.dark=(e,t)=>re(e,ie("default",{theme:"dark",...t})),ae.dismiss=e=>{J.size>0?F.emit(1,e):Z=Z.filter((t=>null!=e&&t.options.toastId!==e))},ae.clearWaitingQueue=function(e){return void 0===e&&(e={}),F.emit(5,e)},ae.isActive=e=>{let t=!1;return J.forEach((n=>{n.isToastActive&&n.isToastActive(e)&&(t=!0)})),t},ae.update=function(e,t){void 0===t&&(t={}),setTimeout((()=>{const n=function(e,t){let{containerId:n}=t;const r=J.get(n||X);return r&&r.getToast(e)}(e,t);if(n){const{props:r,content:i}=n,o={delay:100,...r,...t,toastId:t.toastId||e,updateId:te()};o.toastId!==e&&(o.staleId=e);const a=o.render||i;delete o.render,re(a,o)}}),0)},ae.done=e=>{ae.update(e,{progress:1})},ae.onChange=e=>(F.on(4,e),()=>{F.off(4,e)}),ae.POSITION={TOP_LEFT:"top-left",TOP_RIGHT:"top-right",TOP_CENTER:"top-center",BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right",BOTTOM_CENTER:"bottom-center"},ae.TYPE={INFO:"info",SUCCESS:"success",WARNING:"warning",ERROR:"error",DEFAULT:"default"},F.on(2,(e=>{X=e.containerId||e,J.set(X,e),Z.forEach((e=>{F.emit(0,e.content,e.options)})),Z=[]})).on(3,(e=>{J.delete(e.containerId||e),0===J.size&&F.off(0).off(1).off(5)}));let se="",le=0;const ce=(e,t=!1)=>{let n=(0,l.__)("Server error","burst-statistics");if(e=e.replace(/(<([^>]+)>)/gi,""),t){const e=t.split("?")[0].split("/"),r=e.indexOf("v1")+1;n=(0,l.__)("Server error in","burst-statistics")+" "+e[r]+"/"+e[r+1]}n+=": "+e;const r=Date.now();if(n===se&&r-le<3e3)return;se=n,le=r;const i=(0,o.createElement)("div",{title:(0,l.__)("Click to copy","burst-statistics"),onClick:()=>{navigator.clipboard.writeText(n),ae.success((0,l.__)("Error copied to clipboard","burst-statistics"))}},n);ae.error(i,{autoClose:15e3})},ue=async(e,t,n=null)=>{const r="GET"===e?`${he("ajax")}&rest_action=${t.replace("?","&")}`:he("ajax"),i={method:e,headers:{"Content-Type":"application/json; charset=UTF-8"} };"POST"===e&&(i.body=JSON.stringify({path:t,data:n},de));try{const e=await fetch(r,i);if(!e.ok)throw ce(!1,e.statusText),new Error(e.statusText);const t=await e.json();if(!t.data||!Object.prototype.hasOwnProperty.call(t.data,"request_success"))throw console.log("Ajax fallback request failed."),new Error("Invalid data error");return delete t.data.request_success,Promise.resolve(t.data)}catch(e){return Promise.reject(new Error("AJAX request failed"))}},de=(e,t)=>e?e&&e.includes("Control")?void 0:"object"==typeof t?JSON.parse(JSON.stringify(t,de)):t:t,he=e=>{let t;return t=void 0===e?burst_settings.site_url:burst_settings.admin_ajax_url,"https:"===window.location.protocol&&-1===t.indexOf("https://")?t.replace("http://","https://"):t},fe=async(e,t,n,r,i={})=>{const{filters:o,metrics:a,group_by:s,currentView:l,selectedPages:c}=i,u={date_start:t,date_end:n,date_range:r,nonce:burst_settings.burst_nonce,should_load_ecommerce:burst_settings.shouldLoadEcommerce||!1,goal_id:i.goal_id,token:Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,5),...c&&{selected_pages:c},...o&&{filters:o},...a&&{metrics:a},...s&&{group_by:s},...l&&{currentView:l}},d=(f=u,Object.keys(f).filter((e=>void 0!==f[e]&&null!==f[e])).map((e=>{const t=(e=>Array.isArray(e)?e:"object"==typeof e&&null!==e?JSON.stringify(e):e)(f[e]);return Array.isArray(t)?t.map((t=>`${encodeURIComponent(e)}[]=${encodeURIComponent(t)}`)).join("&"):`${encodeURIComponent(e)}=${encodeURIComponent(t)}`})).join("&")),h=`burst/v1/data/${e}${-1!==burst_settings.site_url.indexOf("?")?"&":"?"}${d}`;var f;return await(async(e,t="GET",n={})=>{let r={path:e,method:t};"POST"===t&&(n.nonce=burst_settings.burst_nonce,r.data=n);try{const e=await S()(r);if(!e.request_success)throw Object.prototype.hasOwnProperty.call(e,"message")?new Error(e.message):new Error("Received unexpected response from server. Please check if the Rest API is enabled.");if(e.code&&200!==e.code)throw new Error(e.message);return delete e.request_success,e}catch(i){try{return await ue(t,e,n)}catch{throw ce(i.message,r.path),i}}})(h,"GET")},pe=async e=>{const{startDate:t,endDate:n,range:r,filters:i}=e,{data:o}=await fe("live-visitors",t,n,r,{filters:i});return E(o?.visitors)};function ye(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),!1===n||!r.defaultPrevented)return t?.(r)}}function me(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function ge(...e){return t=>{let n=!1;const r=e.map((e=>{const r=me(e,t);return n||"function"!=typeof r||(n=!0),r}));if(n)return()=>{for(let t=0;t<r.length;t++){const n=r[t];"function"==typeof n?n():me(e[t],null)}}}}function ve(...e){return o.useCallback(ge(...e),e)}"undefined"==typeof window||!window.document||window.document.createElement;var be=i(428);function we(e,t=[]){let n=[];const r=()=>{const t=n.map((e=>o.createContext(e)));return function(n){const r=n?.[e]||t;return o.useMemo((()=>({[`__scope${e}`]:{...n,[e]:r}})),[n,r])}};return r.scopeName=e,[function(t,r){const i=o.createContext(r),a=n.length;n=[...n,r];const s=t=>{const{scope:n,children:r,...s}=t,l=n?.[e]?.[a]||i,c=o.useMemo((()=>s),Object.values(s));return(0,be.jsx)(l.Provider,{value:c,children:r})};return s.displayName=t+"Provider",[s,function(n,s){const l=s?.[e]?.[a]||i,c=o.useContext(l);if(c)return c;if(void 0!==r)return r;throw new Error(`\`${n}\` must be used within \`${t}\``)}]},xe(r,...t)]}function xe(...e){const t=e[0];if(1===e.length)return t;const n=()=>{const n=e.map((e=>({useScope:e(),scopeName:e.scopeName})));return function(e){const r=n.reduce(((t,{useScope:n,scopeName:r})=>({...t,...n(e)[`__scope${r}`]})),{});return o.useMemo((()=>({[`__scope${t.scopeName}`]:r})),[r])}};return n.scopeName=t.scopeName,n}var ke=i(795);function Ee(e){const t=o.forwardRef(((e,t)=>{const{children:n,...r}=e;if(o.isValidElement(n)){const e=function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}(n),i=function(e,t){const n={...t};for(const r in t){const i=e[r],o=t[r];/^on[A-Z]/.test(r)?i&&o?n[r]=(...e)=>{const t=o(...e);return i(...e),t}:i&&(n[r]=i):"style"===r?n[r]={...i,...o}:"className"===r&&(n[r]=[i,o].filter(Boolean).join(" "))}return{...e,...n}}(r,n.props);return n.type!==o.Fragment&&(i.ref=t?ge(t,e):e),o.cloneElement(n,i)}return o.Children.count(n)>1?o.Children.only(null):null}));return t.displayName=`${e}.SlotClone`,t}var Ce=Symbol("radix.slottable");function Me(e){return o.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===Ce}var Te=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce(((e,t)=>{const n=function(e){const t=Ee(e),n=o.forwardRef(((e,n)=>{const{children:r,...i}=e,a=o.Children.toArray(r),s=a.find(Me);if(s){const e=s.props.children,r=a.map((t=>t===s?o.Children.count(e)>1?o.Children.only(null):o.isValidElement(e)?e.props.children:null:t));return(0,be.jsx)(t,{...i,ref:n,children:o.isValidElement(e)?o.cloneElement(e,void 0,r):null})}return(0,be.jsx)(t,{...i,ref:n,children:r})}));return n.displayName=`${e}.Slot`,n}(`Primitive.${t}`),r=o.forwardRef(((e,r)=>{const{asChild:i,...o}=e,a=i?n:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,be.jsx)(a,{...o,ref:r})}));return r.displayName=`Primitive.${t}`,{...e,[t]:r}}),{});function Oe(e){const t=o.useRef(e);return o.useEffect((()=>{t.current=e})),o.useMemo((()=>(...e)=>t.current?.(...e)),[])}var Se,Re="dismissableLayer.update",De=o.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Pe=o.forwardRef(((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:s,onDismiss:l,...c}=e,u=o.useContext(De),[d,h]=o.useState(null),f=d?.ownerDocument??globalThis?.document,[,p]=o.useState({}),y=ve(t,(e=>h(e))),m=Array.from(u.layers),[g]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),v=m.indexOf(g),b=d?m.indexOf(d):-1,w=u.layersWithOutsidePointerEventsDisabled.size>0,x=b>=v,k=function(e,t=globalThis?.document){const n=Oe(e),r=o.useRef(!1),i=o.useRef((()=>{}));return o.useEffect((()=>{const e=e=>{if(e.target&&!r.current){let r=function(){_e("dismissableLayer.pointerDownOutside",n,o,{discrete:!0})};const o={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",i.current),i.current=r,t.addEventListener("click",i.current,{once:!0})):r()}else t.removeEventListener("click",i.current);r.current=!1},o=window.setTimeout((()=>{t.addEventListener("pointerdown",e)}),0);return()=>{window.clearTimeout(o),t.removeEventListener("pointerdown",e),t.removeEventListener("click",i.current)}}),[t,n]),{onPointerDownCapture:()=>r.current=!0}}((e=>{const t=e.target,n=[...u.branches].some((e=>e.contains(t)));x&&!n&&(i?.(e),s?.(e),e.defaultPrevented||l?.())}),f),E=function(e,t=globalThis?.document){const n=Oe(e),r=o.useRef(!1);return o.useEffect((()=>{const e=e=>{e.target&&!r.current&&_e("dismissableLayer.focusOutside",n,{originalEvent:e},{discrete:!1})};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)}),[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}((e=>{const t=e.target;[...u.branches].some((e=>e.contains(t)))||(a?.(e),s?.(e),e.defaultPrevented||l?.())}),f);return function(e,t=globalThis?.document){const n=Oe(e);o.useEffect((()=>{const e=e=>{"Escape"===e.key&&n(e)};return t.addEventListener("keydown",e,{capture:!0}),()=>t.removeEventListener("keydown",e,{capture:!0})}),[n,t])}((e=>{b===u.layers.size-1&&(r?.(e),!e.defaultPrevented&&l&&(e.preventDefault(),l()))}),f),o.useEffect((()=>{if(d)return n&&(0===u.layersWithOutsidePointerEventsDisabled.size&&(Se=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),qe(),()=>{n&&1===u.layersWithOutsidePointerEventsDisabled.size&&(f.body.style.pointerEvents=Se)}}),[d,f,n,u]),o.useEffect((()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),qe())}),[d,u]),o.useEffect((()=>{const e=()=>p({});return document.addEventListener(Re,e),()=>document.removeEventListener(Re,e)}),[]),(0,be.jsx)(Te.div,{...c,ref:y,style:{pointerEvents:w?x?"auto":"none":void 0,...e.style},onFocusCapture:ye(e.onFocusCapture,E.onFocusCapture),onBlurCapture:ye(e.onBlurCapture,E.onBlurCapture),onPointerDownCapture:ye(e.onPointerDownCapture,k.onPointerDownCapture)})}));function qe(){const e=new CustomEvent(Re);document.dispatchEvent(e)}function _e(e,t,n,{discrete:r}){const i=n.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?function(e,t){e&&ke.flushSync((()=>e.dispatchEvent(t)))}(i,o):i.dispatchEvent(o)}Pe.displayName="DismissableLayer",o.forwardRef(((e,t)=>{const n=o.useContext(De),r=o.useRef(null),i=ve(t,r);return o.useEffect((()=>{const e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}}),[n.branches]),(0,be.jsx)(Te.div,{...e,ref:i})})).displayName="DismissableLayerBranch";var Ne=globalThis?.document?o.useLayoutEffect:()=>{},Ae=a[" useId ".trim().toString()]||(()=>{}),Le=0;const je=["top","right","bottom","left"],Fe=Math.min,Ie=Math.max,Ue=Math.round,ze=Math.floor,He=e=>({x:e,y:e}),Qe={left:"right",right:"left",bottom:"top",top:"bottom"},We={start:"end",end:"start"};function Be(e,t,n){return Ie(e,Fe(t,n))}function $e(e,t){return"function"==typeof e?e(t):e}function Ye(e){return e.split("-")[0]}function Ve(e){return e.split("-")[1]}function Ke(e){return"x"===e?"y":"x"}function Ge(e){return"y"===e?"height":"width"}const Xe=new Set(["top","bottom"]);function Je(e){return Xe.has(Ye(e))?"y":"x"}function Ze(e){return Ke(Je(e))}function et(e){return e.replace(/start|end/g,(e=>We[e]))}const tt=["left","right"],nt=["right","left"],rt=["top","bottom"],it=["bottom","top"];function ot(e){return e.replace(/left|right|bottom|top/g,(e=>Qe[e]))}function at(e){return"number"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}function st(e){const{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function lt(e,t,n){let{reference:r,floating:i}=e;const o=Je(t),a=Ze(t),s=Ge(a),l=Ye(t),c="y"===o,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,h=r[s]/2-i[s]/2;let f;switch(l){case"top":f={x:u,y:r.y-i.height};break;case"bottom":f={x:u,y:r.y+r.height};break;case"right":f={x:r.x+r.width,y:d};break;case"left":f={x:r.x-i.width,y:d};break;default:f={x:r.x,y:r.y}}switch(Ve(t)){case"start":f[a]-=h*(n&&c?-1:1);break;case"end":f[a]+=h*(n&&c?-1:1)}return f}async function ct(e,t){var n;void 0===t&&(t={});const{x:r,y:i,platform:o,rects:a,elements:s,strategy:l}=e,{boundary:c="clippingAncestors",rootBoundary:u="viewport",elementContext:d="floating",altBoundary:h=!1,padding:f=0}=$e(t,e),p=at(f),y=s[h?"floating"===d?"reference":"floating":d],m=st(await o.getClippingRect({element:null==(n=await(null==o.isElement?void 0:o.isElement(y)))||n?y:y.contextElement||await(null==o.getDocumentElement?void 0:o.getDocumentElement(s.floating)),boundary:c,rootBoundary:u,strategy:l})),g="floating"===d?{x:r,y:i,width:a.floating.width,height:a.floating.height}:a.reference,v=await(null==o.getOffsetParent?void 0:o.getOffsetParent(s.floating)),b=await(null==o.isElement?void 0:o.isElement(v))&&await(null==o.getScale?void 0:o.getScale(v))||{x:1,y:1},w=st(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:g,offsetParent:v,strategy:l}):g);return{top:(m.top-w.top+p.top)/b.y,bottom:(w.bottom-m.bottom+p.bottom)/b.y,left:(m.left-w.left+p.left)/b.x,right:(w.right-m.right+p.right)/b.x}}function ut(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function dt(e){return je.some((t=>e[t]>=0))}const ht=new Set(["left","top"]);function ft(){return"undefined"!=typeof window}function pt(e){return gt(e)?(e.nodeName||"").toLowerCase():"#document"}function yt(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function mt(e){var t;return null==(t=(gt(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function gt(e){return!!ft()&&(e instanceof Node||e instanceof yt(e).Node)}function vt(e){return!!ft()&&(e instanceof Element||e instanceof yt(e).Element)}function bt(e){return!!ft()&&(e instanceof HTMLElement||e instanceof yt(e).HTMLElement)}function wt(e){return!(!ft()||"undefined"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof yt(e).ShadowRoot)}const xt=new Set(["inline","contents"]);function kt(e){const{overflow:t,overflowX:n,overflowY:r,display:i}=Nt(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!xt.has(i)}const Et=new Set(["table","td","th"]);function Ct(e){return Et.has(pt(e))}const Mt=[":popover-open",":modal"];function Tt(e){return Mt.some((t=>{try{return e.matches(t)}catch(e){return!1}}))}const Ot=["transform","translate","scale","rotate","perspective"],St=["transform","translate","scale","rotate","perspective","filter"],Rt=["paint","layout","strict","content"];function Dt(e){const t=Pt(),n=vt(e)?Nt(e):e;return Ot.some((e=>!!n[e]&&"none"!==n[e]))||!!n.containerType&&"normal"!==n.containerType||!t&&!!n.backdropFilter&&"none"!==n.backdropFilter||!t&&!!n.filter&&"none"!==n.filter||St.some((e=>(n.willChange||"").includes(e)))||Rt.some((e=>(n.contain||"").includes(e)))}function Pt(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}const qt=new Set(["html","body","#document"]);function _t(e){return qt.has(pt(e))}function Nt(e){return yt(e).getComputedStyle(e)}function At(e){return vt(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Lt(e){if("html"===pt(e))return e;const t=e.assignedSlot||e.parentNode||wt(e)&&e.host||mt(e);return wt(t)?t.host:t}function jt(e){const t=Lt(e);return _t(t)?e.ownerDocument?e.ownerDocument.body:e.body:bt(t)&&kt(t)?t:jt(t)}function Ft(e,t,n){var r;void 0===t&&(t=[]),void 0===n&&(n=!0);const i=jt(e),o=i===(null==(r=e.ownerDocument)?void 0:r.body),a=yt(i);if(o){const e=It(a);return t.concat(a,a.visualViewport||[],kt(i)?i:[],e&&n?Ft(e):[])}return t.concat(i,Ft(i,[],n))}function It(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ut(e){const t=Nt(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const i=bt(e),o=i?e.offsetWidth:n,a=i?e.offsetHeight:r,s=Ue(n)!==o||Ue(r)!==a;return s&&(n=o,r=a),{width:n,height:r,$:s}}function zt(e){return vt(e)?e:e.contextElement}function Ht(e){const t=zt(e);if(!bt(t))return He(1);const n=t.getBoundingClientRect(),{width:r,height:i,$:o}=Ut(t);let a=(o?Ue(n.width):n.width)/r,s=(o?Ue(n.height):n.height)/i;return a&&Number.isFinite(a)||(a=1),s&&Number.isFinite(s)||(s=1),{x:a,y:s}}const Qt=He(0);function Wt(e){const t=yt(e);return Pt()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:Qt}function Bt(e,t,n,r){void 0===t&&(t=!1),void 0===n&&(n=!1);const i=e.getBoundingClientRect(),o=zt(e);let a=He(1);t&&(r?vt(r)&&(a=Ht(r)):a=Ht(e));const s=function(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==yt(e))&&t}(o,n,r)?Wt(o):He(0);let l=(i.left+s.x)/a.x,c=(i.top+s.y)/a.y,u=i.width/a.x,d=i.height/a.y;if(o){const e=yt(o),t=r&&vt(r)?yt(r):r;let n=e,i=It(n);for(;i&&r&&t!==n;){const e=Ht(i),t=i.getBoundingClientRect(),r=Nt(i),o=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,a=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;l*=e.x,c*=e.y,u*=e.x,d*=e.y,l+=o,c+=a,n=yt(i),i=It(n)}}return st({width:u,height:d,x:l,y:c})}function $t(e,t){const n=At(e).scrollLeft;return t?t.left+n:Bt(mt(e)).left+n}function Yt(e,t){const n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-$t(e,n),y:n.top+t.scrollTop}}const Vt=new Set(["absolute","fixed"]);function Kt(e,t,n){let r;if("viewport"===t)r=function(e,t){const n=yt(e),r=mt(e),i=n.visualViewport;let o=r.clientWidth,a=r.clientHeight,s=0,l=0;if(i){o=i.width,a=i.height;const e=Pt();(!e||e&&"fixed"===t)&&(s=i.offsetLeft,l=i.offsetTop)}const c=$t(r);if(c<=0){const e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i="CSS1Compat"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,a=Math.abs(r.clientWidth-t.clientWidth-i);a<=25&&(o-=a)}else c<=25&&(o+=c);return{width:o,height:a,x:s,y:l}}(e,n);else if("document"===t)r=function(e){const t=mt(e),n=At(e),r=e.ownerDocument.body,i=Ie(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),o=Ie(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let a=-n.scrollLeft+$t(e);const s=-n.scrollTop;return"rtl"===Nt(r).direction&&(a+=Ie(t.clientWidth,r.clientWidth)-i),{width:i,height:o,x:a,y:s}}(mt(e));else if(vt(t))r=function(e,t){const n=Bt(e,!0,"fixed"===t),r=n.top+e.clientTop,i=n.left+e.clientLeft,o=bt(e)?Ht(e):He(1);return{width:e.clientWidth*o.x,height:e.clientHeight*o.y,x:i*o.x,y:r*o.y}}(t,n);else{const n=Wt(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return st(r)}function Gt(e,t){const n=Lt(e);return!(n===t||!vt(n)||_t(n))&&("fixed"===Nt(n).position||Gt(n,t))}function Xt(e,t,n){const r=bt(t),i=mt(t),o="fixed"===n,a=Bt(e,!0,o,t);let s={scrollLeft:0,scrollTop:0};const l=He(0);function c(){l.x=$t(i)}if(r||!r&&!o)if(("body"!==pt(t)||kt(i))&&(s=At(t)),r){const e=Bt(t,!0,o,t);l.x=e.x+t.clientLeft,l.y=e.y+t.clientTop}else i&&c();o&&!r&&i&&c();const u=!i||r||o?He(0):Yt(i,s);return{x:a.left+s.scrollLeft-l.x-u.x,y:a.top+s.scrollTop-l.y-u.y,width:a.width,height:a.height}}function Jt(e){return"static"===Nt(e).position}function Zt(e,t){if(!bt(e)||"fixed"===Nt(e).position)return null;if(t)return t(e);let n=e.offsetParent;return mt(e)===n&&(n=n.ownerDocument.body),n}function en(e,t){const n=yt(e);if(Tt(e))return n;if(!bt(e)){let t=Lt(e);for(;t&&!_t(t);){if(vt(t)&&!Jt(t))return t;t=Lt(t)}return n}let r=Zt(e,t);for(;r&&Ct(r)&&Jt(r);)r=Zt(r,t);return r&&_t(r)&&Jt(r)&&!Dt(r)?n:r||function(e){let t=Lt(e);for(;bt(t)&&!_t(t);){if(Dt(t))return t;if(Tt(t))return null;t=Lt(t)}return null}(e)||n}const tn={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e;const o="fixed"===i,a=mt(r),s=!!t&&Tt(t.floating);if(r===a||s&&o)return n;let l={scrollLeft:0,scrollTop:0},c=He(1);const u=He(0),d=bt(r);if((d||!d&&!o)&&(("body"!==pt(r)||kt(a))&&(l=At(r)),bt(r))){const e=Bt(r);c=Ht(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}const h=!a||d||o?He(0):Yt(a,l);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-l.scrollLeft*c.x+u.x+h.x,y:n.y*c.y-l.scrollTop*c.y+u.y+h.y}},getDocumentElement:mt,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e;const o=[..."clippingAncestors"===n?Tt(t)?[]:function(e,t){const n=t.get(e);if(n)return n;let r=Ft(e,[],!1).filter((e=>vt(e)&&"body"!==pt(e))),i=null;const o="fixed"===Nt(e).position;let a=o?Lt(e):e;for(;vt(a)&&!_t(a);){const t=Nt(a),n=Dt(a);n||"fixed"!==t.position||(i=null),(o?!n&&!i:!n&&"static"===t.position&&i&&Vt.has(i.position)||kt(a)&&!n&&Gt(e,a))?r=r.filter((e=>e!==a)):i=t,a=Lt(a)}return t.set(e,r),r}(t,this._c):[].concat(n),r],a=o[0],s=o.reduce(((e,n)=>{const r=Kt(t,n,i);return e.top=Ie(r.top,e.top),e.right=Fe(r.right,e.right),e.bottom=Fe(r.bottom,e.bottom),e.left=Ie(r.left,e.left),e}),Kt(t,a,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}},getOffsetParent:en,getElementRects:async function(e){const t=this.getOffsetParent||en,n=this.getDimensions,r=await n(e.floating);return{reference:Xt(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:n}=Ut(e);return{width:t,height:n}},getScale:Ht,isElement:vt,isRTL:function(e){return"rtl"===Nt(e).direction}};function nn(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}const rn=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:i,y:o,placement:a,middlewareData:s}=t,l=await async function(e,t){const{placement:n,platform:r,elements:i}=e,o=await(null==r.isRTL?void 0:r.isRTL(i.floating)),a=Ye(n),s=Ve(n),l="y"===Je(n),c=ht.has(a)?-1:1,u=o&&l?-1:1,d=$e(t,e);let{mainAxis:h,crossAxis:f,alignmentAxis:p}="number"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&"number"==typeof p&&(f="end"===s?-1*p:p),l?{x:f*u,y:h*c}:{x:h*c,y:f*u}}(t,e);return a===(null==(n=s.offset)?void 0:n.placement)&&null!=(r=s.arrow)&&r.alignmentOffset?{}:{x:i+l.x,y:o+l.y,data:{...l,placement:a}}}}},on=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:i}=t,{mainAxis:o=!0,crossAxis:a=!1,limiter:s={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=$e(e,t),c={x:n,y:r},u=await ct(t,l),d=Je(Ye(i)),h=Ke(d);let f=c[h],p=c[d];if(o){const e="y"===h?"bottom":"right";f=Be(f+u["y"===h?"top":"left"],f,f-u[e])}if(a){const e="y"===d?"bottom":"right";p=Be(p+u["y"===d?"top":"left"],p,p-u[e])}const y=s.fn({...t,[h]:f,[d]:p});return{...y,data:{x:y.x-n,y:y.y-r,enabled:{[h]:o,[d]:a}}}}}},an=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n,r;const{placement:i,middlewareData:o,rects:a,initialPlacement:s,platform:l,elements:c}=t,{mainAxis:u=!0,crossAxis:d=!0,fallbackPlacements:h,fallbackStrategy:f="bestFit",fallbackAxisSideDirection:p="none",flipAlignment:y=!0,...m}=$e(e,t);if(null!=(n=o.arrow)&&n.alignmentOffset)return{};const g=Ye(i),v=Je(s),b=Ye(s)===s,w=await(null==l.isRTL?void 0:l.isRTL(c.floating)),x=h||(b||!y?[ot(s)]:function(e){const t=ot(e);return[et(e),t,et(t)]}(s)),k="none"!==p;!h&&k&&x.push(...function(e,t,n,r){const i=Ve(e);let o=function(e,t,n){switch(e){case"top":case"bottom":return n?t?nt:tt:t?tt:nt;case"left":case"right":return t?rt:it;default:return[]}}(Ye(e),"start"===n,r);return i&&(o=o.map((e=>e+"-"+i)),t&&(o=o.concat(o.map(et)))),o}(s,y,p,w));const E=[s,...x],C=await ct(t,m),M=[];let T=(null==(r=o.flip)?void 0:r.overflows)||[];if(u&&M.push(C[g]),d){const e=function(e,t,n){void 0===n&&(n=!1);const r=Ve(e),i=Ze(e),o=Ge(i);let a="x"===i?r===(n?"end":"start")?"right":"left":"start"===r?"bottom":"top";return t.reference[o]>t.floating[o]&&(a=ot(a)),[a,ot(a)]}(i,a,w);M.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:i,overflows:M}],!M.every((e=>e<=0))){var O,S;const e=((null==(O=o.flip)?void 0:O.index)||0)+1,t=E[e];if(t&&("alignment"!==d||v===Je(t)||T.every((e=>Je(e.placement)!==v||e.overflows[0]>0))))return{data:{index:e,overflows:T},reset:{placement:t}};let n=null==(S=T.filter((e=>e.overflows[0]<=0)).sort(((e,t)=>e.overflows[1]-t.overflows[1]))[0])?void 0:S.placement;if(!n)switch(f){case"bestFit":{var R;const e=null==(R=T.filter((e=>{if(k){const t=Je(e.placement);return t===v||"y"===t}return!0})).map((e=>[e.placement,e.overflows.filter((e=>e>0)).reduce(((e,t)=>e+t),0)])).sort(((e,t)=>e[1]-t[1]))[0])?void 0:R[0];e&&(n=e);break}case"initialPlacement":n=s}if(i!==n)return{reset:{placement:n}}}return{}}}},sn=function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){var n,r;const{placement:i,rects:o,platform:a,elements:s}=t,{apply:l=()=>{},...c}=$e(e,t),u=await ct(t,c),d=Ye(i),h=Ve(i),f="y"===Je(i),{width:p,height:y}=o.floating;let m,g;"top"===d||"bottom"===d?(m=d,g=h===(await(null==a.isRTL?void 0:a.isRTL(s.floating))?"start":"end")?"left":"right"):(g=d,m="end"===h?"top":"bottom");const v=y-u.top-u.bottom,b=p-u.left-u.right,w=Fe(y-u[m],v),x=Fe(p-u[g],b),k=!t.middlewareData.shift;let E=w,C=x;if(null!=(n=t.middlewareData.shift)&&n.enabled.x&&(C=b),null!=(r=t.middlewareData.shift)&&r.enabled.y&&(E=v),k&&!h){const e=Ie(u.left,0),t=Ie(u.right,0),n=Ie(u.top,0),r=Ie(u.bottom,0);f?C=p-2*(0!==e||0!==t?e+t:Ie(u.left,u.right)):E=y-2*(0!==n||0!==r?n+r:Ie(u.top,u.bottom))}await l({...t,availableWidth:C,availableHeight:E});const M=await a.getDimensions(s.floating);return p!==M.width||y!==M.height?{reset:{rects:!0}}:{}}}},ln=function(e){return void 0===e&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:r="referenceHidden",...i}=$e(e,t);switch(r){case"referenceHidden":{const e=ut(await ct(t,{...i,elementContext:"reference"}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:dt(e)}}}case"escaped":{const e=ut(await ct(t,{...i,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:dt(e)}}}default:return{}}}}},cn=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:i,rects:o,platform:a,elements:s,middlewareData:l}=t,{element:c,padding:u=0}=$e(e,t)||{};if(null==c)return{};const d=at(u),h={x:n,y:r},f=Ze(i),p=Ge(f),y=await a.getDimensions(c),m="y"===f,g=m?"top":"left",v=m?"bottom":"right",b=m?"clientHeight":"clientWidth",w=o.reference[p]+o.reference[f]-h[f]-o.floating[p],x=h[f]-o.reference[f],k=await(null==a.getOffsetParent?void 0:a.getOffsetParent(c));let E=k?k[b]:0;E&&await(null==a.isElement?void 0:a.isElement(k))||(E=s.floating[b]||o.floating[p]);const C=w/2-x/2,M=E/2-y[p]/2-1,T=Fe(d[g],M),O=Fe(d[v],M),S=T,R=E-y[p]-O,D=E/2-y[p]/2+C,P=Be(S,D,R),q=!l.arrow&&null!=Ve(i)&&D!==P&&o.reference[p]/2-(D<S?T:O)-y[p]/2<0,_=q?D<S?D-S:D-R:0;return{[f]:h[f]+_,data:{[f]:P,centerOffset:D-P-_,...q&&{alignmentOffset:_}},reset:q}}}),un=function(e){return void 0===e&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:i,rects:o,middlewareData:a}=t,{offset:s=0,mainAxis:l=!0,crossAxis:c=!0}=$e(e,t),u={x:n,y:r},d=Je(i),h=Ke(d);let f=u[h],p=u[d];const y=$e(s,t),m="number"==typeof y?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(l){const e="y"===h?"height":"width",t=o.reference[h]-o.floating[e]+m.mainAxis,n=o.reference[h]+o.reference[e]-m.mainAxis;f<t?f=t:f>n&&(f=n)}if(c){var g,v;const e="y"===h?"width":"height",t=ht.has(Ye(i)),n=o.reference[d]-o.floating[e]+(t&&(null==(g=a.offset)?void 0:g[d])||0)+(t?0:m.crossAxis),r=o.reference[d]+o.reference[e]+(t?0:(null==(v=a.offset)?void 0:v[d])||0)-(t?m.crossAxis:0);p<n?p=n:p>r&&(p=r)}return{[h]:f,[d]:p}}}},dn=(e,t,n)=>{const r=new Map,i={platform:tn,...n},o={...i.platform,_c:r};return(async(e,t,n)=>{const{placement:r="bottom",strategy:i="absolute",middleware:o=[],platform:a}=n,s=o.filter(Boolean),l=await(null==a.isRTL?void 0:a.isRTL(t));let c=await a.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=lt(c,r,l),h=r,f={},p=0;for(let n=0;n<s.length;n++){const{name:o,fn:y}=s[n],{x:m,y:g,data:v,reset:b}=await y({x:u,y:d,initialPlacement:r,placement:h,strategy:i,middlewareData:f,rects:c,platform:a,elements:{reference:e,floating:t}});u=null!=m?m:u,d=null!=g?g:d,f={...f,[o]:{...f[o],...v}},b&&p<=50&&(p++,"object"==typeof b&&(b.placement&&(h=b.placement),b.rects&&(c=!0===b.rects?await a.getElementRects({reference:e,floating:t,strategy:i}):b.rects),({x:u,y:d}=lt(c,h,l))),n=-1)}return{x:u,y:d,placement:h,strategy:i,middlewareData:f}})(e,t,{...i,platform:o})};var hn="undefined"!=typeof document?o.useLayoutEffect:function(){};function fn(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;0!==r--;)if(!fn(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;0!==r--;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;0!==r--;){const n=i[r];if(!("_owner"===n&&e.$$typeof||fn(e[n],t[n])))return!1}return!0}return e!=e&&t!=t}function pn(e){return"undefined"==typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function yn(e,t){const n=pn(e);return Math.round(t*n)/n}function mn(e){const t=o.useRef(e);return hn((()=>{t.current=e})),t}const gn=e=>({name:"arrow",options:e,fn(t){const{element:n,padding:r}="function"==typeof e?e(t):e;return n&&(i=n,{}.hasOwnProperty.call(i,"current"))?null!=n.current?cn({element:n.current,padding:r}).fn(t):{}:n?cn({element:n,padding:r}).fn(t):{};var i}}),vn=(e,t)=>({...on(e),options:[e,t]}),bn=(e,t)=>({...un(e),options:[e,t]}),wn=(e,t)=>({...an(e),options:[e,t]}),xn=(e,t)=>({...sn(e),options:[e,t]}),kn=(e,t)=>({...ln(e),options:[e,t]}),En=(e,t)=>({...gn(e),options:[e,t]});var Cn=o.forwardRef(((e,t)=>{const{children:n,width:r=10,height:i=5,...o}=e;return(0,be.jsx)(Te.svg,{...o,ref:t,width:r,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:(0,be.jsx)("polygon",{points:"0,0 30,0 15,10"})})}));Cn.displayName="Arrow";var Mn=Cn,Tn="Popper",[On,Sn]=we(Tn),[Rn,Dn]=On(Tn),Pn=e=>{const{__scopePopper:t,children:n}=e,[r,i]=o.useState(null);return(0,be.jsx)(Rn,{scope:t,anchor:r,onAnchorChange:i,children:n})};Pn.displayName=Tn;var qn="PopperAnchor",Nn=o.forwardRef(((e,t)=>{const{__scopePopper:n,virtualRef:r,...i}=e,a=Dn(qn,n),s=o.useRef(null),l=ve(t,s),c=o.useRef(null);return o.useEffect((()=>{const e=c.current;c.current=r?.current||s.current,e!==c.current&&a.onAnchorChange(c.current)})),r?null:(0,be.jsx)(Te.div,{...i,ref:l})}));Nn.displayName=qn;var An="PopperContent",[Ln,jn]=On(An),Fn=o.forwardRef(((e,t)=>{const{__scopePopper:n,side:r="bottom",sideOffset:i=0,align:a="center",alignOffset:s=0,arrowPadding:l=0,avoidCollisions:c=!0,collisionBoundary:u=[],collisionPadding:d=0,sticky:h="partial",hideWhenDetached:f=!1,updatePositionStrategy:p="optimized",onPlaced:y,...m}=e,g=Dn(An,n),[v,b]=o.useState(null),w=ve(t,(e=>b(e))),[x,k]=o.useState(null),E=function(e){const[t,n]=o.useState(void 0);return Ne((()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const t=new ResizeObserver((t=>{if(!Array.isArray(t))return;if(!t.length)return;const r=t[0];let i,o;if("borderBoxSize"in r){const e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,o=t.blockSize}else i=e.offsetWidth,o=e.offsetHeight;n({width:i,height:o})}));return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}n(void 0)}),[e]),t}(x),C=E?.width??0,M=E?.height??0,T=r+("center"!==a?"-"+a:""),O="number"==typeof d?d:{top:0,right:0,bottom:0,left:0,...d},S=Array.isArray(u)?u:[u],R=S.length>0,D={padding:O,boundary:S.filter(Hn),altBoundary:R},{refs:P,floatingStyles:q,placement:_,isPositioned:N,middlewareData:A}=function(e){void 0===e&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:i,elements:{reference:a,floating:s}={},transform:l=!0,whileElementsMounted:c,open:u}=e,[d,h]=o.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=o.useState(r);fn(f,r)||p(r);const[y,m]=o.useState(null),[g,v]=o.useState(null),b=o.useCallback((e=>{e!==E.current&&(E.current=e,m(e))}),[]),w=o.useCallback((e=>{e!==C.current&&(C.current=e,v(e))}),[]),x=a||y,k=s||g,E=o.useRef(null),C=o.useRef(null),M=o.useRef(d),T=null!=c,O=mn(c),S=mn(i),R=mn(u),D=o.useCallback((()=>{if(!E.current||!C.current)return;const e={placement:t,strategy:n,middleware:f};S.current&&(e.platform=S.current),dn(E.current,C.current,e).then((e=>{const t={...e,isPositioned:!1!==R.current};P.current&&!fn(M.current,t)&&(M.current=t,ke.flushSync((()=>{h(t)})))}))}),[f,t,n,S,R]);hn((()=>{!1===u&&M.current.isPositioned&&(M.current.isPositioned=!1,h((e=>({...e,isPositioned:!1}))))}),[u]);const P=o.useRef(!1);hn((()=>(P.current=!0,()=>{P.current=!1})),[]),hn((()=>{if(x&&(E.current=x),k&&(C.current=k),x&&k){if(O.current)return O.current(x,k,D);D()}}),[x,k,D,O,T]);const q=o.useMemo((()=>({reference:E,floating:C,setReference:b,setFloating:w})),[b,w]),_=o.useMemo((()=>({reference:x,floating:k})),[x,k]),N=o.useMemo((()=>{const e={position:n,left:0,top:0};if(!_.floating)return e;const t=yn(_.floating,d.x),r=yn(_.floating,d.y);return l?{...e,transform:"translate("+t+"px, "+r+"px)",...pn(_.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:t,top:r}}),[n,l,_.floating,d.x,d.y]);return o.useMemo((()=>({...d,update:D,refs:q,elements:_,floatingStyles:N})),[d,D,q,_,N])}({strategy:"fixed",placement:T,whileElementsMounted:(...e)=>function(e,t,n,r){void 0===r&&(r={});const{ancestorScroll:i=!0,ancestorResize:o=!0,elementResize:a="function"==typeof ResizeObserver,layoutShift:s="function"==typeof IntersectionObserver,animationFrame:l=!1}=r,c=zt(e),u=i||o?[...c?Ft(c):[],...Ft(t)]:[];u.forEach((e=>{i&&e.addEventListener("scroll",n,{passive:!0}),o&&e.addEventListener("resize",n)}));const d=c&&s?function(e,t){let n,r=null;const i=mt(e);function o(){var e;clearTimeout(n),null==(e=r)||e.disconnect(),r=null}return function a(s,l){void 0===s&&(s=!1),void 0===l&&(l=1),o();const c=e.getBoundingClientRect(),{left:u,top:d,width:h,height:f}=c;if(s||t(),!h||!f)return;const p={rootMargin:-ze(d)+"px "+-ze(i.clientWidth-(u+h))+"px "+-ze(i.clientHeight-(d+f))+"px "+-ze(u)+"px",threshold:Ie(0,Fe(1,l))||1};let y=!0;function m(t){const r=t[0].intersectionRatio;if(r!==l){if(!y)return a();r?a(!1,r):n=setTimeout((()=>{a(!1,1e-7)}),1e3)}1!==r||nn(c,e.getBoundingClientRect())||a(),y=!1}try{r=new IntersectionObserver(m,{...p,root:i.ownerDocument})}catch(e){r=new IntersectionObserver(m,p)}r.observe(e)}(!0),o}(c,n):null;let h,f=-1,p=null;a&&(p=new ResizeObserver((e=>{let[r]=e;r&&r.target===c&&p&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame((()=>{var e;null==(e=p)||e.observe(t)}))),n()})),c&&!l&&p.observe(c),p.observe(t));let y=l?Bt(e):null;return l&&function t(){const r=Bt(e);y&&!nn(y,r)&&n(),y=r,h=requestAnimationFrame(t)}(),n(),()=>{var e;u.forEach((e=>{i&&e.removeEventListener("scroll",n),o&&e.removeEventListener("resize",n)})),null==d||d(),null==(e=p)||e.disconnect(),p=null,l&&cancelAnimationFrame(h)}}(...e,{animationFrame:"always"===p}),elements:{reference:g.anchor},middleware:[(L={mainAxis:i+M,alignmentAxis:s},{...rn(L),options:[L,undefined]}),c&&vn({mainAxis:!0,crossAxis:!1,limiter:"partial"===h?bn():void 0,...D}),c&&wn({...D}),xn({...D,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{const{width:i,height:o}=t.reference,a=e.floating.style;a.setProperty("--radix-popper-available-width",`${n}px`),a.setProperty("--radix-popper-available-height",`${r}px`),a.setProperty("--radix-popper-anchor-width",`${i}px`),a.setProperty("--radix-popper-anchor-height",`${o}px`)}}),x&&En({element:x,padding:l}),Qn({arrowWidth:C,arrowHeight:M}),f&&kn({strategy:"referenceHidden",...D})]});var L;const[j,F]=Wn(_),I=Oe(y);Ne((()=>{N&&I?.()}),[N,I]);const U=A.arrow?.x,z=A.arrow?.y,H=0!==A.arrow?.centerOffset,[Q,W]=o.useState();return Ne((()=>{v&&W(window.getComputedStyle(v).zIndex)}),[v]),(0,be.jsx)("div",{ref:P.setFloating,"data-radix-popper-content-wrapper":"",style:{...q,transform:N?q.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Q,"--radix-popper-transform-origin":[A.transformOrigin?.x,A.transformOrigin?.y].join(" "),...A.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,be.jsx)(Ln,{scope:n,placedSide:j,onArrowChange:k,arrowX:U,arrowY:z,shouldHideArrow:H,children:(0,be.jsx)(Te.div,{"data-side":j,"data-align":F,...m,ref:w,style:{...m.style,animation:N?void 0:"none"}})})})}));Fn.displayName=An;var In="PopperArrow",Un={top:"bottom",right:"left",bottom:"top",left:"right"},zn=o.forwardRef((function(e,t){const{__scopePopper:n,...r}=e,i=jn(In,n),o=Un[i.placedSide];return(0,be.jsx)("span",{ref:i.onArrowChange,style:{position:"absolute",left:i.arrowX,top:i.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i.placedSide],visibility:i.shouldHideArrow?"hidden":void 0},children:(0,be.jsx)(Mn,{...r,ref:t,style:{...r.style,display:"block"}})})}));function Hn(e){return null!==e}zn.displayName=In;var Qn=e=>({name:"transformOrigin",options:e,fn(t){const{placement:n,rects:r,middlewareData:i}=t,o=0!==i.arrow?.centerOffset,a=o?0:e.arrowWidth,s=o?0:e.arrowHeight,[l,c]=Wn(n),u={start:"0%",center:"50%",end:"100%"}[c],d=(i.arrow?.x??0)+a/2,h=(i.arrow?.y??0)+s/2;let f="",p="";return"bottom"===l?(f=o?u:`${d}px`,p=-s+"px"):"top"===l?(f=o?u:`${d}px`,p=`${r.floating.height+s}px`):"right"===l?(f=-s+"px",p=o?u:`${h}px`):"left"===l&&(f=`${r.floating.width+s}px`,p=o?u:`${h}px`),{data:{x:f,y:p}}}});function Wn(e){const[t,n="center"]=e.split("-");return[t,n]}var Bn=Pn,$n=Nn,Yn=Fn,Vn=zn,Kn=o.forwardRef(((e,t)=>{const{container:n,...r}=e,[i,a]=o.useState(!1);Ne((()=>a(!0)),[]);const s=n||i&&globalThis?.document?.body;return s?ke.createPortal((0,be.jsx)(Te.div,{...r,ref:t}),s):null}));Kn.displayName="Portal";var Gn=e=>{const{present:t,children:n}=e,r=function(e){const[t,n]=o.useState(),r=o.useRef(null),i=o.useRef(e),a=o.useRef("none"),s=e?"mounted":"unmounted",[l,c]=function(e,t){return o.useReducer(((e,n)=>t[e][n]??e),e)}(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return o.useEffect((()=>{const e=Xn(r.current);a.current="mounted"===l?e:"none"}),[l]),Ne((()=>{const t=r.current,n=i.current;if(n!==e){const r=a.current,o=Xn(t);c(e?"MOUNT":"none"===o||"none"===t?.display?"UNMOUNT":n&&r!==o?"ANIMATION_OUT":"UNMOUNT"),i.current=e}}),[e,c]),Ne((()=>{if(t){let e;const n=t.ownerDocument.defaultView??window,o=o=>{const a=Xn(r.current).includes(CSS.escape(o.animationName));if(o.target===t&&a&&(c("ANIMATION_END"),!i.current)){const r=t.style.animationFillMode;t.style.animationFillMode="forwards",e=n.setTimeout((()=>{"forwards"===t.style.animationFillMode&&(t.style.animationFillMode=r)}))}},s=e=>{e.target===t&&(a.current=Xn(r.current))};return t.addEventListener("animationstart",s),t.addEventListener("animationcancel",o),t.addEventListener("animationend",o),()=>{n.clearTimeout(e),t.removeEventListener("animationstart",s),t.removeEventListener("animationcancel",o),t.removeEventListener("animationend",o)}}c("ANIMATION_END")}),[t,c]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:o.useCallback((e=>{r.current=e?getComputedStyle(e):null,n(e)}),[])}}(t),i="function"==typeof n?n({present:r.isPresent}):o.Children.only(n),a=ve(r.ref,function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}(i));return"function"==typeof n||r.isPresent?o.cloneElement(i,{ref:a}):null};function Xn(e){return e?.animationName||"none"}Gn.displayName="Presence";var Jn=a[" useInsertionEffect ".trim().toString()]||Ne;Symbol("RADIX:SYNC_STATE");var Zn=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),er=o.forwardRef(((e,t)=>(0,be.jsx)(Te.span,{...e,ref:t,style:{...Zn,...e.style}})));er.displayName="VisuallyHidden";var tr=er,[nr,rr]=we("Tooltip",[Sn]),ir=Sn(),or="TooltipProvider",ar=700,sr="tooltip.open",[lr,cr]=nr(or),ur=e=>{const{__scopeTooltip:t,delayDuration:n=ar,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,s=o.useRef(!0),l=o.useRef(!1),c=o.useRef(0);return o.useEffect((()=>{const e=c.current;return()=>window.clearTimeout(e)}),[]),(0,be.jsx)(lr,{scope:t,isOpenDelayedRef:s,delayDuration:n,onOpen:o.useCallback((()=>{window.clearTimeout(c.current),s.current=!1}),[]),onClose:o.useCallback((()=>{window.clearTimeout(c.current),c.current=window.setTimeout((()=>s.current=!0),r)}),[r]),isPointerInTransitRef:l,onPointerInTransitChange:o.useCallback((e=>{l.current=e}),[]),disableHoverableContent:i,children:a})};ur.displayName=or;var dr="Tooltip",[hr,fr]=nr(dr),pr=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:s,delayDuration:l}=e,c=cr(dr,e.__scopeTooltip),u=ir(t),[d,h]=o.useState(null),f=function(e){const[t,n]=o.useState(Ae());return Ne((()=>{n((e=>e??String(Le++)))}),[e]),t?`radix-${t}`:""}(),p=o.useRef(0),y=s??c.disableHoverableContent,m=l??c.delayDuration,g=o.useRef(!1),[v,b]=function({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[i,a,s]=function({defaultProp:e,onChange:t}){const[n,r]=o.useState(e),i=o.useRef(n),a=o.useRef(t);return Jn((()=>{a.current=t}),[t]),o.useEffect((()=>{i.current!==n&&(a.current?.(n),i.current=n)}),[n,i]),[n,r,a]}({defaultProp:t,onChange:n}),l=void 0!==e,c=l?e:i;{const t=o.useRef(void 0!==e);o.useEffect((()=>{const e=t.current;if(e!==l){const t=e?"controlled":"uncontrolled",n=l?"controlled":"uncontrolled";console.warn(`${r} is changing from ${t} to ${n}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=l}),[l,r])}const u=o.useCallback((t=>{if(l){const n=function(e){return"function"==typeof e}(t)?t(e):t;n!==e&&s.current?.(n)}else a(t)}),[l,e,a,s]);return[c,u]}({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(sr))):c.onClose(),a?.(e)},caller:dr}),w=o.useMemo((()=>v?g.current?"delayed-open":"instant-open":"closed"),[v]),x=o.useCallback((()=>{window.clearTimeout(p.current),p.current=0,g.current=!1,b(!0)}),[b]),k=o.useCallback((()=>{window.clearTimeout(p.current),p.current=0,b(!1)}),[b]),E=o.useCallback((()=>{window.clearTimeout(p.current),p.current=window.setTimeout((()=>{g.current=!0,b(!0),p.current=0}),m)}),[m,b]);return o.useEffect((()=>()=>{p.current&&(window.clearTimeout(p.current),p.current=0)}),[]),(0,be.jsx)(Bn,{...u,children:(0,be.jsx)(hr,{scope:t,contentId:f,open:v,stateAttribute:w,trigger:d,onTriggerChange:h,onTriggerEnter:o.useCallback((()=>{c.isOpenDelayedRef.current?E():x()}),[c.isOpenDelayedRef,E,x]),onTriggerLeave:o.useCallback((()=>{y?k():(window.clearTimeout(p.current),p.current=0)}),[k,y]),onOpen:x,onClose:k,disableHoverableContent:y,children:n})})};pr.displayName=dr;var yr="TooltipTrigger",mr=o.forwardRef(((e,t)=>{const{__scopeTooltip:n,...r}=e,i=fr(yr,n),a=cr(yr,n),s=ir(n),l=ve(t,o.useRef(null),i.onTriggerChange),c=o.useRef(!1),u=o.useRef(!1),d=o.useCallback((()=>c.current=!1),[]);return o.useEffect((()=>()=>document.removeEventListener("pointerup",d)),[d]),(0,be.jsx)($n,{asChild:!0,...s,children:(0,be.jsx)(Te.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:l,onPointerMove:ye(e.onPointerMove,(e=>{"touch"!==e.pointerType&&(u.current||a.isPointerInTransitRef.current||(i.onTriggerEnter(),u.current=!0))})),onPointerLeave:ye(e.onPointerLeave,(()=>{i.onTriggerLeave(),u.current=!1})),onPointerDown:ye(e.onPointerDown,(()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener("pointerup",d,{once:!0})})),onFocus:ye(e.onFocus,(()=>{c.current||i.onOpen()})),onBlur:ye(e.onBlur,i.onClose),onClick:ye(e.onClick,i.onClose)})})}));mr.displayName=yr;var gr="TooltipPortal",[vr,br]=nr(gr,{forceMount:void 0}),wr="TooltipContent",xr=o.forwardRef(((e,t)=>{const n=br(wr,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i="top",...o}=e,a=fr(wr,e.__scopeTooltip);return(0,be.jsx)(Gn,{present:r||a.open,children:a.disableHoverableContent?(0,be.jsx)(Tr,{side:i,...o,ref:t}):(0,be.jsx)(kr,{side:i,...o,ref:t})})})),kr=o.forwardRef(((e,t)=>{const n=fr(wr,e.__scopeTooltip),r=cr(wr,e.__scopeTooltip),i=o.useRef(null),a=ve(t,i),[s,l]=o.useState(null),{trigger:c,onClose:u}=n,d=i.current,{onPointerInTransitChange:h}=r,f=o.useCallback((()=>{l(null),h(!1)}),[h]),p=o.useCallback(((e,t)=>{const n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=function(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return r}(r,function(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),o=Math.abs(t.left-e.x);switch(Math.min(n,r,i,o)){case o:return"left";case i:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}(r,n.getBoundingClientRect())),o=function(e){const t=e.slice();return t.sort(((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0)),function(e){if(e.length<=1)return e.slice();const t=[];for(let n=0;n<e.length;n++){const r=e[n];for(;t.length>=2;){const e=t[t.length-1],n=t[t.length-2];if(!((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x)))break;t.pop()}t.push(r)}t.pop();const n=[];for(let t=e.length-1;t>=0;t--){const r=e[t];for(;n.length>=2;){const e=n[n.length-1],t=n[n.length-2];if(!((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x)))break;n.pop()}n.push(r)}return n.pop(),1===t.length&&1===n.length&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}(t)}([...i,...function(e){const{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}(t.getBoundingClientRect())]);l(o),h(!0)}),[h]);return o.useEffect((()=>()=>f()),[f]),o.useEffect((()=>{if(c&&d){const e=e=>p(e,d),t=e=>p(e,c);return c.addEventListener("pointerleave",e),d.addEventListener("pointerleave",t),()=>{c.removeEventListener("pointerleave",e),d.removeEventListener("pointerleave",t)}}}),[c,d,p,f]),o.useEffect((()=>{if(s){const e=e=>{const t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||d?.contains(t),i=!function(e,t){const{x:n,y:r}=e;let i=!1;for(let e=0,o=t.length-1;e<t.length;o=e++){const a=t[e],s=t[o],l=a.x,c=a.y,u=s.x,d=s.y;c>r!=d>r&&n<(u-l)*(r-c)/(d-c)+l&&(i=!i)}return i}(n,s);r?f():i&&(f(),u())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}}),[c,d,s,u,f]),(0,be.jsx)(Tr,{...e,ref:a})})),[Er,Cr]=nr(dr,{isInside:!1}),Mr=function(e){const t=({children:e})=>(0,be.jsx)(be.Fragment,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=Ce,t}("TooltipContent"),Tr=o.forwardRef(((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:s,...l}=e,c=fr(wr,n),u=ir(n),{onClose:d}=c;return o.useEffect((()=>(document.addEventListener(sr,d),()=>document.removeEventListener(sr,d))),[d]),o.useEffect((()=>{if(c.trigger){const e=e=>{const t=e.target;t?.contains(c.trigger)&&d()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}}),[c.trigger,d]),(0,be.jsx)(Pe,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:d,children:(0,be.jsxs)(Yn,{"data-state":c.stateAttribute,...u,...l,ref:t,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,be.jsx)(Mr,{children:r}),(0,be.jsx)(Er,{scope:n,isInside:!0,children:(0,be.jsx)(tr,{id:c.contentId,role:"tooltip",children:i||r})})]})})}));xr.displayName=wr;var Or="TooltipArrow",Sr=o.forwardRef(((e,t)=>{const{__scopeTooltip:n,...r}=e,i=ir(n);return Cr(Or,n).isInside?null:(0,be.jsx)(Vn,{...i,...r,ref:t})}));Sr.displayName=Or;var Rr=ur,Dr=pr,Pr=mr,qr=xr,_r=Sr;const Nr=({children:e,content:t,delayDuration:n=400})=>t?(0,o.createElement)(Rr,null,(0,o.createElement)(Dr,{delayDuration:n},(0,o.createElement)(Pr,{asChild:!0},e),(0,o.createElement)(qr,{className:"z-[99999] max-w-xs bg-gray-200 text-gray border border-gray-300 px-3 py-2 text-base rounded shadow-md animate-in fade-in-50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=delayed-open]:data-[side=top]:slide-in-from-bottom-2 data-[state=delayed-open]:data-[side=bottom]:slide-in-from-top-2 data-[state=delayed-open]:data-[side=left]:slide-in-from-right-2 data-[state=delayed-open]:data-[side=right]:slide-in-from-left-2",sideOffset:5},t,(0,o.createElement)(_r,{className:"fill-gray-300",width:10,height:5})))):(0,o.createElement)(o.Fragment,null,e),Ar=e=>{const t=(e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,((e,t,n)=>n?n.toUpperCase():t.toLowerCase())))(e);return t.charAt(0).toUpperCase()+t.slice(1)},Lr=(...e)=>e.filter(((e,t,n)=>Boolean(e)&&""!==e.trim()&&n.indexOf(e)===t)).join(" ").trim(),jr=e=>{for(const t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0};var Fr={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const Ir=(0,o.forwardRef)((({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:i="",children:a,iconNode:s,...l},c)=>(0,o.createElement)("svg",{ref:c,...Fr,width:t,height:t,stroke:e,strokeWidth:r?24*Number(n)/Number(t):n,className:Lr("lucide",i),...!a&&!jr(l)&&{"aria-hidden":"true"},...l},[...s.map((([e,t])=>(0,o.createElement)(e,t))),...Array.isArray(a)?a:[a]]))),Ur=(e,t)=>{const n=(0,o.forwardRef)((({className:n,...r},i)=>{return(0,o.createElement)(Ir,{ref:i,iconNode:t,className:Lr(`lucide-${a=Ar(e),a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,n),...r});var a}));return n.displayName=Ar(e),n},zr=Ur("user-round-check",[["path",{d:"M2 21a8 8 0 0 1 13.292-6",key:"bjp14o"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"m16 19 2 2 4-4",key:"1b14m6"}]]),Hr=Ur("user-round-plus",[["path",{d:"M2 21a8 8 0 0 1 13.292-6",key:"bjp14o"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M19 16v6",key:"tddt3s"}],["path",{d:"M22 19h-6",key:"vcuq98"}]]),Qr=Ur("shopping-cart",[["circle",{cx:"8",cy:"21",r:"1",key:"jimo8o"}],["circle",{cx:"19",cy:"21",r:"1",key:"13723u"}],["path",{d:"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12",key:"9zh506"}]]),Wr=Ur("octagon-alert",[["path",{d:"M12 16h.01",key:"1drbdi"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z",key:"1fd625"}]]),Br=Ur("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),$r=Ur("percent",[["line",{x1:"19",x2:"5",y1:"5",y2:"19",key:"1x9vlm"}],["circle",{cx:"6.5",cy:"6.5",r:"2.5",key:"4mh3h7"}],["circle",{cx:"17.5",cy:"17.5",r:"2.5",key:"1mdrzq"}]]),Yr=Ur("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),Vr=Ur("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]),Kr=Ur("move-right",[["path",{d:"M18 8L22 12L18 16",key:"1r0oui"}],["path",{d:"M2 12H22",key:"1m8cig"}]]),Gr=Ur("ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]),Xr=Ur("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),Jr=Ur("circle-off",[["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M8.35 2.69A10 10 0 0 1 21.3 15.65",key:"1pfsoa"}],["path",{d:"M19.08 19.08A10 10 0 1 1 4.92 4.92",key:"1ablyi"}]]),Zr=Ur("circle-dot",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]),ei=Ur("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),ti=Ur("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),ni=Ur("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),ri=Ur("trophy",[["path",{d:"M10 14.66v1.626a2 2 0 0 1-.976 1.696A5 5 0 0 0 7 21.978",key:"1n3hpd"}],["path",{d:"M14 14.66v1.626a2 2 0 0 0 .976 1.696A5 5 0 0 1 17 21.978",key:"rfe1zi"}],["path",{d:"M18 9h1.5a1 1 0 0 0 0-5H18",key:"7xy6bh"}],["path",{d:"M4 22h16",key:"57wxv0"}],["path",{d:"M6 9a6 6 0 0 0 12 0V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1z",key:"1mhfuq"}],["path",{d:"M6 9H4.5a1 1 0 0 1 0-5H6",key:"tex48p"}]]),ii=Ur("frown",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M16 16s-1.5-2-4-2-4 2-4 2",key:"epbg0q"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}]]),oi=Ur("hourglass",[["path",{d:"M5 22h14",key:"ehvnwv"}],["path",{d:"M5 2h14",key:"pdyrp9"}],["path",{d:"M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22",key:"1d314k"}],["path",{d:"M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2",key:"1vvvr6"}]]),ai=Ur("scale",[["path",{d:"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"7g6ntu"}],["path",{d:"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"ijws7r"}],["path",{d:"M7 21h10",key:"1b0cd5"}],["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2",key:"3gwbw2"}]]),si=Ur("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),li=Ur("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),ci=Ur("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),ui=Ur("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),di=Ur("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),hi=Ur("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),fi=Ur("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),pi=Ur("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]),yi=Ur("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),mi=Ur("braces",[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]]),gi=Ur("file-text",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]),vi=Ur("file-x",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m14.5 12.5-5 5",key:"b62r18"}],["path",{d:"m9.5 12.5 5 5",key:"1rk7el"}]]),bi=Ur("file-down",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M12 18v-6",key:"17g6i2"}],["path",{d:"m9 15 3 3 3-3",key:"1npd3o"}]]),wi=Ur("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]),xi=Ur("calendar-x",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"m14 14-4 4",key:"rymu2i"}],["path",{d:"m10 14 4 4",key:"3sz06r"}]]),ki=Ur("panel-top",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}]]),Ei=Ur("circle-question-mark",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),Ci=Ur("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),Mi=Ur("trash",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}]]),Ti=Ur("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]),Oi=Ur("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]),Si=Ur("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]),Ri=Ur("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),Di=Ur("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]),Pi=Ur("circle-user",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662",key:"154egf"}]]),qi=Ur("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]),_i=Ur("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]),Ni=Ur("infinity",[["path",{d:"M6 16c5 0 7-8 12-8a4 4 0 0 1 0 8c-5 0-7-8-12-8a4 4 0 1 0 0 8",key:"18ogeb"}]]),Ai=Ur("chart-line",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"m19 9-5 5-4-4-3 3",key:"2osh9i"}]]),Li=Ur("chart-pie",[["path",{d:"M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z",key:"pzmjnu"}],["path",{d:"M21.21 15.89A10 10 0 1 1 8 2.83",key:"k2fpak"}]]),ji=Ur("goal",[["path",{d:"M12 13V2l8 4-8 4",key:"5wlwwj"}],["path",{d:"M20.561 10.222a9 9 0 1 1-12.55-5.29",key:"1c0wjv"}],["path",{d:"M8.002 9.997a5 5 0 1 0 8.9 2.02",key:"gb1g7m"}]]),Fi=Ur("sliders-horizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]]),Ii=Ur("loader",[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]]),Ui=Ur("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]),zi=Ur("tablet",[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",ry:"2",key:"76otgf"}],["line",{x1:"12",x2:"12.01",y1:"18",y2:"18",key:"1dp563"}]]),Hi=Ur("smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]),Qi=Ur("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]),Wi=Ur("mouse",[["rect",{x:"5",y:"2",width:"14",height:"20",rx:"7",key:"11ol66"}],["path",{d:"M12 6v4",key:"16clxf"}]]),Bi=Ur("file",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}]]),$i=Ur("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]),Yi=Ur("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),Vi=Ur("earth",[["path",{d:"M21.54 15H17a2 2 0 0 0-2 2v4.54",key:"1djwo0"}],["path",{d:"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17",key:"1tzkfa"}],["path",{d:"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05",key:"14pb5j"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),Ki=Ur("funnel",[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]]),Gi=Ur("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),Xi=Ur("webhook",[["path",{d:"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2",key:"q3hayz"}],["path",{d:"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06",key:"1go1hn"}],["path",{d:"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8",key:"qlwsc0"}]]),Ji=Ur("log-in",[["path",{d:"m10 17 5-5-5-5",key:"1bsop3"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}]]),Zi=Ur("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]),eo=Ur("target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]),to=Ur("settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),no=Ur("megaphone",[["path",{d:"m3 11 18-5v12L3 14v-3z",key:"n962bs"}],["path",{d:"M11.6 16.8a3 3 0 1 1-5.8-1.6",key:"1yl0tm"}]]),ro=Ur("milestone",[["path",{d:"M12 13v8",key:"1l5pq0"}],["path",{d:"M12 3v3",key:"1n5kay"}],["path",{d:"M4 6a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h13a2 2 0 0 0 1.152-.365l3.424-2.317a1 1 0 0 0 0-1.635l-3.424-2.318A2 2 0 0 0 17 6z",key:"1btarq"}]]),io=Ur("radio",[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]),oo=Ur("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]),ao=Ur("map-pin",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]]),so=Ur("building",[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",ry:"2",key:"76otgf"}],["path",{d:"M9 22v-4h6v4",key:"r93iot"}],["path",{d:"M8 6h.01",key:"1dz90k"}],["path",{d:"M16 6h.01",key:"1x0f13"}],["path",{d:"M12 6h.01",key:"1vi96p"}],["path",{d:"M12 10h.01",key:"1nrarc"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 10h.01",key:"1m94wz"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 10h.01",key:"19clt8"}],["path",{d:"M8 14h.01",key:"6423bh"}]]),lo=Ur("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]),co=Ur("car",[["path",{d:"M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2",key:"5owen"}],["circle",{cx:"7",cy:"17",r:"2",key:"u2ysq9"}],["path",{d:"M9 17h6",key:"r8uit2"}],["circle",{cx:"17",cy:"17",r:"2",key:"axvx0g"}]]),uo=Ur("brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]),ho=Ur("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]),fo=Ur("star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]),po=Ur("map-pinned",[["path",{d:"M18 8c0 3.613-3.869 7.429-5.393 8.795a1 1 0 0 1-1.214 0C9.87 15.429 6 11.613 6 8a6 6 0 0 1 12 0",key:"11u0oz"}],["circle",{cx:"12",cy:"8",r:"2",key:"1822b1"}],["path",{d:"M8.714 14h-3.71a1 1 0 0 0-.948.683l-2.004 6A1 1 0 0 0 3 22h18a1 1 0 0 0 .948-1.316l-2-6a1 1 0 0 0-.949-.684h-3.712",key:"q8zwxj"}]]),yo=Ur("grid-3x3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]),mo=Ur("line-squiggle",[["path",{d:"M7 3.5c5-2 7 2.5 3 4C1.5 10 2 15 5 16c5 2 9-10 14-7s.5 13.5-4 12c-5-2.5.5-11 6-2",key:"1lrphd"}]]),go=Ur("party-popper",[["path",{d:"M5.8 11.3 2 22l10.7-3.79",key:"gwxi1d"}],["path",{d:"M4 3h.01",key:"1vcuye"}],["path",{d:"M22 8h.01",key:"1mrtc2"}],["path",{d:"M15 2h.01",key:"1cjtqr"}],["path",{d:"M22 20h.01",key:"1mrys2"}],["path",{d:"m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10",key:"hbicv8"}],["path",{d:"m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.7-.72 1.22-1.43 1.22H17",key:"1i94pl"}],["path",{d:"m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.52 4.9 9 5.52 9 6.23V7",key:"1cofks"}],["path",{d:"M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z",key:"4kbmks"}]]),vo=Ur("sprout",[["path",{d:"M7 20h10",key:"e6iznv"}],["path",{d:"M10 20c5.5-2.5.8-6.4 3-10",key:"161w41"}],["path",{d:"M9.5 9.4c1.1.8 1.8 2.2 2.3 3.7-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2 2.8-.5 4.4 0 5.5.8z",key:"9gtqwd"}],["path",{d:"M14.1 6a7 7 0 0 0-1.1 4c1.9-.1 3.3-.6 4.3-1.4 1-1 1.6-2.3 1.7-4.6-2.7.1-4 1-4.9 2z",key:"bkxnd2"}]]);function bo(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=bo(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function wo(){for(var e,t,n=0,r="",i=arguments.length;n<i;n++)(e=arguments[n])&&(t=bo(e))&&(r&&(r+=" "),r+=t);return r}const xo={"black-light":"black-light",black:"black",green:"green",yellow:"yellow",red:"red",blue:"blue",gray:"gray-500",lightgray:"gray-300",white:"white",gold:"gold"},ko={"circle-open":Xr,bullet:Xr,dot:Xr,circle:Jr,period:Zr,check:ei,warning:Br,error:ti,times:ni,trophy:ri,frown:ii,hourglass:oi,scale:ai,"circle-check":si,"circle-times":li,"chevron-up":ci,"chevron-down":ui,"chevron-right":di,"chevron-left":hi,plus:fi,minus:pi,sync:yi,"sync-error":Wr,shortcode:mi,file:gi,"file-disabled":vi,"file-download":bi,calendar:wi,"calendar-error":xi,website:ki,help:Ei,copy:Ci,trash:Mi,visitor:Ti,visitors:Oi,"visitors-crowd":Oi,time:Si,pageviews:Ri,referrer:Di,sessions:Pi,bounces:qi,bounced_sessions:qi,bounce_rate:qi,winner:ri,live:_i,total:Ni,graph:Ai,conversion_rate:Li,goals:ji,conversions:ji,"goals-empty":Zr,filter:Fi,loading:Ii,desktop:Ui,tablet:zi,mobile:Hi,other:Qi,mouse:Wi,eye:Ri,page:Bi,hashtag:$i,sun:Yi,world:Vi,filters:Ki,referrers:Gi,hook:Xi,"log-in":Ji,"log-out":qi,alert:ti,search:Zi,bounce:qi,user:Ti,conversion:eo,parameters:to,campaign:no,source:ro,medium:io,term:oo,content:gi,location:ao,city:so,"operating-system":Ui,browser:lo,traffic:co,behavior:uo,technology:ho,"star-filled":fo,"star-outline":fo,"map-pinned":po,empty:Jr,grid:yo,"user-check":zr,"user-plus":Hr,"line-squiggle":mo,"shopping-cart":Qr,"party-popper":go,"error-octagon":Wr,"warning-triangle":Br,percent:$r,sprout:vo,zap:Yr,bulb:Vr,"right-arrow":Kr,ellipsis:Gr},Eo=(0,o.memo)((({style:e={},name:t="bullet",color:n="black",size:r=18,strokeWidth:i=1.5,tooltip:a,onClick:s,className:l})=>{const c=xo[n]||n,u=ko[t]||Xr,d={size:r,color:"currentColor",strokeWidth:i,style:e},h=(0,o.createElement)("div",{onClick:()=>{s&&s()},className:"flex items-center justify-center"},"bullet"!==t&&"dot"!==t||u!==Xr?"star-filled"===t&&u===fo?(0,o.createElement)(fo,{...d,className:c&&`fill-${c}`}):"loading"===t&&u===Ii?(0,o.createElement)(Ii,{...d,className:wo(l,"animate-spin [animation-duration:2s]",c&&`text-${c}`)}):(0,o.createElement)(u,{className:wo(l,c&&`text-${c}`),...d}):(0,o.createElement)(Xr,{...d,className:c&&`fill-${c}`}));return a?(0,o.createElement)(Nr,{content:a},h):h}));function Co(e){return Co="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Co(e)}function Mo(e,t){if(t.length<e)throw new TypeError(e+" argument"+(e>1?"s":"")+" required, but only "+t.length+" present")}function To(e){Mo(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||"object"===Co(e)&&"[object Date]"===t?new Date(e.getTime()):"number"==typeof e||"[object Number]"===t?new Date(e):("string"!=typeof e&&"[object String]"!==t||"undefined"==typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn((new Error).stack)),new Date(NaN))}function Oo(e){if(null===e||!0===e||!1===e)return NaN;var t=Number(e);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)}function So(e){Mo(1,arguments);var t=To(e),n=t.getUTCDay(),r=(n<1?7:0)+n-1;return t.setUTCDate(t.getUTCDate()-r),t.setUTCHours(0,0,0,0),t}function Ro(e){Mo(1,arguments);var t=To(e),n=t.getUTCFullYear(),r=new Date(0);r.setUTCFullYear(n+1,0,4),r.setUTCHours(0,0,0,0);var i=So(r),o=new Date(0);o.setUTCFullYear(n,0,4),o.setUTCHours(0,0,0,0);var a=So(o);return t.getTime()>=i.getTime()?n+1:t.getTime()>=a.getTime()?n:n-1}var Do={};function Po(){return Do}function qo(e,t){var n,r,i,o,a,s,l,c;Mo(1,arguments);var u=Po(),d=Oo(null!==(n=null!==(r=null!==(i=null!==(o=null==t?void 0:t.weekStartsOn)&&void 0!==o?o:null==t||null===(a=t.locale)||void 0===a||null===(s=a.options)||void 0===s?void 0:s.weekStartsOn)&&void 0!==i?i:u.weekStartsOn)&&void 0!==r?r:null===(l=u.locale)||void 0===l||null===(c=l.options)||void 0===c?void 0:c.weekStartsOn)&&void 0!==n?n:0);if(!(d>=0&&d<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var h=To(e),f=h.getUTCDay(),p=(f<d?7:0)+f-d;return h.setUTCDate(h.getUTCDate()-p),h.setUTCHours(0,0,0,0),h}function _o(e,t){var n,r,i,o,a,s,l,c;Mo(1,arguments);var u=To(e),d=u.getUTCFullYear(),h=Po(),f=Oo(null!==(n=null!==(r=null!==(i=null!==(o=null==t?void 0:t.firstWeekContainsDate)&&void 0!==o?o:null==t||null===(a=t.locale)||void 0===a||null===(s=a.options)||void 0===s?void 0:s.firstWeekContainsDate)&&void 0!==i?i:h.firstWeekContainsDate)&&void 0!==r?r:null===(l=h.locale)||void 0===l||null===(c=l.options)||void 0===c?void 0:c.firstWeekContainsDate)&&void 0!==n?n:1);if(!(f>=1&&f<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var p=new Date(0);p.setUTCFullYear(d+1,0,f),p.setUTCHours(0,0,0,0);var y=qo(p,t),m=new Date(0);m.setUTCFullYear(d,0,f),m.setUTCHours(0,0,0,0);var g=qo(m,t);return u.getTime()>=y.getTime()?d+1:u.getTime()>=g.getTime()?d:d-1}function No(e,t){for(var n=e<0?"-":"",r=Math.abs(e).toString();r.length<t;)r="0"+r;return n+r}const Ao=function(e,t){var n=e.getUTCFullYear(),r=n>0?n:1-n;return No("yy"===t?r%100:r,t.length)},Lo=function(e,t){var n=e.getUTCMonth();return"M"===t?String(n+1):No(n+1,2)},jo=function(e,t){return No(e.getUTCDate(),t.length)},Fo=function(e,t){return No(e.getUTCHours()%12||12,t.length)},Io=function(e,t){return No(e.getUTCHours(),t.length)},Uo=function(e,t){return No(e.getUTCMinutes(),t.length)},zo=function(e,t){return No(e.getUTCSeconds(),t.length)},Ho=function(e,t){var n=t.length,r=e.getUTCMilliseconds();return No(Math.floor(r*Math.pow(10,n-3)),t.length)};var Qo={G:function(e,t,n){var r=e.getUTCFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if("yo"===t){var r=e.getUTCFullYear(),i=r>0?r:1-r;return n.ordinalNumber(i,{unit:"year"})}return Ao(e,t)},Y:function(e,t,n,r){var i=_o(e,r),o=i>0?i:1-i;return"YY"===t?No(o%100,2):"Yo"===t?n.ordinalNumber(o,{unit:"year"}):No(o,t.length)},R:function(e,t){return No(Ro(e),t.length)},u:function(e,t){return No(e.getUTCFullYear(),t.length)},Q:function(e,t,n){var r=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return No(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){var r=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return No(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){var r=e.getUTCMonth();switch(t){case"M":case"MM":return Lo(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){var r=e.getUTCMonth();switch(t){case"L":return String(r+1);case"LL":return No(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){var i=function(e,t){Mo(1,arguments);var n=To(e),r=qo(n,t).getTime()-function(e,t){var n,r,i,o,a,s,l,c;Mo(1,arguments);var u=Po(),d=Oo(null!==(n=null!==(r=null!==(i=null!==(o=null==t?void 0:t.firstWeekContainsDate)&&void 0!==o?o:null==t||null===(a=t.locale)||void 0===a||null===(s=a.options)||void 0===s?void 0:s.firstWeekContainsDate)&&void 0!==i?i:u.firstWeekContainsDate)&&void 0!==r?r:null===(l=u.locale)||void 0===l||null===(c=l.options)||void 0===c?void 0:c.firstWeekContainsDate)&&void 0!==n?n:1),h=_o(e,t),f=new Date(0);return f.setUTCFullYear(h,0,d),f.setUTCHours(0,0,0,0),qo(f,t)}(n,t).getTime();return Math.round(r/6048e5)+1}(e,r);return"wo"===t?n.ordinalNumber(i,{unit:"week"}):No(i,t.length)},I:function(e,t,n){var r=function(e){Mo(1,arguments);var t=To(e),n=So(t).getTime()-function(e){Mo(1,arguments);var t=Ro(e),n=new Date(0);return n.setUTCFullYear(t,0,4),n.setUTCHours(0,0,0,0),So(n)}(t).getTime();return Math.round(n/6048e5)+1}(e);return"Io"===t?n.ordinalNumber(r,{unit:"week"}):No(r,t.length)},d:function(e,t,n){return"do"===t?n.ordinalNumber(e.getUTCDate(),{unit:"date"}):jo(e,t)},D:function(e,t,n){var r=function(e){Mo(1,arguments);var t=To(e),n=t.getTime();t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0);var r=n-t.getTime();return Math.floor(r/864e5)+1}(e);return"Do"===t?n.ordinalNumber(r,{unit:"dayOfYear"}):No(r,t.length)},E:function(e,t,n){var r=e.getUTCDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){var i=e.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return No(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){var i=e.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return No(o,t.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(e,t,n){var r=e.getUTCDay(),i=0===r?7:r;switch(t){case"i":return String(i);case"ii":return No(i,t.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){var r=e.getUTCHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){var r,i=e.getUTCHours();switch(r=12===i?"noon":0===i?"midnight":i/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){var r,i=e.getUTCHours();switch(r=i>=17?"evening":i>=12?"afternoon":i>=4?"morning":"night",t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if("ho"===t){var r=e.getUTCHours()%12;return 0===r&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return Fo(e,t)},H:function(e,t,n){return"Ho"===t?n.ordinalNumber(e.getUTCHours(),{unit:"hour"}):Io(e,t)},K:function(e,t,n){var r=e.getUTCHours()%12;return"Ko"===t?n.ordinalNumber(r,{unit:"hour"}):No(r,t.length)},k:function(e,t,n){var r=e.getUTCHours();return 0===r&&(r=24),"ko"===t?n.ordinalNumber(r,{unit:"hour"}):No(r,t.length)},m:function(e,t,n){return"mo"===t?n.ordinalNumber(e.getUTCMinutes(),{unit:"minute"}):Uo(e,t)},s:function(e,t,n){return"so"===t?n.ordinalNumber(e.getUTCSeconds(),{unit:"second"}):zo(e,t)},S:function(e,t){return Ho(e,t)},X:function(e,t,n,r){var i=(r._originalDate||e).getTimezoneOffset();if(0===i)return"Z";switch(t){case"X":return Bo(i);case"XXXX":case"XX":return $o(i);default:return $o(i,":")}},x:function(e,t,n,r){var i=(r._originalDate||e).getTimezoneOffset();switch(t){case"x":return Bo(i);case"xxxx":case"xx":return $o(i);default:return $o(i,":")}},O:function(e,t,n,r){var i=(r._originalDate||e).getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Wo(i,":");default:return"GMT"+$o(i,":")}},z:function(e,t,n,r){var i=(r._originalDate||e).getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Wo(i,":");default:return"GMT"+$o(i,":")}},t:function(e,t,n,r){var i=r._originalDate||e;return No(Math.floor(i.getTime()/1e3),t.length)},T:function(e,t,n,r){return No((r._originalDate||e).getTime(),t.length)}};function Wo(e,t){var n=e>0?"-":"+",r=Math.abs(e),i=Math.floor(r/60),o=r%60;if(0===o)return n+String(i);var a=t||"";return n+String(i)+a+No(o,2)}function Bo(e,t){return e%60==0?(e>0?"-":"+")+No(Math.abs(e)/60,2):$o(e,t)}function $o(e,t){var n=t||"",r=e>0?"-":"+",i=Math.abs(e);return r+No(Math.floor(i/60),2)+n+No(i%60,2)}const Yo=Qo;var Vo=function(e,t){switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},Ko=function(e,t){switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}};const Go={p:Ko,P:function(e,t){var n,r=e.match(/(P+)(p+)?/)||[],i=r[1],o=r[2];if(!o)return Vo(e,t);switch(i){case"P":n=t.dateTime({width:"short"});break;case"PP":n=t.dateTime({width:"medium"});break;case"PPP":n=t.dateTime({width:"long"});break;default:n=t.dateTime({width:"full"})}return n.replace("{{date}}",Vo(i,t)).replace("{{time}}",Ko(o,t))}};var Xo=["D","DD"],Jo=["YY","YYYY"];function Zo(e,t,n){if("YYYY"===e)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(t,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("YY"===e)throw new RangeError("Use `yy` instead of `YY` (in `".concat(t,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("D"===e)throw new RangeError("Use `d` instead of `D` (in `".concat(t,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("DD"===e)throw new RangeError("Use `dd` instead of `DD` (in `".concat(t,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"))}var ea={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function ta(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const na={date:ta({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:ta({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:ta({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})};var ra={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function ia(e){return function(t,n){var r;if("formatting"===(null!=n&&n.context?String(n.context):"standalone")&&e.formattingValues){var i=e.defaultFormattingWidth||e.defaultWidth,o=null!=n&&n.width?String(n.width):i;r=e.formattingValues[o]||e.formattingValues[i]}else{var a=e.defaultWidth,s=null!=n&&n.width?String(n.width):e.defaultWidth;r=e.values[s]||e.values[a]}return r[e.argumentCallback?e.argumentCallback(t):t]}}const oa={ordinalNumber:function(e,t){var n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:ia({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:ia({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:function(e){return e-1}}),month:ia({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:ia({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:ia({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})};function aa(e){return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],o=t.match(i);if(!o)return null;var a,s=o[0],l=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(l)?function(e){for(var t=0;t<e.length;t++)if(e[t].test(s))return t}(l):function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t].test(s))return t}(l);return a=e.valueCallback?e.valueCallback(c):c,{value:a=n.valueCallback?n.valueCallback(a):a,rest:t.slice(s.length)}}}var sa,la={ordinalNumber:(sa={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}},function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.match(sa.matchPattern);if(!n)return null;var r=n[0],i=e.match(sa.parsePattern);if(!i)return null;var o=sa.valueCallback?sa.valueCallback(i[0]):i[0];return{value:o=t.valueCallback?t.valueCallback(o):o,rest:e.slice(r.length)}}),era:aa({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:aa({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:aa({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:aa({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:aa({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})};const ca={code:"en-US",formatDistance:function(e,t,n){var r,i=ea[e];return r="string"==typeof i?i:1===t?i.one:i.other.replace("{{count}}",t.toString()),null!=n&&n.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r},formatLong:na,formatRelative:function(e,t,n,r){return ra[e]},localize:oa,match:la,options:{weekStartsOn:0,firstWeekContainsDate:1}};var ua=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,da=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ha=/^'([^]*?)'?$/,fa=/''/g,pa=/[a-zA-Z]/;function ya(e,t,n){var r,i,o,a,s,l,c,u,d,h,f,p,y,m,g,v,b,w;Mo(2,arguments);var x=String(t),k=Po(),E=null!==(r=null!==(i=null==n?void 0:n.locale)&&void 0!==i?i:k.locale)&&void 0!==r?r:ca,C=Oo(null!==(o=null!==(a=null!==(s=null!==(l=null==n?void 0:n.firstWeekContainsDate)&&void 0!==l?l:null==n||null===(c=n.locale)||void 0===c||null===(u=c.options)||void 0===u?void 0:u.firstWeekContainsDate)&&void 0!==s?s:k.firstWeekContainsDate)&&void 0!==a?a:null===(d=k.locale)||void 0===d||null===(h=d.options)||void 0===h?void 0:h.firstWeekContainsDate)&&void 0!==o?o:1);if(!(C>=1&&C<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var M=Oo(null!==(f=null!==(p=null!==(y=null!==(m=null==n?void 0:n.weekStartsOn)&&void 0!==m?m:null==n||null===(g=n.locale)||void 0===g||null===(v=g.options)||void 0===v?void 0:v.weekStartsOn)&&void 0!==y?y:k.weekStartsOn)&&void 0!==p?p:null===(b=k.locale)||void 0===b||null===(w=b.options)||void 0===w?void 0:w.weekStartsOn)&&void 0!==f?f:0);if(!(M>=0&&M<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!E.localize)throw new RangeError("locale must contain localize property");if(!E.formatLong)throw new RangeError("locale must contain formatLong property");var T=To(e);if(!function(e){if(Mo(1,arguments),!function(e){return Mo(1,arguments),e instanceof Date||"object"===Co(e)&&"[object Date]"===Object.prototype.toString.call(e)}(e)&&"number"!=typeof e)return!1;var t=To(e);return!isNaN(Number(t))}(T))throw new RangeError("Invalid time value");var O=function(e){var t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),e.getTime()-t.getTime()}(T),S=function(e,t){return Mo(2,arguments),function(e,t){Mo(2,arguments);var n=To(e).getTime(),r=Oo(t);return new Date(n+r)}(e,-Oo(t))}(T,O),R={firstWeekContainsDate:C,weekStartsOn:M,locale:E,_originalDate:T};return x.match(da).map((function(e){var t=e[0];return"p"===t||"P"===t?(0,Go[t])(e,E.formatLong):e})).join("").match(ua).map((function(r){if("''"===r)return"'";var i,o,a=r[0];if("'"===a)return(o=(i=r).match(ha))?o[1].replace(fa,"'"):i;var s,l=Yo[a];if(l)return null!=n&&n.useAdditionalWeekYearTokens||(s=r,-1===Jo.indexOf(s))||Zo(r,t,String(e)),null!=n&&n.useAdditionalDayOfYearTokens||!function(e){return-1!==Xo.indexOf(e)}(r)||Zo(r,t,String(e)),l(S,r,E.localize,R);if(a.match(pa))throw new RangeError("Format string contains an unescaped latin alphabet character `"+a+"`");return r})).join("")}const ma="undefined"==typeof window||"Deno"in window;function ga(){}function va(e){return"number"==typeof e&&e>=0&&e!==1/0}function ba(e,t){return e.filter((e=>!t.includes(e)))}function wa(e,t){return Math.max(e+(t||0)-Date.now(),0)}function xa(e,t,n){return Na(e)?"function"==typeof t?{...n,queryKey:e,queryFn:t}:{...t,queryKey:e}:e}function ka(e,t,n){return Na(e)?[{...t,queryKey:e},n]:[e||{},t]}function Ea(e,t){const{type:n="all",exact:r,fetchStatus:i,predicate:o,queryKey:a,stale:s}=e;if(Na(a))if(r){if(t.queryHash!==Ma(a,t.options))return!1}else if(!Oa(t.queryKey,a))return!1;if("all"!==n){const e=t.isActive();if("active"===n&&!e)return!1;if("inactive"===n&&e)return!1}return!("boolean"==typeof s&&t.isStale()!==s||void 0!==i&&i!==t.state.fetchStatus||o&&!o(t))}function Ca(e,t){const{exact:n,fetching:r,predicate:i,mutationKey:o}=e;if(Na(o)){if(!t.options.mutationKey)return!1;if(n){if(Ta(t.options.mutationKey)!==Ta(o))return!1}else if(!Oa(t.options.mutationKey,o))return!1}return!("boolean"==typeof r&&"loading"===t.state.status!==r||i&&!i(t))}function Ma(e,t){return((null==t?void 0:t.queryKeyHashFn)||Ta)(e)}function Ta(e){return JSON.stringify(e,((e,t)=>qa(t)?Object.keys(t).sort().reduce(((e,n)=>(e[n]=t[n],e)),{}):t))}function Oa(e,t){return Sa(e,t)}function Sa(e,t){return e===t||typeof e==typeof t&&!(!e||!t||"object"!=typeof e||"object"!=typeof t)&&!Object.keys(t).some((n=>!Sa(e[n],t[n])))}function Ra(e,t){if(e===t)return e;const n=Pa(e)&&Pa(t);if(n||qa(e)&&qa(t)){const r=n?e.length:Object.keys(e).length,i=n?t:Object.keys(t),o=i.length,a=n?[]:{};let s=0;for(let r=0;r<o;r++){const o=n?r:i[r];a[o]=Ra(e[o],t[o]),a[o]===e[o]&&s++}return r===o&&s===r?e:a}return t}function Da(e,t){if(e&&!t||t&&!e)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function Pa(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function qa(e){if(!_a(e))return!1;const t=e.constructor;if(void 0===t)return!0;const n=t.prototype;return!!_a(n)&&!!n.hasOwnProperty("isPrototypeOf")}function _a(e){return"[object Object]"===Object.prototype.toString.call(e)}function Na(e){return Array.isArray(e)}function Aa(e){return new Promise((t=>{setTimeout(t,e)}))}function La(e){Aa(0).then(e)}function ja(e,t,n){return null!=n.isDataEqual&&n.isDataEqual(e,t)?e:"function"==typeof n.structuralSharing?n.structuralSharing(e,t):!1!==n.structuralSharing?Ra(e,t):t}const Fa=function(){let e=[],t=0,n=e=>{e()},r=e=>{e()};const i=r=>{t?e.push(r):La((()=>{n(r)}))};return{batch:i=>{let o;t++;try{o=i()}finally{t--,t||(()=>{const t=e;e=[],t.length&&La((()=>{r((()=>{t.forEach((e=>{n(e)}))}))}))})()}return o},batchCalls:e=>(...t)=>{i((()=>{e(...t)}))},schedule:i,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e}}}();class Ia{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){const t={listener:e};return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}}const Ua=new class extends Ia{constructor(){super(),this.setup=e=>{if(!ma&&window.addEventListener){const t=()=>e();return window.addEventListener("visibilitychange",t,!1),window.addEventListener("focus",t,!1),()=>{window.removeEventListener("visibilitychange",t),window.removeEventListener("focus",t)}}}}onSubscribe(){this.cleanup||this.setEventListener(this.setup)}onUnsubscribe(){var e;this.hasListeners()||(null==(e=this.cleanup)||e.call(this),this.cleanup=void 0)}setEventListener(e){var t;this.setup=e,null==(t=this.cleanup)||t.call(this),this.cleanup=e((e=>{"boolean"==typeof e?this.setFocused(e):this.onFocus()}))}setFocused(e){this.focused!==e&&(this.focused=e,this.onFocus())}onFocus(){this.listeners.forEach((({listener:e})=>{e()}))}isFocused(){return"boolean"==typeof this.focused?this.focused:"undefined"==typeof document||[void 0,"visible","prerender"].includes(document.visibilityState)}},za=["online","offline"],Ha=new class extends Ia{constructor(){super(),this.setup=e=>{if(!ma&&window.addEventListener){const t=()=>e();return za.forEach((e=>{window.addEventListener(e,t,!1)})),()=>{za.forEach((e=>{window.removeEventListener(e,t)}))}}}}onSubscribe(){this.cleanup||this.setEventListener(this.setup)}onUnsubscribe(){var e;this.hasListeners()||(null==(e=this.cleanup)||e.call(this),this.cleanup=void 0)}setEventListener(e){var t;this.setup=e,null==(t=this.cleanup)||t.call(this),this.cleanup=e((e=>{"boolean"==typeof e?this.setOnline(e):this.onOnline()}))}setOnline(e){this.online!==e&&(this.online=e,this.onOnline())}onOnline(){this.listeners.forEach((({listener:e})=>{e()}))}isOnline(){return"boolean"==typeof this.online?this.online:"undefined"==typeof navigator||void 0===navigator.onLine||navigator.onLine}};function Qa(e){return Math.min(1e3*2**e,3e4)}function Wa(e){return"online"!==(null!=e?e:"online")||Ha.isOnline()}class Ba{constructor(e){this.revert=null==e?void 0:e.revert,this.silent=null==e?void 0:e.silent}}function $a(e){return e instanceof Ba}function Ya(e){let t,n,r,i=!1,o=0,a=!1;const s=new Promise(((e,t)=>{n=e,r=t})),l=()=>!Ua.isFocused()||"always"!==e.networkMode&&!Ha.isOnline(),c=r=>{a||(a=!0,null==e.onSuccess||e.onSuccess(r),null==t||t(),n(r))},u=n=>{a||(a=!0,null==e.onError||e.onError(n),null==t||t(),r(n))},d=()=>new Promise((n=>{t=e=>{const t=a||!l();return t&&n(e),t},null==e.onPause||e.onPause()})).then((()=>{t=void 0,a||null==e.onContinue||e.onContinue()})),h=()=>{if(a)return;let t;try{t=e.fn()}catch(e){t=Promise.reject(e)}Promise.resolve(t).then(c).catch((t=>{var n,r;if(a)return;const s=null!=(n=e.retry)?n:3,c=null!=(r=e.retryDelay)?r:Qa,f="function"==typeof c?c(o,t):c,p=!0===s||"number"==typeof s&&o<s||"function"==typeof s&&s(o,t);!i&&p?(o++,null==e.onFail||e.onFail(o,t),Aa(f).then((()=>{if(l())return d()})).then((()=>{i?u(t):h()}))):u(t)}))};return Wa(e.networkMode)?h():d().then(h),{promise:s,cancel:t=>{a||(u(new Ba(t)),null==e.abort||e.abort())},continue:()=>(null==t?void 0:t())?s:Promise.resolve(),cancelRetry:()=>{i=!0},continueRetry:()=>{i=!1}}}class Va extends Ia{constructor(e,t){super(),this.client=e,this.options=t,this.trackedProps=new Set,this.selectError=null,this.bindMethods(),this.setOptions(t)}bindMethods(){this.remove=this.remove.bind(this),this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.currentQuery.addObserver(this),Ka(this.currentQuery,this.options)&&this.executeFetch(),this.updateTimers())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Ga(this.currentQuery,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Ga(this.currentQuery,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.clearStaleTimeout(),this.clearRefetchInterval(),this.currentQuery.removeObserver(this)}setOptions(e,t){const n=this.options,r=this.currentQuery;if(this.options=this.client.defaultQueryOptions(e),Da(n,this.options)||this.client.getQueryCache().notify({type:"observerOptionsUpdated",query:this.currentQuery,observer:this}),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled)throw new Error("Expected enabled to be a boolean");this.options.queryKey||(this.options.queryKey=n.queryKey),this.updateQuery();const i=this.hasListeners();i&&Xa(this.currentQuery,r,this.options,n)&&this.executeFetch(),this.updateResult(t),!i||this.currentQuery===r&&this.options.enabled===n.enabled&&this.options.staleTime===n.staleTime||this.updateStaleTimeout();const o=this.computeRefetchInterval();!i||this.currentQuery===r&&this.options.enabled===n.enabled&&o===this.currentRefetchInterval||this.updateRefetchInterval(o)}getOptimisticResult(e){const t=this.client.getQueryCache().build(this.client,e),n=this.createResult(t,e);return function(e,t,n){return!n.keepPreviousData&&(void 0!==n.placeholderData?t.isPlaceholderData:!Da(e.getCurrentResult(),t))}(this,n,e)&&(this.currentResult=n,this.currentResultOptions=this.options,this.currentResultState=this.currentQuery.state),n}getCurrentResult(){return this.currentResult}trackResult(e){const t={};return Object.keys(e).forEach((n=>{Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:()=>(this.trackedProps.add(n),e[n])})})),t}getCurrentQuery(){return this.currentQuery}remove(){this.client.getQueryCache().remove(this.currentQuery)}refetch({refetchPage:e,...t}={}){return this.fetch({...t,meta:{refetchPage:e}})}fetchOptimistic(e){const t=this.client.defaultQueryOptions(e),n=this.client.getQueryCache().build(this.client,t);return n.isFetchingOptimistic=!0,n.fetch().then((()=>this.createResult(n,t)))}fetch(e){var t;return this.executeFetch({...e,cancelRefetch:null==(t=e.cancelRefetch)||t}).then((()=>(this.updateResult(),this.currentResult)))}executeFetch(e){this.updateQuery();let t=this.currentQuery.fetch(this.options,e);return null!=e&&e.throwOnError||(t=t.catch(ga)),t}updateStaleTimeout(){if(this.clearStaleTimeout(),ma||this.currentResult.isStale||!va(this.options.staleTime))return;const e=wa(this.currentResult.dataUpdatedAt,this.options.staleTime)+1;this.staleTimeoutId=setTimeout((()=>{this.currentResult.isStale||this.updateResult()}),e)}computeRefetchInterval(){var e;return"function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.currentResult.data,this.currentQuery):null!=(e=this.options.refetchInterval)&&e}updateRefetchInterval(e){this.clearRefetchInterval(),this.currentRefetchInterval=e,!ma&&!1!==this.options.enabled&&va(this.currentRefetchInterval)&&0!==this.currentRefetchInterval&&(this.refetchIntervalId=setInterval((()=>{(this.options.refetchIntervalInBackground||Ua.isFocused())&&this.executeFetch()}),this.currentRefetchInterval))}updateTimers(){this.updateStaleTimeout(),this.updateRefetchInterval(this.computeRefetchInterval())}clearStaleTimeout(){this.staleTimeoutId&&(clearTimeout(this.staleTimeoutId),this.staleTimeoutId=void 0)}clearRefetchInterval(){this.refetchIntervalId&&(clearInterval(this.refetchIntervalId),this.refetchIntervalId=void 0)}createResult(e,t){const n=this.currentQuery,r=this.options,i=this.currentResult,o=this.currentResultState,a=this.currentResultOptions,s=e!==n,l=s?e.state:this.currentQueryInitialState,c=s?this.currentResult:this.previousQueryResult,{state:u}=e;let d,{dataUpdatedAt:h,error:f,errorUpdatedAt:p,fetchStatus:y,status:m}=u,g=!1,v=!1;if(t._optimisticResults){const i=this.hasListeners(),o=!i&&Ka(e,t),a=i&&Xa(e,n,t,r);(o||a)&&(y=Wa(e.options.networkMode)?"fetching":"paused",h||(m="loading")),"isRestoring"===t._optimisticResults&&(y="idle")}if(t.keepPreviousData&&!u.dataUpdatedAt&&null!=c&&c.isSuccess&&"error"!==m)d=c.data,h=c.dataUpdatedAt,m=c.status,g=!0;else if(t.select&&void 0!==u.data)if(i&&u.data===(null==o?void 0:o.data)&&t.select===this.selectFn)d=this.selectResult;else try{this.selectFn=t.select,d=t.select(u.data),d=ja(null==i?void 0:i.data,d,t),this.selectResult=d,this.selectError=null}catch(e){this.selectError=e}else d=u.data;if(void 0!==t.placeholderData&&void 0===d&&"loading"===m){let e;if(null!=i&&i.isPlaceholderData&&t.placeholderData===(null==a?void 0:a.placeholderData))e=i.data;else if(e="function"==typeof t.placeholderData?t.placeholderData():t.placeholderData,t.select&&void 0!==e)try{e=t.select(e),this.selectError=null}catch(e){this.selectError=e}void 0!==e&&(m="success",d=ja(null==i?void 0:i.data,e,t),v=!0)}this.selectError&&(f=this.selectError,d=this.selectResult,p=Date.now(),m="error");const b="fetching"===y,w="loading"===m,x="error"===m;return{status:m,fetchStatus:y,isLoading:w,isSuccess:"success"===m,isError:x,isInitialLoading:w&&b,data:d,dataUpdatedAt:h,error:f,errorUpdatedAt:p,failureCount:u.fetchFailureCount,failureReason:u.fetchFailureReason,errorUpdateCount:u.errorUpdateCount,isFetched:u.dataUpdateCount>0||u.errorUpdateCount>0,isFetchedAfterMount:u.dataUpdateCount>l.dataUpdateCount||u.errorUpdateCount>l.errorUpdateCount,isFetching:b,isRefetching:b&&!w,isLoadingError:x&&0===u.dataUpdatedAt,isPaused:"paused"===y,isPlaceholderData:v,isPreviousData:g,isRefetchError:x&&0!==u.dataUpdatedAt,isStale:Ja(e,t),refetch:this.refetch,remove:this.remove}}updateResult(e){const t=this.currentResult,n=this.createResult(this.currentQuery,this.options);if(this.currentResultState=this.currentQuery.state,this.currentResultOptions=this.options,Da(n,t))return;this.currentResult=n;const r={cache:!0};!1!==(null==e?void 0:e.listeners)&&(()=>{if(!t)return!0;const{notifyOnChangeProps:e}=this.options,n="function"==typeof e?e():e;if("all"===n||!n&&!this.trackedProps.size)return!0;const r=new Set(null!=n?n:this.trackedProps);return this.options.useErrorBoundary&&r.add("error"),Object.keys(this.currentResult).some((e=>{const n=e;return this.currentResult[n]!==t[n]&&r.has(n)}))})()&&(r.listeners=!0),this.notify({...r,...e})}updateQuery(){const e=this.client.getQueryCache().build(this.client,this.options);if(e===this.currentQuery)return;const t=this.currentQuery;this.currentQuery=e,this.currentQueryInitialState=e.state,this.previousQueryResult=this.currentResult,this.hasListeners()&&(null==t||t.removeObserver(this),e.addObserver(this))}onQueryUpdate(e){const t={};"success"===e.type?t.onSuccess=!e.manual:"error"!==e.type||$a(e.error)||(t.onError=!0),this.updateResult(t),this.hasListeners()&&this.updateTimers()}notify(e){Fa.batch((()=>{var t,n,r,i;if(e.onSuccess)null==(t=(n=this.options).onSuccess)||t.call(n,this.currentResult.data),null==(r=(i=this.options).onSettled)||r.call(i,this.currentResult.data,null);else if(e.onError){var o,a,s,l;null==(o=(a=this.options).onError)||o.call(a,this.currentResult.error),null==(s=(l=this.options).onSettled)||s.call(l,void 0,this.currentResult.error)}e.listeners&&this.listeners.forEach((({listener:e})=>{e(this.currentResult)})),e.cache&&this.client.getQueryCache().notify({query:this.currentQuery,type:"observerResultsUpdated"})}))}}function Ka(e,t){return function(e,t){return!(!1===t.enabled||e.state.dataUpdatedAt||"error"===e.state.status&&!1===t.retryOnMount)}(e,t)||e.state.dataUpdatedAt>0&&Ga(e,t,t.refetchOnMount)}function Ga(e,t,n){if(!1!==t.enabled){const r="function"==typeof n?n(e):n;return"always"===r||!1!==r&&Ja(e,t)}return!1}function Xa(e,t,n,r){return!1!==n.enabled&&(e!==t||!1===r.enabled)&&(!n.suspense||"error"!==e.state.status)&&Ja(e,n)}function Ja(e,t){return e.isStaleByTime(t.staleTime)}class Za extends Ia{constructor(e,t){super(),this.client=e,this.queries=[],this.result=[],this.observers=[],this.observersMap={},t&&this.setQueries(t)}onSubscribe(){1===this.listeners.size&&this.observers.forEach((e=>{e.subscribe((t=>{this.onUpdate(e,t)}))}))}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.observers.forEach((e=>{e.destroy()}))}setQueries(e,t){this.queries=e,Fa.batch((()=>{const e=this.observers,n=this.findMatchingObservers(this.queries);n.forEach((e=>e.observer.setOptions(e.defaultedQueryOptions,t)));const r=n.map((e=>e.observer)),i=Object.fromEntries(r.map((e=>[e.options.queryHash,e]))),o=r.map((e=>e.getCurrentResult())),a=r.some(((t,n)=>t!==e[n]));(e.length!==r.length||a)&&(this.observers=r,this.observersMap=i,this.result=o,this.hasListeners()&&(ba(e,r).forEach((e=>{e.destroy()})),ba(r,e).forEach((e=>{e.subscribe((t=>{this.onUpdate(e,t)}))})),this.notify()))}))}getCurrentResult(){return this.result}getQueries(){return this.observers.map((e=>e.getCurrentQuery()))}getObservers(){return this.observers}getOptimisticResult(e){return this.findMatchingObservers(e).map((e=>e.observer.getOptimisticResult(e.defaultedQueryOptions)))}findMatchingObservers(e){const t=this.observers,n=new Map(t.map((e=>[e.options.queryHash,e]))),r=e.map((e=>this.client.defaultQueryOptions(e))),i=r.flatMap((e=>{const t=n.get(e.queryHash);return null!=t?[{defaultedQueryOptions:e,observer:t}]:[]})),o=new Set(i.map((e=>e.defaultedQueryOptions.queryHash))),a=r.filter((e=>!o.has(e.queryHash))),s=new Set(i.map((e=>e.observer))),l=t.filter((e=>!s.has(e))),c=e=>{const t=this.client.defaultQueryOptions(e),n=this.observersMap[t.queryHash];return null!=n?n:new Va(this.client,t)},u=a.map(((e,t)=>{if(e.keepPreviousData){const n=l[t];if(void 0!==n)return{defaultedQueryOptions:e,observer:n}}return{defaultedQueryOptions:e,observer:c(e)}}));return i.concat(u).sort(((e,t)=>r.indexOf(e.defaultedQueryOptions)-r.indexOf(t.defaultedQueryOptions)))}onUpdate(e,t){const n=this.observers.indexOf(e);-1!==n&&(this.result=function(e,t,n){const r=e.slice(0);return r[t]=n,r}(this.result,n,t),this.notify())}notify(){Fa.batch((()=>{this.listeners.forEach((({listener:e})=>{e(this.result)}))}))}}const es=i(888).useSyncExternalStore,ts=o.createContext(void 0),ns=o.createContext(!1);function rs(e,t){return e||(t&&"undefined"!=typeof window?(window.ReactQueryClientContext||(window.ReactQueryClientContext=ts),window.ReactQueryClientContext):ts)}const is=({client:e,children:t,context:n,contextSharing:r=!1})=>{o.useEffect((()=>(e.mount(),()=>{e.unmount()})),[e]);const i=rs(n,r);return o.createElement(ns.Provider,{value:!n&&r},o.createElement(i.Provider,{value:e},t))},os=o.createContext(!1);os.Provider;const as=o.createContext(function(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}()),ss=(e,t)=>e.isLoading&&e.isFetching&&!t,ls=(e,t,n)=>(null==e?void 0:e.suspense)&&ss(t,n),cs=(e,t,n)=>t.fetchOptimistic(e).then((({data:t})=>{null==e.onSuccess||e.onSuccess(t),null==e.onSettled||e.onSettled(t,null)})).catch((t=>{n.clearReset(),null==e.onError||e.onError(t),null==e.onSettled||e.onSettled(void 0,t)}));function us(e){return 100<(e=parseInt(e))?"visitors-crowd":10<e?"visitors":"visitor"}const ds=({className:e,title:t,controls:n,children:r,footer:i})=>(0,o.createElement)("div",{className:"burst-grid-item "+e},(0,o.createElement)("div",{className:"burst-grid-item-header"},(0,o.createElement)("h3",{className:"burst-grid-title burst-h4"},t),(0,o.createElement)("div",{className:"burst-grid-item-controls"},n)),(0,o.createElement)("div",{className:"burst-grid-item-content"},r),(0,o.createElement)("div",{className:"burst-grid-item-footer"},i)),hs=()=>{const[e,t]=(0,s.useState)((()=>{if("undefined"!=typeof Storage){const e=localStorage.getItem("burst_widget_date_range");if(e&&0<e.length)return JSON.parse(e)}return"last-7-days"})());(0,s.useEffect)((()=>{burst_settings.json_translations.forEach((e=>{let t=JSON.parse(e),n=t.locale_data["burst-statistics"]||t.locale_data.messages;n[""].domain="burst-statistics",(0,l.setLocaleData)(n,"burst-statistics")}))}),[]);const n=T(["today","yesterday","last-7-days","last-30-days","last-90-days"]),r=n[e]?n[e].range():n["last-7-days"].range(),i=ya(r.startDate,"yyyy-MM-dd"),a=ya(r.endDate,"yyyy-MM-dd"),[c,u]=(0,s.useState)(5e3),d={live:{title:(0,l.__)("Live","burst-statistics"),icon:"visitor"},today:{title:(0,l.__)("Total","burst-statistics"),value:"-",icon:"visitor"},mostViewed:{title:"-",value:"-"},pageviews:{title:"-",value:"-"},referrer:{title:"-",value:"-"},timeOnPage:{title:"-",value:"-"}},h=function({queries:e,context:t}){const n=(({context:e}={})=>{const t=o.useContext(rs(e,o.useContext(ns)));if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t})({context:t}),r=o.useContext(os),i=o.useContext(as),a=o.useMemo((()=>e.map((e=>{const t=n.defaultQueryOptions(e);return t._optimisticResults=r?"isRestoring":"optimistic",t}))),[e,n,r]);a.forEach((e=>{var t;(t=e).suspense&&"number"!=typeof t.staleTime&&(t.staleTime=1e3),((e,t)=>{(e.suspense||e.useErrorBoundary)&&(t.isReset()||(e.retryOnMount=!1))})(e,i)})),(e=>{o.useEffect((()=>{e.clearReset()}),[e])})(i);const[s]=o.useState((()=>new Za(n,a))),l=s.getOptimisticResult(a);es(o.useCallback((e=>r?()=>{}:s.subscribe(Fa.batchCalls(e))),[s,r]),(()=>s.getCurrentResult()),(()=>s.getCurrentResult())),o.useEffect((()=>{s.setQueries(a,{listeners:!1})}),[a,s]);const c=l.some(((e,t)=>ls(a[t],e,r))),u=c?l.flatMap(((e,t)=>{const n=a[t],o=s.getObservers()[t];if(n&&o){if(ls(n,e,r))return cs(n,o,i);ss(e,r)&&cs(n,o,i)}return[]})):[];if(u.length>0)throw Promise.all(u);const d=s.getQueries(),h=l.find(((e,t)=>{var n,r;return(({result:e,errorResetBoundary:t,useErrorBoundary:n,query:r})=>{return e.isError&&!t.isReset()&&!e.isFetching&&(i=n,o=[e.error,r],"function"==typeof i?i(...o):!!i);var i,o})({result:e,errorResetBoundary:i,useErrorBoundary:null!=(n=null==(r=a[t])?void 0:r.useErrorBoundary)&&n,query:d[t]})}));if(null!=h&&h.error)throw h.error;return l}({queries:[{queryKey:["live-visitors"],queryFn:pe,refetchInterval:c,placeholderData:"-",onError:()=>{u(0)}},{queryKey:[e,i,a],queryFn:()=>(async e=>{const{startDate:t,endDate:n,range:r,filters:i}=e,{data:o}=await fe("today",t,n,r,{filters:i});return(e=>{for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t].value="timeOnPage"===t?k(e[t].value):E(e[t].value));return e})(o)})({startDate:i,endDate:a}),refetchInterval:2*c,placeholderData:d,onError:()=>{u(0)}}]}),f=h[0].data;let p=h[1].data;h.some((e=>e.isError))&&(p=d);let y=us(f||0),m="loading";return p&&p.today&&(m=us(p.today.value?p.today.value:0)),(0,o.createElement)(ds,{className:"border-to-border burst-today",title:(0,l.__)("Today","burst-statistics"),controls:(0,o.createElement)(o.Fragment,null,h[0].isFetching?(0,o.createElement)(Eo,{name:"loading"}):null),footer:(0,o.createElement)(o.Fragment,null,(0,o.createElement)("a",{className:"burst-button burst-button--secondary",href:burst_settings.dashboard_url+"#/statistics"},(0,l.__)("View all statistics","burst-statistics")),(0,o.createElement)("select",{onChange:e=>{return n=e.target.value,r=n,"undefined"!=typeof Storage&&localStorage.setItem("burst_widget_date_range",JSON.stringify(r)),void t(n);var n,r},value:e},Object.keys(n).map((e=>(0,o.createElement)("option",{key:e,value:e},n[e].label)))))},(0,o.createElement)("div",{className:"burst-today"},(0,o.createElement)("div",{className:"burst-today-select"},(0,o.createElement)("div",{className:"burst-today-select-item"},(0,o.createElement)(Eo,{name:y,size:"23"}),(0,o.createElement)("h2",null,f),(0,o.createElement)("span",null,(0,o.createElement)(Eo,{name:"live",size:"12",color:"red"})," ",(0,l.__)("Live","burst-statistics"))),(0,o.createElement)("div",{className:"burst-today-select-item"},(0,o.createElement)(Eo,{name:m,size:"23"}),(0,o.createElement)("h2",null,p.today.value),(0,o.createElement)("span",null,(0,o.createElement)(Eo,{name:"total",size:"13",color:"green"})," ",(0,l.__)("Total","burst-statistics")))),(0,o.createElement)("div",{className:"burst-today-list"},(0,o.createElement)("div",{className:"burst-today-list-item"},(0,o.createElement)(Eo,{name:"winner"}),(0,o.createElement)("p",{className:"burst-today-list-item-text"},decodeURI(p.mostViewed.title)),(0,o.createElement)("p",{className:"burst-today-list-item-number"},p.mostViewed.value)),(0,o.createElement)("div",{className:"burst-today-list-item"},(0,o.createElement)(Eo,{name:"referrer"}),(0,o.createElement)("p",{className:"burst-today-list-item-text"},decodeURI(p.referrer.title)),(0,o.createElement)("p",{className:"burst-today-list-item-number"},p.referrer.value)),(0,o.createElement)("div",{className:"burst-today-list-item"},(0,o.createElement)(Eo,{name:"pageviews"}),(0,o.createElement)("p",{className:"burst-today-list-item-text"},p.pageviews.title),(0,o.createElement)("p",{className:"burst-today-list-item-number"},p.pageviews.value)),(0,o.createElement)("div",{className:"burst-today-list-item"},(0,o.createElement)(Eo,{name:"time"}),(0,o.createElement)("p",{className:"burst-today-list-item-text"},p.timeOnPage.title),(0,o.createElement)("p",{className:"burst-today-list-item-number"},p.timeOnPage.value)))))},fs=console;class ps{destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),va(this.cacheTime)&&(this.gcTimeout=setTimeout((()=>{this.optionalRemove()}),this.cacheTime))}updateCacheTime(e){this.cacheTime=Math.max(this.cacheTime||0,null!=e?e:ma?1/0:3e5)}clearGcTimeout(){this.gcTimeout&&(clearTimeout(this.gcTimeout),this.gcTimeout=void 0)}}class ys extends ps{constructor(e){super(),this.abortSignalConsumed=!1,this.defaultOptions=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.cache=e.cache,this.logger=e.logger||fs,this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.initialState=e.state||function(e){const t="function"==typeof e.initialData?e.initialData():e.initialData,n=void 0!==t,r=n?"function"==typeof e.initialDataUpdatedAt?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?null!=r?r:Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"loading",fetchStatus:"idle"}}(this.options),this.state=this.initialState,this.scheduleGc()}get meta(){return this.options.meta}setOptions(e){this.options={...this.defaultOptions,...e},this.updateCacheTime(this.options.cacheTime)}optionalRemove(){this.observers.length||"idle"!==this.state.fetchStatus||this.cache.remove(this)}setData(e,t){const n=ja(this.state.data,e,this.options);return this.dispatch({data:n,type:"success",dataUpdatedAt:null==t?void 0:t.updatedAt,manual:null==t?void 0:t.manual}),n}setState(e,t){this.dispatch({type:"setState",state:e,setStateOptions:t})}cancel(e){var t;const n=this.promise;return null==(t=this.retryer)||t.cancel(e),n?n.then(ga).catch(ga):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.initialState)}isActive(){return this.observers.some((e=>!1!==e.options.enabled))}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return this.state.isInvalidated||!this.state.dataUpdatedAt||this.observers.some((e=>e.getCurrentResult().isStale))}isStaleByTime(e=0){return this.state.isInvalidated||!this.state.dataUpdatedAt||!wa(this.state.dataUpdatedAt,e)}onFocus(){var e;const t=this.observers.find((e=>e.shouldFetchOnWindowFocus()));t&&t.refetch({cancelRefetch:!1}),null==(e=this.retryer)||e.continue()}onOnline(){var e;const t=this.observers.find((e=>e.shouldFetchOnReconnect()));t&&t.refetch({cancelRefetch:!1}),null==(e=this.retryer)||e.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.cache.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter((t=>t!==e)),this.observers.length||(this.retryer&&(this.abortSignalConsumed?this.retryer.cancel({revert:!0}):this.retryer.cancelRetry()),this.scheduleGc()),this.cache.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.dispatch({type:"invalidate"})}fetch(e,t){var n,r;if("idle"!==this.state.fetchStatus)if(this.state.dataUpdatedAt&&null!=t&&t.cancelRefetch)this.cancel({silent:!0});else if(this.promise){var i;return null==(i=this.retryer)||i.continueRetry(),this.promise}if(e&&this.setOptions(e),!this.options.queryFn){const e=this.observers.find((e=>e.options.queryFn));e&&this.setOptions(e.options)}const o=function(){if("function"==typeof AbortController)return new AbortController}(),a={queryKey:this.queryKey,pageParam:void 0,meta:this.meta},s=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>{if(o)return this.abortSignalConsumed=!0,o.signal}})};s(a);const l={fetchOptions:t,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:()=>this.options.queryFn?(this.abortSignalConsumed=!1,this.options.queryFn(a)):Promise.reject("Missing queryFn for queryKey '"+this.options.queryHash+"'")};var c;s(l),null==(n=this.options.behavior)||n.onFetch(l),this.revertState=this.state,("idle"===this.state.fetchStatus||this.state.fetchMeta!==(null==(r=l.fetchOptions)?void 0:r.meta))&&this.dispatch({type:"fetch",meta:null==(c=l.fetchOptions)?void 0:c.meta});const u=e=>{var t,n,r,i;$a(e)&&e.silent||this.dispatch({type:"error",error:e}),$a(e)||(null==(t=(n=this.cache.config).onError)||t.call(n,e,this),null==(r=(i=this.cache.config).onSettled)||r.call(i,this.state.data,e,this)),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return this.retryer=Ya({fn:l.fetchFn,abort:null==o?void 0:o.abort.bind(o),onSuccess:e=>{var t,n,r,i;void 0!==e?(this.setData(e),null==(t=(n=this.cache.config).onSuccess)||t.call(n,e,this),null==(r=(i=this.cache.config).onSettled)||r.call(i,e,this.state.error,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1):u(new Error(this.queryHash+" data is undefined"))},onError:u,onFail:(e,t)=>{this.dispatch({type:"failed",failureCount:e,error:t})},onPause:()=>{this.dispatch({type:"pause"})},onContinue:()=>{this.dispatch({type:"continue"})},retry:l.options.retry,retryDelay:l.options.retryDelay,networkMode:l.options.networkMode}),this.promise=this.retryer.promise,this.promise}dispatch(e){this.state=(t=>{var n,r;switch(e.type){case"failed":return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...t,fetchStatus:"paused"};case"continue":return{...t,fetchStatus:"fetching"};case"fetch":return{...t,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null!=(n=e.meta)?n:null,fetchStatus:Wa(this.options.networkMode)?"fetching":"paused",...!t.dataUpdatedAt&&{error:null,status:"loading"}};case"success":return{...t,data:e.data,dataUpdateCount:t.dataUpdateCount+1,dataUpdatedAt:null!=(r=e.dataUpdatedAt)?r:Date.now(),error:null,isInvalidated:!1,status:"success",...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const i=e.error;return $a(i)&&i.revert&&this.revertState?{...this.revertState,fetchStatus:"idle"}:{...t,error:i,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error"};case"invalidate":return{...t,isInvalidated:!0};case"setState":return{...t,...e.state}}})(this.state),Fa.batch((()=>{this.observers.forEach((t=>{t.onQueryUpdate(e)})),this.cache.notify({query:this,type:"updated",action:e})}))}}class ms extends Ia{constructor(e){super(),this.config=e||{},this.queries=[],this.queriesMap={}}build(e,t,n){var r;const i=t.queryKey,o=null!=(r=t.queryHash)?r:Ma(i,t);let a=this.get(o);return a||(a=new ys({cache:this,logger:e.getLogger(),queryKey:i,queryHash:o,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(i)}),this.add(a)),a}add(e){this.queriesMap[e.queryHash]||(this.queriesMap[e.queryHash]=e,this.queries.push(e),this.notify({type:"added",query:e}))}remove(e){const t=this.queriesMap[e.queryHash];t&&(e.destroy(),this.queries=this.queries.filter((t=>t!==e)),t===e&&delete this.queriesMap[e.queryHash],this.notify({type:"removed",query:e}))}clear(){Fa.batch((()=>{this.queries.forEach((e=>{this.remove(e)}))}))}get(e){return this.queriesMap[e]}getAll(){return this.queries}find(e,t){const[n]=ka(e,t);return void 0===n.exact&&(n.exact=!0),this.queries.find((e=>Ea(n,e)))}findAll(e,t){const[n]=ka(e,t);return Object.keys(n).length>0?this.queries.filter((e=>Ea(n,e))):this.queries}notify(e){Fa.batch((()=>{this.listeners.forEach((({listener:t})=>{t(e)}))}))}onFocus(){Fa.batch((()=>{this.queries.forEach((e=>{e.onFocus()}))}))}onOnline(){Fa.batch((()=>{this.queries.forEach((e=>{e.onOnline()}))}))}}class gs extends ps{constructor(e){super(),this.defaultOptions=e.defaultOptions,this.mutationId=e.mutationId,this.mutationCache=e.mutationCache,this.logger=e.logger||fs,this.observers=[],this.state=e.state||{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0},this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options={...this.defaultOptions,...e},this.updateCacheTime(this.options.cacheTime)}get meta(){return this.options.meta}setState(e){this.dispatch({type:"setState",state:e})}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.mutationCache.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.observers=this.observers.filter((t=>t!==e)),this.scheduleGc(),this.mutationCache.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.observers.length||("loading"===this.state.status?this.scheduleGc():this.mutationCache.remove(this))}continue(){var e,t;return null!=(e=null==(t=this.retryer)?void 0:t.continue())?e:this.execute()}async execute(){const e=()=>{var e;return this.retryer=Ya({fn:()=>this.options.mutationFn?this.options.mutationFn(this.state.variables):Promise.reject("No mutationFn found"),onFail:(e,t)=>{this.dispatch({type:"failed",failureCount:e,error:t})},onPause:()=>{this.dispatch({type:"pause"})},onContinue:()=>{this.dispatch({type:"continue"})},retry:null!=(e=this.options.retry)?e:0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode}),this.retryer.promise},t="loading"===this.state.status;try{var n,r,i,o,a,s,l,c;if(!t){var u,d,h,f;this.dispatch({type:"loading",variables:this.options.variables}),await(null==(u=(d=this.mutationCache.config).onMutate)?void 0:u.call(d,this.state.variables,this));const e=await(null==(h=(f=this.options).onMutate)?void 0:h.call(f,this.state.variables));e!==this.state.context&&this.dispatch({type:"loading",context:e,variables:this.state.variables})}const p=await e();return await(null==(n=(r=this.mutationCache.config).onSuccess)?void 0:n.call(r,p,this.state.variables,this.state.context,this)),await(null==(i=(o=this.options).onSuccess)?void 0:i.call(o,p,this.state.variables,this.state.context)),await(null==(a=(s=this.mutationCache.config).onSettled)?void 0:a.call(s,p,null,this.state.variables,this.state.context,this)),await(null==(l=(c=this.options).onSettled)?void 0:l.call(c,p,null,this.state.variables,this.state.context)),this.dispatch({type:"success",data:p}),p}catch(e){try{var p,y,m,g,v,b,w,x;throw await(null==(p=(y=this.mutationCache.config).onError)?void 0:p.call(y,e,this.state.variables,this.state.context,this)),await(null==(m=(g=this.options).onError)?void 0:m.call(g,e,this.state.variables,this.state.context)),await(null==(v=(b=this.mutationCache.config).onSettled)?void 0:v.call(b,void 0,e,this.state.variables,this.state.context,this)),await(null==(w=(x=this.options).onSettled)?void 0:w.call(x,void 0,e,this.state.variables,this.state.context)),e}finally{this.dispatch({type:"error",error:e})}}}dispatch(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"loading":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:!Wa(this.options.networkMode),status:"loading",variables:e.variables};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"};case"setState":return{...t,...e.state}}})(this.state),Fa.batch((()=>{this.observers.forEach((t=>{t.onMutationUpdate(e)})),this.mutationCache.notify({mutation:this,type:"updated",action:e})}))}}class vs extends Ia{constructor(e){super(),this.config=e||{},this.mutations=[],this.mutationId=0}build(e,t,n){const r=new gs({mutationCache:this,logger:e.getLogger(),mutationId:++this.mutationId,options:e.defaultMutationOptions(t),state:n,defaultOptions:t.mutationKey?e.getMutationDefaults(t.mutationKey):void 0});return this.add(r),r}add(e){this.mutations.push(e),this.notify({type:"added",mutation:e})}remove(e){this.mutations=this.mutations.filter((t=>t!==e)),this.notify({type:"removed",mutation:e})}clear(){Fa.batch((()=>{this.mutations.forEach((e=>{this.remove(e)}))}))}getAll(){return this.mutations}find(e){return void 0===e.exact&&(e.exact=!0),this.mutations.find((t=>Ca(e,t)))}findAll(e){return this.mutations.filter((t=>Ca(e,t)))}notify(e){Fa.batch((()=>{this.listeners.forEach((({listener:t})=>{t(e)}))}))}resumePausedMutations(){var e;return this.resuming=(null!=(e=this.resuming)?e:Promise.resolve()).then((()=>{const e=this.mutations.filter((e=>e.state.isPaused));return Fa.batch((()=>e.reduce(((e,t)=>e.then((()=>t.continue().catch(ga)))),Promise.resolve())))})).then((()=>{this.resuming=void 0})),this.resuming}}function bs(e,t){return null==e.getNextPageParam?void 0:e.getNextPageParam(t[t.length-1],t)}var ws=i(338);const xs=new ms({onError:e=>{}});let ks={defaultOptions:{queries:{staleTime:36e5,refetchOnWindowFocus:!1,retry:!1}}};ks={...ks,queryCache:xs};const Es=new class{constructor(e={}){this.queryCache=e.queryCache||new ms,this.mutationCache=e.mutationCache||new vs,this.logger=e.logger||fs,this.defaultOptions=e.defaultOptions||{},this.queryDefaults=[],this.mutationDefaults=[],this.mountCount=0}mount(){this.mountCount++,1===this.mountCount&&(this.unsubscribeFocus=Ua.subscribe((()=>{Ua.isFocused()&&(this.resumePausedMutations(),this.queryCache.onFocus())})),this.unsubscribeOnline=Ha.subscribe((()=>{Ha.isOnline()&&(this.resumePausedMutations(),this.queryCache.onOnline())})))}unmount(){var e,t;this.mountCount--,0===this.mountCount&&(null==(e=this.unsubscribeFocus)||e.call(this),this.unsubscribeFocus=void 0,null==(t=this.unsubscribeOnline)||t.call(this),this.unsubscribeOnline=void 0)}isFetching(e,t){const[n]=ka(e,t);return n.fetchStatus="fetching",this.queryCache.findAll(n).length}isMutating(e){return this.mutationCache.findAll({...e,fetching:!0}).length}getQueryData(e,t){var n;return null==(n=this.queryCache.find(e,t))?void 0:n.state.data}ensureQueryData(e,t,n){const r=xa(e,t,n),i=this.getQueryData(r.queryKey);return i?Promise.resolve(i):this.fetchQuery(r)}getQueriesData(e){return this.getQueryCache().findAll(e).map((({queryKey:e,state:t})=>[e,t.data]))}setQueryData(e,t,n){const r=this.queryCache.find(e),i=function(e,t){return"function"==typeof e?e(t):e}(t,null==r?void 0:r.state.data);if(void 0===i)return;const o=xa(e),a=this.defaultQueryOptions(o);return this.queryCache.build(this,a).setData(i,{...n,manual:!0})}setQueriesData(e,t,n){return Fa.batch((()=>this.getQueryCache().findAll(e).map((({queryKey:e})=>[e,this.setQueryData(e,t,n)]))))}getQueryState(e,t){var n;return null==(n=this.queryCache.find(e,t))?void 0:n.state}removeQueries(e,t){const[n]=ka(e,t),r=this.queryCache;Fa.batch((()=>{r.findAll(n).forEach((e=>{r.remove(e)}))}))}resetQueries(e,t,n){const[r,i]=ka(e,t,n),o=this.queryCache,a={type:"active",...r};return Fa.batch((()=>(o.findAll(r).forEach((e=>{e.reset()})),this.refetchQueries(a,i))))}cancelQueries(e,t,n){const[r,i={}]=ka(e,t,n);void 0===i.revert&&(i.revert=!0);const o=Fa.batch((()=>this.queryCache.findAll(r).map((e=>e.cancel(i)))));return Promise.all(o).then(ga).catch(ga)}invalidateQueries(e,t,n){const[r,i]=ka(e,t,n);return Fa.batch((()=>{var e,t;if(this.queryCache.findAll(r).forEach((e=>{e.invalidate()})),"none"===r.refetchType)return Promise.resolve();const n={...r,type:null!=(e=null!=(t=r.refetchType)?t:r.type)?e:"active"};return this.refetchQueries(n,i)}))}refetchQueries(e,t,n){const[r,i]=ka(e,t,n),o=Fa.batch((()=>this.queryCache.findAll(r).filter((e=>!e.isDisabled())).map((e=>{var t;return e.fetch(void 0,{...i,cancelRefetch:null==(t=null==i?void 0:i.cancelRefetch)||t,meta:{refetchPage:r.refetchPage}})}))));let a=Promise.all(o).then(ga);return null!=i&&i.throwOnError||(a=a.catch(ga)),a}fetchQuery(e,t,n){const r=xa(e,t,n),i=this.defaultQueryOptions(r);void 0===i.retry&&(i.retry=!1);const o=this.queryCache.build(this,i);return o.isStaleByTime(i.staleTime)?o.fetch(i):Promise.resolve(o.state.data)}prefetchQuery(e,t,n){return this.fetchQuery(e,t,n).then(ga).catch(ga)}fetchInfiniteQuery(e,t,n){const r=xa(e,t,n);return r.behavior={onFetch:e=>{e.fetchFn=()=>{var t,n,r,i,o,a;const s=null==(t=e.fetchOptions)||null==(n=t.meta)?void 0:n.refetchPage,l=null==(r=e.fetchOptions)||null==(i=r.meta)?void 0:i.fetchMore,c=null==l?void 0:l.pageParam,u="forward"===(null==l?void 0:l.direction),d="backward"===(null==l?void 0:l.direction),h=(null==(o=e.state.data)?void 0:o.pages)||[],f=(null==(a=e.state.data)?void 0:a.pageParams)||[];let p=f,y=!1;const m=e.options.queryFn||(()=>Promise.reject("Missing queryFn for queryKey '"+e.options.queryHash+"'")),g=(e,t,n,r)=>(p=r?[t,...p]:[...p,t],r?[n,...e]:[...e,n]),v=(t,n,r,i)=>{if(y)return Promise.reject("Cancelled");if(void 0===r&&!n&&t.length)return Promise.resolve(t);const o={queryKey:e.queryKey,pageParam:r,meta:e.options.meta};var a;a=o,Object.defineProperty(a,"signal",{enumerable:!0,get:()=>{var t,n;return null!=(t=e.signal)&&t.aborted?y=!0:null==(n=e.signal)||n.addEventListener("abort",(()=>{y=!0})),e.signal}});const s=m(o);return Promise.resolve(s).then((e=>g(t,r,e,i)))};let b;if(h.length)if(u){const t=void 0!==c,n=t?c:bs(e.options,h);b=v(h,t,n)}else if(d){const t=void 0!==c,n=t?c:(w=e.options,x=h,null==w.getPreviousPageParam?void 0:w.getPreviousPageParam(x[0],x));b=v(h,t,n,!0)}else{p=[];const t=void 0===e.options.getNextPageParam;b=s&&h[0]&&!s(h[0],0,h)?Promise.resolve(g([],f[0],h[0])):v([],t,f[0]);for(let n=1;n<h.length;n++)b=b.then((r=>{if(!s||!h[n]||s(h[n],n,h)){const i=t?f[n]:bs(e.options,r);return v(r,t,i)}return Promise.resolve(g(r,f[n],h[n]))}))}else b=v([]);var w,x;return b.then((e=>({pages:e,pageParams:p})))}}},this.fetchQuery(r)}prefetchInfiniteQuery(e,t,n){return this.fetchInfiniteQuery(e,t,n).then(ga).catch(ga)}resumePausedMutations(){return this.mutationCache.resumePausedMutations()}getQueryCache(){return this.queryCache}getMutationCache(){return this.mutationCache}getLogger(){return this.logger}getDefaultOptions(){return this.defaultOptions}setDefaultOptions(e){this.defaultOptions=e}setQueryDefaults(e,t){const n=this.queryDefaults.find((t=>Ta(e)===Ta(t.queryKey)));n?n.defaultOptions=t:this.queryDefaults.push({queryKey:e,defaultOptions:t})}getQueryDefaults(e){if(!e)return;const t=this.queryDefaults.find((t=>Oa(e,t.queryKey)));return null==t?void 0:t.defaultOptions}setMutationDefaults(e,t){const n=this.mutationDefaults.find((t=>Ta(e)===Ta(t.mutationKey)));n?n.defaultOptions=t:this.mutationDefaults.push({mutationKey:e,defaultOptions:t})}getMutationDefaults(e){if(!e)return;const t=this.mutationDefaults.find((t=>Oa(e,t.mutationKey)));return null==t?void 0:t.defaultOptions}defaultQueryOptions(e){if(null!=e&&e._defaulted)return e;const t={...this.defaultOptions.queries,...this.getQueryDefaults(null==e?void 0:e.queryKey),...e,_defaulted:!0};return!t.queryHash&&t.queryKey&&(t.queryHash=Ma(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.useErrorBoundary&&(t.useErrorBoundary=!!t.suspense),t}defaultMutationOptions(e){return null!=e&&e._defaulted?e:{...this.defaultOptions.mutations,...this.getMutationDefaults(null==e?void 0:e.mutationKey),...e,_defaulted:!0}}clear(){this.queryCache.clear(),this.mutationCache.clear()}}(ks);document.addEventListener("DOMContentLoaded",(()=>{const e=document.getElementById("burst-widget-root");e&&(0,ws.H)(e).render((0,o.createElement)(is,{client:Es},(0,o.createElement)(hs,null)))}))})();1 (()=>{"use strict";var e,t,n={96:(e,t,n)=>{var r=n(609),i=Symbol.for("react.element"),o=Symbol.for("react.fragment"),a=Object.prototype.hasOwnProperty,s=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,o={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)a.call(t,r)&&!l.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===o[r]&&(o[r]=t[r]);return{$$typeof:i,type:e,key:c,ref:u,props:o,_owner:s.current}}t.Fragment=o,t.jsx=c,t.jsxs=c},338:(e,t,n)=>{var r=n(795);t.H=r.createRoot,r.hydrateRoot},428:(e,t,n)=>{e.exports=n(96)},493:(e,t,n)=>{var r=n(609),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=r.useState,a=r.useEffect,s=r.useLayoutEffect,l=r.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch(e){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=o({inst:{value:n,getSnapshot:t}}),i=r[0].inst,u=r[1];return s((function(){i.value=n,i.getSnapshot=t,c(i)&&u({inst:i})}),[e,n,t]),a((function(){return c(i)&&u({inst:i}),e((function(){c(i)&&u({inst:i})}))}),[e]),l(n),n};t.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:u},609:e=>{e.exports=window.React},795:e=>{e.exports=window.ReactDOM},888:(e,t,n)=>{e.exports=n(493)}},r={};function i(e){var t=r[e];if(void 0!==t)return t.exports;var o=r[e]={exports:{}};return n[e](o,o.exports,i),o.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,i.t=function(n,r){if(1&r&&(n=this(n)),8&r)return n;if("object"==typeof n&&n){if(4&r&&n.__esModule)return n;if(16&r&&"function"==typeof n.then)return n}var o=Object.create(null);i.r(o);var a={};e=e||[null,t({}),t([]),t(t)];for(var s=2&r&&n;"object"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach((e=>a[e]=()=>n[e]));return a.default=()=>n,i.d(o,a),o},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o=i(609),a=i.t(o,2);const s=window.wp.element,l=window.wp.i18n;function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function u(e,t){if(t.length<e)throw new TypeError(e+" argument"+(e>1?"s":"")+" required, but only "+t.length+" present")}function d(e){u(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||"object"===c(e)&&"[object Date]"===t?new Date(e.getTime()):"number"==typeof e||"[object Number]"===t?new Date(e):("string"!=typeof e&&"[object String]"!==t||"undefined"==typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn((new Error).stack)),new Date(NaN))}function h(e){u(1,arguments);var t=d(e);return t.setHours(0,0,0,0),t}function f(e){u(1,arguments);var t=d(e);return t.setHours(23,59,59,999),t}function p(e){if(null===e||!0===e||!1===e)return NaN;var t=Number(e);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)}function y(e,t){u(2,arguments);var n=d(e),r=p(t);return isNaN(r)?new Date(NaN):r?(n.setDate(n.getDate()+r),n):n}function m(e){u(1,arguments);var t=d(e);return t.setDate(1),t.setHours(0,0,0,0),t}function g(e,t){u(2,arguments);var n=d(e),r=p(t);if(isNaN(r))return new Date(NaN);if(!r)return n;var i=n.getDate(),o=new Date(n.getTime());return o.setMonth(n.getMonth()+r+1,0),i>=o.getDate()?o:(n.setFullYear(o.getFullYear(),o.getMonth(),i),n)}function v(e){u(1,arguments);var t=d(e),n=t.getMonth();return t.setFullYear(t.getFullYear(),n+1,0),t.setHours(23,59,59,999),t}function b(e){u(1,arguments);var t=d(e),n=new Date(0);return n.setFullYear(t.getFullYear(),0,1),n.setHours(0,0,0,0),n}function w(e,t){return u(2,arguments),g(e,12*p(t))}function x(e){u(1,arguments);var t=d(e),n=t.getFullYear();return t.setFullYear(n+1,0,0),t.setHours(23,59,59,999),t}function k(e=0){let t=Number(e);isNaN(t)&&(t=0);const n=Math.floor(t/1e3),r=Math.floor(n/3600),i=Math.floor((n-3600*r)/60),o=n-3600*r-60*i,a=e=>isNaN(e)?"00":String(e).padStart(2,"0");return 0===r?[i,o].map(a).join(":"):[r,i,o].map(a).join(":")}function E(e,t=1){return e=Number(e),isNaN(e)&&(e=0),e<1e3&&(t=0),new Intl.NumberFormat(void 0,{style:"decimal",notation:"compact",compactDisplay:"short",maximumFractionDigits:t}).format(e)}window.wp.date;const C=function(e=new Date){const t=-60*e.getTimezoneOffset(),n=Math.floor(e.getTime()/1e3)+3600*burst_settings.gmt_offset-t;return new Date(1e3*n)}(),M={today:{label:(0,l.__)("Today","burst-statistics"),range:()=>({startDate:h(C),endDate:f(C)})},yesterday:{label:(0,l.__)("Yesterday","burst-statistics"),range:()=>({startDate:h(y(C,-1)),endDate:f(y(C,-1))})},"last-7-days":{label:(0,l.__)("Last 7 days","burst-statistics"),range:()=>({startDate:h(y(C,-7)),endDate:f(y(C,-1))})},"last-30-days":{label:(0,l.__)("Last 30 days","burst-statistics"),range:()=>({startDate:h(y(C,-30)),endDate:f(y(C,-1))})},"last-90-days":{label:(0,l.__)("Last 90 days","burst-statistics"),range:()=>({startDate:h(y(C,-90)),endDate:f(y(C,-1))})},"last-month":{label:(0,l.__)("Last month","burst-statistics"),range:()=>({startDate:m(g(C,-1)),endDate:v(g(C,-1))})},"week-to-date":{label:(0,l.__)("Week to date","burst-statistics"),range:()=>({startDate:h(y(C,-C.getDay())),endDate:f(C)})},"month-to-date":{label:(0,l.__)("Month to date","burst-statistics"),range:()=>({startDate:m(C),endDate:f(C)})},"year-to-date":{label:(0,l.__)("Year to date","burst-statistics"),range:()=>({startDate:b(C),endDate:f(C)})},"last-year":{label:(0,l.__)("Last year","burst-statistics"),range:()=>({startDate:b(w(C,-1)),endDate:x(w(C,-1))})}},T=e=>{let t={};return Object.keys(M).filter((t=>e.includes(t))).forEach((e=>{t[e]={...M[e]}})),t},O=window.wp.apiFetch;var S=i.n(O);function R(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(n=R(e[t]))&&(r&&(r+=" "),r+=n);else for(t in e)e[t]&&(r&&(r+=" "),r+=t);return r}const D=function(){for(var e,t,n=0,r="";n<arguments.length;)(e=arguments[n++])&&(t=R(e))&&(r&&(r+=" "),r+=t);return r},P=e=>"number"==typeof e&&!isNaN(e),q=e=>"string"==typeof e,_=e=>"function"==typeof e,N=e=>q(e)||_(e)?e:null,A=e=>(0,o.isValidElement)(e)||q(e)||_(e)||P(e);function L(e){let{enter:t,exit:n,appendPosition:r=!1,collapse:i=!0,collapseDuration:a=300}=e;return function(e){let{children:s,position:l,preventExitTransition:c,done:u,nodeRef:d,isIn:h}=e;const f=r?`${t}--${l}`:t,p=r?`${n}--${l}`:n,y=(0,o.useRef)(0);return(0,o.useLayoutEffect)((()=>{const e=d.current,t=f.split(" "),n=r=>{r.target===d.current&&(e.dispatchEvent(new Event("d")),e.removeEventListener("animationend",n),e.removeEventListener("animationcancel",n),0===y.current&&"animationcancel"!==r.type&&e.classList.remove(...t))};e.classList.add(...t),e.addEventListener("animationend",n),e.addEventListener("animationcancel",n)}),[]),(0,o.useEffect)((()=>{const e=d.current,t=()=>{e.removeEventListener("animationend",t),i?function(e,t,n){void 0===n&&(n=300);const{scrollHeight:r,style:i}=e;requestAnimationFrame((()=>{i.minHeight="initial",i.height=r+"px",i.transition=`all ${n}ms`,requestAnimationFrame((()=>{i.height="0",i.padding="0",i.margin="0",setTimeout(t,n)}))}))}(e,u,a):u()};h||(c?t():(y.current=1,e.className+=` ${p}`,e.addEventListener("animationend",t)))}),[h]),o.createElement(o.Fragment,null,s)}}function j(e,t){return null!=e?{content:e.content,containerId:e.props.containerId,id:e.props.toastId,theme:e.props.theme,type:e.props.type,data:e.props.data||{},isLoading:e.props.isLoading,icon:e.props.icon,status:t}:{}}const F={list:new Map,emitQueue:new Map,on(e,t){return this.list.has(e)||this.list.set(e,[]),this.list.get(e).push(t),this},off(e,t){if(t){const n=this.list.get(e).filter((e=>e!==t));return this.list.set(e,n),this}return this.list.delete(e),this},cancelEmit(e){const t=this.emitQueue.get(e);return t&&(t.forEach(clearTimeout),this.emitQueue.delete(e)),this},emit(e){this.list.has(e)&&this.list.get(e).forEach((t=>{const n=setTimeout((()=>{t(...[].slice.call(arguments,1))}),0);this.emitQueue.has(e)||this.emitQueue.set(e,[]),this.emitQueue.get(e).push(n)}))}},I=e=>{let{theme:t,type:n,...r}=e;return o.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:"colored"===t?"currentColor":`var(--toastify-icon-color-${n})`,...r})},U={info:function(e){return o.createElement(I,{...e},o.createElement("path",{d:"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z"}))},warning:function(e){return o.createElement(I,{...e},o.createElement("path",{d:"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z"}))},success:function(e){return o.createElement(I,{...e},o.createElement("path",{d:"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z"}))},error:function(e){return o.createElement(I,{...e},o.createElement("path",{d:"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"}))},spinner:function(){return o.createElement("div",{className:"Toastify__spinner"})}};function z(e){const[,t]=(0,o.useReducer)((e=>e+1),0),[n,r]=(0,o.useState)([]),i=(0,o.useRef)(null),a=(0,o.useRef)(new Map).current,s=e=>-1!==n.indexOf(e),l=(0,o.useRef)({toastKey:1,displayedToast:0,count:0,queue:[],props:e,containerId:null,isToastActive:s,getToast:e=>a.get(e)}).current;function c(e){let{containerId:t}=e;const{limit:n}=l.props;!n||t&&l.containerId!==t||(l.count-=l.queue.length,l.queue=[])}function u(e){r((t=>null==e?[]:t.filter((t=>t!==e))))}function d(){const{toastContent:e,toastProps:t,staleId:n}=l.queue.shift();f(e,t,n)}function h(e,n){let{delay:r,staleId:s,...c}=n;if(!A(e)||function(e){return!i.current||l.props.enableMultiContainer&&e.containerId!==l.props.containerId||a.has(e.toastId)&&null==e.updateId}(c))return;const{toastId:h,updateId:p,data:y}=c,{props:m}=l,g=()=>u(h),v=null==p;v&&l.count++;const b={...m,style:m.toastStyle,key:l.toastKey++,...Object.fromEntries(Object.entries(c).filter((e=>{let[t,n]=e;return null!=n}))),toastId:h,updateId:p,data:y,closeToast:g,isIn:!1,className:N(c.className||m.toastClassName),bodyClassName:N(c.bodyClassName||m.bodyClassName),progressClassName:N(c.progressClassName||m.progressClassName),autoClose:!c.isLoading&&(w=c.autoClose,x=m.autoClose,!1===w||P(w)&&w>0?w:x),deleteToast(){const e=j(a.get(h),"removed");a.delete(h),F.emit(4,e);const n=l.queue.length;if(l.count=null==h?l.count-l.displayedToast:l.count-1,l.count<0&&(l.count=0),n>0){const e=null==h?l.props.limit:1;if(1===n||1===e)l.displayedToast++,d();else{const t=e>n?n:e;l.displayedToast=t;for(let e=0;e<t;e++)d()}}else t()}};var w,x;b.iconOut=function(e){let{theme:t,type:n,isLoading:r,icon:i}=e,a=null;const s={theme:t,type:n};return!1===i||(_(i)?a=i(s):(0,o.isValidElement)(i)?a=(0,o.cloneElement)(i,s):q(i)||P(i)?a=i:r?a=U.spinner():(e=>e in U)(n)&&(a=U[n](s))),a}(b),_(c.onOpen)&&(b.onOpen=c.onOpen),_(c.onClose)&&(b.onClose=c.onClose),b.closeButton=m.closeButton,!1===c.closeButton||A(c.closeButton)?b.closeButton=c.closeButton:!0===c.closeButton&&(b.closeButton=!A(m.closeButton)||m.closeButton);let k=e;(0,o.isValidElement)(e)&&!q(e.type)?k=(0,o.cloneElement)(e,{closeToast:g,toastProps:b,data:y}):_(e)&&(k=e({closeToast:g,toastProps:b,data:y})),m.limit&&m.limit>0&&l.count>m.limit&&v?l.queue.push({toastContent:k,toastProps:b,staleId:s}):P(r)?setTimeout((()=>{f(k,b,s)}),r):f(k,b,s)}function f(e,t,n){const{toastId:i}=t;n&&a.delete(n);const o={content:e,props:t};a.set(i,o),r((e=>[...e,i].filter((e=>e!==n)))),F.emit(4,j(o,null==o.props.updateId?"added":"updated"))}return(0,o.useEffect)((()=>(l.containerId=e.containerId,F.cancelEmit(3).on(0,h).on(1,(e=>i.current&&u(e))).on(5,c).emit(2,l),()=>{a.clear(),F.emit(3,l)})),[]),(0,o.useEffect)((()=>{l.props=e,l.isToastActive=s,l.displayedToast=n.length})),{getToastToRender:function(t){const n=new Map,r=Array.from(a.values());return e.newestOnTop&&r.reverse(),r.forEach((e=>{const{position:t}=e.props;n.has(t)||n.set(t,[]),n.get(t).push(e)})),Array.from(n,(e=>t(e[0],e[1])))},containerRef:i,isToastActive:s}}function H(e){return e.targetTouches&&e.targetTouches.length>=1?e.targetTouches[0].clientX:e.clientX}function Q(e){return e.targetTouches&&e.targetTouches.length>=1?e.targetTouches[0].clientY:e.clientY}function W(e){const[t,n]=(0,o.useState)(!1),[r,i]=(0,o.useState)(!1),a=(0,o.useRef)(null),s=(0,o.useRef)({start:0,x:0,y:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,boundingRect:null,didMove:!1}).current,l=(0,o.useRef)(e),{autoClose:c,pauseOnHover:u,closeToast:d,onClick:h,closeOnClick:f}=e;function p(t){if(e.draggable){"touchstart"===t.nativeEvent.type&&t.nativeEvent.preventDefault(),s.didMove=!1,document.addEventListener("mousemove",v),document.addEventListener("mouseup",b),document.addEventListener("touchmove",v),document.addEventListener("touchend",b);const n=a.current;s.canCloseOnClick=!0,s.canDrag=!0,s.boundingRect=n.getBoundingClientRect(),n.style.transition="",s.x=H(t.nativeEvent),s.y=Q(t.nativeEvent),"x"===e.draggableDirection?(s.start=s.x,s.removalDistance=n.offsetWidth*(e.draggablePercent/100)):(s.start=s.y,s.removalDistance=n.offsetHeight*(80===e.draggablePercent?1.5*e.draggablePercent:e.draggablePercent/100))}}function y(t){if(s.boundingRect){const{top:n,bottom:r,left:i,right:o}=s.boundingRect;"touchend"!==t.nativeEvent.type&&e.pauseOnHover&&s.x>=i&&s.x<=o&&s.y>=n&&s.y<=r?g():m()}}function m(){n(!0)}function g(){n(!1)}function v(n){const r=a.current;s.canDrag&&r&&(s.didMove=!0,t&&g(),s.x=H(n),s.y=Q(n),s.delta="x"===e.draggableDirection?s.x-s.start:s.y-s.start,s.start!==s.x&&(s.canCloseOnClick=!1),r.style.transform=`translate${e.draggableDirection}(${s.delta}px)`,r.style.opacity=""+(1-Math.abs(s.delta/s.removalDistance)))}function b(){document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",b),document.removeEventListener("touchmove",v),document.removeEventListener("touchend",b);const t=a.current;if(s.canDrag&&s.didMove&&t){if(s.canDrag=!1,Math.abs(s.delta)>s.removalDistance)return i(!0),void e.closeToast();t.style.transition="transform 0.2s, opacity 0.2s",t.style.transform=`translate${e.draggableDirection}(0)`,t.style.opacity="1"}}(0,o.useEffect)((()=>{l.current=e})),(0,o.useEffect)((()=>(a.current&&a.current.addEventListener("d",m,{once:!0}),_(e.onOpen)&&e.onOpen((0,o.isValidElement)(e.children)&&e.children.props),()=>{const e=l.current;_(e.onClose)&&e.onClose((0,o.isValidElement)(e.children)&&e.children.props)})),[]),(0,o.useEffect)((()=>(e.pauseOnFocusLoss&&(document.hasFocus()||g(),window.addEventListener("focus",m),window.addEventListener("blur",g)),()=>{e.pauseOnFocusLoss&&(window.removeEventListener("focus",m),window.removeEventListener("blur",g))})),[e.pauseOnFocusLoss]);const w={onMouseDown:p,onTouchStart:p,onMouseUp:y,onTouchEnd:y};return c&&u&&(w.onMouseEnter=g,w.onMouseLeave=m),f&&(w.onClick=e=>{h&&h(e),s.canCloseOnClick&&d()}),{playToast:m,pauseToast:g,isRunning:t,preventExitTransition:r,toastRef:a,eventHandlers:w}}function B(e){let{closeToast:t,theme:n,ariaLabel:r="close"}=e;return o.createElement("button",{className:`Toastify__close-button Toastify__close-button--${n}`,type:"button",onClick:e=>{e.stopPropagation(),t(e)},"aria-label":r},o.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},o.createElement("path",{fillRule:"evenodd",d:"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"})))}function $(e){let{delay:t,isRunning:n,closeToast:r,type:i="default",hide:a,className:s,style:l,controlledProgress:c,progress:u,rtl:d,isIn:h,theme:f}=e;const p=a||c&&0===u,y={...l,animationDuration:`${t}ms`,animationPlayState:n?"running":"paused",opacity:p?0:1};c&&(y.transform=`scaleX(${u})`);const m=D("Toastify__progress-bar",c?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${f}`,`Toastify__progress-bar--${i}`,{"Toastify__progress-bar--rtl":d}),g=_(s)?s({rtl:d,type:i,defaultClassName:m}):D(m,s);return o.createElement("div",{role:"progressbar","aria-hidden":p?"true":"false","aria-label":"notification timer",className:g,style:y,[c&&u>=1?"onTransitionEnd":"onAnimationEnd"]:c&&u<1?null:()=>{h&&r()}})}const Y=e=>{const{isRunning:t,preventExitTransition:n,toastRef:r,eventHandlers:i}=W(e),{closeButton:a,children:s,autoClose:l,onClick:c,type:u,hideProgressBar:d,closeToast:h,transition:f,position:p,className:y,style:m,bodyClassName:g,bodyStyle:v,progressClassName:b,progressStyle:w,updateId:x,role:k,progress:E,rtl:C,toastId:M,deleteToast:T,isIn:O,isLoading:S,iconOut:R,closeOnClick:P,theme:q}=e,N=D("Toastify__toast",`Toastify__toast-theme--${q}`,`Toastify__toast--${u}`,{"Toastify__toast--rtl":C},{"Toastify__toast--close-on-click":P}),A=_(y)?y({rtl:C,position:p,type:u,defaultClassName:N}):D(N,y),L=!!E||!l,j={closeToast:h,type:u,theme:q};let F=null;return!1===a||(F=_(a)?a(j):(0,o.isValidElement)(a)?(0,o.cloneElement)(a,j):B(j)),o.createElement(f,{isIn:O,done:T,position:p,preventExitTransition:n,nodeRef:r},o.createElement("div",{id:M,onClick:c,className:A,...i,style:m,ref:r},o.createElement("div",{...O&&{role:k},className:_(g)?g({type:u}):D("Toastify__toast-body",g),style:v},null!=R&&o.createElement("div",{className:D("Toastify__toast-icon",{"Toastify--animate-icon Toastify__zoom-enter":!S})},R),o.createElement("div",null,s)),F,o.createElement($,{...x&&!L?{key:`pb-${x}`}:{},rtl:C,theme:q,delay:l,isRunning:t,isIn:O,closeToast:h,hide:d,type:u,style:w,className:b,controlledProgress:L,progress:E||0})))},V=function(e,t){return void 0===t&&(t=!1),{enter:`Toastify--animate Toastify__${e}-enter`,exit:`Toastify--animate Toastify__${e}-exit`,appendPosition:t}},K=L(V("bounce",!0)),G=(L(V("slide",!0)),L(V("zoom")),L(V("flip")),(0,o.forwardRef)(((e,t)=>{const{getToastToRender:n,containerRef:r,isToastActive:i}=z(e),{className:a,style:s,rtl:l,containerId:c}=e;function u(e){const t=D("Toastify__toast-container",`Toastify__toast-container--${e}`,{"Toastify__toast-container--rtl":l});return _(a)?a({position:e,rtl:l,defaultClassName:t}):D(t,N(a))}return(0,o.useEffect)((()=>{t&&(t.current=r.current)}),[]),o.createElement("div",{ref:r,className:"Toastify",id:c},n(((e,t)=>{const n=t.length?{...s}:{...s,pointerEvents:"none"};return o.createElement("div",{className:u(e),style:n,key:`container-${e}`},t.map(((e,n)=>{let{content:r,props:a}=e;return o.createElement(Y,{...a,isIn:i(a.toastId),style:{...a.style,"--nth":n+1,"--len":t.length},key:`toast-${a.key}`},r)})))})))})));G.displayName="ToastContainer",G.defaultProps={position:"top-right",transition:K,autoClose:5e3,closeButton:B,pauseOnHover:!0,pauseOnFocusLoss:!0,closeOnClick:!0,draggable:!0,draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light"};let X,J=new Map,Z=[],ee=1;function te(){return""+ee++}function ne(e){return e&&(q(e.toastId)||P(e.toastId))?e.toastId:te()}function re(e,t){return J.size>0?F.emit(0,e,t):Z.push({content:e,options:t}),t.toastId}function ie(e,t){return{...t,type:t&&t.type||e,toastId:ne(t)}}function oe(e){return(t,n)=>re(t,ie(e,n))}function ae(e,t){return re(e,ie("default",t))}ae.loading=(e,t)=>re(e,ie("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...t})),ae.promise=function(e,t,n){let r,{pending:i,error:o,success:a}=t;i&&(r=q(i)?ae.loading(i,n):ae.loading(i.render,{...n,...i}));const s={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},l=(e,t,i)=>{if(null==t)return void ae.dismiss(r);const o={type:e,...s,...n,data:i},a=q(t)?{render:t}:t;return r?ae.update(r,{...o,...a}):ae(a.render,{...o,...a}),i},c=_(e)?e():e;return c.then((e=>l("success",a,e))).catch((e=>l("error",o,e))),c},ae.success=oe("success"),ae.info=oe("info"),ae.error=oe("error"),ae.warning=oe("warning"),ae.warn=ae.warning,ae.dark=(e,t)=>re(e,ie("default",{theme:"dark",...t})),ae.dismiss=e=>{J.size>0?F.emit(1,e):Z=Z.filter((t=>null!=e&&t.options.toastId!==e))},ae.clearWaitingQueue=function(e){return void 0===e&&(e={}),F.emit(5,e)},ae.isActive=e=>{let t=!1;return J.forEach((n=>{n.isToastActive&&n.isToastActive(e)&&(t=!0)})),t},ae.update=function(e,t){void 0===t&&(t={}),setTimeout((()=>{const n=function(e,t){let{containerId:n}=t;const r=J.get(n||X);return r&&r.getToast(e)}(e,t);if(n){const{props:r,content:i}=n,o={delay:100,...r,...t,toastId:t.toastId||e,updateId:te()};o.toastId!==e&&(o.staleId=e);const a=o.render||i;delete o.render,re(a,o)}}),0)},ae.done=e=>{ae.update(e,{progress:1})},ae.onChange=e=>(F.on(4,e),()=>{F.off(4,e)}),ae.POSITION={TOP_LEFT:"top-left",TOP_RIGHT:"top-right",TOP_CENTER:"top-center",BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right",BOTTOM_CENTER:"bottom-center"},ae.TYPE={INFO:"info",SUCCESS:"success",WARNING:"warning",ERROR:"error",DEFAULT:"default"},F.on(2,(e=>{X=e.containerId||e,J.set(X,e),Z.forEach((e=>{F.emit(0,e.content,e.options)})),Z=[]})).on(3,(e=>{J.delete(e.containerId||e),0===J.size&&F.off(0).off(1).off(5)}));let se="",le=0;const ce=(e,t=!1)=>{let n=(0,l.__)("Server error","burst-statistics");if(e=e.replace(/(<([^>]+)>)/gi,""),t){const e=t.split("?")[0].split("/"),r=e.indexOf("v1")+1;n=(0,l.__)("Server error in","burst-statistics")+" "+e[r]+"/"+e[r+1]}n+=": "+e;const r=Date.now();if(n===se&&r-le<3e3)return;se=n,le=r;const i=(0,o.createElement)("div",{title:(0,l.__)("Click to copy","burst-statistics"),onClick:()=>{navigator.clipboard.writeText(n),ae.success((0,l.__)("Error copied to clipboard","burst-statistics"))}},n);ae.error(i,{autoClose:15e3})},ue=async(e,t,n=null)=>{const r="GET"===e?`${he("ajax")}&rest_action=${t.replace("?","&")}`:he("ajax"),i={method:e,headers:{"Content-Type":"application/json; charset=UTF-8"},signal:(new AbortController).signal};"POST"===e&&(i.body=JSON.stringify({path:t,data:n},de));try{const e=await fetch(r,i);if(!e.ok)throw ce(!1,e.statusText),new Error(e.statusText);const t=await e.json();if(!t.data||!Object.prototype.hasOwnProperty.call(t.data,"request_success"))throw console.log("Ajax fallback request failed."),new Error("Invalid data error");return delete t.data.request_success,Promise.resolve(t.data)}catch(e){return Promise.reject(new Error("AJAX request failed"))}},de=(e,t)=>e?e&&e.includes("Control")?void 0:"object"==typeof t?JSON.parse(JSON.stringify(t,de)):t:t,he=e=>{let t;return t=void 0===e?burst_settings.site_url:burst_settings.admin_ajax_url,"https:"===window.location.protocol&&-1===t.indexOf("https://")?t.replace("http://","https://"):t},fe=async(e,t,n,r,i={})=>{const{filters:o,metrics:a,group_by:s,currentView:l,selectedPages:c}=i,u={date_start:t,date_end:n,date_range:r,nonce:burst_settings.burst_nonce,should_load_ecommerce:burst_settings.shouldLoadEcommerce||!1,goal_id:i.goal_id,token:Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,5),...c&&{selected_pages:c},...o&&{filters:o},...a&&{metrics:a},...s&&{group_by:s},...l&&{currentView:l}},d=(f=u,Object.keys(f).filter((e=>void 0!==f[e]&&null!==f[e])).map((e=>{const t=(e=>Array.isArray(e)?e:"object"==typeof e&&null!==e?JSON.stringify(e):e)(f[e]);return Array.isArray(t)?t.map((t=>`${encodeURIComponent(e)}[]=${encodeURIComponent(t)}`)).join("&"):`${encodeURIComponent(e)}=${encodeURIComponent(t)}`})).join("&")),h=`burst/v1/data/${e}${-1!==burst_settings.site_url.indexOf("?")?"&":"?"}${d}`;var f;return await(async(e,t="GET",n={})=>{let r={path:e,method:t,signal:(new AbortController).signal};"POST"===t&&(n.nonce=burst_settings.burst_nonce,r.data=n);try{const e=await S()(r);if(!e.request_success)throw Object.prototype.hasOwnProperty.call(e,"message")?new Error(e.message):new Error("Received unexpected response from server. Please check if the Rest API is enabled.");if(e.code&&200!==e.code)throw new Error(e.message);return delete e.request_success,e}catch(i){try{return await ue(t,e,n)}catch{throw ce(i.message,r.path),i}}})(h,"GET")},pe=async e=>{const{startDate:t,endDate:n,range:r,filters:i}=e,{data:o}=await fe("live-visitors",t,n,r,{filters:i});return E(o?.visitors)};function ye(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),!1===n||!r.defaultPrevented)return t?.(r)}}function me(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function ge(...e){return t=>{let n=!1;const r=e.map((e=>{const r=me(e,t);return n||"function"!=typeof r||(n=!0),r}));if(n)return()=>{for(let t=0;t<r.length;t++){const n=r[t];"function"==typeof n?n():me(e[t],null)}}}}function ve(...e){return o.useCallback(ge(...e),e)}"undefined"==typeof window||!window.document||window.document.createElement;var be=i(428);function we(e,t=[]){let n=[];const r=()=>{const t=n.map((e=>o.createContext(e)));return function(n){const r=n?.[e]||t;return o.useMemo((()=>({[`__scope${e}`]:{...n,[e]:r}})),[n,r])}};return r.scopeName=e,[function(t,r){const i=o.createContext(r),a=n.length;n=[...n,r];const s=t=>{const{scope:n,children:r,...s}=t,l=n?.[e]?.[a]||i,c=o.useMemo((()=>s),Object.values(s));return(0,be.jsx)(l.Provider,{value:c,children:r})};return s.displayName=t+"Provider",[s,function(n,s){const l=s?.[e]?.[a]||i,c=o.useContext(l);if(c)return c;if(void 0!==r)return r;throw new Error(`\`${n}\` must be used within \`${t}\``)}]},xe(r,...t)]}function xe(...e){const t=e[0];if(1===e.length)return t;const n=()=>{const n=e.map((e=>({useScope:e(),scopeName:e.scopeName})));return function(e){const r=n.reduce(((t,{useScope:n,scopeName:r})=>({...t,...n(e)[`__scope${r}`]})),{});return o.useMemo((()=>({[`__scope${t.scopeName}`]:r})),[r])}};return n.scopeName=t.scopeName,n}var ke=i(795);function Ee(e){const t=o.forwardRef(((e,t)=>{const{children:n,...r}=e;if(o.isValidElement(n)){const e=function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}(n),i=function(e,t){const n={...t};for(const r in t){const i=e[r],o=t[r];/^on[A-Z]/.test(r)?i&&o?n[r]=(...e)=>{const t=o(...e);return i(...e),t}:i&&(n[r]=i):"style"===r?n[r]={...i,...o}:"className"===r&&(n[r]=[i,o].filter(Boolean).join(" "))}return{...e,...n}}(r,n.props);return n.type!==o.Fragment&&(i.ref=t?ge(t,e):e),o.cloneElement(n,i)}return o.Children.count(n)>1?o.Children.only(null):null}));return t.displayName=`${e}.SlotClone`,t}var Ce=Symbol("radix.slottable");function Me(e){return o.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===Ce}var Te=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce(((e,t)=>{const n=function(e){const t=Ee(e),n=o.forwardRef(((e,n)=>{const{children:r,...i}=e,a=o.Children.toArray(r),s=a.find(Me);if(s){const e=s.props.children,r=a.map((t=>t===s?o.Children.count(e)>1?o.Children.only(null):o.isValidElement(e)?e.props.children:null:t));return(0,be.jsx)(t,{...i,ref:n,children:o.isValidElement(e)?o.cloneElement(e,void 0,r):null})}return(0,be.jsx)(t,{...i,ref:n,children:r})}));return n.displayName=`${e}.Slot`,n}(`Primitive.${t}`),r=o.forwardRef(((e,r)=>{const{asChild:i,...o}=e,a=i?n:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,be.jsx)(a,{...o,ref:r})}));return r.displayName=`Primitive.${t}`,{...e,[t]:r}}),{});function Oe(e){const t=o.useRef(e);return o.useEffect((()=>{t.current=e})),o.useMemo((()=>(...e)=>t.current?.(...e)),[])}var Se,Re="dismissableLayer.update",De=o.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Pe=o.forwardRef(((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:s,onDismiss:l,...c}=e,u=o.useContext(De),[d,h]=o.useState(null),f=d?.ownerDocument??globalThis?.document,[,p]=o.useState({}),y=ve(t,(e=>h(e))),m=Array.from(u.layers),[g]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),v=m.indexOf(g),b=d?m.indexOf(d):-1,w=u.layersWithOutsidePointerEventsDisabled.size>0,x=b>=v,k=function(e,t=globalThis?.document){const n=Oe(e),r=o.useRef(!1),i=o.useRef((()=>{}));return o.useEffect((()=>{const e=e=>{if(e.target&&!r.current){let r=function(){_e("dismissableLayer.pointerDownOutside",n,o,{discrete:!0})};const o={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",i.current),i.current=r,t.addEventListener("click",i.current,{once:!0})):r()}else t.removeEventListener("click",i.current);r.current=!1},o=window.setTimeout((()=>{t.addEventListener("pointerdown",e)}),0);return()=>{window.clearTimeout(o),t.removeEventListener("pointerdown",e),t.removeEventListener("click",i.current)}}),[t,n]),{onPointerDownCapture:()=>r.current=!0}}((e=>{const t=e.target,n=[...u.branches].some((e=>e.contains(t)));x&&!n&&(i?.(e),s?.(e),e.defaultPrevented||l?.())}),f),E=function(e,t=globalThis?.document){const n=Oe(e),r=o.useRef(!1);return o.useEffect((()=>{const e=e=>{e.target&&!r.current&&_e("dismissableLayer.focusOutside",n,{originalEvent:e},{discrete:!1})};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)}),[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}((e=>{const t=e.target;[...u.branches].some((e=>e.contains(t)))||(a?.(e),s?.(e),e.defaultPrevented||l?.())}),f);return function(e,t=globalThis?.document){const n=Oe(e);o.useEffect((()=>{const e=e=>{"Escape"===e.key&&n(e)};return t.addEventListener("keydown",e,{capture:!0}),()=>t.removeEventListener("keydown",e,{capture:!0})}),[n,t])}((e=>{b===u.layers.size-1&&(r?.(e),!e.defaultPrevented&&l&&(e.preventDefault(),l()))}),f),o.useEffect((()=>{if(d)return n&&(0===u.layersWithOutsidePointerEventsDisabled.size&&(Se=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),qe(),()=>{n&&1===u.layersWithOutsidePointerEventsDisabled.size&&(f.body.style.pointerEvents=Se)}}),[d,f,n,u]),o.useEffect((()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),qe())}),[d,u]),o.useEffect((()=>{const e=()=>p({});return document.addEventListener(Re,e),()=>document.removeEventListener(Re,e)}),[]),(0,be.jsx)(Te.div,{...c,ref:y,style:{pointerEvents:w?x?"auto":"none":void 0,...e.style},onFocusCapture:ye(e.onFocusCapture,E.onFocusCapture),onBlurCapture:ye(e.onBlurCapture,E.onBlurCapture),onPointerDownCapture:ye(e.onPointerDownCapture,k.onPointerDownCapture)})}));function qe(){const e=new CustomEvent(Re);document.dispatchEvent(e)}function _e(e,t,n,{discrete:r}){const i=n.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?function(e,t){e&&ke.flushSync((()=>e.dispatchEvent(t)))}(i,o):i.dispatchEvent(o)}Pe.displayName="DismissableLayer",o.forwardRef(((e,t)=>{const n=o.useContext(De),r=o.useRef(null),i=ve(t,r);return o.useEffect((()=>{const e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}}),[n.branches]),(0,be.jsx)(Te.div,{...e,ref:i})})).displayName="DismissableLayerBranch";var Ne=globalThis?.document?o.useLayoutEffect:()=>{},Ae=a[" useId ".trim().toString()]||(()=>{}),Le=0;const je=["top","right","bottom","left"],Fe=Math.min,Ie=Math.max,Ue=Math.round,ze=Math.floor,He=e=>({x:e,y:e}),Qe={left:"right",right:"left",bottom:"top",top:"bottom"},We={start:"end",end:"start"};function Be(e,t,n){return Ie(e,Fe(t,n))}function $e(e,t){return"function"==typeof e?e(t):e}function Ye(e){return e.split("-")[0]}function Ve(e){return e.split("-")[1]}function Ke(e){return"x"===e?"y":"x"}function Ge(e){return"y"===e?"height":"width"}const Xe=new Set(["top","bottom"]);function Je(e){return Xe.has(Ye(e))?"y":"x"}function Ze(e){return Ke(Je(e))}function et(e){return e.replace(/start|end/g,(e=>We[e]))}const tt=["left","right"],nt=["right","left"],rt=["top","bottom"],it=["bottom","top"];function ot(e){return e.replace(/left|right|bottom|top/g,(e=>Qe[e]))}function at(e){return"number"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}function st(e){const{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function lt(e,t,n){let{reference:r,floating:i}=e;const o=Je(t),a=Ze(t),s=Ge(a),l=Ye(t),c="y"===o,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,h=r[s]/2-i[s]/2;let f;switch(l){case"top":f={x:u,y:r.y-i.height};break;case"bottom":f={x:u,y:r.y+r.height};break;case"right":f={x:r.x+r.width,y:d};break;case"left":f={x:r.x-i.width,y:d};break;default:f={x:r.x,y:r.y}}switch(Ve(t)){case"start":f[a]-=h*(n&&c?-1:1);break;case"end":f[a]+=h*(n&&c?-1:1)}return f}async function ct(e,t){var n;void 0===t&&(t={});const{x:r,y:i,platform:o,rects:a,elements:s,strategy:l}=e,{boundary:c="clippingAncestors",rootBoundary:u="viewport",elementContext:d="floating",altBoundary:h=!1,padding:f=0}=$e(t,e),p=at(f),y=s[h?"floating"===d?"reference":"floating":d],m=st(await o.getClippingRect({element:null==(n=await(null==o.isElement?void 0:o.isElement(y)))||n?y:y.contextElement||await(null==o.getDocumentElement?void 0:o.getDocumentElement(s.floating)),boundary:c,rootBoundary:u,strategy:l})),g="floating"===d?{x:r,y:i,width:a.floating.width,height:a.floating.height}:a.reference,v=await(null==o.getOffsetParent?void 0:o.getOffsetParent(s.floating)),b=await(null==o.isElement?void 0:o.isElement(v))&&await(null==o.getScale?void 0:o.getScale(v))||{x:1,y:1},w=st(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:g,offsetParent:v,strategy:l}):g);return{top:(m.top-w.top+p.top)/b.y,bottom:(w.bottom-m.bottom+p.bottom)/b.y,left:(m.left-w.left+p.left)/b.x,right:(w.right-m.right+p.right)/b.x}}function ut(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function dt(e){return je.some((t=>e[t]>=0))}const ht=new Set(["left","top"]);function ft(){return"undefined"!=typeof window}function pt(e){return gt(e)?(e.nodeName||"").toLowerCase():"#document"}function yt(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function mt(e){var t;return null==(t=(gt(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function gt(e){return!!ft()&&(e instanceof Node||e instanceof yt(e).Node)}function vt(e){return!!ft()&&(e instanceof Element||e instanceof yt(e).Element)}function bt(e){return!!ft()&&(e instanceof HTMLElement||e instanceof yt(e).HTMLElement)}function wt(e){return!(!ft()||"undefined"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof yt(e).ShadowRoot)}const xt=new Set(["inline","contents"]);function kt(e){const{overflow:t,overflowX:n,overflowY:r,display:i}=Nt(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!xt.has(i)}const Et=new Set(["table","td","th"]);function Ct(e){return Et.has(pt(e))}const Mt=[":popover-open",":modal"];function Tt(e){return Mt.some((t=>{try{return e.matches(t)}catch(e){return!1}}))}const Ot=["transform","translate","scale","rotate","perspective"],St=["transform","translate","scale","rotate","perspective","filter"],Rt=["paint","layout","strict","content"];function Dt(e){const t=Pt(),n=vt(e)?Nt(e):e;return Ot.some((e=>!!n[e]&&"none"!==n[e]))||!!n.containerType&&"normal"!==n.containerType||!t&&!!n.backdropFilter&&"none"!==n.backdropFilter||!t&&!!n.filter&&"none"!==n.filter||St.some((e=>(n.willChange||"").includes(e)))||Rt.some((e=>(n.contain||"").includes(e)))}function Pt(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}const qt=new Set(["html","body","#document"]);function _t(e){return qt.has(pt(e))}function Nt(e){return yt(e).getComputedStyle(e)}function At(e){return vt(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Lt(e){if("html"===pt(e))return e;const t=e.assignedSlot||e.parentNode||wt(e)&&e.host||mt(e);return wt(t)?t.host:t}function jt(e){const t=Lt(e);return _t(t)?e.ownerDocument?e.ownerDocument.body:e.body:bt(t)&&kt(t)?t:jt(t)}function Ft(e,t,n){var r;void 0===t&&(t=[]),void 0===n&&(n=!0);const i=jt(e),o=i===(null==(r=e.ownerDocument)?void 0:r.body),a=yt(i);if(o){const e=It(a);return t.concat(a,a.visualViewport||[],kt(i)?i:[],e&&n?Ft(e):[])}return t.concat(i,Ft(i,[],n))}function It(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ut(e){const t=Nt(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const i=bt(e),o=i?e.offsetWidth:n,a=i?e.offsetHeight:r,s=Ue(n)!==o||Ue(r)!==a;return s&&(n=o,r=a),{width:n,height:r,$:s}}function zt(e){return vt(e)?e:e.contextElement}function Ht(e){const t=zt(e);if(!bt(t))return He(1);const n=t.getBoundingClientRect(),{width:r,height:i,$:o}=Ut(t);let a=(o?Ue(n.width):n.width)/r,s=(o?Ue(n.height):n.height)/i;return a&&Number.isFinite(a)||(a=1),s&&Number.isFinite(s)||(s=1),{x:a,y:s}}const Qt=He(0);function Wt(e){const t=yt(e);return Pt()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:Qt}function Bt(e,t,n,r){void 0===t&&(t=!1),void 0===n&&(n=!1);const i=e.getBoundingClientRect(),o=zt(e);let a=He(1);t&&(r?vt(r)&&(a=Ht(r)):a=Ht(e));const s=function(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==yt(e))&&t}(o,n,r)?Wt(o):He(0);let l=(i.left+s.x)/a.x,c=(i.top+s.y)/a.y,u=i.width/a.x,d=i.height/a.y;if(o){const e=yt(o),t=r&&vt(r)?yt(r):r;let n=e,i=It(n);for(;i&&r&&t!==n;){const e=Ht(i),t=i.getBoundingClientRect(),r=Nt(i),o=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,a=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;l*=e.x,c*=e.y,u*=e.x,d*=e.y,l+=o,c+=a,n=yt(i),i=It(n)}}return st({width:u,height:d,x:l,y:c})}function $t(e,t){const n=At(e).scrollLeft;return t?t.left+n:Bt(mt(e)).left+n}function Yt(e,t){const n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-$t(e,n),y:n.top+t.scrollTop}}const Vt=new Set(["absolute","fixed"]);function Kt(e,t,n){let r;if("viewport"===t)r=function(e,t){const n=yt(e),r=mt(e),i=n.visualViewport;let o=r.clientWidth,a=r.clientHeight,s=0,l=0;if(i){o=i.width,a=i.height;const e=Pt();(!e||e&&"fixed"===t)&&(s=i.offsetLeft,l=i.offsetTop)}const c=$t(r);if(c<=0){const e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i="CSS1Compat"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,a=Math.abs(r.clientWidth-t.clientWidth-i);a<=25&&(o-=a)}else c<=25&&(o+=c);return{width:o,height:a,x:s,y:l}}(e,n);else if("document"===t)r=function(e){const t=mt(e),n=At(e),r=e.ownerDocument.body,i=Ie(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),o=Ie(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let a=-n.scrollLeft+$t(e);const s=-n.scrollTop;return"rtl"===Nt(r).direction&&(a+=Ie(t.clientWidth,r.clientWidth)-i),{width:i,height:o,x:a,y:s}}(mt(e));else if(vt(t))r=function(e,t){const n=Bt(e,!0,"fixed"===t),r=n.top+e.clientTop,i=n.left+e.clientLeft,o=bt(e)?Ht(e):He(1);return{width:e.clientWidth*o.x,height:e.clientHeight*o.y,x:i*o.x,y:r*o.y}}(t,n);else{const n=Wt(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return st(r)}function Gt(e,t){const n=Lt(e);return!(n===t||!vt(n)||_t(n))&&("fixed"===Nt(n).position||Gt(n,t))}function Xt(e,t,n){const r=bt(t),i=mt(t),o="fixed"===n,a=Bt(e,!0,o,t);let s={scrollLeft:0,scrollTop:0};const l=He(0);function c(){l.x=$t(i)}if(r||!r&&!o)if(("body"!==pt(t)||kt(i))&&(s=At(t)),r){const e=Bt(t,!0,o,t);l.x=e.x+t.clientLeft,l.y=e.y+t.clientTop}else i&&c();o&&!r&&i&&c();const u=!i||r||o?He(0):Yt(i,s);return{x:a.left+s.scrollLeft-l.x-u.x,y:a.top+s.scrollTop-l.y-u.y,width:a.width,height:a.height}}function Jt(e){return"static"===Nt(e).position}function Zt(e,t){if(!bt(e)||"fixed"===Nt(e).position)return null;if(t)return t(e);let n=e.offsetParent;return mt(e)===n&&(n=n.ownerDocument.body),n}function en(e,t){const n=yt(e);if(Tt(e))return n;if(!bt(e)){let t=Lt(e);for(;t&&!_t(t);){if(vt(t)&&!Jt(t))return t;t=Lt(t)}return n}let r=Zt(e,t);for(;r&&Ct(r)&&Jt(r);)r=Zt(r,t);return r&&_t(r)&&Jt(r)&&!Dt(r)?n:r||function(e){let t=Lt(e);for(;bt(t)&&!_t(t);){if(Dt(t))return t;if(Tt(t))return null;t=Lt(t)}return null}(e)||n}const tn={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e;const o="fixed"===i,a=mt(r),s=!!t&&Tt(t.floating);if(r===a||s&&o)return n;let l={scrollLeft:0,scrollTop:0},c=He(1);const u=He(0),d=bt(r);if((d||!d&&!o)&&(("body"!==pt(r)||kt(a))&&(l=At(r)),bt(r))){const e=Bt(r);c=Ht(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}const h=!a||d||o?He(0):Yt(a,l);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-l.scrollLeft*c.x+u.x+h.x,y:n.y*c.y-l.scrollTop*c.y+u.y+h.y}},getDocumentElement:mt,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e;const o=[..."clippingAncestors"===n?Tt(t)?[]:function(e,t){const n=t.get(e);if(n)return n;let r=Ft(e,[],!1).filter((e=>vt(e)&&"body"!==pt(e))),i=null;const o="fixed"===Nt(e).position;let a=o?Lt(e):e;for(;vt(a)&&!_t(a);){const t=Nt(a),n=Dt(a);n||"fixed"!==t.position||(i=null),(o?!n&&!i:!n&&"static"===t.position&&i&&Vt.has(i.position)||kt(a)&&!n&&Gt(e,a))?r=r.filter((e=>e!==a)):i=t,a=Lt(a)}return t.set(e,r),r}(t,this._c):[].concat(n),r],a=o[0],s=o.reduce(((e,n)=>{const r=Kt(t,n,i);return e.top=Ie(r.top,e.top),e.right=Fe(r.right,e.right),e.bottom=Fe(r.bottom,e.bottom),e.left=Ie(r.left,e.left),e}),Kt(t,a,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}},getOffsetParent:en,getElementRects:async function(e){const t=this.getOffsetParent||en,n=this.getDimensions,r=await n(e.floating);return{reference:Xt(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:n}=Ut(e);return{width:t,height:n}},getScale:Ht,isElement:vt,isRTL:function(e){return"rtl"===Nt(e).direction}};function nn(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}const rn=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:i,y:o,placement:a,middlewareData:s}=t,l=await async function(e,t){const{placement:n,platform:r,elements:i}=e,o=await(null==r.isRTL?void 0:r.isRTL(i.floating)),a=Ye(n),s=Ve(n),l="y"===Je(n),c=ht.has(a)?-1:1,u=o&&l?-1:1,d=$e(t,e);let{mainAxis:h,crossAxis:f,alignmentAxis:p}="number"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&"number"==typeof p&&(f="end"===s?-1*p:p),l?{x:f*u,y:h*c}:{x:h*c,y:f*u}}(t,e);return a===(null==(n=s.offset)?void 0:n.placement)&&null!=(r=s.arrow)&&r.alignmentOffset?{}:{x:i+l.x,y:o+l.y,data:{...l,placement:a}}}}},on=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:i}=t,{mainAxis:o=!0,crossAxis:a=!1,limiter:s={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=$e(e,t),c={x:n,y:r},u=await ct(t,l),d=Je(Ye(i)),h=Ke(d);let f=c[h],p=c[d];if(o){const e="y"===h?"bottom":"right";f=Be(f+u["y"===h?"top":"left"],f,f-u[e])}if(a){const e="y"===d?"bottom":"right";p=Be(p+u["y"===d?"top":"left"],p,p-u[e])}const y=s.fn({...t,[h]:f,[d]:p});return{...y,data:{x:y.x-n,y:y.y-r,enabled:{[h]:o,[d]:a}}}}}},an=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n,r;const{placement:i,middlewareData:o,rects:a,initialPlacement:s,platform:l,elements:c}=t,{mainAxis:u=!0,crossAxis:d=!0,fallbackPlacements:h,fallbackStrategy:f="bestFit",fallbackAxisSideDirection:p="none",flipAlignment:y=!0,...m}=$e(e,t);if(null!=(n=o.arrow)&&n.alignmentOffset)return{};const g=Ye(i),v=Je(s),b=Ye(s)===s,w=await(null==l.isRTL?void 0:l.isRTL(c.floating)),x=h||(b||!y?[ot(s)]:function(e){const t=ot(e);return[et(e),t,et(t)]}(s)),k="none"!==p;!h&&k&&x.push(...function(e,t,n,r){const i=Ve(e);let o=function(e,t,n){switch(e){case"top":case"bottom":return n?t?nt:tt:t?tt:nt;case"left":case"right":return t?rt:it;default:return[]}}(Ye(e),"start"===n,r);return i&&(o=o.map((e=>e+"-"+i)),t&&(o=o.concat(o.map(et)))),o}(s,y,p,w));const E=[s,...x],C=await ct(t,m),M=[];let T=(null==(r=o.flip)?void 0:r.overflows)||[];if(u&&M.push(C[g]),d){const e=function(e,t,n){void 0===n&&(n=!1);const r=Ve(e),i=Ze(e),o=Ge(i);let a="x"===i?r===(n?"end":"start")?"right":"left":"start"===r?"bottom":"top";return t.reference[o]>t.floating[o]&&(a=ot(a)),[a,ot(a)]}(i,a,w);M.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:i,overflows:M}],!M.every((e=>e<=0))){var O,S;const e=((null==(O=o.flip)?void 0:O.index)||0)+1,t=E[e];if(t&&("alignment"!==d||v===Je(t)||T.every((e=>Je(e.placement)!==v||e.overflows[0]>0))))return{data:{index:e,overflows:T},reset:{placement:t}};let n=null==(S=T.filter((e=>e.overflows[0]<=0)).sort(((e,t)=>e.overflows[1]-t.overflows[1]))[0])?void 0:S.placement;if(!n)switch(f){case"bestFit":{var R;const e=null==(R=T.filter((e=>{if(k){const t=Je(e.placement);return t===v||"y"===t}return!0})).map((e=>[e.placement,e.overflows.filter((e=>e>0)).reduce(((e,t)=>e+t),0)])).sort(((e,t)=>e[1]-t[1]))[0])?void 0:R[0];e&&(n=e);break}case"initialPlacement":n=s}if(i!==n)return{reset:{placement:n}}}return{}}}},sn=function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){var n,r;const{placement:i,rects:o,platform:a,elements:s}=t,{apply:l=()=>{},...c}=$e(e,t),u=await ct(t,c),d=Ye(i),h=Ve(i),f="y"===Je(i),{width:p,height:y}=o.floating;let m,g;"top"===d||"bottom"===d?(m=d,g=h===(await(null==a.isRTL?void 0:a.isRTL(s.floating))?"start":"end")?"left":"right"):(g=d,m="end"===h?"top":"bottom");const v=y-u.top-u.bottom,b=p-u.left-u.right,w=Fe(y-u[m],v),x=Fe(p-u[g],b),k=!t.middlewareData.shift;let E=w,C=x;if(null!=(n=t.middlewareData.shift)&&n.enabled.x&&(C=b),null!=(r=t.middlewareData.shift)&&r.enabled.y&&(E=v),k&&!h){const e=Ie(u.left,0),t=Ie(u.right,0),n=Ie(u.top,0),r=Ie(u.bottom,0);f?C=p-2*(0!==e||0!==t?e+t:Ie(u.left,u.right)):E=y-2*(0!==n||0!==r?n+r:Ie(u.top,u.bottom))}await l({...t,availableWidth:C,availableHeight:E});const M=await a.getDimensions(s.floating);return p!==M.width||y!==M.height?{reset:{rects:!0}}:{}}}},ln=function(e){return void 0===e&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:r="referenceHidden",...i}=$e(e,t);switch(r){case"referenceHidden":{const e=ut(await ct(t,{...i,elementContext:"reference"}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:dt(e)}}}case"escaped":{const e=ut(await ct(t,{...i,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:dt(e)}}}default:return{}}}}},cn=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:i,rects:o,platform:a,elements:s,middlewareData:l}=t,{element:c,padding:u=0}=$e(e,t)||{};if(null==c)return{};const d=at(u),h={x:n,y:r},f=Ze(i),p=Ge(f),y=await a.getDimensions(c),m="y"===f,g=m?"top":"left",v=m?"bottom":"right",b=m?"clientHeight":"clientWidth",w=o.reference[p]+o.reference[f]-h[f]-o.floating[p],x=h[f]-o.reference[f],k=await(null==a.getOffsetParent?void 0:a.getOffsetParent(c));let E=k?k[b]:0;E&&await(null==a.isElement?void 0:a.isElement(k))||(E=s.floating[b]||o.floating[p]);const C=w/2-x/2,M=E/2-y[p]/2-1,T=Fe(d[g],M),O=Fe(d[v],M),S=T,R=E-y[p]-O,D=E/2-y[p]/2+C,P=Be(S,D,R),q=!l.arrow&&null!=Ve(i)&&D!==P&&o.reference[p]/2-(D<S?T:O)-y[p]/2<0,_=q?D<S?D-S:D-R:0;return{[f]:h[f]+_,data:{[f]:P,centerOffset:D-P-_,...q&&{alignmentOffset:_}},reset:q}}}),un=function(e){return void 0===e&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:i,rects:o,middlewareData:a}=t,{offset:s=0,mainAxis:l=!0,crossAxis:c=!0}=$e(e,t),u={x:n,y:r},d=Je(i),h=Ke(d);let f=u[h],p=u[d];const y=$e(s,t),m="number"==typeof y?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(l){const e="y"===h?"height":"width",t=o.reference[h]-o.floating[e]+m.mainAxis,n=o.reference[h]+o.reference[e]-m.mainAxis;f<t?f=t:f>n&&(f=n)}if(c){var g,v;const e="y"===h?"width":"height",t=ht.has(Ye(i)),n=o.reference[d]-o.floating[e]+(t&&(null==(g=a.offset)?void 0:g[d])||0)+(t?0:m.crossAxis),r=o.reference[d]+o.reference[e]+(t?0:(null==(v=a.offset)?void 0:v[d])||0)-(t?m.crossAxis:0);p<n?p=n:p>r&&(p=r)}return{[h]:f,[d]:p}}}},dn=(e,t,n)=>{const r=new Map,i={platform:tn,...n},o={...i.platform,_c:r};return(async(e,t,n)=>{const{placement:r="bottom",strategy:i="absolute",middleware:o=[],platform:a}=n,s=o.filter(Boolean),l=await(null==a.isRTL?void 0:a.isRTL(t));let c=await a.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=lt(c,r,l),h=r,f={},p=0;for(let n=0;n<s.length;n++){const{name:o,fn:y}=s[n],{x:m,y:g,data:v,reset:b}=await y({x:u,y:d,initialPlacement:r,placement:h,strategy:i,middlewareData:f,rects:c,platform:a,elements:{reference:e,floating:t}});u=null!=m?m:u,d=null!=g?g:d,f={...f,[o]:{...f[o],...v}},b&&p<=50&&(p++,"object"==typeof b&&(b.placement&&(h=b.placement),b.rects&&(c=!0===b.rects?await a.getElementRects({reference:e,floating:t,strategy:i}):b.rects),({x:u,y:d}=lt(c,h,l))),n=-1)}return{x:u,y:d,placement:h,strategy:i,middlewareData:f}})(e,t,{...i,platform:o})};var hn="undefined"!=typeof document?o.useLayoutEffect:function(){};function fn(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;0!==r--;)if(!fn(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;0!==r--;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;0!==r--;){const n=i[r];if(!("_owner"===n&&e.$$typeof||fn(e[n],t[n])))return!1}return!0}return e!=e&&t!=t}function pn(e){return"undefined"==typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function yn(e,t){const n=pn(e);return Math.round(t*n)/n}function mn(e){const t=o.useRef(e);return hn((()=>{t.current=e})),t}const gn=e=>({name:"arrow",options:e,fn(t){const{element:n,padding:r}="function"==typeof e?e(t):e;return n&&(i=n,{}.hasOwnProperty.call(i,"current"))?null!=n.current?cn({element:n.current,padding:r}).fn(t):{}:n?cn({element:n,padding:r}).fn(t):{};var i}}),vn=(e,t)=>({...on(e),options:[e,t]}),bn=(e,t)=>({...un(e),options:[e,t]}),wn=(e,t)=>({...an(e),options:[e,t]}),xn=(e,t)=>({...sn(e),options:[e,t]}),kn=(e,t)=>({...ln(e),options:[e,t]}),En=(e,t)=>({...gn(e),options:[e,t]});var Cn=o.forwardRef(((e,t)=>{const{children:n,width:r=10,height:i=5,...o}=e;return(0,be.jsx)(Te.svg,{...o,ref:t,width:r,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:(0,be.jsx)("polygon",{points:"0,0 30,0 15,10"})})}));Cn.displayName="Arrow";var Mn=Cn,Tn="Popper",[On,Sn]=we(Tn),[Rn,Dn]=On(Tn),Pn=e=>{const{__scopePopper:t,children:n}=e,[r,i]=o.useState(null);return(0,be.jsx)(Rn,{scope:t,anchor:r,onAnchorChange:i,children:n})};Pn.displayName=Tn;var qn="PopperAnchor",Nn=o.forwardRef(((e,t)=>{const{__scopePopper:n,virtualRef:r,...i}=e,a=Dn(qn,n),s=o.useRef(null),l=ve(t,s),c=o.useRef(null);return o.useEffect((()=>{const e=c.current;c.current=r?.current||s.current,e!==c.current&&a.onAnchorChange(c.current)})),r?null:(0,be.jsx)(Te.div,{...i,ref:l})}));Nn.displayName=qn;var An="PopperContent",[Ln,jn]=On(An),Fn=o.forwardRef(((e,t)=>{const{__scopePopper:n,side:r="bottom",sideOffset:i=0,align:a="center",alignOffset:s=0,arrowPadding:l=0,avoidCollisions:c=!0,collisionBoundary:u=[],collisionPadding:d=0,sticky:h="partial",hideWhenDetached:f=!1,updatePositionStrategy:p="optimized",onPlaced:y,...m}=e,g=Dn(An,n),[v,b]=o.useState(null),w=ve(t,(e=>b(e))),[x,k]=o.useState(null),E=function(e){const[t,n]=o.useState(void 0);return Ne((()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const t=new ResizeObserver((t=>{if(!Array.isArray(t))return;if(!t.length)return;const r=t[0];let i,o;if("borderBoxSize"in r){const e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,o=t.blockSize}else i=e.offsetWidth,o=e.offsetHeight;n({width:i,height:o})}));return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}n(void 0)}),[e]),t}(x),C=E?.width??0,M=E?.height??0,T=r+("center"!==a?"-"+a:""),O="number"==typeof d?d:{top:0,right:0,bottom:0,left:0,...d},S=Array.isArray(u)?u:[u],R=S.length>0,D={padding:O,boundary:S.filter(Hn),altBoundary:R},{refs:P,floatingStyles:q,placement:_,isPositioned:N,middlewareData:A}=function(e){void 0===e&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:i,elements:{reference:a,floating:s}={},transform:l=!0,whileElementsMounted:c,open:u}=e,[d,h]=o.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=o.useState(r);fn(f,r)||p(r);const[y,m]=o.useState(null),[g,v]=o.useState(null),b=o.useCallback((e=>{e!==E.current&&(E.current=e,m(e))}),[]),w=o.useCallback((e=>{e!==C.current&&(C.current=e,v(e))}),[]),x=a||y,k=s||g,E=o.useRef(null),C=o.useRef(null),M=o.useRef(d),T=null!=c,O=mn(c),S=mn(i),R=mn(u),D=o.useCallback((()=>{if(!E.current||!C.current)return;const e={placement:t,strategy:n,middleware:f};S.current&&(e.platform=S.current),dn(E.current,C.current,e).then((e=>{const t={...e,isPositioned:!1!==R.current};P.current&&!fn(M.current,t)&&(M.current=t,ke.flushSync((()=>{h(t)})))}))}),[f,t,n,S,R]);hn((()=>{!1===u&&M.current.isPositioned&&(M.current.isPositioned=!1,h((e=>({...e,isPositioned:!1}))))}),[u]);const P=o.useRef(!1);hn((()=>(P.current=!0,()=>{P.current=!1})),[]),hn((()=>{if(x&&(E.current=x),k&&(C.current=k),x&&k){if(O.current)return O.current(x,k,D);D()}}),[x,k,D,O,T]);const q=o.useMemo((()=>({reference:E,floating:C,setReference:b,setFloating:w})),[b,w]),_=o.useMemo((()=>({reference:x,floating:k})),[x,k]),N=o.useMemo((()=>{const e={position:n,left:0,top:0};if(!_.floating)return e;const t=yn(_.floating,d.x),r=yn(_.floating,d.y);return l?{...e,transform:"translate("+t+"px, "+r+"px)",...pn(_.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:t,top:r}}),[n,l,_.floating,d.x,d.y]);return o.useMemo((()=>({...d,update:D,refs:q,elements:_,floatingStyles:N})),[d,D,q,_,N])}({strategy:"fixed",placement:T,whileElementsMounted:(...e)=>function(e,t,n,r){void 0===r&&(r={});const{ancestorScroll:i=!0,ancestorResize:o=!0,elementResize:a="function"==typeof ResizeObserver,layoutShift:s="function"==typeof IntersectionObserver,animationFrame:l=!1}=r,c=zt(e),u=i||o?[...c?Ft(c):[],...Ft(t)]:[];u.forEach((e=>{i&&e.addEventListener("scroll",n,{passive:!0}),o&&e.addEventListener("resize",n)}));const d=c&&s?function(e,t){let n,r=null;const i=mt(e);function o(){var e;clearTimeout(n),null==(e=r)||e.disconnect(),r=null}return function a(s,l){void 0===s&&(s=!1),void 0===l&&(l=1),o();const c=e.getBoundingClientRect(),{left:u,top:d,width:h,height:f}=c;if(s||t(),!h||!f)return;const p={rootMargin:-ze(d)+"px "+-ze(i.clientWidth-(u+h))+"px "+-ze(i.clientHeight-(d+f))+"px "+-ze(u)+"px",threshold:Ie(0,Fe(1,l))||1};let y=!0;function m(t){const r=t[0].intersectionRatio;if(r!==l){if(!y)return a();r?a(!1,r):n=setTimeout((()=>{a(!1,1e-7)}),1e3)}1!==r||nn(c,e.getBoundingClientRect())||a(),y=!1}try{r=new IntersectionObserver(m,{...p,root:i.ownerDocument})}catch(e){r=new IntersectionObserver(m,p)}r.observe(e)}(!0),o}(c,n):null;let h,f=-1,p=null;a&&(p=new ResizeObserver((e=>{let[r]=e;r&&r.target===c&&p&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame((()=>{var e;null==(e=p)||e.observe(t)}))),n()})),c&&!l&&p.observe(c),p.observe(t));let y=l?Bt(e):null;return l&&function t(){const r=Bt(e);y&&!nn(y,r)&&n(),y=r,h=requestAnimationFrame(t)}(),n(),()=>{var e;u.forEach((e=>{i&&e.removeEventListener("scroll",n),o&&e.removeEventListener("resize",n)})),null==d||d(),null==(e=p)||e.disconnect(),p=null,l&&cancelAnimationFrame(h)}}(...e,{animationFrame:"always"===p}),elements:{reference:g.anchor},middleware:[(L={mainAxis:i+M,alignmentAxis:s},{...rn(L),options:[L,undefined]}),c&&vn({mainAxis:!0,crossAxis:!1,limiter:"partial"===h?bn():void 0,...D}),c&&wn({...D}),xn({...D,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{const{width:i,height:o}=t.reference,a=e.floating.style;a.setProperty("--radix-popper-available-width",`${n}px`),a.setProperty("--radix-popper-available-height",`${r}px`),a.setProperty("--radix-popper-anchor-width",`${i}px`),a.setProperty("--radix-popper-anchor-height",`${o}px`)}}),x&&En({element:x,padding:l}),Qn({arrowWidth:C,arrowHeight:M}),f&&kn({strategy:"referenceHidden",...D})]});var L;const[j,F]=Wn(_),I=Oe(y);Ne((()=>{N&&I?.()}),[N,I]);const U=A.arrow?.x,z=A.arrow?.y,H=0!==A.arrow?.centerOffset,[Q,W]=o.useState();return Ne((()=>{v&&W(window.getComputedStyle(v).zIndex)}),[v]),(0,be.jsx)("div",{ref:P.setFloating,"data-radix-popper-content-wrapper":"",style:{...q,transform:N?q.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Q,"--radix-popper-transform-origin":[A.transformOrigin?.x,A.transformOrigin?.y].join(" "),...A.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,be.jsx)(Ln,{scope:n,placedSide:j,onArrowChange:k,arrowX:U,arrowY:z,shouldHideArrow:H,children:(0,be.jsx)(Te.div,{"data-side":j,"data-align":F,...m,ref:w,style:{...m.style,animation:N?void 0:"none"}})})})}));Fn.displayName=An;var In="PopperArrow",Un={top:"bottom",right:"left",bottom:"top",left:"right"},zn=o.forwardRef((function(e,t){const{__scopePopper:n,...r}=e,i=jn(In,n),o=Un[i.placedSide];return(0,be.jsx)("span",{ref:i.onArrowChange,style:{position:"absolute",left:i.arrowX,top:i.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i.placedSide],visibility:i.shouldHideArrow?"hidden":void 0},children:(0,be.jsx)(Mn,{...r,ref:t,style:{...r.style,display:"block"}})})}));function Hn(e){return null!==e}zn.displayName=In;var Qn=e=>({name:"transformOrigin",options:e,fn(t){const{placement:n,rects:r,middlewareData:i}=t,o=0!==i.arrow?.centerOffset,a=o?0:e.arrowWidth,s=o?0:e.arrowHeight,[l,c]=Wn(n),u={start:"0%",center:"50%",end:"100%"}[c],d=(i.arrow?.x??0)+a/2,h=(i.arrow?.y??0)+s/2;let f="",p="";return"bottom"===l?(f=o?u:`${d}px`,p=-s+"px"):"top"===l?(f=o?u:`${d}px`,p=`${r.floating.height+s}px`):"right"===l?(f=-s+"px",p=o?u:`${h}px`):"left"===l&&(f=`${r.floating.width+s}px`,p=o?u:`${h}px`),{data:{x:f,y:p}}}});function Wn(e){const[t,n="center"]=e.split("-");return[t,n]}var Bn=Pn,$n=Nn,Yn=Fn,Vn=zn,Kn=o.forwardRef(((e,t)=>{const{container:n,...r}=e,[i,a]=o.useState(!1);Ne((()=>a(!0)),[]);const s=n||i&&globalThis?.document?.body;return s?ke.createPortal((0,be.jsx)(Te.div,{...r,ref:t}),s):null}));Kn.displayName="Portal";var Gn=e=>{const{present:t,children:n}=e,r=function(e){const[t,n]=o.useState(),r=o.useRef(null),i=o.useRef(e),a=o.useRef("none"),s=e?"mounted":"unmounted",[l,c]=function(e,t){return o.useReducer(((e,n)=>t[e][n]??e),e)}(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return o.useEffect((()=>{const e=Xn(r.current);a.current="mounted"===l?e:"none"}),[l]),Ne((()=>{const t=r.current,n=i.current;if(n!==e){const r=a.current,o=Xn(t);c(e?"MOUNT":"none"===o||"none"===t?.display?"UNMOUNT":n&&r!==o?"ANIMATION_OUT":"UNMOUNT"),i.current=e}}),[e,c]),Ne((()=>{if(t){let e;const n=t.ownerDocument.defaultView??window,o=o=>{const a=Xn(r.current).includes(CSS.escape(o.animationName));if(o.target===t&&a&&(c("ANIMATION_END"),!i.current)){const r=t.style.animationFillMode;t.style.animationFillMode="forwards",e=n.setTimeout((()=>{"forwards"===t.style.animationFillMode&&(t.style.animationFillMode=r)}))}},s=e=>{e.target===t&&(a.current=Xn(r.current))};return t.addEventListener("animationstart",s),t.addEventListener("animationcancel",o),t.addEventListener("animationend",o),()=>{n.clearTimeout(e),t.removeEventListener("animationstart",s),t.removeEventListener("animationcancel",o),t.removeEventListener("animationend",o)}}c("ANIMATION_END")}),[t,c]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:o.useCallback((e=>{r.current=e?getComputedStyle(e):null,n(e)}),[])}}(t),i="function"==typeof n?n({present:r.isPresent}):o.Children.only(n),a=ve(r.ref,function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}(i));return"function"==typeof n||r.isPresent?o.cloneElement(i,{ref:a}):null};function Xn(e){return e?.animationName||"none"}Gn.displayName="Presence";var Jn=a[" useInsertionEffect ".trim().toString()]||Ne;Symbol("RADIX:SYNC_STATE");var Zn=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),er=o.forwardRef(((e,t)=>(0,be.jsx)(Te.span,{...e,ref:t,style:{...Zn,...e.style}})));er.displayName="VisuallyHidden";var tr=er,[nr,rr]=we("Tooltip",[Sn]),ir=Sn(),or="TooltipProvider",ar=700,sr="tooltip.open",[lr,cr]=nr(or),ur=e=>{const{__scopeTooltip:t,delayDuration:n=ar,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,s=o.useRef(!0),l=o.useRef(!1),c=o.useRef(0);return o.useEffect((()=>{const e=c.current;return()=>window.clearTimeout(e)}),[]),(0,be.jsx)(lr,{scope:t,isOpenDelayedRef:s,delayDuration:n,onOpen:o.useCallback((()=>{window.clearTimeout(c.current),s.current=!1}),[]),onClose:o.useCallback((()=>{window.clearTimeout(c.current),c.current=window.setTimeout((()=>s.current=!0),r)}),[r]),isPointerInTransitRef:l,onPointerInTransitChange:o.useCallback((e=>{l.current=e}),[]),disableHoverableContent:i,children:a})};ur.displayName=or;var dr="Tooltip",[hr,fr]=nr(dr),pr=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:s,delayDuration:l}=e,c=cr(dr,e.__scopeTooltip),u=ir(t),[d,h]=o.useState(null),f=function(e){const[t,n]=o.useState(Ae());return Ne((()=>{n((e=>e??String(Le++)))}),[e]),t?`radix-${t}`:""}(),p=o.useRef(0),y=s??c.disableHoverableContent,m=l??c.delayDuration,g=o.useRef(!1),[v,b]=function({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[i,a,s]=function({defaultProp:e,onChange:t}){const[n,r]=o.useState(e),i=o.useRef(n),a=o.useRef(t);return Jn((()=>{a.current=t}),[t]),o.useEffect((()=>{i.current!==n&&(a.current?.(n),i.current=n)}),[n,i]),[n,r,a]}({defaultProp:t,onChange:n}),l=void 0!==e,c=l?e:i;{const t=o.useRef(void 0!==e);o.useEffect((()=>{const e=t.current;if(e!==l){const t=e?"controlled":"uncontrolled",n=l?"controlled":"uncontrolled";console.warn(`${r} is changing from ${t} to ${n}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=l}),[l,r])}const u=o.useCallback((t=>{if(l){const n=function(e){return"function"==typeof e}(t)?t(e):t;n!==e&&s.current?.(n)}else a(t)}),[l,e,a,s]);return[c,u]}({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(sr))):c.onClose(),a?.(e)},caller:dr}),w=o.useMemo((()=>v?g.current?"delayed-open":"instant-open":"closed"),[v]),x=o.useCallback((()=>{window.clearTimeout(p.current),p.current=0,g.current=!1,b(!0)}),[b]),k=o.useCallback((()=>{window.clearTimeout(p.current),p.current=0,b(!1)}),[b]),E=o.useCallback((()=>{window.clearTimeout(p.current),p.current=window.setTimeout((()=>{g.current=!0,b(!0),p.current=0}),m)}),[m,b]);return o.useEffect((()=>()=>{p.current&&(window.clearTimeout(p.current),p.current=0)}),[]),(0,be.jsx)(Bn,{...u,children:(0,be.jsx)(hr,{scope:t,contentId:f,open:v,stateAttribute:w,trigger:d,onTriggerChange:h,onTriggerEnter:o.useCallback((()=>{c.isOpenDelayedRef.current?E():x()}),[c.isOpenDelayedRef,E,x]),onTriggerLeave:o.useCallback((()=>{y?k():(window.clearTimeout(p.current),p.current=0)}),[k,y]),onOpen:x,onClose:k,disableHoverableContent:y,children:n})})};pr.displayName=dr;var yr="TooltipTrigger",mr=o.forwardRef(((e,t)=>{const{__scopeTooltip:n,...r}=e,i=fr(yr,n),a=cr(yr,n),s=ir(n),l=ve(t,o.useRef(null),i.onTriggerChange),c=o.useRef(!1),u=o.useRef(!1),d=o.useCallback((()=>c.current=!1),[]);return o.useEffect((()=>()=>document.removeEventListener("pointerup",d)),[d]),(0,be.jsx)($n,{asChild:!0,...s,children:(0,be.jsx)(Te.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:l,onPointerMove:ye(e.onPointerMove,(e=>{"touch"!==e.pointerType&&(u.current||a.isPointerInTransitRef.current||(i.onTriggerEnter(),u.current=!0))})),onPointerLeave:ye(e.onPointerLeave,(()=>{i.onTriggerLeave(),u.current=!1})),onPointerDown:ye(e.onPointerDown,(()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener("pointerup",d,{once:!0})})),onFocus:ye(e.onFocus,(()=>{c.current||i.onOpen()})),onBlur:ye(e.onBlur,i.onClose),onClick:ye(e.onClick,i.onClose)})})}));mr.displayName=yr;var gr="TooltipPortal",[vr,br]=nr(gr,{forceMount:void 0}),wr="TooltipContent",xr=o.forwardRef(((e,t)=>{const n=br(wr,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i="top",...o}=e,a=fr(wr,e.__scopeTooltip);return(0,be.jsx)(Gn,{present:r||a.open,children:a.disableHoverableContent?(0,be.jsx)(Tr,{side:i,...o,ref:t}):(0,be.jsx)(kr,{side:i,...o,ref:t})})})),kr=o.forwardRef(((e,t)=>{const n=fr(wr,e.__scopeTooltip),r=cr(wr,e.__scopeTooltip),i=o.useRef(null),a=ve(t,i),[s,l]=o.useState(null),{trigger:c,onClose:u}=n,d=i.current,{onPointerInTransitChange:h}=r,f=o.useCallback((()=>{l(null),h(!1)}),[h]),p=o.useCallback(((e,t)=>{const n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=function(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return r}(r,function(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),o=Math.abs(t.left-e.x);switch(Math.min(n,r,i,o)){case o:return"left";case i:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}(r,n.getBoundingClientRect())),o=function(e){const t=e.slice();return t.sort(((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0)),function(e){if(e.length<=1)return e.slice();const t=[];for(let n=0;n<e.length;n++){const r=e[n];for(;t.length>=2;){const e=t[t.length-1],n=t[t.length-2];if(!((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x)))break;t.pop()}t.push(r)}t.pop();const n=[];for(let t=e.length-1;t>=0;t--){const r=e[t];for(;n.length>=2;){const e=n[n.length-1],t=n[n.length-2];if(!((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x)))break;n.pop()}n.push(r)}return n.pop(),1===t.length&&1===n.length&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}(t)}([...i,...function(e){const{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}(t.getBoundingClientRect())]);l(o),h(!0)}),[h]);return o.useEffect((()=>()=>f()),[f]),o.useEffect((()=>{if(c&&d){const e=e=>p(e,d),t=e=>p(e,c);return c.addEventListener("pointerleave",e),d.addEventListener("pointerleave",t),()=>{c.removeEventListener("pointerleave",e),d.removeEventListener("pointerleave",t)}}}),[c,d,p,f]),o.useEffect((()=>{if(s){const e=e=>{const t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||d?.contains(t),i=!function(e,t){const{x:n,y:r}=e;let i=!1;for(let e=0,o=t.length-1;e<t.length;o=e++){const a=t[e],s=t[o],l=a.x,c=a.y,u=s.x,d=s.y;c>r!=d>r&&n<(u-l)*(r-c)/(d-c)+l&&(i=!i)}return i}(n,s);r?f():i&&(f(),u())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}}),[c,d,s,u,f]),(0,be.jsx)(Tr,{...e,ref:a})})),[Er,Cr]=nr(dr,{isInside:!1}),Mr=function(e){const t=({children:e})=>(0,be.jsx)(be.Fragment,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=Ce,t}("TooltipContent"),Tr=o.forwardRef(((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:s,...l}=e,c=fr(wr,n),u=ir(n),{onClose:d}=c;return o.useEffect((()=>(document.addEventListener(sr,d),()=>document.removeEventListener(sr,d))),[d]),o.useEffect((()=>{if(c.trigger){const e=e=>{const t=e.target;t?.contains(c.trigger)&&d()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}}),[c.trigger,d]),(0,be.jsx)(Pe,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:d,children:(0,be.jsxs)(Yn,{"data-state":c.stateAttribute,...u,...l,ref:t,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,be.jsx)(Mr,{children:r}),(0,be.jsx)(Er,{scope:n,isInside:!0,children:(0,be.jsx)(tr,{id:c.contentId,role:"tooltip",children:i||r})})]})})}));xr.displayName=wr;var Or="TooltipArrow",Sr=o.forwardRef(((e,t)=>{const{__scopeTooltip:n,...r}=e,i=ir(n);return Cr(Or,n).isInside?null:(0,be.jsx)(Vn,{...i,...r,ref:t})}));Sr.displayName=Or;var Rr=ur,Dr=pr,Pr=mr,qr=xr,_r=Sr;const Nr=({children:e,content:t,delayDuration:n=400})=>t?(0,o.createElement)(Rr,null,(0,o.createElement)(Dr,{delayDuration:n},(0,o.createElement)(Pr,{asChild:!0},e),(0,o.createElement)(qr,{className:"z-[99999] max-w-xs bg-gray-200 text-gray border border-gray-300 px-3 py-2 text-base rounded shadow-md animate-in fade-in-50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=delayed-open]:data-[side=top]:slide-in-from-bottom-2 data-[state=delayed-open]:data-[side=bottom]:slide-in-from-top-2 data-[state=delayed-open]:data-[side=left]:slide-in-from-right-2 data-[state=delayed-open]:data-[side=right]:slide-in-from-left-2",sideOffset:5},t,(0,o.createElement)(_r,{className:"fill-gray-300",width:10,height:5})))):(0,o.createElement)(o.Fragment,null,e),Ar=e=>{const t=(e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,((e,t,n)=>n?n.toUpperCase():t.toLowerCase())))(e);return t.charAt(0).toUpperCase()+t.slice(1)},Lr=(...e)=>e.filter(((e,t,n)=>Boolean(e)&&""!==e.trim()&&n.indexOf(e)===t)).join(" ").trim(),jr=e=>{for(const t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0};var Fr={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const Ir=(0,o.forwardRef)((({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:i="",children:a,iconNode:s,...l},c)=>(0,o.createElement)("svg",{ref:c,...Fr,width:t,height:t,stroke:e,strokeWidth:r?24*Number(n)/Number(t):n,className:Lr("lucide",i),...!a&&!jr(l)&&{"aria-hidden":"true"},...l},[...s.map((([e,t])=>(0,o.createElement)(e,t))),...Array.isArray(a)?a:[a]]))),Ur=(e,t)=>{const n=(0,o.forwardRef)((({className:n,...r},i)=>{return(0,o.createElement)(Ir,{ref:i,iconNode:t,className:Lr(`lucide-${a=Ar(e),a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,n),...r});var a}));return n.displayName=Ar(e),n},zr=Ur("user-round-check",[["path",{d:"M2 21a8 8 0 0 1 13.292-6",key:"bjp14o"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"m16 19 2 2 4-4",key:"1b14m6"}]]),Hr=Ur("user-round-plus",[["path",{d:"M2 21a8 8 0 0 1 13.292-6",key:"bjp14o"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M19 16v6",key:"tddt3s"}],["path",{d:"M22 19h-6",key:"vcuq98"}]]),Qr=Ur("shopping-cart",[["circle",{cx:"8",cy:"21",r:"1",key:"jimo8o"}],["circle",{cx:"19",cy:"21",r:"1",key:"13723u"}],["path",{d:"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12",key:"9zh506"}]]),Wr=Ur("octagon-alert",[["path",{d:"M12 16h.01",key:"1drbdi"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z",key:"1fd625"}]]),Br=Ur("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),$r=Ur("percent",[["line",{x1:"19",x2:"5",y1:"5",y2:"19",key:"1x9vlm"}],["circle",{cx:"6.5",cy:"6.5",r:"2.5",key:"4mh3h7"}],["circle",{cx:"17.5",cy:"17.5",r:"2.5",key:"1mdrzq"}]]),Yr=Ur("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),Vr=Ur("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]),Kr=Ur("move-right",[["path",{d:"M18 8L22 12L18 16",key:"1r0oui"}],["path",{d:"M2 12H22",key:"1m8cig"}]]),Gr=Ur("ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]),Xr=Ur("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),Jr=Ur("circle-off",[["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M8.35 2.69A10 10 0 0 1 21.3 15.65",key:"1pfsoa"}],["path",{d:"M19.08 19.08A10 10 0 1 1 4.92 4.92",key:"1ablyi"}]]),Zr=Ur("circle-dot",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]),ei=Ur("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),ti=Ur("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),ni=Ur("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),ri=Ur("trophy",[["path",{d:"M10 14.66v1.626a2 2 0 0 1-.976 1.696A5 5 0 0 0 7 21.978",key:"1n3hpd"}],["path",{d:"M14 14.66v1.626a2 2 0 0 0 .976 1.696A5 5 0 0 1 17 21.978",key:"rfe1zi"}],["path",{d:"M18 9h1.5a1 1 0 0 0 0-5H18",key:"7xy6bh"}],["path",{d:"M4 22h16",key:"57wxv0"}],["path",{d:"M6 9a6 6 0 0 0 12 0V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1z",key:"1mhfuq"}],["path",{d:"M6 9H4.5a1 1 0 0 1 0-5H6",key:"tex48p"}]]),ii=Ur("frown",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M16 16s-1.5-2-4-2-4 2-4 2",key:"epbg0q"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}]]),oi=Ur("hourglass",[["path",{d:"M5 22h14",key:"ehvnwv"}],["path",{d:"M5 2h14",key:"pdyrp9"}],["path",{d:"M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22",key:"1d314k"}],["path",{d:"M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2",key:"1vvvr6"}]]),ai=Ur("scale",[["path",{d:"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"7g6ntu"}],["path",{d:"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"ijws7r"}],["path",{d:"M7 21h10",key:"1b0cd5"}],["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2",key:"3gwbw2"}]]),si=Ur("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),li=Ur("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),ci=Ur("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),ui=Ur("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),di=Ur("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),hi=Ur("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),fi=Ur("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),pi=Ur("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]),yi=Ur("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),mi=Ur("braces",[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]]),gi=Ur("file-text",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]),vi=Ur("file-x",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m14.5 12.5-5 5",key:"b62r18"}],["path",{d:"m9.5 12.5 5 5",key:"1rk7el"}]]),bi=Ur("file-down",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M12 18v-6",key:"17g6i2"}],["path",{d:"m9 15 3 3 3-3",key:"1npd3o"}]]),wi=Ur("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]),xi=Ur("calendar-x",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"m14 14-4 4",key:"rymu2i"}],["path",{d:"m10 14 4 4",key:"3sz06r"}]]),ki=Ur("panel-top",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}]]),Ei=Ur("circle-question-mark",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),Ci=Ur("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),Mi=Ur("trash",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}]]),Ti=Ur("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]),Oi=Ur("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]),Si=Ur("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]),Ri=Ur("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),Di=Ur("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]),Pi=Ur("circle-user",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662",key:"154egf"}]]),qi=Ur("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]),_i=Ur("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]),Ni=Ur("infinity",[["path",{d:"M6 16c5 0 7-8 12-8a4 4 0 0 1 0 8c-5 0-7-8-12-8a4 4 0 1 0 0 8",key:"18ogeb"}]]),Ai=Ur("chart-line",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"m19 9-5 5-4-4-3 3",key:"2osh9i"}]]),Li=Ur("chart-pie",[["path",{d:"M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z",key:"pzmjnu"}],["path",{d:"M21.21 15.89A10 10 0 1 1 8 2.83",key:"k2fpak"}]]),ji=Ur("goal",[["path",{d:"M12 13V2l8 4-8 4",key:"5wlwwj"}],["path",{d:"M20.561 10.222a9 9 0 1 1-12.55-5.29",key:"1c0wjv"}],["path",{d:"M8.002 9.997a5 5 0 1 0 8.9 2.02",key:"gb1g7m"}]]),Fi=Ur("sliders-horizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]]),Ii=Ur("loader",[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]]),Ui=Ur("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]),zi=Ur("tablet",[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",ry:"2",key:"76otgf"}],["line",{x1:"12",x2:"12.01",y1:"18",y2:"18",key:"1dp563"}]]),Hi=Ur("smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]),Qi=Ur("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]),Wi=Ur("mouse",[["rect",{x:"5",y:"2",width:"14",height:"20",rx:"7",key:"11ol66"}],["path",{d:"M12 6v4",key:"16clxf"}]]),Bi=Ur("file",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}]]),$i=Ur("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]),Yi=Ur("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),Vi=Ur("earth",[["path",{d:"M21.54 15H17a2 2 0 0 0-2 2v4.54",key:"1djwo0"}],["path",{d:"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17",key:"1tzkfa"}],["path",{d:"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05",key:"14pb5j"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),Ki=Ur("funnel",[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]]),Gi=Ur("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),Xi=Ur("webhook",[["path",{d:"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2",key:"q3hayz"}],["path",{d:"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06",key:"1go1hn"}],["path",{d:"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8",key:"qlwsc0"}]]),Ji=Ur("log-in",[["path",{d:"m10 17 5-5-5-5",key:"1bsop3"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}]]),Zi=Ur("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]),eo=Ur("target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]),to=Ur("settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),no=Ur("megaphone",[["path",{d:"m3 11 18-5v12L3 14v-3z",key:"n962bs"}],["path",{d:"M11.6 16.8a3 3 0 1 1-5.8-1.6",key:"1yl0tm"}]]),ro=Ur("milestone",[["path",{d:"M12 13v8",key:"1l5pq0"}],["path",{d:"M12 3v3",key:"1n5kay"}],["path",{d:"M4 6a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h13a2 2 0 0 0 1.152-.365l3.424-2.317a1 1 0 0 0 0-1.635l-3.424-2.318A2 2 0 0 0 17 6z",key:"1btarq"}]]),io=Ur("radio",[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]),oo=Ur("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]),ao=Ur("map-pin",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]]),so=Ur("building",[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",ry:"2",key:"76otgf"}],["path",{d:"M9 22v-4h6v4",key:"r93iot"}],["path",{d:"M8 6h.01",key:"1dz90k"}],["path",{d:"M16 6h.01",key:"1x0f13"}],["path",{d:"M12 6h.01",key:"1vi96p"}],["path",{d:"M12 10h.01",key:"1nrarc"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 10h.01",key:"1m94wz"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 10h.01",key:"19clt8"}],["path",{d:"M8 14h.01",key:"6423bh"}]]),lo=Ur("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]),co=Ur("car",[["path",{d:"M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2",key:"5owen"}],["circle",{cx:"7",cy:"17",r:"2",key:"u2ysq9"}],["path",{d:"M9 17h6",key:"r8uit2"}],["circle",{cx:"17",cy:"17",r:"2",key:"axvx0g"}]]),uo=Ur("brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]),ho=Ur("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]),fo=Ur("star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]),po=Ur("map-pinned",[["path",{d:"M18 8c0 3.613-3.869 7.429-5.393 8.795a1 1 0 0 1-1.214 0C9.87 15.429 6 11.613 6 8a6 6 0 0 1 12 0",key:"11u0oz"}],["circle",{cx:"12",cy:"8",r:"2",key:"1822b1"}],["path",{d:"M8.714 14h-3.71a1 1 0 0 0-.948.683l-2.004 6A1 1 0 0 0 3 22h18a1 1 0 0 0 .948-1.316l-2-6a1 1 0 0 0-.949-.684h-3.712",key:"q8zwxj"}]]),yo=Ur("grid-3x3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]),mo=Ur("line-squiggle",[["path",{d:"M7 3.5c5-2 7 2.5 3 4C1.5 10 2 15 5 16c5 2 9-10 14-7s.5 13.5-4 12c-5-2.5.5-11 6-2",key:"1lrphd"}]]),go=Ur("party-popper",[["path",{d:"M5.8 11.3 2 22l10.7-3.79",key:"gwxi1d"}],["path",{d:"M4 3h.01",key:"1vcuye"}],["path",{d:"M22 8h.01",key:"1mrtc2"}],["path",{d:"M15 2h.01",key:"1cjtqr"}],["path",{d:"M22 20h.01",key:"1mrys2"}],["path",{d:"m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10",key:"hbicv8"}],["path",{d:"m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.7-.72 1.22-1.43 1.22H17",key:"1i94pl"}],["path",{d:"m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.52 4.9 9 5.52 9 6.23V7",key:"1cofks"}],["path",{d:"M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z",key:"4kbmks"}]]),vo=Ur("sprout",[["path",{d:"M7 20h10",key:"e6iznv"}],["path",{d:"M10 20c5.5-2.5.8-6.4 3-10",key:"161w41"}],["path",{d:"M9.5 9.4c1.1.8 1.8 2.2 2.3 3.7-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2 2.8-.5 4.4 0 5.5.8z",key:"9gtqwd"}],["path",{d:"M14.1 6a7 7 0 0 0-1.1 4c1.9-.1 3.3-.6 4.3-1.4 1-1 1.6-2.3 1.7-4.6-2.7.1-4 1-4.9 2z",key:"bkxnd2"}]]);function bo(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=bo(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function wo(){for(var e,t,n=0,r="",i=arguments.length;n<i;n++)(e=arguments[n])&&(t=bo(e))&&(r&&(r+=" "),r+=t);return r}const xo={"black-light":"black-light",black:"black",green:"green",yellow:"yellow",red:"red",blue:"blue",gray:"gray-500",lightgray:"gray-300",white:"white",gold:"gold"},ko={"circle-open":Xr,bullet:Xr,dot:Xr,circle:Jr,period:Zr,check:ei,warning:Br,error:ti,times:ni,trophy:ri,frown:ii,hourglass:oi,scale:ai,"circle-check":si,"circle-times":li,"chevron-up":ci,"chevron-down":ui,"chevron-right":di,"chevron-left":hi,plus:fi,minus:pi,sync:yi,"sync-error":Wr,shortcode:mi,file:gi,"file-disabled":vi,"file-download":bi,calendar:wi,"calendar-error":xi,website:ki,help:Ei,copy:Ci,trash:Mi,visitor:Ti,visitors:Oi,"visitors-crowd":Oi,time:Si,pageviews:Ri,referrer:Di,sessions:Pi,bounces:qi,bounced_sessions:qi,bounce_rate:qi,winner:ri,live:_i,total:Ni,graph:Ai,conversion_rate:Li,goals:ji,conversions:ji,"goals-empty":Zr,filter:Fi,loading:Ii,desktop:Ui,tablet:zi,mobile:Hi,other:Qi,mouse:Wi,eye:Ri,page:Bi,hashtag:$i,sun:Yi,world:Vi,filters:Ki,referrers:Gi,hook:Xi,"log-in":Ji,"log-out":qi,alert:ti,search:Zi,bounce:qi,user:Ti,conversion:eo,parameters:to,campaign:no,source:ro,medium:io,term:oo,content:gi,location:ao,city:so,"operating-system":Ui,browser:lo,traffic:co,behavior:uo,technology:ho,"star-filled":fo,"star-outline":fo,"map-pinned":po,empty:Jr,grid:yo,"user-check":zr,"user-plus":Hr,"line-squiggle":mo,"shopping-cart":Qr,"party-popper":go,"error-octagon":Wr,"warning-triangle":Br,percent:$r,sprout:vo,zap:Yr,bulb:Vr,"right-arrow":Kr,ellipsis:Gr},Eo=(0,o.memo)((({style:e={},name:t="bullet",color:n="black",size:r=18,strokeWidth:i=1.5,tooltip:a,onClick:s,className:l})=>{const c=xo[n]||n,u=ko[t]||Xr,d={size:r,color:"currentColor",strokeWidth:i,style:e},h=(0,o.createElement)("div",{onClick:()=>{s&&s()},className:"flex items-center justify-center"},"bullet"!==t&&"dot"!==t||u!==Xr?"star-filled"===t&&u===fo?(0,o.createElement)(fo,{...d,className:c&&`fill-${c}`}):"loading"===t&&u===Ii?(0,o.createElement)(Ii,{...d,className:wo(l,"animate-spin [animation-duration:2s]",c&&`text-${c}`)}):(0,o.createElement)(u,{className:wo(l,c&&`text-${c}`),...d}):(0,o.createElement)(Xr,{...d,className:c&&`fill-${c}`}));return a?(0,o.createElement)(Nr,{content:a},h):h}));function Co(e){return Co="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Co(e)}function Mo(e,t){if(t.length<e)throw new TypeError(e+" argument"+(e>1?"s":"")+" required, but only "+t.length+" present")}function To(e){Mo(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||"object"===Co(e)&&"[object Date]"===t?new Date(e.getTime()):"number"==typeof e||"[object Number]"===t?new Date(e):("string"!=typeof e&&"[object String]"!==t||"undefined"==typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn((new Error).stack)),new Date(NaN))}function Oo(e){if(null===e||!0===e||!1===e)return NaN;var t=Number(e);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)}function So(e){Mo(1,arguments);var t=To(e),n=t.getUTCDay(),r=(n<1?7:0)+n-1;return t.setUTCDate(t.getUTCDate()-r),t.setUTCHours(0,0,0,0),t}function Ro(e){Mo(1,arguments);var t=To(e),n=t.getUTCFullYear(),r=new Date(0);r.setUTCFullYear(n+1,0,4),r.setUTCHours(0,0,0,0);var i=So(r),o=new Date(0);o.setUTCFullYear(n,0,4),o.setUTCHours(0,0,0,0);var a=So(o);return t.getTime()>=i.getTime()?n+1:t.getTime()>=a.getTime()?n:n-1}var Do={};function Po(){return Do}function qo(e,t){var n,r,i,o,a,s,l,c;Mo(1,arguments);var u=Po(),d=Oo(null!==(n=null!==(r=null!==(i=null!==(o=null==t?void 0:t.weekStartsOn)&&void 0!==o?o:null==t||null===(a=t.locale)||void 0===a||null===(s=a.options)||void 0===s?void 0:s.weekStartsOn)&&void 0!==i?i:u.weekStartsOn)&&void 0!==r?r:null===(l=u.locale)||void 0===l||null===(c=l.options)||void 0===c?void 0:c.weekStartsOn)&&void 0!==n?n:0);if(!(d>=0&&d<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var h=To(e),f=h.getUTCDay(),p=(f<d?7:0)+f-d;return h.setUTCDate(h.getUTCDate()-p),h.setUTCHours(0,0,0,0),h}function _o(e,t){var n,r,i,o,a,s,l,c;Mo(1,arguments);var u=To(e),d=u.getUTCFullYear(),h=Po(),f=Oo(null!==(n=null!==(r=null!==(i=null!==(o=null==t?void 0:t.firstWeekContainsDate)&&void 0!==o?o:null==t||null===(a=t.locale)||void 0===a||null===(s=a.options)||void 0===s?void 0:s.firstWeekContainsDate)&&void 0!==i?i:h.firstWeekContainsDate)&&void 0!==r?r:null===(l=h.locale)||void 0===l||null===(c=l.options)||void 0===c?void 0:c.firstWeekContainsDate)&&void 0!==n?n:1);if(!(f>=1&&f<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var p=new Date(0);p.setUTCFullYear(d+1,0,f),p.setUTCHours(0,0,0,0);var y=qo(p,t),m=new Date(0);m.setUTCFullYear(d,0,f),m.setUTCHours(0,0,0,0);var g=qo(m,t);return u.getTime()>=y.getTime()?d+1:u.getTime()>=g.getTime()?d:d-1}function No(e,t){for(var n=e<0?"-":"",r=Math.abs(e).toString();r.length<t;)r="0"+r;return n+r}const Ao=function(e,t){var n=e.getUTCFullYear(),r=n>0?n:1-n;return No("yy"===t?r%100:r,t.length)},Lo=function(e,t){var n=e.getUTCMonth();return"M"===t?String(n+1):No(n+1,2)},jo=function(e,t){return No(e.getUTCDate(),t.length)},Fo=function(e,t){return No(e.getUTCHours()%12||12,t.length)},Io=function(e,t){return No(e.getUTCHours(),t.length)},Uo=function(e,t){return No(e.getUTCMinutes(),t.length)},zo=function(e,t){return No(e.getUTCSeconds(),t.length)},Ho=function(e,t){var n=t.length,r=e.getUTCMilliseconds();return No(Math.floor(r*Math.pow(10,n-3)),t.length)};var Qo={G:function(e,t,n){var r=e.getUTCFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if("yo"===t){var r=e.getUTCFullYear(),i=r>0?r:1-r;return n.ordinalNumber(i,{unit:"year"})}return Ao(e,t)},Y:function(e,t,n,r){var i=_o(e,r),o=i>0?i:1-i;return"YY"===t?No(o%100,2):"Yo"===t?n.ordinalNumber(o,{unit:"year"}):No(o,t.length)},R:function(e,t){return No(Ro(e),t.length)},u:function(e,t){return No(e.getUTCFullYear(),t.length)},Q:function(e,t,n){var r=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return No(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){var r=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return No(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){var r=e.getUTCMonth();switch(t){case"M":case"MM":return Lo(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){var r=e.getUTCMonth();switch(t){case"L":return String(r+1);case"LL":return No(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){var i=function(e,t){Mo(1,arguments);var n=To(e),r=qo(n,t).getTime()-function(e,t){var n,r,i,o,a,s,l,c;Mo(1,arguments);var u=Po(),d=Oo(null!==(n=null!==(r=null!==(i=null!==(o=null==t?void 0:t.firstWeekContainsDate)&&void 0!==o?o:null==t||null===(a=t.locale)||void 0===a||null===(s=a.options)||void 0===s?void 0:s.firstWeekContainsDate)&&void 0!==i?i:u.firstWeekContainsDate)&&void 0!==r?r:null===(l=u.locale)||void 0===l||null===(c=l.options)||void 0===c?void 0:c.firstWeekContainsDate)&&void 0!==n?n:1),h=_o(e,t),f=new Date(0);return f.setUTCFullYear(h,0,d),f.setUTCHours(0,0,0,0),qo(f,t)}(n,t).getTime();return Math.round(r/6048e5)+1}(e,r);return"wo"===t?n.ordinalNumber(i,{unit:"week"}):No(i,t.length)},I:function(e,t,n){var r=function(e){Mo(1,arguments);var t=To(e),n=So(t).getTime()-function(e){Mo(1,arguments);var t=Ro(e),n=new Date(0);return n.setUTCFullYear(t,0,4),n.setUTCHours(0,0,0,0),So(n)}(t).getTime();return Math.round(n/6048e5)+1}(e);return"Io"===t?n.ordinalNumber(r,{unit:"week"}):No(r,t.length)},d:function(e,t,n){return"do"===t?n.ordinalNumber(e.getUTCDate(),{unit:"date"}):jo(e,t)},D:function(e,t,n){var r=function(e){Mo(1,arguments);var t=To(e),n=t.getTime();t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0);var r=n-t.getTime();return Math.floor(r/864e5)+1}(e);return"Do"===t?n.ordinalNumber(r,{unit:"dayOfYear"}):No(r,t.length)},E:function(e,t,n){var r=e.getUTCDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){var i=e.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return No(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){var i=e.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return No(o,t.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(e,t,n){var r=e.getUTCDay(),i=0===r?7:r;switch(t){case"i":return String(i);case"ii":return No(i,t.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){var r=e.getUTCHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){var r,i=e.getUTCHours();switch(r=12===i?"noon":0===i?"midnight":i/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){var r,i=e.getUTCHours();switch(r=i>=17?"evening":i>=12?"afternoon":i>=4?"morning":"night",t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if("ho"===t){var r=e.getUTCHours()%12;return 0===r&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return Fo(e,t)},H:function(e,t,n){return"Ho"===t?n.ordinalNumber(e.getUTCHours(),{unit:"hour"}):Io(e,t)},K:function(e,t,n){var r=e.getUTCHours()%12;return"Ko"===t?n.ordinalNumber(r,{unit:"hour"}):No(r,t.length)},k:function(e,t,n){var r=e.getUTCHours();return 0===r&&(r=24),"ko"===t?n.ordinalNumber(r,{unit:"hour"}):No(r,t.length)},m:function(e,t,n){return"mo"===t?n.ordinalNumber(e.getUTCMinutes(),{unit:"minute"}):Uo(e,t)},s:function(e,t,n){return"so"===t?n.ordinalNumber(e.getUTCSeconds(),{unit:"second"}):zo(e,t)},S:function(e,t){return Ho(e,t)},X:function(e,t,n,r){var i=(r._originalDate||e).getTimezoneOffset();if(0===i)return"Z";switch(t){case"X":return Bo(i);case"XXXX":case"XX":return $o(i);default:return $o(i,":")}},x:function(e,t,n,r){var i=(r._originalDate||e).getTimezoneOffset();switch(t){case"x":return Bo(i);case"xxxx":case"xx":return $o(i);default:return $o(i,":")}},O:function(e,t,n,r){var i=(r._originalDate||e).getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Wo(i,":");default:return"GMT"+$o(i,":")}},z:function(e,t,n,r){var i=(r._originalDate||e).getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Wo(i,":");default:return"GMT"+$o(i,":")}},t:function(e,t,n,r){var i=r._originalDate||e;return No(Math.floor(i.getTime()/1e3),t.length)},T:function(e,t,n,r){return No((r._originalDate||e).getTime(),t.length)}};function Wo(e,t){var n=e>0?"-":"+",r=Math.abs(e),i=Math.floor(r/60),o=r%60;if(0===o)return n+String(i);var a=t||"";return n+String(i)+a+No(o,2)}function Bo(e,t){return e%60==0?(e>0?"-":"+")+No(Math.abs(e)/60,2):$o(e,t)}function $o(e,t){var n=t||"",r=e>0?"-":"+",i=Math.abs(e);return r+No(Math.floor(i/60),2)+n+No(i%60,2)}const Yo=Qo;var Vo=function(e,t){switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},Ko=function(e,t){switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}};const Go={p:Ko,P:function(e,t){var n,r=e.match(/(P+)(p+)?/)||[],i=r[1],o=r[2];if(!o)return Vo(e,t);switch(i){case"P":n=t.dateTime({width:"short"});break;case"PP":n=t.dateTime({width:"medium"});break;case"PPP":n=t.dateTime({width:"long"});break;default:n=t.dateTime({width:"full"})}return n.replace("{{date}}",Vo(i,t)).replace("{{time}}",Ko(o,t))}};var Xo=["D","DD"],Jo=["YY","YYYY"];function Zo(e,t,n){if("YYYY"===e)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(t,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("YY"===e)throw new RangeError("Use `yy` instead of `YY` (in `".concat(t,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("D"===e)throw new RangeError("Use `d` instead of `D` (in `".concat(t,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("DD"===e)throw new RangeError("Use `dd` instead of `DD` (in `".concat(t,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"))}var ea={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function ta(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const na={date:ta({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:ta({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:ta({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})};var ra={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function ia(e){return function(t,n){var r;if("formatting"===(null!=n&&n.context?String(n.context):"standalone")&&e.formattingValues){var i=e.defaultFormattingWidth||e.defaultWidth,o=null!=n&&n.width?String(n.width):i;r=e.formattingValues[o]||e.formattingValues[i]}else{var a=e.defaultWidth,s=null!=n&&n.width?String(n.width):e.defaultWidth;r=e.values[s]||e.values[a]}return r[e.argumentCallback?e.argumentCallback(t):t]}}const oa={ordinalNumber:function(e,t){var n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:ia({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:ia({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:function(e){return e-1}}),month:ia({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:ia({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:ia({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})};function aa(e){return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],o=t.match(i);if(!o)return null;var a,s=o[0],l=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(l)?function(e){for(var t=0;t<e.length;t++)if(e[t].test(s))return t}(l):function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t].test(s))return t}(l);return a=e.valueCallback?e.valueCallback(c):c,{value:a=n.valueCallback?n.valueCallback(a):a,rest:t.slice(s.length)}}}var sa,la={ordinalNumber:(sa={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}},function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.match(sa.matchPattern);if(!n)return null;var r=n[0],i=e.match(sa.parsePattern);if(!i)return null;var o=sa.valueCallback?sa.valueCallback(i[0]):i[0];return{value:o=t.valueCallback?t.valueCallback(o):o,rest:e.slice(r.length)}}),era:aa({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:aa({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:aa({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:aa({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:aa({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})};const ca={code:"en-US",formatDistance:function(e,t,n){var r,i=ea[e];return r="string"==typeof i?i:1===t?i.one:i.other.replace("{{count}}",t.toString()),null!=n&&n.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r},formatLong:na,formatRelative:function(e,t,n,r){return ra[e]},localize:oa,match:la,options:{weekStartsOn:0,firstWeekContainsDate:1}};var ua=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,da=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ha=/^'([^]*?)'?$/,fa=/''/g,pa=/[a-zA-Z]/;function ya(e,t,n){var r,i,o,a,s,l,c,u,d,h,f,p,y,m,g,v,b,w;Mo(2,arguments);var x=String(t),k=Po(),E=null!==(r=null!==(i=null==n?void 0:n.locale)&&void 0!==i?i:k.locale)&&void 0!==r?r:ca,C=Oo(null!==(o=null!==(a=null!==(s=null!==(l=null==n?void 0:n.firstWeekContainsDate)&&void 0!==l?l:null==n||null===(c=n.locale)||void 0===c||null===(u=c.options)||void 0===u?void 0:u.firstWeekContainsDate)&&void 0!==s?s:k.firstWeekContainsDate)&&void 0!==a?a:null===(d=k.locale)||void 0===d||null===(h=d.options)||void 0===h?void 0:h.firstWeekContainsDate)&&void 0!==o?o:1);if(!(C>=1&&C<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var M=Oo(null!==(f=null!==(p=null!==(y=null!==(m=null==n?void 0:n.weekStartsOn)&&void 0!==m?m:null==n||null===(g=n.locale)||void 0===g||null===(v=g.options)||void 0===v?void 0:v.weekStartsOn)&&void 0!==y?y:k.weekStartsOn)&&void 0!==p?p:null===(b=k.locale)||void 0===b||null===(w=b.options)||void 0===w?void 0:w.weekStartsOn)&&void 0!==f?f:0);if(!(M>=0&&M<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!E.localize)throw new RangeError("locale must contain localize property");if(!E.formatLong)throw new RangeError("locale must contain formatLong property");var T=To(e);if(!function(e){if(Mo(1,arguments),!function(e){return Mo(1,arguments),e instanceof Date||"object"===Co(e)&&"[object Date]"===Object.prototype.toString.call(e)}(e)&&"number"!=typeof e)return!1;var t=To(e);return!isNaN(Number(t))}(T))throw new RangeError("Invalid time value");var O=function(e){var t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),e.getTime()-t.getTime()}(T),S=function(e,t){return Mo(2,arguments),function(e,t){Mo(2,arguments);var n=To(e).getTime(),r=Oo(t);return new Date(n+r)}(e,-Oo(t))}(T,O),R={firstWeekContainsDate:C,weekStartsOn:M,locale:E,_originalDate:T};return x.match(da).map((function(e){var t=e[0];return"p"===t||"P"===t?(0,Go[t])(e,E.formatLong):e})).join("").match(ua).map((function(r){if("''"===r)return"'";var i,o,a=r[0];if("'"===a)return(o=(i=r).match(ha))?o[1].replace(fa,"'"):i;var s,l=Yo[a];if(l)return null!=n&&n.useAdditionalWeekYearTokens||(s=r,-1===Jo.indexOf(s))||Zo(r,t,String(e)),null!=n&&n.useAdditionalDayOfYearTokens||!function(e){return-1!==Xo.indexOf(e)}(r)||Zo(r,t,String(e)),l(S,r,E.localize,R);if(a.match(pa))throw new RangeError("Format string contains an unescaped latin alphabet character `"+a+"`");return r})).join("")}const ma="undefined"==typeof window||"Deno"in window;function ga(){}function va(e){return"number"==typeof e&&e>=0&&e!==1/0}function ba(e,t){return e.filter((e=>!t.includes(e)))}function wa(e,t){return Math.max(e+(t||0)-Date.now(),0)}function xa(e,t,n){return Na(e)?"function"==typeof t?{...n,queryKey:e,queryFn:t}:{...t,queryKey:e}:e}function ka(e,t,n){return Na(e)?[{...t,queryKey:e},n]:[e||{},t]}function Ea(e,t){const{type:n="all",exact:r,fetchStatus:i,predicate:o,queryKey:a,stale:s}=e;if(Na(a))if(r){if(t.queryHash!==Ma(a,t.options))return!1}else if(!Oa(t.queryKey,a))return!1;if("all"!==n){const e=t.isActive();if("active"===n&&!e)return!1;if("inactive"===n&&e)return!1}return!("boolean"==typeof s&&t.isStale()!==s||void 0!==i&&i!==t.state.fetchStatus||o&&!o(t))}function Ca(e,t){const{exact:n,fetching:r,predicate:i,mutationKey:o}=e;if(Na(o)){if(!t.options.mutationKey)return!1;if(n){if(Ta(t.options.mutationKey)!==Ta(o))return!1}else if(!Oa(t.options.mutationKey,o))return!1}return!("boolean"==typeof r&&"loading"===t.state.status!==r||i&&!i(t))}function Ma(e,t){return((null==t?void 0:t.queryKeyHashFn)||Ta)(e)}function Ta(e){return JSON.stringify(e,((e,t)=>qa(t)?Object.keys(t).sort().reduce(((e,n)=>(e[n]=t[n],e)),{}):t))}function Oa(e,t){return Sa(e,t)}function Sa(e,t){return e===t||typeof e==typeof t&&!(!e||!t||"object"!=typeof e||"object"!=typeof t)&&!Object.keys(t).some((n=>!Sa(e[n],t[n])))}function Ra(e,t){if(e===t)return e;const n=Pa(e)&&Pa(t);if(n||qa(e)&&qa(t)){const r=n?e.length:Object.keys(e).length,i=n?t:Object.keys(t),o=i.length,a=n?[]:{};let s=0;for(let r=0;r<o;r++){const o=n?r:i[r];a[o]=Ra(e[o],t[o]),a[o]===e[o]&&s++}return r===o&&s===r?e:a}return t}function Da(e,t){if(e&&!t||t&&!e)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function Pa(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function qa(e){if(!_a(e))return!1;const t=e.constructor;if(void 0===t)return!0;const n=t.prototype;return!!_a(n)&&!!n.hasOwnProperty("isPrototypeOf")}function _a(e){return"[object Object]"===Object.prototype.toString.call(e)}function Na(e){return Array.isArray(e)}function Aa(e){return new Promise((t=>{setTimeout(t,e)}))}function La(e){Aa(0).then(e)}function ja(e,t,n){return null!=n.isDataEqual&&n.isDataEqual(e,t)?e:"function"==typeof n.structuralSharing?n.structuralSharing(e,t):!1!==n.structuralSharing?Ra(e,t):t}const Fa=function(){let e=[],t=0,n=e=>{e()},r=e=>{e()};const i=r=>{t?e.push(r):La((()=>{n(r)}))};return{batch:i=>{let o;t++;try{o=i()}finally{t--,t||(()=>{const t=e;e=[],t.length&&La((()=>{r((()=>{t.forEach((e=>{n(e)}))}))}))})()}return o},batchCalls:e=>(...t)=>{i((()=>{e(...t)}))},schedule:i,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e}}}();class Ia{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){const t={listener:e};return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}}const Ua=new class extends Ia{constructor(){super(),this.setup=e=>{if(!ma&&window.addEventListener){const t=()=>e();return window.addEventListener("visibilitychange",t,!1),window.addEventListener("focus",t,!1),()=>{window.removeEventListener("visibilitychange",t),window.removeEventListener("focus",t)}}}}onSubscribe(){this.cleanup||this.setEventListener(this.setup)}onUnsubscribe(){var e;this.hasListeners()||(null==(e=this.cleanup)||e.call(this),this.cleanup=void 0)}setEventListener(e){var t;this.setup=e,null==(t=this.cleanup)||t.call(this),this.cleanup=e((e=>{"boolean"==typeof e?this.setFocused(e):this.onFocus()}))}setFocused(e){this.focused!==e&&(this.focused=e,this.onFocus())}onFocus(){this.listeners.forEach((({listener:e})=>{e()}))}isFocused(){return"boolean"==typeof this.focused?this.focused:"undefined"==typeof document||[void 0,"visible","prerender"].includes(document.visibilityState)}},za=["online","offline"],Ha=new class extends Ia{constructor(){super(),this.setup=e=>{if(!ma&&window.addEventListener){const t=()=>e();return za.forEach((e=>{window.addEventListener(e,t,!1)})),()=>{za.forEach((e=>{window.removeEventListener(e,t)}))}}}}onSubscribe(){this.cleanup||this.setEventListener(this.setup)}onUnsubscribe(){var e;this.hasListeners()||(null==(e=this.cleanup)||e.call(this),this.cleanup=void 0)}setEventListener(e){var t;this.setup=e,null==(t=this.cleanup)||t.call(this),this.cleanup=e((e=>{"boolean"==typeof e?this.setOnline(e):this.onOnline()}))}setOnline(e){this.online!==e&&(this.online=e,this.onOnline())}onOnline(){this.listeners.forEach((({listener:e})=>{e()}))}isOnline(){return"boolean"==typeof this.online?this.online:"undefined"==typeof navigator||void 0===navigator.onLine||navigator.onLine}};function Qa(e){return Math.min(1e3*2**e,3e4)}function Wa(e){return"online"!==(null!=e?e:"online")||Ha.isOnline()}class Ba{constructor(e){this.revert=null==e?void 0:e.revert,this.silent=null==e?void 0:e.silent}}function $a(e){return e instanceof Ba}function Ya(e){let t,n,r,i=!1,o=0,a=!1;const s=new Promise(((e,t)=>{n=e,r=t})),l=()=>!Ua.isFocused()||"always"!==e.networkMode&&!Ha.isOnline(),c=r=>{a||(a=!0,null==e.onSuccess||e.onSuccess(r),null==t||t(),n(r))},u=n=>{a||(a=!0,null==e.onError||e.onError(n),null==t||t(),r(n))},d=()=>new Promise((n=>{t=e=>{const t=a||!l();return t&&n(e),t},null==e.onPause||e.onPause()})).then((()=>{t=void 0,a||null==e.onContinue||e.onContinue()})),h=()=>{if(a)return;let t;try{t=e.fn()}catch(e){t=Promise.reject(e)}Promise.resolve(t).then(c).catch((t=>{var n,r;if(a)return;const s=null!=(n=e.retry)?n:3,c=null!=(r=e.retryDelay)?r:Qa,f="function"==typeof c?c(o,t):c,p=!0===s||"number"==typeof s&&o<s||"function"==typeof s&&s(o,t);!i&&p?(o++,null==e.onFail||e.onFail(o,t),Aa(f).then((()=>{if(l())return d()})).then((()=>{i?u(t):h()}))):u(t)}))};return Wa(e.networkMode)?h():d().then(h),{promise:s,cancel:t=>{a||(u(new Ba(t)),null==e.abort||e.abort())},continue:()=>(null==t?void 0:t())?s:Promise.resolve(),cancelRetry:()=>{i=!0},continueRetry:()=>{i=!1}}}class Va extends Ia{constructor(e,t){super(),this.client=e,this.options=t,this.trackedProps=new Set,this.selectError=null,this.bindMethods(),this.setOptions(t)}bindMethods(){this.remove=this.remove.bind(this),this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.currentQuery.addObserver(this),Ka(this.currentQuery,this.options)&&this.executeFetch(),this.updateTimers())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Ga(this.currentQuery,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Ga(this.currentQuery,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.clearStaleTimeout(),this.clearRefetchInterval(),this.currentQuery.removeObserver(this)}setOptions(e,t){const n=this.options,r=this.currentQuery;if(this.options=this.client.defaultQueryOptions(e),Da(n,this.options)||this.client.getQueryCache().notify({type:"observerOptionsUpdated",query:this.currentQuery,observer:this}),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled)throw new Error("Expected enabled to be a boolean");this.options.queryKey||(this.options.queryKey=n.queryKey),this.updateQuery();const i=this.hasListeners();i&&Xa(this.currentQuery,r,this.options,n)&&this.executeFetch(),this.updateResult(t),!i||this.currentQuery===r&&this.options.enabled===n.enabled&&this.options.staleTime===n.staleTime||this.updateStaleTimeout();const o=this.computeRefetchInterval();!i||this.currentQuery===r&&this.options.enabled===n.enabled&&o===this.currentRefetchInterval||this.updateRefetchInterval(o)}getOptimisticResult(e){const t=this.client.getQueryCache().build(this.client,e),n=this.createResult(t,e);return function(e,t,n){return!n.keepPreviousData&&(void 0!==n.placeholderData?t.isPlaceholderData:!Da(e.getCurrentResult(),t))}(this,n,e)&&(this.currentResult=n,this.currentResultOptions=this.options,this.currentResultState=this.currentQuery.state),n}getCurrentResult(){return this.currentResult}trackResult(e){const t={};return Object.keys(e).forEach((n=>{Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:()=>(this.trackedProps.add(n),e[n])})})),t}getCurrentQuery(){return this.currentQuery}remove(){this.client.getQueryCache().remove(this.currentQuery)}refetch({refetchPage:e,...t}={}){return this.fetch({...t,meta:{refetchPage:e}})}fetchOptimistic(e){const t=this.client.defaultQueryOptions(e),n=this.client.getQueryCache().build(this.client,t);return n.isFetchingOptimistic=!0,n.fetch().then((()=>this.createResult(n,t)))}fetch(e){var t;return this.executeFetch({...e,cancelRefetch:null==(t=e.cancelRefetch)||t}).then((()=>(this.updateResult(),this.currentResult)))}executeFetch(e){this.updateQuery();let t=this.currentQuery.fetch(this.options,e);return null!=e&&e.throwOnError||(t=t.catch(ga)),t}updateStaleTimeout(){if(this.clearStaleTimeout(),ma||this.currentResult.isStale||!va(this.options.staleTime))return;const e=wa(this.currentResult.dataUpdatedAt,this.options.staleTime)+1;this.staleTimeoutId=setTimeout((()=>{this.currentResult.isStale||this.updateResult()}),e)}computeRefetchInterval(){var e;return"function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.currentResult.data,this.currentQuery):null!=(e=this.options.refetchInterval)&&e}updateRefetchInterval(e){this.clearRefetchInterval(),this.currentRefetchInterval=e,!ma&&!1!==this.options.enabled&&va(this.currentRefetchInterval)&&0!==this.currentRefetchInterval&&(this.refetchIntervalId=setInterval((()=>{(this.options.refetchIntervalInBackground||Ua.isFocused())&&this.executeFetch()}),this.currentRefetchInterval))}updateTimers(){this.updateStaleTimeout(),this.updateRefetchInterval(this.computeRefetchInterval())}clearStaleTimeout(){this.staleTimeoutId&&(clearTimeout(this.staleTimeoutId),this.staleTimeoutId=void 0)}clearRefetchInterval(){this.refetchIntervalId&&(clearInterval(this.refetchIntervalId),this.refetchIntervalId=void 0)}createResult(e,t){const n=this.currentQuery,r=this.options,i=this.currentResult,o=this.currentResultState,a=this.currentResultOptions,s=e!==n,l=s?e.state:this.currentQueryInitialState,c=s?this.currentResult:this.previousQueryResult,{state:u}=e;let d,{dataUpdatedAt:h,error:f,errorUpdatedAt:p,fetchStatus:y,status:m}=u,g=!1,v=!1;if(t._optimisticResults){const i=this.hasListeners(),o=!i&&Ka(e,t),a=i&&Xa(e,n,t,r);(o||a)&&(y=Wa(e.options.networkMode)?"fetching":"paused",h||(m="loading")),"isRestoring"===t._optimisticResults&&(y="idle")}if(t.keepPreviousData&&!u.dataUpdatedAt&&null!=c&&c.isSuccess&&"error"!==m)d=c.data,h=c.dataUpdatedAt,m=c.status,g=!0;else if(t.select&&void 0!==u.data)if(i&&u.data===(null==o?void 0:o.data)&&t.select===this.selectFn)d=this.selectResult;else try{this.selectFn=t.select,d=t.select(u.data),d=ja(null==i?void 0:i.data,d,t),this.selectResult=d,this.selectError=null}catch(e){this.selectError=e}else d=u.data;if(void 0!==t.placeholderData&&void 0===d&&"loading"===m){let e;if(null!=i&&i.isPlaceholderData&&t.placeholderData===(null==a?void 0:a.placeholderData))e=i.data;else if(e="function"==typeof t.placeholderData?t.placeholderData():t.placeholderData,t.select&&void 0!==e)try{e=t.select(e),this.selectError=null}catch(e){this.selectError=e}void 0!==e&&(m="success",d=ja(null==i?void 0:i.data,e,t),v=!0)}this.selectError&&(f=this.selectError,d=this.selectResult,p=Date.now(),m="error");const b="fetching"===y,w="loading"===m,x="error"===m;return{status:m,fetchStatus:y,isLoading:w,isSuccess:"success"===m,isError:x,isInitialLoading:w&&b,data:d,dataUpdatedAt:h,error:f,errorUpdatedAt:p,failureCount:u.fetchFailureCount,failureReason:u.fetchFailureReason,errorUpdateCount:u.errorUpdateCount,isFetched:u.dataUpdateCount>0||u.errorUpdateCount>0,isFetchedAfterMount:u.dataUpdateCount>l.dataUpdateCount||u.errorUpdateCount>l.errorUpdateCount,isFetching:b,isRefetching:b&&!w,isLoadingError:x&&0===u.dataUpdatedAt,isPaused:"paused"===y,isPlaceholderData:v,isPreviousData:g,isRefetchError:x&&0!==u.dataUpdatedAt,isStale:Ja(e,t),refetch:this.refetch,remove:this.remove}}updateResult(e){const t=this.currentResult,n=this.createResult(this.currentQuery,this.options);if(this.currentResultState=this.currentQuery.state,this.currentResultOptions=this.options,Da(n,t))return;this.currentResult=n;const r={cache:!0};!1!==(null==e?void 0:e.listeners)&&(()=>{if(!t)return!0;const{notifyOnChangeProps:e}=this.options,n="function"==typeof e?e():e;if("all"===n||!n&&!this.trackedProps.size)return!0;const r=new Set(null!=n?n:this.trackedProps);return this.options.useErrorBoundary&&r.add("error"),Object.keys(this.currentResult).some((e=>{const n=e;return this.currentResult[n]!==t[n]&&r.has(n)}))})()&&(r.listeners=!0),this.notify({...r,...e})}updateQuery(){const e=this.client.getQueryCache().build(this.client,this.options);if(e===this.currentQuery)return;const t=this.currentQuery;this.currentQuery=e,this.currentQueryInitialState=e.state,this.previousQueryResult=this.currentResult,this.hasListeners()&&(null==t||t.removeObserver(this),e.addObserver(this))}onQueryUpdate(e){const t={};"success"===e.type?t.onSuccess=!e.manual:"error"!==e.type||$a(e.error)||(t.onError=!0),this.updateResult(t),this.hasListeners()&&this.updateTimers()}notify(e){Fa.batch((()=>{var t,n,r,i;if(e.onSuccess)null==(t=(n=this.options).onSuccess)||t.call(n,this.currentResult.data),null==(r=(i=this.options).onSettled)||r.call(i,this.currentResult.data,null);else if(e.onError){var o,a,s,l;null==(o=(a=this.options).onError)||o.call(a,this.currentResult.error),null==(s=(l=this.options).onSettled)||s.call(l,void 0,this.currentResult.error)}e.listeners&&this.listeners.forEach((({listener:e})=>{e(this.currentResult)})),e.cache&&this.client.getQueryCache().notify({query:this.currentQuery,type:"observerResultsUpdated"})}))}}function Ka(e,t){return function(e,t){return!(!1===t.enabled||e.state.dataUpdatedAt||"error"===e.state.status&&!1===t.retryOnMount)}(e,t)||e.state.dataUpdatedAt>0&&Ga(e,t,t.refetchOnMount)}function Ga(e,t,n){if(!1!==t.enabled){const r="function"==typeof n?n(e):n;return"always"===r||!1!==r&&Ja(e,t)}return!1}function Xa(e,t,n,r){return!1!==n.enabled&&(e!==t||!1===r.enabled)&&(!n.suspense||"error"!==e.state.status)&&Ja(e,n)}function Ja(e,t){return e.isStaleByTime(t.staleTime)}class Za extends Ia{constructor(e,t){super(),this.client=e,this.queries=[],this.result=[],this.observers=[],this.observersMap={},t&&this.setQueries(t)}onSubscribe(){1===this.listeners.size&&this.observers.forEach((e=>{e.subscribe((t=>{this.onUpdate(e,t)}))}))}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.observers.forEach((e=>{e.destroy()}))}setQueries(e,t){this.queries=e,Fa.batch((()=>{const e=this.observers,n=this.findMatchingObservers(this.queries);n.forEach((e=>e.observer.setOptions(e.defaultedQueryOptions,t)));const r=n.map((e=>e.observer)),i=Object.fromEntries(r.map((e=>[e.options.queryHash,e]))),o=r.map((e=>e.getCurrentResult())),a=r.some(((t,n)=>t!==e[n]));(e.length!==r.length||a)&&(this.observers=r,this.observersMap=i,this.result=o,this.hasListeners()&&(ba(e,r).forEach((e=>{e.destroy()})),ba(r,e).forEach((e=>{e.subscribe((t=>{this.onUpdate(e,t)}))})),this.notify()))}))}getCurrentResult(){return this.result}getQueries(){return this.observers.map((e=>e.getCurrentQuery()))}getObservers(){return this.observers}getOptimisticResult(e){return this.findMatchingObservers(e).map((e=>e.observer.getOptimisticResult(e.defaultedQueryOptions)))}findMatchingObservers(e){const t=this.observers,n=new Map(t.map((e=>[e.options.queryHash,e]))),r=e.map((e=>this.client.defaultQueryOptions(e))),i=r.flatMap((e=>{const t=n.get(e.queryHash);return null!=t?[{defaultedQueryOptions:e,observer:t}]:[]})),o=new Set(i.map((e=>e.defaultedQueryOptions.queryHash))),a=r.filter((e=>!o.has(e.queryHash))),s=new Set(i.map((e=>e.observer))),l=t.filter((e=>!s.has(e))),c=e=>{const t=this.client.defaultQueryOptions(e),n=this.observersMap[t.queryHash];return null!=n?n:new Va(this.client,t)},u=a.map(((e,t)=>{if(e.keepPreviousData){const n=l[t];if(void 0!==n)return{defaultedQueryOptions:e,observer:n}}return{defaultedQueryOptions:e,observer:c(e)}}));return i.concat(u).sort(((e,t)=>r.indexOf(e.defaultedQueryOptions)-r.indexOf(t.defaultedQueryOptions)))}onUpdate(e,t){const n=this.observers.indexOf(e);-1!==n&&(this.result=function(e,t,n){const r=e.slice(0);return r[t]=n,r}(this.result,n,t),this.notify())}notify(){Fa.batch((()=>{this.listeners.forEach((({listener:e})=>{e(this.result)}))}))}}const es=i(888).useSyncExternalStore,ts=o.createContext(void 0),ns=o.createContext(!1);function rs(e,t){return e||(t&&"undefined"!=typeof window?(window.ReactQueryClientContext||(window.ReactQueryClientContext=ts),window.ReactQueryClientContext):ts)}const is=({client:e,children:t,context:n,contextSharing:r=!1})=>{o.useEffect((()=>(e.mount(),()=>{e.unmount()})),[e]);const i=rs(n,r);return o.createElement(ns.Provider,{value:!n&&r},o.createElement(i.Provider,{value:e},t))},os=o.createContext(!1);os.Provider;const as=o.createContext(function(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}()),ss=(e,t)=>e.isLoading&&e.isFetching&&!t,ls=(e,t,n)=>(null==e?void 0:e.suspense)&&ss(t,n),cs=(e,t,n)=>t.fetchOptimistic(e).then((({data:t})=>{null==e.onSuccess||e.onSuccess(t),null==e.onSettled||e.onSettled(t,null)})).catch((t=>{n.clearReset(),null==e.onError||e.onError(t),null==e.onSettled||e.onSettled(void 0,t)}));function us(e){return 100<(e=parseInt(e))?"visitors-crowd":10<e?"visitors":"visitor"}const ds=({className:e,title:t,controls:n,children:r,footer:i})=>(0,o.createElement)("div",{className:"burst-grid-item "+e},(0,o.createElement)("div",{className:"burst-grid-item-header"},(0,o.createElement)("h3",{className:"burst-grid-title burst-h4"},t),(0,o.createElement)("div",{className:"burst-grid-item-controls"},n)),(0,o.createElement)("div",{className:"burst-grid-item-content"},r),(0,o.createElement)("div",{className:"burst-grid-item-footer"},i)),hs=()=>{const[e,t]=(0,s.useState)((()=>{if("undefined"!=typeof Storage){const e=localStorage.getItem("burst_widget_date_range");if(e&&0<e.length)return JSON.parse(e)}return"last-7-days"})());(0,s.useEffect)((()=>{burst_settings.json_translations.forEach((e=>{let t=JSON.parse(e),n=t.locale_data["burst-statistics"]||t.locale_data.messages;n[""].domain="burst-statistics",(0,l.setLocaleData)(n,"burst-statistics")}))}),[]);const n=T(["today","yesterday","last-7-days","last-30-days","last-90-days"]),r=n[e]?n[e].range():n["last-7-days"].range(),i=ya(r.startDate,"yyyy-MM-dd"),a=ya(r.endDate,"yyyy-MM-dd"),[c,u]=(0,s.useState)(5e3),d={live:{title:(0,l.__)("Live","burst-statistics"),icon:"visitor"},today:{title:(0,l.__)("Total","burst-statistics"),value:"-",icon:"visitor"},mostViewed:{title:"-",value:"-"},pageviews:{title:"-",value:"-"},referrer:{title:"-",value:"-"},timeOnPage:{title:"-",value:"-"}},h=function({queries:e,context:t}){const n=(({context:e}={})=>{const t=o.useContext(rs(e,o.useContext(ns)));if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t})({context:t}),r=o.useContext(os),i=o.useContext(as),a=o.useMemo((()=>e.map((e=>{const t=n.defaultQueryOptions(e);return t._optimisticResults=r?"isRestoring":"optimistic",t}))),[e,n,r]);a.forEach((e=>{var t;(t=e).suspense&&"number"!=typeof t.staleTime&&(t.staleTime=1e3),((e,t)=>{(e.suspense||e.useErrorBoundary)&&(t.isReset()||(e.retryOnMount=!1))})(e,i)})),(e=>{o.useEffect((()=>{e.clearReset()}),[e])})(i);const[s]=o.useState((()=>new Za(n,a))),l=s.getOptimisticResult(a);es(o.useCallback((e=>r?()=>{}:s.subscribe(Fa.batchCalls(e))),[s,r]),(()=>s.getCurrentResult()),(()=>s.getCurrentResult())),o.useEffect((()=>{s.setQueries(a,{listeners:!1})}),[a,s]);const c=l.some(((e,t)=>ls(a[t],e,r))),u=c?l.flatMap(((e,t)=>{const n=a[t],o=s.getObservers()[t];if(n&&o){if(ls(n,e,r))return cs(n,o,i);ss(e,r)&&cs(n,o,i)}return[]})):[];if(u.length>0)throw Promise.all(u);const d=s.getQueries(),h=l.find(((e,t)=>{var n,r;return(({result:e,errorResetBoundary:t,useErrorBoundary:n,query:r})=>{return e.isError&&!t.isReset()&&!e.isFetching&&(i=n,o=[e.error,r],"function"==typeof i?i(...o):!!i);var i,o})({result:e,errorResetBoundary:i,useErrorBoundary:null!=(n=null==(r=a[t])?void 0:r.useErrorBoundary)&&n,query:d[t]})}));if(null!=h&&h.error)throw h.error;return l}({queries:[{queryKey:["live-visitors"],queryFn:pe,refetchInterval:c,placeholderData:"-",onError:()=>{u(0)}},{queryKey:[e,i,a],queryFn:()=>(async e=>{const{startDate:t,endDate:n,range:r,filters:i}=e,{data:o}=await fe("today",t,n,r,{filters:i});return(e=>{for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t].value="timeOnPage"===t?k(e[t].value):E(e[t].value));return e})(o)})({startDate:i,endDate:a}),refetchInterval:2*c,placeholderData:d,onError:()=>{u(0)}}]}),f=h[0].data;let p=h[1].data;h.some((e=>e.isError))&&(p=d);let y=us(f||0),m="loading";return p&&p.today&&(m=us(p.today.value?p.today.value:0)),(0,o.createElement)(ds,{className:"border-to-border burst-today",title:(0,l.__)("Today","burst-statistics"),controls:(0,o.createElement)(o.Fragment,null,h[0].isFetching?(0,o.createElement)(Eo,{name:"loading"}):null),footer:(0,o.createElement)(o.Fragment,null,(0,o.createElement)("a",{className:"burst-button burst-button--secondary",href:burst_settings.dashboard_url+"#/statistics"},(0,l.__)("View all statistics","burst-statistics")),(0,o.createElement)("select",{onChange:e=>{return n=e.target.value,r=n,"undefined"!=typeof Storage&&localStorage.setItem("burst_widget_date_range",JSON.stringify(r)),void t(n);var n,r},value:e},Object.keys(n).map((e=>(0,o.createElement)("option",{key:e,value:e},n[e].label)))))},(0,o.createElement)("div",{className:"burst-today"},(0,o.createElement)("div",{className:"burst-today-select"},(0,o.createElement)("div",{className:"burst-today-select-item"},(0,o.createElement)(Eo,{name:y,size:"23"}),(0,o.createElement)("h2",null,f),(0,o.createElement)("span",null,(0,o.createElement)(Eo,{name:"live",size:"12",color:"red"})," ",(0,l.__)("Live","burst-statistics"))),(0,o.createElement)("div",{className:"burst-today-select-item"},(0,o.createElement)(Eo,{name:m,size:"23"}),(0,o.createElement)("h2",null,p.today.value),(0,o.createElement)("span",null,(0,o.createElement)(Eo,{name:"total",size:"13",color:"green"})," ",(0,l.__)("Total","burst-statistics")))),(0,o.createElement)("div",{className:"burst-today-list"},(0,o.createElement)("div",{className:"burst-today-list-item"},(0,o.createElement)(Eo,{name:"winner"}),(0,o.createElement)("p",{className:"burst-today-list-item-text"},decodeURI(p.mostViewed.title)),(0,o.createElement)("p",{className:"burst-today-list-item-number"},p.mostViewed.value)),(0,o.createElement)("div",{className:"burst-today-list-item"},(0,o.createElement)(Eo,{name:"referrer"}),(0,o.createElement)("p",{className:"burst-today-list-item-text"},decodeURI(p.referrer.title)),(0,o.createElement)("p",{className:"burst-today-list-item-number"},p.referrer.value)),(0,o.createElement)("div",{className:"burst-today-list-item"},(0,o.createElement)(Eo,{name:"pageviews"}),(0,o.createElement)("p",{className:"burst-today-list-item-text"},p.pageviews.title),(0,o.createElement)("p",{className:"burst-today-list-item-number"},p.pageviews.value)),(0,o.createElement)("div",{className:"burst-today-list-item"},(0,o.createElement)(Eo,{name:"time"}),(0,o.createElement)("p",{className:"burst-today-list-item-text"},p.timeOnPage.title),(0,o.createElement)("p",{className:"burst-today-list-item-number"},p.timeOnPage.value)))))},fs=console;class ps{destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),va(this.cacheTime)&&(this.gcTimeout=setTimeout((()=>{this.optionalRemove()}),this.cacheTime))}updateCacheTime(e){this.cacheTime=Math.max(this.cacheTime||0,null!=e?e:ma?1/0:3e5)}clearGcTimeout(){this.gcTimeout&&(clearTimeout(this.gcTimeout),this.gcTimeout=void 0)}}class ys extends ps{constructor(e){super(),this.abortSignalConsumed=!1,this.defaultOptions=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.cache=e.cache,this.logger=e.logger||fs,this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.initialState=e.state||function(e){const t="function"==typeof e.initialData?e.initialData():e.initialData,n=void 0!==t,r=n?"function"==typeof e.initialDataUpdatedAt?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?null!=r?r:Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"loading",fetchStatus:"idle"}}(this.options),this.state=this.initialState,this.scheduleGc()}get meta(){return this.options.meta}setOptions(e){this.options={...this.defaultOptions,...e},this.updateCacheTime(this.options.cacheTime)}optionalRemove(){this.observers.length||"idle"!==this.state.fetchStatus||this.cache.remove(this)}setData(e,t){const n=ja(this.state.data,e,this.options);return this.dispatch({data:n,type:"success",dataUpdatedAt:null==t?void 0:t.updatedAt,manual:null==t?void 0:t.manual}),n}setState(e,t){this.dispatch({type:"setState",state:e,setStateOptions:t})}cancel(e){var t;const n=this.promise;return null==(t=this.retryer)||t.cancel(e),n?n.then(ga).catch(ga):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.initialState)}isActive(){return this.observers.some((e=>!1!==e.options.enabled))}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return this.state.isInvalidated||!this.state.dataUpdatedAt||this.observers.some((e=>e.getCurrentResult().isStale))}isStaleByTime(e=0){return this.state.isInvalidated||!this.state.dataUpdatedAt||!wa(this.state.dataUpdatedAt,e)}onFocus(){var e;const t=this.observers.find((e=>e.shouldFetchOnWindowFocus()));t&&t.refetch({cancelRefetch:!1}),null==(e=this.retryer)||e.continue()}onOnline(){var e;const t=this.observers.find((e=>e.shouldFetchOnReconnect()));t&&t.refetch({cancelRefetch:!1}),null==(e=this.retryer)||e.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.cache.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter((t=>t!==e)),this.observers.length||(this.retryer&&(this.abortSignalConsumed?this.retryer.cancel({revert:!0}):this.retryer.cancelRetry()),this.scheduleGc()),this.cache.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.dispatch({type:"invalidate"})}fetch(e,t){var n,r;if("idle"!==this.state.fetchStatus)if(this.state.dataUpdatedAt&&null!=t&&t.cancelRefetch)this.cancel({silent:!0});else if(this.promise){var i;return null==(i=this.retryer)||i.continueRetry(),this.promise}if(e&&this.setOptions(e),!this.options.queryFn){const e=this.observers.find((e=>e.options.queryFn));e&&this.setOptions(e.options)}const o=function(){if("function"==typeof AbortController)return new AbortController}(),a={queryKey:this.queryKey,pageParam:void 0,meta:this.meta},s=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>{if(o)return this.abortSignalConsumed=!0,o.signal}})};s(a);const l={fetchOptions:t,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:()=>this.options.queryFn?(this.abortSignalConsumed=!1,this.options.queryFn(a)):Promise.reject("Missing queryFn for queryKey '"+this.options.queryHash+"'")};var c;s(l),null==(n=this.options.behavior)||n.onFetch(l),this.revertState=this.state,("idle"===this.state.fetchStatus||this.state.fetchMeta!==(null==(r=l.fetchOptions)?void 0:r.meta))&&this.dispatch({type:"fetch",meta:null==(c=l.fetchOptions)?void 0:c.meta});const u=e=>{var t,n,r,i;$a(e)&&e.silent||this.dispatch({type:"error",error:e}),$a(e)||(null==(t=(n=this.cache.config).onError)||t.call(n,e,this),null==(r=(i=this.cache.config).onSettled)||r.call(i,this.state.data,e,this)),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return this.retryer=Ya({fn:l.fetchFn,abort:null==o?void 0:o.abort.bind(o),onSuccess:e=>{var t,n,r,i;void 0!==e?(this.setData(e),null==(t=(n=this.cache.config).onSuccess)||t.call(n,e,this),null==(r=(i=this.cache.config).onSettled)||r.call(i,e,this.state.error,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1):u(new Error(this.queryHash+" data is undefined"))},onError:u,onFail:(e,t)=>{this.dispatch({type:"failed",failureCount:e,error:t})},onPause:()=>{this.dispatch({type:"pause"})},onContinue:()=>{this.dispatch({type:"continue"})},retry:l.options.retry,retryDelay:l.options.retryDelay,networkMode:l.options.networkMode}),this.promise=this.retryer.promise,this.promise}dispatch(e){this.state=(t=>{var n,r;switch(e.type){case"failed":return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...t,fetchStatus:"paused"};case"continue":return{...t,fetchStatus:"fetching"};case"fetch":return{...t,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null!=(n=e.meta)?n:null,fetchStatus:Wa(this.options.networkMode)?"fetching":"paused",...!t.dataUpdatedAt&&{error:null,status:"loading"}};case"success":return{...t,data:e.data,dataUpdateCount:t.dataUpdateCount+1,dataUpdatedAt:null!=(r=e.dataUpdatedAt)?r:Date.now(),error:null,isInvalidated:!1,status:"success",...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const i=e.error;return $a(i)&&i.revert&&this.revertState?{...this.revertState,fetchStatus:"idle"}:{...t,error:i,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error"};case"invalidate":return{...t,isInvalidated:!0};case"setState":return{...t,...e.state}}})(this.state),Fa.batch((()=>{this.observers.forEach((t=>{t.onQueryUpdate(e)})),this.cache.notify({query:this,type:"updated",action:e})}))}}class ms extends Ia{constructor(e){super(),this.config=e||{},this.queries=[],this.queriesMap={}}build(e,t,n){var r;const i=t.queryKey,o=null!=(r=t.queryHash)?r:Ma(i,t);let a=this.get(o);return a||(a=new ys({cache:this,logger:e.getLogger(),queryKey:i,queryHash:o,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(i)}),this.add(a)),a}add(e){this.queriesMap[e.queryHash]||(this.queriesMap[e.queryHash]=e,this.queries.push(e),this.notify({type:"added",query:e}))}remove(e){const t=this.queriesMap[e.queryHash];t&&(e.destroy(),this.queries=this.queries.filter((t=>t!==e)),t===e&&delete this.queriesMap[e.queryHash],this.notify({type:"removed",query:e}))}clear(){Fa.batch((()=>{this.queries.forEach((e=>{this.remove(e)}))}))}get(e){return this.queriesMap[e]}getAll(){return this.queries}find(e,t){const[n]=ka(e,t);return void 0===n.exact&&(n.exact=!0),this.queries.find((e=>Ea(n,e)))}findAll(e,t){const[n]=ka(e,t);return Object.keys(n).length>0?this.queries.filter((e=>Ea(n,e))):this.queries}notify(e){Fa.batch((()=>{this.listeners.forEach((({listener:t})=>{t(e)}))}))}onFocus(){Fa.batch((()=>{this.queries.forEach((e=>{e.onFocus()}))}))}onOnline(){Fa.batch((()=>{this.queries.forEach((e=>{e.onOnline()}))}))}}class gs extends ps{constructor(e){super(),this.defaultOptions=e.defaultOptions,this.mutationId=e.mutationId,this.mutationCache=e.mutationCache,this.logger=e.logger||fs,this.observers=[],this.state=e.state||{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0},this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options={...this.defaultOptions,...e},this.updateCacheTime(this.options.cacheTime)}get meta(){return this.options.meta}setState(e){this.dispatch({type:"setState",state:e})}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.mutationCache.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.observers=this.observers.filter((t=>t!==e)),this.scheduleGc(),this.mutationCache.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.observers.length||("loading"===this.state.status?this.scheduleGc():this.mutationCache.remove(this))}continue(){var e,t;return null!=(e=null==(t=this.retryer)?void 0:t.continue())?e:this.execute()}async execute(){const e=()=>{var e;return this.retryer=Ya({fn:()=>this.options.mutationFn?this.options.mutationFn(this.state.variables):Promise.reject("No mutationFn found"),onFail:(e,t)=>{this.dispatch({type:"failed",failureCount:e,error:t})},onPause:()=>{this.dispatch({type:"pause"})},onContinue:()=>{this.dispatch({type:"continue"})},retry:null!=(e=this.options.retry)?e:0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode}),this.retryer.promise},t="loading"===this.state.status;try{var n,r,i,o,a,s,l,c;if(!t){var u,d,h,f;this.dispatch({type:"loading",variables:this.options.variables}),await(null==(u=(d=this.mutationCache.config).onMutate)?void 0:u.call(d,this.state.variables,this));const e=await(null==(h=(f=this.options).onMutate)?void 0:h.call(f,this.state.variables));e!==this.state.context&&this.dispatch({type:"loading",context:e,variables:this.state.variables})}const p=await e();return await(null==(n=(r=this.mutationCache.config).onSuccess)?void 0:n.call(r,p,this.state.variables,this.state.context,this)),await(null==(i=(o=this.options).onSuccess)?void 0:i.call(o,p,this.state.variables,this.state.context)),await(null==(a=(s=this.mutationCache.config).onSettled)?void 0:a.call(s,p,null,this.state.variables,this.state.context,this)),await(null==(l=(c=this.options).onSettled)?void 0:l.call(c,p,null,this.state.variables,this.state.context)),this.dispatch({type:"success",data:p}),p}catch(e){try{var p,y,m,g,v,b,w,x;throw await(null==(p=(y=this.mutationCache.config).onError)?void 0:p.call(y,e,this.state.variables,this.state.context,this)),await(null==(m=(g=this.options).onError)?void 0:m.call(g,e,this.state.variables,this.state.context)),await(null==(v=(b=this.mutationCache.config).onSettled)?void 0:v.call(b,void 0,e,this.state.variables,this.state.context,this)),await(null==(w=(x=this.options).onSettled)?void 0:w.call(x,void 0,e,this.state.variables,this.state.context)),e}finally{this.dispatch({type:"error",error:e})}}}dispatch(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"loading":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:!Wa(this.options.networkMode),status:"loading",variables:e.variables};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"};case"setState":return{...t,...e.state}}})(this.state),Fa.batch((()=>{this.observers.forEach((t=>{t.onMutationUpdate(e)})),this.mutationCache.notify({mutation:this,type:"updated",action:e})}))}}class vs extends Ia{constructor(e){super(),this.config=e||{},this.mutations=[],this.mutationId=0}build(e,t,n){const r=new gs({mutationCache:this,logger:e.getLogger(),mutationId:++this.mutationId,options:e.defaultMutationOptions(t),state:n,defaultOptions:t.mutationKey?e.getMutationDefaults(t.mutationKey):void 0});return this.add(r),r}add(e){this.mutations.push(e),this.notify({type:"added",mutation:e})}remove(e){this.mutations=this.mutations.filter((t=>t!==e)),this.notify({type:"removed",mutation:e})}clear(){Fa.batch((()=>{this.mutations.forEach((e=>{this.remove(e)}))}))}getAll(){return this.mutations}find(e){return void 0===e.exact&&(e.exact=!0),this.mutations.find((t=>Ca(e,t)))}findAll(e){return this.mutations.filter((t=>Ca(e,t)))}notify(e){Fa.batch((()=>{this.listeners.forEach((({listener:t})=>{t(e)}))}))}resumePausedMutations(){var e;return this.resuming=(null!=(e=this.resuming)?e:Promise.resolve()).then((()=>{const e=this.mutations.filter((e=>e.state.isPaused));return Fa.batch((()=>e.reduce(((e,t)=>e.then((()=>t.continue().catch(ga)))),Promise.resolve())))})).then((()=>{this.resuming=void 0})),this.resuming}}function bs(e,t){return null==e.getNextPageParam?void 0:e.getNextPageParam(t[t.length-1],t)}var ws=i(338);const xs=new ms({onError:e=>{}});let ks={defaultOptions:{queries:{staleTime:36e5,refetchOnWindowFocus:!1,retry:!1}}};ks={...ks,queryCache:xs};const Es=new class{constructor(e={}){this.queryCache=e.queryCache||new ms,this.mutationCache=e.mutationCache||new vs,this.logger=e.logger||fs,this.defaultOptions=e.defaultOptions||{},this.queryDefaults=[],this.mutationDefaults=[],this.mountCount=0}mount(){this.mountCount++,1===this.mountCount&&(this.unsubscribeFocus=Ua.subscribe((()=>{Ua.isFocused()&&(this.resumePausedMutations(),this.queryCache.onFocus())})),this.unsubscribeOnline=Ha.subscribe((()=>{Ha.isOnline()&&(this.resumePausedMutations(),this.queryCache.onOnline())})))}unmount(){var e,t;this.mountCount--,0===this.mountCount&&(null==(e=this.unsubscribeFocus)||e.call(this),this.unsubscribeFocus=void 0,null==(t=this.unsubscribeOnline)||t.call(this),this.unsubscribeOnline=void 0)}isFetching(e,t){const[n]=ka(e,t);return n.fetchStatus="fetching",this.queryCache.findAll(n).length}isMutating(e){return this.mutationCache.findAll({...e,fetching:!0}).length}getQueryData(e,t){var n;return null==(n=this.queryCache.find(e,t))?void 0:n.state.data}ensureQueryData(e,t,n){const r=xa(e,t,n),i=this.getQueryData(r.queryKey);return i?Promise.resolve(i):this.fetchQuery(r)}getQueriesData(e){return this.getQueryCache().findAll(e).map((({queryKey:e,state:t})=>[e,t.data]))}setQueryData(e,t,n){const r=this.queryCache.find(e),i=function(e,t){return"function"==typeof e?e(t):e}(t,null==r?void 0:r.state.data);if(void 0===i)return;const o=xa(e),a=this.defaultQueryOptions(o);return this.queryCache.build(this,a).setData(i,{...n,manual:!0})}setQueriesData(e,t,n){return Fa.batch((()=>this.getQueryCache().findAll(e).map((({queryKey:e})=>[e,this.setQueryData(e,t,n)]))))}getQueryState(e,t){var n;return null==(n=this.queryCache.find(e,t))?void 0:n.state}removeQueries(e,t){const[n]=ka(e,t),r=this.queryCache;Fa.batch((()=>{r.findAll(n).forEach((e=>{r.remove(e)}))}))}resetQueries(e,t,n){const[r,i]=ka(e,t,n),o=this.queryCache,a={type:"active",...r};return Fa.batch((()=>(o.findAll(r).forEach((e=>{e.reset()})),this.refetchQueries(a,i))))}cancelQueries(e,t,n){const[r,i={}]=ka(e,t,n);void 0===i.revert&&(i.revert=!0);const o=Fa.batch((()=>this.queryCache.findAll(r).map((e=>e.cancel(i)))));return Promise.all(o).then(ga).catch(ga)}invalidateQueries(e,t,n){const[r,i]=ka(e,t,n);return Fa.batch((()=>{var e,t;if(this.queryCache.findAll(r).forEach((e=>{e.invalidate()})),"none"===r.refetchType)return Promise.resolve();const n={...r,type:null!=(e=null!=(t=r.refetchType)?t:r.type)?e:"active"};return this.refetchQueries(n,i)}))}refetchQueries(e,t,n){const[r,i]=ka(e,t,n),o=Fa.batch((()=>this.queryCache.findAll(r).filter((e=>!e.isDisabled())).map((e=>{var t;return e.fetch(void 0,{...i,cancelRefetch:null==(t=null==i?void 0:i.cancelRefetch)||t,meta:{refetchPage:r.refetchPage}})}))));let a=Promise.all(o).then(ga);return null!=i&&i.throwOnError||(a=a.catch(ga)),a}fetchQuery(e,t,n){const r=xa(e,t,n),i=this.defaultQueryOptions(r);void 0===i.retry&&(i.retry=!1);const o=this.queryCache.build(this,i);return o.isStaleByTime(i.staleTime)?o.fetch(i):Promise.resolve(o.state.data)}prefetchQuery(e,t,n){return this.fetchQuery(e,t,n).then(ga).catch(ga)}fetchInfiniteQuery(e,t,n){const r=xa(e,t,n);return r.behavior={onFetch:e=>{e.fetchFn=()=>{var t,n,r,i,o,a;const s=null==(t=e.fetchOptions)||null==(n=t.meta)?void 0:n.refetchPage,l=null==(r=e.fetchOptions)||null==(i=r.meta)?void 0:i.fetchMore,c=null==l?void 0:l.pageParam,u="forward"===(null==l?void 0:l.direction),d="backward"===(null==l?void 0:l.direction),h=(null==(o=e.state.data)?void 0:o.pages)||[],f=(null==(a=e.state.data)?void 0:a.pageParams)||[];let p=f,y=!1;const m=e.options.queryFn||(()=>Promise.reject("Missing queryFn for queryKey '"+e.options.queryHash+"'")),g=(e,t,n,r)=>(p=r?[t,...p]:[...p,t],r?[n,...e]:[...e,n]),v=(t,n,r,i)=>{if(y)return Promise.reject("Cancelled");if(void 0===r&&!n&&t.length)return Promise.resolve(t);const o={queryKey:e.queryKey,pageParam:r,meta:e.options.meta};var a;a=o,Object.defineProperty(a,"signal",{enumerable:!0,get:()=>{var t,n;return null!=(t=e.signal)&&t.aborted?y=!0:null==(n=e.signal)||n.addEventListener("abort",(()=>{y=!0})),e.signal}});const s=m(o);return Promise.resolve(s).then((e=>g(t,r,e,i)))};let b;if(h.length)if(u){const t=void 0!==c,n=t?c:bs(e.options,h);b=v(h,t,n)}else if(d){const t=void 0!==c,n=t?c:(w=e.options,x=h,null==w.getPreviousPageParam?void 0:w.getPreviousPageParam(x[0],x));b=v(h,t,n,!0)}else{p=[];const t=void 0===e.options.getNextPageParam;b=s&&h[0]&&!s(h[0],0,h)?Promise.resolve(g([],f[0],h[0])):v([],t,f[0]);for(let n=1;n<h.length;n++)b=b.then((r=>{if(!s||!h[n]||s(h[n],n,h)){const i=t?f[n]:bs(e.options,r);return v(r,t,i)}return Promise.resolve(g(r,f[n],h[n]))}))}else b=v([]);var w,x;return b.then((e=>({pages:e,pageParams:p})))}}},this.fetchQuery(r)}prefetchInfiniteQuery(e,t,n){return this.fetchInfiniteQuery(e,t,n).then(ga).catch(ga)}resumePausedMutations(){return this.mutationCache.resumePausedMutations()}getQueryCache(){return this.queryCache}getMutationCache(){return this.mutationCache}getLogger(){return this.logger}getDefaultOptions(){return this.defaultOptions}setDefaultOptions(e){this.defaultOptions=e}setQueryDefaults(e,t){const n=this.queryDefaults.find((t=>Ta(e)===Ta(t.queryKey)));n?n.defaultOptions=t:this.queryDefaults.push({queryKey:e,defaultOptions:t})}getQueryDefaults(e){if(!e)return;const t=this.queryDefaults.find((t=>Oa(e,t.queryKey)));return null==t?void 0:t.defaultOptions}setMutationDefaults(e,t){const n=this.mutationDefaults.find((t=>Ta(e)===Ta(t.mutationKey)));n?n.defaultOptions=t:this.mutationDefaults.push({mutationKey:e,defaultOptions:t})}getMutationDefaults(e){if(!e)return;const t=this.mutationDefaults.find((t=>Oa(e,t.mutationKey)));return null==t?void 0:t.defaultOptions}defaultQueryOptions(e){if(null!=e&&e._defaulted)return e;const t={...this.defaultOptions.queries,...this.getQueryDefaults(null==e?void 0:e.queryKey),...e,_defaulted:!0};return!t.queryHash&&t.queryKey&&(t.queryHash=Ma(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.useErrorBoundary&&(t.useErrorBoundary=!!t.suspense),t}defaultMutationOptions(e){return null!=e&&e._defaulted?e:{...this.defaultOptions.mutations,...this.getMutationDefaults(null==e?void 0:e.mutationKey),...e,_defaulted:!0}}clear(){this.queryCache.clear(),this.mutationCache.clear()}}(ks);document.addEventListener("DOMContentLoaded",(()=>{const e=document.getElementById("burst-widget-root");e&&(0,ws.H)(e).render((0,o.createElement)(is,{client:Es},(0,o.createElement)(hs,null)))}))})(); -
burst-statistics/trunk/includes/Admin/Statistics/class-goal-statistics.php
r3377993 r3406692 272 272 require_once ABSPATH . 'wp-admin/includes/upgrade.php'; 273 273 global $wpdb; 274 275 $table_name = $wpdb->prefix . 'burst_goal_statistics'; 276 277 // Remove duplicates before dbDelta adds UNIQUE constraint. 278 // Keep only the row with the lowest ID for each (goal_id, statistic_id) pair. 279 if ( $this->table_exists( 'burst_goal_statistics' ) ) { 280 $wpdb->query( 281 "DELETE gs1 FROM {$table_name} gs1 282 INNER JOIN {$table_name} gs2 283 WHERE gs1.goal_id = gs2.goal_id 284 AND gs1.statistic_id = gs2.statistic_id 285 AND gs1.ID > gs2.ID" 286 ); 287 } 288 289 global $wpdb; 274 290 $charset_collate = $wpdb->get_charset_collate(); 275 // Create table without indexes first.276 $ table_name = $wpdb->prefix . 'burst_goal_statistics';277 $sql = "CREATE TABLE $table_name ( 278 `ID` int NOT NULL AUTO_INCREMENT,279 `statistic_id` int NOT NULL,280 `goal_id` int NOT NULL,281 PRIMARY KEY (ID)282 ) $charset_collate;";291 $table_name = $wpdb->prefix . 'burst_goal_statistics'; 292 $sql = "CREATE TABLE $table_name ( 293 `ID` int NOT NULL AUTO_INCREMENT, 294 `statistic_id` int NOT NULL, 295 `goal_id` int NOT NULL, 296 PRIMARY KEY (ID), 297 UNIQUE KEY goal_statistic_unique (goal_id, statistic_id) 298 ) $charset_collate;"; 283 299 284 300 dbDelta( $sql ); -
burst-statistics/trunk/includes/Admin/Statistics/class-statistics.php
r3392751 r3406692 1238 1238 foreach ( $filters as $filter_name => $filter_value ) { 1239 1239 if ( in_array( $filter_name, $mappable, true ) ) { 1240 $filters[ $filter_name ] = \Burst\burst_loader()->frontend->tracking->get_lookup_table_id _cached( $filter_name, $filter_value );1240 $filters[ $filter_name ] = \Burst\burst_loader()->frontend->tracking->get_lookup_table_id( $filter_name, $filter_value ); 1241 1241 } 1242 1242 } … … 1590 1590 `page_type` varchar(191) NOT NULL, 1591 1591 `time` int NOT NULL, 1592 `uid` varchar( 255) NOT NULL,1592 `uid` varchar(64) NOT NULL, 1593 1593 `time_on_page` int, 1594 1594 `parameters` TEXT NOT NULL, … … 1629 1629 PRIMARY KEY (ID) 1630 1630 ) $charset_collate;", 1631 'burst_ summary' => "CREATE TABLE {$wpdb->prefix}burst_summary(1631 'burst_goals' => "CREATE TABLE {$wpdb->prefix}burst_goals ( 1632 1632 `ID` int NOT NULL AUTO_INCREMENT, 1633 `date` DATE NOT NULL, 1634 `page_url` varchar(191) NOT NULL, 1635 `sessions` int NOT NULL, 1636 `visitors` int NOT NULL, 1637 `first_time_visitors` int NOT NULL, 1638 `pageviews` int NOT NULL, 1639 `bounces` int NOT NULL, 1640 `avg_time_on_page` int NOT NULL, 1641 `completed` tinyint NOT NULL, 1633 `title` varchar(255) NOT NULL, 1634 `type` varchar(30) NOT NULL, 1635 `status` varchar(30) NOT NULL, 1636 `url` varchar(255) NOT NULL, 1637 `conversion_metric` varchar(255) NOT NULL, 1638 `date_created` int NOT NULL, 1639 `server_side` int NOT NULL, 1640 `date_start` int NOT NULL, 1641 `date_end` int NOT NULL, 1642 `selector` varchar(255) NOT NULL, 1643 `hook` varchar(255) NOT NULL, 1642 1644 PRIMARY KEY (ID) 1645 ) $charset_collate;", 1646 'burst_known_uids' => "CREATE TABLE {$wpdb->prefix}burst_known_uids ( 1647 `uid` varchar(64) NOT NULL, 1648 `first_seen` INT UNSIGNED NOT NULL, 1649 `last_seen` INT UNSIGNED NOT NULL, 1650 PRIMARY KEY (uid) 1643 1651 ) $charset_collate;", 1644 1652 ]; … … 1660 1668 [ 'uid', 'time' ], 1661 1669 [ 'page_id', 'page_type' ], 1670 [ 'first_time_visit', 'time', 'uid' ], 1662 1671 ]; 1663 1672 … … 1668 1677 1669 1678 $indexes = [ 1670 [ 'date', 'page_url' ], 1671 [ 'page_url', 'date' ], 1672 [ 'date' ], 1679 [ 'last_seen' ], 1680 [ 'uid', 'first_seen' ], 1673 1681 ]; 1674 1682 1675 $table_name = $wpdb->prefix . 'burst_summary'; 1683 $table_name = $wpdb->prefix . 'burst_known_uids'; 1684 foreach ( $indexes as $index ) { 1685 $this->add_index( $table_name, $index ); 1686 } 1687 1688 // server_side property to be removed after 2.2 update. 1689 $table_name = $wpdb->prefix . 'burst_goals'; 1690 $indexes = [ 1691 [ 'status' ], 1692 ]; 1693 1676 1694 foreach ( $indexes as $index ) { 1677 1695 $this->add_index( $table_name, $index ); … … 1686 1704 */ 1687 1705 public function get_sql_table( Query_Data $qd ): string { 1688 1689 // Check if we can use summary tables.1690 $raw = ! empty( $qd->date_modifiers ) && strpos( $qd->date_modifiers['sql_date_format'] ?? '', '%H' ) !== false;1691 if ( ! $raw && $this->can_use_summary_tables( $qd ) ) {1692 return $this->get_summary_sql( $qd );1693 }1694 1695 1706 return $this->build_raw_sql( $qd ); 1696 }1697 1698 /**1699 * Check if we can use summary tables for this query.1700 */1701 private function can_use_summary_tables( Query_Data $data ): bool {1702 return ! empty( $data->custom_select ) === false &&1703 empty( $data->subquery ) &&1704 empty( $data->union ) &&1705 empty( $data->window ) &&1706 \Burst\burst_loader()->admin->summary->upgrade_completed() &&1707 \Burst\burst_loader()->admin->summary->is_summary_data(1708 $data->select,1709 $data->filters,1710 $data->date_start,1711 $data->date_end1712 );1713 1707 } 1714 1708 … … 2150 2144 2151 2145 /** 2152 * Get summary SQL using the enhanced args format2153 */2154 private function get_summary_sql( Query_Data $data ): string {2155 return \Burst\burst_loader()->admin->summary->summary_sql(2156 $data->date_start,2157 $data->date_end,2158 $data->select,2159 $data->group_by,2160 $data->order_by,2161 $data->limit,2162 $data->date_modifiers2163 );2164 }2165 2166 /**2167 2146 * Base data retrieval method that handles common patterns. 2168 2147 * -
burst-statistics/trunk/includes/Admin/class-admin.php
r3392751 r3406692 16 16 use Burst\Admin\Statistics\Goal_Statistics; 17 17 use Burst\Admin\Statistics\Statistics; 18 use Burst\Admin\Statistics\Summary;19 18 use Burst\Frontend\Goals\Goal; 20 19 use Burst\Frontend\Goals\Goals; … … 33 32 public Tasks $tasks; 34 33 public Statistics $statistics; 35 public Summary $summary;36 34 public App $app; 37 35 … … 80 78 add_action( 'burst_weekly', [ $this, 'cleanup_bf_dismissed_tasks' ] ); 81 79 add_action( 'burst_daily', [ $this, 'cleanup_php_error_notices' ] ); 80 $recalculate_cron_interval = apply_filters( 'burst_recalculate_cron_interval', 'burst_every_ten_minutes' ); 81 add_action( $recalculate_cron_interval, [ $this, 'update_last_statistic_data' ] ); 82 add_action( 'recalculate_known_uids_cron', [ $this, 'update_known_uids_table' ] ); 83 add_action( 'recalculate_bounces_cron', [ $this, 'recalculate_bounces' ] ); 84 add_action( 'recalculate_first_time_visits_cron', [ $this, 'recalculate_first_time_visits' ] ); 85 82 86 add_filter( 'burst_menu', [ $this, 'add_ecommerce_menu_item' ] ); 83 87 … … 95 99 $reports = new Mail_Reports(); 96 100 $reports->init(); 97 $this->summary = new Summary();98 $this->summary->init();99 101 $this->app = new App(); 100 102 $this->app->init(); … … 122 124 123 125 /** 126 * Cron to update the last 10 minutes of user data for bounces and first_time_visits. 127 */ 128 public function update_last_statistic_data(): void { 129 if ( ! wp_next_scheduled( 'recalculate_known_uids_cron' ) ) { 130 wp_schedule_single_event( time() + 10, 'recalculate_known_uids_cron' ); 131 } 132 133 if ( ! wp_next_scheduled( 'recalculate_bounces_cron' ) ) { 134 wp_schedule_single_event( time() + 60, 'recalculate_bounces_cron' ); 135 } 136 137 if ( ! wp_next_scheduled( 'recalculate_first_time_visits_cron' ) ) { 138 wp_schedule_single_event( time() + 120, 'recalculate_first_time_visits_cron' ); 139 } 140 } 141 142 /** 143 * Recalculate first_time_visit flags 144 * 145 * Marks the earliest statistic for each UID as first_time_visit = 1 146 * Runs daily to keep data accurate without impacting real-time performance 147 * 148 * @hooked recalculate_first_time_visits_cron 149 */ 150 public function recalculate_first_time_visits(): void { 151 global $wpdb; 152 153 $last_update = get_option( 'burst_last_first_time_visit_update', time() - 15 * MINUTE_IN_SECONDS ); 154 $default_cutoff = time() - apply_filters( 'burst_cron_update_range_seconds', 15 * MINUTE_IN_SECONDS ); 155 $time_cutoff = ( $last_update < $default_cutoff ) ? $last_update : $default_cutoff; 156 157 $stats_table = "{$wpdb->prefix}burst_statistics"; 158 $known_table = "{$wpdb->prefix}burst_known_uids"; 159 160 // Mark as first-time visit if: 161 // 1. UID is NOT in known_uids, OR. 162 // 2. UID's first_seen timestamp is >= time_cutoff (meaning they're new in this batch). 163 $sql = " 164 UPDATE $stats_table bs 165 INNER JOIN ( 166 SELECT curr.uid, MIN(curr.time) AS first_time 167 FROM $stats_table curr 168 LEFT JOIN $known_table known ON curr.uid = known.uid 169 WHERE curr.time >= %d 170 AND curr.first_time_visit = 0 171 AND (known.uid IS NULL OR known.first_seen >= %d) 172 GROUP BY curr.uid 173 ) first_visits ON bs.uid = first_visits.uid 174 AND bs.time = first_visits.first_time 175 SET bs.first_time_visit = 1 176 WHERE bs.first_time_visit = 0 177 "; 178 179 $wpdb->query( $wpdb->prepare( $sql, $time_cutoff, $time_cutoff ) ); 180 181 update_option( 'burst_last_first_time_visit_update', time(), false ); 182 } 183 184 /** 185 * Update incrementail UIDs table. 186 */ 187 public function update_known_uids_table(): void { 188 global $wpdb; 189 190 $stats_table = "{$wpdb->prefix}burst_statistics"; 191 $known_table = "{$wpdb->prefix}burst_known_uids"; 192 193 // Get sync cutoff (default: last 10 minutes of new data to process). 194 $last_sync = get_option( 'burst_last_known_uids_sync', time() - 15 * MINUTE_IN_SECONDS ); 195 $default_cutoff = time() - apply_filters( 'burst_cron_update_range_seconds', 15 * MINUTE_IN_SECONDS ); 196 $sync_cutoff = ( $last_sync < $default_cutoff ) ? $last_sync : $default_cutoff; 197 198 // Cleanup threshold: remove UIDs not seen in 31+ days. 199 $cleanup_cutoff = time() - ( 31 * DAY_IN_SECONDS ); 200 201 // Step 1: Add/update UIDs from recent statistics (last 10-15 minutes). 202 $sql = $wpdb->prepare( 203 " 204 INSERT INTO $known_table (uid, first_seen, last_seen) 205 SELECT uid, MIN(time) as first_seen, MAX(time) as last_seen 206 FROM $stats_table 207 WHERE time >= %d 208 GROUP BY uid 209 ON DUPLICATE KEY UPDATE 210 first_seen = LEAST(first_seen, VALUES(first_seen)), 211 last_seen = GREATEST(last_seen, VALUES(last_seen)) 212 ", 213 $sync_cutoff 214 ); 215 216 $wpdb->query( $sql ); 217 218 // Step 2: Remove UIDs not seen in 31+ days (cleanup old visitors). 219 $wpdb->query( 220 $wpdb->prepare( 221 " 222 DELETE FROM $known_table 223 WHERE last_seen < %d 224 ", 225 $cleanup_cutoff 226 ) 227 ); 228 229 update_option( 'burst_last_known_uids_sync', time(), false ); 230 } 231 232 /** 233 * Recalculate bounces using until last non-bounce 234 */ 235 public function recalculate_bounces(): void { 236 $last_update = get_option( 'burst_last_bounces_update', time() - 15 * MINUTE_IN_SECONDS ); 237 $default_cutoff = time() - apply_filters( 'burst_cron_update_range_seconds', 15 * MINUTE_IN_SECONDS ); 238 $time_cutoff = ( $last_update < $default_cutoff ) ? $last_update : $default_cutoff; 239 global $wpdb; 240 $wpdb->query( 241 $wpdb->prepare( 242 "UPDATE {$wpdb->prefix}burst_statistics bs 243 INNER JOIN ( 244 SELECT session_id 245 FROM {$wpdb->prefix}burst_statistics 246 WHERE time > %d 247 GROUP BY session_id 248 HAVING COUNT(*) > 1 249 OR MAX(time_on_page) > 5000 -- long page time means engaged 250 ) nb ON bs.session_id = nb.session_id 251 SET bs.bounce = 0 252 WHERE bs.bounce = 1", 253 $time_cutoff 254 ) 255 ); 256 update_option( 'burst_last_bounces_update', time(), false ); 257 } 258 259 /** 124 260 * Add ecommerce menu item to the admin menu 125 261 * … … 130 266 $should_load_ecommerce = \Burst\burst_loader()->integrations->should_load_ecommerce(); 131 267 132 if ( ! $should_load_ecommerce ) {268 if ( ! $should_load_ecommerce || ! $this->has_admin_access() || ! $this->has_sales_admin_access() ) { 133 269 return $menu_items; 134 270 } … … 139 275 'default_hidden' => false, 140 276 'menu_items' => [], 141 'capabilities' => 'view_ burst_statistics',277 'capabilities' => 'view_sales_burst_statistics', 142 278 'menu_slug' => 'burst#/sales', 143 279 'show_in_admin' => true, … … 590 726 VALUES " . implode( ', ', $placeholders ); 591 727 $wpdb->query( $wpdb->prepare( $query, ...$values ) ); 592 593 if ( ! $total_entry_added ) {594 $wpdb->insert(595 "{$wpdb->prefix}burst_summary",596 [597 'date' => $stats_date,598 'page_url' => 'burst_day_total',599 'sessions' => $sessions,600 'pageviews' => $page_views,601 'visitors' => $first_time_visitors,602 'first_time_visitors' => $first_time_visitors,603 'bounces' => $bounces,604 'avg_time_on_page' => wp_rand( 20, 3 * MINUTE_IN_SECONDS ),605 'completed' => 1,606 ]607 );608 $total_entry_added = true;609 }610 728 } 611 729 } … … 1135 1253 'burst_goals', 1136 1254 'burst_goal_statistics', 1137 'burst_summary',1138 1255 'burst_browsers', 1139 1256 'burst_browser_versions', … … 1141 1258 'burst_devices', 1142 1259 'burst_referrers', 1260 'burst_known_uids', 1143 1261 ], 1144 1262 ); -
burst-statistics/trunk/includes/Admin/class-tasks.php
r3402379 r3406692 107 107 $current_tasks = array_diff( $current_tasks, [ $task_id ] ); 108 108 update_option( 'burst_tasks', $current_tasks, false ); 109 110 // only dismiss permanently if the task exists in the tasks array. 111 $this->maybe_dismiss_permanently( $task_id ); 112 } 109 } 110 $this->maybe_dismiss_permanently( $task_id ); 113 111 delete_transient( 'burst_plusone_count' ); 114 112 } -
burst-statistics/trunk/includes/Admin/class-upgrade.php
r3402379 r3406692 8 8 use Burst\Admin\Capability\Capability; 9 9 use Burst\Admin\DB_Upgrade\DB_Upgrade; 10 use Burst\Admin\Statistics\Summary;11 10 use Burst\Traits\Admin_Helper; 12 11 use Burst\Traits\Save; … … 127 126 } 128 127 129 if ( $prev_version130 && version_compare( $prev_version, '1.6.0', '<' ) ) {131 ( new Summary() )->restart_update_summary_table_alltime();132 }133 128 if ( $prev_version 134 129 && version_compare( $prev_version, '1.6.1', '<' ) ) { … … 238 233 } 239 234 240 if ( $prev_version && version_compare( $prev_version, '3.0. 2', '<' ) ) {235 if ( $prev_version && version_compare( $prev_version, '3.0.1', '<' ) ) { 241 236 update_option( 'burst_is_multi_domain', false ); 242 $plugin_activated_time = get_option( 'burst_activation_time', 0 ); 243 $cutoff_date = strtotime( '2025-11-24 00:00:00' ); 244 if ( $plugin_activated_time > 0 && $plugin_activated_time < $cutoff_date ) { 245 if ( ! defined( 'BURST_PRO' ) ) { 246 \Burst\burst_loader()->admin->tasks->undismiss_task( 'bf_notice' ); 247 \Burst\burst_loader()->admin->tasks->undismiss_task( 'cm_notice' ); 248 \Burst\burst_loader()->admin->tasks->schedule_task_validation(); 249 } 250 } 251 } 237 burst_reinstall_rest_api_optimizer(); 238 } 239 240 // phpcs:disable 241 if ( $prev_version && version_compare( $prev_version, '3.1.0', '<' ) ) { 242 global $wpdb; 243 $sql = "DROP TABLE IF EXISTS {$wpdb->prefix}burst_summary"; 244 $wpdb->query( $sql ); 245 246 $stats_table = "{$wpdb->prefix}burst_statistics"; 247 $known_table = "{$wpdb->prefix}burst_known_uids"; 248 249 // One-time fill from existing data 250 $wpdb->query(" 251 INSERT INTO $known_table (uid, first_seen, last_seen) 252 SELECT uid, MIN(time) as first_seen, MAX(time) as last_seen 253 FROM $stats_table 254 WHERE time >= UNIX_TIMESTAMP(NOW() - INTERVAL 1 MONTH) 255 GROUP BY uid 256 "); 257 } 258 //phpcs:enable 252 259 253 260 $admin = new Admin(); -
burst-statistics/trunk/includes/Frontend/Goals/class-goals-tracker.php
r3392751 r3406692 21 21 */ 22 22 public function add_dynamic_hooks(): void { 23 $goals = \Burst\burst_loader()->frontend->tracking->get_active_goals( true);23 $goals = \Burst\burst_loader()->frontend->tracking->get_active_goals( [ 'hook' ] ); 24 24 foreach ( $goals as $goal ) { 25 if ( $goal['type'] !== 'hook' ) {26 continue;27 }28 25 $hook = (string) $goal['hook']; 29 26 if ( strlen( $hook ) > 0 ) { … … 42 39 */ 43 40 public function get_goal_by_hook_name( string $find_hook_name ): int { 44 $goals = \Burst\burst_loader()->frontend->tracking->get_active_goals( true);41 $goals = \Burst\burst_loader()->frontend->tracking->get_active_goals( [ 'hook' ] ); 45 42 46 43 foreach ( $goals as $goal ) { 47 44 $goal = new Goal( $goal['ID'] ); 48 if ( $goal->type !== 'hook' ) {49 continue;50 }51 52 45 $hook = $goal->hook; 53 46 if ( $hook === $find_hook_name ) { … … 91 84 } 92 85 93 $goal_arr = [ 94 'goal_id' => $goal->id, 95 'statistic_id' => $statistic_id, 96 ]; 97 98 \Burst\burst_loader()->frontend->tracking->create_goal_statistic( $goal_arr ); 86 \Burst\burst_loader()->frontend->tracking->create_goal_statistic( $statistic_id, [$goal_id] ); 99 87 } else { 100 88 self::error_log( 'No burst_uid found in handle_hook' ); -
burst-statistics/trunk/includes/Frontend/Goals/class-goals.php
r3377993 r3406692 3 3 4 4 use Burst\Traits\Admin_Helper; 5 use Burst\Traits\Database_Helper; 5 6 use Burst\Traits\Helper; 6 7 use Burst\Traits\Sanitize; … … 11 12 use Helper; 12 13 use Admin_Helper; 14 use Database_Helper; 13 15 use Sanitize; 14 16 … … 28 30 require_once ABSPATH . 'wp-admin/includes/upgrade.php'; 29 31 30 global $wpdb;31 // server_side property to be removed after 2.2 update.32 $charset_collate = $wpdb->get_charset_collate();33 $table_name = $wpdb->prefix . 'burst_goals';34 $sql = "CREATE TABLE $table_name (35 `ID` int NOT NULL AUTO_INCREMENT,36 `title` varchar(255) NOT NULL,37 `type` varchar(30) NOT NULL,38 `status` varchar(30) NOT NULL,39 `url` varchar(255) NOT NULL,40 `conversion_metric` varchar(255) NOT NULL,41 `date_created` int NOT NULL,42 `server_side` int NOT NULL,43 `date_start` int NOT NULL,44 `date_end` int NOT NULL,45 `selector` varchar(255) NOT NULL,46 `hook` varchar(255) NOT NULL,47 PRIMARY KEY (ID)48 ) $charset_collate;";49 50 dbDelta( $sql );51 32 if ( ! empty( $wpdb->last_error ) ) { 52 33 self::error_log( 'Error creating goals table: ' . $wpdb->last_error ); -
burst-statistics/trunk/includes/Frontend/Tracking/class-tracking.php
r3392751 r3406692 16 16 use Burst\Frontend\Ip\Ip; 17 17 use Burst\Traits\Helper; 18 19 require_once BURST_PATH . 'helpers/php-user-agent/UserAgentParser.php';20 21 18 use Burst\Traits\Sanitize; 22 use function Burst\UserAgent\parse_user_agent; 19 use Burst\UserAgentParser\UserAgentParser; 20 23 21 class Tracking { 24 22 use Helper; … … 26 24 27 25 public string $beacon_enabled; 28 public array $look _up_table_ids= [];29 public array $goals = [];26 public array $lookup_table_cache = []; 27 public array $goals = []; 30 28 /** 31 29 * Constructor … … 74 72 $hit_type = $result['hit_type']; 75 73 // last row. create can also have a last row from the previous hit. 76 $previous_hit = $result['last_row']; 77 if ( $previous_hit !== null ) { 78 // Determine non-bounce conditions. 79 $is_different_page = $previous_hit['page_url'] . $previous_hit['parameters'] !== $sanitized_data['page_url'] . $sanitized_data['parameters']; 80 $is_time_over_threshold = ( (int) $previous_hit['time_on_page'] + (int) $sanitized_data['time_on_page'] ) > 5000; 81 $is_previous_hit_not_bounce = (int) $previous_hit['bounce'] === 0; 82 83 if ( $is_previous_hit_not_bounce || $is_different_page || $is_time_over_threshold ) { 84 // Not a bounce. 85 $sanitized_data['bounce'] = 0; 86 // If the user visited more than one page, update all previous hits to not be a bounce. 87 if ( $is_different_page ) { 88 $this->set_bounce_for_session( (int) $previous_hit['session_id'] ); 89 } 90 } 91 } 92 74 $previous_hit = $result['last_row']; 93 75 $filtered_previous_hit = $previous_hit; 94 76 if ( $previous_hit === null ) { … … 115 97 update_option( 'burst_first_domain', $normalized_host ); 116 98 } elseif ( $first_domain !== $normalized_host ) { 117 // if it's different from the first used, it is multi domain.118 update_option( 'burst_is_multi_domain', true );99 // if it's different from the first used, it is multi domain. 100 update_option( 'burst_is_multi_domain', true ); 119 101 } 120 102 } … … 127 109 // Get the last record with the same uid within 30 minutes. If it exists, use session_id. If not, create a new session. 128 110 if ( isset( $previous_hit ) && $previous_hit['session_id'] > 0 ) { 129 // Existing session found, reuse the session ID.130 111 $sanitized_data['session_id'] = $previous_hit['session_id']; 131 132 // Update existing session with new data. 133 if ( ! $this->update_session( (int) $sanitized_data['session_id'], $session_arr ) ) { 134 // Handle error if session update fails. 135 self::error_log( 'Failed to update session for session ID: ' . $sanitized_data['session_id'] ); 112 if ( $this->session_needs_update( $previous_hit, $session_arr ) ) { 113 $this->update_session( (int) $sanitized_data['session_id'], $session_arr ); 136 114 } 137 115 } elseif ( $previous_hit === null ) { 138 // No previous hit, indicating a new session.139 116 $session_arr['first_visited_url'] = $this->create_path( $sanitized_data ); 140 141 // Attempt to create a new session and assign its ID. 142 $sanitized_data['session_id'] = $this->create_session( $session_arr ); 117 $sanitized_data['session_id'] = $this->create_session( $session_arr ); 143 118 } 144 119 … … 154 129 // Get the last record with the same uid and page_url. If it exists update it. If not, create a new record and add time() to $sanitized_data['time']. 155 130 // if update hit, make sure that the URL matches. 156 if ( $hit_type === 'update' && ( $previous_hit['page_url'] . $previous_hit['parameters'] === $sanitized_data['page_url'] . $sanitized_data['parameters'] || $previous_hit['session_id'] === '' ) ) { 131 $previous_page_url = $previous_hit['page_url'] ?? ''; 132 133 $new_page_url = $sanitized_data['page_url']; 134 135 // if track_url_changes is enabled, also check for changing parameters. 136 if ( $this->get_option_bool( 'track_url_change' ) ) { 137 $previous_page_url .= $previous_hit['parameters'] ?? ''; 138 $new_page_url .= $sanitized_data['parameters']; 139 } 140 $is_same_url = $previous_page_url === $new_page_url; 141 142 if ( $hit_type === 'update' && ( $is_same_url || $previous_hit['session_id'] === '' ) ) { 157 143 // add up time_on_page to the existing record. 158 144 $sanitized_data['time_on_page'] += $previous_hit['time_on_page']; … … 163 149 // if it is not an update hit, create a new record. 164 150 $sanitized_data['time'] = time(); 165 $sanitized_data['first_time_visit'] = $this->is_first_time_visit( $sanitized_data['uid'] );151 $sanitized_data['first_time_visit'] = 0; 166 152 $insert_id = $this->create_statistic( $sanitized_data ); 167 153 do_action( 'burst_after_create_statistic', $insert_id, $sanitized_data ); … … 177 163 // if $sanitized_data['completed_goals'] is not an empty array, update burst_goals table. 178 164 if ( ! empty( $completed_goals ) ) { 179 foreach ( $completed_goals as $goal_id ) { 180 $goal_arr = [ 181 'goal_id' => $goal_id, 182 'statistic_id' => $statistic_id, 183 ]; 184 $this->create_goal_statistic( $goal_arr ); 185 } 165 $this->create_goal_statistic( $statistic_id, $completed_goals ); 186 166 } 187 167 } … … 282 262 */ 283 263 public function prepare_tracking_data( array $data ): array { 284 $user_agent_data = isset( $data['user_agent'] ) ? $this->get_user_agent_data( $data['user_agent'] ) : [ 264 $parser = new UserAgentParser(); 265 $user_agent_data = isset( $data['user_agent'] ) ? $parser->get_user_agent_data( $data['user_agent'] ) : [ 285 266 'browser' => '', 286 267 'browser_version' => '', … … 382 363 383 364 // Attempt to get the last user statistic based on the presence or absence of certain conditions. 384 $uid = $data['fingerprint'] ?: $data['uid']; 385 if ( $is_update_hit ) { 386 // For an update hit, require matching uid, fingerprint, and parameters. 387 $page_url = $data['host'] . $this->create_path( $data ); 388 $last_row = $this->get_last_user_statistic( $uid, $page_url ); 389 } else { 390 // For a potential create hit, uid and fingerprint are sufficient. 391 $last_row = $this->get_last_user_statistic( $uid ); 392 } 365 $page_url = $is_update_hit ? $data['host'] . $this->create_path( $data ) : ''; 366 $uid = $data['fingerprint'] ?: $data['uid']; 367 $last_row = $this->get_last_user_statistic( $uid, $page_url ); 393 368 394 369 // Determine the appropriate action based on the result. … … 414 389 415 390 /** 391 * Check if session needs updating by comparing previous hit data with new session data. 392 * 393 * @param array $previous_hit Previous hit data from burst_statistics (may include host/city_code via JOIN). 394 * @param array $new_session_data New session data to be written. 395 * @return bool True if update is needed, false if data hasn't changed. 396 */ 397 private function session_needs_update( array $previous_hit, array $new_session_data ): bool { 398 // If we don't have previous hit data, update to be safe. 399 if ( empty( $previous_hit ) ) { 400 return true; 401 } 402 403 $old_url = $previous_hit['page_url'] ?? ''; 404 $old_params = $previous_hit['parameters'] ?? ''; 405 $old_full_url = empty( $old_params ) ? $old_url : $old_url . '?' . $old_params; 406 407 $new_url = $new_session_data['last_visited_url'] ?? ''; 408 409 if ( $old_full_url !== $new_url ) { 410 return true; 411 } 412 413 // 2. Check host (only relevant for multi-domain with filtering enabled) 414 // Note: host will only be in previous_hit if JOIN was performed 415 if ( isset( $previous_hit['host'] ) && isset( $new_session_data['host'] ) ) { 416 $old_host = $previous_hit['host'] ?? ''; 417 $new_host = $new_session_data['host']; 418 419 if ( $old_host !== $new_host ) { 420 // Host changed (cross-domain navigation). 421 return true; 422 } 423 } 424 425 return false; 426 } 427 428 /** 416 429 * Sanitize completed goal IDs. 417 430 * … … 422 435 */ 423 436 public function sanitize_completed_goal_ids( array $completed_goals ): array { 424 $active_client_side_goals = $this->get_active_goals( false );425 $active_client_side_goal_ids = wp_list_pluck( $active_client_side_goals, 'ID' );426 // only keep active goals ids.427 $completed_goals = array_intersect( $completed_goals, $active_client_side_goal_ids );428 // remove duplicates.429 437 $completed_goals = array_unique( $completed_goals ); 430 // make sure all values are integers. 431 return array_map( 'absint', $completed_goals ); 432 } 433 434 /** 435 * Get cached value for lookup table id 436 */ 437 public function get_lookup_table_id_cached( string $item, ?string $value ): int { 438 if ( isset( $this->look_up_table_ids[ $item ][ $value ] ) ) { 439 return $this->look_up_table_ids[ $item ][ $value ]; 440 } 441 442 $id = self::get_lookup_table_id( $item, $value ); 443 $this->look_up_table_ids[ $item ][ $value ] = $id; 444 return $id; 438 $completed_goals = array_map( 'absint', $completed_goals ); 439 return array_values( $completed_goals ); 445 440 } 446 441 … … 448 443 * Get the id of the lookup table for the given item and value. 449 444 */ 450 public staticfunction get_lookup_table_id( string $item, ?string $value ): int {445 public function get_lookup_table_id( string $item, ?string $value ): int { 451 446 if ( empty( $value ) ) { 452 447 return 0; … … 458 453 } 459 454 460 // check if $value exists in table burst_$item. 461 $id = wp_cache_get( 'burst_' . $item . '_' . $value, 'burst' ); 462 if ( ! $id ) { 463 global $wpdb; 464 $id = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM {$wpdb->prefix}burst_{$item}s WHERE name = %s LIMIT 1", $value ) ); 465 if ( ! $id ) { 466 // doesn't exist, so insert it. 467 $wpdb->insert( 468 $wpdb->prefix . "burst_{$item}s", 469 [ 470 'name' => $value, 471 ] 455 // Load all items for this type if not cached yet. 456 if ( ! isset( $this->lookup_table_cache[ $item ] ) ) { 457 $cache_key = 'burst_' . $item . '_all'; 458 $all_items = wp_cache_get( $cache_key, 'burst' ); 459 460 if ( false === $all_items ) { 461 // Cache miss - load all items from database. 462 global $wpdb; 463 $results = $wpdb->get_results( 464 "SELECT ID, name FROM {$wpdb->prefix}burst_{$item}s", 465 OBJECT_K 472 466 ); 473 $id = $wpdb->insert_id; 474 } 475 wp_cache_set( 'burst_' . $item . '_' . $value, $id, 'burst' ); 476 } 467 468 $all_items = []; 469 foreach ( $results as $result ) { 470 $all_items[ $result->name ] = (int) $result->ID; 471 } 472 473 wp_cache_set( $cache_key, $all_items, 'burst' ); 474 } 475 476 $this->lookup_table_cache[ $item ] = $all_items; 477 } 478 479 // Check if value exists. 480 if ( isset( $this->lookup_table_cache[ $item ][ $value ] ) ) { 481 return $this->lookup_table_cache[ $item ][ $value ]; 482 } 483 484 // Value doesn't exist - insert it. 485 global $wpdb; 486 $wpdb->insert( 487 $wpdb->prefix . "burst_{$item}s", 488 [ 'name' => $value ] 489 ); 490 $id = $wpdb->insert_id; 491 492 // Invalidate caches. 493 unset( $this->lookup_table_cache[ $item ] ); 494 wp_cache_delete( 'burst_' . $item . '_all', 'burst' ); 495 477 496 return (int) $id; 478 497 } … … 534 553 'completed' => [], 535 554 'scriptUrl' => apply_filters( 'burst_goals_script_url', BURST_URL . 'assets/js/build/burst-goals.js?v=' . $script_version ), 536 'active' => $this->get_active_goals( false),555 'active' => $this->get_active_goals( [ 'clicks', 'views' ] ), 537 556 ], 538 557 'cache' => [ … … 560 579 * Get all active goals from the database with single query + cached result. 561 580 * 562 * @param bool $server_side Whether to return server-side goals only.581 * @param array $goal_types list of goal types to select. 563 582 * @return array<array<string, mixed>> Filtered list of active goals. 564 583 */ 565 public function get_active_goals( bool $server_side ): array { 584 public function get_active_goals( array $goal_types ): array { 585 // Validate and clean goal types. 586 foreach ( $goal_types as $key => $type ) { 587 if ( ! in_array( $type, [ 'hook', 'visits', 'clicks', 'views' ], true ) ) { 588 unset( $goal_types[ $key ] ); 589 } 590 } 591 592 // If no valid goal types remain, return empty array. 593 if ( empty( $goal_types ) ) { 594 return []; 595 } 596 566 597 // Prevent queries during install. 567 598 if ( defined( 'BURST_INSTALL_TABLES_RUNNING' ) ) { … … 569 600 } 570 601 571 // Reuse per-scope cache if we already computed it this request. 572 $scope = $server_side ? 'server_side' : 'client_side'; 573 if ( isset( $this->goals[ $scope ] ) ) { 574 return $this->goals[ $scope ]; 602 // Check if all requested types are already cached. 603 $cache_miss = false; 604 foreach ( $goal_types as $type ) { 605 if ( ! isset( $this->goals[ $type ] ) ) { 606 $cache_miss = true; 607 break; 608 } 609 } 610 611 // If all types are cached, combine and return them. 612 if ( ! $cache_miss ) { 613 $goals = []; 614 foreach ( $goal_types as $type ) { 615 $goals = array_merge( $goals, $this->goals[ $type ] ); 616 } 617 return $goals; 575 618 } 576 619 … … 594 637 } 595 638 596 // Filter in PHP to avoid a second DB roundtrip. 597 $filtered = array_values( 598 array_filter( 599 $all_goals, 600 static function ( array $goal ) use ( $server_side ): bool { 601 $server_side_types = [ 'visits', 'hook' ]; 602 $type = $goal['type'] ?? ''; 603 return $server_side 604 ? in_array( $type, $server_side_types, true ) 605 : ! in_array( $type, $server_side_types, true ); 606 } 607 ) 608 ); 609 610 // Memoize filtered results. 611 $this->goals[ $scope ] = $filtered; 639 // Filter goals by goal type, and store in $this->goals[$type]. 640 foreach ( $goal_types as $type ) { 641 if ( ! isset( $this->goals[ $type ] ) ) { 642 $this->goals[ $type ] = array_values( 643 array_filter( 644 $all_goals, 645 static function ( array $goal ) use ( $type ): bool { 646 return isset( $goal['type'] ) && $goal['type'] === $type; 647 } 648 ) 649 ); 650 } 651 } 652 653 // Return combined array for the requested goal_types. 654 $filtered = []; 655 foreach ( $goal_types as $type ) { 656 $filtered = array_merge( $filtered, $this->goals[ $type ] ); 657 } 612 658 613 659 return $filtered; … … 620 666 * @param int $goal_id The ID of the goal to check. 621 667 * @param string $page_url The current page URL. 668 * @param array $goals the available goals. 622 669 * @return bool Returns true if the goal is completed, false otherwise. 623 670 */ 624 public function goal_is_completed( int $goal_id, string $page_url ): bool { 625 $goal = new Goal( $goal_id ); 671 public function goal_is_completed( int $goal_id, string $page_url, array $goals ): bool { 672 $goal = array_filter( 673 $goals, 674 function ( $goal ) use ( $goal_id ) { 675 return isset( $goal['ID'] ) && (int) $goal['ID'] === $goal_id; 676 } 677 ); 678 $goal = reset( $goal ); 626 679 627 680 // Check if the goal and page URL are properly set. 628 if ( empty( $goal ->type ) || empty( $goal->url) || empty( $page_url ) ) {681 if ( empty( $goal['type'] ) || empty( $goal['url'] ) || empty( $page_url ) ) { 629 682 return false; 630 683 } 631 684 632 switch ( $goal ->type) {685 switch ( $goal['type'] ) { 633 686 case 'visits': 634 687 // Improved URL comparison logic could go here. 635 688 // @TODO: Maybe add support for * and ? wildcards?. 636 if ( rtrim( $page_url, '/' ) === rtrim( $goal ->url, '/' ) ) {689 if ( rtrim( $page_url, '/' ) === rtrim( $goal['url'], '/' ) ) { 637 690 return true; 638 691 } 639 692 break; 640 // @todo Add more case statements for other types of goals.641 693 642 694 default: … … 656 708 public function get_completed_goals( array $completed_client_goals, string $page_url ): array { 657 709 $completed_server_goals = []; 658 $server_goals = $this->get_active_goals( true);710 $server_goals = $this->get_active_goals( [ 'visits' ] ); 659 711 // if server side goals exist. 660 712 if ( count( $server_goals ) > 0 ) { … … 662 714 foreach ( $server_goals as $goal ) { 663 715 // if goal is completed. 664 if ( $this->goal_is_completed( $goal['ID'], $page_url ) ) {716 if ( $this->goal_is_completed( $goal['ID'], $page_url, $server_goals ) ) { 665 717 // add goal id to completed goals array. 666 718 $completed_server_goals[] = $goal['ID']; … … 671 723 // merge completed client goals and completed server goals. 672 724 return array_merge( $completed_client_goals, $completed_server_goals ); 673 }674 675 /**676 * Get user agent data677 *678 * @param string $user_agent The User Agent.679 * @return null[]|string[]680 */681 public function get_user_agent_data( string $user_agent ): array {682 $defaults = [683 'browser' => '',684 'browser_version' => '',685 'platform' => '',686 'device' => '',687 ];688 if ( $user_agent === '' ) {689 return $defaults;690 }691 692 $ua = parse_user_agent( $user_agent );693 694 switch ( $ua['platform'] ) {695 case 'Macintosh':696 case 'Chrome OS':697 case 'Linux':698 case 'Windows':699 $ua['device'] = 'desktop';700 break;701 case 'Android':702 case 'BlackBerry':703 case 'iPhone':704 case 'Windows Phone':705 case 'Sailfish':706 case 'Symbian':707 case 'Tizen':708 $ua['device'] = 'mobile';709 break;710 case 'iPad':711 $ua['device'] = 'tablet';712 break;713 case 'PlayStation 3':714 case 'PlayStation 4':715 case 'PlayStation 5':716 case 'PlayStation Vita':717 case 'Xbox':718 case 'Xbox One':719 case 'New Nintendo 3DS':720 case 'Nintendo 3DS':721 case 'Nintendo DS':722 case 'Nintendo Switch':723 case 'Nintendo Wii':724 case 'Nintendo WiiU':725 case 'iPod':726 case 'Kindle':727 case 'Kindle Fire':728 case 'NetBSD':729 case 'OpenBSD':730 case 'PlayBook':731 case 'FreeBSD':732 default:733 $ua['device'] = 'other';734 break;735 }736 737 // change version to browser_version.738 $ua['browser_version'] = $ua['version'];739 unset( $ua['version'] );740 741 return wp_parse_args( $ua, $defaults );742 725 } 743 726 … … 772 755 */ 773 756 public function get_last_user_statistic( string $uid, string $page_url = '' ): array { 774 global $wpdb;775 // if fingerprint is send get the last user statistic with the same fingerprint.776 757 if ( strlen( $uid ) === 0 ) { 777 758 return []; 778 759 } 760 $need_session_data = $this->get_option_bool( 'filtering_by_domain' ); 761 762 global $wpdb; 779 763 $where = ''; 780 764 if ( $page_url !== '' ) { … … 785 769 786 770 $where .= $wpdb->prepare( ' AND time > %d', strtotime( '-30 minutes' ) ); 787 788 $data = $wpdb->get_row( 789 $wpdb->prepare( 790 "select ID, session_id, parameters, time_on_page, bounce, page_url 791 from {$wpdb->prefix}burst_statistics 792 where uid = %s $where ORDER BY ID DESC limit 1", 793 $uid, 794 ) 795 ); 796 797 return $data ? (array) $data : []; 771 // Build query based on whether we need session data. 772 if ( $need_session_data ) { 773 // With JOIN to get host. 774 $last_row = $wpdb->get_row( 775 $wpdb->prepare( 776 "SELECT 777 s.ID, 778 s.session_id, 779 s.parameters, 780 s.time_on_page, 781 s.bounce, 782 s.page_url, 783 sess.host 784 FROM {$wpdb->prefix}burst_statistics s 785 LEFT JOIN {$wpdb->prefix}burst_sessions sess ON s.session_id = sess.ID 786 WHERE s.uid = %s {$where} 787 ORDER BY s.ID DESC 788 LIMIT 1", 789 $uid 790 ) 791 ); 792 } else { 793 $last_row = $wpdb->get_row( 794 $wpdb->prepare( 795 "SELECT 796 ID, 797 session_id, 798 parameters, 799 time_on_page, 800 bounce, 801 page_url 802 FROM {$wpdb->prefix}burst_statistics 803 WHERE uid = %s {$where} 804 ORDER BY ID DESC 805 LIMIT 1", 806 $uid 807 ) 808 ); 809 } 810 811 return $last_row ? (array) $last_row : []; 798 812 } 799 813 … … 851 865 852 866 if ( ! $this->required_values_set( $data ) ) { 853 // phpcs:ignore854 self::error_log( 'Missing required values for statistic creation. Data: ' . print_r( $data, true ) );867 // phpcs:ignore 868 self::error_log( 'Missing required values for statistic creation. Data: ' . print_r( $data, true ) ); 855 869 return 0; 856 870 } 857 871 858 872 $inserted = $wpdb->insert( $wpdb->prefix . 'burst_statistics', $data ); 859 860 if ( $inserted ) { 861 return $wpdb->insert_id; 862 } else { 863 self::error_log( 'Failed to create statistic. Error: ' . $wpdb->last_error ); 864 return 0; 865 } 873 if ( $inserted === false ) { 874 self::error_log( 'Failed to create statistic. Error: ' . $wpdb->last_error ); 875 return 0; 876 } 877 return $wpdb->insert_id; 866 878 } 867 879 … … 879 891 // Ensure 'ID' is present for update. 880 892 if ( ! isset( $data['ID'] ) ) { 881 // phpcs:ignore882 self::error_log( 'Missing ID for statistic update. Data: ' . print_r( $data, true ) );893 // phpcs:ignore 894 self::error_log( 'Missing ID for statistic update. Data: ' . print_r( $data, true ) ); 883 895 return false; 884 896 } 885 897 886 898 $updated = $wpdb->update( $wpdb->prefix . 'burst_statistics', $data, [ 'ID' => (int) $data['ID'] ] ); 887 888 899 if ( $updated === false ) { 889 900 self::error_log( 'Failed to update statistic. Error: ' . $wpdb->last_error ); … … 897 908 * Create goal statistic in {prefix}_burst_goal_statistics 898 909 */ 899 public function create_goal_statistic( array $data): void {910 public function create_goal_statistic( int $statistic_id, array $goal_ids ): void { 900 911 global $wpdb; 901 // do not create goal statistic if statistic_id or goal_id is not set. 902 if ( ! isset( $data['statistic_id'] ) || ! isset( $data['goal_id'] ) ) { 903 return; 904 } 905 // first get row with same statistics_id and goal_id. 906 // check if goals already exists. 907 $goal_exists = $wpdb->get_var( 908 $wpdb->prepare( 909 "SELECT 1 FROM {$wpdb->prefix}burst_goal_statistics WHERE statistic_id = %d AND goal_id = %d LIMIT 1", 910 $data['statistic_id'], 911 $data['goal_id'] 912 ) 912 $values = []; 913 foreach ( $goal_ids as $goal_id ) { 914 $values[] = $wpdb->prepare( '(%d, %d)', $goal_id, $statistic_id ); 915 } 916 917 $wpdb->query( 918 "INSERT IGNORE INTO {$wpdb->prefix}burst_goal_statistics 919 (goal_id, statistic_id) 920 VALUES " . implode( ',', $values ) 913 921 ); 914 915 // goal already exists.916 if ( $goal_exists ) {917 return;918 }919 $wpdb->insert(920 $wpdb->prefix . 'burst_goal_statistics',921 $data922 );923 }924 925 /**926 * Sets the bounce flag to 0 for all hits within a session.927 *928 * @param int $session_id The ID of the session.929 * @return bool True on success, false on failure.930 */931 public function set_bounce_for_session( int $session_id ): bool {932 global $wpdb;933 934 // Prepare table name to ensure it's properly quoted.935 $table_name = $wpdb->prefix . 'burst_statistics';936 937 // Update query.938 $result = $wpdb->update(939 $table_name,940 // data.941 [ 'bounce' => 0 ],942 // where.943 [ 'session_id' => $session_id ]944 );945 946 // Check for errors.947 if ( $result === false ) {948 // Handle error, log it or take other actions.949 self::error_log( 'Error setting bounce to 0 for session ' . $session_id );950 return false;951 }952 953 return true;954 922 } 955 923 … … 964 932 public function remove_empty_values( array $data ): array { 965 933 foreach ( $data as $key => $value ) { 934 // skip parameters. 966 935 if ( $key === 'parameters' ) { 967 936 continue; 968 937 } 969 938 939 // remove null or empty string. 970 940 if ( $value === null || $value === '' ) { 971 941 unset( $data[ $key ] ); 972 } 973 974 if ( strpos( $key, '_id' ) !== false && $value === 0 ) { 942 continue; 943 } 944 945 // remove *_id if 0. 946 if ( str_ends_with( $key, '_id' ) && (int) $value === 0 ) { 975 947 unset( $data[ $key ] ); 976 948 } … … 988 960 */ 989 961 public function store_fingerprint_in_session( string $fingerprint, bool $should_load_ecommerce ): void { 990 $serverside_goals = $this->get_active_goals( true);962 $serverside_goals = $this->get_active_goals( [ 'visits' ] ); 991 963 // no need for session without serverside goals. 992 964 if ( empty( $serverside_goals ) && ! $should_load_ecommerce ) { -
burst-statistics/trunk/includes/Frontend/class-frontend.php
r3392751 r3406692 263 263 // fix phpcs warning. 264 264 unset( $hook ); 265 $minified = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';266 265 if ( ! $this->exclude_from_tracking() ) { 267 266 wp_enqueue_script( 268 267 'burst-timeme', 269 BURST_URL . "helpers/timeme/timeme$minified.js",268 BURST_URL . 'assets/js/timeme/timeme.min.js', 270 269 [], 271 filemtime( BURST_PATH . "helpers/timeme/timeme$minified.js"),270 filemtime( BURST_PATH . 'assets/js/timeme/timeme.min.js' ), 272 271 false 273 272 ); … … 419 418 */ 420 419 public function get_post_pageviews( int $post_id, int $start = 0, int $end = 0 ): int { 421 $cache_key = 'burst_post_views_' . $post_id ;420 $cache_key = 'burst_post_views_' . $post_id . $start . $end; 422 421 $cached_views = wp_cache_get( $cache_key, 'burst' ); 423 422 … … 443 442 444 443 $views = (int) $wpdb->get_var( $sql ); 445 wp_cache_set( $cache_key, $views, 'burst' );444 wp_cache_set( $cache_key, $views, 'burst', HOUR_IN_SECONDS ); 446 445 447 446 return $views; -
burst-statistics/trunk/includes/Integrations/plugins/easy-digital-downloads.php
r3392751 r3406692 68 68 function burst_easy_digital_downloads_order_completed( Order $order ): void { 69 69 /* @phpstan-ignore-next-line */ 70 $order_id = $order->id;70 $order_id = $order->id; 71 71 /* @phpstan-ignore-next-line */ 72 72 $order_items = $order->get_items(); -
burst-statistics/trunk/includes/TeamUpdraft/Onboarding/class-onboarding.php
r3392751 r3406692 425 425 */ 426 426 private function signup_for_mailinglist( string $email ): void { 427 $api_params = [ 427 $current_user = wp_get_current_user(); 428 $first_name = $current_user->ID !== 0 ? sanitize_text_field( $current_user->first_name ) : ''; 429 $last_name = $current_user->ID !== 0 ? sanitize_text_field( $current_user->last_name ) : ''; 430 $api_params = [ 428 431 'has_premium' => $this->is_pro, 429 432 'email' => sanitize_email( $email ), 430 'domain' => esc_url_raw( site_url() ), 433 'first_name' => $first_name, 434 'last_name' => $last_name, 431 435 ]; 432 436 wp_remote_post( -
burst-statistics/trunk/includes/Traits/trait-admin-helper.php
r3378823 r3406692 128 128 129 129 return burst_loader()->has_admin_access = false; 130 } 131 132 /** 133 * Checks if user has sales admin access to the Burst plugin. 134 */ 135 public function has_sales_admin_access(): bool { 136 if ( ! $this->has_admin_access() ) { 137 return false; 138 } 139 140 if ( ! is_user_logged_in() ) { 141 return false; 142 } 143 144 if ( ! current_user_can( 'view_sales_burst_statistics' ) ) { 145 return false; 146 } 147 148 return true; 130 149 } 131 150 … … 159 178 'burst_localize_script', 160 179 [ 161 'json_translations' => $js_data['json_translations'],162 'site_url' => get_rest_url(),163 'admin_ajax_url' => add_query_arg( [ 'action' => 'burst_rest_api_fallback' ], admin_url( 'admin-ajax.php' ) ),164 'dashboard_url' => $this->admin_url( 'burst' ),165 'plugin_url' => BURST_URL,166 'network_link' => network_site_url( 'plugins.php' ),167 'is_pro' => defined( 'BURST_PRO' ),180 'json_translations' => $js_data['json_translations'], 181 'site_url' => get_rest_url(), 182 'admin_ajax_url' => add_query_arg( [ 'action' => 'burst_rest_api_fallback' ], admin_url( 'admin-ajax.php' ) ), 183 'dashboard_url' => $this->admin_url( 'burst' ), 184 'plugin_url' => BURST_URL, 185 'network_link' => network_site_url( 'plugins.php' ), 186 'is_pro' => defined( 'BURST_PRO' ), 168 187 // to authenticate the logged in user. 169 'nonce' => wp_create_nonce( 'wp_rest' ), 170 'burst_nonce' => wp_create_nonce( 'burst_nonce' ), 171 'current_ip' => Ip::get_ip_address(), 172 'user_roles' => $this->get_user_roles(), 173 'date_ranges' => $this->get_date_ranges(), 174 'date_format' => get_option( 'date_format' ), 175 'tour_shown' => $this->get_option_int( 'burst_tour_shown_once' ), 176 'gmt_offset' => get_option( 'gmt_offset' ), 177 'burst_version' => BURST_VERSION, 178 'installed_by' => get_option( 'teamupdraft_installation_source_burst-statistics', '' ), 188 'nonce' => wp_create_nonce( 'wp_rest' ), 189 'burst_nonce' => wp_create_nonce( 'burst_nonce' ), 190 'current_ip' => Ip::get_ip_address(), 191 'user_roles' => $this->get_user_roles(), 192 'date_ranges' => $this->get_date_ranges(), 193 'date_format' => get_option( 'date_format' ), 194 'tour_shown' => $this->get_option_int( 'burst_tour_shown_once' ), 195 'gmt_offset' => get_option( 'gmt_offset' ), 196 'burst_version' => BURST_VERSION, 197 'installed_by' => get_option( 'teamupdraft_installation_source_burst-statistics', '' ), 198 'view_sales_burst_statistics' => current_user_can( 'view_sales_burst_statistics' ), 179 199 ] 180 200 ); -
burst-statistics/trunk/includes/Traits/trait-sanitize.php
r3392751 r3406692 451 451 } 452 452 453 $ref_spam_list = file( BURST_PATH . ' helpers/referrer-spam-list/spammers.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );453 $ref_spam_list = file( BURST_PATH . 'lib/vendor/matomo/referrer-spam-list/spammers.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES ); 454 454 $ref_spam_list = apply_filters( 'burst_referrer_spam_list', $ref_spam_list ); 455 455 if ( array_search( $referrer_host, $ref_spam_list, true ) ) { -
burst-statistics/trunk/includes/class-burst.php
r3402379 r3406692 66 66 define( 'BURST_PLUGIN', plugin_basename( BURST_FILE ) ); 67 67 define( 'BURST_PLUGIN_NAME', defined( 'BURST_PRO' ) ? 'Burst Pro' : 'Burst Statistics' ); 68 define( 'BURST_VERSION', '3. 0.2' );68 define( 'BURST_VERSION', '3.1.0.3' ); 69 69 // deprecated constant. 70 70 //phpcs:ignore -
burst-statistics/trunk/languages/burst-statistics.pot
r3392751 r3406692 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: Burst Pro 3. 0.0\n"5 "Project-Id-Version: Burst Pro 3.1.0.3\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/burst-pro\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2025-11- 03T12:15:22+00:00\n"12 "POT-Creation-Date: 2025-11-21T08:40:45+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.11.0\n" … … 40 40 msgstr "" 41 41 42 #: includes/Admin/App/class-app.php:1 7843 #: includes/Admin/App/class-app.php:7 2842 #: includes/Admin/App/class-app.php:181 43 #: includes/Admin/App/class-app.php:731 44 44 #: includes/Frontend/class-frontend-admin.php:44 45 45 msgid "Statistics" 46 46 msgstr "" 47 47 48 #: includes/Admin/App/class-app.php:2 6949 #: includes/Admin/class-admin.php: 71050 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:451 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:1052 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:553 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:154 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:155 #: includes/Admin/App/src/components/Common/Header.jsx:17 548 #: includes/Admin/App/class-app.php:272 49 #: includes/Admin/class-admin.php:871 50 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 51 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 52 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 53 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 54 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 55 #: includes/Admin/App/src/components/Common/Header.jsx:176 56 56 #: includes/Admin/App/src/components/Common/ProPopover.js:66 57 57 #: includes/Admin/App/src/components/Goals/GoalsSettings.js:172 … … 60 60 msgstr "" 61 61 62 #: includes/Admin/App/class-app.php:7 2762 #: includes/Admin/App/class-app.php:730 63 63 #: includes/Admin/App/config/menu.php:8 64 64 msgid "Dashboard" 65 65 msgstr "" 66 66 67 #: includes/Admin/App/class-app.php:7 2967 #: includes/Admin/App/class-app.php:732 68 68 #: includes/Admin/App/config/menu.php:37 69 69 msgid "Settings" 70 70 msgstr "" 71 71 72 #: includes/Admin/App/class-app.php:115 472 #: includes/Admin/App/class-app.php:1157 73 73 #: includes/Admin/Statistics/class-goal-statistics.php:251 74 74 #: includes/Frontend/class-shortcodes.php:465 75 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:175 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 76 76 #: includes/Admin/App/src/api/getDevicesData.js:12 77 77 #: includes/Admin/App/src/components/Statistics/DevicesBlock.js:46 … … 79 79 msgstr "" 80 80 81 #: includes/Admin/App/class-app.php:11 5781 #: includes/Admin/App/class-app.php:1160 82 82 #: includes/Admin/Statistics/class-goal-statistics.php:254 83 83 #: includes/Frontend/class-shortcodes.php:467 84 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:184 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 85 85 #: includes/Admin/App/src/api/getDevicesData.js:14 86 86 #: includes/Admin/App/src/components/Statistics/DevicesBlock.js:48 … … 88 88 msgstr "" 89 89 90 #: includes/Admin/App/class-app.php:116 090 #: includes/Admin/App/class-app.php:1163 91 91 #: includes/Admin/Statistics/class-goal-statistics.php:257 92 92 #: includes/Frontend/class-shortcodes.php:466 93 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:193 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 94 94 #: includes/Admin/App/src/api/getDevicesData.js:13 95 95 #: includes/Admin/App/src/components/Statistics/DevicesBlock.js:47 … … 97 97 msgstr "" 98 98 99 #: includes/Admin/App/class-app.php:116 399 #: includes/Admin/App/class-app.php:1166 100 100 #: includes/Admin/Statistics/class-goal-statistics.php:261 101 101 #: includes/Frontend/class-shortcodes.php:468 102 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:1102 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 103 103 #: includes/Admin/App/src/api/getDevicesData.js:15 104 104 #: includes/Admin/App/src/components/Statistics/DevicesBlock.js:49 … … 106 106 msgstr "" 107 107 108 #: includes/Admin/App/class-app.php:1 560108 #: includes/Admin/App/class-app.php:1651 109 109 msgid "Settings saved successfully" 110 110 msgstr "" 111 111 112 #: includes/Admin/App/class-app.php:1 561112 #: includes/Admin/App/class-app.php:1652 113 113 msgid "No changes were made" 114 114 msgstr "" … … 170 170 #: includes/Admin/App/config/menu.php:62 171 171 #: includes/Admin/App/config/menu.php:66 172 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:3172 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 173 173 #: includes/Admin/App/src/components/Dashboard/GoalsBlock.js:236 174 174 #: includes/Admin/App/src/components/Dashboard/GoalsBlock.js:264 … … 333 333 334 334 #: includes/Admin/App/config/goal-fields.php:33 335 #: includes/Pro/Admin/Ecommerce/class-funnel.php:31336 335 msgid "Visits" 337 336 msgstr "" … … 391 390 #: includes/Frontend/class-frontend-statistics.php:636 392 391 #: includes/Traits/trait-sanitize.php:601 393 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:4394 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:5395 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:1392 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 393 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 394 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 396 395 #: includes/Admin/App/src/api/getCompareData.js:14 397 396 #: includes/Admin/App/src/api/getCompareData.js:22 … … 410 409 #: includes/Frontend/class-frontend-statistics.php:637 411 410 #: includes/Traits/trait-sanitize.php:600 412 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:4413 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:5414 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:1411 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 412 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 413 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 415 414 #: includes/Admin/App/src/api/getCompareData.js:13 416 415 #: includes/Admin/App/src/api/getCompareData.js:21 … … 431 430 #: includes/Admin/Statistics/class-goal-statistics.php:132 432 431 #: includes/Frontend/class-frontend-statistics.php:635 433 #: includes/Pro/class-pro.php:2 19432 #: includes/Pro/class-pro.php:246 434 433 #: includes/Traits/trait-sanitize.php:599 435 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:4436 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:5437 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:1434 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 435 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 436 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 438 437 #: includes/Admin/App/src/api/getCompareData.js:12 439 438 #: includes/Admin/App/src/api/getCompareData.js:20 … … 447 446 448 447 #: includes/Admin/App/config/menu.php:18 449 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:1448 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 450 449 #: includes/Admin/App/src/components/Statistics/InsightsBlock.js:47 451 450 msgid "Insights" … … 453 452 454 453 #: includes/Admin/App/config/menu.php:27 455 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:3456 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:11457 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:5458 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:1454 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 455 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 456 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 457 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 459 458 #: includes/Admin/App/src/store/useFiltersStore.js:15 460 459 msgid "Sources" … … 511 510 512 511 #: includes/Admin/App/config/tasks.php:32 513 #: includes/Pro/class-pro.php:2 72512 #: includes/Pro/class-pro.php:299 514 513 msgid "Black Friday" 515 514 msgstr "" … … 521 520 522 521 #: includes/Admin/App/config/tasks.php:32 523 #: includes/Pro/class-pro.php:2 72522 #: includes/Pro/class-pro.php:299 524 523 msgid "Limited time offer!" 525 524 msgstr "" 526 525 527 526 #: includes/Admin/App/config/tasks.php:45 528 #: includes/Pro/class-pro.php: 285527 #: includes/Pro/class-pro.php:312 529 528 msgid "Cyber Monday" 530 529 msgstr "" 531 530 532 531 #: includes/Admin/App/config/tasks.php:45 533 #: includes/Pro/class-pro.php: 285532 #: includes/Pro/class-pro.php:312 534 533 msgid "Last chance!" 535 534 msgstr "" … … 581 580 msgstr "" 582 581 583 #: includes/Admin/App/Fields/class-fields.php:44 584 msgid "Disable the usage of summary tables" 585 msgstr "" 586 587 #: includes/Admin/App/Fields/class-fields.php:45 588 msgid "Using summary tables speeds up the dashboard on higher traffic environments, but can show small differences from the actual data." 589 msgstr "" 590 591 #: includes/Admin/App/Fields/class-fields.php:57 582 #: includes/Admin/App/Fields/class-fields.php:43 592 583 msgid "Track all hits networkwide, and view them on the dashboard of your main site" 593 584 msgstr "" 594 585 595 586 #: includes/Admin/AutoInstaller/class-auto-installer.php:92 596 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:3587 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 597 588 #: includes/Admin/App/src/components/Dashboard/OtherPluginsBlock.js:15 598 589 #: includes/TeamUpdraft/Other_Plugins/build/index.js:1 … … 602 593 603 594 #: includes/Admin/AutoInstaller/class-auto-installer.php:96 604 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:3595 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 605 596 #: includes/Admin/App/src/components/Dashboard/OtherPluginsBlock.js:199 606 597 #: includes/TeamUpdraft/Other_Plugins/build/index.js:1 … … 700 691 701 692 #: includes/Admin/AutoInstaller/class-auto-installer.php:481 702 #: includes/Admin/class-admin.php: 983703 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:1704 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:10693 #: includes/Admin/class-admin.php:1144 694 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 695 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 705 696 #: includes/Admin/App/src/components/Goals/DeleteGoalModal.js:32 706 697 msgid "Cancel" … … 799 790 #: includes/Admin/Burst_Onboarding/steps.php:34 800 791 #: includes/Pro/Admin/Licensing/class-licensing.php:308 801 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:10792 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 802 793 #: includes/Admin/App/src/components/Fields/LicenseField.js:38 803 794 msgid "Enter your license key" … … 805 796 806 797 #: includes/Admin/Burst_Onboarding/steps.php:52 807 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:3798 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 808 799 #: includes/Admin/App/src/components/Dashboard/OtherPluginsBlock.js:16 809 800 #: includes/Admin/App/src/components/Dashboard/OtherPluginsBlock.js:226 … … 898 889 msgstr "" 899 890 891 #: includes/Admin/class-admin.php:274 892 #: includes/Pro/Admin/Statistics/class-statistics.php:165 893 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 894 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 895 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 896 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 897 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:242 898 msgid "Sales" 899 msgstr "" 900 900 901 #. translators: 1: opening anchor tag to the privacy statement, 2: closing anchor tag. 901 #: includes/Admin/class-admin.php: 662902 #: includes/Admin/class-admin.php:823 902 903 msgid "This website uses Burst Statistics, a Privacy-Friendly Statistics Tool to analyze visitor behavior. For this functionality we (this website) collect anonymized data, stored locally without sharing it with other parties. For more information, please read the %s Privacy Statement %s from Burst." 903 904 msgstr "" 904 905 905 #: includes/Admin/class-admin.php: 691906 #: includes/Admin/class-admin.php:852 906 907 msgid "Default goal" 907 908 msgstr "" 908 909 909 #: includes/Admin/class-admin.php: 731910 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:1911 #: includes/Admin/App/src/components/Common/Header.jsx:17 0910 #: includes/Admin/class-admin.php:892 911 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 912 #: includes/Admin/App/src/components/Common/Header.jsx:171 912 913 msgid "Support" 913 914 msgstr "" 914 915 915 #: includes/Admin/class-admin.php: 962916 #: includes/Admin/class-admin.php:1123 916 917 msgid "Are you sure? With Burst Statistics active:" 917 918 msgstr "" 918 919 919 #: includes/Admin/class-admin.php: 964920 #: includes/Admin/class-admin.php:1125 920 921 msgid "You have access to your analytical data" 921 922 msgstr "" 922 923 923 #: includes/Admin/class-admin.php: 965924 #: includes/Admin/class-admin.php:1126 924 925 msgid "Asking consent for statistics often not required." 925 926 msgstr "" 926 927 927 #: includes/Admin/class-admin.php: 966928 #: includes/Admin/class-admin.php:1127 928 929 msgid "Your data securely on your own server." 929 930 msgstr "" 930 931 931 #: includes/Admin/class-admin.php: 985932 #: includes/Admin/class-admin.php:1146 932 933 msgid "Deactivate" 933 934 msgstr "" 934 935 935 #: includes/Admin/class-admin.php: 987936 #: includes/Admin/class-admin.php:1148 936 937 msgid "Deactivate and delete all data" 937 938 msgstr "" 938 939 939 #: includes/Admin/class-admin.php:1 058940 #: includes/Admin/class-admin.php:1219 940 941 msgid "Successfully cleared data." 941 942 msgstr "" … … 972 973 973 974 #: includes/Admin/class-tasks.php:280 974 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:3975 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 975 976 msgid "Completed" 976 977 msgstr "" … … 996 997 #: includes/Admin/class-tasks.php:285 997 998 #: includes/Pro/Admin/Licensing/class-licensing.php:910 998 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:4999 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:51000 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:11001 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:11002 #: includes/Admin/App/src/components/Common/Header.jsx:15 7999 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 1000 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 1001 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 1002 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 1003 #: includes/Admin/App/src/components/Common/Header.jsx:158 1003 1004 #: includes/Admin/App/src/components/Common/Pro.js:22 1004 1005 msgid "Pro" … … 1022 1023 1023 1024 #. translators: %s: progress of the upgrade. 1024 #: includes/Admin/DB_Upgrade/class-db-upgrade.php:6 81025 #: includes/Admin/DB_Upgrade/class-db-upgrade.php:67 1025 1026 msgid "An upgrade is running in the background, and is currently at %s." 1026 1027 msgstr "" 1027 1028 1028 #: includes/Admin/DB_Upgrade/class-db-upgrade.php:7 11029 #: includes/Admin/DB_Upgrade/class-db-upgrade.php:70 1029 1030 msgid "For large databases this process may take a while. Your data will be tracked as usual." 1030 1031 msgstr "" … … 1104 1105 1105 1106 #: includes/Admin/Mailer/class-mail-reports.php:197 1106 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:11107 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 1107 1108 #: includes/Admin/App/src/components/Statistics/CompareBlock.js:56 1108 1109 msgid "Compare" … … 1119 1120 #: includes/Admin/Mailer/class-mail-reports.php:257 1120 1121 #: includes/Pro/Admin/Statistics/class-statistics.php:159 1121 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:31122 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:41123 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:111124 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:51125 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:11122 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 1123 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 1124 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 1125 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 1126 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 1126 1127 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:159 1127 1128 #: includes/Admin/App/src/store/useFiltersStore.js:123 … … 1135 1136 1136 1137 #: includes/Admin/Mailer/class-mail-reports.php:261 1137 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:41138 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:51139 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:11138 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 1139 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 1140 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 1140 1141 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:103 1141 1142 msgid "Referrers" … … 1145 1146 #: includes/Frontend/class-frontend-statistics.php:638 1146 1147 #: includes/Traits/trait-sanitize.php:608 1147 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:41148 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:51149 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:11148 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 1149 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 1150 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 1150 1151 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:47 1151 1152 msgid "Bounce rate" … … 1157 1158 #: includes/Frontend/class-frontend-statistics.php:596 1158 1159 #: includes/Frontend/class-shortcodes.php:446 1159 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:31160 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 1160 1161 #: includes/Admin/App/src/components/Dashboard/LiveTraffic.js:20 1161 1162 #: includes/Admin/App/src/components/Dashboard/LiveTraffic.js:27 … … 1176 1177 1177 1178 #: includes/Admin/Mailer/class-mailer.php:52 1178 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:71179 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:101179 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:7 1180 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 1180 1181 #: includes/Admin/App/src/components/Settings/SettingsNotices.jsx:74 1181 1182 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:403 … … 1221 1222 1222 1223 #: includes/Admin/Posts/class-posts.php:33 1223 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:31224 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:111225 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:101226 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:51227 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:11224 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 1225 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 1226 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 1227 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 1228 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 1228 1229 #: includes/Admin/App/src/api/getGoalsData.js:106 1229 1230 #: includes/Admin/App/src/components/Dashboard/GoalsBlock.js:50 … … 1360 1361 #: includes/Frontend/class-frontend-statistics.php:640 1361 1362 #: includes/Traits/trait-sanitize.php:605 1362 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:41363 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:51364 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:11363 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 1364 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 1365 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 1365 1366 #: includes/Admin/App/src/hooks/useFilterDisplay.js:87 1366 1367 msgid "New visitors" … … 1368 1369 1369 1370 #. translators: %d is the number of times the page has been viewed. 1370 #: includes/Frontend/class-frontend.php:4 631371 #: includes/Frontend/class-frontend.php:457 1371 1372 msgid "This page has been viewed %d time." 1372 1373 msgid_plural "This page has been viewed %d times." … … 1395 1396 #: includes/Frontend/Goals/class-goal.php:77 1396 1397 #: includes/Frontend/Goals/class-goal.php:117 1397 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:101398 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 1398 1399 #: includes/Admin/App/src/components/Goals/GoalSetup.js:54 1399 1400 msgid "New goal" … … 1405 1406 1406 1407 #: includes/Integrations/translations.php:22 1407 #: includes/Pro/Admin/Ecommerce/class-funnel.php:411408 1408 msgid "Add to Cart" 1409 1409 msgstr "" … … 1484 1484 msgstr "" 1485 1485 1486 #: includes/Pro/Admin/Archive/class-archive.php: 4911486 #: includes/Pro/Admin/Archive/class-archive.php:513 1487 1487 msgid "January" 1488 1488 msgstr "" 1489 1489 1490 #: includes/Pro/Admin/Archive/class-archive.php: 4921490 #: includes/Pro/Admin/Archive/class-archive.php:514 1491 1491 msgid "February" 1492 1492 msgstr "" 1493 1493 1494 #: includes/Pro/Admin/Archive/class-archive.php: 4931494 #: includes/Pro/Admin/Archive/class-archive.php:515 1495 1495 msgid "March" 1496 1496 msgstr "" 1497 1497 1498 #: includes/Pro/Admin/Archive/class-archive.php: 4941498 #: includes/Pro/Admin/Archive/class-archive.php:516 1499 1499 msgid "April" 1500 1500 msgstr "" 1501 1501 1502 #: includes/Pro/Admin/Archive/class-archive.php: 4951502 #: includes/Pro/Admin/Archive/class-archive.php:517 1503 1503 msgid "May" 1504 1504 msgstr "" 1505 1505 1506 #: includes/Pro/Admin/Archive/class-archive.php: 4961506 #: includes/Pro/Admin/Archive/class-archive.php:518 1507 1507 msgid "June" 1508 1508 msgstr "" 1509 1509 1510 #: includes/Pro/Admin/Archive/class-archive.php: 4971510 #: includes/Pro/Admin/Archive/class-archive.php:519 1511 1511 msgid "July" 1512 1512 msgstr "" 1513 1513 1514 #: includes/Pro/Admin/Archive/class-archive.php: 4981514 #: includes/Pro/Admin/Archive/class-archive.php:520 1515 1515 msgid "August" 1516 1516 msgstr "" 1517 1517 1518 #: includes/Pro/Admin/Archive/class-archive.php: 4991518 #: includes/Pro/Admin/Archive/class-archive.php:521 1519 1519 msgid "September" 1520 1520 msgstr "" 1521 1521 1522 #: includes/Pro/Admin/Archive/class-archive.php:5 001522 #: includes/Pro/Admin/Archive/class-archive.php:522 1523 1523 msgid "October" 1524 1524 msgstr "" 1525 1525 1526 #: includes/Pro/Admin/Archive/class-archive.php:5 011526 #: includes/Pro/Admin/Archive/class-archive.php:523 1527 1527 msgid "November" 1528 1528 msgstr "" 1529 1529 1530 #: includes/Pro/Admin/Archive/class-archive.php:5 021530 #: includes/Pro/Admin/Archive/class-archive.php:524 1531 1531 msgid "December" 1532 1532 msgstr "" 1533 1533 1534 #: includes/Pro/Admin/Ecommerce/class-admin.php:180 1535 #: includes/Pro/Admin/Statistics/class-statistics.php:165 1536 #: includes/Admin/App/build/466.eb5c075f6389766ffddc.js:4 1537 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 1538 #: includes/Admin/App/build/875.ff8d36052fc68e665538.js:1 1539 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:242 1540 msgid "Sales" 1534 #: includes/Pro/Admin/Ecommerce/class-funnel.php:31 1535 msgid "Visitors started session" 1541 1536 msgstr "" 1542 1537 1543 1538 #: includes/Pro/Admin/Ecommerce/class-funnel.php:36 1544 msgid "Product Page Views" 1539 msgid "Viewed a product" 1540 msgstr "" 1541 1542 #: includes/Pro/Admin/Ecommerce/class-funnel.php:41 1543 msgid "Added to cart" 1545 1544 msgstr "" 1546 1545 1547 1546 #: includes/Pro/Admin/Ecommerce/class-funnel.php:46 1548 msgid " Checkout Visits"1547 msgid "Started checkout" 1549 1548 msgstr "" 1550 1549 1551 1550 #: includes/Pro/Admin/Ecommerce/class-funnel.php:51 1552 #: includes/Traits/trait-sanitize.php:606 1553 #: includes/Admin/App/build/466.eb5c075f6389766ffddc.js:4 1554 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 1555 #: includes/Admin/App/build/875.ff8d36052fc68e665538.js:1 1556 #: includes/Admin/App/src/api/getCompareData.js:19 1557 #: includes/Admin/App/src/api/getCompareData.js:66 1558 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:36 1559 #: includes/Admin/App/src/components/Statistics/InsightsHeader.js:24 1560 msgid "Conversions" 1561 msgstr "" 1562 1563 #: includes/Pro/Admin/Ecommerce/class-quick-wins.php:222 1564 #: includes/Pro/Admin/Ecommerce/class-quick-wins.php:269 1551 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 1552 msgid "Purchased" 1553 msgstr "" 1554 1555 #: includes/Pro/Admin/Ecommerce/class-quick-wins.php:247 1556 #: includes/Pro/Admin/Ecommerce/class-quick-wins.php:294 1565 1557 msgid "Missing quick win ID" 1566 1558 msgstr "" … … 1568 1560 #: includes/Pro/Admin/Ecommerce/class-sales.php:145 1569 1561 #: includes/Traits/trait-sanitize.php:604 1570 #: includes/Admin/App/build/371.4a609543a67c13e7ac16.js:3 1571 #: includes/Admin/App/build/466.eb5c075f6389766ffddc.js:4 1572 #: includes/Admin/App/build/466.eb5c075f6389766ffddc.js:11 1573 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 1574 #: includes/Admin/App/build/875.ff8d36052fc68e665538.js:1 1562 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 1563 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 1564 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 1565 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 1566 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 1567 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 1575 1568 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:41 1576 1569 #: includes/Admin/App/src/store/useFiltersStore.js:107 … … 1580 1573 1581 1574 #: includes/Pro/Admin/Ecommerce/class-sales.php:235 1575 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 1582 1576 msgid "Abandoned Carts" 1583 1577 msgstr "" 1584 1578 1585 1579 #: includes/Pro/Admin/Ecommerce/class-sales.php:331 1580 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 1586 1581 msgid "Average Order Value" 1587 1582 msgstr "" … … 1589 1584 #: includes/Pro/Admin/Ecommerce/class-sales.php:425 1590 1585 #: includes/Pro/Admin/Statistics/class-statistics.php:166 1591 #: includes/Admin/App/build/466.eb5c075f6389766ffddc.js:4 1592 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:4 1593 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 1594 #: includes/Admin/App/build/875.ff8d36052fc68e665538.js:1 1586 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 1587 #: includes/Admin/App/build/521.246fab661687c647fe82.js:1 1588 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 1589 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 1590 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 1595 1591 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:236 1596 1592 msgid "Revenue" … … 1599 1595 #: includes/Pro/Admin/Ecommerce/class-top-performers.php:83 1600 1596 #: includes/Pro/Admin/Ecommerce/class-top-performers.php:162 1597 #: includes/Admin/App/build/521.246fab661687c647fe82.js:1 1601 1598 msgid "Top device" 1602 1599 msgstr "" … … 1604 1601 #: includes/Pro/Admin/Ecommerce/class-top-performers.php:221 1605 1602 #: includes/Pro/Admin/Ecommerce/class-top-performers.php:304 1603 #: includes/Admin/App/build/521.246fab661687c647fe82.js:1 1606 1604 msgid "Top country" 1607 1605 msgstr "" … … 1609 1607 #: includes/Pro/Admin/Ecommerce/class-top-performers.php:363 1610 1608 #: includes/Pro/Admin/Ecommerce/class-top-performers.php:449 1609 #: includes/Admin/App/build/521.246fab661687c647fe82.js:1 1611 1610 msgid "Top campaign" 1612 1611 msgstr "" 1613 1612 1614 1613 #: includes/Pro/Admin/Ecommerce/class-top-performers.php:500 1615 #: includes/Pro/Admin/Ecommerce/class-top-performers.php:582 1614 #: includes/Pro/Admin/Ecommerce/class-top-performers.php:591 1615 #: includes/Admin/App/build/521.246fab661687c647fe82.js:1 1616 1616 msgid "Top product" 1617 1617 msgstr "" … … 1986 1986 1987 1987 #: includes/Pro/Admin/Statistics/class-statistics.php:153 1988 #: includes/Pro/class-pro.php:2 191989 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:31990 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:41991 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:111992 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:51993 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:11988 #: includes/Pro/class-pro.php:246 1989 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 1990 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 1991 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 1992 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 1993 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 1994 1994 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:124 1995 1995 #: includes/Admin/App/src/store/useFiltersStore.js:163 … … 1998 1998 1999 1999 #: includes/Pro/Admin/Statistics/class-statistics.php:154 2000 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:32001 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:42002 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:112003 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:52004 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:12000 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 2001 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 2002 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 2003 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 2004 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 2005 2005 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:137 2006 2006 #: includes/Admin/App/src/store/useFiltersStore.js:179 … … 2009 2009 2010 2010 #: includes/Pro/Admin/Statistics/class-statistics.php:155 2011 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:32012 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:42013 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:112014 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:52015 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:12011 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 2012 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 2013 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 2014 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 2015 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 2016 2016 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:131 2017 2017 #: includes/Admin/App/src/store/useFiltersStore.js:171 … … 2020 2020 2021 2021 #: includes/Pro/Admin/Statistics/class-statistics.php:156 2022 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:42023 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:52024 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:12022 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 2023 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 2024 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 2025 2025 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:143 2026 2026 msgid "Continent" … … 2028 2028 2029 2029 #: includes/Pro/Admin/Statistics/class-statistics.php:157 2030 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:32031 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:42032 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:112033 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:52034 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:12030 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 2031 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 2032 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 2033 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 2034 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 2035 2035 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:166 2036 2036 #: includes/Admin/App/src/store/useFiltersStore.js:131 … … 2039 2039 2040 2040 #: includes/Pro/Admin/Statistics/class-statistics.php:158 2041 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:32042 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:42043 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:112044 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:52045 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:12041 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 2042 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 2043 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 2044 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 2045 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 2046 2046 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:172 2047 2047 #: includes/Admin/App/src/store/useFiltersStore.js:139 … … 2050 2050 2051 2051 #: includes/Pro/Admin/Statistics/class-statistics.php:160 2052 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:32053 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:42054 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:112055 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:52056 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:12052 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 2053 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 2054 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 2055 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 2056 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 2057 2057 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:178 2058 2058 #: includes/Admin/App/src/store/useFiltersStore.js:147 … … 2061 2061 2062 2062 #: includes/Pro/Admin/Statistics/class-statistics.php:161 2063 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:32064 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:42065 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:112066 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:52067 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:12063 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 2064 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 2065 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 2066 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 2067 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 2068 2068 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:184 2069 2069 #: includes/Admin/App/src/store/useFiltersStore.js:155 … … 2072 2072 2073 2073 #: includes/Pro/Admin/Statistics/class-statistics.php:162 2074 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:42075 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:52076 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:12074 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 2075 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 2076 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 2077 2077 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:199 2078 2078 msgid "Parameter" … … 2080 2080 2081 2081 #: includes/Pro/Admin/Statistics/class-statistics.php:163 2082 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:42083 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:52084 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:12082 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 2083 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 2084 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 2085 2085 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:193 2086 2086 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:206 … … 2089 2089 2090 2090 #: includes/Pro/Admin/Statistics/class-statistics.php:164 2091 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:42092 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:52093 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:12091 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 2092 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 2093 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 2094 2094 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:229 2095 2095 msgid "Product" … … 2100 2100 #: includes/Pro/Admin/Statistics/class-statistics.php:352 2101 2101 #: includes/Pro/Admin/Statistics/class-statistics.php:355 2102 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:32103 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:42104 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:62105 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:112106 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:102107 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:52108 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:12102 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 2103 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 2104 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:6 2105 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 2106 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 2107 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 2108 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 2109 2109 #: includes/Admin/App/src/components/Dashboard/GoalStatus.js:23 2110 2110 #: includes/Admin/App/src/components/Dashboard/LiveTraffic.js:122 … … 3153 3153 msgstr "" 3154 3154 3155 #: includes/Pro/class-pro.php:1 443156 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:103155 #: includes/Pro/class-pro.php:169 3156 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3157 3157 #: includes/Admin/App/src/components/Fields/LicenseField.js:114 3158 3158 msgid "License status" 3159 3159 msgstr "" 3160 3160 3161 #: includes/Pro/class-pro.php:1 573161 #: includes/Pro/class-pro.php:182 3162 3162 msgid "Top campaigns" 3163 3163 msgstr "" 3164 3164 3165 #: includes/Pro/class-pro.php:2 283165 #: includes/Pro/class-pro.php:255 3166 3166 msgid "Countries" 3167 3167 msgstr "" 3168 3168 3169 #: includes/Pro/class-pro.php:2 723170 #: includes/Pro/class-pro.php: 2853169 #: includes/Pro/class-pro.php:299 3170 #: includes/Pro/class-pro.php:312 3171 3171 msgid "40% Off Extra Websites! Expand to more sites" 3172 3172 msgstr "" … … 3192 3192 3193 3193 #: includes/Traits/trait-sanitize.php:596 3194 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33195 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:43196 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113197 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53198 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13194 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3195 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 3196 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3197 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3198 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3199 3199 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:85 3200 3200 #: includes/Admin/App/src/store/useFiltersStore.js:77 … … 3203 3203 3204 3204 #: includes/Traits/trait-sanitize.php:597 3205 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33206 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:43207 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113208 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53209 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13205 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3206 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 3207 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3208 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3209 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3210 3210 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:93 3211 3211 #: includes/Admin/App/src/store/useFiltersStore.js:35 … … 3214 3214 3215 3215 #: includes/Traits/trait-sanitize.php:598 3216 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33217 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:43218 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113219 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53220 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13216 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3217 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 3218 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3219 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3220 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3221 3221 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:108 3222 3222 #: includes/Admin/App/src/store/useFiltersStore.js:44 … … 3225 3225 3226 3226 #: includes/Traits/trait-sanitize.php:602 3227 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:43228 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53229 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13227 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 3228 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3229 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3230 3230 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:53 3231 3231 msgid "Time on page" … … 3233 3233 3234 3234 #: includes/Traits/trait-sanitize.php:603 3235 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:43235 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 3236 3236 #: includes/Admin/App/src/store/useGeoStore.js:49 3237 3237 msgid "Avg. Session Duration" 3238 3238 msgstr "" 3239 3239 3240 #: includes/Traits/trait-sanitize.php:606 3241 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 3242 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3243 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3244 #: includes/Admin/App/src/api/getCompareData.js:19 3245 #: includes/Admin/App/src/api/getCompareData.js:66 3246 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:36 3247 #: includes/Admin/App/src/components/Statistics/InsightsHeader.js:24 3248 msgid "Conversions" 3249 msgstr "" 3250 3240 3251 #: includes/Traits/trait-sanitize.php:607 3241 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:43242 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53243 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13252 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 3253 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3254 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3244 3255 #: includes/Admin/App/src/hooks/useFilterDisplay.js:82 3245 3256 msgid "Bounced visitors" … … 3248 3259 #: includes/Traits/trait-sanitize.php:609 3249 3260 #: includes/Traits/trait-sanitize.php:612 3250 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33251 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113252 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53253 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13261 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3262 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3263 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3264 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3254 3265 #: includes/Admin/App/src/store/useFiltersStore.js:68 3255 3266 msgid "Device" … … 3258 3269 #: includes/Traits/trait-sanitize.php:610 3259 3270 #: includes/Traits/trait-sanitize.php:613 3260 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33261 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113262 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53263 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13271 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3272 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3273 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3274 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3264 3275 #: includes/Admin/App/src/store/useFiltersStore.js:203 3265 3276 msgid "Browser" … … 3271 3282 msgstr "" 3272 3283 3273 #: includes/Admin/App/build/227.97a6e08e153794c552fd.js:13274 #: includes/Admin/App/build/718.ac8350f40ab304e3f014.js:13275 #: includes/Admin/App/build/961.841ff3b000931479bb8d.js:13276 #: includes/Admin/App/src/routes/sales.jsx:253277 #: includes/Admin/App/src/routes/sources.jsx:213278 #: includes/Admin/App/src/routes/statistics.jsx:173279 msgid "An error occurred loading statistics"3280 msgstr ""3281 3282 3284 #: includes/Admin/App/build/258.df7e096fe424cde82270.js:1 3283 3285 #: includes/Admin/App/src/routes/settings.$settingsId.jsx:46 … … 3285 3287 msgstr "" 3286 3288 3287 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:13288 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:13289 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:13290 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13289 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:1 3290 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:1 3291 #: includes/Admin/App/build/521.246fab661687c647fe82.js:1 3292 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3291 3293 #: includes/Admin/App/src/components/Common/ClickToFilter.js:107 3292 3294 msgid "Click to filter by:" 3293 3295 msgstr "" 3294 3296 3295 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:13296 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:13297 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:13298 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13297 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:1 3298 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:1 3299 #: includes/Admin/App/build/521.246fab661687c647fe82.js:1 3300 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3299 3301 #: includes/Admin/App/src/components/Common/ClickToFilter.js:108 3300 3302 msgid "Click to filter" 3301 3303 msgstr "" 3302 3304 3303 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:13304 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:13305 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:13306 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13305 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:1 3306 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:1 3307 #: includes/Admin/App/build/521.246fab661687c647fe82.js:1 3308 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3307 3309 #: includes/Admin/App/src/components/Common/ClickToFilter.js:113 3308 3310 msgid "Open in new tab" 3309 3311 msgstr "" 3310 3312 3311 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:13312 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:13313 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:13314 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13313 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:1 3314 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:1 3315 #: includes/Admin/App/build/521.246fab661687c647fe82.js:1 3316 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3315 3317 #: includes/Admin/App/src/components/Common/ClickToFilter.js:162 3316 3318 msgid "Filtering by goal & goal specific page" 3317 3319 msgstr "" 3318 3320 3319 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:13320 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:13321 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:13322 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13321 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:1 3322 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:1 3323 #: includes/Admin/App/build/521.246fab661687c647fe82.js:1 3324 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3323 3325 #: includes/Admin/App/src/components/Common/ClickToFilter.js:165 3324 3326 msgid "Filtering by goal" 3325 3327 msgstr "" 3326 3328 3327 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:13328 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:43329 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:103330 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53331 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13329 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:1 3330 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 3331 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3332 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3333 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3332 3334 msgid "Help information" 3333 3335 msgstr "" 3334 3336 3335 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:13337 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:1 3336 3338 #: includes/Admin/App/src/components/Dashboard/TaskElement.js:19 3337 3339 msgid "Get 40% Off" 3338 3340 msgstr "" 3339 3341 3340 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:13342 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:1 3341 3343 #: includes/Admin/App/src/components/Dashboard/TaskElement.js:20 3342 3344 msgid "Get 3 months free!" 3343 3345 msgstr "" 3344 3346 3345 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:13346 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:103347 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53347 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:1 3348 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3349 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3348 3350 #: includes/Admin/App/src/components/Dashboard/TaskElement.js:21 3349 3351 #: includes/Admin/App/src/components/Fields/LicenseField.js:152 … … 3352 3354 msgstr "" 3353 3355 3354 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:13356 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:1 3355 3357 #: includes/Admin/App/src/components/Dashboard/TaskElement.js:27 3356 3358 msgid "Fix" … … 3358 3360 3359 3361 #. Translators: %d is the number of live visitors. 3360 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33362 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3361 3363 msgid "%d person is exploring your site right now" 3362 3364 msgid_plural "%d people are exploring your site right now" … … 3364 3366 msgstr[1] "" 3365 3367 3366 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33367 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:103368 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3369 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3368 3370 #: includes/Admin/App/src/components/Goals/GoalsSettings.js:40 3369 3371 msgid "View" 3370 3372 msgstr "" 3371 3373 3372 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33374 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3373 3375 msgid "Loading tasks..." 3374 3376 msgstr "" 3375 3377 3376 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33377 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53378 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3379 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 3378 3380 #: includes/Admin/App/src/components/Dashboard/LiveTraffic.js:250 3379 3381 msgid "Loading..." 3380 3382 msgstr "" 3381 3383 3382 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33384 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3383 3385 msgid "No remaining tasks to show" 3384 3386 msgstr "" 3385 3387 3386 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33388 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3387 3389 #: includes/Admin/App/src/components/Dashboard/OverviewFooter.js:31 3388 3390 msgid "Just now" 3389 3391 msgstr "" 3390 3392 3391 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33393 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3392 3394 #: includes/Admin/App/src/components/Dashboard/OverviewFooter.js:42 3393 3395 msgid "Last checked:" 3394 3396 msgstr "" 3395 3397 3396 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33398 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3397 3399 #: includes/Admin/App/src/components/Dashboard/OverviewFooter.js:47 3398 3400 msgid "Loading tracking status..." 3399 3401 msgstr "" 3400 3402 3401 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33403 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3402 3404 #: includes/Admin/App/src/components/Dashboard/OverviewFooter.js:48 3403 3405 msgid "Error checking tracking status" 3404 3406 msgstr "" 3405 3407 3406 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33408 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3407 3409 #: includes/Admin/App/src/components/Dashboard/OverviewFooter.js:49 3408 3410 msgid "Tracking with REST API" 3409 3411 msgstr "" 3410 3412 3411 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33413 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3412 3414 #: includes/Admin/App/src/components/Dashboard/OverviewFooter.js:50 3413 3415 msgid "Tracking with an endpoint" 3414 3416 msgstr "" 3415 3417 3416 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33418 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3417 3419 #: includes/Admin/App/src/components/Dashboard/OverviewFooter.js:51 3418 3420 #: includes/Admin/App/src/components/Dashboard/OverviewFooter.js:67 … … 3420 3422 msgstr "" 3421 3423 3422 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33424 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3423 3425 #: includes/Admin/App/src/components/Dashboard/OverviewFooter.js:55 3424 3426 msgid "Tracking does not seem to work. Check manually or contact support." 3425 3427 msgstr "" 3426 3428 3427 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33429 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3428 3430 #: includes/Admin/App/src/components/Dashboard/OverviewFooter.js:59 3429 3431 msgid "Tracking is working. You are using the REST API to collect statistics." 3430 3432 msgstr "" 3431 3433 3432 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33434 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3433 3435 #: includes/Admin/App/src/components/Dashboard/OverviewFooter.js:63 3434 3436 msgid "Tracking is working. You are using the Burst endpoint to collect statistics. This type of tracking is accurate and lightweight." 3435 3437 msgstr "" 3436 3438 3437 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33439 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3438 3440 #: includes/Admin/App/src/components/Dashboard/OverviewFooter.js:100 3439 3441 msgid "View my statistics" 3440 3442 msgstr "" 3441 3443 3442 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33444 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3443 3445 #: includes/Admin/App/src/components/Dashboard/LiveTraffic.js:50 3444 3446 msgid "%s second ago" … … 3447 3449 msgstr[1] "" 3448 3450 3449 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33451 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3450 3452 #: includes/Admin/App/src/components/Dashboard/LiveTraffic.js:60 3451 3453 msgid "%s minute ago" … … 3454 3456 msgstr[1] "" 3455 3457 3456 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33458 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3457 3459 #: includes/Admin/App/src/components/Dashboard/LiveTraffic.js:141 3458 3460 msgid "User is checking out" 3459 3461 msgstr "" 3460 3462 3461 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33463 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3462 3464 #: includes/Admin/App/src/components/Dashboard/LiveTraffic.js:143 3463 3465 msgid "User just entered the site" 3464 3466 msgstr "" 3465 3467 3466 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33468 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3467 3469 #: includes/Admin/App/src/components/Dashboard/LiveTraffic.js:145 3468 3470 msgid "User just left the site" 3469 3471 msgstr "" 3470 3472 3471 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33473 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3472 3474 #: includes/Admin/App/src/components/Dashboard/LiveTraffic.js:147 3473 3475 msgid "User is actively browsing" 3474 3476 msgstr "" 3475 3477 3476 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33478 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3477 3479 #: includes/Admin/App/src/components/Dashboard/LiveTraffic.js:158 3478 3480 msgid "User ID:" 3479 3481 msgstr "" 3480 3482 3481 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33483 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3482 3484 #: includes/Admin/App/src/components/Dashboard/LiveTraffic.js:276 3483 3485 msgid "No live visitors right now" 3484 3486 msgstr "" 3485 3487 3486 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33488 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3487 3489 #: includes/Admin/App/src/components/Dashboard/LiveTraffic.js:278 3488 3490 msgid "When someone visits your site, you’ll see them here instantly. " 3489 3491 msgstr "" 3490 3492 3491 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33493 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3492 3494 #: includes/Admin/App/src/components/Dashboard/OverviewBlock.js:65 3493 3495 msgid "Activity" 3494 3496 msgstr "" 3495 3497 3496 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33498 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3497 3499 #: includes/Admin/App/src/components/Dashboard/OverviewBlock.js:69 3498 3500 msgid "Live visitors" 3499 3501 msgstr "" 3500 3502 3501 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33503 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3502 3504 #: includes/Admin/App/src/components/Dashboard/OverviewBlock.js:76 3503 3505 msgid "Overview" 3504 3506 msgstr "" 3505 3507 3506 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33508 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3507 3509 #: includes/Admin/App/src/components/Dashboard/TodayBlock.js:38 3508 3510 #: includes/Admin/App/src/components/Dashboard/TodayBlock.js:101 … … 3513 3515 msgstr "" 3514 3516 3515 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33517 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3516 3518 #: includes/Admin/App/src/api/getGoalsData.js:33 3517 3519 #: includes/Admin/App/src/api/getGoalsData.js:110 … … 3526 3528 msgstr "" 3527 3529 3528 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33530 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3529 3531 #: includes/Admin/App/src/components/Dashboard/GoalStatus.js:32 3530 3532 msgid "Started" 3531 3533 msgstr "" 3532 3534 3533 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33535 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3534 3536 #: includes/Admin/App/src/components/Dashboard/GoalStatus.js:33 3535 3537 msgid "Created" 3536 3538 msgstr "" 3537 3539 3538 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33539 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:103540 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3541 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3540 3542 #: includes/Admin/App/src/components/Dashboard/GoalStatus.js:19 3541 3543 #: includes/Admin/App/src/components/Goals/GoalSetup.js:64 … … 3543 3545 msgstr "" 3544 3546 3545 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33546 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:103547 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3548 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3547 3549 #: includes/Admin/App/src/components/Dashboard/GoalStatus.js:21 3548 3550 #: includes/Admin/App/src/components/Goals/GoalSetup.js:64 … … 3550 3552 msgstr "" 3551 3553 3552 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33553 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:103554 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3555 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3554 3556 #: includes/Admin/App/src/components/Dashboard/GoalsHeader.js:35 3555 3557 #: includes/Admin/App/src/components/Fields/EditableTextField.jsx:73 … … 3557 3559 msgstr "" 3558 3560 3559 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33561 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3560 3562 #: includes/Admin/App/src/api/getGoalsData.js:84 3561 3563 msgid "Calculated by:" 3562 3564 msgstr "" 3563 3565 3564 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33566 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3565 3567 #: includes/Admin/App/src/api/getGoalsData.js:86 3566 3568 msgid "Total amount of goals reached " 3567 3569 msgstr "" 3568 3570 3569 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33571 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3570 3572 #: includes/Admin/App/src/api/getGoalsData.js:88 3571 3573 msgid "Total amount of" 3572 3574 msgstr "" 3573 3575 3574 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33576 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3575 3577 #: includes/Admin/App/src/api/getGoalsData.js:98 3576 3578 msgid "No data available yet" 3577 3579 msgstr "" 3578 3580 3579 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33581 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3580 3582 #: includes/Admin/App/src/components/Dashboard/GoalsBlock.js:215 3581 3583 msgid "Goal and today" 3582 3584 msgstr "" 3583 3585 3584 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33586 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3585 3587 #: includes/Admin/App/src/components/Dashboard/GoalsBlock.js:224 3586 3588 msgid "Goal and the start date" 3587 3589 msgstr "" 3588 3590 3589 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33591 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3590 3592 #: includes/Admin/App/src/components/Dashboard/GoalsBlock.js:238 3591 3593 msgid "Keep track of customizable goals and get valuable insights. Add your first goal!" 3592 3594 msgstr "" 3593 3595 3594 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33596 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3595 3597 #: includes/Admin/App/src/components/Dashboard/GoalsBlock.js:250 3596 3598 msgid "Learn how to set your first goal" 3597 3599 msgstr "" 3598 3600 3599 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33601 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3600 3602 #: includes/Admin/App/src/components/Dashboard/GoalsBlock.js:258 3601 3603 msgid "Create my first goal" 3602 3604 msgstr "" 3603 3605 3604 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33606 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3605 3607 #: includes/Admin/App/src/components/Dashboard/GoalsBlock.js:271 3606 3608 msgid "Error loading goals data. Please try again later." 3607 3609 msgstr "" 3608 3610 3609 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33611 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3610 3612 #: includes/Admin/App/src/components/Dashboard/GoalsBlock.js:335 3611 3613 msgid "View setup" 3612 3614 msgstr "" 3613 3615 3614 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33616 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3615 3617 #: includes/Admin/App/src/components/Dashboard/TipsTricksBlock.js:37 3616 3618 msgid "Tips & Tricks" 3617 3619 msgstr "" 3618 3620 3619 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33621 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3620 3622 #: includes/Admin/App/src/components/Dashboard/TipsTricksBlock.js:65 3621 3623 msgid "View all" 3622 3624 msgstr "" 3623 3625 3624 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33626 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3625 3627 #: includes/Admin/App/src/components/Dashboard/OtherPluginsBlock.js:17 3626 3628 #: includes/TeamUpdraft/Other_Plugins/build/index.js:1 … … 3629 3631 msgstr "" 3630 3632 3631 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33633 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3632 3634 #: includes/Admin/App/src/components/Dashboard/OtherPluginsBlock.js:18 3633 3635 #: includes/Admin/App/src/components/Dashboard/OtherPluginsBlock.js:19 … … 3638 3640 msgstr "" 3639 3641 3640 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33642 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3641 3643 #: includes/Admin/App/src/components/Dashboard/OtherPluginsBlock.js:212 3642 3644 #: includes/Admin/App/src/components/Dashboard/OtherPluginsBlock.js:237 … … 3646 3648 msgstr "" 3647 3649 3648 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33650 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3649 3651 #: includes/Admin/App/src/components/Dashboard/OtherPluginsBlock.js:222 3650 3652 msgid "Loading.." 3651 3653 msgstr "" 3652 3654 3653 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33655 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3654 3656 #: includes/Admin/App/src/components/Dashboard/OtherPluginsBlock.js:184 3655 3657 #: includes/TeamUpdraft/Other_Plugins/build/index.js:1 … … 3658 3660 msgstr "" 3659 3661 3660 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33661 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113662 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:103663 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53664 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13662 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3663 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3664 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3665 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3666 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3665 3667 #: includes/Admin/App/src/hooks/useGoalsData.js:108 3666 3668 msgid "Failed to save goals" 3667 3669 msgstr "" 3668 3670 3669 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33670 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113671 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:103672 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53673 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13671 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3672 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3673 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3674 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3675 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3674 3676 #: includes/Admin/App/src/hooks/useGoalsData.js:120 3675 3677 msgid "Failed to save goal title" 3676 3678 msgstr "" 3677 3679 3678 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33679 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113680 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:103681 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53682 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13680 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3681 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3682 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3683 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3684 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3683 3685 #: includes/Admin/App/src/hooks/useGoalsData.js:140 3684 3686 msgid "Goal added successfully!" 3685 3687 msgstr "" 3686 3688 3687 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33688 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113689 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:103690 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53691 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13689 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3690 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3691 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3692 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3693 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3692 3694 #: includes/Admin/App/src/hooks/useGoalsData.js:144 3693 3695 msgid "Failed to add goal" 3694 3696 msgstr "" 3695 3697 3696 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33697 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113698 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:103699 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53700 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13698 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3699 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3700 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3701 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3702 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3701 3703 #: includes/Admin/App/src/hooks/useGoalsData.js:176 3702 3704 msgid "Goal deleted successfully!" 3703 3705 msgstr "" 3704 3706 3705 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33706 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113707 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:103708 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53709 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13707 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3708 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3709 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3710 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3711 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3710 3712 #: includes/Admin/App/src/hooks/useGoalsData.js:181 3711 3713 msgid "Failed to delete goal" 3712 3714 msgstr "" 3713 3715 3714 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33715 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113716 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:103717 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53718 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13719 #: includes/Admin/App/src/hooks/useGoalsData.js:1 933716 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3717 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3718 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3719 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3720 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3721 #: includes/Admin/App/src/hooks/useGoalsData.js:189 3720 3722 msgid "Predefined goals are a premium feature." 3721 3723 msgstr "" 3722 3724 3723 #: includes/Admin/App/build/371.4a609543a67c13e7ac16.js:3 3724 #: includes/Admin/App/build/466.eb5c075f6389766ffddc.js:11 3725 #: includes/Admin/App/build/560.b89e7c1923a59cd04ee8.js:10 3726 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 3727 #: includes/Admin/App/build/875.ff8d36052fc68e665538.js:1 3725 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3726 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3727 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3728 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3729 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3730 #: includes/Admin/App/src/hooks/useGoalsData.js:205 3731 msgid "Successfully added predefined goal!" 3732 msgstr "" 3733 3734 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3735 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3736 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3737 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3738 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3728 3739 #: includes/Admin/App/src/hooks/useGoalsData.js:209 3729 msgid "Successfully added predefined goal!"3730 msgstr ""3731 3732 #: includes/Admin/App/build/371.4a609543a67c13e7ac16.js:33733 #: includes/Admin/App/build/466.eb5c075f6389766ffddc.js:113734 #: includes/Admin/App/build/560.b89e7c1923a59cd04ee8.js:103735 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:53736 #: includes/Admin/App/build/875.ff8d36052fc68e665538.js:13737 #: includes/Admin/App/src/hooks/useGoalsData.js:2133738 3740 msgid "Failed to add predefined goal" 3739 3741 msgstr "" 3740 3742 3741 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33742 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113743 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53744 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13743 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3744 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3745 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3746 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3745 3747 #: includes/Admin/App/src/store/useFiltersStore.js:10 3746 3748 msgid "Context" 3747 3749 msgstr "" 3748 3750 3749 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33750 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113751 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53752 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13751 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3752 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3753 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3754 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3753 3755 #: includes/Admin/App/src/store/useFiltersStore.js:20 3754 3756 msgid "Behavior" 3755 3757 msgstr "" 3756 3758 3757 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33758 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113759 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53760 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13759 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3760 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3761 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3762 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3761 3763 #: includes/Admin/App/src/store/useFiltersStore.js:25 3762 3764 msgid "Location" 3763 3765 msgstr "" 3764 3766 3765 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33766 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113767 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53768 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13767 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3768 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3769 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3770 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3769 3771 #: includes/Admin/App/src/store/useFiltersStore.js:53 3770 3772 msgid "Goal" 3771 3773 msgstr "" 3772 3774 3773 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33774 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113775 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53776 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13775 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3776 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3777 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3778 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3777 3779 #: includes/Admin/App/src/store/useFiltersStore.js:61 3778 3780 msgid "Bounced Visitors" 3779 3781 msgstr "" 3780 3782 3781 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33782 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113783 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53784 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13783 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3784 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3785 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3786 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3785 3787 #: includes/Admin/App/src/store/useFiltersStore.js:85 3786 3788 msgid "New Visitors" 3787 3789 msgstr "" 3788 3790 3789 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33790 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:43791 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113792 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53793 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13791 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3792 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 3793 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3794 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3795 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3794 3796 #: includes/Admin/App/src/api/getCompareData.js:15 3795 3797 #: includes/Admin/App/src/api/getCompareData.js:55 … … 3800 3802 msgstr "" 3801 3803 3802 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33803 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113804 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53805 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13804 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3805 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3806 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3807 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3806 3808 #: includes/Admin/App/src/store/useFiltersStore.js:100 3807 3809 msgid "Entry or exit page" 3808 3810 msgstr "" 3809 3811 3810 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33811 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113812 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53813 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13812 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3813 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3814 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3815 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3814 3816 #: includes/Admin/App/src/store/useFiltersStore.js:115 3815 3817 msgid "URL Parameter" 3816 3818 msgstr "" 3817 3819 3818 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33819 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113820 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53821 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13820 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3821 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3822 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3823 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3822 3824 #: includes/Admin/App/src/store/useFiltersStore.js:187 3823 3825 msgid "Time per Session" 3824 3826 msgstr "" 3825 3827 3826 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33827 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113828 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53829 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13828 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3829 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3830 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3831 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3830 3832 #: includes/Admin/App/src/store/useFiltersStore.js:195 3831 3833 msgid "Operating System" 3832 3834 msgstr "" 3833 3835 3834 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33835 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:43836 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113837 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:103838 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53839 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13840 #: includes/Admin/App/src/api/getDataTableData.js:13 43841 #: includes/Admin/App/src/api/getDataTableData.js: 2013836 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3837 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 3838 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3839 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3840 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3841 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3842 #: includes/Admin/App/src/api/getDataTableData.js:132 3843 #: includes/Admin/App/src/api/getDataTableData.js:199 3842 3844 #: includes/Admin/App/src/utils/formatting.js:259 3843 3845 #: includes/Admin/App/src/utils/formatting.js:266 … … 3845 3847 msgstr "" 3846 3848 3847 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33848 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113849 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:103850 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53851 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13849 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3850 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3851 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3852 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3853 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3852 3854 #: includes/Admin/App/src/utils/formatting.js:302 3853 3855 #: includes/Admin/Dashboard_Widget/build/index.js:1 … … 3855 3857 msgstr "" 3856 3858 3857 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33858 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113859 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:103860 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53861 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13859 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3860 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3861 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3862 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3863 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3862 3864 #: includes/Admin/App/src/utils/formatting.js:309 3863 3865 #: includes/Admin/Dashboard_Widget/build/index.js:1 … … 3865 3867 msgstr "" 3866 3868 3867 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33868 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113869 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:103870 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53871 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13869 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3870 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3871 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3872 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3873 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3872 3874 #: includes/Admin/App/src/utils/formatting.js:316 3873 3875 #: includes/Admin/Dashboard_Widget/build/index.js:1 … … 3875 3877 msgstr "" 3876 3878 3877 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33878 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113879 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:103880 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53881 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13879 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3880 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3881 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3882 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3883 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3882 3884 #: includes/Admin/App/src/utils/formatting.js:323 3883 3885 #: includes/Admin/Dashboard_Widget/build/index.js:1 … … 3885 3887 msgstr "" 3886 3888 3887 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33888 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113889 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:103890 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53891 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13889 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3890 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3891 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3892 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3893 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3892 3894 #: includes/Admin/App/src/utils/formatting.js:330 3893 3895 #: includes/Admin/Dashboard_Widget/build/index.js:1 … … 3895 3897 msgstr "" 3896 3898 3897 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33898 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113899 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:103900 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53901 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13899 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3900 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3901 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3902 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3903 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3902 3904 #: includes/Admin/App/src/utils/formatting.js:337 3903 3905 #: includes/Admin/Dashboard_Widget/build/index.js:1 … … 3905 3907 msgstr "" 3906 3908 3907 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33908 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113909 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:103910 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53911 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13909 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3910 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3911 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3912 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3913 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3912 3914 #: includes/Admin/App/src/utils/formatting.js:344 3913 3915 #: includes/Admin/Dashboard_Widget/build/index.js:1 … … 3915 3917 msgstr "" 3916 3918 3917 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33918 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113919 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:103920 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53921 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13919 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3920 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3921 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3922 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3923 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3922 3924 #: includes/Admin/App/src/utils/formatting.js:351 3923 3925 #: includes/Admin/Dashboard_Widget/build/index.js:1 … … 3925 3927 msgstr "" 3926 3928 3927 #: includes/Admin/App/build/371. 4a609543a67c13e7ac16.js:33928 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:113929 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:103930 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53931 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13929 #: includes/Admin/App/build/371.0356c2d3d0da0fd35f76.js:3 3930 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 3931 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3932 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3933 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3932 3934 #: includes/Admin/App/src/utils/formatting.js:358 3933 3935 #: includes/Admin/Dashboard_Widget/build/index.js:1 … … 3936 3938 3937 3939 #. translators: %s is description of the trial feature. 3938 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:43939 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:43940 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 3941 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3940 3942 msgid "%s Enjoy full access for the remainder of your trial." 3941 3943 msgstr "" 3942 3944 3943 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:43944 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:43945 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 3946 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3945 3947 msgid "Compare all plans" 3946 3948 msgstr "" 3947 3949 3948 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:43949 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:43950 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 3951 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3950 3952 msgid "You're exploring the Sources dashboard" 3951 3953 msgstr "" 3952 3954 3953 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:43954 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:43955 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 3956 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3955 3957 msgid "A key feature of our all premium plans." 3956 3958 msgstr "" 3957 3959 3958 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:43959 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:43960 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 3961 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3960 3962 msgid "You're exploring the Reporting dashboard" 3961 3963 msgstr "" 3962 3964 3963 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:43964 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:43965 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 3966 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3965 3967 msgid "A key feature of our Agency plan." 3966 3968 msgstr "" 3967 3969 3968 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:43969 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:43970 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 3971 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3970 3972 msgid "You're exploring the Sales dashboard" 3971 3973 msgstr "" 3972 3974 3973 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:43974 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:43975 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 3976 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3975 3977 msgid "A key feature of our Business and Agency plans." 3976 3978 msgstr "" 3977 3979 3978 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:43979 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:103980 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53981 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13980 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 3981 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3982 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 3983 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3982 3984 #: includes/Admin/App/src/components/Common/SearchButton.js:18 3983 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx: 2923985 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:315 3984 3986 msgid "Search" 3985 3987 msgstr "" 3986 3988 3987 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:43988 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53989 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13989 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 3990 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3991 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3990 3992 #: includes/Admin/App/src/components/Common/SearchButton.js:104 3991 3993 msgid "Clear search" 3992 3994 msgstr "" 3993 3995 3994 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:43995 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:53996 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:13996 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 3997 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 3998 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 3997 3999 #: includes/Admin/App/src/components/Common/ProPopover.js:46 3998 4000 msgid "Pro features include:" 3999 4001 msgstr "" 4000 4002 4001 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44002 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54003 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14003 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4004 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4005 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4004 4006 #: includes/Admin/App/src/components/Common/ProPopover.js:74 4005 4007 msgid "Learn More" 4006 4008 msgstr "" 4007 4009 4008 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44009 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54010 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14010 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4011 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4012 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4011 4013 #: includes/Admin/App/src/components/Statistics/EmptyDataTable.js:26 4012 4014 msgid "Loading data..." 4013 4015 msgstr "" 4014 4016 4015 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44016 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54017 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14017 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4018 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4019 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4018 4020 #: includes/Admin/App/src/components/Statistics/EmptyDataTable.js:35 4019 4021 msgid "Error:" 4020 4022 msgstr "" 4021 4023 4022 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44023 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54024 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14024 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4025 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4026 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4025 4027 #: includes/Admin/App/src/components/Statistics/EmptyDataTable.js:44 4026 4028 msgid "No data available in table" 4027 4029 msgstr "" 4028 4030 4029 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44030 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54031 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14031 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4032 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4033 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4032 4034 #: includes/Admin/App/src/components/Statistics/EmptyDataTable.js:52 4033 4035 msgid "Unexpected error" 4034 4036 msgstr "" 4035 4037 4036 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44037 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54038 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14039 #: includes/Admin/App/src/api/getDataTableData.js:28 94038 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4039 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4040 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4041 #: includes/Admin/App/src/api/getDataTableData.js:287 4040 4042 msgid "The test resulted in a tie. More hits might still result in a winner, but the difference will probably be very small." 4041 4043 msgstr "" 4042 4044 4043 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44044 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54045 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14046 #: includes/Admin/App/src/api/getDataTableData.js:29 34045 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4046 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4047 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4048 #: includes/Admin/App/src/api/getDataTableData.js:291 4047 4049 msgid "Not enough data yet to declare a winner or tie." 4048 4050 msgstr "" 4049 4051 4050 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44051 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54052 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14053 #: includes/Admin/App/src/api/getDataTableData.js:29 74052 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4053 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4054 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4055 #: includes/Admin/App/src/api/getDataTableData.js:295 4054 4056 msgid "Winner of the A/B test with a probability of >95%." 4055 4057 msgstr "" 4056 4058 4057 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44058 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54059 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14060 #: includes/Admin/App/src/api/getDataTableData.js:29 84059 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4060 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4061 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4062 #: includes/Admin/App/src/api/getDataTableData.js:296 4061 4063 msgid "Least performant version of the A/B test with a probability of >95%." 4062 4064 msgstr "" 4063 4065 4064 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44065 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54066 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14066 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4067 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4068 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4067 4069 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:79 4068 4070 msgid "Pages" 4069 4071 msgstr "" 4070 4072 4071 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44072 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54073 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14073 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4074 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4075 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4074 4076 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:118 4075 4077 msgid "Locations" 4076 4078 msgstr "" 4077 4079 4078 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44079 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54080 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14080 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4081 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4082 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4081 4083 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:153 4082 4084 msgid "Campaigns" 4083 4085 msgstr "" 4084 4086 4085 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44086 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54087 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14087 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4088 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4089 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4088 4090 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:215 4089 4091 msgid "Dummy" 4090 4092 msgstr "" 4091 4093 4092 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44093 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54094 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14094 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4095 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4096 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4095 4097 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:223 4096 4098 msgid "Products" 4097 4099 msgstr "" 4098 4100 4099 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44100 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:104101 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54102 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14103 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:3 654101 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4102 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4103 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 4104 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4105 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:388 4104 4106 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:436 4105 4107 msgid "of" 4106 4108 msgstr "" 4107 4109 4108 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44109 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:104110 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54111 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14112 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:3 684110 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4111 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4112 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 4113 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4114 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:391 4113 4115 #: includes/Admin/App/src/components/Statistics/DataTableBlock.js:439 4114 4116 msgid "All" 4115 4117 msgstr "" 4116 4118 4117 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44118 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54119 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4120 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4119 4121 msgid "Unlock Sales Performance" 4120 4122 msgstr "" 4121 4123 4122 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44123 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54124 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4125 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4124 4126 msgid "Gain valuable insights into your store’s revenue, top products, and sales trends." 4125 4127 msgstr "" 4126 4128 4127 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44128 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54129 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4130 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4129 4131 msgid "Your current license does not include the Sales dashboard." 4130 4132 msgstr "" 4131 4133 4132 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44133 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54134 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4135 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4134 4136 msgid "Is your checkout costing you sales?" 4135 4137 msgstr "" 4136 4138 4137 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44138 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54139 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4140 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4139 4141 msgid "You work hard to bring visitors to your site. But do you know why some buy and others leave? Without the right insights, it’s impossible to see where your funnel is leaking revenue. Burst Pro reveals what’s working, what’s broken, and where you can make small changes that drive big results." 4140 4142 msgstr "" 4141 4143 4142 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44143 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54144 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4145 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4144 4146 msgid "Find drop-offs: See exactly where visitors leave in your checkout funnel." 4145 4147 msgstr "" 4146 4148 4147 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44148 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54149 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4150 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4149 4151 msgid "Reduce cart abandonment: Identify checkout issues before they cost sales." 4150 4152 msgstr "" 4151 4153 4152 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44153 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54154 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4155 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4154 4156 msgid "Spot opportunities: Learn which products, channels, and devices generate the most revenue." 4155 4157 msgstr "" 4156 4158 4157 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44158 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54159 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4160 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4159 4161 msgid "Are your visitors buying, or just browsing?" 4160 4162 msgstr "" 4161 4163 4162 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44163 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54164 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4165 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4164 4166 msgid "Uncover checkout drop‑offs" 4165 4167 msgstr "" 4166 4168 4167 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44168 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54169 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4170 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4169 4171 msgid "Spot and fix cart abandonment issues" 4170 4172 msgstr "" 4171 4173 4172 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44173 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54174 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4175 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4174 4176 msgid "See which products and channels earn revenue" 4175 4177 msgstr "" 4176 4178 4177 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44178 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54179 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4180 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4179 4181 msgid "Unlock Source Insights" 4180 4182 msgstr "" 4181 4183 4182 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44183 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54184 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4185 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4184 4186 msgid "Get detailed insights into where your traffic comes from." 4185 4187 msgstr "" 4186 4188 4187 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44188 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54189 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4190 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4189 4191 msgid "Are you just guessing with your marketing?" 4190 4192 msgstr "" 4191 4193 4192 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44193 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54194 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4195 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4194 4196 msgid "You spend time and money creating campaigns, but can't see what's actually working. Are your newsletters driving traffic or just getting opened? Is your social media budget paying off? Without clear tracking, you're making decisions in the dark, which is inefficient and frustrating." 4195 4197 msgstr "" 4196 4198 4197 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44198 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54199 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4200 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4199 4201 msgid "Stop guessing: Track UTM campaigns to see which channels deliver real visitors." 4200 4202 msgstr "" 4201 4203 4202 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44203 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54204 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4205 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4204 4206 msgid "Optimize with confidence: Refine on-site promotions by analyzing custom URL parameters." 4205 4207 msgstr "" 4206 4208 4207 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44208 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54209 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4210 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4209 4211 msgid "Go beyond numbers: Visualize exactly where your visitors are with an interactive world map." 4210 4212 msgstr "" 4211 4213 4212 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44213 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54214 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4215 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4214 4216 msgid "Turn your traffic into targeted growth." 4215 4217 msgstr "" 4216 4218 4217 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44218 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54219 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4220 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4219 4221 msgid "Effective growth comes from understanding your audience on a deeper level. Burst Pro provides the tools to see not just how many people visit, but who they are and what brought them to you, so you can focus your efforts where they matter most." 4220 4222 msgstr "" 4221 4223 4222 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44223 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54224 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4225 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4224 4226 msgid "Measure the success of your marketing with automatic UTM campaign tracking." 4225 4227 msgstr "" 4226 4228 4227 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44228 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54229 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4230 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4229 4231 msgid "Optimize your website by tracking how visitors interact with specific parameters." 4230 4232 msgstr "" 4231 4233 4232 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44233 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54234 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4235 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4234 4236 msgid "Tailor your content by identifying key visitor locations, from country down to the city." 4235 4237 msgstr "" 4236 4238 4237 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44238 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54239 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4240 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4239 4241 msgid "Already have a license? Activate it to access these features." 4240 4242 msgstr "" 4241 4243 4242 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44243 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:104244 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54244 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4245 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4246 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 4245 4247 #: includes/Admin/App/src/components/Fields/LicenseField.js:103 4246 4248 msgid "Activate License" 4247 4249 msgstr "" 4248 4250 4249 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44250 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54251 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4252 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4251 4253 msgid "Upgrade Plan" 4252 4254 msgstr "" 4253 4255 4254 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44255 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54256 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4257 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4256 4258 msgid "Learn about all features" 4257 4259 msgstr "" 4258 4260 4259 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44260 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54261 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14261 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4262 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4263 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4262 4264 #: includes/Admin/App/src/hooks/useFilterDisplay.js:83 4263 4265 msgid "Active visitors" 4264 4266 msgstr "" 4265 4267 4266 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44267 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54268 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14268 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4269 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4270 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4269 4271 #: includes/Admin/App/src/hooks/useFilterDisplay.js:88 4270 4272 msgid "Returning visitors" 4271 4273 msgstr "" 4272 4274 4273 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44274 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54275 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14275 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4276 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4277 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4276 4278 #: includes/Admin/App/src/components/Filters/Display/FilterChip.js:61 4277 4279 msgid "Edit %s filter" 4278 4280 msgstr "" 4279 4281 4280 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44281 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54282 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14282 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4283 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4284 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4283 4285 #: includes/Admin/App/src/components/Filters/Display/FilterChip.js:62 4284 4286 msgid "Click to edit filter" 4285 4287 msgstr "" 4286 4288 4287 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44288 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54289 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14289 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4290 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4291 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4290 4292 #: includes/Admin/App/src/components/Filters/Display/FilterChip.js:81 4291 4293 #: includes/Admin/App/src/components/Filters/Display/FilterChip.js:82 … … 4293 4295 msgstr "" 4294 4296 4295 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44296 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54297 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14297 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4298 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4299 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4298 4300 #: includes/Admin/App/src/components/Filters/Display/AddFilterButton.js:16 4299 4301 msgid "Add filter" 4300 4302 msgstr "" 4301 4303 4302 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44303 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54304 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14304 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4305 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4306 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4305 4307 msgid "currently active" 4306 4308 msgstr "" 4307 4309 4308 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44309 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54310 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14310 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4311 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4312 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4311 4313 msgid "Pro feature" 4312 4314 msgstr "" 4313 4315 4314 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44315 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54316 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14316 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4317 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4318 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4317 4319 msgid "coming soon" 4318 4320 msgstr "" 4319 4321 4320 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44321 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54322 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14322 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4323 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4324 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4323 4325 msgid "disabled" 4324 4326 msgstr "" 4325 4327 4326 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44327 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54328 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14328 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4329 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4330 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4329 4331 msgid "Remove %s from favorites" 4330 4332 msgstr "" 4331 4333 4332 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44333 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54334 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14334 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4335 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4336 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4335 4337 msgid "Add %s to favorites" 4336 4338 msgstr "" 4337 4339 4338 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44339 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54340 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14340 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4341 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4342 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4341 4343 msgid "Coming soon" 4342 4344 msgstr "" 4343 4345 4344 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44345 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54346 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14346 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4347 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4348 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4347 4349 msgid "Favorites" 4348 4350 msgstr "" 4349 4351 4350 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44351 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54352 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14352 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4353 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4354 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4353 4355 msgid "No filters match your search." 4354 4356 msgstr "" 4355 4357 4356 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44357 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54358 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14358 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4359 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4360 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4359 4361 msgid "No favorite filters yet. Pin filters to add them here." 4360 4362 msgstr "" 4361 4363 4362 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44363 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54364 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14364 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4365 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4366 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4365 4367 msgid "No filters available." 4366 4368 msgstr "" 4367 4369 4368 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44369 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54370 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14370 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4371 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4372 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4371 4373 msgid "No filters in this category." 4372 4374 msgstr "" 4373 4375 4374 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44375 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54376 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14376 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4377 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4378 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4377 4379 msgid "No results found in current tab. Showing results from all filters." 4378 4380 msgstr "" 4379 4381 4380 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44381 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54382 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14382 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4383 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4384 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4383 4385 msgid "Available filters" 4384 4386 msgstr "" 4385 4387 4386 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44387 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54388 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14388 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4389 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4390 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4389 4391 msgid "Search filters" 4390 4392 msgstr "" 4391 4393 4392 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44393 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54394 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14394 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4395 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4396 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4395 4397 msgid "Search filters..." 4396 4398 msgstr "" 4397 4399 4398 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44399 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54400 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14400 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4401 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4402 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4401 4403 msgid "Filter categories" 4402 4404 msgstr "" 4403 4405 4404 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44405 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54406 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14406 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4407 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4408 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4407 4409 msgid "Showing %d search results" 4408 4410 msgstr "" 4409 4411 4410 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44411 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54412 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14412 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4413 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4414 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4413 4415 msgid "Search or select an option..." 4414 4416 msgstr "" 4415 4417 4416 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44417 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54418 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14418 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4419 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4420 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4419 4421 msgid "Enter page URL (e.g., /about)" 4420 4422 msgstr "" 4421 4423 4422 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44423 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54424 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14424 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4425 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4426 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4425 4427 msgid "Enter referrer URL (e.g., google.com)" 4426 4428 msgstr "" 4427 4429 4428 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44429 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54430 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14430 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4431 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4432 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4431 4433 msgid "Enter campaign name" 4432 4434 msgstr "" 4433 4435 4434 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44435 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54436 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14436 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4437 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4438 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4437 4439 msgid "Enter traffic source" 4438 4440 msgstr "" 4439 4441 4440 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44441 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54442 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14442 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4443 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4444 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4443 4445 msgid "Enter traffic medium" 4444 4446 msgstr "" 4445 4447 4446 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44447 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54448 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14448 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4449 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4450 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4449 4451 msgid "Enter search term" 4450 4452 msgstr "" 4451 4453 4452 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44453 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54454 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14454 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4455 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4456 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4455 4457 msgid "Enter content identifier" 4456 4458 msgstr "" 4457 4459 4458 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44459 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54460 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14460 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4461 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4462 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4461 4463 msgid "Enter URL parameter (e.g., utm_campaign)" 4462 4464 msgstr "" 4463 4465 4464 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44465 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54466 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14466 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4467 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4468 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4467 4469 msgid "Enter filter value..." 4468 4470 msgstr "" 4469 4471 4470 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44471 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54472 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14472 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4473 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4474 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4473 4475 msgid "Filter value" 4474 4476 msgstr "" 4475 4477 4476 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44477 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54478 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14478 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4479 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4480 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4479 4481 msgid "All visitors (default)" 4480 4482 msgstr "" 4481 4483 4482 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44483 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54484 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14484 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4485 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4486 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4485 4487 msgid "All pages" 4486 4488 msgstr "" 4487 4489 4488 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44489 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54490 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14490 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4491 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4492 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4491 4493 msgid "Entry pages" 4492 4494 msgstr "" 4493 4495 4494 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44495 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54496 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14496 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4497 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4498 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4497 4499 msgid "Exit pages" 4498 4500 msgstr "" 4499 4501 4500 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44501 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54502 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14502 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4503 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4504 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4503 4505 msgid "Show all visitors without filtering" 4504 4506 msgstr "" 4505 4507 4506 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44507 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54508 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14508 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4509 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4510 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4509 4511 msgid "Include" 4510 4512 msgstr "" 4511 4513 4512 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44513 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54514 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14514 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4515 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4516 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4515 4517 msgid "Include visitors matching this criteria" 4516 4518 msgstr "" 4517 4519 4518 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44519 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54520 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14520 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4521 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4522 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4521 4523 msgid "Exclude" 4522 4524 msgstr "" 4523 4525 4524 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44525 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54526 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14526 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4527 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4528 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4527 4529 msgid "Exclude visitors matching this criteria" 4528 4530 msgstr "" 4529 4531 4530 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44531 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54532 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14532 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4533 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4534 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4533 4535 msgid "Filter option" 4534 4536 msgstr "" 4535 4537 4536 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44537 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54538 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14538 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4539 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4540 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4539 4541 msgid "Minimum value" 4540 4542 msgstr "" 4541 4543 4542 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44543 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54544 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14544 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4545 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4546 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4545 4547 msgid "Maximum value" 4546 4548 msgstr "" 4547 4549 4548 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44549 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54550 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14550 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4551 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4552 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4551 4553 msgid "Filter range" 4552 4554 msgstr "" 4553 4555 4554 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44555 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54556 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14556 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4557 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4558 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4557 4559 msgid "Exact range values" 4558 4560 msgstr "" 4559 4561 4560 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44561 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54562 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14562 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4563 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4564 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4563 4565 msgid "Min value..." 4564 4566 msgstr "" 4565 4567 4566 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44567 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54568 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14568 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4569 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4570 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4569 4571 msgid "Max value..." 4570 4572 msgstr "" 4571 4573 4572 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44573 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54574 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14574 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4575 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4576 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4575 4577 msgid "Clear" 4576 4578 msgstr "" 4577 4579 4578 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44579 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54580 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14580 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4581 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4582 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4581 4583 msgid "Clear to remove this filter" 4582 4584 msgstr "" 4583 4585 4584 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44585 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54586 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14586 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4587 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4588 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4587 4589 msgid "selected" 4588 4590 msgstr "" 4589 4591 4590 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44591 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54592 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14592 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4593 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4594 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4593 4595 msgid "not selected" 4594 4596 msgstr "" 4595 4597 4596 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44597 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54598 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14598 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4599 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4600 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4599 4601 msgid "Device selection options" 4600 4602 msgstr "" 4601 4603 4602 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44603 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54604 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14604 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4605 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4606 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4605 4607 msgid "Select a filter" 4606 4608 msgstr "" 4607 4609 4608 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44609 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54610 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14610 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4611 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4612 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4611 4613 msgid "Setup Filter" 4612 4614 msgstr "" 4613 4615 4614 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44615 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54616 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14616 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4617 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4618 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4617 4619 msgid "Choose a filter to apply to your analytics data" 4618 4620 msgstr "" 4619 4621 4620 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44621 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54622 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14622 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4623 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4624 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4623 4625 msgid "Setup filter" 4624 4626 msgstr "" 4625 4627 4626 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44627 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54628 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14628 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4629 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4630 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4629 4631 msgid "Back to filters" 4630 4632 msgstr "" 4631 4633 4632 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44633 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54634 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14634 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4635 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4636 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4635 4637 msgid "Start typing to search or select from available options" 4636 4638 msgstr "" 4637 4639 4638 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44639 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54640 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14640 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4641 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4642 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4641 4643 msgid "Enter the value you want to filter by" 4642 4644 msgstr "" 4643 4645 4644 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44645 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54646 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14646 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4647 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4648 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4647 4649 msgid "Set the range for this filter" 4648 4650 msgstr "" 4649 4651 4650 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44651 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54652 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14652 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4653 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4654 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4653 4655 msgid "Select the option you want to filter by" 4654 4656 msgstr "" 4655 4657 4656 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44657 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54658 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14658 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4659 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4660 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4659 4661 msgid "Reset all active filters to default settings" 4660 4662 msgstr "" 4661 4663 4662 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44663 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54664 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14664 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4665 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4666 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4665 4667 msgid "Reset all filters" 4666 4668 msgstr "" 4667 4669 4668 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44669 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54670 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14670 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4671 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4672 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4671 4673 msgid "Apply %s filter" 4672 4674 msgstr "" 4673 4675 4674 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44675 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54676 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14676 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4677 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4678 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4677 4679 msgid "Apply filter" 4678 4680 msgstr "" 4679 4681 4680 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44681 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54682 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14682 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4683 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4684 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4683 4685 msgid "Apply Filter" 4684 4686 msgstr "" 4685 4687 4686 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44687 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54688 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14688 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4689 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4690 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4689 4691 msgid "Apply %s filter and continue adding more filters" 4690 4692 msgstr "" 4691 4693 4692 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44693 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54694 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14694 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4695 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4696 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4695 4697 msgid "Apply filter and add more" 4696 4698 msgstr "" 4697 4699 4698 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44699 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54700 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14700 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4701 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4702 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4701 4703 msgid "Apply & Add More" 4702 4704 msgstr "" 4703 4705 4704 #: includes/Admin/App/build/466.eb5c075f6389766ffddc.js:4 4705 #: includes/Admin/App/build/466.eb5c075f6389766ffddc.js:11 4706 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 4707 #: includes/Admin/App/build/875.ff8d36052fc68e665538.js:1 4706 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4707 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 4708 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 4709 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4710 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4708 4711 #: includes/Admin/App/src/components/Common/AdvancedFilter.js:79 4709 4712 #: includes/Admin/App/src/components/Common/PopoverFilter.js:105 … … 4712 4715 msgstr "" 4713 4716 4714 #: includes/Admin/App/build/466.eb5c075f6389766ffddc.js:4 4715 #: includes/Admin/App/build/466.eb5c075f6389766ffddc.js:11 4716 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 4717 #: includes/Admin/App/build/875.ff8d36052fc68e665538.js:1 4717 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4718 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 4719 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 4720 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4721 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4718 4722 #: includes/Admin/App/src/components/Common/AdvancedFilter.js:87 4719 4723 #: includes/Admin/App/src/components/Common/PopoverFilter.js:113 … … 4722 4726 msgstr "" 4723 4727 4724 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44725 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:114726 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54727 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14728 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4729 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 4730 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4731 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4728 4732 #: includes/Admin/App/src/components/Common/PopoverFilter.js:123 4729 4733 #: includes/Admin/App/src/components/Sources/WorldMap/MapSettingsPopover.jsx:155 … … 4731 4735 msgstr "" 4732 4736 4733 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44734 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54735 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14737 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4738 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4739 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4736 4740 #: includes/Admin/App/src/components/Common/PopoverFilter.js:124 4737 4741 msgid "Select metrics" 4738 4742 msgstr "" 4739 4743 4740 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44741 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54742 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14744 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4745 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4746 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4743 4747 #: includes/Admin/App/src/components/Common/PopoverFilter.js:164 4744 4748 msgid "Change metrics" 4745 4749 msgstr "" 4746 4750 4747 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44751 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4748 4752 #: includes/Admin/App/src/store/useGeoStore.js:71 4749 4753 msgid "Natural Breaks (Jenks)" 4750 4754 msgstr "" 4751 4755 4752 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44756 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4753 4757 #: includes/Admin/App/src/store/useGeoStore.js:72 4754 4758 msgid "Finds patterns in the data to create categories with minimal variation within groups. Works well for all metrics, especially Pageviews and Conversion Rate." 4755 4759 msgstr "" 4756 4760 4757 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44761 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4758 4762 #: includes/Admin/App/src/store/useGeoStore.js:79 4759 4763 msgid "Equal Interval" 4760 4764 msgstr "" 4761 4765 4762 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44766 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4763 4767 #: includes/Admin/App/src/store/useGeoStore.js:80 4764 4768 msgid "Splits the data range into equal-sized intervals. Ideal for percentage-based metrics like Bounce Rate or Conversion Rate." 4765 4769 msgstr "" 4766 4770 4767 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44771 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4768 4772 #: includes/Admin/App/src/store/useGeoStore.js:86 4769 4773 msgid "Standard Deviation" 4770 4774 msgstr "" 4771 4775 4772 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44776 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4773 4777 #: includes/Admin/App/src/store/useGeoStore.js:87 4774 4778 msgid "Groups data based on how far values deviate from the average. Highlights outliers in metrics like Bounce Rate or Avg. Session Duration." 4775 4779 msgstr "" 4776 4780 4777 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44781 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4778 4782 #: includes/Admin/App/src/store/useGeoStore.js:93 4779 4783 msgid "Quantile" 4780 4784 msgstr "" 4781 4785 4782 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44786 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4783 4787 #: includes/Admin/App/src/store/useGeoStore.js:94 4784 4788 msgid "Divides data into equal-sized groups, ensuring each category has the same number of regions. Best for evenly distributed metrics like Pageviews or Visitors." 4785 4789 msgstr "" 4786 4790 4787 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:44791 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:4 4788 4792 #: includes/Admin/App/src/components/Sources/WorldMap/ChoroplethTooltip.js:29 4789 4793 msgid "Unknown location" … … 4791 4795 4792 4796 #. translators: %s: Percentage value 4793 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:54797 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:5 4794 4798 #: includes/Admin/App/src/components/Sources/WorldMap/ChoroplethTooltip.js:103 4795 4799 msgid "%s of total" … … 4797 4801 4798 4802 #. translators: 1: Population number, 2: Year 4799 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:64803 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:6 4800 4804 #: includes/Admin/App/src/components/Sources/WorldMap/ChoroplethTooltip.js:117 4801 4805 msgid "Population: %1$s (%2$s)" 4802 4806 msgstr "" 4803 4807 4804 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:64808 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:6 4805 4809 #: includes/Admin/App/src/components/Sources/WorldMap/ChoroplethTooltip.js:137 4806 4810 msgid "Click to see country specific data" 4807 4811 msgstr "" 4808 4812 4809 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:64813 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:6 4810 4814 #: includes/Admin/App/src/components/Sources/WorldMap/MapBreadcrumbs.jsx:26 4811 4815 msgctxt "navigation item" … … 4813 4817 msgstr "" 4814 4818 4815 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:64819 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:6 4816 4820 #: includes/Admin/App/src/components/Sources/WorldMap/MapBreadcrumbs.jsx:59 4817 4821 msgctxt "button title" … … 4819 4823 msgstr "" 4820 4824 4821 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:64825 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:6 4822 4826 #: includes/Admin/App/src/components/Sources/WorldMap/MapBreadcrumbs.jsx:60 4823 4827 msgctxt "button title" … … 4825 4829 msgstr "" 4826 4830 4827 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:64831 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:6 4828 4832 #: includes/Admin/App/src/components/Sources/WorldMap/MapBreadcrumbs.jsx:75 4829 4833 msgctxt "aria label" … … 4832 4836 4833 4837 #. translators: %s: Error message 4834 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:74838 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:7 4835 4839 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:306 4836 4840 msgid "Error: %s" 4837 4841 msgstr "" 4838 4842 4839 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:74843 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:7 4840 4844 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:318 4841 4845 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:343 … … 4843 4847 msgstr "" 4844 4848 4845 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:74849 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:7 4846 4850 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:344 4847 4851 msgid "Loading analytics..." 4848 4852 msgstr "" 4849 4853 4850 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:74854 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:7 4851 4855 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:374 4852 4856 msgid "Region-level data is available for visits after %s." 4853 4857 msgstr "" 4854 4858 4855 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:74859 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:7 4856 4860 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:384 4857 4861 msgid "Region tracking is a new feature, so this data is only available for visits recorded after it was enabled." 4858 4862 msgstr "" 4859 4863 4860 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:74864 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:7 4861 4865 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:408 4862 4866 msgid "Dismiss for 30 days" 4863 4867 msgstr "" 4864 4868 4865 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:74866 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54869 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:7 4870 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 4867 4871 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:410 4868 4872 msgid "Dismiss" … … 4870 4874 4871 4875 #. translators: %s: Metric name (e.g., "Pageviews", "Visitors") 4872 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:84873 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:43 14876 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:8 4877 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:430 4874 4878 msgctxt "metric by location" 4875 4879 msgid "%s per country" … … 4877 4881 4878 4882 #. translators: %s: Metric name (e.g., "Pageviews", "Visitors") 4879 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:94880 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:43 34883 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:9 4884 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:432 4881 4885 msgctxt "metric by location" 4882 4886 msgid "%s per region" … … 4884 4888 4885 4889 #. translators: %d: Number of locations that have data 4886 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:104887 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:44 34890 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:10 4891 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:442 4888 4892 msgid "%d country with data" 4889 4893 msgid_plural "%d countries with data" … … 4891 4895 msgstr[1] "" 4892 4896 4893 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:104894 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:44 94897 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:10 4898 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:448 4895 4899 msgid "%d region with data" 4896 4900 msgid_plural "%d regions with data" … … 4898 4902 msgstr[1] "" 4899 4903 4900 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:104901 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:4 604904 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:10 4905 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:459 4902 4906 msgid "Patterns enabled" 4903 4907 msgstr "" 4904 4908 4905 4909 #. translators: %d: Number of visitors with unknown region, %s: metric label 4906 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:114907 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:46 84910 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 4911 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:467 4908 4912 msgid "%d %s with unknown region" 4909 4913 msgstr "" 4910 4914 4911 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:114912 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:48 44915 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 4916 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:483 4913 4917 msgctxt "statistic label" 4914 4918 msgid "Range" 4915 4919 msgstr "" 4916 4920 4917 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:114918 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:49 34921 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 4922 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:492 4919 4923 msgctxt "statistic label" 4920 4924 msgid "Average" 4921 4925 msgstr "" 4922 4926 4923 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:114924 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:49 94927 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 4928 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:498 4925 4929 msgctxt "statistic label" 4926 4930 msgid "Median" 4927 4931 msgstr "" 4928 4932 4929 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:114930 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:50 54933 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 4934 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:504 4931 4935 msgctxt "statistic label" 4932 4936 msgid "Total" 4933 4937 msgstr "" 4934 4938 4935 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:114936 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:51 34939 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 4940 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:512 4937 4941 msgctxt "statistic label" 4938 4942 msgid "Method" 4939 4943 msgstr "" 4940 4944 4941 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:114945 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 4942 4946 #: includes/Admin/App/src/components/Sources/WorldMap/WorldMap.jsx:326 4943 4947 msgid "No metrics available for display." 4944 4948 msgstr "" 4945 4949 4946 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:114950 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 4947 4951 #: includes/Admin/App/src/components/Sources/WorldMap/MapSettingsPopover.jsx:147 4948 4952 msgid "Metrics & options" 4949 4953 msgstr "" 4950 4954 4951 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:114955 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 4952 4956 #: includes/Admin/App/src/components/Sources/WorldMap/MapSettingsPopover.jsx:177 4953 4957 msgid "Classification method" 4954 4958 msgstr "" 4955 4959 4956 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:114960 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 4957 4961 #: includes/Admin/App/src/components/Sources/WorldMap/MapSettingsPopover.jsx:185 4958 4962 msgid "A classification method determines how data values are grouped into ranges or categories to color regions on a choropleth map. The recommended method is based on the selected metric. For more information for each method, see the help icon next to each method." 4959 4963 msgstr "" 4960 4964 4961 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:114965 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 4962 4966 #: includes/Admin/App/src/components/Sources/WorldMap/MapSettingsPopover.jsx:194 4963 4967 msgid "Auto-select" 4964 4968 msgstr "" 4965 4969 4966 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:114970 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 4967 4971 #: includes/Admin/App/src/components/Sources/WorldMap/MapSettingsPopover.jsx:239 4968 4972 msgid "Accessibility" 4969 4973 msgstr "" 4970 4974 4971 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:114975 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 4972 4976 #: includes/Admin/App/src/components/Sources/WorldMap/MapSettingsPopover.jsx:244 4973 4977 msgid "Colorblind Patterns" 4974 4978 msgstr "" 4975 4979 4976 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:114980 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 4977 4981 #: includes/Admin/App/src/components/Sources/WorldMap/MapSettingsPopover.jsx:247 4978 4982 msgid "Add patterns for colorblind accessibility" 4979 4983 msgstr "" 4980 4984 4981 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:114985 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 4982 4986 #: includes/Admin/App/src/components/Sources/WorldMapBlock.jsx:20 4983 4987 #: includes/Admin/App/src/components/Upsell/GhostWorldMapBlock.jsx:20 … … 4985 4989 msgstr "" 4986 4990 4987 #: includes/Admin/App/build/466. eb5c075f6389766ffddc.js:114988 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:104989 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:54990 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:14991 #: includes/Admin/App/build/466.f0a3ddef2e350125a9fb.js:11 4992 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 4993 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 4994 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 4991 4995 #: includes/Admin/App/src/components/Common/RecommendBadge.jsx:17 4992 4996 msgid "Recommended" 4993 4997 msgstr "" 4994 4998 4995 #: includes/Admin/App/build/5 60.b89e7c1923a59cd04ee8.js:14996 #: includes/Admin/App/build/ 824.0373a16424a358ca8c24.js:14999 #: includes/Admin/App/build/521.246fab661687c647fe82.js:1 5000 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 4997 5001 #: includes/Admin/App/src/store/usePostsStore.js:65 4998 5002 msgid "Untitled" 4999 5003 msgstr "" 5000 5004 5001 #: includes/Admin/App/build/560.b89e7c1923a59cd04ee8.js:1 5005 #: includes/Admin/App/build/521.246fab661687c647fe82.js:1 5006 msgid "Count" 5007 msgstr "" 5008 5009 #: includes/Admin/App/build/521.246fab661687c647fe82.js:1 5010 msgid "Top performers" 5011 msgstr "" 5012 5013 #: includes/Admin/App/build/521.246fab661687c647fe82.js:1 5014 #: includes/Admin/App/src/api/getSalesData.js:73 5015 msgid "All visitors converted" 5016 msgstr "" 5017 5018 #. translators: 1: converted visitors, 2: total visitors 5019 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5020 #: includes/Admin/App/src/api/getSalesData.js:83 5021 msgid "%1$d of %2$d visitors convert" 5022 msgstr "" 5023 5024 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5025 #: includes/Admin/App/src/api/getSalesData.js:119 5026 msgid "No carts were abandoned" 5027 msgstr "" 5028 5029 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5030 #: includes/Admin/App/src/api/getSalesData.js:153 5031 msgid "No change from last period" 5032 msgstr "" 5033 5034 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5035 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 5036 #: includes/Admin/App/src/components/Statistics/CompareFooter.js:14 5037 msgid "vs. previous day" 5038 msgstr "" 5039 5040 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5041 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 5042 #: includes/Admin/App/src/components/Statistics/CompareFooter.js:14 5043 msgid "vs. previous %s days" 5044 msgstr "" 5045 5046 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5047 msgid "An error occurred" 5048 msgstr "" 5049 5050 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5051 msgid "Opportunities" 5052 msgstr "" 5053 5054 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5055 msgid "Snooze for 30 days" 5056 msgstr "" 5057 5058 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5059 msgid "Read our guide" 5060 msgstr "" 5061 5062 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5063 msgid "Crunching data. Check back later to see if there are quick wins!" 5064 msgstr "" 5065 5066 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5067 msgid "Product Pages" 5068 msgstr "" 5069 5070 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5071 msgid "Product pages" 5072 msgstr "" 5073 5074 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5075 msgid "Select pages" 5076 msgstr "" 5077 5078 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5079 msgid "All product pages" 5080 msgstr "" 5081 5082 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5083 msgid "Custom product pages" 5084 msgstr "" 5085 5086 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5087 msgid "Step %d" 5088 msgstr "" 5089 5090 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5091 msgid "%d lost visitors" 5092 msgstr "" 5093 5094 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5095 msgid "%d visitors purchased" 5096 msgstr "" 5097 5098 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5099 msgid "%d%% conversion rate" 5100 msgstr "" 5101 5102 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5103 msgid "%s visitors (%s%%)" 5104 msgstr "" 5105 5106 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5107 msgid "%d%% conversion from previous step" 5108 msgstr "" 5109 5110 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5111 msgid "%d%% drop-off to next step" 5112 msgstr "" 5113 5114 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5115 msgid "Improving this by %s%% could lead to ~%d more sales." 5116 msgstr "" 5117 5118 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5119 msgid "Funnel" 5120 msgstr "" 5121 5122 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5123 msgid "No data available for the selected period." 5124 msgstr "" 5125 5126 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5127 msgid "Sent" 5128 msgstr "" 5129 5130 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5131 msgid "Viewed" 5132 msgstr "" 5133 5134 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5135 msgid "Clicked" 5136 msgstr "" 5137 5138 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5139 msgid "Add To Cart" 5140 msgstr "" 5141 5142 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5143 msgid "Read more" 5144 msgstr "" 5145 5146 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5147 msgid "Sales data is available for visits after %s." 5148 msgstr "" 5149 5150 #: includes/Admin/App/build/521.246fab661687c647fe82.js:2 5151 msgid "Sales tracking is a new feature, so this data is only available for visits recorded after it was enabled." 5152 msgstr "" 5153 5154 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 5155 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5156 #: includes/Admin/App/src/components/Common/DisabledBadge.jsx:17 5157 msgid "Disabled" 5158 msgstr "" 5159 5160 #: includes/Admin/App/build/521.246fab661687c647fe82.js:5 5161 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5162 #: includes/TeamUpdraft/Onboarding/build/index.js:1 5163 msgid "Required" 5164 msgstr "" 5165 5166 #: includes/Admin/App/build/540.dc5a288dc27ded44e488.js:1 5167 msgid "Access Restricted" 5168 msgstr "" 5169 5170 #: includes/Admin/App/build/540.dc5a288dc27ded44e488.js:1 5171 msgid "You don’t have permission to view this page." 5172 msgstr "" 5173 5174 #: includes/Admin/App/build/540.dc5a288dc27ded44e488.js:1 5175 #: includes/Admin/App/src/routes/sales.jsx:44 5176 msgid "Go Back" 5177 msgstr "" 5178 5179 #: includes/Admin/App/build/540.dc5a288dc27ded44e488.js:1 5180 #: includes/Admin/App/src/routes/sales.jsx:42 5181 msgid "Unauthorized Access" 5182 msgstr "" 5183 5184 #: includes/Admin/App/build/540.dc5a288dc27ded44e488.js:1 5185 #: includes/Admin/App/build/718.ac8350f40ab304e3f014.js:1 5186 #: includes/Admin/App/build/961.841ff3b000931479bb8d.js:1 5187 #: includes/Admin/App/src/routes/sales.jsx:51 5188 #: includes/Admin/App/src/routes/sources.jsx:21 5189 #: includes/Admin/App/src/routes/statistics.jsx:17 5190 msgid "An error occurred loading statistics" 5191 msgstr "" 5192 5193 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5002 5194 #: includes/Admin/App/src/components/Fields/IpBlockField.jsx:105 5003 5195 msgid "Add current IP address" 5004 5196 msgstr "" 5005 5197 5006 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15198 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5007 5199 msgid "Action completed successfully" 5008 5200 msgstr "" 5009 5201 5010 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15202 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5011 5203 msgid "Action failed" 5012 5204 msgstr "" 5013 5205 5014 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15206 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5015 5207 msgid "An error occurred while executing the action" 5016 5208 msgstr "" 5017 5209 5018 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15210 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5019 5211 msgid "Processing..." 5020 5212 msgstr "" 5021 5213 5022 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15214 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5023 5215 msgid "Confirm" 5024 5216 msgstr "" 5025 5217 5026 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15218 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5027 5219 #: includes/Admin/App/src/components/Fields/EmailReportsField.jsx:38 5028 5220 msgid "Weekly" 5029 5221 msgstr "" 5030 5222 5031 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15223 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5032 5224 #: includes/Admin/App/src/components/Fields/EmailReportsField.jsx:39 5033 5225 msgid "Monthly" 5034 5226 msgstr "" 5035 5227 5036 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15228 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5037 5229 #: includes/Admin/App/src/components/Fields/EmailReportsField.jsx:49 5038 5230 #: includes/Admin/App/src/components/Fields/EmailReportsField.jsx:68 … … 5040 5232 msgstr "" 5041 5233 5042 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15234 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5043 5235 #: includes/Admin/App/src/components/Fields/EmailReportsField.jsx:72 5044 5236 msgid "Maximum 10 emails allowed" 5045 5237 msgstr "" 5046 5238 5047 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15239 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5048 5240 #: includes/Admin/App/src/components/Fields/EmailReportsField.jsx:76 5049 5241 msgid "Email address already added" 5050 5242 msgstr "" 5051 5243 5052 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15244 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5053 5245 #: includes/Admin/App/src/components/Fields/EmailReportsField.jsx:64 5054 5246 msgid "Email address is required" 5055 5247 msgstr "" 5056 5248 5057 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15249 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5058 5250 #: includes/Admin/App/src/components/Fields/EmailReportsField.jsx:108 5059 5251 msgid "Email" 5060 5252 msgstr "" 5061 5253 5062 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15254 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5063 5255 #: includes/Admin/App/src/components/Fields/EmailReportsField.jsx:112 5064 5256 msgid "Frequency" 5065 5257 msgstr "" 5066 5258 5067 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15259 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5068 5260 #: includes/Admin/App/src/components/Fields/EmailReportsField.jsx:125 5069 5261 #: includes/Admin/App/src/components/Fields/EmailReportsField.jsx:131 … … 5071 5263 msgstr "" 5072 5264 5073 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15265 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5074 5266 #: includes/Admin/App/src/components/Fields/EmailReportsField.jsx:152 5075 5267 msgid "Recipients will receive weekly or monthly reports with statistics about your website. Add or remove email addresses in the list below." 5076 5268 msgstr "" 5077 5269 5078 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15270 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5079 5271 #: includes/Admin/App/src/components/Fields/EmailReportsField.jsx:159 5080 5272 msgid "No emails added yet" 5081 5273 msgstr "" 5082 5274 5083 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15275 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5084 5276 #: includes/Admin/App/src/components/Fields/EmailReportsField.jsx:191 5085 5277 msgid "Enter email address" 5086 5278 msgstr "" 5087 5279 5088 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15280 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5089 5281 #: includes/Admin/App/src/components/Fields/EmailReportsField.jsx:200 5090 5282 msgid "Add to list" 5091 5283 msgstr "" 5092 5284 5093 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15285 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5094 5286 #: includes/TeamUpdraft/Onboarding/build/index.js:1 5095 5287 #: includes/TeamUpdraft/Onboarding/src/components/Fields/Plugins.jsx:45 … … 5097 5289 msgstr "" 5098 5290 5099 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15291 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5100 5292 msgid "Show more" 5101 5293 msgstr "" 5102 5294 5103 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15295 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5104 5296 msgid "Show less" 5105 5297 msgstr "" 5106 5298 5107 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15299 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5108 5300 #: includes/Admin/App/src/components/Fields/SelectorField.jsx:127 5109 5301 msgid "Warning: The current element is hidden via CSS." 5110 5302 msgstr "" 5111 5303 5112 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:15304 #: includes/Admin/App/build/560.15b75c34469126da4911.js:1 5113 5305 #: includes/Admin/App/src/components/Fields/SelectorField.jsx:209 5114 5306 msgid "Warning: this element might be hidden via CSS." … … 5116 5308 5117 5309 #. translators: 1: number of elements found 2: the URL of the preview 3: logged in/out status 5118 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105310 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5119 5311 #: includes/Admin/App/src/components/Fields/SelectorField.jsx:233 5120 5312 msgid "Found %1$d element on %2$s %3$s" … … 5123 5315 msgstr[1] "" 5124 5316 5125 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105317 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5126 5318 #: includes/Admin/App/src/components/Fields/SelectorField.jsx:241 5127 5319 msgid "(Logged out)" 5128 5320 msgstr "" 5129 5321 5130 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105322 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5131 5323 #: includes/Admin/App/src/components/Fields/SelectorField.jsx:241 5132 5324 msgid "(Logged in)" 5133 5325 msgstr "" 5134 5326 5135 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105327 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5136 5328 #: includes/Admin/App/src/components/Fields/SelectorField.jsx:248 5137 5329 msgid "Selector Examples:" 5138 5330 msgstr "" 5139 5331 5140 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105332 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5141 5333 #: includes/Admin/App/src/components/Fields/SelectorField.jsx:254 5142 5334 msgid "Selects all elements with class \"class-name\"." 5143 5335 msgstr "" 5144 5336 5145 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105337 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5146 5338 #: includes/Admin/App/src/components/Fields/SelectorField.jsx:259 5147 5339 msgid "Selects the element with ID \"element-id\"." 5148 5340 msgstr "" 5149 5341 5150 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105342 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5151 5343 #: includes/Admin/App/src/components/Fields/SelectorField.jsx:264 5152 5344 msgid "Selects all <button> elements." 5153 5345 msgstr "" 5154 5346 5155 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105347 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5156 5348 #: includes/Admin/App/src/components/Fields/SelectorField.jsx:269 5157 5349 msgid "Selects links whose href starts with \"https\"." 5158 5350 msgstr "" 5159 5351 5160 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105352 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5161 5353 #: includes/Admin/App/src/components/Fields/SelectorField.jsx:274 5162 5354 msgid "Selects .nav-item elements that do not have the \"active\" class." 5163 5355 msgstr "" 5164 5356 5165 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105357 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5166 5358 #: includes/Admin/App/src/components/Fields/SelectorField.jsx:337 5167 5359 msgid "Preview panel, use arrow keys to navigate" 5168 5360 msgstr "" 5169 5361 5170 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105362 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5171 5363 #: includes/Admin/App/src/components/Fields/SelectorField.jsx:350 5172 5364 msgid "Step through matches" 5173 5365 msgstr "" 5174 5366 5175 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105367 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5176 5368 #: includes/Admin/App/src/components/Fields/SelectorField.jsx:357 5177 5369 msgid "Previous match" 5178 5370 msgstr "" 5179 5371 5180 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105372 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5181 5373 #: includes/Admin/App/src/components/Fields/SelectorField.jsx:368 5182 5374 msgid "Next match" 5183 5375 msgstr "" 5184 5376 5185 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105377 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5186 5378 #: includes/Admin/App/src/components/Fields/SelectorField.jsx:378 5187 5379 msgid "Set logged in mode" 5188 5380 msgstr "" 5189 5381 5190 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105382 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5191 5383 #: includes/Admin/App/src/components/Fields/SelectorField.jsx:378 5192 5384 msgid "Set logged out mode" 5193 5385 msgstr "" 5194 5386 5195 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105387 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5196 5388 #: includes/Admin/App/src/components/Fields/SelectorField.jsx:406 5197 5389 msgid "%s elements match your selector. Use arrow keys to cycle through matches." 5198 5390 msgstr "" 5199 5391 5200 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105392 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5201 5393 #: includes/Admin/App/src/components/Fields/EditableTextField.jsx:63 5202 5394 msgid "Click to edit" 5203 5395 msgstr "" 5204 5396 5205 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105397 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5206 5398 #: includes/Admin/App/src/components/Goals/DeleteGoalModal.js:10 5207 5399 msgid "Are you sure you want to delete this goal?" 5208 5400 msgstr "" 5209 5401 5210 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105402 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5211 5403 #: includes/Admin/App/src/components/Goals/DeleteGoalModal.js:12 5212 5404 msgid "This action cannot be undone." 5213 5405 msgstr "" 5214 5406 5215 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105407 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5216 5408 #: includes/Admin/App/src/components/Goals/DeleteGoalModal.js:15 5217 5409 msgid "Goal name" 5218 5410 msgstr "" 5219 5411 5220 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105412 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5221 5413 #: includes/Admin/App/src/components/Goals/DeleteGoalModal.js:17 5222 5414 msgid "Status" 5223 5415 msgstr "" 5224 5416 5225 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105417 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5226 5418 #: includes/Admin/App/src/components/Goals/DeleteGoalModal.js:19 5227 5419 msgid "Date created" 5228 5420 msgstr "" 5229 5421 5230 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105422 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5231 5423 #: includes/Admin/App/src/components/Goals/DeleteGoalModal.js:40 5232 5424 #: includes/Admin/App/src/components/Goals/DeleteGoalModal.js:69 … … 5234 5426 msgstr "" 5235 5427 5236 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105428 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5237 5429 #: includes/Admin/App/src/components/Goals/GoalSetup.js:75 5238 5430 msgid "Click to de-activate" 5239 5431 msgstr "" 5240 5432 5241 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105433 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5242 5434 #: includes/Admin/App/src/components/Goals/GoalSetup.js:75 5243 5435 msgid "Click to activate" 5244 5436 msgstr "" 5245 5437 5246 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105438 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5247 5439 #: includes/Admin/App/src/components/Goals/GoalsSettings.js:38 5248 5440 msgid "Click" 5249 5441 msgstr "" 5250 5442 5251 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105443 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5252 5444 #: includes/Admin/App/src/components/Goals/GoalsSettings.js:51 5253 5445 msgid "Goals are a great way to track your progress and keep you motivated." 5254 5446 msgstr "" 5255 5447 5256 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105448 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5257 5449 #: includes/Admin/App/src/components/Goals/GoalsSettings.js:57 5258 5450 msgid "While free users can create one goal, Burst Pro lets you set unlimited goals to plan, measure, and achieve more." 5259 5451 msgstr "" 5260 5452 5261 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105453 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5262 5454 #: includes/Admin/App/src/components/Goals/GoalsSettings.js:85 5263 5455 msgid "Add goal" 5264 5456 msgstr "" 5265 5457 5266 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105458 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5267 5459 #: includes/Admin/App/src/components/Goals/GoalsSettings.js:104 5268 5460 msgid "Add predefined goal" 5269 5461 msgstr "" 5270 5462 5271 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105463 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5272 5464 #: includes/Admin/App/src/components/Goals/GoalsSettings.js:130 5273 5465 msgid "Plug-in you're looking for not listed?" 5274 5466 msgstr "" 5275 5467 5276 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105468 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5277 5469 #: includes/Admin/App/src/components/Goals/GoalsSettings.js:140 5278 5470 msgid "Request it here!" 5279 5471 msgstr "" 5280 5472 5281 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105473 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5282 5474 #: includes/Admin/App/src/components/Goals/GoalsSettings.js:161 5283 5475 msgid "Want more goals?" 5284 5476 msgstr "" 5285 5477 5286 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105478 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5287 5479 #: includes/Admin/App/src/components/Goals/GoalsSettings.js:163 5288 5480 msgid "Upgrade to Burst Pro" 5289 5481 msgstr "" 5290 5482 5291 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105483 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5292 5484 #: includes/Admin/App/src/components/Fields/LicenseField.js:45 5293 5485 msgid "Activating your license gives you automatic updates and support." 5294 5486 msgstr "" 5295 5487 5296 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105488 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5297 5489 #: includes/Admin/App/src/components/Fields/LicenseField.js:51 5298 5490 msgid "Having trouble? %sCheck our installation guide%s." 5299 5491 msgstr "" 5300 5492 5301 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105493 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5302 5494 #: includes/Admin/App/src/components/Fields/LicenseField.js:58 5303 5495 msgid "If that does not help, please %sopen a support ticket%s so we can help you out!" 5304 5496 msgstr "" 5305 5497 5306 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105498 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5307 5499 #: includes/Admin/App/src/components/Fields/LicenseField.js:82 5308 5500 msgid "Enter your license key here." 5309 5501 msgstr "" 5310 5502 5311 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105503 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5312 5504 #: includes/Admin/App/src/components/Fields/LicenseField.js:94 5313 5505 msgid "Deactivate License" 5314 5506 msgstr "" 5315 5507 5316 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105508 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5317 5509 #: includes/Admin/App/src/components/Fields/LogoEditorField.jsx:54 5318 5510 msgid "Select a logo" 5319 5511 msgstr "" 5320 5512 5321 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105513 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5322 5514 #: includes/Admin/App/src/components/Fields/LogoEditorField.jsx:56 5323 5515 msgid "Set logo" 5324 5516 msgstr "" 5325 5517 5326 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105518 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5327 5519 #: includes/Admin/App/src/components/Fields/LogoEditorField.jsx:110 5328 5520 msgid "Reset to Default" 5329 5521 msgstr "" 5330 5522 5331 #: includes/Admin/App/build/560.b89e7c1923a59cd04ee8.js:10 5523 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5524 #: includes/Admin/App/src/store/useArchivesStore.js:25 5525 msgid "Deleting..." 5526 msgstr "" 5527 5528 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5529 #: includes/Admin/App/src/store/useArchivesStore.js:26 5530 msgid "Archives deleted successfully!" 5531 msgstr "" 5532 5533 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5332 5534 #: includes/Admin/App/src/store/useArchivesStore.js:27 5333 msgid "Deleting..."5334 msgstr ""5335 5336 #: includes/Admin/App/build/560.b89e7c1923a59cd04ee8.js:105337 #: includes/Admin/App/src/store/useArchivesStore.js:285338 msgid "Archives deleted successfully!"5339 msgstr ""5340 5341 #: includes/Admin/App/build/560.b89e7c1923a59cd04ee8.js:105342 #: includes/Admin/App/src/store/useArchivesStore.js:295343 5535 msgid "Failed to delete archive" 5344 5536 msgstr "" 5345 5537 5346 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105538 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5347 5539 #: includes/Admin/App/src/store/useArchivesStore.js:73 5348 5540 msgid "Starting restore..." 5349 5541 msgstr "" 5350 5542 5351 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105543 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5352 5544 #: includes/Admin/App/src/store/useArchivesStore.js:74 5353 5545 msgid "Restore successfully started!" 5354 5546 msgstr "" 5355 5547 5356 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105548 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5357 5549 #: includes/Admin/App/src/store/useArchivesStore.js:75 5358 5550 msgid "Failed to start restore process." 5359 5551 msgstr "" 5360 5552 5361 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105362 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:2 465553 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5554 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:267 5363 5555 msgid "Archive" 5364 5556 msgstr "" 5365 5557 5366 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105367 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:2 525558 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5559 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:272 5368 5560 msgid "Size" 5369 5561 msgstr "" 5370 5562 5371 #: includes/Admin/App/build/560.b89e7c1923a59cd04ee8.js:10 5372 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:309 5563 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5564 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:331 5565 msgid "%s item selected" 5566 msgid_plural "%s items selected" 5567 msgstr[0] "" 5568 msgstr[1] "" 5569 5570 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5571 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:343 5373 5572 msgid "Download" 5374 5573 msgstr "" 5375 5574 5376 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105377 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx: 675575 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5576 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:87 5378 5577 msgid "Because restoring files can conflict with the archiving functionality, archiving has been disabled." 5379 5578 msgstr "" 5380 5579 5381 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105382 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx: 685580 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5581 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:88 5383 5582 msgid "Archiving disabled" 5384 5583 msgstr "" 5385 5584 5386 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105387 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:3 195585 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5586 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:355 5388 5587 msgid "Restore" 5389 5588 msgstr "" 5390 5589 5391 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105392 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:3 275590 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5591 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:364 5393 5592 msgid "Delete" 5394 5593 msgstr "" 5395 5594 5396 #: includes/Admin/App/build/560.b89e7c1923a59cd04ee8.js:10 5397 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:331 5398 msgid "%s items selected" 5399 msgstr "" 5400 5401 #: includes/Admin/App/build/560.b89e7c1923a59cd04ee8.js:10 5402 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:336 5403 msgid "1 item selected" 5404 msgstr "" 5405 5406 #: includes/Admin/App/build/560.b89e7c1923a59cd04ee8.js:10 5407 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:344 5408 msgid "Restore in progress, %s complete" 5409 msgstr "" 5410 5411 #: includes/Admin/App/build/560.b89e7c1923a59cd04ee8.js:10 5412 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:372 5595 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5596 #: includes/Admin/App/src/components/Fields/RestoreArchivesField.jsx:396 5413 5597 msgid "No archives" 5414 5598 msgstr "" 5415 5599 5416 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105417 #: includes/Admin/App/src/components/Fields/Field.jsx:15 15600 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5601 #: includes/Admin/App/src/components/Fields/Field.jsx:150 5418 5602 msgid "This field is required" 5419 5603 msgstr "" 5420 5604 5421 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105422 #: includes/Admin/App/src/components/Fields/Field.jsx:1 605605 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5606 #: includes/Admin/App/src/components/Fields/Field.jsx:159 5423 5607 msgid "Invalid format" 5424 5608 msgstr "" 5425 5609 5426 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105610 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5427 5611 #: includes/Admin/App/src/components/Fields/Field.jsx:107 5428 5612 msgid "Invalid IP address format: " 5429 5613 msgstr "" 5430 5614 5431 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105615 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5432 5616 #: includes/Admin/App/src/components/Fields/Field.jsx:132 5433 5617 msgid "Duplicate IP addresses found: " 5434 5618 msgstr "" 5435 5619 5436 #: includes/Admin/App/build/560.b89e7c1923a59cd04ee8.js:10 5620 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5621 #: includes/Admin/App/src/components/Fields/Field.jsx:167 5622 msgid "Value must be at least %s" 5623 msgstr "" 5624 5625 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5626 #: includes/Admin/App/src/components/Fields/Field.jsx:176 5627 msgid "Value must be at most %s" 5628 msgstr "" 5629 5630 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5437 5631 #: includes/Admin/App/src/components/Settings/SettingsGroupBlock.jsx:30 5438 5632 msgid "Unlock Advanced Features with Burst Pro" 5439 5633 msgstr "" 5440 5634 5441 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105635 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5442 5636 #: includes/Admin/App/src/components/Settings/SettingsGroupBlock.jsx:32 5443 5637 msgid "This setting is exclusive to Pro users." 5444 5638 msgstr "" 5445 5639 5446 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105640 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5447 5641 #: includes/Admin/App/src/components/Settings/SettingsFooter.jsx:14 5448 5642 msgid "Saving..." 5449 5643 msgstr "" 5450 5644 5451 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105645 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5452 5646 #: includes/Admin/App/src/components/Settings/SettingsFooter.jsx:19 5453 5647 msgid "Validating..." 5454 5648 msgstr "" 5455 5649 5456 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105650 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5457 5651 #: includes/Admin/App/src/components/Settings/SettingsFooter.jsx:24 5458 5652 msgid "You have unsaved changes" 5459 5653 msgstr "" 5460 5654 5461 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105655 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5462 5656 #: includes/Admin/App/src/components/Settings/SettingsFooter.jsx:39 5463 5657 msgid "Save" 5464 5658 msgstr "" 5465 5659 5466 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105660 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5467 5661 #: includes/Admin/App/src/components/Settings/SettingsNotices.jsx:38 5468 5662 msgid "Collapse all" 5469 5663 msgstr "" 5470 5664 5471 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105665 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5472 5666 #: includes/Admin/App/src/components/Settings/SettingsNotices.jsx:39 5473 5667 msgid "Expand all" 5474 5668 msgstr "" 5475 5669 5476 #: includes/Admin/App/build/560. b89e7c1923a59cd04ee8.js:105670 #: includes/Admin/App/build/560.15b75c34469126da4911.js:10 5477 5671 #: includes/Admin/App/src/components/Settings/SettingsNotices.jsx:45 5478 5672 msgid "Notifications" 5479 5673 msgstr "" 5480 5674 5481 #: includes/Admin/App/build/560.b89e7c1923a59cd04ee8.js:10 5482 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5483 #: includes/Admin/App/src/components/Common/DisabledBadge.jsx:17 5484 msgid "Disabled" 5485 msgstr "" 5486 5487 #: includes/Admin/App/build/560.b89e7c1923a59cd04ee8.js:10 5488 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5489 #: includes/TeamUpdraft/Onboarding/build/index.js:1 5490 msgid "Required" 5491 msgstr "" 5492 5493 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:4 5494 msgid "Count" 5495 msgstr "" 5496 5497 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:4 5498 msgid "Top performers" 5499 msgstr "" 5500 5501 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:4 5502 #: includes/Admin/App/src/api/getSalesData.js:73 5503 msgid "All visitors converted" 5504 msgstr "" 5505 5506 #. translators: 1: converted visitors, 2: total visitors 5507 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5508 #: includes/Admin/App/src/api/getSalesData.js:83 5509 msgid "%1$d of %2$d visitors convert" 5510 msgstr "" 5511 5512 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5513 #: includes/Admin/App/src/api/getSalesData.js:119 5514 msgid "No carts were abandoned" 5515 msgstr "" 5516 5517 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5518 #: includes/Admin/App/src/api/getSalesData.js:154 5519 msgid "No change from last period" 5520 msgstr "" 5521 5522 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5523 #: includes/Admin/App/build/875.ff8d36052fc68e665538.js:1 5524 #: includes/Admin/App/src/components/Statistics/CompareFooter.js:14 5525 msgid "vs. previous day" 5526 msgstr "" 5527 5528 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5529 #: includes/Admin/App/build/875.ff8d36052fc68e665538.js:1 5530 #: includes/Admin/App/src/components/Statistics/CompareFooter.js:14 5531 msgid "vs. previous %s days" 5532 msgstr "" 5533 5534 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5535 msgid "Opportunities" 5536 msgstr "" 5537 5538 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5539 msgid "An error occurred" 5540 msgstr "" 5541 5542 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5543 msgid "Snooze for 30 days" 5544 msgstr "" 5545 5546 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5547 msgid "Read our guide" 5548 msgstr "" 5549 5550 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5551 msgid "Crunching data. Check back later to see if there are quick wins!" 5552 msgstr "" 5553 5554 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5555 msgid "Product Pages" 5556 msgstr "" 5557 5558 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5559 msgid "Product pages" 5560 msgstr "" 5561 5562 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5563 msgid "Select pages" 5564 msgstr "" 5565 5566 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5567 msgid "All product pages" 5568 msgstr "" 5569 5570 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5571 msgid "Custom product pages" 5572 msgstr "" 5573 5574 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5575 msgid "Step %d" 5576 msgstr "" 5577 5578 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5579 msgid "<DropOffPercentage/> <tspan>drop-off</tspan>" 5580 msgstr "" 5581 5582 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5583 msgid "<PathValue /> <tspan>session</tspan>" 5584 msgid_plural "<PathValue /> <tspan>sessions</tspan>" 5585 msgstr[0] "" 5586 msgstr[1] "" 5587 5588 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5589 msgid "Funnel" 5590 msgstr "" 5591 5592 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5593 msgid "No data available for the selected period." 5594 msgstr "" 5595 5596 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5597 msgid "Sent" 5598 msgstr "" 5599 5600 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5601 msgid "Viewed" 5602 msgstr "" 5603 5604 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5605 msgid "Clicked" 5606 msgstr "" 5607 5608 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5609 msgid "Add To Cart" 5610 msgstr "" 5611 5612 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5613 msgid "Purchased" 5614 msgstr "" 5615 5616 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5617 msgid "Read more" 5618 msgstr "" 5619 5620 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5621 msgid "Sales data is available for visits after %s." 5622 msgstr "" 5623 5624 #: includes/Admin/App/build/824.0373a16424a358ca8c24.js:5 5625 msgid "Sales tracking is a new feature, so this data is only available for visits recorded after it was enabled." 5626 msgstr "" 5627 5628 #: includes/Admin/App/build/875.ff8d36052fc68e665538.js:1 5675 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 5629 5676 #: includes/Admin/App/src/components/Statistics/InsightsHeader.js:21 5630 5677 msgid "Bounces" 5631 5678 msgstr "" 5632 5679 5633 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:15680 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 5634 5681 #: includes/Admin/App/src/components/Statistics/CompareFooter.js:7 5635 5682 msgid "No data available for comparison" 5636 5683 msgstr "" 5637 5684 5638 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:15685 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 5639 5686 #: includes/Admin/App/src/api/getCompareData.js:29 5640 5687 msgid "%s pageviews per session" 5641 5688 msgstr "" 5642 5689 5643 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:15690 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 5644 5691 #: includes/Admin/App/src/api/getCompareData.js:38 5645 5692 msgid "%s per session" 5646 5693 msgstr "" 5647 5694 5648 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:15695 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 5649 5696 #: includes/Admin/App/src/api/getCompareData.js:47 5650 5697 msgid "%s are new visitors" 5651 5698 msgstr "" 5652 5699 5653 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:15700 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 5654 5701 #: includes/Admin/App/src/api/getCompareData.js:56 5655 5702 msgid "%s visitors bounced" 5656 5703 msgstr "" 5657 5704 5658 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:15705 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 5659 5706 #: includes/Admin/App/src/api/getCompareData.js:67 5660 5707 msgid "%s of pageviews converted" 5661 5708 msgstr "" 5662 5709 5663 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:15710 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 5664 5711 #: includes/Admin/App/src/api/getCompareData.js:76 5665 5712 msgid "%s pageviews per conversion" 5666 5713 msgstr "" 5667 5714 5668 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:15715 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 5669 5716 #: includes/Admin/App/src/api/getCompareData.js:85 5670 5717 msgid "%s sessions per conversion" 5671 5718 msgstr "" 5672 5719 5673 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:15720 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 5674 5721 #: includes/Admin/App/src/api/getCompareData.js:94 5675 5722 msgid "%s visitors per conversion" 5676 5723 msgstr "" 5677 5724 5678 #: includes/Admin/App/build/875. ff8d36052fc68e665538.js:15725 #: includes/Admin/App/build/875.b30bd12152ab12faffba.js:1 5679 5726 #: includes/Admin/App/src/components/Statistics/DevicesBlock.js:115 5680 5727 msgid "Devices" 5681 5728 msgstr "" 5682 5729 5683 #: includes/Admin/App/build/index.d1ae230031b8f54fed6d.js:1 5684 #: includes/Admin/App/src/utils/api.js:33 5730 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5731 #: includes/Admin/App/src/routes/sales.jsx:33 5732 msgid "You do not have permission to view sales data." 5733 msgstr "" 5734 5735 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5736 #: includes/Admin/App/src/utils/api.js:35 5685 5737 #: includes/Admin/Dashboard_Widget/build/index.js:1 5686 5738 msgid "Server error" 5687 5739 msgstr "" 5688 5740 5689 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15690 #: includes/Admin/App/src/utils/api.js:4 25741 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5742 #: includes/Admin/App/src/utils/api.js:44 5691 5743 #: includes/Admin/Dashboard_Widget/build/index.js:1 5692 5744 msgid "Server error in" 5693 5745 msgstr "" 5694 5746 5695 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15696 #: includes/Admin/App/src/utils/api.js:6 15747 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5748 #: includes/Admin/App/src/utils/api.js:63 5697 5749 #: includes/Admin/Dashboard_Widget/build/index.js:1 5698 5750 msgid "Click to copy" 5699 5751 msgstr "" 5700 5752 5701 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15702 #: includes/Admin/App/src/utils/api.js:6 45753 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5754 #: includes/Admin/App/src/utils/api.js:66 5703 5755 #: includes/Admin/Dashboard_Widget/build/index.js:1 5704 5756 msgid "Error copied to clipboard" 5705 5757 msgstr "" 5706 5758 5707 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15759 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5708 5760 #: includes/Admin/App/src/components/Common/ErrorBoundary.jsx:44 5709 5761 msgid "Uh-oh! We stumbled upon an error." 5710 5762 msgstr "" 5711 5763 5712 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15764 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5713 5765 #: includes/Admin/App/src/components/Common/ErrorBoundary.jsx:59 5714 5766 msgid "Copied" 5715 5767 msgstr "" 5716 5768 5717 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15769 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5718 5770 #: includes/Admin/App/src/components/Common/ErrorBoundary.jsx:60 5719 5771 msgid "Copy Error" 5720 5772 msgstr "" 5721 5773 5722 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15774 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5723 5775 #: includes/Admin/App/src/components/Common/ErrorBoundary.jsx:64 5724 5776 msgid "We're sorry for the trouble. Please take a moment to report this issue on the WordPress forums so we can work on fixing it. Here’s how you can report the issue:" 5725 5777 msgstr "" 5726 5778 5727 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15779 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5728 5780 #: includes/Admin/App/src/components/Common/ErrorBoundary.jsx:72 5729 5781 msgid "Copy the error details by clicking the %s button above." 5730 5782 msgstr "" 5731 5783 5732 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15784 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5733 5785 #: includes/Admin/App/src/components/Common/ErrorBoundary.jsx:84 5734 5786 msgid "Navigate to the Support Forum." 5735 5787 msgstr "" 5736 5788 5737 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15789 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5738 5790 #: includes/Admin/App/src/components/Common/ErrorBoundary.jsx:88 5739 5791 msgid "If you haven’t already, log in to your WordPress.org account or create a new account." 5740 5792 msgstr "" 5741 5793 5742 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15794 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5743 5795 #: includes/Admin/App/src/components/Common/ErrorBoundary.jsx:95 5744 5796 msgid "Once logged in, click on %s under the Burst Statistics forum." 5745 5797 msgstr "" 5746 5798 5747 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15799 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5748 5800 #: includes/Admin/App/src/components/Common/ErrorBoundary.jsx:104 5749 5801 msgid "Title: Mention %s along with a brief hint of the error." 5750 5802 msgstr "" 5751 5803 5752 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15804 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5753 5805 #: includes/Admin/App/src/components/Common/ErrorBoundary.jsx:112 5754 5806 msgid "Description: Paste the copied error details and explain what you were doing when the error occurred." 5755 5807 msgstr "" 5756 5808 5757 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15809 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5758 5810 #: includes/Admin/App/src/components/Common/ErrorBoundary.jsx:119 5759 5811 msgid "Click %s to post your topic. Our team will look into the issue and provide assistance." 5760 5812 msgstr "" 5761 5813 5762 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15814 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5763 5815 msgid "Unlock this feature with Pro. Upgrade for more insights and control." 5764 5816 msgstr "" 5765 5817 5766 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15818 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5767 5819 #: includes/Admin/App/src/routes/settings.$settingsId.jsx:13 5768 5820 msgid "Settings section not found" 5769 5821 msgstr "" 5770 5822 5771 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15823 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5772 5824 #: includes/Admin/App/src/routes/settings.$settingsId.jsx:19 5773 5825 msgid "Settings page not found" 5774 5826 msgstr "" 5775 5827 5776 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15828 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5777 5829 msgid "You're enjoying a full-featured trial with <highlight>%d days left.</highlight> It includes premium features from our higher tiers." 5778 5830 msgstr "" 5779 5831 5780 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15832 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5781 5833 msgid "Your trial has ended. Upgrade now to reactivate premium features." 5782 5834 msgstr "" 5783 5835 5784 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15836 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5785 5837 msgid "Your license is <highlight>expiring in %d days.</highlight> Upgrade now to reactivate premium features." 5786 5838 msgstr "" 5787 5839 5788 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15840 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5789 5841 msgid "Your license has expired. Upgrade now to reactivate premium features." 5790 5842 msgstr "" 5791 5843 5792 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15844 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5793 5845 msgid "Activate your license to access premium features." 5794 5846 msgstr "" 5795 5847 5796 #: includes/Admin/App/build/index. d1ae230031b8f54fed6d.js:15848 #: includes/Admin/App/build/index.1a38302286708ded50a6.js:1 5797 5849 msgid "Manage subscription" 5798 5850 msgstr "" -
burst-statistics/trunk/readme.txt
r3402386 r3406692 6 6 License: GPL2 7 7 Requires PHP: 8.0 8 Tested up to: 6. 88 Tested up to: 6.9 9 9 Stable tag: 3.0.2 10 10 … … 98 98 99 99 == Change log == 100 = 3.1.0.3 = 101 * December 1st 102 * Fix: saving settings changes after saving initial changes required a reload. 103 * Performance: Performance improvements by offloading resource greedy processes during tracking to cron in batches 104 * Improvement: User Agent Parser improvements, removing invalid browsers 105 * Fix: dropdown for advanced filters not filtering the list. 106 * Fix: undefined tab caused by incomplete removal of sales menu when no WooCommerce or EDD detected. 107 * Fix: object caching on page counts causing slow update of page counts, props @fveits 108 100 109 = 3.0.2 = 101 * November 25th 102 * Fix: some notices were incorrectly dismissed during validation. 110 * November 25th 2025 111 * Fix: some notices were incorrectly dismissed during validation. 103 112 * Improvement: added automated test for hook goals. 104 113 * Improvement: added automated test for archiving restoration.
Note: See TracChangeset
for help on using the changeset viewer.