Version 5.0.0 beta 8
This commit is contained in:
1 parent
54d5dcd0a0
commit
214f649f1d
483 files changed
+35354
-33568
No files matched your search
+1
-1
@@ -122,7 +122,7 @@ Howler
|
||||
HTMLPurifier
|
||||
Description: Validates and cleans submitted HTML for content
|
||||
Location: system/3rd_party/HTMLPurifier
|
||||
Included version: 4.17.0
|
||||
Included version: 4.18.0
|
||||
Website: http://htmlpurifier.org
|
||||
License: http://www.gnu.org/copyleft/lesser.html
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<javascript app="blog">
|
||||
<file javascript_app="blog" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.manageCategories.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000100"><![CDATA[/**
|
||||
<file javascript_app="blog" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.manageCategories.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -277,7 +277,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="blog" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.view.js" javascript_type="template" javascript_version="5000034" javascript_position="1000050"><![CDATA[/* CLASS LIST TEMPLATES */
|
||||
<file javascript_app="blog" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.view.js" javascript_type="template" javascript_version="5000036" javascript_position="1000050"><![CDATA[/* CLASS LIST TEMPLATES */
|
||||
ips.templates.set('blog.view.addButton', "\
|
||||
<li><button type=\"button\" class=\"ipsButton ipsButton--primary ipsHide\" data-action=\"addNew\">{{#lang}}manage_cats_new_row{{/lang}}</button></li>\
|
||||
");
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="blog" version="5000034">
|
||||
<app key="blog" version="5000036">
|
||||
<word key="__app_blog" js="0">Blogs</word>
|
||||
<word key="frontnavigation_blogs" js="0">Blogs</word>
|
||||
<word key="__indefart_blog_entry_comment" js="0">a comment on a blog entry</word>
|
||||
|
||||
@@ -283,5 +283,7 @@
|
||||
"5000031": "5.0.0 Beta 5",
|
||||
"5000032": "5.0.0 Beta 6",
|
||||
"5000033": "5.0.0 Beta 7",
|
||||
"5000034": "5.0.0 Beta 7"
|
||||
"5000034": "5.0.0 Beta 7",
|
||||
"5000035": "5.0.0 Beta 7",
|
||||
"5000036": "5.0.0 Beta 8"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000035,
|
||||
"name": "5.0.0 Beta 7",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": true,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"categories": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"settings": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"layout_blog_view"
|
||||
],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000036,
|
||||
"name": "5.0.0 Beta 8",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": true,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"categories": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"settings": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"layout_blog_view"
|
||||
],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<javascript app="calendar">
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.main.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000250"><![CDATA[/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.main.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000250"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -110,7 +110,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.monthView.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000250"><![CDATA[/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.monthView.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000250"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -229,7 +229,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.eventList.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000300"><![CDATA[/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.eventList.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000300"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -347,7 +347,7 @@ var PER_PAGE = 16;
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.nearMe.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000300"><![CDATA[/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.nearMe.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000300"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -711,7 +711,7 @@ var PER_PAGE = 16;
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.search.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000300"><![CDATA[/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.search.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000300"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1265,7 +1265,7 @@ var PER_PAGE = 16;
|
||||
});
|
||||
}(jQuery, _));
|
||||
]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.dates.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000100"><![CDATA[/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.dates.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1813,7 +1813,7 @@ var PER_PAGE = 16;
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/venue" javascript_name="ips.venue.main.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000200"><![CDATA[/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/venue" javascript_name="ips.venue.main.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000200"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1920,7 +1920,7 @@ var PER_PAGE = 16;
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.reminderButton.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000150"><![CDATA[/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.reminderButton.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000150"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -2003,7 +2003,7 @@ var PER_PAGE = 16;
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.reminderForm.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000150">/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.reminderForm.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000150">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -2113,7 +2113,7 @@ var PER_PAGE = 16;
|
||||
});
|
||||
}(jQuery, _));
|
||||
</file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="templates" javascript_name="ips.calendar.templates.js" javascript_type="framework" javascript_version="5000034" javascript_position="1000050"><![CDATA[/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="templates" javascript_name="ips.calendar.templates.js" javascript_type="framework" javascript_version="5000036" javascript_position="1000050"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*/
|
||||
@@ -2122,7 +2122,7 @@ var PER_PAGE = 16;
|
||||
ips.templates.set('calendar.reminder.loading', " \
|
||||
<div class='ipsLoading ipsLoading--tiny'></div>\
|
||||
");]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.overview.js" javascript_type="template" javascript_version="5000034" javascript_position="1000050"><![CDATA[ips.templates.set("eventLoading", `
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.overview.js" javascript_type="template" javascript_version="5000036" javascript_position="1000050"><![CDATA[ips.templates.set("eventLoading", `
|
||||
<li class='ipsData__item ipsData__item--loading'>
|
||||
<div class="ipsData__image"></div>
|
||||
<div class="ipsData__content">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="calendar" version="5000034">
|
||||
<app key="calendar" version="5000036">
|
||||
<word key="__app_calendar" js="0">Events</word>
|
||||
<word key="frontnavigation_calendar" js="0">Events</word>
|
||||
<word key="__indefart_calendar_event_comment" js="0">a comment on an event</word>
|
||||
|
||||
@@ -283,5 +283,7 @@
|
||||
"5000031": "5.0.0 Beta 5",
|
||||
"5000032": "5.0.0 Beta 6",
|
||||
"5000033": "5.0.0 Beta 7",
|
||||
"5000034": "5.0.0 Beta 7"
|
||||
"5000034": "5.0.0 Beta 7",
|
||||
"5000035": "5.0.0 Beta 7",
|
||||
"5000036": "5.0.0 Beta 8"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000035,
|
||||
"name": "5.0.0 Beta 7",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000036,
|
||||
"name": "5.0.0 Beta 8",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<javascript app="cms">
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/blocks" javascript_name="ips.blocks.form.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000100"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/blocks" javascript_name="ips.blocks.form.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -67,7 +67,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/blocks" javascript_name="ips.blocks.navigation.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000050"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/blocks" javascript_name="ips.blocks.navigation.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -111,7 +111,7 @@
|
||||
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.download.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000150">/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.download.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000150">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -156,7 +156,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.form.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000150"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.form.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000150"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -232,7 +232,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/external" javascript_name="ips.external.communication.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000150"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/external" javascript_name="ips.external.communication.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000150"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -367,7 +367,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/fields" javascript_name="ips.fields.form.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000200"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/fields" javascript_name="ips.fields.form.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000200"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -457,7 +457,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/media" javascript_name="ips.media.main.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000300"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/media" javascript_name="ips.media.main.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000300"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1096,7 +1096,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.embed.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000250"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.embed.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000250"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1131,7 +1131,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.form.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000250"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.form.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000250"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1253,7 +1253,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.form.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000100"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.form.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1365,7 +1365,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.revisions.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000100">/**
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.revisions.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1420,7 +1420,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.addForm.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000050">/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.addForm.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1470,7 +1470,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.conflict.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000050">/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.conflict.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1542,7 +1542,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileEditor.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000050"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileEditor.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -2503,7 +2503,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileList.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000050"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileList.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -2795,7 +2795,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.main.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000050"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.main.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -2964,7 +2964,7 @@
|
||||
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.variablesDialog.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000050">/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.variablesDialog.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -3009,7 +3009,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.media.js" javascript_type="template" javascript_version="5000034" javascript_position="1000050"><![CDATA[ips.templates.set( 'templates.media.grid', "\
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.media.js" javascript_type="template" javascript_version="5000036" javascript_position="1000050"><![CDATA[ips.templates.set( 'templates.media.grid', "\
|
||||
<ul class='ipsGrid ipsGrid--pages-media'>\
|
||||
{{{contents}}}\
|
||||
</ul>\
|
||||
@@ -3026,7 +3026,7 @@ ips.templates.set( 'templates.media.noSearchResults', "\
|
||||
{{#lang}}mediaNoResults{{/lang}}\
|
||||
</div>\
|
||||
");]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.templates.js" javascript_type="template" javascript_version="5000034" javascript_position="1000050"><![CDATA[/* TEMPLATE EDITOR TEMPLATES */
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.templates.js" javascript_type="template" javascript_version="5000036" javascript_position="1000050"><![CDATA[/* TEMPLATE EDITOR TEMPLATES */
|
||||
/* TEMPLATECEPTION */
|
||||
ips.templates.set('templates.editor.newTab', " \
|
||||
<a href='#' class='ipsTabs__tab' id='ipsTabs_elTemplateEditor_tabbar_tab_{{fileid}}' role='tab' aria-controls='ipsTabs_elTemplateEditor_tabbar_tab_{{fileid}}_panel' aria-selected='false' data-fileid='{{fileid}}' data-location='{{location}}'>{{title}} <span data-action='closeTab'><i class='fa-solid fa-xmark'></i></span></a>\
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="cms" version="5000034">
|
||||
<app key="cms" version="5000036">
|
||||
<word key="__app_cms" js="0">Pages</word>
|
||||
<word key="menutab__cms" js="0">Pages</word>
|
||||
<word key="menutab__cms_icon" js="0">file</word>
|
||||
@@ -253,6 +253,8 @@
|
||||
<word key="templates_block" js="0">Blocks</word>
|
||||
<word key="templates_database" js="0">Database</word>
|
||||
<word key="templates_page" js="0">Pages</word>
|
||||
<word key="templates_css" js="0">CSS</word>
|
||||
<word key="templates_js" js="0">Javascript</word>
|
||||
<word key="cms_no_templates_selected" js="0">You must select templates to export</word>
|
||||
<word key="cms_templates_import_title" js="0">Upload Templates</word>
|
||||
<word key="cms_templates_import" js="0">Upload</word>
|
||||
@@ -363,6 +365,11 @@
|
||||
<word key="database_canonical_flag_1" js="0">All pages should be considered different</word>
|
||||
<word key="database_canonical_flag_1_desc" js="0"><![CDATA[An example is a database where you post a link or video for review, and receive pages of comments and reviews.<br>In this example, the canonical tag will be set to the current page as the page of user generated content is more important.]]></word>
|
||||
<word key="add_word_reason_pages" js="0">Phrases you create here can be used in custom HTML pages and theme templates to provide content in different languages.</word>
|
||||
<word key="cms_import_wrappers" js="0">Page Wrappers</word>
|
||||
<word key="cms_template_no_import" js="0">Do not import</word>
|
||||
<word key="content_import_dev_templates_info" js="0">Select the templates you wish to import, and map it to a template type</word>
|
||||
<word key="content_import_db" js="0">Database Templates</word>
|
||||
<word key="content_import_wrappers" js="0">Custom Wrappers</word>
|
||||
<word key="menu_content_page" js="0">Page</word>
|
||||
<word key="content_page_form_tab__menu" js="0">Menu</word>
|
||||
<word key="page_add_to_menu" js="0">Add to front navigation menu</word>
|
||||
|
||||
@@ -1246,7 +1246,7 @@
|
||||
<template template_group="widgets" template_name="folderNavigationItems" template_data="$items" template_location="front" template_app="cms"><![CDATA[{{foreach $items as $item}}
|
||||
<a href='{$item->url()}'>{$item->_title}</a>
|
||||
{{endforeach}}]]></template>
|
||||
<template template_group="widgets" template_name="navigationLine" template_data="$container, $title=null, $currentContainer=null" template_location="front" template_app="cms"><![CDATA[<details {{if $container->_id == $currentContainer}}open="true"{{endif}} data-container="{$container->_id}">
|
||||
<template template_group="widgets" template_name="navigationLine" template_data="$container, $title=null, $currentContainer=null" template_location="front" template_app="cms"><![CDATA[<details {{if $container->_id == $currentContainer}}open{{endif}} data-container="{$container->_id}">
|
||||
<summary>{{if $title}}{$title}{{else}}{$container->_title}{{endif}}</summary>
|
||||
{{if $container->hasChildren( 'view', null, false )}}
|
||||
{{foreach $container->children( 'view', null, false ) as $child}}
|
||||
|
||||
@@ -601,5 +601,7 @@
|
||||
"5000031": "5.0.0 Beta 5",
|
||||
"5000032": "5.0.0 Beta 6",
|
||||
"5000033": "5.0.0 Beta 7",
|
||||
"5000034": "5.0.0 Beta 7"
|
||||
"5000034": "5.0.0 Beta 7",
|
||||
"5000035": "5.0.0 Beta 7",
|
||||
"5000036": "5.0.0 Beta 8"
|
||||
}
|
||||
@@ -14,6 +14,7 @@ namespace IPS\cms\modules\admin\pages;
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
|
||||
use Diff;
|
||||
use DirectoryIterator;
|
||||
use DomainException;
|
||||
use Exception;
|
||||
use IPS\Application;
|
||||
@@ -21,12 +22,12 @@ use IPS\cms\Blocks\Block;
|
||||
use IPS\cms\Databases;
|
||||
use IPS\cms\Templates as TemplatesClass;
|
||||
use IPS\cms\Templates\Container;
|
||||
use IPS\Data\Cache;
|
||||
use IPS\Data\Store;
|
||||
use IPS\Db;
|
||||
use IPS\Dispatcher;
|
||||
use IPS\Dispatcher\Controller;
|
||||
use IPS\Helpers\Form;
|
||||
use IPS\Helpers\Form\CheckboxSet;
|
||||
use IPS\Helpers\Form\Node;
|
||||
use IPS\Helpers\Form\Radio;
|
||||
use IPS\Helpers\Form\Select;
|
||||
@@ -50,8 +51,10 @@ use function count;
|
||||
use function defined;
|
||||
use function in_array;
|
||||
use function mb_substr;
|
||||
use function str_replace;
|
||||
use function strip_tags;
|
||||
use function substr;
|
||||
use function ucwords;
|
||||
use const IPS\TEMP_DIRECTORY;
|
||||
use const IPS\ROOT_PATH;
|
||||
|
||||
@@ -89,12 +92,104 @@ class templates extends Controller
|
||||
*/
|
||||
public function importInDev() : void
|
||||
{
|
||||
Session::i()->csrfCheck();
|
||||
|
||||
\IPS\cms\Theme::importFromFiles('database');
|
||||
\IPS\cms\Theme::importFromFiles('page');
|
||||
/* Get master keys for mapping */
|
||||
$groups = [
|
||||
'' => 'cms_template_no_import'
|
||||
];
|
||||
foreach( Databases::$templateGroups as $key => $group )
|
||||
{
|
||||
$groups[ $key ] = Member::loggedIn()->language()->addToStack( 'cms_new_db_template_group_' . $key );
|
||||
}
|
||||
|
||||
Output::i()->redirect( Url::internal( 'app=cms&module=pages&controller=templates' ), 'completed' );
|
||||
/* Build a list of all custom directories */
|
||||
$masterTemplates = iterator_to_array(
|
||||
Db::i()->select( 'template_group', 'cms_templates', [ 'template_location=? and template_master=?', 'database', 1 ] )
|
||||
);
|
||||
$databaseTemplates = [];
|
||||
foreach( new DirectoryIterator( ROOT_PATH . "/applications/cms/dev/html/database" ) as $file )
|
||||
{
|
||||
if( $file->isDot() )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if( $file->isDir() and !in_array( $file->getFilename(), $masterTemplates ) )
|
||||
{
|
||||
$databaseTemplates[] = $file->getFilename();
|
||||
}
|
||||
}
|
||||
|
||||
$masterWrappers = iterator_to_array(
|
||||
Db::i()->select( 'template_title', 'cms_templates', [ 'template_location=? and template_master=? and template_group=?', 'page', 1, 'custom_wrappers' ] )
|
||||
);
|
||||
$customWrappers = [];
|
||||
foreach( new DirectoryIterator( ROOT_PATH . "/applications/cms/dev/html/page/custom_wrappers" ) as $file )
|
||||
{
|
||||
if( $file->isDir() or $file->isDot() or mb_substr( $file->getFilename(), 0, 1 ) === '.' or $file->getFilename() == 'index.html' )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$extension = strtolower( mb_substr( $file->getFilename(), mb_strrpos( $file->getFilename(), '.' ) + 1 ) );
|
||||
if( $extension == 'phtml' and !in_array( mb_substr( $file->getFilename(), 0, mb_strrpos( $file->getFilename(), '.' ) ), $masterWrappers ) )
|
||||
{
|
||||
$customWrappers[ $file->getFilename() ] = $file->getFilename();
|
||||
}
|
||||
}
|
||||
|
||||
if( !count( $databaseTemplates ) and !count( $customWrappers ) )
|
||||
{
|
||||
Output::i()->error( 'err_no_dev_templates', '3T285/4' );
|
||||
}
|
||||
|
||||
$form = new Form( 'form', 'continue' );
|
||||
if( count( $databaseTemplates ) )
|
||||
{
|
||||
$form->addHeader( 'content_import_db' );
|
||||
$form->addMessage( 'content_import_dev_templates_info', 'ipsMessage ipsMessage--info' );
|
||||
foreach( $databaseTemplates as $template )
|
||||
{
|
||||
$key = str_replace( ' ', '_', $template );
|
||||
$field = new Select( $key, null, false, [
|
||||
'options' => $groups
|
||||
] );
|
||||
$field->label = ucwords( str_replace( '_', ' ', $template ) );
|
||||
$form->add( $field );
|
||||
}
|
||||
}
|
||||
|
||||
if( count( $customWrappers ) )
|
||||
{
|
||||
$form->addHeader( 'content_import_wrappers' );
|
||||
$form->add( new CheckboxSet( 'cms_import_wrappers', null, false, [
|
||||
'options' => $customWrappers,
|
||||
'noDefault' => true
|
||||
] ) );
|
||||
}
|
||||
|
||||
if( $values = $form->values() )
|
||||
{
|
||||
foreach( $databaseTemplates as $templateGroup )
|
||||
{
|
||||
$key = str_replace( ' ', '_', $templateGroup );
|
||||
if( isset( $values[ $key ] ) and $values[ $key ] )
|
||||
{
|
||||
\IPS\cms\Theme::importDatabaseTemplate( $templateGroup, $values[ $key ] );
|
||||
}
|
||||
}
|
||||
|
||||
if( isset( $values['cms_import_wrappers'] ) )
|
||||
{
|
||||
foreach( $values['cms_import_wrappers'] as $wrapperName )
|
||||
{
|
||||
\IPS\cms\Theme::importPageWrapper( $wrapperName );
|
||||
}
|
||||
}
|
||||
|
||||
Output::i()->redirect( Url::internal( 'app=cms&module=pages&controller=templates' ), 'completed' );
|
||||
}
|
||||
|
||||
Output::i()->output = (string) $form;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -177,7 +272,7 @@ class templates extends Controller
|
||||
$conflicts = array();
|
||||
|
||||
/* If this is part of plugin/app installation, set relevant form data */
|
||||
if( Request::i()->application OR Request::i()->plugin )
|
||||
if( Request::i()->application )
|
||||
{
|
||||
if( Request::i()->application )
|
||||
{
|
||||
@@ -304,7 +399,7 @@ class templates extends Controller
|
||||
Output::i()->jsFiles = array_merge( Output::i()->jsFiles, Output::i()->js( 'codemirror/codemirror.js', 'core', 'interface' ) );
|
||||
Output::i()->cssFiles = array_merge( Output::i()->cssFiles, Theme::i()->css( 'codemirror/codemirror.css', 'core', 'interface' ) );
|
||||
Output::i()->cssFiles = array_merge( Output::i()->cssFiles, Theme::i()->css( 'customization/themes.css', 'core', 'admin' ) );
|
||||
Output::i()->jsFiles = array_merge( Output::i()->jsFiles, Output::i()->js( 'admin_templates.js', 'core', 'admin' ) );
|
||||
Output::i()->jsFiles = array_merge( Output::i()->jsFiles, Output::i()->js( 'admin_templates.js', 'cms', 'admin' ) );
|
||||
|
||||
Output::i()->output = $form->customTemplate( array( Theme::i()->getTemplate( 'templates', 'cms' ), 'templateConflict' ), $conflicts );
|
||||
}
|
||||
@@ -427,8 +522,8 @@ class templates extends Controller
|
||||
Output::i()->sidebar['actions']['add'] = array(
|
||||
'icon' => 'cog',
|
||||
'title' => 'content_import_dev_templates',
|
||||
'link' => Url::internal( "app=cms&module=pages&controller=templates&do=importInDev" )->csrf(),
|
||||
'data' => array()
|
||||
'link' => Url::internal( "app=cms&module=pages&controller=templates&do=importInDev" ),
|
||||
'data' => [ 'ipsDialog' => '', 'ipsDialog-title' => Member::loggedIn()->language()->addToStack( 'content_import_dev_templates' ) ]
|
||||
);
|
||||
}
|
||||
|
||||
@@ -449,7 +544,7 @@ class templates extends Controller
|
||||
Output::i()->jsFiles = array_merge( Output::i()->jsFiles, Output::i()->js( 'codemirror/codemirror.js', 'core', 'interface' ) );
|
||||
Output::i()->cssFiles = array_merge( Output::i()->cssFiles, Theme::i()->css( 'codemirror/codemirror.css', 'core', 'interface' ) );
|
||||
Output::i()->cssFiles = array_merge( Output::i()->cssFiles, Theme::i()->css( 'templates/templates.css', 'cms', 'admin' ) );
|
||||
Output::i()->jsFiles = array_merge( Output::i()->jsFiles, Output::i()->js( 'admin_templates.js', 'cms' ) );
|
||||
Output::i()->jsFiles = array_merge( Output::i()->jsFiles, Output::i()->js( 'admin_templates.js', 'cms', 'admin' ) );
|
||||
|
||||
Output::i()->output = Theme::i()->getTemplate( 'templates' )->templates( $templates, $current, $request );
|
||||
}
|
||||
@@ -767,8 +862,8 @@ class templates extends Controller
|
||||
/* Page, css, js */
|
||||
if ( $type == 'js' or $type == 'css' )
|
||||
{
|
||||
$fileExt = ( $type == 'js' ) ? '.js' : ( $type == 'css' ? '.css' : NULL );
|
||||
if ( $fileExt AND ! preg_match( '#' . preg_quote( $fileExt, '#' ) . '$#', $values['template_title'] ) )
|
||||
$fileExt = ( $type == 'js' ) ? '.js' : '.css';
|
||||
if ( ! preg_match( '#' . preg_quote( $fileExt, '#' ) . '$#', $values['template_title'] ) )
|
||||
{
|
||||
$values['template_title'] .= $fileExt;
|
||||
}
|
||||
@@ -1139,7 +1234,7 @@ class templates extends Controller
|
||||
$displaySettings = $db->display_settings;
|
||||
foreach( TemplatesClass::$databaseDefaults as $field => $template )
|
||||
{
|
||||
if( isset( $displaySettings[ $field ] ) and $displaySettings[ $field ]['template'] == Request::i()->group )
|
||||
if( isset( $displaySettings[ $field ]['template'] ) and $displaySettings[ $field ]['template'] == Request::i()->group )
|
||||
{
|
||||
switch( $field )
|
||||
{
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000035,
|
||||
"name": "5.0.0 Beta 7",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000036,
|
||||
"name": "5.0.0 Beta 8",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": true,
|
||||
"theme": true,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"normal": {
|
||||
"added": [
|
||||
"templates_css",
|
||||
"templates_js",
|
||||
"cms_import_wrappers",
|
||||
"cms_template_no_import",
|
||||
"content_import_dev_templates_info",
|
||||
"content_import_db",
|
||||
"content_import_wrappers"
|
||||
],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"js": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"html": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"front\/widgets\/navigationLine"
|
||||
],
|
||||
"removed": []
|
||||
},
|
||||
"css": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"resources": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -40,11 +40,14 @@ use IPS\Patterns\ActiveRecord;
|
||||
use IPS\Request;
|
||||
use IPS\Theme;
|
||||
use IPS\Widget;
|
||||
use IPS\Widget\Polymorphic;
|
||||
use LogicException;
|
||||
use OutOfRangeException;
|
||||
use ParseError;
|
||||
use function class_implements;
|
||||
use function defined;
|
||||
use function func_get_args;
|
||||
use function get_class;
|
||||
use function in_array;
|
||||
use function intval;
|
||||
use function is_array;
|
||||
@@ -628,9 +631,17 @@ EOF;
|
||||
{
|
||||
$templates = array( '_default_' => Member::loggedIn()->language()->addToStack('content_block_template_use_default') );
|
||||
|
||||
$keys =[ $this->widget()->key ];
|
||||
if( in_array( Polymorphic::class, class_implements( $this->widget() ) ) )
|
||||
{
|
||||
/* @var Polymorphic $widgetClass */
|
||||
$widgetClass = get_class( $this->widget() );
|
||||
$keys[] = $widgetClass::getBaseKey();
|
||||
}
|
||||
|
||||
foreach( Templates::getTemplates( Templates::RETURN_BLOCK ) as $id => $obj )
|
||||
{
|
||||
if ( $obj->group == $this->widget()->key )
|
||||
if( in_array( $obj->group, $keys ) )
|
||||
{
|
||||
$templates[ $obj->key ] = $obj->title;
|
||||
}
|
||||
|
||||
@@ -370,7 +370,8 @@ class Records extends Item implements
|
||||
return Topic::getCommentsPerPage();
|
||||
}
|
||||
|
||||
return static::database()->field_perpage;
|
||||
$databaseSetting = static::database()->comments_perpage;
|
||||
return ( is_int( $databaseSetting ) and $databaseSetting > 0 ) ? $databaseSetting : static::database()->field_perpage;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -543,12 +544,13 @@ class Records extends Item implements
|
||||
* Indefinite Article
|
||||
*
|
||||
* @param Lang|null $lang The language to use, or NULL for the language of the currently logged in member
|
||||
* @param array $options
|
||||
* @return string
|
||||
*/
|
||||
public function indefiniteArticle( ?Lang $lang = NULL ): string
|
||||
public function indefiniteArticle( ?Lang $lang = NULL, array $options=array() ): string
|
||||
{
|
||||
$lang = $lang ?: Member::loggedIn()->language();
|
||||
return $lang->addToStack( 'content_db_lang_ia_' . static::$customDatabaseId, FALSE );
|
||||
return $lang->addToStack( 'content_db_lang_ia_' . static::$customDatabaseId, FALSE, $options );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -556,12 +558,13 @@ class Records extends Item implements
|
||||
*
|
||||
* @param array|null $containerData Container data
|
||||
* @param Lang|null $lang The language to use, or NULL for the language of the currently logged in member
|
||||
* @param array $options
|
||||
* @return string
|
||||
*/
|
||||
public static function _indefiniteArticle( ?array $containerData = NULL, ?Lang $lang = NULL ): string
|
||||
public static function _indefiniteArticle( ?array $containerData = NULL, ?Lang $lang = NULL, array $options=array() ): string
|
||||
{
|
||||
$lang = $lang ?: Member::loggedIn()->language();
|
||||
return $lang->addToStack( 'content_db_lang_ia_' . static::$customDatabaseId, FALSE );
|
||||
return $lang->addToStack( 'content_db_lang_ia_' . static::$customDatabaseId, FALSE, $options );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2768,47 +2771,40 @@ class Records extends Item implements
|
||||
{
|
||||
if ( $this->recordCommentPageCount === NULL or $recache === TRUE )
|
||||
{
|
||||
/* If the database has a custom per page set, use that. */
|
||||
if ( static::database()->comments_perpage )
|
||||
if ( $this->useForumComments() )
|
||||
{
|
||||
$this->recordCommentPageCount = parent::commentPageCount( $recache );
|
||||
try
|
||||
{
|
||||
$topic = $this->topic();
|
||||
|
||||
if ( $topic !== null )
|
||||
{
|
||||
/* Store the real count so it is not accidentally written as the actual value */
|
||||
$realCount = $topic->posts;
|
||||
|
||||
/* If we are NOT featuring the first post in the topics, then we need to
|
||||
compensate for the first post (which is actually the record) */
|
||||
if ( !Member::loggedIn()->getLayoutValue( 'forum_topic_view_firstpost' ) )
|
||||
{
|
||||
$topic->posts = ( $topic->posts - 1 ) > 0 ? $topic->posts - 1 : 0;
|
||||
}
|
||||
|
||||
/* Get our page count considering all of that */
|
||||
$this->recordCommentPageCount = $topic->commentPageCount();
|
||||
|
||||
/* Reset the count back to the real count */
|
||||
$topic->posts = $realCount;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->recordCommentPageCount = 1;
|
||||
}
|
||||
}
|
||||
catch ( Exception $e ) {}
|
||||
}
|
||||
/* Otherwise do the normal stuff */
|
||||
else
|
||||
{
|
||||
if ( $this->useForumComments() )
|
||||
{
|
||||
try
|
||||
{
|
||||
$topic = $this->topic();
|
||||
|
||||
if ( $topic !== null )
|
||||
{
|
||||
/* Store the real count so it is not accidentally written as the actual value */
|
||||
$realCount = $topic->posts;
|
||||
|
||||
/* If we are NOT featuring the first post in the topics, then we need to
|
||||
compensate for the first post (which is actually the record) */
|
||||
if ( !Member::loggedIn()->getLayoutValue( 'forum_topic_view_firstpost' ) )
|
||||
{
|
||||
$topic->posts = ( $topic->posts - 1 ) > 0 ? $topic->posts - 1 : 0;
|
||||
}
|
||||
|
||||
/* Get our page count considering all of that */
|
||||
$this->recordCommentPageCount = $topic->commentPageCount();
|
||||
|
||||
/* Reset the count back to the real count */
|
||||
$topic->posts = $realCount;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->recordCommentPageCount = 1;
|
||||
}
|
||||
}
|
||||
catch ( Exception $e )
|
||||
{
|
||||
}
|
||||
}
|
||||
$this->recordCommentPageCount = parent::commentPageCount( $recache );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3846,7 +3842,7 @@ class Records extends Item implements
|
||||
{
|
||||
/* @var Fields $fieldClass */
|
||||
$fieldClass = 'IPS\cms\Fields' . static::$customDatabaseId;
|
||||
$photo->editable = $fieldClass::fixedFieldFormShow( 'record_image' );
|
||||
$photo->editable = ( $this->canEdit() and $fieldClass::fixedFieldFormShow( 'record_image' ) );
|
||||
}
|
||||
|
||||
return $photo;
|
||||
|
||||
@@ -610,7 +610,7 @@ class Templates extends ActiveRecord
|
||||
*/
|
||||
public static function exportForm( bool $appPluginBuild=FALSE, array $preSelected=array() ): Form
|
||||
{
|
||||
$form = new Form( 'form', $appPluginBuild ? 'save' : 'next' );
|
||||
$form = new Form( 'form', $appPluginBuild ? 'save' : 'download' );
|
||||
if( !$appPluginBuild )
|
||||
{
|
||||
$form->addMessage( 'cms_templates_export_description', 'ipsMessage ipsMessage_information' );
|
||||
@@ -623,21 +623,17 @@ class Templates extends ActiveRecord
|
||||
|
||||
$templates = [];
|
||||
|
||||
foreach(Templates::getTemplates( Templates::RETURN_DATABASE_ONLY + Templates::RETURN_ALL ) as $template )
|
||||
foreach(Templates::getTemplates( Templates::RETURN_DATABASE_AND_IN_DEV + Templates::RETURN_ALL ) as $template )
|
||||
{
|
||||
$title = Templates::readableGroupName( $template->group );
|
||||
|
||||
if ( $template->location === 'database' )
|
||||
if( $template->location == 'database' )
|
||||
{
|
||||
$templates['database'][ $template->group ] = $title;
|
||||
}
|
||||
else if ( $template->location === 'block' )
|
||||
else
|
||||
{
|
||||
$templates['block'][ $template->key ] = $title . ' > ' . $template->title;
|
||||
}
|
||||
else if ( $template->location === 'page' )
|
||||
{
|
||||
$templates['page'][ $template->key ] = $title . ' > ' . $template->title;
|
||||
$templates[ $template->location ][ $template->key ] = $title . ' > ' . $template->title;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -737,7 +733,10 @@ class Templates extends ActiveRecord
|
||||
if ( !in_array( substr( $k, 9 ), array( 'content', 'params' ) ) )
|
||||
{
|
||||
$xml->startAttribute( $k );
|
||||
$xml->text( $v );
|
||||
if( !empty( $v ) )
|
||||
{
|
||||
$xml->text( $v );
|
||||
}
|
||||
$xml->endAttribute();
|
||||
}
|
||||
}
|
||||
@@ -857,7 +856,7 @@ class Templates extends ActiveRecord
|
||||
|
||||
$conflictKey = md5( microtime() );
|
||||
|
||||
$templates = Theme::i()->getAllTemplates( 'cms', NULL, NULL, \IPS\cms\Theme::RETURN_DATABASE_ONLY + Theme::RETURN_ALL );
|
||||
$templates = \IPS\cms\Theme::i()->getAllTemplates( 'cms', [ 'database', 'page', 'css', 'js' ], [], \IPS\cms\Theme::RETURN_DATABASE_ONLY + Theme::RETURN_ALL );
|
||||
|
||||
if ( ! @$xml->read() )
|
||||
{
|
||||
@@ -866,7 +865,7 @@ class Templates extends ActiveRecord
|
||||
$xml->read();
|
||||
while ( $xml->read() )
|
||||
{
|
||||
if ( $xml->name === 'template' )
|
||||
if ( $xml->name == 'template' )
|
||||
{
|
||||
$node = new SimpleXMLElement( $xml->readOuterXML() );
|
||||
$attrs = array();
|
||||
@@ -883,7 +882,6 @@ class Templates extends ActiveRecord
|
||||
$attrs[ $k ] = ( $tryJson ) ?: (string) $v;
|
||||
}
|
||||
|
||||
|
||||
if ( isset( $attrs['template_title'] ) and isset( $attrs['template_location'] ) and isset( $attrs['template_group'] ) )
|
||||
{
|
||||
/* Got this template? */
|
||||
|
||||
@@ -213,6 +213,117 @@ class Theme extends SystemTheme
|
||||
return $seen;
|
||||
}
|
||||
|
||||
/**
|
||||
* Import database templates from the dev directory
|
||||
*
|
||||
* @param string $directoryName
|
||||
* @param string $templateType
|
||||
* @return void
|
||||
*/
|
||||
public static function importDatabaseTemplate( string $directoryName, string $templateType ) : void
|
||||
{
|
||||
$directory = ROOT_PATH . "/applications/cms/dev/html/database/" . $directoryName;
|
||||
if( !file_exists( $directory ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
/* Clear out any existing versions */
|
||||
Db::i()->delete( 'cms_templates', [ 'template_master=? and template_group=? and template_location=? and template_original_group=?', 0, $directoryName, 'database', $templateType ] );
|
||||
|
||||
foreach( new DirectoryIterator( $directory ) as $file )
|
||||
{
|
||||
if( $file->isDot() or $file->isDir() or $file->getFilename() == 'index.html' )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$html = file_get_contents( $directory . '/' . $file->getFilename() );
|
||||
|
||||
/* Parse the header tag */
|
||||
preg_match( '/^<ips:template parameters="(.+?)?"([^>]+?)>(\r\n?|\n)/', $html, $params );
|
||||
|
||||
/* Strip it */
|
||||
$html = ( isset($params[0]) ) ? str_replace( $params[0], '', $html ) : $html;
|
||||
$title = str_replace( '.phtml', '', $file->getFilename() );
|
||||
|
||||
/* remove compiled version */
|
||||
$key = strtolower( 'template_cms_' .static::makeBuiltTemplateLookupHash( 'cms', 'database', $directoryName ) . '_' . static::cleanGroupName( $directoryName ) );
|
||||
|
||||
if ( isset( Store::i()->$key ) )
|
||||
{
|
||||
unset(Store::i()->$key);
|
||||
}
|
||||
|
||||
Db::i()->insert( 'cms_templates', array(
|
||||
'template_key' => str_replace( ' ', '_', 'database_' . $directoryName . '_' . $title ),
|
||||
'template_title' => $title,
|
||||
'template_desc' => '',
|
||||
'template_content' => $html,
|
||||
'template_location' => 'database',
|
||||
'template_group' => $directoryName,
|
||||
'template_original_group' => $templateType,
|
||||
'template_container' => 0,
|
||||
'template_params' => ( isset($params[1]) ) ? $params[1] : '',
|
||||
'template_master' => 0,
|
||||
'template_user_created' => 0,
|
||||
'template_type' => 'template'
|
||||
) );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Import a custom page wrapper
|
||||
*
|
||||
* @param string $wrapperName
|
||||
* @return void
|
||||
*/
|
||||
public static function importPageWrapper( string $wrapperName ) : void
|
||||
{
|
||||
$file = ROOT_PATH . "/applications/cms/dev/html/page/custom_wrappers/" . $wrapperName;
|
||||
if( !file_exists( $file ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
$wrapperName = str_replace( '.phtml', '', $wrapperName );
|
||||
|
||||
/* Delete the original */
|
||||
Db::i()->delete( 'cms_templates', [ 'template_location=? and template_title=? and template_group=? and template_master=?', 'page', $wrapperName, 'custom_wrappers', 0 ] );
|
||||
|
||||
$html = file_get_contents( $file );
|
||||
|
||||
/* Parse the header tag */
|
||||
preg_match( '/^<ips:template parameters="(.+?)?"([^>]+?)>(\r\n?|\n)/', $html, $params );
|
||||
|
||||
/* Strip it */
|
||||
$html = ( isset($params[0]) ) ? str_replace( $params[0], '', $html ) : $html;
|
||||
|
||||
/* remove compiled version */
|
||||
$key = strtolower( 'template_cms_' .static::makeBuiltTemplateLookupHash( 'cms', 'page', 'custom_wrappers' ) . '_' . static::cleanGroupName( $wrapperName ) );
|
||||
|
||||
if ( isset( Store::i()->$key ) )
|
||||
{
|
||||
unset(Store::i()->$key);
|
||||
}
|
||||
|
||||
Db::i()->insert( 'cms_templates', array(
|
||||
'template_key' => 'page_custom_wrappers_' . $wrapperName,
|
||||
'template_title' => $wrapperName,
|
||||
'template_desc' => '',
|
||||
'template_content' => $html,
|
||||
'template_location' => 'page',
|
||||
'template_group' => 'custom_wrappers',
|
||||
'template_original_group' => null,
|
||||
'template_container' => 0,
|
||||
'template_params' => ( isset($params[1]) ) ? $params[1] : '',
|
||||
'template_master' => 0,
|
||||
'template_user_created' => 0,
|
||||
'template_type' => 'template'
|
||||
) );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Write a template to disk
|
||||
*
|
||||
|
||||
@@ -43,6 +43,11 @@ class DatabaseNavigation extends PermissionCache
|
||||
*/
|
||||
public string $app = 'cms';
|
||||
|
||||
/**
|
||||
* @brief Prevent caching for this block
|
||||
*/
|
||||
public bool $neverCache = true;
|
||||
|
||||
/**
|
||||
* Initialise this widget
|
||||
*
|
||||
|
||||
@@ -368,4 +368,20 @@ implements Polymorphic
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a list of all implemented keys. When the class name is dynamically generated,
|
||||
* we don't have an easy way to determine if we should actually load the class or not.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function getWidgetKeys(): array
|
||||
{
|
||||
$return = [];
|
||||
foreach( Databases::databases() as $db )
|
||||
{
|
||||
$return[] = 'RecordFeed' . $db->_id;
|
||||
}
|
||||
return $return;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<javascript app="convert">
|
||||
<file javascript_app="convert" javascript_location="admin" javascript_path="controllers/convert" javascript_name="ips.convert.menu.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000100">/**
|
||||
<file javascript_app="convert" javascript_location="admin" javascript_path="controllers/convert" javascript_name="ips.convert.menu.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -45,7 +45,7 @@
|
||||
}
|
||||
} );
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="convert" javascript_location="admin" javascript_path="controllers/forms" javascript_name="ips.forms.reactionmapper.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000050">/**
|
||||
<file javascript_app="convert" javascript_location="admin" javascript_path="controllers/forms" javascript_name="ips.forms.reactionmapper.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="convert" version="5000034">
|
||||
<app key="convert" version="5000036">
|
||||
<word key="__app_convert" js="0">Converter</word>
|
||||
<word key="menu__convert_manage" js="0">Conversions</word>
|
||||
<word key="menu__convert_manage_manage_start" js="0">Start New Conversion</word>
|
||||
|
||||
@@ -283,5 +283,7 @@
|
||||
"5000031": "5.0.0 Beta 5",
|
||||
"5000032": "5.0.0 Beta 6",
|
||||
"5000033": "5.0.0 Beta 7",
|
||||
"5000034": "5.0.0 Beta 7"
|
||||
"5000034": "5.0.0 Beta 7",
|
||||
"5000035": "5.0.0 Beta 7",
|
||||
"5000036": "5.0.0 Beta 8"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000035,
|
||||
"name": "5.0.0 Beta 7",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000036,
|
||||
"name": "5.0.0 Beta 8",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -133,7 +133,7 @@ class Login extends Handler
|
||||
/**
|
||||
* @brief Convert app cache
|
||||
*/
|
||||
protected static ?ActiveRecordIterator $_apps;
|
||||
protected static ?ActiveRecordIterator $_apps = null;
|
||||
|
||||
/**
|
||||
* Authenticate
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
"isDynamicEntry": true
|
||||
},
|
||||
"src/main.jsx": {
|
||||
"file": "assets/main-JrAf8-U8.js",
|
||||
"file": "assets/main-0gprcJBY.js",
|
||||
"name": "main",
|
||||
"src": "src/main.jsx",
|
||||
"isEntry": true,
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="core" version="5000034">
|
||||
<app key="core" version="5000036">
|
||||
<word key="__app_core" js="0">System</word>
|
||||
<word key="__indefart_personal_conversation" js="0">a personal conversation</word>
|
||||
<word key="__indefart_personal_conversation_message" js="0">a message in a personal conversation</word>
|
||||
@@ -1044,6 +1044,7 @@
|
||||
<word key="developer_mode" js="0">Developer center</word>
|
||||
<word key="admincp_menu" js="0">AdminCP Menu</word>
|
||||
<word key="search_admincp" js="0">Search for settings, members, etc.</word>
|
||||
<word key="acp_close_search" js="0">Close search menu</word>
|
||||
<word key="admincp_home" js="0">Home</word>
|
||||
<word key="jump_to_content" js="0">Jump to content</word>
|
||||
<word key="not_mobile" js="0">Not mobile optimized</word>
|
||||
@@ -9871,6 +9872,18 @@ In PHP8, altering overloaded method signatures within a subclass results in a fa
|
||||
<word key="devscan__strings_notifications" js="0">Notifications</word>
|
||||
<word key="devscan__strings_emails" js="0">Email Templates</word>
|
||||
<word key="devscan__strings_filestorage" js="0">FileStorage Extensions</word>
|
||||
<word key="devscan__strings_moderatorpermission" js="0">ModeratorPermission Extensions</word>
|
||||
<word key="devscan__strings_achievementaction" js="0">AchievementAction Extensions</word>
|
||||
<word key="devscan__strings_adminnotifications" js="0">AdminNotifications Extensions</word>
|
||||
<word key="devscan__strings_communityenhancements" js="0">CommunityEnhancements Extensions</word>
|
||||
<word key="devscan__strings_dashboard" js="0">Dashboard Extensions</word>
|
||||
<word key="devscan__strings_editorlocations" js="0">EditorLocations Extensions</word>
|
||||
<word key="devscan__strings_editormedia" js="0">EditorMedia Extensions</word>
|
||||
<word key="devscan__strings_groupform" js="0">GroupForm Extensions</word>
|
||||
<word key="devscan__strings_ipaddresses" js="0">IpAddresses Extensions</word>
|
||||
<word key="devscan__strings_livesearch" js="0">LiveSearch Extensions</word>
|
||||
<word key="devscan__strings_memberacpprofiletabs" js="0">MemberACPProfileTabs Extensions</word>
|
||||
<word key="devscan__strings_mfaarea" js="0">MFAArea Extensions</word>
|
||||
<word key="devscan__missing_frontnav" js="0">Your application has front-end modules but no FrontNavigation extension.</word>
|
||||
<word key="devscan__missing_furls" js="0">Your application has front-end modules but no FURLs have been defined.</word>
|
||||
<word key="devscan__missing_permissions" js="0">%s uses Node Permissions but is not included in a Permissions extension.</word>
|
||||
@@ -11513,6 +11526,7 @@ In PHP8, altering overloaded method signatures within a subclass results in a fa
|
||||
<word key="tags_optional" js="1">Choose Tag(s)</word>
|
||||
<word key="referred_by_button" js="1">Referred by</word>
|
||||
<word key="core_comment_share_copy_prompt" js="1">Copy Link to Share</word>
|
||||
<word key="form_color_datatransfer_fail" js="1">Could not paste or drop rich content into the color input field.</word>
|
||||
<word key="delete_confirm" js="1">Are you sure you want to delete?</word>
|
||||
<word key="delete_confirm_many" js="1">Are you sure you want to delete {# [1:item][?:items]}?</word>
|
||||
<word key="member_delete_confirm" js="1">Warning! Proceed with caution!</word>
|
||||
|
||||
+483
-379
File diff suppressed because it is too large.
Load diff
@@ -283,5 +283,7 @@
|
||||
"5000031": "5.0.0 Beta 5",
|
||||
"5000032": "5.0.0 Beta 6",
|
||||
"5000033": "5.0.0 Beta 7",
|
||||
"5000034": "5.0.0 Beta 7"
|
||||
"5000034": "5.0.0 Beta 7",
|
||||
"5000035": "5.0.0 Beta 7",
|
||||
"5000036": "5.0.0 Beta 8"
|
||||
}
|
||||
@@ -14,6 +14,7 @@ namespace IPS\core\extensions\core\CommunityEnhancements;
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
|
||||
use DomainException;
|
||||
use InvalidArgumentException;
|
||||
use IPS\Extensions\CommunityEnhancementsAbstract;
|
||||
use IPS\Helpers\Form;
|
||||
use IPS\Helpers\Form\Codemirror;
|
||||
@@ -75,20 +76,19 @@ class GoogleAnalytics extends CommunityEnhancementsAbstract
|
||||
*/
|
||||
public function edit() : void
|
||||
{
|
||||
|
||||
$validation = function( $val ) {
|
||||
if ( $val and !Request::i()->ga_code )
|
||||
{
|
||||
throw new DomainException('ga_code_required');
|
||||
}
|
||||
};
|
||||
|
||||
$form = new Form;
|
||||
|
||||
$form->add( new YesNo( 'ga_enabled', Settings::i()->ga_enabled, FALSE, array(), $validation ) );
|
||||
$form->add( new Codemirror( 'ga_code', Settings::i()->ga_code, FALSE, array( 'height' => 150, 'codeModeAllowedLanguages' => [ 'xml' ] ), NULL, NULL, NULL, 'ga_code' ) );
|
||||
$form->add( new YesNo( 'ga_enabled', Settings::i()->ga_enabled, FALSE, array(
|
||||
'togglesOn' => [ 'ga_code' ]
|
||||
) ) );
|
||||
$form->add( new Codemirror( 'ga_code', Settings::i()->ga_code, null, array( 'height' => 150, 'codeModeAllowedLanguages' => [ 'xml' ] ), function( $val ){
|
||||
if( empty( $val ) and Request::i()->ga_enabled_checkbox )
|
||||
{
|
||||
throw new InvalidArgumentException('form_required');
|
||||
}
|
||||
}, NULL, NULL, 'ga_code' ) );
|
||||
|
||||
if ( $form->values() )
|
||||
if( $form->values() )
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
@@ -15,9 +15,11 @@ namespace IPS\core\extensions\core\Queue;
|
||||
use Exception;
|
||||
use IPS\Application;
|
||||
use IPS\Data\Store;
|
||||
use IPS\Db;
|
||||
use IPS\Extensions\QueueAbstract;
|
||||
use IPS\Log;
|
||||
use IPS\Member;
|
||||
use IPS\Patterns\ActiveRecord;
|
||||
use IPS\Patterns\ActiveRecordIterator;
|
||||
use IPS\Text\Parser;
|
||||
use OutOfRangeException;
|
||||
@@ -25,6 +27,7 @@ use Throwable;
|
||||
use function defined;
|
||||
use function is_array;
|
||||
use const IPS\REBUILD_NORMAL;
|
||||
use const IPS\UPGRADE_LARGE_TABLE_SIZE;
|
||||
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
@@ -54,18 +57,11 @@ class RebuildLazyLoad extends QueueAbstract
|
||||
|
||||
Log::debug( "Getting preQueueData for " . $classname, 'rebuildLazyLoad' );
|
||||
|
||||
try
|
||||
{
|
||||
$data['count'] = $classname::db()->select( 'MAX(' . $classname::$databasePrefix . $classname::$databaseColumnId . ')', $classname::$databaseTable, ( is_subclass_of( $classname, 'IPS\Content\Comment' ) ) ? $classname::commentWhere() : array() )->first();
|
||||
$data['realCount'] = $classname::db()->select( 'COUNT(*)', $classname::$databaseTable, ( is_subclass_of( $classname, 'IPS\Content\Comment' ) ) ? $classname::commentWhere() : array() )->first();
|
||||
/* Set the count and realCount */
|
||||
$data = array_merge( $data, $this->getCountDataFromClass( $classname ) );
|
||||
|
||||
/* We're going to use the < operator, so we need to ensure the most recent item is rebuilt */
|
||||
$data['runPid'] = $data['count'] + 1;
|
||||
}
|
||||
catch( Exception $ex )
|
||||
{
|
||||
throw new OutOfRangeException;
|
||||
}
|
||||
/* We're going to use the < operator, so we need to ensure the most recent item is rebuilt */
|
||||
$data['runPid'] = $data['count'] + 1;
|
||||
|
||||
Log::debug( "PreQueue count for " . $classname . " is " . $data['count'], 'rebuildLazyLoad' );
|
||||
|
||||
@@ -193,6 +189,6 @@ class RebuildLazyLoad extends QueueAbstract
|
||||
throw new OutOfRangeException;
|
||||
}
|
||||
|
||||
return array( 'text' => Member::loggedIn()->language()->addToStack('rebuilding_lazyload_stuff', FALSE, array( 'sprintf' => array( Member::loggedIn()->language()->addToStack( $class::$title . '_pl_lc' ) ) ) ), 'complete' => $data['realCount'] ? ( round( 100 / $data['realCount'] * $data['indexed'], 2 ) ) : 100 );
|
||||
return array( 'text' => Member::loggedIn()->language()->addToStack('rebuilding_lazyload_stuff', FALSE, array( 'sprintf' => array( Member::loggedIn()->language()->addToStack( $class::$title . '_pl_lc' ) ) ) ), 'complete' => ( $data['realCount'] and $data['realCount'] < UPGRADE_LARGE_TABLE_SIZE ) ? ( round( 100 / $data['realCount'] * $data['indexed'], 2 ) ) : null );
|
||||
}
|
||||
}
|
||||
@@ -27,6 +27,7 @@ use function defined;
|
||||
use function get_class;
|
||||
use function is_array;
|
||||
use const IPS\REBUILD_SLOW;
|
||||
use const IPS\UPGRADE_LARGE_TABLE_SIZE;
|
||||
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
@@ -56,18 +57,11 @@ class RebuildPosts extends QueueAbstract
|
||||
|
||||
Log::debug( "Getting preQueueData for " . $classname, 'rebuildPosts' );
|
||||
|
||||
try
|
||||
{
|
||||
$data['count'] = $classname::db()->select( 'MAX(' . $classname::$databasePrefix . $classname::$databaseColumnId . ')', $classname::$databaseTable, ( is_subclass_of( $classname, 'IPS\Content\Comment' ) ) ? $classname::commentWhere() : array() )->first();
|
||||
$data['realCount'] = $classname::db()->select( 'COUNT(*)', $classname::$databaseTable, ( is_subclass_of( $classname, 'IPS\Content\Comment' ) ) ? $classname::commentWhere() : array() )->first();
|
||||
|
||||
/* We're going to use the < operator, so we need to ensure the most recent item is rebuilt */
|
||||
$data['runPid'] = $data['count'] + 1;
|
||||
}
|
||||
catch( Exception $ex )
|
||||
{
|
||||
throw new OutOfRangeException;
|
||||
}
|
||||
/* Set the count and realCount */
|
||||
$data = array_merge( $data, $this->getCountDataFromClass( $classname ) );
|
||||
|
||||
/* We're going to use the < operator, so we need to ensure the most recent item is rebuilt */
|
||||
$data['runPid'] = $data['count'] + 1;
|
||||
|
||||
Log::debug( "PreQueue count for " . $classname . " is " . $data['count'], 'rebuildPosts' );
|
||||
|
||||
@@ -234,6 +228,6 @@ class RebuildPosts extends QueueAbstract
|
||||
throw new OutOfRangeException;
|
||||
}
|
||||
|
||||
return array( 'text' => Member::loggedIn()->language()->addToStack('rebuilding_stuff', FALSE, array( 'sprintf' => array( Member::loggedIn()->language()->addToStack( $class::$title . '_pl_lc' ) ) ) ), 'complete' => $data['realCount'] ? ( round( 100 / $data['realCount'] * $data['indexed'], 2 ) ) : 100 );
|
||||
return array( 'text' => Member::loggedIn()->language()->addToStack('rebuilding_stuff', FALSE, array( 'sprintf' => array( Member::loggedIn()->language()->addToStack( $class::$title . '_pl_lc' ) ) ) ), 'complete' => ( $data['realCount'] and $data['realCount'] < UPGRADE_LARGE_TABLE_SIZE ) ? ( round( 100 / $data['realCount'] * $data['indexed'], 2 ) ) : null );
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,7 @@ require_once str_replace( 'applications/core/interface/editor/index.php', '', st
|
||||
Front::i();
|
||||
|
||||
$pluginJs = "";
|
||||
if( !IN_DEV )
|
||||
if( !\IPS\IN_DEV )
|
||||
{
|
||||
/* Call the hasPlugins method first so that we can be sure the JS is generated */
|
||||
if( Editor::hasPlugins() )
|
||||
|
||||
@@ -0,0 +1,207 @@
|
||||
var Ql=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function am(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var OO={exports:{}},sm={},AO={exports:{}},Ge={};/**
|
||||
* @license React
|
||||
* react.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/var Eu=Symbol.for("react.element"),zU=Symbol.for("react.portal"),WU=Symbol.for("react.fragment"),qU=Symbol.for("react.strict_mode"),KU=Symbol.for("react.profiler"),QU=Symbol.for("react.provider"),XU=Symbol.for("react.context"),jU=Symbol.for("react.forward_ref"),ZU=Symbol.for("react.suspense"),JU=Symbol.for("react.memo"),eF=Symbol.for("react.lazy"),qC=Symbol.iterator;function tF(e){return e===null||typeof e!="object"?null:(e=qC&&e[qC]||e["@@iterator"],typeof e=="function"?e:null)}var IO={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},DO=Object.assign,wO={};function _l(e,t,n){this.props=e,this.context=t,this.refs=wO,this.updater=n||IO}_l.prototype.isReactComponent={};_l.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};_l.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function xO(){}xO.prototype=_l.prototype;function _S(e,t,n){this.props=e,this.context=t,this.refs=wO,this.updater=n||IO}var mS=_S.prototype=new xO;mS.constructor=_S;DO(mS,_l.prototype);mS.isPureReactComponent=!0;var KC=Array.isArray,MO=Object.prototype.hasOwnProperty,fS={current:null},LO={key:!0,ref:!0,__self:!0,__source:!0};function kO(e,t,n){var r,i={},o=null,a=null;if(t!=null)for(r in t.ref!==void 0&&(a=t.ref),t.key!==void 0&&(o=""+t.key),t)MO.call(t,r)&&!LO.hasOwnProperty(r)&&(i[r]=t[r]);var s=arguments.length-2;if(s===1)i.children=n;else if(1<s){for(var c=Array(s),d=0;d<s;d++)c[d]=arguments[d+2];i.children=c}if(e&&e.defaultProps)for(r in s=e.defaultProps,s)i[r]===void 0&&(i[r]=s[r]);return{$$typeof:Eu,type:e,key:o,ref:a,props:i,_owner:fS.current}}function nF(e,t){return{$$typeof:Eu,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function gS(e){return typeof e=="object"&&e!==null&&e.$$typeof===Eu}function rF(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var QC=/\/+/g;function pg(e,t){return typeof e=="object"&&e!==null&&e.key!=null?rF(""+e.key):t.toString(36)}function Ep(e,t,n,r,i){var o=typeof e;(o==="undefined"||o==="boolean")&&(e=null);var a=!1;if(e===null)a=!0;else switch(o){case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case Eu:case zU:a=!0}}if(a)return a=e,i=i(a),e=r===""?"."+pg(a,0):r,KC(i)?(n="",e!=null&&(n=e.replace(QC,"$&/")+"/"),Ep(i,t,n,"",function(d){return d})):i!=null&&(gS(i)&&(i=nF(i,n+(!i.key||a&&a.key===i.key?"":(""+i.key).replace(QC,"$&/")+"/")+e)),t.push(i)),1;if(a=0,r=r===""?".":r+":",KC(e))for(var s=0;s<e.length;s++){o=e[s];var c=r+pg(o,s);a+=Ep(o,t,n,c,i)}else if(c=tF(e),typeof c=="function")for(e=c.call(e),s=0;!(o=e.next()).done;)o=o.value,c=r+pg(o,s++),a+=Ep(o,t,n,c,i);else if(o==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return a}function Id(e,t,n){if(e==null)return e;var r=[],i=0;return Ep(e,r,"","",function(o){return t.call(n,o,i++)}),r}function iF(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var wn={current:null},Sp={transition:null},oF={ReactCurrentDispatcher:wn,ReactCurrentBatchConfig:Sp,ReactCurrentOwner:fS};function PO(){throw Error("act(...) is not supported in production builds of React.")}Ge.Children={map:Id,forEach:function(e,t,n){Id(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return Id(e,function(){t++}),t},toArray:function(e){return Id(e,function(t){return t})||[]},only:function(e){if(!gS(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Ge.Component=_l;Ge.Fragment=WU;Ge.Profiler=KU;Ge.PureComponent=_S;Ge.StrictMode=qU;Ge.Suspense=ZU;Ge.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=oF;Ge.act=PO;Ge.cloneElement=function(e,t,n){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=DO({},e.props),i=e.key,o=e.ref,a=e._owner;if(t!=null){if(t.ref!==void 0&&(o=t.ref,a=fS.current),t.key!==void 0&&(i=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(c in t)MO.call(t,c)&&!LO.hasOwnProperty(c)&&(r[c]=t[c]===void 0&&s!==void 0?s[c]:t[c])}var c=arguments.length-2;if(c===1)r.children=n;else if(1<c){s=Array(c);for(var d=0;d<c;d++)s[d]=arguments[d+2];r.children=s}return{$$typeof:Eu,type:e.type,key:i,ref:o,props:r,_owner:a}};Ge.createContext=function(e){return e={$$typeof:XU,_currentValue:e,_currentValue2:e,_threadCountLine truncated
|
||||
* @license React
|
||||
* react-jsx-runtime.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/var aF=B,sF=Symbol.for("react.element"),lF=Symbol.for("react.fragment"),cF=Object.prototype.hasOwnProperty,uF=aF.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,dF={key:!0,ref:!0,__self:!0,__source:!0};function UO(e,t,n){var r,i={},o=null,a=null;n!==void 0&&(o=""+n),t.key!==void 0&&(o=""+t.key),t.ref!==void 0&&(a=t.ref);for(r in t)cF.call(t,r)&&!dF.hasOwnProperty(r)&&(i[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)i[r]===void 0&&(i[r]=t[r]);return{$$typeof:sF,type:e,key:o,ref:a,props:i,_owner:uF.current}}sm.Fragment=lF;sm.jsx=UO;sm.jsxs=UO;OO.exports=sm;var N=OO.exports,wh={},FO={exports:{}},ur={},BO={exports:{}},GO={};/**
|
||||
* @license React
|
||||
* scheduler.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/(function(e){function t(D,G){var W=D.length;D.push(G);e:for(;0<W;){var Z=W-1>>>1,ne=D[Z];if(0<i(ne,G))D[Z]=G,D[W]=ne,W=Z;else break e}}function n(D){return D.length===0?null:D[0]}function r(D){if(D.length===0)return null;var G=D[0],W=D.pop();if(W!==G){D[0]=W;e:for(var Z=0,ne=D.length,De=ne>>>1;Z<De;){var Ye=2*(Z+1)-1,Se=D[Ye],Ae=Ye+1,tt=D[Ae];if(0>i(Se,W))Ae<ne&&0>i(tt,Se)?(D[Z]=tt,D[Ae]=W,Z=Ae):(D[Z]=Se,D[Ye]=W,Z=Ye);else if(Ae<ne&&0>i(tt,W))D[Z]=tt,D[Ae]=W,Z=Ae;else break e}}return G}function i(D,G){var W=D.sortIndex-G.sortIndex;return W!==0?W:D.id-G.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var a=Date,s=a.now();e.unstable_now=function(){return a.now()-s}}var c=[],d=[],p=1,_=null,f=3,g=!1,h=!1,S=!1,b=typeof setTimeout=="function"?setTimeout:null,T=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function R(D){for(var G=n(d);G!==null;){if(G.callback===null)r(d);else if(G.startTime<=D)r(d),G.sortIndex=G.expirationTime,t(c,G);else break;G=n(d)}}function A(D){if(S=!1,R(D),!h)if(n(c)!==null)h=!0,Ne(I);else{var G=n(d);G!==null&&x(A,G.startTime-D)}}function I(D,G){h=!1,S&&(S=!1,T($),$=-1),g=!0;var W=f;try{for(R(G),_=n(c);_!==null&&(!(_.expirationTime>G)||D&&!ae());){var Z=_.callback;if(typeof Z=="function"){_.callback=null,f=_.priorityLevel;var ne=Z(_.expirationTime<=G);G=e.unstable_now(),typeof ne=="function"?_.callback=ne:_===n(c)&&r(c),R(G)}else r(c);_=n(c)}if(_!==null)var De=!0;else{var Ye=n(d);Ye!==null&&x(A,Ye.startTime-G),De=!1}return De}finally{_=null,f=W,g=!1}}var M=!1,L=null,$=-1,V=5,H=-1;function ae(){return!(e.unstable_now()-H<V)}function _e(){if(L!==null){var D=e.unstable_now();H=D;var G=!0;try{G=L(!0,D)}finally{G?ue():(M=!1,L=null)}}else M=!1}var ue;if(typeof y=="function")ue=function(){y(_e)};else if(typeof MessageChannel<"u"){var de=new MessageChannel,he=de.port2;de.port1.onmessage=_e,ue=function(){he.postMessage(null)}}else ue=function(){b(_e,0)};function Ne(D){L=D,M||(M=!0,ue())}function x(D,G){$=b(function(){D(e.unstable_now())},G)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(D){D.callback=null},e.unstable_continueExecution=function(){h||g||(h=!0,Ne(I))},e.unstable_forceFrameRate=function(D){0>D||125<D?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):V=0<D?Math.floor(1e3/D):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_getFirstCallbackNode=function(){return n(c)},e.unstable_next=function(D){switch(f){case 1:case 2:case 3:var G=3;break;default:G=f}var W=f;f=G;try{return D()}finally{f=W}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(D,G){switch(D){case 1:case 2:case 3:case 4:case 5:break;default:D=3}var W=f;f=D;try{return G()}finally{f=W}},e.unstable_scheduleCallback=function(D,G,W){var Z=e.unstable_now();switch(typeof W=="object"&&W!==null?(W=W.delay,W=typeof W=="number"&&0<W?Z+W:Z):W=Z,D){case 1:var ne=-1;break;case 2:ne=250;break;case 5:ne=1073741823;break;case 4:ne=1e4;break;default:ne=5e3}return ne=W+ne,D={id:p++,callback:G,priorityLevel:D,startTime:W,expirationTime:ne,sortIndex:-1},W>Z?(D.sortIndex=W,t(d,D),n(c)===null&&D===n(d)&&(S?(T($),$=-1):S=!0,x(A,W-Z))):(D.sortIndex=ne,t(c,D),h||g||(h=!0,Ne(I))),D},e.unstable_shouldYield=ae,e.unstable_wrapCallback=function(D){var G=f;return function(){var W=f;f=G;try{return D.apply(this,arguments)}finally{f=W}}}})(GO);BO.exports=GO;var pF=BO.exports;/**
|
||||
* @license React
|
||||
* react-dom.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/var _F=B,cr=pF;function ee(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var YO=new Set,kc={};function $a(e,t){Xs(e,t),Xs(e+"Capture",t)}function Xs(e,t){for(kc[e]=t,e=0;e<t.length;e++)YO.add(t[e])}var Bi=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),xh=Object.prototype.hasOwnProperty,mF=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,XC={},jC={};function fF(e){return xh.call(jC,e)?!0:xh.call(XC,e)?!1:mF.test(e)?jC[e]=!0:(XC[e]=!0,!1)}function gF(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function hF(e,t,n,r){if(t===null||typeof t>"u"||gF(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function xn(e,t,n,r,i,o,a){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=a}var an={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){an[e]=new xn(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];an[t]=new xn(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){an[e]=new xn(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){an[e]=new xn(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){an[e]=new xn(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){an[e]=new xn(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){an[e]=new xn(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){an[e]=new xn(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){an[e]=new xn(e,5,!1,e.toLowerCase(),null,!1,!1)});var hS=/[\-:]([a-z])/g;function ES(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(hS,ES);an[t]=new xn(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(hS,ES);an[t]=new xn(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(hS,ES);an[t]=new xn(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){an[e]=new xn(e,1,!1,e.toLowerCase(),null,!1,!1)});an.xlinkHref=new xn("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){an[e]=new xn(e,1,!1,e.toLowerCase(),null,!0,!0)});function SS(e,t,n,r){var i=an.hasOwnProperty(t)?an[t]:null;(i!==null?i.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!==
Line truncated
|
||||
`+_g+e}var mg=!1;function fg(e,t){if(!e||mg)return"";mg=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(d){var r=d}Reflect.construct(e,[],t)}else{try{t.call()}catch(d){r=d}e.call(t.prototype)}else{try{throw Error()}catch(d){r=d}e()}}catch(d){if(d&&r&&typeof d.stack=="string"){for(var i=d.stack.split(`
|
||||
`),o=r.stack.split(`
|
||||
`),a=i.length-1,s=o.length-1;1<=a&&0<=s&&i[a]!==o[s];)s--;for(;1<=a&&0<=s;a--,s--)if(i[a]!==o[s]){if(a!==1||s!==1)do if(a--,s--,0>s||i[a]!==o[s]){var c=`
|
||||
`+i[a].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}while(1<=a&&0<=s);break}}}finally{mg=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?uc(e):""}function EF(e){switch(e.tag){case 5:return uc(e.type);case 16:return uc("Lazy");case 13:return uc("Suspense");case 19:return uc("SuspenseList");case 0:case 2:case 15:return e=fg(e.type,!1),e;case 11:return e=fg(e.type.render,!1),e;case 1:return e=fg(e.type,!0),e;default:return""}}function Ph(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Rs:return"Fragment";case Cs:return"Portal";case Mh:return"Profiler";case TS:return"StrictMode";case Lh:return"Suspense";case kh:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case $O:return(e.displayName||"Context")+".Consumer";case HO:return(e._context.displayName||"Context")+".Provider";case bS:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case yS:return t=e.displayName||null,t!==null?t:Ph(e.type)||"Memo";case lo:t=e._payload,e=e._init;try{return Ph(e(t))}catch{}}return null}function SF(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Ph(t);case 8:return t===TS?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Fo(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function zO(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function TF(e){var t=zO(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(a){r=""+a,o.call(this,a)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(a){r=""+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function wd(e){e._valueTracker||(e._valueTracker=TF(e))}function WO(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=zO(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Bp(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Uh(e,t){var n=t.checked;return Ct({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function JC(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Fo(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function qO(e,t){t=t.checked,t!=null&&SS(e,"checked",t,!1)}function Fh(e,t){qO(e,t);var n=Fo(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Bh(e,t.type,n):t.hasOwnProperty("defaultValue")&&Bh(e,t.type,Fo(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function eR(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Bh(e,t,n){(t!=="number"||Bp(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var dc=Array.isArray;function Us(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t["$"+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty("$"+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=""+Fo(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function Gh(e,t){if(t.dan
Line truncated
|
||||
`).replace(DB,"")}function Bd(e,t,n){if(t=CR(t),CR(e)!==t&&n)throw Error(ee(425))}function qp(){}var Jh=null,eE=null;function tE(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var nE=typeof setTimeout=="function"?setTimeout:void 0,wB=typeof clearTimeout=="function"?clearTimeout:void 0,RR=typeof Promise=="function"?Promise:void 0,xB=typeof queueMicrotask=="function"?queueMicrotask:typeof RR<"u"?function(e){return RR.resolve(null).then(e).catch(MB)}:nE;function MB(e){setTimeout(function(){throw e})}function Ag(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n==="/$"){if(r===0){e.removeChild(i),Gc(t);return}r--}else n!=="$"&&n!=="$?"&&n!=="$!"||r++;n=i}while(n);Gc(t)}function Do(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function NR(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}var fl=Math.random().toString(36).slice(2),ui="__reactFiber$"+fl,zc="__reactProps$"+fl,Gi="__reactContainer$"+fl,rE="__reactEvents$"+fl,LB="__reactListeners$"+fl,kB="__reactHandles$"+fl;function ga(e){var t=e[ui];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Gi]||n[ui]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=NR(e);e!==null;){if(n=e[ui])return n;e=NR(e)}return t}e=n,n=e.parentNode}return null}function bu(e){return e=e[ui]||e[Gi],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function As(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(ee(33))}function pm(e){return e[zc]||null}var iE=[],Is=-1;function zo(e){return{current:e}}function _t(e){0>Is||(e.current=iE[Is],iE[Is]=null,Is--)}function at(e,t){Is++,iE[Is]=e.current,e.current=t}var Bo={},mn=zo(Bo),Vn=zo(!1),Ma=Bo;function js(e,t){var n=e.type.contextTypes;if(!n)return Bo;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function zn(e){return e=e.childContextTypes,e!=null}function Kp(){_t(Vn),_t(mn)}function vR(e,t,n){if(mn.current!==Bo)throw Error(ee(168));at(mn,t),at(Vn,n)}function kA(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(ee(108,SF(e)||"Unknown",i));return Ct({},n,r)}function Qp(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Bo,Ma=mn.current,at(mn,e),at(Vn,Vn.current),!0}function OR(e,t,n){var r=e.stateNode;if(!r)throw Error(ee(169));n?(e=kA(e,t,Ma),r.__reactInternalMemoizedMergedChildContext=e,_t(Vn),_t(mn),at(mn,e)):_t(Vn),at(Vn,n)}var xi=null,_m=!1,Ig=!1;function PA(e){xi===null?xi=[e]:xi.push(e)}function PB(e){_m=!0,PA(e)}function Wo(){if(!Ig&&xi!==null){Ig=!0;var e=0,t=Ze;try{var n=xi;for(Ze=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}xi=null,_m=!1}catch(i){throw xi!==null&&(xi=xi.slice(e+1)),sA(RS,Wo),i}finally{Ze=t,Ig=!1}}return null}var Ds=[],ws=0,Xp=null,jp=0,Nr=[],vr=0,La=null,Li=1,ki="";function ua(e,t){Ds[ws++]=jp,Ds[ws++]=Xp,Xp=e,jp=t}function UA(e,t,n){Nr[vr++]=Li,Nr[vr++]=ki,Nr[vr++]=La,La=e;var r=Li;e=ki;var i=32-Wr(r)-1;r&=~(1<<i),n+=1;var o=32-Wr(t)+i;if(30<o){var a=i-i%5;o=(r&(1<<a)-1).toString(32),r>>=a,i-=a,Li=1<<32-Wr(t)+i|n<<i|r,ki=o+e}else Li=1<<o|n<<i|r,ki=e}function MS(e){e.return!==null&&(ua(e,1),UA(e,1,0))}function LS(e){for(;e===Xp;)Xp=Ds[--ws],Ds[ws]=null,jp=Ds[--ws],Ds[ws]=null;for(;e===La;)La=Nr[--vr],Nr[vr]=null,ki=Nr[--vr],Nr[vr]=null,Li=Nr[--vr],Nr[vr]=null}var sr=null,ir=null,Et=!1,Hr=null;function FA(e,t){var n=Or(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function AR(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,sr=e,ir=Do(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,sr=e,ir=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=La!==null?{id:Li,overflow:ki}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=Or(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,sr=e,ir=null,!0):!1;default:return!1}}function oE(e){return(e.mode&1)!==0&&(e.flags&128)===0}function aE(e){if(Et){var t=ir;if(t){var n=t;if(!AR(e,t)){if(oE(e))throw Error(ee(418));t=Do(n.nextSibling);var r=sr;t&&AR(e,t)?FA(r,n):(e.flags=e.flags&-4097|2,Et=!1,sr=e)}}else{if(oE(e))throw Error(ee(418));e.flags=e.flags&-4097|2,Et=!1,sr=e}}}function IR(e){
Line truncated
|
||||
Error generating stack: `+o.message+`
|
||||
`+o.stack}return{value:e,source:t,stack:i,digest:null}}function Lg(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function uE(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var zB=typeof WeakMap=="function"?WeakMap:Map;function dI(e,t,n){n=Ui(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){o_||(o_=!0,TE=r),uE(e,t)},n}function pI(e,t,n){n=Ui(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){uE(e,t)}}var o=e.stateNode;return o!==null&&typeof o.componentDidCatch=="function"&&(n.callback=function(){uE(e,t),typeof r!="function"&&(xo===null?xo=new Set([this]):xo.add(this));var a=t.stack;this.componentDidCatch(t.value,{componentStack:a!==null?a:""})}),n}function UR(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new zB;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(i.add(n),e=oG.bind(null,e,t,n),t.then(e,e))}function FR(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function BR(e,t,n,r,i){return e.mode&1?(e.flags|=65536,e.lanes=i,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=Ui(-1,1),t.tag=2,wo(n,t,1))),n.lanes|=1),e)}var WB=Vi.ReactCurrentOwner,$n=!1;function Rn(e,t,n,r){t.child=e===null?YA(t,null,n,r):Js(t,e.child,n,r)}function GR(e,t,n,r,i){n=n.render;var o=t.ref;return Ys(t,i),r=zS(e,t,n,r,o,i),n=WS(),e!==null&&!$n?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Hi(e,t,i)):(Et&&n&&MS(t),t.flags|=1,Rn(e,t,r,i),t.child)}function YR(e,t,n,r,i){if(e===null){var o=n.type;return typeof o=="function"&&!nT(o)&&o.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=o,_I(e,t,o,r,i)):(e=Ip(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(o=e.child,!(e.lanes&i)){var a=o.memoizedProps;if(n=n.compare,n=n!==null?n:Hc,n(a,r)&&e.ref===t.ref)return Hi(e,t,i)}return t.flags|=1,e=Lo(o,r),e.ref=t.ref,e.return=t,t.child=e}function _I(e,t,n,r,i){if(e!==null){var o=e.memoizedProps;if(Hc(o,r)&&e.ref===t.ref)if($n=!1,t.pendingProps=r=o,(e.lanes&i)!==0)e.flags&131072&&($n=!0);else return t.lanes=e.lanes,Hi(e,t,i)}return dE(e,t,n,r,i)}function mI(e,t,n){var r=t.pendingProps,i=r.children,o=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},at(Ls,nr),nr|=n;else{if(!(n&1073741824))return e=o!==null?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,at(Ls,nr),nr|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=o!==null?o.baseLanes:n,at(Ls,nr),nr|=r}else o!==null?(r=o.baseLanes|n,t.memoizedState=null):r=n,at(Ls,nr),nr|=r;return Rn(e,t,i,n),t.child}function fI(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function dE(e,t,n,r,i){var o=zn(n)?Ma:mn.current;return o=js(t,o),Ys(t,i),n=zS(e,t,n,r,o,i),r=WS(),e!==null&&!$n?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Hi(e,t,i)):(Et&&r&&MS(t),t.flags|=1,Rn(e,t,n,i),t.child)}function HR(e,t,n,r,i){if(zn(n)){var o=!0;Qp(t)}else o=!1;if(Ys(t,i),t.stateNode===null)vp(e,t),uI(t,n,r),cE(t,n,r,i),r=!0;else if(e===null){var a=t.stateNode,s=t.memoizedProps;a.props=s;var c=a.context,d=n.contextType;typeof d=="object"&&d!==null?d=wr(d):(d=zn(n)?Ma:mn.current,d=js(t,d));var p=n.getDerivedStateFromProps,_=typeof p=="function"||typeof a.getSnapshotBeforeUpdate=="function";_||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(s!==r||c!==d)&&PR(t,a,r,d),co=!1;var f=t.memoizedState;a.state=f,e_(t,r,a,i),c=t.memoizedState,s!==r||f!==c||Vn.current||co?(typeof p=="function"&&(lE(t,n,p,r),c=t.memoizedState),(s=co||kR(t,n,s,r,f,c,d))?(_||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount=="function"&&(t.flags|=4194308)):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=c),a.props=r,a.state=c,a.context=d,r=s):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,$A(e,t),s=t.memoizedProps,d=t.type===t.elementType?s:Gr(t.type,s),a.props=d,_=t.pendingProps,f=a.context,c=n.contextType,typeof c=="object"&&c!==null?c=wr(c):(c=zn(n)?Ma:mn.current,c=js(t,c));var g=n.getDerivedStateFromProps;(p=typeof g=="function"||typeof a.getSnapshotBeforeUpdate=="function")||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(s!==_||f!==c)&&PR(t,a,r,c),co=!1,f=t.memoizedState,a.state=f,e_(t,r,a,i);var h=t.memoizedS
Line truncated
|
||||
`)}}Fa.empty=new Fa(!0);class yG{constructor(t,n){this.string=t,this.nodeTypes=n,this.inline=null,this.pos=0,this.tokens=t.split(/\s*(?=\b|\W|$)/),this.tokens[this.tokens.length-1]==""&&this.tokens.pop(),this.tokens[0]==""&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(t){return this.next==t&&(this.pos++||!0)}err(t){throw new SyntaxError(t+" (in content expression '"+this.string+"')")}}function qI(e){let t=[];do t.push(CG(e));while(e.eat("|"));return t.length==1?t[0]:{type:"choice",exprs:t}}function CG(e){let t=[];do t.push(RG(e));while(e.next&&e.next!=")"&&e.next!="|");return t.length==1?t[0]:{type:"seq",exprs:t}}function RG(e){let t=OG(e);for(;;)if(e.eat("+"))t={type:"plus",expr:t};else if(e.eat("*"))t={type:"star",expr:t};else if(e.eat("?"))t={type:"opt",expr:t};else if(e.eat("{"))t=NG(e,t);else break;return t}function rN(e){/\D/.test(e.next)&&e.err("Expected number, got '"+e.next+"'");let t=Number(e.next);return e.pos++,t}function NG(e,t){let n=rN(e),r=n;return e.eat(",")&&(e.next!="}"?r=rN(e):r=-1),e.eat("}")||e.err("Unclosed braced range"),{type:"range",min:n,max:r,expr:t}}function vG(e,t){let n=e.nodeTypes,r=n[t];if(r)return[r];let i=[];for(let o in n){let a=n[o];a.groups.indexOf(t)>-1&&i.push(a)}return i.length==0&&e.err("No node type or group '"+t+"' found"),i}function OG(e){if(e.eat("(")){let t=qI(e);return e.eat(")")||e.err("Missing closing paren"),t}else if(/\W/.test(e.next))e.err("Unexpected token '"+e.next+"'");else{let t=vG(e,e.next).map(n=>(e.inline==null?e.inline=n.isInline:e.inline!=n.isInline&&e.err("Mixing inline and block content"),{type:"name",value:n}));return e.pos++,t.length==1?t[0]:{type:"choice",exprs:t}}}function AG(e){let t=[[]];return i(o(e,0),n()),t;function n(){return t.push([])-1}function r(a,s,c){let d={term:c,to:s};return t[a].push(d),d}function i(a,s){a.forEach(c=>c.to=s)}function o(a,s){if(a.type=="choice")return a.exprs.reduce((c,d)=>c.concat(o(d,s)),[]);if(a.type=="seq")for(let c=0;;c++){let d=o(a.exprs[c],s);if(c==a.exprs.length-1)return d;i(d,s=n())}else if(a.type=="star"){let c=n();return r(s,c),i(o(a.expr,c),c),[r(c)]}else if(a.type=="plus"){let c=n();return i(o(a.expr,s),c),i(o(a.expr,c),c),[r(c)]}else{if(a.type=="opt")return[r(s)].concat(o(a.expr,s));if(a.type=="range"){let c=s;for(let d=0;d<a.min;d++){let p=n();i(o(a.expr,c),p),c=p}if(a.max==-1)i(o(a.expr,c),c);else for(let d=a.min;d<a.max;d++){let p=n();r(c,p),i(o(a.expr,c),p),c=p}return[r(c)]}else{if(a.type=="name")return[r(s,void 0,a.value)];throw new Error("Unknown expr type")}}}}function KI(e,t){return t-e}function iN(e,t){let n=[];return r(t),n.sort(KI);function r(i){let o=e[i];if(o.length==1&&!o[0].term)return r(o[0].to);n.push(i);for(let a=0;a<o.length;a++){let{term:s,to:c}=o[a];!s&&n.indexOf(c)==-1&&r(c)}}}function IG(e){let t=Object.create(null);return n(iN(e,0));function n(r){let i=[];r.forEach(a=>{e[a].forEach(({term:s,to:c})=>{if(!s)return;let d;for(let p=0;p<i.length;p++)i[p][0]==s&&(d=i[p][1]);iN(e,c).forEach(p=>{d||i.push([s,d=[]]),d.indexOf(p)==-1&&d.push(p)})})});let o=t[r.join(",")]=new Fa(r.indexOf(e.length-1)>-1);for(let a=0;a<i.length;a++){let s=i[a][1].sort(KI);o.next.push({type:i[a][0],next:t[s.join(",")]||n(s)})}return o}}function DG(e,t){for(let n=0,r=[e];n<r.length;n++){let i=r[n],o=!i.validEnd,a=[];for(let s=0;s<i.next.length;s++){let{type:c,next:d}=i.next[s];a.push(c.name),o&&!(c.isText||c.hasRequiredAttrs())&&(o=!1),r.indexOf(d)==-1&&r.push(d)}o&&t.err("Only non-generatable nodes ("+a.join(", ")+") in a required position (see https://prosemirror.net/docs/guide/#generatable)")}}function QI(e){let t=Object.create(null);for(let n in e){let r=e[n];if(!r.hasDefault)return null;t[n]=r.default}return t}function XI(e,t){let n=Object.create(null);for(let r in e){let i=t&&t[r];if(i===void 0){let o=e[r];if(o.hasDefault)i=o.default;else throw new RangeError("No value supplied for attribute "+r)}n[r]=i}return n}function jI(e,t,n,r){for(let i in t)if(!(i in e))throw new RangeError(`Unsupported attribute ${i} for ${n} of type ${i}`);for(let i in e){let o=e[i];o.validate&&o.validate(t[i])}}function ZI(e){let t=Object.create(null);if(e)for(let n in e)t[n]=new xG(e[n]);return t}let oN=class JI{constructor(t,n,r){this.name=t,this.schema=n,this.spec=r,this.markSet=null,this.groups=r.group?r.group.split(" "):[],this.attrs=ZI(r.attrs),this.defaultAttrs=QI(this.attrs),this.contentMatch=null,this.inlineContent=null,this.isBlock=!(r.inline||t=="text"),this.isText=t=="text"}get isInline(){return!this.isBlock}get isTextblock(){return this.isBlock&&this.inlineContent}get isLeaf(){return this.contentMatch==Fa.empty}get isAtom(){return this.isLeaf||!!this.spec.atom}get whitespace(){return this.spec.whitespace||(this.spec.code?"pre":"normal")}hasRequiredAttrs(){for(let t in this.attrs)if(this.attrs[t].isRequired)return!0;return!1}compatibleContent(t){return this==t||this.contentMatch.compatible(t.contentMatch)}computeAttrs(t){return!t&&this.defaultAttrs?this.defaultAttrs:XI(this.attrs,t)}create
Line truncated
|
||||
`):n=n.replace(/\r?\n|\r/g," ");else if(n=n.replace(/[ \t\r\n\u000c]+/g," "),/^[ \t\r\n\u000c]/.test(n)&&this.open==this.nodes.length-1){let i=r.content[r.content.length-1],o=t.previousSibling;(!i||o&&o.nodeName=="BR"||i.isText&&/[ \t\r\n\u000c]$/.test(i.text))&&(n=n.slice(1))}n&&this.insertNode(this.parser.schema.text(n)),this.findInText(t)}else this.findInside(t)}addElement(t,n){let r=t.nodeName.toLowerCase(),i;nD.hasOwnProperty(r)&&this.parser.normalizeLists&&PG(t);let o=this.options.ruleFromNode&&this.options.ruleFromNode(t)||(i=this.parser.matchTag(t,this,n));if(o?o.ignore:kG.hasOwnProperty(r))this.findInside(t),this.ignoreFallback(t);else if(!o||o.skip||o.closeParent){o&&o.closeParent?this.open=Math.max(0,this.open-1):o&&o.skip.nodeType&&(t=o.skip);let a,s=this.top,c=this.needsBlock;if(tD.hasOwnProperty(r))s.content.length&&s.content[0].isInline&&this.open&&(this.open--,s=this.top),a=!0,s.type||(this.needsBlock=!0);else if(!t.firstChild){this.leafFallback(t);return}o&&o.skip?this.addAll(t):this.withStyleRules(t,()=>this.addAll(t)),a&&this.sync(s),this.needsBlock=c}else this.withStyleRules(t,()=>{this.addElementByRule(t,o,o.consuming===!1?i:void 0)})}leafFallback(t){t.nodeName=="BR"&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(t.ownerDocument.createTextNode(`
|
||||
`))}ignoreFallback(t){t.nodeName=="BR"&&(!this.top.type||!this.top.type.inlineContent)&&this.findPlace(this.parser.schema.text("-"))}readStyles(t){let n=Je.none,r=Je.none;if(t.length)for(let i=0;i<this.parser.matchedStyles.length;i++){let o=this.parser.matchedStyles[i],a=t.getPropertyValue(o);if(a)for(let s=void 0;;){let c=this.parser.matchStyle(o,a,this,s);if(!c)break;if(c.ignore)return null;if(c.clearMark?this.top.pendingMarks.concat(this.top.activeMarks).forEach(d=>{c.clearMark(d)&&(r=d.addToSet(r))}):n=this.parser.schema.marks[c.mark].create(c.attrs).addToSet(n),c.consuming===!1)s=c;else break}}return[n,r]}addElementByRule(t,n,r){let i,o,a;n.node?(o=this.parser.schema.nodes[n.node],o.isLeaf?this.insertNode(o.create(n.attrs))||this.leafFallback(t):i=this.enter(o,n.attrs||null,n.preserveWhitespace)):(a=this.parser.schema.marks[n.mark].create(n.attrs),this.addPendingMark(a));let s=this.top;if(o&&o.isLeaf)this.findInside(t);else if(r)this.addElement(t,r);else if(n.getContent)this.findInside(t),n.getContent(t,this.parser.schema).forEach(c=>this.insertNode(c));else{let c=t;typeof n.contentElement=="string"?c=t.querySelector(n.contentElement):typeof n.contentElement=="function"?c=n.contentElement(t):n.contentElement&&(c=n.contentElement),this.findAround(t,c,!0),this.addAll(c)}i&&this.sync(s)&&this.open--,a&&this.removePendingMark(a,s)}addAll(t,n,r){let i=n||0;for(let o=n?t.childNodes[n]:t.firstChild,a=r==null?null:t.childNodes[r];o!=a;o=o.nextSibling,++i)this.findAtPoint(t,i),this.addDOM(o);this.findAtPoint(t,i)}findPlace(t){let n,r;for(let i=this.open;i>=0;i--){let o=this.nodes[i],a=o.findWrapping(t);if(a&&(!n||n.length>a.length)&&(n=a,r=o,!a.length)||o.solid)break}if(!n)return!1;this.sync(r);for(let i=0;i<n.length;i++)this.enterInner(n[i],null,!1);return!0}insertNode(t){if(t.isInline&&this.needsBlock&&!this.top.type){let n=this.textblockFromContext();n&&this.enterInner(n)}if(this.findPlace(t)){this.closeExtra();let n=this.top;n.applyPending(t.type),n.match&&(n.match=n.match.matchType(t.type));let r=n.activeMarks;for(let i=0;i<t.marks.length;i++)(!n.type||n.type.allowsMarkType(t.marks[i].type))&&(r=t.marks[i].addToSet(r));return n.content.push(t.mark(r)),!0}return!1}enter(t,n,r){let i=this.findPlace(t.create(n));return i&&this.enterInner(t,n,!0,r),i}enterInner(t,n=null,r=!1,i){this.closeExtra();let o=this.top;o.applyPending(t),o.match=o.match&&o.match.matchType(t);let a=sN(t,i,o.options);o.options&Oc&&o.content.length==0&&(a|=Oc),this.nodes.push(new qd(t,n,o.activeMarks,o.pendingMarks,r,null,a)),this.open++}closeExtra(t=!1){let n=this.nodes.length-1;if(n>this.open){for(;n>this.open;n--)this.nodes[n-1].content.push(this.nodes[n].finish(t));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(this.isOpen||this.options.topOpen)}sync(t){for(let n=this.open;n>=0;n--)if(this.nodes[n]==t)return this.open=n,!0;return!1}get currentPos(){this.closeExtra();let t=0;for(let n=this.open;n>=0;n--){let r=this.nodes[n].content;for(let i=r.length-1;i>=0;i--)t+=r[i].nodeSize;n&&t++}return t}findAtPoint(t,n){if(this.find)for(let r=0;r<this.find.length;r++)this.find[r].node==t&&this.find[r].offset==n&&(this.find[r].pos=this.currentPos)}findInside(t){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].pos==null&&t.nodeType==1&&t.contains(this.find[n].node)&&(this.find[n].pos=this.currentPos)}findAround(t,n,r){if(t!=n&&this.find)for(let i=0;i<this.find.length;i++)this.find[i].pos==null&&t.nodeType==1&&t.contains(this.find[i].node)&&n.compareDocumentPosition(this.find[i].node)&(r?2:4)&&(this.find[i].pos=this.currentPos)}findInText(t){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].node==t&&(this.find[n].pos=this.currentPos-(t.nodeValue.length-this.find[n].offset))}matchesContext(t){if(t.indexOf("|")>-1)return t.split(/\s*\|\s*/).some(this.matchesContext,this);let n=t.split("/"),r=this.options.context,i=!this.isOpen&&(!r||r.parent.type==this.nodes[0].type),o=-(r?r.depth+1:0)+(i?0:1),a=(s,c)=>{for(;s>=0;s--){let d=n[s];if(d==""){if(s==n.length-1||s==0)continue;for(;c>=o;c--)if(a(s-1,c))return!0;return!1}else{let p=c>0||c==0&&i?this.nodes[c].type:r&&c>=o?r.node(c-o).type:null;if(!p||p.name!=d&&p.groups.indexOf(d)==-1)return!1;c--}}return!0};return a(n.length-1,this.open)}textblockFromContext(){let t=this.options.context;if(t)for(let n=t.depth;n>=0;n--){let r=t.node(n).contentMatchAt(t.indexAfter(n)).defaultType;if(r&&r.isTextblock&&r.defaultAttrs)return r}for(let n in this.parser.schema.nodes){let r=this.parser.schema.nodes[n];if(r.isTextblock&&r.defaultAttrs)return r}}addPendingMark(t){let n=BG(t,this.top.pendingMarks);n&&this.top.stashMarks.push(n),this.top.pendingMarks=t.addToSet(this.top.pendingMarks)}removePendingMark(t,n){for(let r=this.open;r>=0;r--){let i=this.nodes[r];if(i.pendingMarks.lastIndexOf(t)>-1)i.pendingMarks=t.removeFromSet(i.pendingMarks);else{i.activeMarks=t.removeFromSet(i.activeMarks);let a=i.popFromStashMark(t);a&&i.type&&i.type.allow
Line truncated
|
||||
`))}})}function eY(e,t,n){let r=e.resolve(t),i=r.index();return r.parent.canReplaceWith(i,i+1,n)}function tY(e,t,n,r,i){let o=e.doc.nodeAt(t);if(!o)throw new RangeError("No node at given position");n||(n=o.type);let a=n.create(r,null,i||o.marks);if(o.isLeaf)return e.replaceWith(t,t+o.nodeSize,a);if(!n.validContent(o.content))throw new RangeError("Invalid content for node type "+n.name);e.step(new qt(t,t+o.nodeSize,t+1,t+o.nodeSize-1,new se(J.from(a),0,0),1,!0))}function Vs(e,t,n=1,r){let i=e.resolve(t),o=i.depth-n,a=r&&r[r.length-1]||i.parent;if(o<0||i.parent.type.spec.isolating||!i.parent.canReplace(i.index(),i.parent.childCount)||!a.type.validContent(i.parent.content.cutByIndex(i.index(),i.parent.childCount)))return!1;for(let d=i.depth-1,p=n-2;d>o;d--,p--){let _=i.node(d),f=i.index(d);if(_.type.spec.isolating)return!1;let g=_.content.cutByIndex(f,_.childCount),h=r&&r[p+1];h&&(g=g.replaceChild(0,h.type.create(h.attrs)));let S=r&&r[p]||_;if(!_.canReplace(f+1,_.childCount)||!S.type.validContent(g))return!1}let s=i.indexAfter(o),c=r&&r[0];return i.node(o).canReplaceWith(s,s,c?c.type:i.node(o+1).type)}function nY(e,t,n=1,r){let i=e.doc.resolve(t),o=J.empty,a=J.empty;for(let s=i.depth,c=i.depth-n,d=n-1;s>c;s--,d--){o=J.from(i.node(s).copy(o));let p=r&&r[d];a=J.from(p?p.type.create(p.attrs,a):i.node(s).copy(a))}e.step(new Vt(t,t,new se(o.append(a),n,n),!0))}function qo(e,t){let n=e.resolve(t),r=n.index();return cD(n.nodeBefore,n.nodeAfter)&&n.parent.canReplace(r,r+1)}function cD(e,t){return!!(e&&t&&!e.isLeaf&&e.canAppend(t))}function Rm(e,t,n=-1){let r=e.resolve(t);for(let i=r.depth;;i--){let o,a,s=r.index(i);if(i==r.depth?(o=r.nodeBefore,a=r.nodeAfter):n>0?(o=r.node(i+1),s++,a=r.node(i).maybeChild(s)):(o=r.node(i).maybeChild(s-1),a=r.node(i+1)),o&&!o.isTextblock&&cD(o,a)&&r.node(i).canReplace(s,s+1))return t;if(i==0)break;t=n<0?r.before(i):r.after(i)}}function rY(e,t,n){let r=new Vt(t-n,t+n,se.empty,!0);e.step(r)}function iY(e,t,n){let r=e.resolve(t);if(r.parent.canReplaceWith(r.index(),r.index(),n))return t;if(r.parentOffset==0)for(let i=r.depth-1;i>=0;i--){let o=r.index(i);if(r.node(i).canReplaceWith(o,o,n))return r.before(i+1);if(o>0)return null}if(r.parentOffset==r.parent.content.size)for(let i=r.depth-1;i>=0;i--){let o=r.indexAfter(i);if(r.node(i).canReplaceWith(o,o,n))return r.after(i+1);if(o<r.node(i).childCount)return null}return null}function oY(e,t,n){let r=e.resolve(t);if(!n.content.size)return t;let i=n.content;for(let o=0;o<n.openStart;o++)i=i.firstChild.content;for(let o=1;o<=(n.openStart==0&&n.size?2:1);o++)for(let a=r.depth;a>=0;a--){let s=a==r.depth?0:r.pos<=(r.start(a+1)+r.end(a+1))/2?-1:1,c=r.index(a)+(s>0?1:0),d=r.node(a),p=!1;if(o==1)p=d.canReplace(c,c,i);else{let _=d.contentMatchAt(c).findWrapping(i.firstChild.type);p=_&&d.canReplaceWith(c,c,_[0])}if(p)return s==0?r.pos:s<0?r.before(a+1):r.after(a+1)}return null}function Nm(e,t,n=t,r=se.empty){if(t==n&&!r.size)return null;let i=e.resolve(t),o=e.resolve(n);return uD(i,o,r)?new Vt(t,n,r):new aY(i,o,r).fit()}function uD(e,t,n){return!n.openStart&&!n.openEnd&&e.start()==t.start()&&e.parent.canReplace(e.index(),t.index(),n.content)}class aY{constructor(t,n,r){this.$from=t,this.$to=n,this.unplaced=r,this.frontier=[],this.placed=J.empty;for(let i=0;i<=t.depth;i++){let o=t.node(i);this.frontier.push({type:o.type,match:o.contentMatchAt(t.indexAfter(i))})}for(let i=t.depth;i>0;i--)this.placed=J.from(t.node(i).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){for(;this.unplaced.size;){let d=this.findFittable();d?this.placeNodes(d):this.openMore()||this.dropNode()}let t=this.mustMoveInline(),n=this.placed.size-this.depth-this.$from.depth,r=this.$from,i=this.close(t<0?this.$to:r.doc.resolve(t));if(!i)return null;let o=this.placed,a=r.depth,s=i.depth;for(;a&&s&&o.childCount==1;)o=o.firstChild.content,a--,s--;let c=new se(o,a,s);return t>-1?new qt(r.pos,t,this.$to.pos,this.$to.end(),c,n):c.size||r.pos!=this.$to.pos?new Vt(r.pos,i.pos,c):null}findFittable(){let t=this.unplaced.openStart;for(let n=this.unplaced.content,r=0,i=this.unplaced.openEnd;r<t;r++){let o=n.firstChild;if(n.childCount>1&&(i=0),o.type.spec.isolating&&i<=r){t=r;break}n=o.content}for(let n=1;n<=2;n++)for(let r=n==1?t:this.unplaced.openStart;r>=0;r--){let i,o=null;r?(o=Yg(this.unplaced.content,r-1).firstChild,i=o.content):i=this.unplaced.content;let a=i.firstChild;for(let s=this.depth;s>=0;s--){let{type:c,match:d}=this.frontier[s],p,_=null;if(n==1&&(a?d.matchType(a.type)||(_=d.fillBefore(J.from(a),!1)):o&&c.compatibleContent(o.type)))return{sliceDepth:r,frontierDepth:s,parent:o,inject:_};if(n==2&&a&&(p=d.findWrapping(a.type)))return{sliceDepth:r,frontierDepth:s,parent:o,wrap:p};if(o&&d.matchType(o.type))break}}}openMore(){let{content:t,openStart:n,openEnd:r}=this.unplaced,i=Yg(t,n);return!i.childCount||i.firstChild.isLeaf?!1:(this.unplaced=new se(t,n+1,Math.max(r,i.size+n>=t.size-r?n+1:0)),!0)}dropNode(){let{content:t,openStart:n,openEnd:r}=this.unplaced,i=Yg(t,n);if(i.c
Line truncated
|
||||
`),p&&g==f.nodeValue.length)for(let h=f,S;h;h=h.parentNode){if(S=h.nextSibling){S.nodeName=="BR"&&(s=c={node:S.parentNode,offset:tn(S)+1});break}let b=h.pmViewDesc;if(b&&b.node&&b.node.isBlock)break}}else{let h=f.childNodes[g-1];p=h&&(h.nodeName=="BR"||h.contentEditable=="false")}}if(jr&&d.focusNode&&d.focusNode!=c.node&&d.focusNode.nodeType==1){let f=d.focusNode.childNodes[d.focusOffset];f&&f.contentEditable=="false"&&(i=!0)}if(!(i||p&&An)&&Ba(s.node,s.offset,d.anchorNode,d.anchorOffset)&&Ba(c.node,c.offset,d.focusNode,d.focusOffset))return;let _=!1;if((d.extend||t==n)&&!p){d.collapse(s.node,s.offset);try{t!=n&&d.extend(c.node,c.offset),_=!0}catch{}}if(!_){if(t>n){let g=s;s=c,c=g}let f=document.createRange();f.setEnd(c.node,c.offset),f.setStart(s.node,s.offset),d.removeAllRanges(),d.addRange(f)}}ignoreMutation(t){return!this.contentDOM&&t.type!="selection"}get contentLost(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)}markDirty(t,n){for(let r=0,i=0;i<this.children.length;i++){let o=this.children[i],a=r+o.size;if(r==a?t<=a&&n>=r:t<a&&n>r){let s=r+o.border,c=a-o.border;if(t>=s&&n<=c){this.dirty=t==r||n==a?Sa:ON,t==s&&n==c&&(o.contentLost||o.dom.parentNode!=this.contentDOM)?o.dirty=hi:o.markDirty(t-s,n-s);return}else o.dirty=o.dom==o.contentDOM&&o.dom.parentNode==this.contentDOM&&!o.children.length?Sa:hi}r=a}this.dirty=Sa}markParentsDirty(){let t=1;for(let n=this.parent;n;n=n.parent,t++){let r=t==1?Sa:ON;n.dirty<r&&(n.dirty=r)}}get domAtom(){return!1}get ignoreForCoords(){return!1}isText(t){return!1}}class RD extends vu{constructor(t,n,r,i){let o,a=n.type.toDOM;if(typeof a=="function"&&(a=a(r,()=>{if(!o)return i;if(o.parent)return o.parent.posBeforeChild(o)})),!n.type.spec.raw){if(a.nodeType!=1){let s=document.createElement("span");s.appendChild(a),a=s}a.contentEditable="false",a.classList.add("ProseMirror-widget")}super(t,[],a,null),this.widget=n,this.widget=n,o=this}matchesWidget(t){return this.dirty==Dr&&t.type.eq(this.widget.type)}parseRule(){return{ignore:!0}}stopEvent(t){let n=this.widget.spec.stopEvent;return n?n(t):!1}ignoreMutation(t){return t.type!="selection"||this.widget.spec.ignoreSelection}destroy(){this.widget.type.destroy(this.dom),super.destroy()}get domAtom(){return!0}get side(){return this.widget.type.side}}class YY extends vu{constructor(t,n,r,i){super(t,[],n,null),this.textDOM=r,this.text=i}get size(){return this.text.length}localPosFromDOM(t,n){return t!=this.textDOM?this.posAtStart+(n?this.size:0):this.posAtStart+n}domFromPos(t){return{node:this.textDOM,offset:t}}ignoreMutation(t){return t.type==="characterData"&&t.target.nodeValue==t.oldValue}}class Ga extends vu{constructor(t,n,r,i){super(t,[],r,i),this.mark=n}static create(t,n,r,i){let o=i.nodeViews[n.type.name],a=o&&o(n,i,r);return(!a||!a.dom)&&(a=za.renderSpec(document,n.type.spec.toDOM(n,r))),new Ga(t,n,a.dom,a.contentDOM||a.dom)}parseRule(){return this.dirty&hi||this.mark.type.spec.reparseInView?null:{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}}matchesMark(t){return this.dirty!=hi&&this.mark.eq(t)}markDirty(t,n){if(super.markDirty(t,n),this.dirty!=Dr){let r=this.parent;for(;!r.node;)r=r.parent;r.dirty<this.dirty&&(r.dirty=this.dirty),this.dirty=Dr}}slice(t,n,r){let i=Ga.create(this.parent,this.mark,!0,r),o=this.children,a=this.size;n<a&&(o=PE(o,n,a,r)),t>0&&(o=PE(o,0,t,r));for(let s=0;s<o.length;s++)o[s].parent=i;return i.children=o,i}}class Po extends vu{constructor(t,n,r,i,o,a,s,c,d){super(t,[],o,a),this.node=n,this.outerDeco=r,this.innerDeco=i,this.nodeDOM=s}static create(t,n,r,i,o,a){let s=o.nodeViews[n.type.name],c,d=s&&s(n,o,()=>{if(!c)return a;if(c.parent)return c.parent.posBeforeChild(c)},r,i),p=d&&d.dom,_=d&&d.contentDOM;if(n.isText){if(!p)p=document.createTextNode(n.text);else if(p.nodeType!=3)throw new RangeError("Text must be rendered as a DOM text node")}else p||({dom:p,contentDOM:_}=za.renderSpec(document,n.type.spec.toDOM(n)));!_&&!n.isText&&p.nodeName!="BR"&&(p.hasAttribute("contenteditable")||(p.contentEditable="false"),n.type.spec.draggable&&(p.draggable=!0));let f=p;return p=AD(p,r,n),d?c=new HY(t,n,r,i,p,_||null,f,d,o,a+1):n.isText?new Am(t,n,r,i,p,f,o):new Po(t,n,r,i,p,_||null,f,o,a+1)}parseRule(){if(this.node.type.spec.reparseInView)return null;let t={node:this.node.type.name,attrs:this.node.attrs};if(this.node.type.whitespace=="pre"&&(t.preserveWhitespace="full"),!this.contentDOM)t.getContent=()=>this.node.content;else if(!this.contentLost)t.contentElement=this.contentDOM;else{for(let n=this.children.length-1;n>=0;n--){let r=this.children[n];if(this.dom.contains(r.dom.parentNode)){t.contentElement=r.dom.parentNode;break}}t.contentElement||(t.getContent=()=>J.empty)}return t}matchesNode(t,n,r){return this.dirty==Dr&&t.eq(this.node)&&kE(n,this.outerDeco)&&r.eq(this.innerDeco)}get size(){return this.node.nodeSize}get border(){return this.node.isLeaf?0:1}updateChildren(t,n){let r=this.node.inlineContent,i=n,o=t.composing?this.localCom
Line truncated
|
||||
|
||||
`);return{dom:c,text:f,slice:t}}function LD(e,t,n,r,i){let o=i.parent.type.spec.code,a,s;if(!n&&!t)return null;let c=t&&(r||o||!n);if(c){if(e.someProp("transformPastedText",f=>{t=f(t,o||r,e)}),o)return t?new se(J.from(e.state.schema.text(t.replace(/\r\n?/g,`
|
||||
`))),0,0):se.empty;let _=e.someProp("clipboardTextParser",f=>f(t,i,r,e));if(_)s=_;else{let f=i.marks(),{schema:g}=e.state,h=za.fromSchema(g);a=document.createElement("div"),t.split(/(?:\r\n?|\n)+/).forEach(S=>{let b=a.appendChild(document.createElement("p"));S&&b.appendChild(h.serializeNode(g.text(S,f)))})}}else e.someProp("transformPastedHTML",_=>{n=_(n,e)}),a=lH(n),Nu&&cH(a);let d=a&&a.querySelector("[data-pm-slice]"),p=d&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(d.getAttribute("data-pm-slice")||"");if(p&&p[3])for(let _=+p[3];_>0;_--){let f=a.firstChild;for(;f&&f.nodeType!=1;)f=f.nextSibling;if(!f)break;a=f}if(s||(s=(e.someProp("clipboardParser")||e.someProp("domParser")||sT.fromSchema(e.state.schema)).parseSlice(a,{preserveWhitespace:!!(c||p),context:i,ruleFromNode(f){return f.nodeName=="BR"&&!f.nextSibling&&f.parentNode&&!aH.test(f.parentNode.nodeName)?{ignore:!0}:null}})),p)s=uH(GN(s,+p[1],+p[2]),p[4]);else if(s=se.maxOpen(sH(s.content,i),!0),s.openStart||s.openEnd){let _=0,f=0;for(let g=s.content.firstChild;_<s.openStart&&!g.type.spec.isolating;_++,g=g.firstChild);for(let g=s.content.lastChild;f<s.openEnd&&!g.type.spec.isolating;f++,g=g.lastChild);s=GN(s,_,f)}return e.someProp("transformPasted",_=>{s=_(s,e)}),s}const aH=/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i;function sH(e,t){if(e.childCount<2)return e;for(let n=t.depth;n>=0;n--){let i=t.node(n).contentMatchAt(t.index(n)),o,a=[];if(e.forEach(s=>{if(!a)return;let c=i.findWrapping(s.type),d;if(!c)return a=null;if(d=a.length&&o.length&&PD(c,o,s,a[a.length-1],0))a[a.length-1]=d;else{a.length&&(a[a.length-1]=UD(a[a.length-1],o.length));let p=kD(s,c);a.push(p),i=i.matchType(p.type),o=c}}),a)return J.from(a)}return e}function kD(e,t,n=0){for(let r=t.length-1;r>=n;r--)e=t[r].create(null,J.from(e));return e}function PD(e,t,n,r,i){if(i<e.length&&i<t.length&&e[i]==t[i]){let o=PD(e,t,n,r.lastChild,i+1);if(o)return r.copy(r.content.replaceChild(r.childCount-1,o));if(r.contentMatchAt(r.childCount).matchType(i==e.length-1?n.type:e[i+1]))return r.copy(r.content.append(J.from(kD(n,e,i+1))))}}function UD(e,t){if(t==0)return e;let n=e.content.replaceChild(e.childCount-1,UD(e.lastChild,t-1)),r=e.contentMatchAt(e.childCount).fillBefore(J.empty,!0);return e.copy(n.append(r))}function BE(e,t,n,r,i,o){let a=t<0?e.firstChild:e.lastChild,s=a.content;return e.childCount>1&&(o=0),i<r-1&&(s=BE(s,t,n,r,i+1,o)),i>=n&&(s=t<0?a.contentMatchAt(0).fillBefore(s,o<=i).append(s):s.append(a.contentMatchAt(a.childCount).fillBefore(J.empty,!0))),e.replaceChild(t<0?0:e.childCount-1,a.copy(s))}function GN(e,t,n){return t<e.openStart&&(e=new se(BE(e.content,-1,t,e.openStart,0,e.openEnd),t,e.openEnd)),n<e.openEnd&&(e=new se(BE(e.content,1,n,e.openEnd,0,0),e.openStart,n)),e}const FD={thead:["table"],tbody:["table"],tfoot:["table"],caption:["table"],colgroup:["table"],col:["table","colgroup"],tr:["table","tbody"],td:["table","tbody","tr"],th:["table","tbody","tr"]};let YN=null;function BD(){return YN||(YN=document.implementation.createHTMLDocument("title"))}function lH(e){let t=/^(\s*<meta [^>]*>)*/.exec(e);t&&(e=e.slice(t[0].length));let n=BD().createElement("div"),r=/<([a-z][^>\s]+)/i.exec(e),i;if((i=r&&FD[r[1].toLowerCase()])&&(e=i.map(o=>"<"+o+">").join("")+e+i.map(o=>"</"+o+">").reverse().join("")),n.innerHTML=e,i)for(let o=0;o<i.length;o++)n=n.querySelector(i[o])||n;return n}function cH(e){let t=e.querySelectorAll(vn?"span:not([class]):not([style])":"span.Apple-converted-space");for(let n=0;n<t.length;n++){let r=t[n];r.childNodes.length==1&&r.textContent==" "&&r.parentNode&&r.parentNode.replaceChild(e.ownerDocument.createTextNode(" "),r)}}function uH(e,t){if(!e.size)return e;let n=e.content.firstChild.type.schema,r;try{r=JSON.parse(t)}catch{return e}let{content:i,openStart:o,openEnd:a}=e;for(let s=r.length-2;s>=0;s-=2){let c=n.nodes[r[s]];if(!c||c.hasRequiredAttrs())break;i=J.from(c.create(r[s+1],i)),o++,a++}return new se(i,o,a)}const In={},Dn={},dH={touchstart:!0,touchmove:!0};class pH{constructor(){this.shiftKey=!1,this.mouseDown=null,this.lastKeyCode=null,this.lastKeyCodeTime=0,this.lastClick={time:0,x:0,y:0,type:""},this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastIOSEnter=0,this.lastIOSEnterFallbackTimeout=-1,this.lastFocus=0,this.lastTouch=0,this.lastAndroidDelete=0,this.composing=!1,this.compositionNode=null,this.composingTimeout=-1,this.compositionNodes=[],this.compositionEndedAt=-2e8,this.compositionID=1,this.compositionPendingChanges=0,this.domChangeCount=0,this.eventHandlers=Object.create(null),this.hideSelectionGuard=null}}function _H(e){for(let t in In){let n=In[t];e.dom.addEventListener(t,e.input.eventHandlers[t]=r=>{fH(e,r)&&!mT(e,r)&&(e.editable||!(r.type in Dn))&&n(e,r)},dH[t]?{passive:!0}:void 0)}An&&e.dom.addEventListener("input",()=>null),GE(e)}function bo(e,t){e.input.lastSelectionOrigin=t,e.input.lastSelectionTime=Date.now()}function mH(e){e.domObserver.stop();for(let t in e.input.event
Line truncated
|
||||
`).scrollIntoView()),!0)};function JD(e){for(let t=0;t<e.edgeCount;t++){let{type:n}=e.edge(t);if(n.isTextblock&&!n.hasRequiredAttrs())return n}return null}const f2=(e,t)=>{let{$head:n,$anchor:r}=e.selection;if(!n.parent.type.spec.code||!n.sameParent(r))return!1;let i=n.node(-1),o=n.indexAfter(-1),a=JD(i.contentMatchAt(o));if(!a||!i.canReplaceWith(o,o,a))return!1;if(t){let s=n.after(),c=e.tr.replaceWith(s,s,a.createAndFill());c.setSelection($e.near(c.doc.resolve(s),1)),t(c.scrollIntoView())}return!0},g2=(e,t)=>{let n=e.selection,{$from:r,$to:i}=n;if(n instanceof Kr||r.parent.inlineContent||i.parent.inlineContent)return!1;let o=JD(i.parent.contentMatchAt(i.indexAfter()));if(!o||!o.isTextblock)return!1;if(t){let a=(!r.parentOffset&&i.index()<i.parent.childCount?r:i).pos,s=e.tr.insert(a,o.createAndFill());s.setSelection(Oe.create(s.doc,a+1)),t(s.scrollIntoView())}return!0},h2=(e,t)=>{let{$cursor:n}=e.selection;if(!n||n.parent.content.size)return!1;if(n.depth>1&&n.after()!=n.end(-1)){let o=n.before();if(Vs(e.doc,o))return t&&t(e.tr.split(o).scrollIntoView()),!0}let r=n.blockRange(),i=r&&gl(r);return i==null?!1:(t&&t(e.tr.lift(r,i).scrollIntoView()),!0)},E2=(e,t)=>{let{$from:n,to:r}=e.selection,i,o=n.sharedDepth(r);return o==0?!1:(i=n.before(o),t&&t(e.tr.setSelection(Te.create(e.doc,i))),!0)};function S2(e,t,n){let r=t.nodeBefore,i=t.nodeAfter,o=t.index();return!r||!i||!r.type.compatibleContent(i.type)?!1:!r.content.size&&t.parent.canReplace(o-1,o)?(n&&n(e.tr.delete(t.pos-r.nodeSize,t.pos).scrollIntoView()),!0):!t.parent.canReplace(o,o+1)||!(i.isTextblock||qo(e.doc,t.pos))?!1:(n&&n(e.tr.clearIncompatible(t.pos,r.type,r.contentMatchAt(r.childCount)).join(t.pos).scrollIntoView()),!0)}function ew(e,t,n){let r=t.nodeBefore,i=t.nodeAfter,o,a;if(r.type.spec.isolating||i.type.spec.isolating)return!1;if(S2(e,t,n))return!0;let s=t.parent.canReplace(t.index(),t.index()+1);if(s&&(o=(a=r.contentMatchAt(r.childCount)).findWrapping(i.type))&&a.matchType(o[0]||i.type).validEnd){if(n){let _=t.pos+i.nodeSize,f=J.empty;for(let S=o.length-1;S>=0;S--)f=J.from(o[S].create(null,f));f=J.from(r.copy(f));let g=e.tr.step(new qt(t.pos-1,_,t.pos,_,new se(f,1,0),o.length,!0)),h=_+2*o.length;qo(g.doc,h)&&g.join(h),n(g.scrollIntoView())}return!0}let c=$e.findFrom(t,1),d=c&&c.$from.blockRange(c.$to),p=d&&gl(d);if(p!=null&&p>=t.depth)return n&&n(e.tr.lift(d,p).scrollIntoView()),!0;if(s&&al(i,"start",!0)&&al(r,"end")){let _=r,f=[];for(;f.push(_),!_.isTextblock;)_=_.lastChild;let g=i,h=1;for(;!g.isTextblock;g=g.firstChild)h++;if(_.canReplace(_.childCount,_.childCount,g.content)){if(n){let S=J.empty;for(let T=f.length-1;T>=0;T--)S=J.from(f[T].copy(S));let b=e.tr.step(new qt(t.pos-f.length,t.pos+i.nodeSize,t.pos+h,t.pos+i.nodeSize-h,new se(S,f.length,0),0,!0));n(b.scrollIntoView())}return!0}}return!1}function tw(e){return function(t,n){let r=t.selection,i=e<0?r.$from:r.$to,o=i.depth;for(;i.node(o).isInline;){if(!o)return!1;o--}return i.node(o).isTextblock?(n&&n(t.tr.setSelection(Oe.create(t.doc,e<0?i.start(o):i.end(o)))),!0):!1}}const T2=tw(-1),b2=tw(1);function y2(e,t=null){return function(n,r){let{$from:i,$to:o}=n.selection,a=i.blockRange(o),s=a&&cT(a,e,t);return s?(r&&r(n.tr.wrap(a,s).scrollIntoView()),!0):!1}}function JN(e,t=null){return function(n,r){let i=!1;for(let o=0;o<n.selection.ranges.length&&!i;o++){let{$from:{pos:a},$to:{pos:s}}=n.selection.ranges[o];n.doc.nodesBetween(a,s,(c,d)=>{if(i)return!1;if(!(!c.isTextblock||c.hasMarkup(e,t)))if(c.type==e)i=!0;else{let p=n.doc.resolve(d),_=p.index();i=p.parent.canReplaceWith(_,_+1,e)}})}if(!i)return!1;if(r){let o=n.tr;for(let a=0;a<n.selection.ranges.length;a++){let{$from:{pos:s},$to:{pos:c}}=n.selection.ranges[a];o.setBlockType(s,c,e,t)}r(o.scrollIntoView())}return!0}}typeof navigator<"u"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):typeof os<"u"&&os.platform&&os.platform()=="darwin";function C2(e,t=null){return function(n,r){let{$from:i,$to:o}=n.selection,a=i.blockRange(o),s=!1,c=a;if(!a)return!1;if(a.depth>=2&&i.node(a.depth-1).type.compatibleContent(e)&&a.startIndex==0){if(i.index(a.depth-1)==0)return!1;let p=n.doc.resolve(a.start-2);c=new p_(p,p,a.depth),a.endIndex<a.parent.childCount&&(a=new p_(i,n.doc.resolve(o.end(a.depth)),a.depth)),s=!0}let d=cT(c,e,t,a);return d?(r&&r(R2(n.tr,a,d,s,e).scrollIntoView()),!0):!1}}function R2(e,t,n,r,i){let o=J.empty;for(let p=n.length-1;p>=0;p--)o=J.from(n[p].type.create(n[p].attrs,o));e.step(new qt(t.start-(r?2:0),t.end,t.start,t.end,new se(o,0,0),n.length,!0));let a=0;for(let p=0;p<n.length;p++)n[p].type==i&&(a=p+1);let s=n.length-a,c=t.start+n.length-(r?2:0),d=t.parent;for(let p=t.startIndex,_=t.endIndex,f=!0;p<_;p++,f=!1)!f&&Vs(e.doc,c,s)&&(e.split(c,s),c+=2*s),c+=d.child(p).nodeSize;return e}function N2(e){return function(t,n){let{$from:r,$to:i}=t.selection,o=r.blockRange(i,a=>a.childCount>0&&a.firstChild.type==e);return o?n?r.node(o.depth-1).type==e?v2(t,n,e,o):O2(t,n,o):!0:!1}}function v2(e,t,n,r){let i=e.tr,o=r.end,a=r.$to.end(r.depth);o<a&&(i.
Line truncated
|
||||
`,rules:n,plugin:r}):!1}},isInputRules:!0});return r}function P2(e){return typeof e=="number"}class U2{constructor(t){this.find=t.find,this.handler=t.handler}}const F2=(e,t,n)=>{if(bT(t))return[...e.matchAll(t)];const r=t(e,n);return r?r.map(i=>{const o=[i.text];return o.index=i.index,o.input=e,o.data=i.data,i.replaceWith&&(i.text.includes(i.replaceWith)||console.warn('[tiptap warn]: "pasteRuleMatch.replaceWith" must be part of "pasteRuleMatch.text".'),o.push(i.replaceWith)),o}):[]};function B2(e){const{editor:t,state:n,from:r,to:i,rule:o,pasteEvent:a,dropEvent:s}=e,{commands:c,chain:d,can:p}=new wm({editor:t,state:n}),_=[];return n.doc.nodesBetween(r,i,(g,h)=>{if(!g.isTextblock||g.type.spec.code)return;const S=Math.max(r,h),b=Math.min(i,h+g.content.size),T=g.textBetween(S-h,b-h,void 0,"");F2(T,o.find,a).forEach(R=>{if(R.index===void 0)return;const A=S+R.index+1,I=A+R[0].length,M={from:n.tr.mapping.map(A),to:n.tr.mapping.map(I)},L=o.handler({state:n,range:M,match:R,commands:c,chain:d,can:p,pasteEvent:a,dropEvent:s});_.push(L)})}),_.every(g=>g!==null)}const G2=e=>{var t;const n=new ClipboardEvent("paste",{clipboardData:new DataTransfer});return(t=n.clipboardData)===null||t===void 0||t.setData("text/html",e),n};function Y2(e){const{editor:t,rules:n}=e;let r=null,i=!1,o=!1,a=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,s=typeof DragEvent<"u"?new DragEvent("drop"):null;const c=({state:p,from:_,to:f,rule:g,pasteEvt:h})=>{const S=p.tr,b=Dm({state:p,transaction:S});if(!(!B2({editor:t,state:b,from:Math.max(_-1,0),to:f.b-1,rule:g,pasteEvent:h,dropEvent:s})||!S.steps.length))return s=typeof DragEvent<"u"?new DragEvent("drop"):null,a=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,S};return n.map(p=>new ft({view(_){const f=g=>{var h;r=!((h=_.dom.parentElement)===null||h===void 0)&&h.contains(g.target)?_.dom.parentElement:null};return window.addEventListener("dragstart",f),{destroy(){window.removeEventListener("dragstart",f)}}},props:{handleDOMEvents:{drop:(_,f)=>(o=r===_.dom.parentElement,s=f,!1),paste:(_,f)=>{var g;const h=(g=f.clipboardData)===null||g===void 0?void 0:g.getData("text/html");return a=f,i=!!(h!=null&&h.includes("data-pm-slice")),!1}}},appendTransaction:(_,f,g)=>{const h=_[0],S=h.getMeta("uiEvent")==="paste"&&!i,b=h.getMeta("uiEvent")==="drop"&&!o,T=h.getMeta("applyPasteRules"),y=!!T;if(!S&&!b&&!y)return;if(y){const{from:I,text:M}=T,L=I+M.length,$=G2(M);return c({rule:p,state:g,from:I,to:{b:L},pasteEvt:$})}const R=f.doc.content.findDiffStart(g.doc.content),A=f.doc.content.findDiffEnd(g.doc.content);if(!(!P2(R)||!A||R===A.b))return c({rule:p,state:g,from:R,to:A,pasteEvt:a})}}))}function H2(e){const t=e.filter((n,r)=>e.indexOf(n)!==r);return[...new Set(t)]}class Ps{constructor(t,n){this.splittableMarks=[],this.editor=n,this.extensions=Ps.resolve(t),this.schema=x2(this.extensions,n),this.setupExtensions()}static resolve(t){const n=Ps.sort(Ps.flatten(t)),r=H2(n.map(i=>i.name));return r.length&&console.warn(`[tiptap warn]: Duplicate extension names found: [${r.map(i=>`'${i}'`).join(", ")}]. This can lead to issues.`),n}static flatten(t){return t.map(n=>{const r={name:n.name,options:n.options,storage:n.storage},i=me(n,"addExtensions",r);return i?[n,...this.flatten(i())]:n}).flat(10)}static sort(t){return t.sort((r,i)=>{const o=me(r,"priority")||100,a=me(i,"priority")||100;return o>a?-1:o<a?1:0})}get commands(){return this.extensions.reduce((t,n)=>{const r={name:n.name,options:n.options,storage:n.storage,editor:this.editor,type:Zg(n.name,this.schema)},i=me(n,"addCommands",r);return i?{...t,...i()}:t},{})}get plugins(){const{editor:t}=this,n=Ps.sort([...this.extensions].reverse()),r=[],i=[],o=n.map(a=>{const s={name:a.name,options:a.options,storage:a.storage,editor:t,type:Zg(a.name,this.schema)},c=[],d=me(a,"addKeyboardShortcuts",s);let p={};if(a.type==="mark"&&me(a,"exitable",s)&&(p.ArrowRight=()=>Bt.handleExit({editor:t,mark:a})),d){const S=Object.fromEntries(Object.entries(d()).map(([b,T])=>[b,()=>T({editor:t})]));p={...p,...S}}const _=n2(p);c.push(_);const f=me(a,"addInputRules",s);nv(a,t.options.enableInputRules)&&f&&r.push(...f());const g=me(a,"addPasteRules",s);nv(a,t.options.enablePasteRules)&&g&&i.push(...g());const h=me(a,"addProseMirrorPlugins",s);if(h){const S=h();c.push(...S)}return c}).flat();return[k2({editor:t,rules:r}),...Y2({editor:t,rules:i}),...o]}get attributes(){return nw(this.extensions)}get nodeViews(){const{editor:t}=this,{nodeExtensions:n}=xm(this.extensions);return Object.fromEntries(n.filter(r=>!!me(r,"addNodeView")).map(r=>{const i=this.attributes.filter(c=>c.type===r.name),o={name:r.name,options:r.options,storage:r.storage,editor:t,type:Qt(r.name,this.schema)},a=me(r,"addNodeView",o);if(!a)return[];const s=(c,d,p,_)=>{const f=YE(c,i);return a()({editor:t,node:c,getPos:p,decorations:_,HTMLAttributes:f,extension:r})};return[r.name,s]}))}setupExtensions(){this.extensions.forEach(t=>{var n;this.editor.extensionStorage[t.name]=t.storage;const r={name:t.name,
Line truncated
|
||||
|
||||
`,textSerializers:a={}}=n||{};let s="";return e.nodesBetween(r,i,(c,d,p,_)=>{var f;c.isBlock&&d>r&&(s+=o);const g=a==null?void 0:a[c.type.name];if(g)return p&&(s+=g({node:c,pos:d,parent:p,index:_,range:t})),!1;c.isText&&(s+=(f=c==null?void 0:c.text)===null||f===void 0?void 0:f.slice(Math.max(r,d)-d,i-d))}),s}function ow(e){return Object.fromEntries(Object.entries(e.nodes).filter(([,t])=>t.spec.toText).map(([t,n])=>[t,n.spec.toText]))}const V2=Ot.create({name:"clipboardTextSerializer",addOptions(){return{blockSeparator:void 0}},addProseMirrorPlugins(){return[new ft({key:new lt("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{const{editor:e}=this,{state:t,schema:n}=e,{doc:r,selection:i}=t,{ranges:o}=i,a=Math.min(...o.map(p=>p.$from.pos)),s=Math.max(...o.map(p=>p.$to.pos)),c=ow(n);return iw(r,{from:a,to:s},{...this.options.blockSeparator!==void 0?{blockSeparator:this.options.blockSeparator}:{},textSerializers:c})}}})]}}),z2=()=>({editor:e,view:t})=>(requestAnimationFrame(()=>{var n;e.isDestroyed||(t.dom.blur(),(n=window==null?void 0:window.getSelection())===null||n===void 0||n.removeAllRanges())}),!0),W2=(e=!1)=>({commands:t})=>t.setContent("",e),q2=()=>({state:e,tr:t,dispatch:n})=>{const{selection:r}=t,{ranges:i}=r;return n&&i.forEach(({$from:o,$to:a})=>{e.doc.nodesBetween(o.pos,a.pos,(s,c)=>{if(s.type.isText)return;const{doc:d,mapping:p}=t,_=d.resolve(p.map(c)),f=d.resolve(p.map(c+s.nodeSize)),g=_.blockRange(f);if(!g)return;const h=gl(g);if(s.type.isTextblock){const{defaultType:S}=_.parent.contentMatchAt(_.index());t.setNodeMarkup(g.start,S)}(h||h===0)&&t.lift(g,h)})}),!0},K2=e=>t=>e(t),Q2=()=>({state:e,dispatch:t})=>g2(e,t),X2=(e,t)=>({editor:n,tr:r})=>{const{state:i}=n,o=i.doc.slice(e.from,e.to);r.deleteRange(e.from,e.to);const a=r.mapping.map(t);return r.insert(a,o.content),r.setSelection(new Oe(r.doc.resolve(a-1))),!0},j2=()=>({tr:e,dispatch:t})=>{const{selection:n}=e,r=n.$anchor.node();if(r.content.size>0)return!1;const i=e.selection.$anchor;for(let o=i.depth;o>0;o-=1)if(i.node(o).type===r.type){if(t){const s=i.before(o),c=i.after(o);e.delete(s,c).scrollIntoView()}return!0}return!1},Z2=e=>({tr:t,state:n,dispatch:r})=>{const i=Qt(e,n.schema),o=t.selection.$anchor;for(let a=o.depth;a>0;a-=1)if(o.node(a).type===i){if(r){const c=o.before(a),d=o.after(a);t.delete(c,d).scrollIntoView()}return!0}return!1},J2=e=>({tr:t,dispatch:n})=>{const{from:r,to:i}=e;return n&&t.delete(r,i),!0},e$=()=>({state:e,dispatch:t})=>i2(e,t),t$=()=>({commands:e})=>e.keyboardShortcut("Enter"),n$=()=>({state:e,dispatch:t})=>f2(e,t);function b_(e,t,n={strict:!0}){const r=Object.keys(t);return r.length?r.every(i=>n.strict?t[i]===e[i]:bT(t[i])?t[i].test(e[i]):t[i]===e[i]):!0}function HE(e,t,n={}){return e.find(r=>r.type===t&&b_(r.attrs,n))}function r$(e,t,n={}){return!!HE(e,t,n)}function yT(e,t,n={}){if(!e||!t)return;let r=e.parent.childAfter(e.parentOffset);if(e.parentOffset===r.offset&&r.offset!==0&&(r=e.parent.childBefore(e.parentOffset)),!r.node)return;const i=HE([...r.node.marks],t,n);if(!i)return;let o=r.index,a=e.start()+r.offset,s=o+1,c=a+r.node.nodeSize;for(HE([...r.node.marks],t,n);o>0&&i.isInSet(e.parent.child(o-1).marks);)o-=1,a-=e.parent.child(o).nodeSize;for(;s<e.parent.childCount&&r$([...e.parent.child(s).marks],t,n);)c+=e.parent.child(s).nodeSize,s+=1;return{from:a,to:c}}function Qo(e,t){if(typeof e=="string"){if(!t.marks[e])throw Error(`There is no mark type named '${e}'. Maybe you forgot to add the extension?`);return t.marks[e]}return e}const i$=(e,t={})=>({tr:n,state:r,dispatch:i})=>{const o=Qo(e,r.schema),{doc:a,selection:s}=n,{$from:c,from:d,to:p}=s;if(i){const _=yT(c,o,t);if(_&&_.from<=d&&_.to>=p){const f=Oe.create(a,_.from,_.to);n.setSelection(f)}}return!0},o$=e=>t=>{const n=typeof e=="function"?e(t):e;for(let r=0;r<n.length;r+=1)if(n[r](t))return!0;return!1};function aw(e){return e instanceof Oe}function yo(e=0,t=0,n=0){return Math.min(Math.max(e,t),n)}function sw(e,t=null){if(!t)return null;const n=$e.atStart(e),r=$e.atEnd(e);if(t==="start"||t===!0)return n;if(t==="end")return r;const i=n.from,o=r.to;return t==="all"?Oe.create(e,yo(0,i,o),yo(e.content.size,i,o)):Oe.create(e,yo(t,i,o),yo(t,i,o))}function Lm(){return["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}const a$=(e=null,t={})=>({editor:n,view:r,tr:i,dispatch:o})=>{t={scrollIntoView:!0,...t};const a=()=>{Lm()&&r.dom.focus(),requestAnimationFrame(()=>{n.isDestroyed||(r.focus(),t!=null&&t.scrollIntoView&&n.commands.scrollIntoView())})};if(r.hasFocus()&&e===null||e===!1)return!0;if(o&&e===null&&!aw(n.state.selection))return a(),!0;const s=sw(i.doc,e)||n.state.selection,c=n.state.selection.eq(s);return o&&(c||i.setSelection(s),c&&i.storedMarks&&i.setStoredMarks(i.storedMarks),a()),!0},s$=(e,t)=>n=>e.every((r,i)=>t(r,{...n,index:i})),l$=(e,t)=>({tr:n,commands:r})=>r.insertContentAt({from:n.selection.from,to:n.selection.to},e,t
Line truncated
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.ProseMirror {
|
||||
word-wrap: break-word;
|
||||
white-space: pre-wrap;
|
||||
white-space: break-spaces;
|
||||
-webkit-font-variant-ligatures: none;
|
||||
font-variant-ligatures: none;
|
||||
font-feature-settings: "liga" 0; /* the above doesn't seem to work in Edge */
|
||||
}
|
||||
|
||||
.ProseMirror [contenteditable="false"] {
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.ProseMirror [contenteditable="false"] [contenteditable="true"] {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
.ProseMirror pre {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
img.ProseMirror-separator {
|
||||
display: inline !important;
|
||||
border: none !important;
|
||||
margin: 0 !important;
|
||||
width: 1px !important;
|
||||
height: 1px !important;
|
||||
}
|
||||
|
||||
.ProseMirror-gapcursor {
|
||||
display: none;
|
||||
pointer-events: none;
|
||||
position: absolute;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.ProseMirror-gapcursor:after {
|
||||
content: "";
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -2px;
|
||||
width: 20px;
|
||||
border-top: 1px solid black;
|
||||
animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;
|
||||
}
|
||||
|
||||
@keyframes ProseMirror-cursor-blink {
|
||||
to {
|
||||
visibility: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.ProseMirror-hideselection *::selection {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.ProseMirror-hideselection *::-moz-selection {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.ProseMirror-hideselection * {
|
||||
caret-color: transparent;
|
||||
}
|
||||
|
||||
.ProseMirror-focused .ProseMirror-gapcursor {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.tippy-box[data-animation=fade][data-state=hidden] {
|
||||
opacity: 0
|
||||
}`;function SV(e,t,n){const r=document.querySelector("style[data-tiptap-style]");if(r!==null)return r;const i=document.createElement("style");return t&&i.setAttribute("nonce",t),i.setAttribute("data-tiptap-style",""),i.innerHTML=e,document.getElementsByTagName("head")[0].appendChild(i),i}let TV=class extends I2{constructor(t={}){super(),this.isFocused=!1,this.extensionStorage={},this.options={element:document.createElement("div"),content:"",injectCSS:!0,injectNonce:void 0,extensions:[],autofocus:!1,editable:!0,editorProps:{},parseOptions:{},coreExtensionOptions:{},enableInputRules:!0,enablePasteRules:!0,enableCoreExtensions:!0,enableContentCheck:!1,onBeforeCreate:()=>null,onCreate:()=>null,onUpdate:()=>null,onSelectionUpdate:()=>null,onTransaction:()=>null,onFocus:()=>null,onBlur:()=>null,onDestroy:()=>null,onContentError:({error:n})=>{throw n}},this.isCapturingTransaction=!1,this.capturedTransaction=null,this.setOptions(t),this.createExtensionManager(),this.createCommandManager(),this.createSchema(),this.on("beforeCreate",this.options.onBeforeCreate),this.emit("beforeCreate",{editor:this}),this.on("contentError",this.options.onContentError),this.createView(),this.injectCSS(),this.on("create",this.options.onCreate),this.on("update",this.options.onUpdate),this.on("selectionUpdate",this.options.onSelectionUpdate),this.on("transaction",this.options.onTransaction),this.on("focus",this.options.onFocus),this.on("blur",this.options.onBlur),this.on("destroy",this.options.onDestroy),window.setTimeout(()=>{this.isDestroyed||(this.commands.focus(this.options.autofocus),this.emit("create",{editor:this}))},0)}get storage(){return this.extensionStorage}get commands(){return this.commandManager.commands}chain(){return this.commandManager.chain()}can(){return this.commandManager.can()}injectCSS(){this.options.injectCSS&&document&&(this.css=SV(EV,this.options.injectNonce))}setOptions(t={}){this.options={...this.options,...t},!(!this.view||!this.state||this.isDestroyed)&&(this.options.editorProps&&this.view.setProps(this.options.editorProps),this.view.updateState(this.state))}setEditable(t,n=!0){this.setOptions({editable:t}),n&&this.emit("update",{editor:this,transaction:this.state.tr})}get isEditable(){return this.options.editable&&this.view&&this.view.editable}get state(){return this.view.state}registerPlugin(t,n){const r=rw(n)?n(t,[...this.state.plugins]):[...this.state.plugins,t],i=this.state.reconfigure({plugins:r});this.view.updateState(i)}unregisterPlugin(t){if(this.isDestroyed)return;const n=typeof t=="string"?`${t}$`:t.key,r=this.state.reconfigure({plugins:this.state.plugins.filter(i=>!i.key.startsWith(n))});this.view.updateState(r)}createExtensionManager(){var t,n;const i=[...this.options.enableCoreExtensions?[mV,V2.configure({blockSeparator:(n=(t=this.options.coreExtensionOptions)===null||t===void 0?void 0:t.clipboardTextSerializer)===null||n===void 0?void 0:n.blockSeparator}),_V,fV,gV,hV]:[],...this.options.extensions].filter(o=>["extension","node","mark"].includes(o==null?void 0:o.type));this.extensionManager=new Ps(i,this)}createCommandManager(){this.commandManager=new wm({editor:this})}createSchema(){this.schema=this.extensionManager.schema}createView(){let t;try{t=$E(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:this.options.enableContentCheck})}catch(o){if(!(o instanceof Error)||!["[tiptap error]: Invalid JSON content","[tiptap error]: Invalid HTML content"].includes(o.message))throw o;this.emit("contentError",{editor:this,error:o,disableCollaboration:()=>{this.options.extensions=this.options.extensions.filter(a=>a.name!=="collaboration"),this.createExtensionManager()}}),t=$E(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:!1})}const n=sw(t,this.options.autofocus);this.view=new qH(this.options.element,{...this.options.editorProps,dispatchTransaction:this.dispatchTransaction.bind(this),state:ks.create({doc:t,selection:n||void 0})});const r=this.state.reconfigure({plugins:this.extensionManager.plugins});this.view.updateState(r),this.createNodeViews(),this.prependClass();const i=this.view.dom;i.editor=this}createNodeViews(){this.view.setProps({nodeViews:this.extensionManager.nodeViews})}prependClass(){this.view.dom.className=`tiptap ${this.view.dom.className}`}captureTransaction(t){this.isCapturingTransaction=!0,t(),this.isCapturingTransaction=!1;const n=this.capturedTransaction;return this.capturedTransaction=null,n}dispatchTransaction(t){if(this.view.isDestroyed)return;if(this.isCapturingTransaction){if(!this.capturedTransaction){this.capturedTransaction=t;return}t.steps.forEach(a=>{var s;return(s=this.capturedTransaction)===null||s===void 0?void 0:s.step(a)});return}const n=this.state.apply(t),r=!this.state.selection.eq(n.selection);this.view.updateState(n),this.emit("transaction",{editor:this,transaction:t}),r&&this.emit("selectionUpdate",{editor:this,transaction:t});const i=t.getMeta("focus"),o=t.getMeta("blur");i&&this.emit("focus",{ed
Line truncated
|
||||
|
||||
`,textSerializers:r={}}=t||{};return B$(this.state.doc,{blockSeparator:n,textSerializers:{...ow(this.schema),...r}})}get isEmpty(){return z$(this.state.doc)}getCharacterCount(){return console.warn('[tiptap warn]: "editor.getCharacterCount()" is deprecated. Please use "editor.storage.characterCount.characters()" instead.'),this.state.doc.content.size-2}destroy(){this.emit("destroy"),this.view&&this.view.destroy(),this.removeAllListeners()}get isDestroyed(){var t;return!(!((t=this.view)===null||t===void 0)&&t.docView)}$node(t,n){var r;return((r=this.$doc)===null||r===void 0?void 0:r.querySelector(t,n))||null}$nodes(t,n){var r;return((r=this.$doc)===null||r===void 0?void 0:r.querySelectorAll(t,n))||null}$pos(t){const n=this.state.doc.resolve(t);return new ma(n,this)}get $doc(){return this.$pos(0)}};function Ya(e){return new Ou({find:e.find,handler:({state:t,range:n,match:r})=>{const i=Be(e.getAttributes,void 0,r);if(i===!1||i===null)return null;const{tr:o}=t,a=r[r.length-1],s=r[0];if(a){const c=s.search(/\S/),d=n.from+s.indexOf(a),p=d+a.length;if(vT(n.from,n.to,t.doc).filter(g=>g.mark.type.excluded.find(S=>S===e.type&&S!==g.mark.type)).filter(g=>g.to>d).length)return null;p<n.to&&o.delete(p,n.to),d>n.from&&o.delete(n.from+c,d);const f=n.from+c+a.length;o.addMark(n.from+c,f,e.type.create(i||{})),o.removeStoredMark(e.type)}}})}function uw(e){return new Ou({find:e.find,handler:({state:t,range:n,match:r})=>{const i=Be(e.getAttributes,void 0,r)||{},{tr:o}=t,a=n.from;let s=n.to;const c=e.type.create(i);if(r[1]){const d=r[0].lastIndexOf(r[1]);let p=a+d;p>s?p=s:s=p+r[1].length;const _=r[0][r[0].length-1];o.insertText(_,a+r[0].length-1),o.replaceWith(p,s,c)}else if(r[0]){const d=e.type.isInline?a:a-1;o.insert(d,e.type.create(i)).delete(o.mapping.map(a),o.mapping.map(s))}o.scrollIntoView()}})}function WE(e){return new Ou({find:e.find,handler:({state:t,range:n,match:r})=>{const i=t.doc.resolve(n.from),o=Be(e.getAttributes,void 0,r)||{};if(!i.node(-1).canReplaceWith(i.index(-1),i.indexAfter(-1),e.type))return null;t.tr.delete(n.from,n.to).setBlockType(n.from,n.from,e.type,o)}})}function At(e){return new Ou({find:e.find,handler:({state:t,range:n,match:r})=>{let i=e.replace,o=n.from;const a=n.to;if(r[1]){const s=r[0].lastIndexOf(r[1]);i+=r[0].slice(s+r[1].length),o+=s;const c=o-a;c>0&&(i=r[0].slice(s-c,s)+i,o=a)}t.tr.insertText(i,o,a)}})}function ou(e){return new Ou({find:e.find,handler:({state:t,range:n,match:r,chain:i})=>{const o=Be(e.getAttributes,void 0,r)||{},a=t.tr.delete(n.from,n.to),c=a.doc.resolve(n.from).blockRange(),d=c&&cT(c,e.type,o);if(!d)return null;if(a.wrap(c,d),e.keepMarks&&e.editor){const{selection:_,storedMarks:f}=t,{splittableMarks:g}=e.editor.extensionManager,h=f||_.$to.parentOffset&&_.$from.marks();if(h){const S=h.filter(b=>g.includes(b.type.name));a.ensureMarks(S)}}if(e.keepAttributes){const _=e.type.name==="bulletList"||e.type.name==="orderedList"?"listItem":"taskList";i().updateAttributes(_,o).run()}const p=a.doc.resolve(n.from-1).nodeBefore;p&&p.type===e.type&&qo(a.doc,n.from-1)&&(!e.joinPredicate||e.joinPredicate(r,p))&&a.join(n.from-1)}})}class Bt{constructor(t={}){this.type="mark",this.name="mark",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...t},this.name=this.config.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=Be(me(this,"addOptions",{name:this.name}))),this.storage=Be(me(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(t={}){return new Bt(t)}configure(t={}){const n=this.extend({...this.config,addOptions(){var r;return Mm(((r=this.parent)===null||r===void 0?void 0:r.call(this))||{},t)}});return n.name=this.name,n.parent=this.parent,n}extend(t={}){const n=new Bt(t);return n.parent=this,this.child=n,n.name=t.name?t.name:n.parent.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${n.name}".`),n.options=Be(me(n,"addOptions",{name:n.name})),n.storage=Be(me(n,"addStorage",{name:n.name,options:n.options})),n}static handleExit({editor:t,mark:n}){const{tr:r}=t.state,i=t.state.selection.$from;if(i.pos===i.end()){const a=i.marks();if(!!!a.find(d=>(d==null?void 0:d.type.name)===n.name))return!1;const c=a.find(d=>(d==null?void 0:d.type.name)===n.name);return c&&r.removeStoredMark(c),r.insertText(" ",i.pos),t.view.dispatch(r),!0}return!1}}class mt{constructor(t={}){this.type="node",this.name="node",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...t},this.name=this.config.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHLine truncated
|
||||
* @license React
|
||||
* use-sync-external-store-shim.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/var sv;function IV(){if(sv)return ih;sv=1;var e=pt;function t(_,f){return _===f&&(_!==0||1/_===1/f)||_!==_&&f!==f}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,i=e.useEffect,o=e.useLayoutEffect,a=e.useDebugValue;function s(_,f){var g=f(),h=r({inst:{value:g,getSnapshot:f}}),S=h[0].inst,b=h[1];return o(function(){S.value=g,S.getSnapshot=f,c(S)&&b({inst:S})},[_,g,f]),i(function(){return c(S)&&b({inst:S}),_(function(){c(S)&&b({inst:S})})},[_]),a(g),g}function c(_){var f=_.getSnapshot;_=_.value;try{var g=f();return!n(_,g)}catch{return!0}}function d(_,f){return f()}var p=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?d:s;return ih.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:p,ih}var lv;function DV(){return lv||(lv=1,rh.exports=IV()),rh.exports}/**
|
||||
* @license React
|
||||
* use-sync-external-store-shim/with-selector.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/var cv;function wV(){if(cv)return nh;cv=1;var e=pt,t=DV();function n(d,p){return d===p&&(d!==0||1/d===1/p)||d!==d&&p!==p}var r=typeof Object.is=="function"?Object.is:n,i=t.useSyncExternalStore,o=e.useRef,a=e.useEffect,s=e.useMemo,c=e.useDebugValue;return nh.useSyncExternalStoreWithSelector=function(d,p,_,f,g){var h=o(null);if(h.current===null){var S={hasValue:!1,value:null};h.current=S}else S=h.current;h=s(function(){function T(M){if(!y){if(y=!0,R=M,M=f(M),g!==void 0&&S.hasValue){var L=S.value;if(g(L,M))return A=L}return A=M}if(L=A,r(R,M))return L;var $=f(M);return g!==void 0&&g(L,$)?L:(R=M,A=$)}var y=!1,R,A,I=_===void 0?null:_;return[function(){return T(p())},I===null?void 0:function(){return T(I())}]},[p,_,f,g]);var b=i(d,h[0],h[1]);return a(function(){S.hasValue=!0,S.value=b},[b]),c(b),b},nh}dw.exports=wV();var xV=dw.exports;function MV(e){let t=0,n=0,r={editor:e,transactionNumber:0},i=e;const o=new Set;return{getSnapshot(){return t===n||(n=t,r={editor:i,transactionNumber:t}),r},getServerSnapshot(){return{editor:null,transactionNumber:0}},subscribe(s){return o.add(s),()=>{o.delete(s)}},watch(s){if(i=s,i){const c=()=>{t+=1,o.forEach(p=>p())},d=i;return d.on("transaction",c),()=>{d.off("transaction",c)}}}}}function LV(e){const[t]=B.useState(()=>MV(e.editor)),n=xV.useSyncExternalStoreWithSelector(t.subscribe,t.getSnapshot,t.getServerSnapshot,e.selector,e.equalityFn);return B.useEffect(()=>t.watch(e.editor),[e.editor]),B.useDebugValue(n),n}const kV=!1,qE=typeof window>"u",PV=qE||!!(typeof window<"u"&&window.next);function UV(e={},t=[]){const n=B.useRef(!1),[r,i]=B.useState(()=>{if(e.immediatelyRender===void 0)return qE||PV?null:new th(e);if(e.immediatelyRender&&qE&&kV)throw new Error("Tiptap Error: SSR has been detected, and `immediatelyRender` has been set to `true` this is an unsupported configuration that may result in errors, explicitly set `immediatelyRender` to `false` to avoid hydration mismatches.");return e.immediatelyRender?new th(e):null});B.useDebugValue(r),B.useEffect(()=>{let L=r;L?L.setOptions(e):(L=new th(e),i(L))},t);const{onBeforeCreate:o,onBlur:a,onCreate:s,onDestroy:c,onFocus:d,onSelectionUpdate:p,onTransaction:_,onUpdate:f,onContentError:g}=e,h=B.useRef(o),S=B.useRef(a),b=B.useRef(s),T=B.useRef(c),y=B.useRef(d),R=B.useRef(p),A=B.useRef(_),I=B.useRef(f),M=B.useRef(g);return B.useEffect(()=>{r&&(o&&(r.off("beforeCreate",h.current),r.on("beforeCreate",o),h.current=o),a&&(r.off("blur",S.current),r.on("blur",a),S.current=a),s&&(r.off("create",b.current),r.on("create",s),b.current=s),c&&(r.off("destroy",T.current),r.on("destroy",c),T.current=c),d&&(r.off("focus",y.current),r.on("focus",d),y.current=d),p&&(r.off("selectionUpdate",R.current),r.on("selectionUpdate",p),R.current=p),_&&(r.off("transaction",A.current),r.on("transaction",_),A.current=_),f&&(r.off("update",I.current),r.on("update",f),I.current=f),g&&(r.off("contentError",M.current),r.on("contentError",g),M.current=g))},[o,a,s,c,d,p,_,f,g,r]),B.useEffect(()=>(n.current=!0,()=>{n.current=!1,r&&setTimeout(()=>{!n.current&&!r.isDestroyed&&r.destroy()})}),[]),LV({editor:r,selector:({transactionNumber:L})=>e.shouldRerenderOnTransaction===!1?null:e.immediatelyRender&&L===0?0:L+1}),r}const Ue=B.createContext({editor:null}),FV=Ue.Consumer;function BV({children:e,slotAfter:t,slotBefore:n,...r}){const i=UV(r);return i?pt.createElement(Ue.Provider,{value:{editor:i}},n,pt.createElement(FV,null,({editor:o})=>pt.createElement(AV,{editor:o})),e,t):null}const pw=B.createContext({onDragStart:void 0}),_w=()=>B.useContext(pw),OT=e=>{const t=e.as||"div",{nodeViewContentRef:n}=_w();return pt.createElement(t,{...e,ref:n,"data-node-view-content":"",style:{whiteSpace:"pre-wrap",...e.style}})},hl=pt.forwardRef((e,t)=>{const{onDragStart:n}=_w(),r=e.as||"div";return pt.createElement(r,{...e,ref:t,"data-node-view-wrapper":"",onDragStart:n,style:{whiteSpace:"normal",...e.style}})});function GV(e){return!!(typeof e=="function"&&e.prototype&&e.prototype.isReactComponent)}function YV(e){var t;return typeof e=="object"&&((t=e.$$typeof)===null||t===void 0?void 0:t.toString())==="Symbol(react.forward_ref)"}class mw{constructor(t,{editor:n,props:r={},as:i="div",className:o="",attrs:a}){this.ref=null,this.id=Math.floor(Math.random()*4294967295).toString(),this.component=t,this.editor=n,this.props=r,this.element=document.createElement(i),this.element.classList.add("react-renderer"),o&&this.element.classList.add(...o.split(" ")),a&&Object.keys(a).forEach(s=>{this.element.setAttribute(s,a[s])}),this.render()}render(){var t,n;const r=this.component,i=this.props;(GV(r)||YV(r))&&(i.ref=o=>{this.ref=o}),this.reactElement=pt.createElement(r,{...i}),(n=(t=this.editor)===null||t===void 0?void 0:t.contentComponent)===null||n===void 0||n.setRenderer(this.id,this)}updateProps(t={}){this.props={...this.props,...t},this.render()}destroy(){var t,n;(n=(t=this.editor)===null||t===void 0?void 0:t.contentComponent)===null||n===void 0||n.removeRenderer(this.id)}}class HV extends yV{mount(Line truncated
|
||||
* @license
|
||||
* Lodash <https://lodash.com/>
|
||||
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|
||||
* Released under MIT license <https://lodash.com/license>
|
||||
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
||||
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
||||
*/C_.exports;(function(e,t){(function(){var n,r="4.17.21",i=200,o="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",a="Expected a function",s="Invalid `variable` option passed into `_.template`",c="__lodash_hash_undefined__",d=500,p="__lodash_placeholder__",_=1,f=2,g=4,h=1,S=2,b=1,T=2,y=4,R=8,A=16,I=32,M=64,L=128,$=256,V=512,H=30,ae="...",_e=800,ue=16,de=1,he=2,Ne=3,x=1/0,D=9007199254740991,G=17976931348623157e292,W=NaN,Z=4294967295,ne=Z-1,De=Z>>>1,Ye=[["ary",L],["bind",b],["bindKey",T],["curry",R],["curryRight",A],["flip",V],["partial",I],["partialRight",M],["rearg",$]],Se="[object Arguments]",Ae="[object Array]",tt="[object AsyncFunction]",nt="[object Boolean]",we="[object Date]",Ee="[object DOMException]",hn="[object Error]",Ln="[object Function]",Zr="[object GeneratorFunction]",ct="[object Map]",qe="[object Number]",Xe="[object Null]",Xt="[object Object]",Mr="[object Promise]",te="[object Proxy]",pr="[object RegExp]",Re="[object Set]",ge="[object String]",En="[object Symbol]",Gt="[object Undefined]",kn="[object WeakMap]",Jr="[object WeakSet]",Y="[object ArrayBuffer]",K="[object DataView]",re="[object Float32Array]",pe="[object Float64Array]",Pe="[object Int8Array]",gt="[object Int16Array]",zi="[object Int32Array]",Wi="[object Uint8Array]",wu="[object Uint8ClampedArray]",xu="[object Uint16Array]",Mu="[object Uint32Array]",rb=/\b__p \+= '';/g,ib=/\b(__p \+=) '' \+/g,ob=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Vm=/&(?:amp|lt|gt|quot|#39);/g,zm=/[&<>"']/g,ab=RegExp(Vm.source),sb=RegExp(zm.source),lb=/<%-([\s\S]+?)%>/g,cb=/<%([\s\S]+?)%>/g,Wm=/<%=([\s\S]+?)%>/g,ub=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,db=/^\w*$/,pb=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Lu=/[\\^$.*+?()[\]{}|]/g,_b=RegExp(Lu.source),ku=/^\s+/,mb=/\s/,fb=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,gb=/\{\n\/\* \[wrapped with (.+)\] \*/,hb=/,? & /,Eb=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Sb=/[()=,{}\[\]\/\s]/,Tb=/\\(\\)?/g,bb=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,qm=/\w*$/,yb=/^[-+]0x[0-9a-f]+$/i,Cb=/^0b[01]+$/i,Rb=/^\[object .+?Constructor\]$/,Nb=/^0o[0-7]+$/i,vb=/^(?:0|[1-9]\d*)$/,Ob=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Cl=/($^)/,Ab=/['\n\r\u2028\u2029\\]/g,Rl="\\ud800-\\udfff",Ib="\\u0300-\\u036f",Db="\\ufe20-\\ufe2f",wb="\\u20d0-\\u20ff",Km=Ib+Db+wb,Qm="\\u2700-\\u27bf",Xm="a-z\\xdf-\\xf6\\xf8-\\xff",xb="\\xac\\xb1\\xd7\\xf7",Mb="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Lb="\\u2000-\\u206f",kb=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",jm="A-Z\\xc0-\\xd6\\xd8-\\xde",Zm="\\ufe0e\\ufe0f",Jm=xb+Mb+Lb+kb,Pu="['’]",Pb="["+Rl+"]",ef="["+Jm+"]",Nl="["+Km+"]",tf="\\d+",Ub="["+Qm+"]",nf="["+Xm+"]",rf="[^"+Rl+Jm+tf+Qm+Xm+jm+"]",vl="\\ud83c[\\udffb-\\udfff]",of="(?:"+Nl+"|"+vl+")",Uu="[^"+Rl+"]",Ol="(?:\\ud83c[\\udde6-\\uddff]){2}",Al="[\\ud800-\\udbff][\\udc00-\\udfff]",qi="["+jm+"]",Fu="\\u200d",Il="(?:"+nf+"|"+rf+")",Bu="(?:"+qi+"|"+rf+")",Dl="(?:"+Pu+"(?:d|ll|m|re|s|t|ve))?",Gu="(?:"+Pu+"(?:D|LL|M|RE|S|T|VE))?",Yu=of+"?",wl="["+Zm+"]?",Xa="(?:"+Fu+"(?:"+[Uu,Ol,Al].join("|")+")"+wl+Yu+")*",xl="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Hu="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Ml=wl+Yu+Xa,$u="(?:"+[Ub,Ol,Al].join("|")+")"+Ml,Fb="(?:"+[Uu+Nl+"?",Nl,Ol,Al,Pb].join("|")+")",Bb=RegExp(Pu,"g"),tM=RegExp(Nl,"g"),af=RegExp(vl+"(?="+vl+")|"+Fb+Ml,"g"),nM=RegExp([qi+"?"+nf+"+"+Dl+"(?="+[ef,qi,"$"].join("|")+")",Bu+"+"+Gu+"(?="+[ef,qi+Il,"$"].join("|")+")",qi+"?"+Il+"+"+Dl,qi+"+"+Gu,Hu,xl,tf,$u].join("|"),"g"),rM=RegExp("["+Fu+Rl+Km+Zm+"]"),iM=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,oM=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],aM=-1,ut={};ut[re]=ut[pe]=ut[Pe]=ut[gt]=ut[zi]=ut[Wi]=ut[wu]=ut[xu]=ut[Mu]=!0,ut[Se]=ut[Ae]=ut[Y]=ut[nt]=ut[K]=ut[we]=ut[hn]=ut[Ln]=ut[ct]=ut[qe]=ut[Xt]=ut[pr]=ut[Re]=ut[ge]=ut[kn]=!1;var rt={};rt[Se]=rt[Ae]=rt[Y]=rt[K]=rt[nt]=rt[we]=rt[re]=rt[pe]=rt[Pe]=rt[gt]=rt[zi]=rt[ct]=rt[qe]=rt[Xt]=rt[pr]=rt[Re]=rt[ge]=rt[En]=rt[Wi]=rt[wu]=rt[xu]=rt[Mu]=!0,rt[hn]=rt[Ln]=rt[kn]=!1;var sM={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",Line truncated
|
||||
/* [wrapped with `+u+`] */
|
||||
`)}function Ck(l){return Ie(l)||ia(l)||!!(ly&&l&&l[ly])}function Ci(l,u){var m=typeof l;return u=u??D,!!u&&(m=="number"||m!="symbol"&&vb.test(l))&&l>-1&&l%1==0&&l<u}function Tn(l,u,m){if(!St(m))return!1;var E=typeof u;return(E=="number"?Un(m)&&Ci(u,m.length):E=="string"&&u in m)?Pr(m[u],l):!1}function qf(l,u){if(Ie(l))return!1;var m=typeof l;return m=="number"||m=="symbol"||m=="boolean"||l==null||Jn(l)?!0:db.test(l)||!ub.test(l)||u!=null&&l in et(u)}function Rk(l){var u=typeof l;return u=="string"||u=="number"||u=="symbol"||u=="boolean"?l!=="__proto__":l===null}function Kf(l){var u=Ed(l),m=v[u];if(typeof m!="function"||!(u in He.prototype))return!1;if(l===m)return!0;var E=Vf(m);return!!E&&l===E[0]}function Nk(l){return!!iy&&iy in l}var vk=Ku?Ri:dg;function Wl(l){var u=l&&l.constructor,m=typeof u=="function"&&u.prototype||ts;return l===m}function iC(l){return l===l&&!St(l)}function oC(l,u){return function(m){return m==null?!1:m[l]===u&&(u!==n||l in et(m))}}function Ok(l){var u=Rd(l,function(E){return m.size===d&&m.clear(),E}),m=u.cache;return u}function Ak(l,u){var m=l[1],E=u[1],C=m|E,O=C<(b|T|L),w=E==L&&m==R||E==L&&m==$&&l[7].length<=u[8]||E==(L|$)&&u[7].length<=u[8]&&m==R;if(!(O||w))return l;E&b&&(l[2]=u[2],C|=m&b?0:y);var k=u[3];if(k){var F=l[3];l[3]=F?Yy(F,k,u[4]):k,l[4]=F?Xi(l[3],p):u[4]}return k=u[5],k&&(F=l[5],l[5]=F?Hy(F,k,u[6]):k,l[6]=F?Xi(l[5],p):u[6]),k=u[7],k&&(l[7]=k),E&L&&(l[8]=l[8]==null?u[8]:sn(l[8],u[8])),l[9]==null&&(l[9]=u[9]),l[0]=u[0],l[1]=C,l}function Ik(l){var u=[];if(l!=null)for(var m in et(l))u.push(m);return u}function Dk(l){return Xu.call(l)}function aC(l,u,m){return u=Pt(u===n?l.length-1:u,0),function(){for(var E=arguments,C=-1,O=Pt(E.length-u,0),w=z(O);++C<O;)w[C]=E[u+C];C=-1;for(var k=z(u+1);++C<u;)k[C]=E[C];return k[u]=m(w),Xn(l,this,k)}}function sC(l,u){return u.length<2?l:ta(l,Er(u,0,-1))}function wk(l,u){for(var m=l.length,E=sn(u.length,m),C=Pn(l);E--;){var O=u[E];l[E]=Ci(O,m)?C[O]:n}return l}function Qf(l,u){if(!(u==="constructor"&&typeof l[u]=="function")&&u!="__proto__")return l[u]}var lC=uC(wy),ql=WM||function(l,u){return jt.setTimeout(l,u)},Xf=uC(ek);function cC(l,u,m){var E=u+"";return Xf(l,yk(E,xk(Sk(E),m)))}function uC(l){var u=0,m=0;return function(){var E=XM(),C=ue-(E-m);if(m=E,C>0){if(++u>=_e)return arguments[0]}else u=0;return l.apply(n,arguments)}}function Td(l,u){var m=-1,E=l.length,C=E-1;for(u=u===n?E:u;++m<u;){var O=xf(m,C),w=l[O];l[O]=l[m],l[m]=w}return l.length=u,l}var dC=Ok(function(l){var u=[];return l.charCodeAt(0)===46&&u.push(""),l.replace(pb,function(m,E,C,O){u.push(C?O.replace(Tb,"$1"):E||m)}),u});function ni(l){if(typeof l=="string"||Jn(l))return l;var u=l+"";return u=="0"&&1/l==-x?"-0":u}function ra(l){if(l!=null){try{return Qu.call(l)}catch{}try{return l+""}catch{}}return""}function xk(l,u){return mr(Ye,function(m){var E="_."+m[0];u&m[1]&&!Vu(l,E)&&l.push(E)}),l.sort()}function pC(l){if(l instanceof He)return l.clone();var u=new gr(l.__wrapped__,l.__chain__);return u.__actions__=Pn(l.__actions__),u.__index__=l.__index__,u.__values__=l.__values__,u}function Mk(l,u,m){(m?Tn(l,u,m):u===n)?u=1:u=Pt(xe(u),0);var E=l==null?0:l.length;if(!E||u<1)return[];for(var C=0,O=0,w=z(nd(E/u));C<E;)w[O++]=Er(l,C,C+=u);return w}function Lk(l){for(var u=-1,m=l==null?0:l.length,E=0,C=[];++u<m;){var O=l[u];O&&(C[E++]=O)}return C}function kk(){var l=arguments.length;if(!l)return[];for(var u=z(l-1),m=arguments[0],E=l;E--;)u[E-1]=arguments[E];return Qi(Ie(m)?Pn(m):[m],Zt(u,1))}var Pk=ke(function(l,u){return It(l)?Yl(l,Zt(u,1,It,!0)):[]}),Uk=ke(function(l,u){var m=Sr(u);return It(m)&&(m=n),It(l)?Yl(l,Zt(u,1,It,!0),be(m,2)):[]}),Fk=ke(function(l,u){var m=Sr(u);return It(m)&&(m=n),It(l)?Yl(l,Zt(u,1,It,!0),n,m):[]});function Bk(l,u,m){var E=l==null?0:l.length;return E?(u=m||u===n?1:xe(u),Er(l,u<0?0:u,E)):[]}function Gk(l,u,m){var E=l==null?0:l.length;return E?(u=m||u===n?1:xe(u),u=E-u,Er(l,0,u<0?0:u)):[]}function Yk(l,u){return l&&l.length?pd(l,be(u,3),!0,!0):[]}function Hk(l,u){return l&&l.length?pd(l,be(u,3),!0):[]}function $k(l,u,m,E){var C=l==null?0:l.length;return C?(m&&typeof m!="number"&&Tn(l,u,m)&&(m=0,E=C),kL(l,u,m,E)):[]}function _C(l,u,m){var E=l==null?0:l.length;if(!E)return-1;var C=m==null?0:xe(m);return C<0&&(C=Pt(E+C,0)),zu(l,be(u,3),C)}function mC(l,u,m){var E=l==null?0:l.length;if(!E)return-1;var C=E-1;return m!==n&&(C=xe(m),C=m<0?Pt(E+C,0):sn(C,E-1)),zu(l,be(u,3),C,!0)}function fC(l){var u=l==null?0:l.length;return u?Zt(l,1):[]}function Vk(l){var u=l==null?0:l.length;return u?Zt(l,x):[]}function zk(l,u){var m=l==null?0:l.length;return m?(u=u===n?1:xe(u),Zt(l,u)):[]}function Wk(l){for(var u=-1,m=l==null?0:l.length,E={};++u<m;){var C=l[u];E[C[0]]=C[1]}return E}function gC(l){return l&&l.length?l[0]:n}function qk(l,u,m){var E=l==null?0:l.length;if(!E)return-1;var C=m==null?0:xe(m);return C<0&&(C=Pt(E+C,0)),ja(l,u,C)}function Kk(l){var u=l==null?0:l.length;return u?Er(l,0,-1):[]}var Qk=ke(function(l){var u=ht(l,Uf);return u.length&&u[0]===l[0]?Of(u):[]}),Xk=ke(
Line truncated
|
||||
`;l.replace(oe,function(Ce,Fe,Ve,er,bn,tr){return Ve||(Ve=er),j+=l.slice(Q,tr).replace(Ab,vM),Fe&&(k=!0,j+=`' +
|
||||
__e(`+Fe+`) +
|
||||
'`),bn&&(F=!0,j+=`';
|
||||
`+bn+`;
|
||||
__p += '`),Ve&&(j+=`' +
|
||||
((__t = (`+Ve+`)) == null ? '' : __t) +
|
||||
'`),Q=tr+Ce.length,Ce}),j+=`';
|
||||
`;var ye=je.call(u,"variable")&&u.variable;if(!ye)j=`with (obj) {
|
||||
`+j+`
|
||||
}
|
||||
`;else if(Sb.test(ye))throw new ve(s);j=(F?j.replace(rb,""):j).replace(ib,"$1").replace(ob,"$1;"),j="function("+(ye||"obj")+`) {
|
||||
`+(ye?"":`obj || (obj = {});
|
||||
`)+"var __t, __p = ''"+(k?", __e = _.escape":"")+(F?`, __j = Array.prototype.join;
|
||||
function print() { __p += __j.call(arguments, '') }
|
||||
`:`;
|
||||
`)+j+`return __p
|
||||
}`;var Me=VC(function(){return Ke(O,fe+"return "+j).apply(n,w)});if(Me.source=j,tg(Me))throw Me;return Me}function Z1(l){return Qe(l).toLowerCase()}function J1(l){return Qe(l).toUpperCase()}function eU(l,u,m){if(l=Qe(l),l&&(m||u===n))return Jb(l);if(!l||!(u=Zn(u)))return l;var E=Lr(l),C=Lr(u),O=ey(E,C),w=ty(E,C)+1;return to(E,O,w).join("")}function tU(l,u,m){if(l=Qe(l),l&&(m||u===n))return l.slice(0,ry(l)+1);if(!l||!(u=Zn(u)))return l;var E=Lr(l),C=ty(E,Lr(u))+1;return to(E,0,C).join("")}function nU(l,u,m){if(l=Qe(l),l&&(m||u===n))return l.replace(ku,"");if(!l||!(u=Zn(u)))return l;var E=Lr(l),C=ey(E,Lr(u));return to(E,C).join("")}function rU(l,u){var m=H,E=ae;if(St(u)){var C="separator"in u?u.separator:C;m="length"in u?xe(u.length):m,E="omission"in u?Zn(u.omission):E}l=Qe(l);var O=l.length;if(Za(l)){var w=Lr(l);O=w.length}if(m>=O)return l;var k=m-Ja(E);if(k<1)return E;var F=w?to(w,0,k).join(""):l.slice(0,k);if(C===n)return F+E;if(w&&(k+=F.length-k),ng(C)){if(l.slice(k).search(C)){var Q,X=F;for(C.global||(C=Ef(C.source,Qe(qm.exec(C))+"g")),C.lastIndex=0;Q=C.exec(X);)var j=Q.index;F=F.slice(0,j===n?k:j)}}else if(l.indexOf(Zn(C),k)!=k){var oe=F.lastIndexOf(C);oe>-1&&(F=F.slice(0,oe))}return F+E}function iU(l){return l=Qe(l),l&&ab.test(l)?l.replace(Vm,MM):l}var oU=ss(function(l,u,m){return l+(m?" ":"")+u.toUpperCase()}),og=zy("toUpperCase");function $C(l,u,m){return l=Qe(l),u=m?n:u,u===n?AM(l)?PM(l):SM(l):l.match(u)||[]}var VC=ke(function(l,u){try{return Xn(l,n,u)}catch(m){return tg(m)?m:new ve(m)}}),aU=yi(function(l,u){return mr(u,function(m){m=ni(m),Ti(l,m,Jf(l[m],l))}),l});function sU(l){var u=l==null?0:l.length,m=be();return l=u?ht(l,function(E){if(typeof E[1]!="function")throw new fr(a);return[m(E[0]),E[1]]}):[],ke(function(E){for(var C=-1;++C<u;){var O=l[C];if(Xn(O[0],this,E))return Xn(O[1],this,E)}})}function lU(l){return ML(hr(l,_))}function ag(l){return function(){return l}}function cU(l,u){return l==null||l!==l?u:l}var uU=qy(),dU=qy(!0);function Bn(l){return l}function sg(l){return Cy(typeof l=="function"?l:hr(l,_))}function pU(l){return Ny(hr(l,_))}function _U(l,u){return vy(l,hr(u,_))}var mU=ke(function(l,u){return function(m){return Hl(m,l,u)}}),fU=ke(function(l,u){return function(m){return Hl(l,m,u)}});function lg(l,u,m){var E=Yt(u),C=cd(u,E);m==null&&!(St(u)&&(C.length||!E.length))&&(m=u,u=l,l=this,C=cd(u,Yt(u)));var O=!(St(m)&&"chain"in m)||!!m.chain,w=Ri(l);return mr(C,function(k){var F=u[k];l[k]=F,w&&(l.prototype[k]=function(){var Q=this.__chain__;if(O||Q){var X=l(this.__wrapped__),j=X.__actions__=Pn(this.__actions__);return j.push({func:F,args:arguments,thisArg:l}),X.__chain__=Q,X}return F.apply(l,Qi([this.value()],arguments))})}),l}function gU(){return jt._===this&&(jt._=HM),this}function cg(){}function hU(l){return l=xe(l),ke(function(u){return Oy(u,l)})}var EU=Gf(ht),SU=Gf(Kb),TU=Gf(df);function zC(l){return qf(l)?pf(ni(l)):XL(l)}function bU(l){return function(u){return l==null?n:ta(l,u)}}var yU=Qy(),CU=Qy(!0);function ug(){return[]}function dg(){return!1}function RU(){return{}}function NU(){return""}function vU(){return!0}function OU(l,u){if(l=xe(l),l<1||l>D)return[];var m=Z,E=sn(l,Z);u=be(u),l-=Z;for(var C=ff(E,u);++m<l;)u(m);return C}function AU(l){return Ie(l)?ht(l,ni):Jn(l)?[l]:Pn(dC(Qe(l)))}function IU(l){var u=++GM;return Qe(l)+u}var DU=fd(function(l,u){return l+u},0),wU=Yf("ceil"),xU=fd(function(l,u){return l/u},1),MU=Yf("floor");function LU(l){return l&&l.length?ld(l,Bn,vf):n}function kU(l,u){return l&&l.length?ld(l,be(u,2),vf):n}function PU(l){return jb(l,Bn)}function UU(l,u){return jb(l,be(u,2))}function FU(l){return l&&l.length?ld(l,Bn,Df):n}function BU(l,u){return l&&l.length?ld(l,be(u,2),Df):n}var GU=fd(function(l,u){return l*u},1),YU=Yf("round"),HU=fd(function(l,u){return l-u},0);function $U(l){return l&&l.length?mf(l,Bn):0}function VU(l,u){return l&&l.length?mf(l,be(u,2)):0}return v.after=p0,v.ary=yC,v.assign=J0,v.assignIn=PC,v.assignInWith=Ad,v.assignWith=e1,v.at=t1,v.before=CC,v.bind=Jf,v.bindAll=aU,v.bindKey=RC,v.castArray=R0,v.chain=SC,v.chunk=Mk,v.compact=Lk,v.concat=kk,v.cond=sU,v.conforms=lU,v.constant=ag,v.countBy=$P,v.create=n1,v.curry=NC,v.curryRight=vC,v.debounce=OC,v.defaults=r1,v.defaultsDeep=i1,v.defer=_0,v.delay=m0,v.difference=Pk,v.differenceBy=Uk,v.differenceWith=Fk,v.drop=Bk,v.dropRight=Gk,v.dropRightWhile=Yk,v.dropWhile=Hk,v.fill=$k,v.filter=zP,v.flatMap=KP,v.flatMapDeep=QP,v.flatMapDepth=XP,v.flatten=fC,v.flattenDeep=Vk,v.flattenDepth=zk,v.flip=f0,v.flow=uU,v.flowRight=dU,v.fromPairs=Wk,v.functions=d1,v.functionsIn=p1,v.groupBy=jP,v.initial=Kk,v.intersection=Qk,v.intersectionBy=Xk,v.intersectionWith=jk,v.invert=m1,v.invertBy=f1,v.invokeMap=JP,v.iteratee=sg,v.keyBy=e0,v.keys=Yt,v.keysIn=Fn,v.map=yd,v.mapKeys=h1,v.mapValues=E1,v.matches=pU,v.matchesProperty=_U,v.memoize=Rd,v.merge=S1,v.mergeWith=UC,v.method=mU,v.methodOf=fU,v.mixin=lg,v.negate=Nd,v.nthArg=hU,v.omit=T1,v.omitBy=b1,v.once=g0,v.orderBy=t0,v.over=EU,v.overArgs=h0,v.overEvery=SU,v.overSome=TU,
Line truncated
|
||||
|
||||
`);return!o||!a?!1:e.chain().command(({tr:s})=>(s.delete(r.pos-2,r.pos),!0)).exitCode().run()},ArrowDown:({editor:e})=>{if(!this.options.exitOnArrowDown)return!1;const{state:t}=e,{selection:n,doc:r}=t,{$from:i,empty:o}=n;if(!o||i.parent.type!==this.type||!(i.parentOffset===i.parent.nodeSize-2))return!1;const s=i.after();return s===void 0||r.nodeAt(s)?!1:e.commands.exitCode()}}},addInputRules(){return[WE({find:rz,type:this.type,getAttributes:e=>({language:e[1]})}),WE({find:iz,type:this.type,getAttributes:e=>({language:e[1]})})]},addProseMirrorPlugins(){return[new ft({key:new lt("codeBlockVSCodeHandler"),props:{handlePaste:(e,t)=>{if(!t.clipboardData||this.editor.isActive(this.type.name))return!1;const n=t.clipboardData.getData("text/plain"),r=t.clipboardData.getData("vscode-editor-data"),i=r?JSON.parse(r):void 0,o=i==null?void 0:i.mode;if(!n||!o)return!1;const{tr:a,schema:s}=e.state,c=s.text(n.replace(/\r\n?/g,`
|
||||
`));return a.replaceSelectionWith(this.type.create({language:o},c)),a.selection.$from.parent.type!==this.type&&a.setSelection(Oe.near(a.doc.resolve(Math.max(0,a.selection.from-2)))),a.setMeta("paste",!0),e.dispatch(a),!0}}})]}});function az(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function bw(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{const n=e[t],r=typeof n;(r==="object"||r==="function")&&!Object.isFrozen(n)&&bw(n)}),e}let Sv=class{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function yw(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Co(e,...t){const n=Object.create(null);for(const r in e)n[r]=e[r];return t.forEach(function(r){for(const i in r)n[i]=r[i]}),n}const sz="</span>",Tv=e=>!!e.scope,lz=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const n=e.split(".");return[`${t}${n.shift()}`,...n.map((r,i)=>`${r}${"_".repeat(i+1)}`)].join(" ")}return`${t}${e}`};let cz=class{constructor(t,n){this.buffer="",this.classPrefix=n.classPrefix,t.walk(this)}addText(t){this.buffer+=yw(t)}openNode(t){if(!Tv(t))return;const n=lz(t.scope,{prefix:this.classPrefix});this.span(n)}closeNode(t){Tv(t)&&(this.buffer+=sz)}value(){return this.buffer}span(t){this.buffer+=`<span class="${t}">`}};const bv=(e={})=>{const t={children:[]};return Object.assign(t,e),t};let uz=class Cw{constructor(){this.rootNode=bv(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){const n=bv({scope:t});this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,n){return typeof n=="string"?t.addText(n):n.children&&(t.openNode(n),n.children.forEach(r=>this._walk(t,r)),t.closeNode(n)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(n=>typeof n=="string")?t.children=[t.children.join("")]:t.children.forEach(n=>{Cw._collapse(n)}))}},dz=class extends uz{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,n){const r=t.root;n&&(r.scope=`language:${n}`),this.add(r)}toHTML(){return new cz(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function au(e){return e?typeof e=="string"?e:e.source:null}function Rw(e){return qa("(?=",e,")")}function pz(e){return qa("(?:",e,")*")}function _z(e){return qa("(?:",e,")?")}function qa(...e){return e.map(n=>au(n)).join("")}function mz(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function AT(...e){return"("+(mz(e).capture?"":"?:")+e.map(r=>au(r)).join("|")+")"}function Nw(e){return new RegExp(e.toString()+"|").exec("").length-1}function fz(e,t){const n=e&&e.exec(t);return n&&n.index===0}const gz=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function IT(e,{joinWith:t}){let n=0;return e.map(r=>{n+=1;const i=n;let o=au(r),a="";for(;o.length>0;){const s=gz.exec(o);if(!s){a+=o;break}a+=o.substring(0,s.index),o=o.substring(s.index+s[0].length),s[0][0]==="\\"&&s[1]?a+="\\"+String(Number(s[1])+i):(a+=s[0],s[0]==="("&&n++)}return a}).map(r=>`(${r})`).join(t)}const hz=/\b\B/,vw="[a-zA-Z]\\w*",DT="[a-zA-Z_]\\w*",Ow="\\b\\d+(\\.\\d+)?",Aw="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Iw="\\b(0b[01]+)",Ez="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Sz=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=qa(t,/.*\b/,e.binary,/\b.*/)),Co({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(n,r)=>{n.index!==0&&r.ignoreMatch()}},e)},su={begin:"\\\\[\\s\\S]",relevance:0},Tz={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[su]},bz={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[su]},yz={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},Bm=function(e,t,n={}){const r=Co({scope:"comment",begin:e,end:t,contains:[]},n);r.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const i=AT("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:qa(/[ ]
Line truncated
|
||||
https://github.com/highlightjs/highlight.js/issues/2277`),Z=x,W=D),G===void 0&&(G=!0);const ne={code:W,language:Z};he("before:highlight",ne);const De=ne.result?ne.result:_(ne.language,ne.code,G);return De.code=ne.code,he("after:highlight",De),De}function _(x,D,G,W){const Z=Object.create(null);function ne(Y,K){return Y.keywords[K]}function De(){if(!te.keywords){Re.addText(ge);return}let Y=0;te.keywordPatternRe.lastIndex=0;let K=te.keywordPatternRe.exec(ge),re="";for(;K;){re+=ge.substring(Y,K.index);const pe=Xe.case_insensitive?K[0].toLowerCase():K[0],Pe=ne(te,pe);if(Pe){const[gt,zi]=Pe;if(Re.addText(re),re="",Z[pe]=(Z[pe]||0)+1,Z[pe]<=Jz&&(En+=zi),gt.startsWith("_"))re+=K[0];else{const Wi=Xe.classNameAliases[gt]||gt;Ae(K[0],Wi)}}else re+=K[0];Y=te.keywordPatternRe.lastIndex,K=te.keywordPatternRe.exec(ge)}re+=ge.substring(Y),Re.addText(re)}function Ye(){if(ge==="")return;let Y=null;if(typeof te.subLanguage=="string"){if(!t[te.subLanguage]){Re.addText(ge);return}Y=_(te.subLanguage,ge,!0,pr[te.subLanguage]),pr[te.subLanguage]=Y._top}else Y=g(ge,te.subLanguage.length?te.subLanguage:null);te.relevance>0&&(En+=Y.relevance),Re.__addSublanguage(Y._emitter,Y.language)}function Se(){te.subLanguage!=null?Ye():De(),ge=""}function Ae(Y,K){Y!==""&&(Re.startScope(K),Re.addText(Y),Re.endScope())}function tt(Y,K){let re=1;const pe=K.length-1;for(;re<=pe;){if(!Y._emit[re]){re++;continue}const Pe=Xe.classNameAliases[Y[re]]||Y[re],gt=K[re];Pe?Ae(gt,Pe):(ge=gt,De(),ge=""),re++}}function nt(Y,K){return Y.scope&&typeof Y.scope=="string"&&Re.openNode(Xe.classNameAliases[Y.scope]||Y.scope),Y.beginScope&&(Y.beginScope._wrap?(Ae(ge,Xe.classNameAliases[Y.beginScope._wrap]||Y.beginScope._wrap),ge=""):Y.beginScope._multi&&(tt(Y.beginScope,K),ge="")),te=Object.create(Y,{parent:{value:te}}),te}function we(Y,K,re){let pe=fz(Y.endRe,re);if(pe){if(Y["on:end"]){const Pe=new Sv(Y);Y["on:end"](K,Pe),Pe.isMatchIgnored&&(pe=!1)}if(pe){for(;Y.endsParent&&Y.parent;)Y=Y.parent;return Y}}if(Y.endsWithParent)return we(Y.parent,K,re)}function Ee(Y){return te.matcher.regexIndex===0?(ge+=Y[0],1):(Jr=!0,0)}function hn(Y){const K=Y[0],re=Y.rule,pe=new Sv(re),Pe=[re.__beforeBegin,re["on:begin"]];for(const gt of Pe)if(gt&&(gt(Y,pe),pe.isMatchIgnored))return Ee(K);return re.skip?ge+=K:(re.excludeBegin&&(ge+=K),Se(),!re.returnBegin&&!re.excludeBegin&&(ge=K)),nt(re,Y),re.returnBegin?0:K.length}function Ln(Y){const K=Y[0],re=D.substring(Y.index),pe=we(te,Y,re);if(!pe)return Nv;const Pe=te;te.endScope&&te.endScope._wrap?(Se(),Ae(K,te.endScope._wrap)):te.endScope&&te.endScope._multi?(Se(),tt(te.endScope,Y)):Pe.skip?ge+=K:(Pe.returnEnd||Pe.excludeEnd||(ge+=K),Se(),Pe.excludeEnd&&(ge=K));do te.scope&&Re.closeNode(),!te.skip&&!te.subLanguage&&(En+=te.relevance),te=te.parent;while(te!==pe.parent);return pe.starts&&nt(pe.starts,Y),Pe.returnEnd?0:K.length}function Zr(){const Y=[];for(let K=te;K!==Xe;K=K.parent)K.scope&&Y.unshift(K.scope);Y.forEach(K=>Re.openNode(K))}let ct={};function qe(Y,K){const re=K&&K[0];if(ge+=Y,re==null)return Se(),0;if(ct.type==="begin"&&K.type==="end"&&ct.index===K.index&&re===""){if(ge+=D.slice(K.index,K.index+1),!i){const pe=new Error(`0 width match regex (${x})`);throw pe.languageName=x,pe.badRule=ct.rule,pe}return 1}if(ct=K,K.type==="begin")return hn(K);if(K.type==="illegal"&&!G){const pe=new Error('Illegal lexeme "'+re+'" for mode "'+(te.scope||"<unnamed>")+'"');throw pe.mode=te,pe}else if(K.type==="end"){const pe=Ln(K);if(pe!==Nv)return pe}if(K.type==="illegal"&&re==="")return 1;if(kn>1e5&&kn>K.index*3)throw new Error("potential infinite loop, way more iterations than matches");return ge+=re,re.length}const Xe=V(x);if(!Xe)throw Da(o.replace("{}",x)),new Error('Unknown language: "'+x+'"');const Xt=Qz(Xe);let Mr="",te=W||Xt;const pr={},Re=new s.__emitter(s);Zr();let ge="",En=0,Gt=0,kn=0,Jr=!1;try{if(Xe.__emitTokens)Xe.__emitTokens(D,Re);else{for(te.matcher.considerAll();;){kn++,Jr?Jr=!1:te.matcher.considerAll(),te.matcher.lastIndex=Gt;const Y=te.matcher.exec(D);if(!Y)break;const K=D.substring(Gt,Y.index),re=qe(K,Y);Gt=Y.index+re}qe(D.substring(Gt))}return Re.finalize(),Mr=Re.toHTML(),{language:x,value:Mr,relevance:En,illegal:!1,_emitter:Re,_top:te}}catch(Y){if(Y.message&&Y.message.includes("Illegal"))return{language:x,value:sh(D),illegal:!0,relevance:0,_illegalBy:{message:Y.message,index:Gt,context:D.slice(Gt-100,Gt+100),mode:Y.mode,resultSoFar:Mr},_emitter:Re};if(i)return{language:x,value:sh(D),illegal:!1,relevance:0,errorRaised:Y,_emitter:Re,_top:te};throw Y}}function f(x){const D={value:sh(x),illegal:!1,relevance:0,_top:a,_emitter:new s.__emitter(s)};return D._emitter.addText(x),D}function g(x,D){D=D||s.languages||Object.keys(t);const G=f(x),W=D.filter(V).filter(ae).map(Se=>_(Se,x,!1));W.unshift(G);const Z=W.sort((Se,Ae)=>{if(Se.relevance!==Ae.relevance)return Ae.relevance-Se.relevance;if(Se.language&&Ae.language){if(V(Se.language).supersetOf===Ae.language)return 1;if(V(Ae.language).supersetOf===Se.language)return-1}return 0}),[ne,De]=Z,
Line truncated
|
||||
]*;`,relevance:0},{begin:"[vp][0-9]+"}]}}function HK(e){const t="[a-z][a-zA-Z0-9_]*",n={className:"string",begin:"\\$.{1}"},r={className:"symbol",begin:"#"+e.UNDERSCORE_IDENT_RE};return{name:"Smalltalk",aliases:["st"],keywords:["self","super","nil","true","false","thisContext"],contains:[e.COMMENT('"','"'),e.APOS_STRING_MODE,{className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},{begin:t+":",relevance:0},e.C_NUMBER_MODE,r,n,{begin:"\\|[ ]*"+t+"([ ]+"+t+")*[ ]*\\|",returnBegin:!0,end:/\|/,illegal:/\S/,contains:[{begin:"(\\|[ ]*)?"+t}]},{begin:"#\\(",end:"\\)",contains:[e.APOS_STRING_MODE,n,e.C_NUMBER_MODE,r]}]}}function $K(e){return{name:"SML (Standard ML)",aliases:["ml"],keywords:{$pattern:"[a-z_]\\w*!?",keyword:"abstype and andalso as case datatype do else end eqtype exception fn fun functor handle if in include infix infixr let local nonfix of op open orelse raise rec sharing sig signature struct structure then type val with withtype where while",built_in:"array bool char exn int list option order real ref string substring vector unit word",literal:"true false NONE SOME LESS EQUAL GREATER nil"},illegal:/\/\/|>>/,contains:[{className:"literal",begin:/\[(\|\|)?\]|\(\)/,relevance:0},e.COMMENT("\\(\\*","\\*\\)",{contains:["self"]}),{className:"symbol",begin:"'[A-Za-z_](?!')[\\w']*"},{className:"type",begin:"`[A-Z][\\w']*"},{className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},{begin:"[a-z_]\\w*'[\\w']*"},e.inherit(e.APOS_STRING_MODE,{className:"string",relevance:0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{className:"number",begin:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",relevance:0},{begin:/[-=]>/}]}}function VK(e){const t={className:"variable",begin:/\b_+[a-zA-Z]\w*/},n={className:"title",begin:/[a-zA-Z][a-zA-Z_0-9]*_fnc_[a-zA-Z_0-9]+/},r={className:"string",variants:[{begin:'"',end:'"',contains:[{begin:'""',relevance:0}]},{begin:"'",end:"'",contains:[{begin:"''",relevance:0}]}]},i=["break","breakWith","breakOut","breakTo","case","catch","continue","continueWith","default","do","else","exit","exitWith","for","forEach","from","if","local","private","switch","step","then","throw","to","try","waitUntil","while","with"],o=["blufor","civilian","configNull","controlNull","displayNull","diaryRecordNull","east","endl","false","grpNull","independent","lineBreak","locationNull","nil","objNull","opfor","pi","resistance","scriptNull","sideAmbientLife","sideEmpty","sideEnemy","sideFriendly","sideLogic","sideUnknown","taskNull","teamMemberNull","true","west"],a=["abs","accTime","acos","action","actionIDs","actionKeys","actionKeysEx","actionKeysImages","actionKeysNames","actionKeysNamesArray","actionName","actionParams","activateAddons","activatedAddons","activateKey","activeTitleEffectParams","add3DENConnection","add3DENEventHandler","add3DENLayer","addAction","addBackpack","addBackpackCargo","addBackpackCargoGlobal","addBackpackGlobal","addBinocularItem","addCamShake","addCuratorAddons","addCuratorCameraArea","addCuratorEditableObjects","addCuratorEditingArea","addCuratorPoints","addEditorObject","addEventHandler","addForce","addForceGeneratorRTD","addGoggles","addGroupIcon","addHandgunItem","addHeadgear","addItem","addItemCargo","addItemCargoGlobal","addItemPool","addItemToBackpack","addItemToUniform","addItemToVest","addLiveStats","addMagazine","addMagazineAmmoCargo","addMagazineCargo","addMagazineCargoGlobal","addMagazineGlobal","addMagazinePool","addMagazines","addMagazineTurret","addMenu","addMenuItem","addMissionEventHandler","addMPEventHandler","addMusicEventHandler","addonFiles","addOwnedMine","addPlayerScores","addPrimaryWeaponItem","addPublicVariableEventHandler","addRating","addResources","addScore","addScoreSide","addSecondaryWeaponItem","addSwitchableUnit","addTeamMember","addToRemainsCollector","addTorque","addUniform","addUserActionEventHandler","addVehicle","addVest","addWaypoint","addWeapon","addWeaponCargo","addWeaponCargoGlobal","addWeaponGlobal","addWeaponItem","addWeaponPool","addWeaponTurret","addWeaponWithAttachmentsCargo","addWeaponWithAttachmentsCargoGlobal","admin","agent","agents","AGLToASL","aimedAtTarget","aimPos","airDensityCurveRTD","airDensityRTD","airplaneThrottle","airportSide","AISFinishHeal","alive","all3DENEntities","allActiveTitleEffects","allAddonsInfo","allAirports","allControls","allCurators","allCutLayers","allDead","allDeadMen","allDiaryRecords","allDiarySubjects","allDisplays","allEnv3DSoundSources","allGroups","allLODs","allMapMarkers","allMines","allMissionObjects","allObjects","allow3DMode","allowCrewInImmobile","allowCuratorLogicIgnoreAreas","allowDamage","allowDammage","allowedService","allowFileOperations","allowFleeing","allowGetIn","allowService","allowSprint","allPlayers","allSimpleObjects","allSites","allTurrets","allUnits","allUnitsUAV","allUsers","allVariables","ambientTemperature","ammo","ammoOnPylon","and","animate","animateBay","animateDoor","animatePylon","animateSouLine truncated
|
||||
]*?"'`},{begin:`"[^\r
|
||||
"]*"`}]},{className:"built_in",variants:[{begin:"\\b(abs|acos|asin|atan|atan2|atanh|ceil|cloglog|comb|cos|digamma|exp|floor|invcloglog|invlogit|ln|lnfact|lnfactorial|lngamma|log|log10|max|min|mod|reldif|round|sign|sin|sqrt|sum|tan|tanh|trigamma|trunc|betaden|Binomial|binorm|binormal|chi2|chi2tail|dgammapda|dgammapdada|dgammapdadx|dgammapdx|dgammapdxdx|F|Fden|Ftail|gammaden|gammap|ibeta|invbinomial|invchi2|invchi2tail|invF|invFtail|invgammap|invibeta|invnchi2|invnFtail|invnibeta|invnorm|invnormal|invttail|nbetaden|nchi2|nFden|nFtail|nibeta|norm|normal|normalden|normd|npnchi2|tden|ttail|uniform|abbrev|char|index|indexnot|length|lower|ltrim|match|plural|proper|real|regexm|regexr|regexs|reverse|rtrim|string|strlen|strlower|strltrim|strmatch|strofreal|strpos|strproper|strreverse|strrtrim|strtrim|strupper|subinstr|subinword|substr|trim|upper|word|wordcount|_caller|autocode|byteorder|chop|clip|cond|e|epsdouble|epsfloat|group|inlist|inrange|irecode|matrix|maxbyte|maxdouble|maxfloat|maxint|maxlong|mi|minbyte|mindouble|minfloat|minint|minlong|missing|r|recode|replay|return|s|scalar|d|date|day|dow|doy|halfyear|mdy|month|quarter|week|year|d|daily|dofd|dofh|dofm|dofq|dofw|dofy|h|halfyearly|hofd|m|mofd|monthly|q|qofd|quarterly|tin|twithin|w|weekly|wofd|y|yearly|yh|ym|yofd|yq|yw|cholesky|colnumb|colsof|corr|det|diag|diag0cnt|el|get|hadamard|I|inv|invsym|issym|issymmetric|J|matmissing|matuniform|mreldif|nullmat|rownumb|rowsof|sweep|syminv|trace|vec|vecdiag)(?=\\()"}]},e.COMMENT("^[ ]*\\*.*$",!1),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]}}function qK(e){return{name:"STEP Part 21",aliases:["p21","step","stp"],case_insensitive:!0,keywords:{$pattern:"[A-Z_][A-Z0-9_.]*",keyword:["HEADER","ENDSEC","DATA"]},contains:[{className:"meta",begin:"ISO-10303-21;",relevance:10},{className:"meta",begin:"END-ISO-10303-21;",relevance:10},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.COMMENT("/\\*\\*!","\\*/"),e.C_NUMBER_MODE,e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{className:"string",begin:"'",end:"'"},{className:"symbol",variants:[{begin:"#",end:"\\d+",illegal:"\\W"}]}]}}const KK=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}),QK=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],XK=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],jK=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],ZK=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],JK=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","backgrou
Line truncated
|
||||
(multipart)?`,end:`\\]
|
||||
`},{className:"string",begin:"\\d{4}-\\d{2}-\\d{2}(\\s+)\\d{2}:\\d{2}:\\d{2}.\\d+Z"},{className:"string",begin:"(\\+|-)\\d+"},{className:"keyword",relevance:10,variants:[{begin:"^(test|testing|success|successful|failure|error|skip|xfail|uxsuccess)(:?)\\s+(test)?"},{begin:"^progress(:?)(\\s+)?(pop|push)?"},{begin:"^tags:"},{begin:"^time:"}]}]}}function n3(e){return{name:"Tagger Script",contains:[{className:"comment",begin:/\$noop\(/,end:/\)/,contains:[{begin:/\\[()]/},{begin:/\(/,end:/\)/,contains:[{begin:/\\[()]/},"self"]}],relevance:10},{className:"keyword",begin:/\$[_a-zA-Z0-9]+(?=\()/},{className:"variable",begin:/%[_a-zA-Z0-9:]+%/},{className:"symbol",begin:/\\[\\nt$%,()]/},{className:"symbol",begin:/\\u[a-fA-F0-9]{4}/}]}}function r3(e){return{name:"Test Anything Protocol",case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"meta",variants:[{begin:"^TAP version (\\d+)$"},{begin:"^1\\.\\.(\\d+)$"}]},{begin:/---$/,end:"\\.\\.\\.$",subLanguage:"yaml",relevance:0},{className:"number",begin:" (\\d+) "},{className:"symbol",variants:[{begin:"^ok"},{begin:"^not ok"}]}]}}function i3(e){const t=e.regex,n=/[a-zA-Z_][a-zA-Z0-9_]*/,r={className:"number",variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]};return{name:"Tcl",aliases:["tk"],keywords:["after","append","apply","array","auto_execok","auto_import","auto_load","auto_mkindex","auto_mkindex_old","auto_qualify","auto_reset","bgerror","binary","break","catch","cd","chan","clock","close","concat","continue","dde","dict","encoding","eof","error","eval","exec","exit","expr","fblocked","fconfigure","fcopy","file","fileevent","filename","flush","for","foreach","format","gets","glob","global","history","http","if","incr","info","interp","join","lappend|10","lassign|10","lindex|10","linsert|10","list","llength|10","load","lrange|10","lrepeat|10","lreplace|10","lreverse|10","lsearch|10","lset|10","lsort|10","mathfunc","mathop","memory","msgcat","namespace","open","package","parray","pid","pkg::create","pkg_mkIndex","platform","platform::shell","proc","puts","pwd","read","refchan","regexp","registry","regsub|10","rename","return","safe","scan","seek","set","socket","source","split","string","subst","switch","tcl_endOfWord","tcl_findLibrary","tcl_startOfNextWord","tcl_startOfPreviousWord","tcl_wordBreakAfter","tcl_wordBreakBefore","tcltest","tclvars","tell","time","tm","trace","unknown","unload","unset","update","uplevel","upvar","variable","vwait","while"],contains:[e.COMMENT(";[ \\t]*#","$"),e.COMMENT("^[ \\t]*#","$"),{beginKeywords:"proc",end:"[\\{]",excludeEnd:!0,contains:[{className:"title",begin:"[ \\t\\n\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",end:"[ \\t\\n\\r]",endsWithParent:!0,excludeEnd:!0}]},{className:"variable",variants:[{begin:t.concat(/\$/,t.optional(/::/),n,"(::",n,")*")},{begin:"\\$\\{(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",end:"\\}",contains:[r]}]},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},r]}}function o3(e){const t=["bool","byte","i16","i32","i64","double","string","binary"];return{name:"Thrift",keywords:{keyword:["namespace","const","typedef","struct","enum","service","exception","void","oneway","set","list","map","required","optional"],type:t,literal:"true false"},contains:[e.QUOTE_STRING_MODE,e.NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"class",beginKeywords:"struct enum service exception",end:/\{/,illegal:/\n/,contains:[e.inherit(e.TITLE_MODE,{starts:{endsWithParent:!0,excludeEnd:!0}})]},{begin:"\\b(set|list|map)\\s*<",keywords:{type:[...t,"set","list","map"]},end:">",contains:["self"]}]}}function a3(e){const t={className:"number",begin:"[1-9][0-9]*",relevance:0},n={className:"symbol",begin:":[^\\]]+"},r={className:"built_in",begin:"(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER|TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\[",end:"\\]",contains:["self",t,n]},i={className:"built_in",begin:"(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\[",end:"\\]",contains:["self",t,e.QUOTE_STRING_MODE,n]};return{name:"TP",keywords:{keyword:["ABORT","ACC","ADJUST","AND","AP_LD","BREAK","CALL","CNT","COL","CONDITION","CONFIG","DA","DB","DIV","DETECT","ELSE","END","ENDFOR","ERR_NUM","ERROR_PROG","FINE","FOR","GP","GUARD","INC","IF","JMP","LINEAR_MAX_SPEED","LOCK","MOD","MONITOR","OFFSET","Offset","OR","OVERRIDE","PAUSE","PREG","PTH","RT_LD","RUN","SELECT","SKIP","Skip","TA","TB","TO","TOOL_OFFSET","Tool_Offset","UF","UT","UFRAME_NUM","UTOOL_NUM","UNLOCK","WAIT","X","Y","Z","W","P","R","STRLEN","SUBSTR","FINDSTR","VOFFSET","PROG","ATTR","MN","POS"],literal:["ON","OFF","max_speed","LPOS","JPOS","ENABLE","DISABLE","START","STOP","RESET"]},contains:[r,i,{className:"keyword",begin:"/(PROG|ATTR|MN|POS|END)\\b"},{className:"keyword",begin:"(CALL|RUN|POINT_LOGIC|LBL)\\b"},{className:"keyword",begin:"\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)"},{className:"number",begin:"\\d+(sec|msec|mm/sec|cm/min|inch/min|deg/sec|mm|in|cm)?\\b",relevance:0},e.COMMENT
Line truncated
|
||||
`},d]}}const z3=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}),W3=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],q3=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],Gw=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],Yw=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],K3=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","fon
Line truncated
|
||||
]`,g={scope:"string",variants:[d,c,p,_]},h={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},S=["false","null","true"],b=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],T=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],R={keyword:b,literal:(ue=>{const de=[];return ue.forEach(he=>{de.push(he),he.toLowerCase()===he?de.push(he.toUpperCase()):de.push(he.toLowerCase())}),de})(S),built_in:T},A=ue=>ue.map(de=>de.replace(/\|\d+$/,"")),I={variants:[{match:[/new/,t.concat(f,"+"),t.concat("(?!",A(T).join("\\b|"),"\\b)"),i],scope:{1:"keyword",4:"title.class"}}]},M=t.concat(r,"\\b(?!\\()"),L={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),M],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[i,t.concat(/::/,t.lookahead(/(?!class\b)/)),M],scope:{1:"title.class",3:"variable.constant"}},{match:[i,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},$={scope:"attr",match:t.concat(r,t.lookahead(":"),t.lookahead(/(?!::)/))},V={relevance:0,begin:/\(/,end:/\)/,keywords:R,contains:[$,o,L,e.C_BLOCK_COMMENT_MODE,g,h,I]},H={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",A(b).join("\\b|"),"|",A(T).join("\\b|"),"\\b)"),r,t.concat(f,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[V]};V.contains.push(H);const ae=[$,L,e.C_BLOCK_COMMENT_MODE,g,h,I],_e={begin:t.concat(/#\[\s*/,i),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:S,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:S,keyword:["new","array"]},contains:["self",...ae]},...ae,{scope:"meta",match:i}]};return{case_insensitive:!1,keywords:R,contains:[_e,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},a,{scope:"variable.language",match:/\$this\b/},o,H,L,{match:[/const/,/\s/,r],scope:{1:"keyword",3:"variable.constant"}},I,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:R,contains:["self",o,L,e.C_BLOCK_COMMENT_MODE,g,h]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trai
Line truncated
|
||||
https://github.com/highlightjs/highlight.js/issues/2277`),Z=x,W=D),G===void 0&&(G=!0);const ne={code:W,language:Z};he("before:highlight",ne);const De=ne.result?ne.result:_(ne.language,ne.code,G);return De.code=ne.code,he("after:highlight",De),De}function _(x,D,G,W){const Z=Object.create(null);function ne(Y,K){return Y.keywords[K]}function De(){if(!te.keywords){Re.addText(ge);return}let Y=0;te.keywordPatternRe.lastIndex=0;let K=te.keywordPatternRe.exec(ge),re="";for(;K;){re+=ge.substring(Y,K.index);const pe=Xe.case_insensitive?K[0].toLowerCase():K[0],Pe=ne(te,pe);if(Pe){const[gt,zi]=Pe;if(Re.addText(re),re="",Z[pe]=(Z[pe]||0)+1,Z[pe]<=R4&&(En+=zi),gt.startsWith("_"))re+=K[0];else{const Wi=Xe.classNameAliases[gt]||gt;Ae(K[0],Wi)}}else re+=K[0];Y=te.keywordPatternRe.lastIndex,K=te.keywordPatternRe.exec(ge)}re+=ge.substring(Y),Re.addText(re)}function Ye(){if(ge==="")return;let Y=null;if(typeof te.subLanguage=="string"){if(!t[te.subLanguage]){Re.addText(ge);return}Y=_(te.subLanguage,ge,!0,pr[te.subLanguage]),pr[te.subLanguage]=Y._top}else Y=g(ge,te.subLanguage.length?te.subLanguage:null);te.relevance>0&&(En+=Y.relevance),Re.__addSublanguage(Y._emitter,Y.language)}function Se(){te.subLanguage!=null?Ye():De(),ge=""}function Ae(Y,K){Y!==""&&(Re.startScope(K),Re.addText(Y),Re.endScope())}function tt(Y,K){let re=1;const pe=K.length-1;for(;re<=pe;){if(!Y._emit[re]){re++;continue}const Pe=Xe.classNameAliases[Y[re]]||Y[re],gt=K[re];Pe?Ae(gt,Pe):(ge=gt,De(),ge=""),re++}}function nt(Y,K){return Y.scope&&typeof Y.scope=="string"&&Re.openNode(Xe.classNameAliases[Y.scope]||Y.scope),Y.beginScope&&(Y.beginScope._wrap?(Ae(ge,Xe.classNameAliases[Y.beginScope._wrap]||Y.beginScope._wrap),ge=""):Y.beginScope._multi&&(tt(Y.beginScope,K),ge="")),te=Object.create(Y,{parent:{value:te}}),te}function we(Y,K,re){let pe=GQ(Y.endRe,re);if(pe){if(Y["on:end"]){const Pe=new Mv(Y);Y["on:end"](K,Pe),Pe.isMatchIgnored&&(pe=!1)}if(pe){for(;Y.endsParent&&Y.parent;)Y=Y.parent;return Y}}if(Y.endsWithParent)return we(Y.parent,K,re)}function Ee(Y){return te.matcher.regexIndex===0?(ge+=Y[0],1):(Jr=!0,0)}function hn(Y){const K=Y[0],re=Y.rule,pe=new Mv(re),Pe=[re.__beforeBegin,re["on:begin"]];for(const gt of Pe)if(gt&&(gt(Y,pe),pe.isMatchIgnored))return Ee(K);return re.skip?ge+=K:(re.excludeBegin&&(ge+=K),Se(),!re.returnBegin&&!re.excludeBegin&&(ge=K)),nt(re,Y),re.returnBegin?0:K.length}function Ln(Y){const K=Y[0],re=D.substring(Y.index),pe=we(te,Y,re);if(!pe)return Bv;const Pe=te;te.endScope&&te.endScope._wrap?(Se(),Ae(K,te.endScope._wrap)):te.endScope&&te.endScope._multi?(Se(),tt(te.endScope,Y)):Pe.skip?ge+=K:(Pe.returnEnd||Pe.excludeEnd||(ge+=K),Se(),Pe.excludeEnd&&(ge=K));do te.scope&&Re.closeNode(),!te.skip&&!te.subLanguage&&(En+=te.relevance),te=te.parent;while(te!==pe.parent);return pe.starts&&nt(pe.starts,Y),Pe.returnEnd?0:K.length}function Zr(){const Y=[];for(let K=te;K!==Xe;K=K.parent)K.scope&&Y.unshift(K.scope);Y.forEach(K=>Re.openNode(K))}let ct={};function qe(Y,K){const re=K&&K[0];if(ge+=Y,re==null)return Se(),0;if(ct.type==="begin"&&K.type==="end"&&ct.index===K.index&&re===""){if(ge+=D.slice(K.index,K.index+1),!i){const pe=new Error(`0 width match regex (${x})`);throw pe.languageName=x,pe.badRule=ct.rule,pe}return 1}if(ct=K,K.type==="begin")return hn(K);if(K.type==="illegal"&&!G){const pe=new Error('Illegal lexeme "'+re+'" for mode "'+(te.scope||"<unnamed>")+'"');throw pe.mode=te,pe}else if(K.type==="end"){const pe=Ln(K);if(pe!==Bv)return pe}if(K.type==="illegal"&&re==="")return 1;if(kn>1e5&&kn>K.index*3)throw new Error("potential infinite loop, way more iterations than matches");return ge+=re,re.length}const Xe=V(x);if(!Xe)throw wa(o.replace("{}",x)),new Error('Unknown language: "'+x+'"');const Xt=T4(Xe);let Mr="",te=W||Xt;const pr={},Re=new s.__emitter(s);Zr();let ge="",En=0,Gt=0,kn=0,Jr=!1;try{if(Xe.__emitTokens)Xe.__emitTokens(D,Re);else{for(te.matcher.considerAll();;){kn++,Jr?Jr=!1:te.matcher.considerAll(),te.matcher.lastIndex=Gt;const Y=te.matcher.exec(D);if(!Y)break;const K=D.substring(Gt,Y.index),re=qe(K,Y);Gt=Y.index+re}qe(D.substring(Gt))}return Re.finalize(),Mr=Re.toHTML(),{language:x,value:Mr,relevance:En,illegal:!1,_emitter:Re,_top:te}}catch(Y){if(Y.message&&Y.message.includes("Illegal"))return{language:x,value:ph(D),illegal:!0,relevance:0,_illegalBy:{message:Y.message,index:Gt,context:D.slice(Gt-100,Gt+100),mode:Y.mode,resultSoFar:Mr},_emitter:Re};if(i)return{language:x,value:ph(D),illegal:!1,relevance:0,errorRaised:Y,_emitter:Re,_top:te};throw Y}}function f(x){const D={value:ph(x),illegal:!1,relevance:0,_top:a,_emitter:new s.__emitter(s)};return D._emitter.addText(x),D}function g(x,D){D=D||s.languages||Object.keys(t);const G=f(x),W=D.filter(V).filter(ae).map(Se=>_(Se,x,!1));W.unshift(G);const Z=W.sort((Se,Ae)=>{if(Se.relevance!==Ae.relevance)return Ae.relevance-Se.relevance;if(Se.language&&Ae.language){if(V(Se.language).supersetOf===Ae.language)return 1;if(V(Ae.language).supersetOf===Se.language)return-1}return 0}),[ne,De]=Z,
Line truncated
|
||||
|
||||
`);return!r||!i?!1:!!e.chain().command(({tr:o})=>(o.delete(t.pos-2,t.pos),!0)).exitCode().run()}function F4(){if(this.options.codeMode)return!1;const{empty:e,$anchor:t}=this.editor.state.selection,n=t.pos===1;return!e||t.parent.type.name!==this.name?!1:n||!t.parent.textContent.length?!!this.editor.commands.clearNodes():!1}function B4({editor:e}){const t=e.state.selection.$from.parent.textContent.slice(0,e.state.selection.$from.parentOffset);return(t==null?void 0:t.split(`
|
||||
`))||[]}const UT=["arduino","bash","c","cpp","csharp","css","diff","go","graphql","ini","java","javascript","json","kotlin","less","lua","makefile","markdown","objectivec","perl","php","php-template","plaintext","python","python-repl","r","ruby","rust","scss","shell","sql","swift","typescript","vbnet","wasm","xml","yaml","ipsphtml","ipscss"],G4=mt.create({name:"listItem",addOptions(){return{HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}},content:"paragraph block*",defining:!0,parseHTML(){return[{tag:"li"}]},renderHTML({HTMLAttributes:e}){return["li",We(this.options.HTMLAttributes,e),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),du=G4.extend({parseHTML(){return[{tag:"li",getAttrs:e=>{var t;if(((t=e.childNodes)==null?void 0:t.length)>1){const n=document.createElement("div");n.innerHTML=e.innerHTML,e.innerHTML="",e.appendChild(n)}return null}}]}});function zt(e,t="",n=!0){const r=i=>{t&&(i.message=t+": "+i.message),window.Debug[n?"warn":"error"](i)};try{const i=e();return i instanceof Promise?new Promise(o=>{i.catch(r).finally(()=>o(!1))}):!0}catch(i){return r(i),!1}}const Kn=wT.extend({addCommands(){var e;return{...(e=this.parent)==null?void 0:e.call(this)}},addAttributes(){var e;return{language:{default:this.options.defaultLanguage||((e=this.options.allowedLanguages)==null?void 0:e[0])||"plaintext",parseHTML:t=>{var r,i;const n=(r=(()=>{if(t.hasAttribute("language"))return t.getAttribute("language");for(const o of t.classList)if(o.match(/^language-([a-z0-9\-_]+)$/i))return o.match(/^language-([a-z0-9\-_]+)$/i)[1];for(const o of t.querySelectorAll("code")){if(o.hasAttribute("language"))return o.getAttribute("language");for(const a of o.classList)if(a.match(/^language-([a-z0-9\-_]+)$/i))return a.match(/^language-([a-z0-9\-_]+)$/i)[1]}})())==null?void 0:r.toLowerCase();return this.options.codeMode&&(!n||!UT.includes(n)||n!==this.options.defaultLanguage&&this.options.allowedLanguages&&!this.options.allowedLanguages.includes(n))?this.options.defaultLanguage||((i=this.options.allowedLanguages)==null?void 0:i[0])||"plaintext":n}}}},addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),codeMode:!1,allowedLanguages:null}},renderHTML({HTMLAttributes:e}){var n;const t=this.options.codeMode?this.editor.options.lastLang||((n=this.editor.options.allowedLanguages)==null?void 0:n[0])||"plaintext":e.language;return["pre",{spellcheck:"false",class:`${this.options.codeMode?"":"ipsCode "}language-${t}`,"data-language":cl[t]||t},["code",{},0]]},onUpdate({editor:e}){this.options.codeMode&&e.options.lastLang&&e.options.lastLang!==e.getAttributes(this).language&&e.chain().setCodeBlock({language:e.options.lastLang}).run()},addKeyboardShortcuts(){const e=this.editor;return{"Mod-Alt-c":()=>this.editor.commands.toggleCodeBlock(),Backspace:()=>{var o;if(!e.state.selection.empty||((o=e.state.selection.$from.parent)==null?void 0:o.type.name)!==this.name)return!1;if(F4.call(this))return!0;if(!this.options.codeMode&&(!e.state.selection.$from.parent.attrs.language||["plaintext","bash","shell","zsh","sh"].includes(e.state.selection.$from.parent.attrs.language)))return!1;const n=e.state.selection.$from.parent.textContent.slice(0,e.state.selection.$from.parentOffset),r=e.state.selection.$from.parent.textContent.slice(e.state.selection.$from.parentOffset);if(n&&r){for(const a in $t)if(n.endsWith(a)&&r.startsWith($t[a]))return e.chain().deleteRange({from:e.state.selection.from-a.length,to:e.state.selection.from+$t[a].length}).setTextSelection(e.state.selection.from-a.length).focus().run()}const i=n.match(/(\t)[^\n]*(\n\t+)$/);return i?e.chain().deleteRange({from:e.state.selection.from-i[2].length,to:e.state.selection.from}).setTextSelection(e.state.selection.from-i[2].length).focus().run():!1},Enter:({editor:t})=>{var y,R,A,I,M,L,$,V,H,ae,_e;if(U4.call(this,{editor:t}))return!0;const{$from:r}=t.state.selection,{parent:i}=r;if(!t.state.selection.empty||(i==null?void 0:i.type.name)!==this.name||!this.options.codeMode&&(!i.attrs.language||["plaintext","bash","shell","zsh","sh"].includes(i.attrs.language)))return!1;const o=B4({editor:t});if(!o.length)return!1;const a=o[o.length-1],s=o[o.length-2];let c=((R=(y=a.match(/^\t*/))==null?void 0:y[0])==null?void 0:R.length)||0,d=!1;const p=i.attrs.language,_=["ipsphtml","xml","html","xhtml","html5"].includes(p),f=["ipscss","css","scss","sass","less"].includes(p),g=["plaintext","rtf","markdown","md","bbcode"].includes(p),h=_?/(<[^>/]*>)$/:/([{[(.:]|->)$/,S=_?/(<\/[^/>]*>)$/:/^\s*([}\])]+[,;]?)$/;let b=!1;if(!_&&!f&&!g&&a.match(/^\s+(\.|->)?[a-z0-9_-]/i))if(a.match(/^\s+(\.|->)/))b=!0,c--;else{let ue=1;for(;ue<o.length&&((M=(I=(A=o[o.length-1-ue])==null?void 0:A.match(/^\t*/))==null?void 0:I[0])==null?void 0:M.length)<=c;)ue++;(L=o[o.length-ue])!=null&&L.match(/(\.|->)\s*$/)&&(b=!0,c--)}let T=!1
Line truncated
|
||||
`+" ".repeat(c);d?(ue-=a.length,he=a.replace(/^\t/,"")+he):T&&(de=`
|
||||
`+(c>1?" ".repeat(c-1):""),he+=de);let Ne=this.editor.chain().insertContentAt({from:ue,to:t.state.selection.from},{type:"text",text:he});return de&&(Ne=Ne.setTextSelection(t.state.selection.from+he.length-de.length)),Ne.focus().run()}return!1},ArrowDown:({editor:t})=>{if(!this.options.exitOnArrowDown||this.options.codeMode)return!1;const{state:n}=t,{selection:r,doc:i}=n,{$from:o,empty:a}=r;if(!a||o.parent.type!==this.type||!(o.parentOffset===o.parent.nodeSize-2))return!1;const c=o.after();return c===void 0||i.nodeAt(c)?!1:!!t.commands.exitCode()},ArrowUp:Y4.bind(this),Tab:ap.bind(this,!1,{editor:e}),"Shift-Tab":ap.bind(this,!0,{editor:e}),"Alt-Tab":ap.bind(this,!1,{editor:e},!0),"Shift-Alt-Tab":ap.bind(this,!0,{editor:e},!0)}},addProseMirrorPlugins(){var t;const e={};for(const n in $t)e[$t[n]]=n;return[...((t=this.parent)==null?void 0:t.call(this))||[],new ft({key:new lt("ipsCodeModeSyntaxHelpers"),props:{handleKeyDown:(n,r)=>{var o;if(!(r instanceof KeyboardEvent)||r.metaKey||r.altKey)return;const i=this.editor;if(((o=r.key)==null?void 0:o.toLowerCase())in $t)return r.key.toLowerCase()in e&&Gv({editor:i,opener:r.key.toLowerCase()})?!0:!!H4({editor:i,char:r.key.toLowerCase()});if(r.key.toLowerCase()in e)return!!Gv({editor:i,opener:e[r.key.toLowerCase()]})}}})]}});function Y4({editor:e}){if(e.options.codeMode)return!1;const{$from:t,empty:n}=e.state.selection;if(t.nodeBefore||!n||t.parent.type!==this.type)return!1;let r=0,i;for(const a of[...t.path].reverse()){if(!Number.isInteger(a)&&(r++,r===2))break;i=a}return!r||!Number.isInteger(i)||i!==0||!(t.parentOffset===0)?!1:(e.chain().insertContentAt(t.before(),"<p> </p>",{updateSelection:!0}).run(),!0)}function ap(e=!1,{editor:t=null},n=!1){var r,i,o,a;if((!t.state.selection.empty||e)&&t.isActive(this.name)&&(t.options.codeMode||[...t.state.selection.$from.path].reverse()[3]===[...t.state.selection.$to.path].reverse()[3]))return t.state.selection.empty&&e&&t.state.selection.$from.parentOffset===0||zt(()=>{t.chain().command(({tr:s,chain:c})=>{var d,p,_,f;try{const{from:g,to:h}=t.state.selection,S=[...t.state.selection.$from.path].reverse()[3]+1;let b=g;if(b>[...t.state.selection.$from.path].reverse()[3]){for(;b>[...t.state.selection.$from.path].reverse()[3]&&!((d=s.doc.slice(b-1,b--).content.content[0])!=null&&d.textContent.startsWith(`
|
||||
`)););b++}const T=((p=s.doc.slice(b,h).content.content[0])==null?void 0:p.textContent)||"",y=g-b,R=T.split(`
|
||||
`),A=R.map(L=>e?L.replace(/^\t/,""):" "+L).join(`
|
||||
`);let I=!1;try{e&&R.length>1&&R[R.length-1].match(/^\t/)&&((f=(_=s.doc.slice(h,h+1))==null?void 0:_.content.content[0])==null?void 0:f.textContent)===" "&&(I=!0)}catch{}s.insertText(A,b,h);const M={from:b+y,to:b+A.length};e&&T.startsWith(" ")?M.from--:e||M.from++,I&&M.to++,S>M.from&&(M.from=S),c().setTextSelection(M).focus().run()}catch{}return!0}).run()},"Something went wrong when modifying indents in a codeblock selection"),!0;if(!n&&t.isActive(du.name))return!1;if(t.state.selection.empty){if(e){if(t.state.selection.$from.parentOffset>0){const s=t.state.doc.slice(t.state.selection.from-1,t.state.selection.from);if(((i=(r=s==null?void 0:s.content)==null?void 0:r.content[0])==null?void 0:i.textContent)===" "){const{from:c}=t.state.selection;return t.chain().command(({tr:d})=>(d.deleteRange(c-1,c),!0)).setTextSelection({from:c-1,to:c-1}).run(),!0}}if(t.state.selection.$from.parentOffset<t.state.selection.$from.parent.nodeSize-2){const s=t.state.doc.slice(t.state.selection.from,t.state.selection.from+1);if(((a=(o=s==null?void 0:s.content)==null?void 0:o.content[0])==null?void 0:a.textContent)===" "){const{from:c}=t.state.selection;return t.chain().command(({tr:d})=>(d.deleteRange(c,c+1),!0)).setTextSelection({from:c,to:c}).run(),!0}}}}else return!0;return t.chain().insertContent(" ").focus().run(),!0}function H4({editor:e,char:t}){var _,f,g;if(!(t in $t))return!1;const{$from:n,$to:r}=e.state.selection,i=n.parent,o=r.parent;if(((_=i==null?void 0:i.type)==null?void 0:_.name)!==wT.name||i!==o)return!1;if(e.state.selection.empty)return e.chain().insertContent(`${t}${$t[t]}`).setTextSelection(e.state.selection.from+t.length).focus().run();const a=i.textContent;let s=a.slice(n.parentOffset,r.parentOffset);if(!s)return!1;if(['"',"'","`"].includes(t)){const h=new RegExp(`(^|[^\\\\])\\${t}`,"g");s=s.replaceAll(h,`$1\\${t}`).replaceAll(/\n/g,"\\n")}let c="",d=0;if(s.match(/\n/)){const S=a.slice(0,n.parentOffset).split(`
|
||||
`).pop(),b=a.slice(r.parentOffset).split(`
|
||||
`).shift();let T=Math.max(0,((g=(f=S.match(/^\t*/))==null?void 0:f[0])==null?void 0:g.length)+1);S.match(/^\t*$/)&&b.match(/^\t+$/)&&(T+=b.match(/^\t+$/)[0].length),b.match(/^\s*$/)&&(s=s.replace(/^\s*?\n\s*(.?)/,"$1")),d=T+1;const y=" ".repeat(T),R=new RegExp(`\\n\\t{0,${T?T-1:0}}`,"g");if(s=s.replaceAll(R,`
|
||||
${y}`),s=`${t}
|
||||
${y}${s}
|
||||
${y?y.slice(0,y.length-1):""}${$t[t]}`,r.parentOffset<a.length)try{const A=a.slice(r.parentOffset,r.parentOffset+1);A!=null&&A.match(/\n/)||(c=`
|
||||
`+(y?y.slice(0,y.length-1):""),s+=c)}catch{}}else s=`${t}${s}${$t[t]}`;const p={from:e.state.selection.from+t.length+d,to:e.state.selection.from+s.length-$t[t].length-c.length-(d?d-1:0)};return e.chain().insertContentAt({from:e.state.selection.from,to:e.state.selection.to},{type:"text",text:s}).setTextSelection(p).focus().run()}function Gv({editor:e,opener:t}){var o;if(!(t in $t)||!e.state.selection.empty)return!1;const{$from:n}=e.state.selection,r=n.parent;if((r==null?void 0:r.type.name)!==wT.name)return!1;const i=(o=n.parent)==null?void 0:o.textContent;if(n.parentOffset<1||n.parentOffset>=i.length)return!1;try{const a=n.parentOffset;let s=i==null?void 0:i.slice(a,a+$t[t].length);if(!s)return;if(s.startsWith($t[t]))return a>0&&['"',"'","`"].includes(t)&&(i==null?void 0:i[a-1])==="\\"?e.chain().insertContent({type:"text",text:$t[t]}).focus().run():e.chain().setTextSelection(e.state.selection.from+$t[t].length).focus().run()}catch{return!1}return!1}const $t={"{":"}","[":"]","(":")","'":"'",'"':'"',"`":"`"},sc={};function gx(e,t,n=[]){var r;if(!((r=sc[e])!=null&&r.to)){let i=!1;if(e===t)i=[e];else if(e in No){const o=[e];if(t in No[e])o.push(t);else{let a;n=[...n,...o];for(const s in No[e])if(!(n.includes(s)||s===e)&&No[s]){const c=gx(s,t,n);Array.isArray(c)&&(!a||a.length>c.length)&&(a=c)}Array.isArray(a)&&o.splice(1,0,...a)}o.length&&o[o.length-1]===t&&(i=o)}e in sc||(sc[e]={}),sc[e][t]=i}return sc[e][t]}function $4(e,t,n){const r=gx(e,t);if(!Array.isArray(r))throw new RangeError(`Cannot convert ${e} to ${t} because there is not a known conversion pathway`);r.length===1&&e===fn.name&&n.chain().toggleHeading({level:n.level||1});for(let i=0;i<r.length-1;i++){const o=No[r[i]][r[i+1]](n);if(o!==void 0&&!o)throw new Error(`Could not convert ${r[i]} to ${r[i+1]}`)}return!0}function FT(e){const t=[...e.state.selection.$from.path].reverse()[2],n=t==null?void 0:t.type.name;return n===fn.name?[n,{level:t.attrs.level||1}]:[n||"",{}]}function Lp(e){var n;if(e[0]===fn.name)return`Heading ${((n=e[1])==null?void 0:n.level)||""}`;const t=e[0]in tS?e[0]:vt.name;return tS[t]}function V4(e){if(e in Yv)return[Yv[e],{}];const t=Lp([fn.name,{}]);if(e.startsWith(t)){const n=parseInt(e.replace("Heading","").trim())||1;return[fn.name,{level:n}]}return[vt.name,{}]}const tS={[$i.name]:"Ordered List",[Ho.name]:"Bullet List",[Kn.name]:"Code Block",[vt.name]:"Paragraph"},Yv=Object.fromEntries([...Object.entries(tS)].map(e=>e.reverse()));function z4(e){for(let t of fn.options.levels)if(e.isActive(fn.name,{level:t}))return{level:t};return null}function hx(e){const t=FT(e);return t[0]in No?W4(...t).filter(n=>{var r,i;return(n[0]!==fn.name||!((r=e.options.restrictions)!=null&&r.has("heading")))&&!(n[0]===fn.name&&n[1].level===1&&((i=e.options.restrictions)!=null&&i.has("heading_1")))}):[]}const lc={};function W4(e,t={}){const n=JSON.stringify({name:e,attributes:t});if(!(n in lc)){const r=Ex(e);lc[n]=[];for(const i of r)if(i===fn.name)for(let o=1;o<=6;o++)lc[n].push([fn.name,{level:o}]);else lc[n].push([i,{}])}return lc[n]}function Ex(e,t){if(t=t||new Set,t.add(e),e in No)for(const n in No[e])t.has(n)||Ex(n,t);return t}const No={[vt.name]:{[Kn.name]:({chain:e})=>e().setCodeBlock(),[fn.name]:({chain:e,level:t=1})=>e().setHeading({level:t})},[Kn.name]:{[vt.name]:({chain:e})=>e().toggleCodeBlock()},[fn.name]:{[vt.name]:({chain:e,editor:t,level:n})=>{var r;return n=n||((r=z4(t))==null?void 0:r.level),n?e().toggleHeading({level:n}):!1}}};function q4({...e}){const{editor:t}=B.useContext(Ue),n=FT(t);return e.dropdownOptions=e.dropdownOptions||{},e.dropdownOptions.className=e.dropdownOptions.className||"",e.dropdownOptions.className=[...e.dropdownOptions.className.split(/\s+/),"ipsRichText"].join(" "),N.jsx(Wa,{current:N.jsx(N.Fragment,{children:N.jsx("i",{className:"fa-solid fa-paragraph"})}),currentValue:Lp(n),blank:N.jsx(Hv,{block:[vt.title,{}]}),items:hx(t).map(r=>[Lp(r),N.jsx(Hv,{block:r},Lp(r))]),onChange:r=>{const i=V4(r);t.chain().command(o=>$4(n[0],i[0],{...i[1]||{},...o})).focus().run()},...e,dropdownOptions:{...e.dropdownOptions,location:"se"}})}function Hv({block:e,style:t=!0}){if(e[0]===fn.name){const n=`h${e[1].level}`;return t?N.jsxs(n,{children:["Heading ",e[1].level]}):N.jsxs(N.Fragment,{children:["Heading ",e[1].level]})}return e[0]===Kn.name?t?N.jsx("code",{children:"Code Block"}):N.jsx(N.Fragment,{children:"Code Block"}):N.jsx(N.Fragment,{children:"Paragraph"})}const pu=Bt.create({name:"subscript",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"sub"},{style:"vertical-align",getAttrs(e){return e!=="sub"?!1:null}}]},renderHTML({HTMLAttributes:e}){return["sub",We(this.options.HTMLAttributes,e),0]},addCommands(){return{setSubscript:()=>({commands:e})=>e.setMark(this.name),toggleSubscript:()=>({commands:e})=>e.toggleMark(this.name),unsetSubscript:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-,":()=>this.editor.commands.toggleSubscript()}}}),_u=Bt.create({name:"superscript",addOptionsLine truncated
|
||||
`,n5="️",r5="";let lp=null,cp=null;function i5(e){e===void 0&&(e=[]);const t={};Hn.groups=t;const n=new Hn;lp==null&&(lp=qv(X4)),cp==null&&(cp=qv(j4)),ie(n,"'",$_),ie(n,"{",wc),ie(n,"}",xc),ie(n,"[",A_),ie(n,"]",I_),ie(n,"(",D_),ie(n,")",w_),ie(n,"<",x_),ie(n,">",M_),ie(n,"(",L_),ie(n,")",k_),ie(n,"「",P_),ie(n,"」",U_),ie(n,"『",F_),ie(n,"』",B_),ie(n,"<",G_),ie(n,">",Y_),ie(n,"&",H_),ie(n,"*",V_),ie(n,"@",po),ie(n,"`",W_),ie(n,"^",q_),ie(n,":",ho),ie(n,",",YT),ie(n,"$",K_),ie(n,".",ai),ie(n,"=",Q_),ie(n,"!",HT),ie(n,"-",si),ie(n,"%",X_),ie(n,"|",j_),ie(n,"+",Z_),ie(n,"#",J_),ie(n,"?",em),ie(n,'"',$T),ie(n,"/",li),ie(n,";",VT),ie(n,"~",Mc),ie(n,"_",tm),ie(n,"\\",z_);const r=br(n,fh,BT,{[nS]:!0});br(r,fh,r);const i=br(n,gs,Ii,{[rS]:!0});br(i,gs,i);const o=br(n,_h,aS,{[iS]:!0});br(o,gs),br(o,_h,o);const a=br(n,zv,Tx,{[$v]:!0});ie(n,Wv,GT,{[$v]:!0}),ie(a,Wv),br(a,zv,a);const s=br(n,mh,bx,{[Sx]:!0});br(s,mh,s),ie(s,n5,s);const c=ie(s,r5);br(c,mh,s);const d=[[gs,i]],p=[[gs,null],[_h,o]];for(let _=0;_<lp.length;_++)io(n,lp[_],sS,Ii,d);for(let _=0;_<cp.length;_++)io(n,cp[_],lS,aS,p);ba(sS,{tld:!0,ascii:!0},t),ba(lS,{utld:!0,alpha:!0},t),io(n,"file",Pp,Ii,d),io(n,"mailto",Pp,Ii,d),io(n,"http",ys,Ii,d),io(n,"https",ys,Ii,d),io(n,"ftp",ys,Ii,d),io(n,"ftps",ys,Ii,d),ba(Pp,{scheme:!0,ascii:!0},t),ba(ys,{slashscheme:!0,ascii:!0},t),e=e.sort((_,f)=>_[0]>f[0]?1:-1);for(let _=0;_<e.length;_++){const f=e[_][0],h=e[_][1]?{[Z4]:!0}:{[J4]:!0};f.indexOf("-")>=0?h[oS]=!0:gs.test(f)?fh.test(f)?h[kp]=!0:h[rS]=!0:h[nS]=!0,Vv(n,f,f,h)}return Vv(n,"localhost",mu,{ascii:!0}),n.jd=new Hn(nm),{start:n,tokens:Ha({groups:t},yx)}}function o5(e,t){const n=a5(t.replace(/[A-Z]/g,s=>s.toLowerCase())),r=n.length,i=[];let o=0,a=0;for(;a<r;){let s=e,c=null,d=0,p=null,_=-1,f=-1;for(;a<r&&(c=s.go(n[a]));)s=c,s.accepts()?(_=0,f=0,p=s):_>=0&&(_+=n[a].length,f++),d+=n[a].length,o+=n[a].length,a++;o-=_,a-=f,d-=_,i.push({t:p.t,v:t.slice(o-d,o),s:o-d,e:o})}return i}function a5(e){const t=[],n=e.length;let r=0;for(;r<n;){let i=e.charCodeAt(r),o,a=i<55296||i>56319||r+1===n||(o=e.charCodeAt(r+1))<56320||o>57343?e[r]:e.slice(r,r+2);t.push(a),r+=a.length}return t}function io(e,t,n,r,i){let o;const a=t.length;for(let s=0;s<a-1;s++){const c=t[s];e.j[c]?o=e.j[c]:(o=new Hn(r),o.jr=i.slice(),e.j[c]=o),e=o}return o=new Hn(n),o.jr=i.slice(),e.j[t[a-1]]=o,o}function qv(e){const t=[],n=[];let r=0,i="0123456789";for(;r<e.length;){let o=0;for(;i.indexOf(e[r+o])>=0;)o++;if(o>0){t.push(n.join(""));for(let a=parseInt(e.substring(r,r+o),10);a>0;a--)n.pop();r+=o}else n.push(e[r]),r++}return t}const ul={defaultProtocol:"http",events:null,format:Kv,formatHref:Kv,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function Ym(e,t){t===void 0&&(t=null);let n=Ha({},ul);e&&(n=Ha(n,e instanceof Ym?e.o:e));const r=n.ignoreTags,i=[];for(let o=0;o<r.length;o++)i.push(r[o].toUpperCase());this.o=n,t&&(this.defaultRender=t),this.ignoreTags=i}Ym.prototype={o:ul,ignoreTags:[],defaultRender(e){return e},check(e){return this.get("validate",e.toString(),e)},get(e,t,n){const r=t!=null;let i=this.o[e];return i&&(typeof i=="object"?(i=n.t in i?i[n.t]:ul[e],typeof i=="function"&&r&&(i=i(t,n))):typeof i=="function"&&r&&(i=i(t,n.t,n)),i)},getObj(e,t,n){let r=this.o[e];return typeof r=="function"&&t!=null&&(r=r(t,n.t,n)),r},render(e){const t=e.render(this);return(this.get("render",null,e)||this.defaultRender)(t,e.t,e)}};function Kv(e){return e}var s5=Object.freeze({__proto__:null,defaults:ul,Options:Ym,assign:Ha});function Cx(e,t){this.t="token",this.v=e,this.tk=t}Cx.prototype={isLink:!1,toString(){return this.v},toHref(e){return this.toString()},toFormattedString(e){const t=this.toString(),n=e.get("truncate",t,this),r=e.get("format",t,this);return n&&r.length>n?r.substring(0,n)+"…":r},toFormattedHref(e){return e.get("formatHref",this.toHref(e.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(e){return e===void 0&&(e=ul.defaultProtocol),{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(e),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(e){return{type:this.t,value:this.toFormattedString(e),isLink:this.isLink,href:this.toFormattedHref(e),start:this.startIndex(),end:this.endIndex()}},validate(e){return e.get("validate",this.toString(),this)},render(e){const t=this,n=this.toHref(e.get("defaultProtocol")),r=e.get("formatHref",n,this),i=e.get("tagName",n,t),o=this.toFormattedString(e),a={},s=e.get("className",n,t),c=e.get("target",n,t),d=e.get("rel",n,t),p=e.getObj("attributes",n,t),_=e.getObj("events",n,t);return a.href=r,s&&(a.class=s),c&&(a.target=c),d&&(a.rel=d),p&&Ha(a,p),{tagName:i,attributes:a,content:o,eventListeners:_}}};function Hm(e,t){class n extends Cx{constructor(i,o){super(i,o),this.t=e}}for(const r in t)n.prototype[r]=t[r];return n.t=e,n}const Qv=Hm("email",{isLink:!0,toHref(){return"mailto:Line truncated
|
||||
1. Must only contain digits, lowercase ASCII letters or "-"
|
||||
2. Cannot start or end with "-"
|
||||
3. "-" cannot repeat`);Tt.customSchemes.push([e,t])}function m5(){Tt.scanner=i5(Tt.customSchemes);for(let e=0;e<Tt.tokenQueue.length;e++)Tt.tokenQueue[e][1]({scanner:Tt.scanner});Tt.parser=c5(Tt.scanner.tokens);for(let e=0;e<Tt.pluginQueue.length;e++)Tt.pluginQueue[e][1]({scanner:Tt.scanner,parser:Tt.parser});Tt.initialized=!0}function Rx(e){return Tt.initialized||m5(),u5(Tt.parser.start,e,o5(Tt.scanner.start,e))}function zT(e,t,n){if(t===void 0&&(t=null),n===void 0&&(n=null),t&&typeof t=="object"){if(n)throw Error(`linkifyjs: Invalid link type ${t}; must be a string`);n=t,t=null}const r=new Ym(n),i=Rx(e),o=[];for(let a=0;a<i.length;a++){const s=i[a];s.isLink&&(!t||s.t===t)&&r.check(s)&&o.push(s.toFormattedObject(r))}return o}function f5(e){return e.length===1?e[0].isLink:e.length===3&&e[1].isLink?["()","[]"].includes(e[0].value+e[2].value):!1}function g5(e){return new ft({key:new lt("autolink"),appendTransaction:(t,n,r)=>{const i=t.some(d=>d.docChanged)&&!n.doc.eq(r.doc),o=t.some(d=>d.getMeta("preventAutolink"));if(!i||o)return;const{tr:a}=r,s=k$(n.doc,[...t]);if($$(s).forEach(({newRange:d})=>{const p=U$(r.doc,d,g=>g.isTextblock);let _,f;if(p.length>1?(_=p[0],f=r.doc.textBetween(_.pos,_.pos+_.node.nodeSize,void 0," ")):p.length&&r.doc.textBetween(d.from,d.to," "," ").endsWith(" ")&&(_=p[0],f=r.doc.textBetween(_.pos,d.to,void 0," ")),_&&f){const g=f.split(" ").filter(T=>T!=="");if(g.length<=0)return!1;const h=g[g.length-1],S=_.pos+f.lastIndexOf(h);if(!h)return!1;const b=Rx(h).map(T=>T.toObject(e.defaultProtocol));if(!f5(b))return!1;b.filter(T=>T.isLink).map(T=>({...T,from:S+T.start+1,to:S+T.end+1})).filter(T=>r.schema.marks.code?!r.doc.rangeHasMark(T.from,T.to,r.schema.marks.code):!0).filter(T=>e.validate(T.value)).forEach(T=>{vT(T.from,T.to,r.doc).some(y=>y.mark.type===e.type)||a.addMark(T.from,T.to,e.type.create({href:T.href}))})}}),!!a.steps.length)return a}})}function h5(e){return new ft({key:new lt("handleClickLink"),props:{handleClick:(t,n,r)=>{var i,o;if(r.button!==0)return!1;let a=r.target;const s=[];for(;a.nodeName!=="DIV";)s.push(a),a=a.parentNode;if(!s.find(f=>f.nodeName==="A"))return!1;const c=NT(t.state,e.type.name),d=r.target,p=(i=d==null?void 0:d.href)!==null&&i!==void 0?i:c.href,_=(o=d==null?void 0:d.target)!==null&&o!==void 0?o:c.target;return d&&p?(window.open(p,_),!0):!1}}})}function E5(e){return new ft({key:new lt("handlePasteLink"),props:{handlePaste:(t,n,r)=>{const{state:i}=t,{selection:o}=i,{empty:a}=o;if(a)return!1;let s="";r.content.forEach(d=>{s+=d.textContent});const c=zT(s,{defaultProtocol:e.defaultProtocol}).find(d=>d.isLink&&d.value===s);return!s||!c?!1:(e.editor.commands.setMark(e.type,{href:c.href}),!0)}}})}const S5=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g,T5=/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i;function Zv(e){return!e||e.replace(S5,"").match(T5)}const cc=Bt.create({name:"link",priority:1e3,keepOnSplit:!1,exitable:!0,onCreate(){this.options.protocols.forEach(e=>{if(typeof e=="string"){jv(e);return}jv(e.scheme,e.optionalSlashes)})},onDestroy(){_5()},inclusive(){return this.options.autolink},addOptions(){return{openOnClick:!0,linkOnPaste:!0,autolink:!0,protocols:[],defaultProtocol:"http",HTMLAttributes:{target:"_blank",rel:"noopener noreferrer nofollow",class:null},validate:e=>!!e}},addAttributes(){return{href:{default:null},target:{default:this.options.HTMLAttributes.target},rel:{default:this.options.HTMLAttributes.rel},class:{default:this.options.HTMLAttributes.class}}},parseHTML(){return[{tag:"a[href]",getAttrs:e=>{const t=e.getAttribute("href");return!t||!Zv(t)?!1:{href:t}}}]},renderHTML({HTMLAttributes:e}){return Zv(e.href)?["a",We(this.options.HTMLAttributes,e),0]:["a",We(this.options.HTMLAttributes,{...e,href:""}),0]},addCommands(){return{setLink:e=>({chain:t})=>t().setMark(this.name,e).setMeta("preventAutolink",!0).run(),toggleLink:e=>({chain:t})=>t().toggleMark(this.name,e,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run(),unsetLink:()=>({chain:e})=>e().unsetMark(this.name,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()}},addPasteRules(){return[Yo({find:e=>{const t=[];if(e){const{validate:n}=this.options,r=zT(e).filter(i=>i.isLink&&n(i.value));r.length&&r.forEach(i=>t.push({text:i.value,data:{href:i.href},index:i.start}))}return t},type:this.type,getAttributes:e=>{var t;return{href:(t=e.data)===null||t===void 0?void 0:t.href}}})]},addProseMirrorPlugins(){const e=[];return this.options.autolink&&e.push(g5({type:this.type,defaultProtocol:this.options.defaultProtocol,validate:this.options.validate})),this.options.openOnClick&&e.push(h5({type:this.type})),this.options.linkOnPaste&&e.push(E5({editor:this.editor,defaultProtocol:this.options.defaultProtocol,type:this.type})),e}}),Qr=mt.create({name:"text",group:"inline"}),it=cc.extend({addAttributes(){var e;return{...(e=this.parent)==null?void 0:e.call(this),tempid:{default:null}}},addKeyboardShortcuts(){var t;const e=n=>({
Line truncated
|
||||
`},addCommands(){return{setHardBreak:()=>({commands:e,chain:t,state:n,editor:r})=>e.first([()=>e.exitCode(),()=>e.command(()=>{const{selection:i,storedMarks:o}=n;if(i.$from.parent.type.spec.isolating)return!1;const{keepMarks:a}=this.options,{splittableMarks:s}=r.extensionManager,c=o||i.$to.parentOffset&&i.$from.marks();return t().insertContent({type:this.name}).command(({tr:d,dispatch:p})=>{if(p&&c&&a){const _=c.filter(f=>s.includes(f.type.name));d.ensureMarks(_)}return!0}).run()})])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),Up=mt.create({name:"doc",topNode:!0,content:"block+"}),qx=Ot.create({name:"ipsAutosave",addCommands(){return{clearAutosave:()=>({editor:e,chain:t})=>(e.options.autoSaveKey&&(window.ips.utils.db.remove("editorSave",e.options.autoSaveKey),t().hideMessage("autosave").run()),!0)}},onUpdate(){this.storage.updateCallback()},onCreate(){var e,t;if(this.storage.updateCallback=lr.debounce(()=>{var n;(n=this.editor)!=null&&n.options.autoSaveKey&&(this.editor.getHTML().trim()&&this.editor.getHTML()!=="<p></p>"?window.ips.utils.db.set("editorSave",this.editor.options.autoSaveKey,{content:this.editor.getHTML(),time:Math.round(Date.now()/1e3)}):this.editor.commands.clearAutosave(),this.editor.commands.hideMessage("autosave"))},500),(e=this.editor)!=null&&e.options.autoSaveKey){const n=window.ips.utils.db.get("editorSave",this.editor.options.autoSaveKey);if((t=n==null?void 0:n.content)!=null&&t.trim()&&(!n.time||Date.now()/1e3-86400*3<parseInt(n.time))){const r=new DOMParser().parseFromString(n.content,"text/html");if(!(r.body.innerText.trim().length||r.body.querySelector("iframe,img,video,audio,a,embed,.ipsEmoji,.ipsEmbeddedVideo,.ipsEmbeddedBrightcove,.ipsEmbeddedOther,.ipsEmbeddedPhoto")))return;this.storage.initial=this.editor.getHTML(),this.editor.chain().setContent(n.content).command(({tr:i,chain:o})=>(!i.docChanged||Kx(i.doc)?o().undo().hideMessage("autosave").run():o().showMessage("autosave").focus().run(),!0)).run()}}},addStorage(){return{initial:"",updateCallback:()=>{}}}});function Kx(e){var t,n,r;return e.textContent==="<p></p>"?!0:!((t=e.textContent)!=null&&t.trim().length||![Up.name,vt.name,Qr.name,hu.name].includes(e.type.name)||(r=(n=e.content)==null?void 0:n.content)!=null&&r.length&&!e.content.content.some(i=>!Kx(i)))}function U6(){const{editor:e}=B.useContext(Ue);return N.jsxs(N.Fragment,{children:["The content was restored from an automatically saved draft. Click to ",N.jsx("button",{className:"ipsEditor__autosave-clear",onClick:()=>e.chain().clearAutosave().setContent(e.storage[qx.name].initial||"").focus().run(),children:"clear draft."})]})}function F6({positions:e="",href:t}){const{editor:n}=B.useContext(Ue),r=()=>{if(!e.length){n.commands.hideMessage("autoembed");return}let i=n.chain();for(const o of e)i=i.command(({tr:a,chain:s})=>s().insertContentAt({from:Math.max(0,a.mapping.map(o[0])),to:Math.min(a.doc.nodeSize-2,a.mapping.map(o[1]))},`<a href="${encodeURI(t)}" >${o[2]}</a>`));i.hideMessage("autoembed").focus().run()};return N.jsxs(N.Fragment,{children:["A URL was inserted as embedded content. Click to ",N.jsx("button",{className:"ipsEditor__autosave-clear",onClick:r,children:"insert as link"})," instead."]})}function _O({name:e}){const{editor:t}=B.useContext(Ue);return N.jsxs("div",{className:`ipsEditor__global-message ipsEditor__global-message--${e}`,children:[N.jsxs("div",{className:"ipsEditor__global-message-content",children:[N.jsx("i",{className:"fa-solid fa-circle-info"})," ",N.jsx(B6,{name:e})]}),N.jsx("button",{className:"ipsEditor__global-message-close",onClick:()=>t==null?void 0:t.commands.hideMessage(e),children:N.jsx("i",{className:"fa-solid fa-times-circle"})})]})}function B6({name:e}){const{messages:t}=B.useContext(pS),n=t.get(e);switch(e){case"autosave":return N.jsx(U6,{});case"autoembed":return N.jsx(F6,{...n});default:return typeof n=="string"&&n?N.jsx("span",{"data-ipseditorcustommessage":"true",dangerouslySetInnerHTML:{__html:n}}):N.jsx(N.Fragment,{children:"This is a global message!"})}}const pS=B.createContext({messages:new Map,addMessage(e,t=""){this.messages.set(e,t)},removeMessage(e){this.messages.has(e)&&this.messages.delete(e)}});function G6({children:e}){var c;const[t,n]=B.useState(()=>new Map),[r,i]=B.useState(!1),{editor:o}=B.useContext(Ue),a=B.useMemo(()=>({messages:t,addMessage:(d,p="")=>{if(!t.has(d)||t.get(d)!==p){t.set(d,p);const _=new Map;for(const[f,g]of t.entries())_.set(f,g);n(_)}},removeMessage:d=>{if(t.has(d)){t.delete(d);const p=new Map;for(const[_,f]of t.entries())p.set(_,f);n(p)}},onVisibilityChange(d=!1){d!==r&&i(d)},visible:r}),[t,n,r,i]);if(B.useEffect(()=>{!o.options.codeMode&&!o.options.simpleRichText&&o.can().registerMessageInterface(a)&&(o==null||o.commands.registerMessageInterface(a))},[a,o]),o.options.codeMode||o.options.simpleRichText)return N.jsx(N.Fragment,{children:e});const s=[...t.keys()];return o.options.messagesCLine truncated
|
||||
`+t.message,window.Debug.error(t),hp=null}).finally(()=>{for(const t of yO)t(hp),yO.delete(t);e(hp)})})}const v9=Ot.create({name:"ipsMessages",addCommands(){let e={_messages:new Map,addMessage(n,r=""){this._messages.set(n,r)},removeMessage(n){this._messages.delete(n)},get messages(){return this._messages},onVisibilityChange(n){t=n}},t=!1;return{showMessage:(n,r="")=>()=>{e==null||e.addMessage(n,r)},hideMessage:n=>()=>{e==null||e.removeMessage(n)},registerMessageInterface:n=>()=>{var i,o,a;if(Object.is(n,e))return!1;let r=!1;for(const s in n)if(!Object.is(n[s],e[s])){r=!0;break}if(!r)return!1;if(e.messages instanceof Map)for(const s of e.messages.keys())(o=(i=n==null?void 0:n.messages)==null?void 0:i.has)!=null&&o.call(i,s)&&n.messages.get(s)===e.messages.get(s)||n.addMessage(s,e.messages.get(s));(!("visible"in n)||n.visible!==t)&&((a=n.onVisibilityChange)==null||a.call(n,t)),e=n},fireVisibilityChange:n=>()=>{var r;t=!!n,(r=e==null?void 0:e.onVisibilityChange)==null||r.call(e,t)}}}}),O9=({key:e,editor:t,onPaste:n,onDrop:r,allowedMimeTypes:i})=>new ft({key:e||new lt("fileHandler"),props:{handleDrop(o,a){var s;if(!r||!(!((s=a.dataTransfer)===null||s===void 0)&&s.files.length))return!1;const c=o.posAtCoords({left:a.clientX,top:a.clientY});let d=Array.from(a.dataTransfer.files);return i&&(d=d.filter(p=>i.includes(p.type))),d.length!==0&&(a.preventDefault(),a.stopPropagation(),r(t,d,(c==null?void 0:c.pos)||0),!0)},handlePaste(o,a){var s;if(!n||!(!((s=a.clipboardData)===null||s===void 0)&&s.files.length))return!1;let c=Array.from(a.clipboardData.files);const d=a.clipboardData.getData("text/html");return i&&(c=c.filter(p=>i.includes(p.type))),c.length!==0&&(a.preventDefault(),a.stopPropagation(),n(t,c,d),!(d.length>0))}}}),A9=Ot.create({name:"fileHandler",addOptions:()=>({onPaste:void 0,onDrop:void 0,allowedMimeTypes:void 0}),addProseMirrorPlugins(){return[O9({key:new lt(this.name),editor:this.editor,allowedMimeTypes:this.options.allowedMimeTypes,onDrop:this.options.onDrop,onPaste:this.options.onPaste})]}});function I9({mimeTypes:e,handler:t}){let n;Array.isArray(e)&&(n=new Set(e.map(i=>i.toLowerCase())));const r=i=>{const o=i instanceof DragEvent?i.dataTransfer:i.clipboardData;if(o.files.length){const a=[];for(const s of o.files)(!n||n.has(s.type.toLowerCase()))&&a.push(s);if(a.length)return t(a),!0}};return new ft({key:new lt("ipsDataTransferFixer"),props:{handlePaste:(i,o)=>r(o),handleDrop:(i,o)=>r(o)}})}const D9=A9.extend({addCommands(){var e;return{...(e=this.parent)==null?void 0:e.call(this),injectAttachments:t=>({editor:n,chain:r})=>{var o;let i=r();for(const a of t){const s=Math.round(Math.random()*Math.pow(10,8));let c=!1;i=i.insertContent({type:st.name,attrs:{attachmentType:"file",attachmentSrc:"",attachmentLink:"",fileId:s,attachmentTitle:"Uploading Attachment..."}}),(o=w9(n.options.postkey))==null||o.dispatchEvent(new x9({file:a,data:{ready:d=>{if(c)return;c=!0;const p=qT(n.$doc,s);p.length&&n.commands.command(({tr:_,chain:f})=>{let g=f();for(const{to:h,from:S}of p)g=g.insertContentAt({from:_.mapping.map(S),to:_.mapping.map(h)},d,{parseOptions:{preserveWhitespace:!1}});return!0})},error:d=>{c||(c=!0,d instanceof Error&&(d.message=`File upload failed:
|
||||
${d.message}`,window.Debug.warn(d),n.commands.showMessage("file-attach","Couldn't insert one or more files pasted or dropped in the editor.")),n.commands.removeAttachment(s))}}}))}return i.run(),!0}}},addProseMirrorPlugins(){var e;return[I9({mimeTypes:this.options.allowedMimeTypes,handler:t=>this.options.onPaste(this.editor,t)}),...((e=this.parent)==null?void 0:e.call(this))||[]]}}).configure({onPaste(e,t){return e.commands.injectAttachments(t),!0},onDrop(e,t){return e.commands.injectAttachments(t),!0}});function w9(e){return!e||typeof e!="string"?null:document.querySelector(`[data-ipsuploader-postkey="${e}"]`)}class x9 extends Event{constructor(t){super("injectFile"),this.data=t}}const M9=["name","group","isInline","isBlock","isText","selectable","exitable","atom","addOptions","addKeyboardShortcuts","addAttributes","addGlobalAttributes","renderHTML","parseHTML","onCreate","onUpdate","onBeforeCreate","onFocus","onBlur","onBeforeCreate","onSelectionUpdate","onDestroy","onTransaction","priority","defaultOptions","addInputRules","marks","addNodeView","whitespace","defining","isolating","renderText"];function L9(e,t){var s,c,d;if(!e.ipsPlugins){e.ipsPlugins={buttons:{},extensions:[],nodes:[],marks:[]};return}e.ipsPlugins.buttons={},Array.isArray((s=e.ipsPlugins)==null?void 0:s.extensions)?a(e.ipsPlugins.extensions,Ot):e.ipsPlugins.extensions=[],Array.isArray((c=e.ipsPlugins)==null?void 0:c.nodes)?a(e.ipsPlugins.nodes,mt):e.ipsPlugins.nodes=[],Array.isArray((d=e.ipsPlugins)==null?void 0:d.marks)?a(e.ipsPlugins.marks,Bt):e.ipsPlugins.marks=[],e.ipsPlugins.nestedToolbars={},e.pluginButtonKeys=new Set;const n=new Set(e.tools.toolbar);for(const p in e.ipsPlugins.buttons)for(const{before:_,after:f}of e.ipsPlugins.buttons[p].locations){let g,h=!1;if(typeof f=="string"&&f in uO){const S=uO[f];e.ipsPlugins.nestedToolbars[S]=e.ipsPlugins.nestedToolbars[S]||[...pl[S]],e.ipsPlugins.nestedToolbars[S].push(`custom:${p}`),h=!0}else if(typeof f=="string"&&n.has(f))g=e.tools.toolbar.indexOf(f)+1;else if(typeof _=="string"&&n.has(_))g=e.tools.toolbar.indexOf(_);else if(!_&&!f||_===null||f===null)g=e.tools.toolbar.length;else continue;e.pluginButtonKeys.add(`custom:${p}`),h||(n.add(`custom:${p}`),e.tools.toolbar.splice(g,0,`custom:${p}`))}function r(p){for(const _ of p.attributes)["class","style","id","src","title","rel","alt"].includes(_.name.toLowerCase())||p.removeAttribute(_.name);for(const _ of p.querySelectorAll(":scope > *"))r(_)}function i(p,_){var f;if(p.addButtons instanceof Function){const g=p.addButtons.bind(_)();if(typeof g!="object")throw new TypeError;const h=new DOMParser;for(const S in g){let{html:b,command:T,locations:y,element:R,isActive:A,isAvailable:I}=g[S];if(typeof b!="string"&&!(R instanceof HTMLElement)||!(T instanceof Function)||!Array.isArray(y))throw new TypeError;A!==void 0&&typeof A!="boolean"&&!(A instanceof Function)&&(window.Debug.warn(`Expected isActive to be a boolean or a Function, got a ${typeof A}. Casting to boolean.`),A=!!A),I!==void 0&&typeof I!="boolean"&&!(I instanceof Function)&&(window.Debug.warn(`Expected isAvailable to be a boolean or a Function, got a ${typeof I}. Casting to boolean.`),I=!!I);const M=[];for(const H of y)if(H===null)M.push({after:null,before:void 0});else if(typeof H=="object"){if(![void 0,null].includes(H.before)&&typeof H.before!="string"||![void 0,null].includes(H.after)&&typeof H.after!="string")throw new TypeError;M.push({after:H.after,before:H.before})}else typeof H=="string"?M.push({after:H,before:void 0}):M.push({after:void 0,before:void 0});y=M;const L=["script","link","style","pre","code","iframe","object","embed","noscript","video"];if(R instanceof Element)R.querySelectorAll(L.join(",")).forEach(H=>H.remove());else{const H=h.parseFromString(b,"text/html");if(!(H instanceof Document))throw new RangeError("The html passed in for the button is not readable");if(H.querySelectorAll(L.join(",")).forEach(ae=>ae.remove()),!(((f=H==null?void 0:H.body)==null?void 0:f.firstElementChild)instanceof HTMLElement)||!H.body.firstElementChild.innerHTML.length)throw new RangeError("The html passed in for the button is not readable");R=H.body.firstElementChild}if(r(R),L.includes(R.tagName.toLowerCase()))throw new RangeError(`The element of type ${R.tagName} cannot be used as a toolbar button`);const $=R.cloneNode(!0),V=`${p.name}_${S}`;e.ipsPlugins.buttons[V]={get element(){return $},set element(H){throw new Error("Cannot update the element of an ipsPlugin button!")},get command(){return T.bind(_)},set command(H){throw new Error("Cannot update the command of an ipsPlugin button!")},get isActive(){return A instanceof Function?A.bind(_):A},set isActive(H){throw new Error("Cannot update the isActive property of an ipsPlugin button!")},get isAvailable(){return I instanceof Function?I.bind(_):I},set isAvailable(H){throw new Error("Cannot update the isAvailable property of an ipsPlugin button!")},get locations(){return y},set locations(H){throw new Error("Cannot update properties
Line truncated
|
||||
${g.message}`,window.Debug.warn(g)}}}const Dh=Ot.create({name:"ipsHomeEnd",addKeyboardShortcuts(){return{Home:({editor:e})=>(zt(()=>{var i,o,a;const{$from:t}=e.state.selection,n=t.pos-t.parentOffset;let r=t.pos;for(;r>n;){const s=e.state.doc.slice(r-1,r);if(((i=s.content.content[0])==null?void 0:i.textContent)===`
|
||||
`||((a=(o=s.content.content[0])==null?void 0:o.type)==null?void 0:a.name)===hu.name)break;r--}e.chain().setTextSelection(r).focus().run()},"Something went wrong handling the 'Home' key press"),!0),End:({editor:e})=>(zt(()=>{var i,o,a;const{$to:t}=e.state.selection,n=[...t.path].reverse()[3]+t.parent.nodeSize-1;let r=t.pos;for(;r<n;){const s=e.state.doc.slice(r,r+1);if(((i=s.content.content[0])==null?void 0:i.textContent)===`
|
||||
`||((a=(o=s.content.content[0])==null?void 0:o.type)==null?void 0:a.name)===hu.name)break;r++}e.chain().setTextSelection(r).focus().run()},"Something went wrong handling the 'End' key press"),!0)}}}),k9=Ot.create({name:"IPSSimpleRichText",addProseMirrorPlugins(){return[new ft({key:new lt("ipsSimpleRichTextPlugin"),filterTransaction:e=>!(this.editor.options.lengthFunction instanceof Function&&typeof this.editor.options.maxLength=="number"&&this.editor.options.lengthFunction(RT(e.doc.content,this.editor.schema))>this.editor.options.maxLength),appendTransaction:(e,t,n)=>{const r=[];let i;const{from:o,to:a}=n.selection;n.doc.descendants((c,d)=>{var p,_;if(typeof c.textContent=="string"&&!c.textContent&&!c.isInline){const f=n.doc.resolve(d),g=P9(f,n.doc),h=U9(f,n.doc);if([o,a].some(S=>g.pos<S&&h.pos>S)){if(i===void 0&&e.some(S=>{var b;return(b=S.steps)==null?void 0:b.length})){let S=1,b=c;for(;(_=(p=b.content)==null?void 0:p.content)!=null&&_.length;)S++,b=b.content.content[0];i=S+d}return!1}return r.push([d,d+c.nodeSize]),!1}if(c.isInline||!c.content.content.length)return!1});const{tr:s}=n;for(const[c,d]of r.reverse())s.delete(c,d);if(i!==void 0){const c=Oe.atStart(n.doc).from,d=Oe.atEnd(n.doc).to,p=Oe.create(n.doc,yo(i,c,d));o===p.from&&o===a||s.setSelection(p)}return s}})]},addKeyboardShortcuts(){return{Enter:({editor:e})=>{const t=e.view.dom.closest("form");if(t){let n=t.querySelector('button:is([type="submit"], :not([type]))');n||(n=document.createElement("button"),n.setAttribute("type","button"),n.setAttribute("hidden",""),t.appendChild(n),setTimeout(()=>n.documentElement===document.documentElement&&n.remove(),200)),n.click()}return!0},"Shift-Enter":({editor:e})=>(e.isActive(du.name)?e.commands.splitListItem(du.name):e.commands.splitBlock(),!1)}},onCreate(){this.editor.view.dom.addEventListener("clear",e=>{var t;this.editor.commands.setContent(((t=e.detail)==null?void 0:t.content)||"")})}});function P9(e,t){var r,i;const n=[...e.path].reverse();for(;n.length>=3;){if(n[1]>0){let o=n[2].content.content[n[1]-1],a=0;for(;o;)o=(i=(r=o.content)==null?void 0:r.content)!=null&&i.length?o.content.content[o.content.content.length-1]:null,a++;return t.resolve(e.pos-a)}n.splice(0,3)}return t.resolve(0)}function U9(e,t){var r,i;const n=[...e.path].reverse();for(;n.length>=3;){if(n[1]<n[2].content.content.length-1){let o=n[2].content.content[n[1]+1],a=0;for(;o;)a++,o=(i=(r=o.content)==null?void 0:r.content)==null?void 0:i[0];return t.resolve(e.pos+n[2].content.content[n[1]].nodeSize+a)}n.splice(0,3)}return t.resolve(t.nodeSize-2)}const F9=e=>At({find:/--$/,replace:e??"—"}),B9=e=>At({find:/\.\.\.$/,replace:e??"…"}),G9=e=>At({find:/(?:^|[\s{[(<'"\u2018\u201C])(")$/,replace:e??"“"}),Y9=e=>At({find:/"$/,replace:e??"”"}),H9=e=>At({find:/(?:^|[\s{[(<'"\u2018\u201C])(')$/,replace:e??"‘"}),$9=e=>At({find:/'$/,replace:e??"’"}),V9=e=>At({find:/<-$/,replace:e??"←"}),z9=e=>At({find:/->$/,replace:e??"→"}),W9=e=>At({find:/\(c\)$/,replace:e??"©"}),q9=e=>At({find:/\(tm\)$/,replace:e??"™"}),K9=e=>At({find:/\(sm\)$/,replace:e??"℠"}),Q9=e=>At({find:/\(r\)$/,replace:e??"®"}),X9=e=>At({find:/(?:^|\s)(1\/2)\s$/,replace:e??"½"}),j9=e=>At({find:/\+\/-$/,replace:e??"±"}),Z9=e=>At({find:/!=$/,replace:e??"≠"}),J9=e=>At({find:/<<$/,replace:e??"«"}),eX=e=>At({find:/>>$/,replace:e??"»"}),tX=e=>At({find:/\d+\s?([*x])\s?\d+$/,replace:e??"×"}),nX=e=>At({find:/\^2$/,replace:e??"²"}),rX=e=>At({find:/\^3$/,replace:e??"³"}),iX=e=>At({find:/(?:^|\s)(1\/4)\s$/,replace:e??"¼"}),oX=e=>At({find:/(?:^|\s)(3\/4)\s$/,replace:e??"¾"}),aX=Ot.create({name:"typography",addOptions(){return{closeDoubleQuote:"”",closeSingleQuote:"’",copyright:"©",ellipsis:"…",emDash:"—",laquo:"«",leftArrow:"←",multiplication:"×",notEqual:"≠",oneHalf:"½",oneQuarter:"¼",openDoubleQuote:"“",openSingleQuote:"‘",plusMinus:"±",raquo:"»",registeredTrademark:"®",rightArrow:"→",servicemark:"℠",superscriptThree:"³",superscriptTwo:"²",threeQuarters:"¾",trademark:"™"}},addInputRules(){const e=[];return this.options.emDash!==!1&&e.push(F9(this.options.emDash)),this.options.ellipsis!==!1&&e.push(B9(this.options.ellipsis)),this.options.openDoubleQuote!==!1&&e.push(G9(this.options.openDoubleQuote)),this.options.closeDoubleQuote!==!1&&e.push(Y9(this.options.closeDoubleQuote)),this.options.openSingleQuote!==!1&&e.push(H9(this.options.openSingleQuote)),this.options.closeSingleQuote!==!1&&e.push($9(this.options.closeSingleQuote)),this.options.leftArrow!==!1&&e.push(V9(this.options.leftArrow)),this.options.rightArrow!==!1&&e.push(z9(this.options.rightArrow)),this.options.copyright!==!1&&e.push(W9(this.options.copyright)),this.options.trademark!==!1&&e.push(q9(this.options.trademark)),this.options.servicemark!==!1&&e.push(K9(this.options.servicemark)),this.options.registeredTrademark!==!1&&e.push(Q9(this.options.registeredTrademark)),this.options.oneHalf!==!1&&e.push(X9(this.options.oneHalf)),this.options.plusMinus!==!1&&e.push(j9(this.options
Line truncated
|
||||
`}}),Wx,sX].filter(T=>!!T);return window.navigator.platform==="MacIntel"&&t.push(Dh),e.autoSaveKey&&t.push(qx),e.postkey&&(t.push(D9),t.push(st.configure({externalImages:!((f=e.restrictions)!=null&&f.has("external_image")),externalVideos:!((g=e.restrictions)!=null&&g.has("external_video")),float:!((h=e.restrictions)!=null&&h.has("float"))}))),(S=e.restrictions)!=null&&S.has("heading")||t.push(fn.configure({levels:(b=e.restrictions)!=null&&b.has("heading_1")?[2,3,4,5,6]:[1,2,3,4,5,6]})),t}async function CO(e,t){var n,r;if(e.pluginButtonKeys=new Set,e.simpleRichText?(delete e.codeMode,e.tools={toolbar:[...zx]},e.react&&KV(e.react)):await P4(),e.restrictions&&Symbol.iterator in e.restrictions?e.restrictions=new Set(e.restrictions):delete e.restrictions,e.jQuery=e.jQuery||window.jQuery,e.editorProps={attributes:{class:e.codeMode?"":"ipsRichText"}},e.itemStates={},e.extensions=lX(e),!(e.messagesContainer instanceof Element)&&((n=t==null?void 0:t.closest(".ipsEditor"))!=null&&n.querySelector('[data-role="editor-messages-container"]'))&&(e.messagesContainer=(r=t==null?void 0:t.closest(".ipsEditor"))==null?void 0:r.querySelector('[data-role="editor-messages-container"]')),e.codeMode)return e.tools={toolbar:["codelanguage"]},e;if(e.simpleRichText||L9(e,e.extensions),e.stockrepliesenabled){const i=await jT();Object.keys(i).length?window.Debug.log("Loaded stock replies"):(e.stockrepliesenabled=!1,window.Debug.log("No stock replies, disabling the button"))}if(!e.codeMode){for(const i in e.tools)e.tools[i]=e.tools[i].filter(o=>o==="giphy"&&!e.giphyenabled||o==="stockreply"&&!e.stockrepliesenabled?!1:!(e.hidebuttons instanceof Array&&e.hidebuttons.includes(o)));e.parseOptions=e.parseOptions||{},e.parseOptions.preserveWhitespace=!1}return e.tools.toolbar&&e.tools.toolbar[0]!=="block"&&(e.tools.toolbar=["block",...e.tools.toolbar.filter(i=>i!=="block")]),e}let RO=!1;function cX(){if(!RO){for(const e of["click","focus","keydown","keyup"])document.addEventListener(e,t=>{var n,r,i;(r=(n=t.target)==null?void 0:n.closest)!=null&&r.call(n,".ipsEditor__toolbar-item--unavailable")&&(t.preventDefault(),t.stopPropagation(),(i=t.stopImmediatePropagation)==null||i.call(t))},{capture:!0});RO=!0}}setTimeout(()=>window.ips.createModule("ips.utils.tiptap",()=>{const e={tools:{toolbar:["block","insert","bold","italic","underline","size","color","link","icon","stockreply","giphy","clear","format"]},allowedIframeDomains:window.ips.getSetting("allowedIframeDomains")||[],restrictions:new Set};return document.dispatchEvent(new CustomEvent("ipsTiptapLoaded")),{editorInstance(t,n={}){const r=wh.createRoot(t);return cX(),new Promise(i=>{CO({...e,...n},t).then(o=>{r.render(N.jsx(pt.StrictMode,{children:N.jsx(Y6,{resolve:a=>{i([a,r]),a.options.name&&setTimeout(()=>a.options.jQuery(a.view.dom.closest("[data-ipseditorv5]")).trigger("editorWidgetInitialized",{id:a.options.name}))},config:o})}))})})},allCodeLanguages:cl,async decorateSimpleRichTextConfig(t){return t.simpleRichText=!0,await CO(t)}}}));
|
||||
@@ -45,7 +45,7 @@
|
||||
"isDynamicEntry": true
|
||||
},
|
||||
"src/main.jsx": {
|
||||
"file": "assets/main-JrAf8-U8.js",
|
||||
"file": "assets/main-0gprcJBY.js",
|
||||
"name": "main",
|
||||
"src": "src/main.jsx",
|
||||
"isEntry": true,
|
||||
|
||||
@@ -24,6 +24,8 @@ use IPS\Output;
|
||||
use IPS\Theme;
|
||||
use function count;
|
||||
use function defined;
|
||||
use function str_replace;
|
||||
use function strtolower;
|
||||
use const IPS\ROOT_PATH;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
@@ -505,13 +507,41 @@ class details extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
/* FileStorage extensions */
|
||||
foreach( $this->application->extensions( 'core', 'FileStorage', false ) as $extensionKey => $ext )
|
||||
/* Extensions */
|
||||
$extensionStrings = [
|
||||
'ModeratorPermission' => 'modperms__{app}_{key}',
|
||||
'AchievementAction' => 'AchievementAction__{key}',
|
||||
'AdminNotifications' => 'acp_notification_{key}',
|
||||
'CommunityEnhancements' => 'enhancements__{app}_{key}',
|
||||
'Dashboard' => 'block_{app}_{key}',
|
||||
'EditorLocations' => 'editor__{app}_{key}',
|
||||
'EditorMedia' => 'editorMedia_{app}_{key}',
|
||||
'FileStorage' => 'filestorage__{app}_{key}',
|
||||
'GroupForm' => 'group__{app}_{key}',
|
||||
'IpAddresses' => 'ipAddresses__{app}_{key}',
|
||||
'LiveSearch' => 'acp_search_title_{app}_{key}',
|
||||
'MemberACPProfileTabs' => 'memberACPProfileTitle_{app}_{key}',
|
||||
'MFAArea' => 'MFA_{app}_{key}',
|
||||
];
|
||||
|
||||
$appExtensions = $this->_getJson( ROOT_PATH . "/applications/" . $this->application->directory . "/data/extensions.json" );
|
||||
foreach( $appExtensions as $_app => $_extensions )
|
||||
{
|
||||
$stringToCheck = 'filestorage__' . $this->application->directory . '_' . $extensionKey;
|
||||
if( !array_key_exists( $stringToCheck, $languageStrings ) )
|
||||
foreach( $_extensions as $extensionType => $extensions )
|
||||
{
|
||||
$missingAdminStrings['filestorage'][] = $stringToCheck;
|
||||
if( !isset( $extensionStrings[ $extensionType ] ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
foreach( $extensions as $extensionName => $extensionClass )
|
||||
{
|
||||
$stringToCheck = str_replace( [ '{app}', '{key}' ], [ $this->application->directory, $extensionName ], $extensionStrings[ $extensionType ] );
|
||||
if( !array_key_exists( $stringToCheck, $languageStrings ) )
|
||||
{
|
||||
$missingAdminStrings[ strtolower( $extensionType ) ][] = $stringToCheck;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -273,7 +273,7 @@ class settings extends Controller
|
||||
}
|
||||
else
|
||||
{
|
||||
$tabs['image'] = $icon;
|
||||
$tabs['login_' . $method->id]['image'] = $icon;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000035,
|
||||
"name": "5.0.0 Beta 7",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": true,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
{
|
||||
"categories": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"lightDarkMode",
|
||||
"logos",
|
||||
"pageLayouts",
|
||||
"typography",
|
||||
"header",
|
||||
"sidePanel",
|
||||
"content",
|
||||
"footer",
|
||||
"mobileNavigation",
|
||||
"navigationPanel",
|
||||
"global",
|
||||
"textLogo",
|
||||
"imageLogoDesktop",
|
||||
"imageLogoMobile",
|
||||
"desktopHeader",
|
||||
"mobileHeader",
|
||||
"desktopFooter",
|
||||
"body",
|
||||
"contentBoxes",
|
||||
"sidebar",
|
||||
"avatars",
|
||||
"buttons"
|
||||
],
|
||||
"removed": []
|
||||
},
|
||||
"settings": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"set__i-default-scheme",
|
||||
"set__i-logo-text",
|
||||
"set__i-sidebar-width",
|
||||
"i-primary-button--co",
|
||||
"set__i-mobile-icons-location",
|
||||
"set__logo-light",
|
||||
"i-footer--co",
|
||||
"set__mobile-logo-light",
|
||||
"layout_global_view_mode",
|
||||
"set__i-font-family",
|
||||
"set__i-design-border",
|
||||
"set__i-layout-width",
|
||||
"set__i-sidebar-ui-header--he",
|
||||
"set__i-position-logo",
|
||||
"set__i-mobile-header--he",
|
||||
"set__i-change-scheme",
|
||||
"set__i-logo-slogan",
|
||||
"i-primary-button--ba-co",
|
||||
"set__i-mobile-footer-labels",
|
||||
"set__logo-dark",
|
||||
"i-footer--ba-co",
|
||||
"set__mobile-logo-dark",
|
||||
"set__i-design-radius",
|
||||
"set__i-font-size",
|
||||
"set__i-flip-sidebar",
|
||||
"i-dashHeader--ba-co",
|
||||
"set__i-position-navigation",
|
||||
"i-headerMobile--ba-co",
|
||||
"i-headerMobile--co",
|
||||
"i-secondary-button--co",
|
||||
"set__i-logo--fo-fa",
|
||||
"set__i-position-user",
|
||||
"i-dashHeader--co",
|
||||
"set__i-avatar-radius",
|
||||
"i-color_root",
|
||||
"set__i-mobile-logo--he",
|
||||
"set__i-design-shadow",
|
||||
"i-mobileFooter--ba-co",
|
||||
"set__i-logo--he",
|
||||
"i-secondary-button--ba-co",
|
||||
"set__i-logo--fo-we",
|
||||
"i-navPanelLinkHover--co",
|
||||
"set__i-position-breadcrumb",
|
||||
"i-mobileFooter--co",
|
||||
"i-color_soft",
|
||||
"i-body--ba-co",
|
||||
"set__i-link-panels",
|
||||
"set__i-sidebar-ui-logo--he",
|
||||
"i-button--bo-ra",
|
||||
"set__i-desktop-logo--fo-si",
|
||||
"set__i-sticky-sidebar",
|
||||
"i-navPanelLinkActive--ba-co",
|
||||
"set__i-position-search",
|
||||
"i-mobileFooter-active--co",
|
||||
"i-color_hard",
|
||||
"i-box--ba-co",
|
||||
"set__i-header-primary--he",
|
||||
"set__i-sidebar-ui-logo--fo-si",
|
||||
"i-box--bo-co",
|
||||
"i-link--co",
|
||||
"i-mobileFooter-active--ba-co",
|
||||
"i-navPanel--ba-co",
|
||||
"set__i-mobile-logo--fo-si",
|
||||
"i-link-hover--co",
|
||||
"i-navPanel--co",
|
||||
"set__i-header-secondary--he",
|
||||
"i-boxHeader--ba-co",
|
||||
"i-boxHeader--co",
|
||||
"set__i-user-content-font-size",
|
||||
"i-navPanelLinkActive--co",
|
||||
"set__i-nav-bar-icons",
|
||||
"i-widget-header--ba-co",
|
||||
"i-headerTop--ba-co",
|
||||
"i-widget-header--co",
|
||||
"i-headerTop--co",
|
||||
"i-headerPrimary--ba-co",
|
||||
"i-headerPrimary--co",
|
||||
"i-headerSecondary--ba-co",
|
||||
"i-headerSecondary--co",
|
||||
"set__i-header-top--he"
|
||||
],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000036,
|
||||
"name": "5.0.0 Beta 8",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": true,
|
||||
"theme": true,
|
||||
"themeeditor": true,
|
||||
"javascript": true,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": true,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"files": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"global\/framework\/common\/ui\/ips.ui.form.js",
|
||||
"global\/admin\/controllers\/core\/ips.core.liveSearch.js",
|
||||
"global\/front\/controllers\/core\/ips.core.commentFeed.js",
|
||||
"core\/front\/controllers\/core\/ips.core.tagEditor.js",
|
||||
"core\/front\/controllers\/core\/ips.core.tagEditorForm.js"
|
||||
],
|
||||
"removed": []
|
||||
},
|
||||
"orders": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"normal": {
|
||||
"added": [
|
||||
"acp_close_search",
|
||||
"devscan__strings_moderatorpermission",
|
||||
"devscan__strings_achievementaction",
|
||||
"devscan__strings_adminnotifications",
|
||||
"devscan__strings_communityenhancements",
|
||||
"devscan__strings_dashboard",
|
||||
"devscan__strings_editorlocations",
|
||||
"devscan__strings_editormedia",
|
||||
"devscan__strings_groupform",
|
||||
"devscan__strings_ipaddresses",
|
||||
"devscan__strings_livesearch",
|
||||
"devscan__strings_memberacpprofiletabs",
|
||||
"devscan__strings_mfaarea"
|
||||
],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"js": {
|
||||
"added": [
|
||||
"form_color_datatransfer_fail"
|
||||
],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"html": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"admin\/dashboard\/onboard",
|
||||
"admin\/dashboard\/onboardWelcome",
|
||||
"global\/forms\/color",
|
||||
"admin\/global\/globalTemplate",
|
||||
"admin\/members\/prefixSuffix",
|
||||
"front\/profile\/followers",
|
||||
"front\/profile\/profile",
|
||||
"front\/system\/followedContent",
|
||||
"front\/system\/followedContentMemberRow",
|
||||
"front\/system\/manageFollowButton",
|
||||
"front\/tables\/manageFollowRow",
|
||||
"front\/tables\/table",
|
||||
"front\/tags\/coverPhotoOverlay"
|
||||
],
|
||||
"removed": []
|
||||
},
|
||||
"css": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"admin\/core\/global.css",
|
||||
"admin\/core\/livesearch.css",
|
||||
"admin\/dashboard\/onboard.css",
|
||||
"global\/framework\/3-compose.css",
|
||||
"global\/framework\/3-editor.css",
|
||||
"global\/framework\/3-richtext.css",
|
||||
"global\/framework\/5-flex-grid-gap.css",
|
||||
"front\/styles\/profiles.css"
|
||||
],
|
||||
"removed": []
|
||||
},
|
||||
"resources": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
{
|
||||
"categories": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"lightDarkMode",
|
||||
"logos",
|
||||
"pageLayouts",
|
||||
"typography",
|
||||
"header",
|
||||
"sidePanel",
|
||||
"content",
|
||||
"footer",
|
||||
"mobileNavigation",
|
||||
"navigationPanel",
|
||||
"global",
|
||||
"textLogo",
|
||||
"imageLogoDesktop",
|
||||
"imageLogoMobile",
|
||||
"desktopHeader",
|
||||
"mobileHeader",
|
||||
"desktopFooter",
|
||||
"body",
|
||||
"contentBoxes",
|
||||
"sidebar",
|
||||
"avatars",
|
||||
"buttons"
|
||||
],
|
||||
"removed": []
|
||||
},
|
||||
"settings": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"set__i-default-scheme",
|
||||
"set__i-logo-text",
|
||||
"set__i-sidebar-width",
|
||||
"i-primary-button--co",
|
||||
"set__i-mobile-icons-location",
|
||||
"set__logo-light",
|
||||
"i-footer--co",
|
||||
"set__mobile-logo-light",
|
||||
"layout_global_view_mode",
|
||||
"set__i-font-family",
|
||||
"set__i-design-border",
|
||||
"set__i-layout-width",
|
||||
"set__i-sidebar-ui-header--he",
|
||||
"set__i-position-logo",
|
||||
"set__i-mobile-header--he",
|
||||
"set__i-change-scheme",
|
||||
"set__i-logo-slogan",
|
||||
"i-primary-button--ba-co",
|
||||
"set__i-mobile-footer-labels",
|
||||
"set__logo-dark",
|
||||
"i-footer--ba-co",
|
||||
"set__mobile-logo-dark",
|
||||
"set__i-design-radius",
|
||||
"set__i-font-size",
|
||||
"set__i-flip-sidebar",
|
||||
"i-dashHeader--ba-co",
|
||||
"set__i-position-navigation",
|
||||
"i-headerMobile--ba-co",
|
||||
"i-headerMobile--co",
|
||||
"i-secondary-button--co",
|
||||
"set__i-logo--fo-fa",
|
||||
"set__i-position-user",
|
||||
"i-dashHeader--co",
|
||||
"set__i-avatar-radius",
|
||||
"i-color_root",
|
||||
"set__i-mobile-logo--he",
|
||||
"set__i-design-shadow",
|
||||
"i-mobileFooter--ba-co",
|
||||
"set__i-logo--he",
|
||||
"i-secondary-button--ba-co",
|
||||
"set__i-logo--fo-we",
|
||||
"i-navPanelLinkHover--co",
|
||||
"set__i-position-breadcrumb",
|
||||
"i-mobileFooter--co",
|
||||
"i-color_soft",
|
||||
"i-body--ba-co",
|
||||
"set__i-link-panels",
|
||||
"set__i-sidebar-ui-logo--he",
|
||||
"i-button--bo-ra",
|
||||
"set__i-desktop-logo--fo-si",
|
||||
"set__i-sticky-sidebar",
|
||||
"i-navPanelLinkActive--ba-co",
|
||||
"set__i-position-search",
|
||||
"i-mobileFooter-active--co",
|
||||
"i-color_hard",
|
||||
"i-box--ba-co",
|
||||
"set__i-header-primary--he",
|
||||
"set__i-sidebar-ui-logo--fo-si",
|
||||
"i-box--bo-co",
|
||||
"i-link--co",
|
||||
"i-mobileFooter-active--ba-co",
|
||||
"i-navPanel--ba-co",
|
||||
"set__i-mobile-logo--fo-si",
|
||||
"i-link-hover--co",
|
||||
"i-navPanel--co",
|
||||
"set__i-header-secondary--he",
|
||||
"i-boxHeader--ba-co",
|
||||
"i-boxHeader--co",
|
||||
"set__i-user-content-font-size",
|
||||
"i-navPanelLinkActive--co",
|
||||
"set__i-nav-bar-icons",
|
||||
"i-widget-header--ba-co",
|
||||
"i-headerTop--ba-co",
|
||||
"i-widget-header--co",
|
||||
"i-headerTop--co",
|
||||
"i-headerPrimary--ba-co",
|
||||
"i-headerPrimary--co",
|
||||
"i-headerSecondary--ba-co",
|
||||
"i-headerSecondary--co",
|
||||
"set__i-header-top--he"
|
||||
],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<javascript app="downloads">
|
||||
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/downloads" javascript_name="ips.downloads.browse.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000200">/**
|
||||
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/downloads" javascript_name="ips.downloads.browse.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000200">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -59,7 +59,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/pending" javascript_name="ips.pending.buttons.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000250">/**
|
||||
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/pending" javascript_name="ips.pending.buttons.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000250">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -87,7 +87,7 @@
|
||||
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="downloads" javascript_location="admin" javascript_path="controllers/settings" javascript_name="ips.settings.settings.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000050">/**
|
||||
<file javascript_app="downloads" javascript_location="admin" javascript_path="controllers/settings" javascript_name="ips.settings.settings.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -140,7 +140,7 @@
|
||||
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.linkedScreenshots.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000100">/**
|
||||
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.linkedScreenshots.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -212,7 +212,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.main.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000100"><![CDATA[/**
|
||||
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.main.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -657,7 +657,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.changeLog.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000150"><![CDATA[/**
|
||||
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.changeLog.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000150"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -779,7 +779,7 @@
|
||||
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.download.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000150">/**
|
||||
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.download.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000150">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -907,7 +907,7 @@
|
||||
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.subscribe.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000150">/**
|
||||
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.subscribe.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000150">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -970,7 +970,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="downloads" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.submit.js" javascript_type="template" javascript_version="5000034" javascript_position="1000050"><![CDATA[/* VIEW TEMPLATES */
|
||||
<file javascript_app="downloads" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.submit.js" javascript_type="template" javascript_version="5000036" javascript_position="1000050"><![CDATA[/* VIEW TEMPLATES */
|
||||
ips.templates.set('downloads.submit.screenshot', " \
|
||||
<div class='ipsUploader__row ipsUploader__row--image ipsAttach {{#done}}ipsAttach_done{{/done}}' id='{{id}}' data-role='file' data-fileid='{{id}}' data-filesize='{{sizeRaw}}' data-fullsizeurl='{{imagesrc}}' data-thumbnailurl='{{thumbnail}}' data-fileType='image'>\
|
||||
<div class='ipsUploader__rowPreview' data-role='preview'>\
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="downloads" version="5000034">
|
||||
<app key="downloads" version="5000036">
|
||||
<word key="__app_downloads" js="0">Downloads</word>
|
||||
<word key="frontnavigation_downloads" js="0">Downloads</word>
|
||||
<word key="__indefart_downloads_file_comment" js="0">a comment on a file</word>
|
||||
|
||||
@@ -282,5 +282,7 @@
|
||||
"5000031": "5.0.0 Beta 5",
|
||||
"5000032": "5.0.0 Beta 6",
|
||||
"5000033": "5.0.0 Beta 7",
|
||||
"5000034": "5.0.0 Beta 7"
|
||||
"5000034": "5.0.0 Beta 7",
|
||||
"5000035": "5.0.0 Beta 7",
|
||||
"5000036": "5.0.0 Beta 8"
|
||||
}
|
||||
@@ -54,6 +54,7 @@ use IPS\Request;
|
||||
use IPS\Session;
|
||||
use IPS\Settings;
|
||||
use IPS\Theme;
|
||||
use IPS\Widget;
|
||||
use OutOfRangeException;
|
||||
use RuntimeException;
|
||||
use UnderflowException;
|
||||
@@ -1245,7 +1246,6 @@ class view extends Controller
|
||||
else
|
||||
{
|
||||
$noWatermark = NULL;
|
||||
$watermarked = FALSE;
|
||||
if ( Settings::i()->idm_watermarkpath )
|
||||
{
|
||||
try
|
||||
@@ -1255,7 +1255,6 @@ class view extends Controller
|
||||
$image = Image::create( $file->contents() );
|
||||
$image->watermark( $watermark );
|
||||
$file = File::create( 'downloads_Screenshots', $file->originalFilename, $image );
|
||||
$watermarked = TRUE;
|
||||
}
|
||||
catch ( Exception $e ) { }
|
||||
}
|
||||
@@ -1274,6 +1273,9 @@ class view extends Controller
|
||||
) );
|
||||
}
|
||||
}
|
||||
|
||||
/* Clear any widget caches so that the new thumbnails show */
|
||||
Widget::deleteCaches( null, 'downloads' );
|
||||
}
|
||||
|
||||
if ( isset( $values['url_screenshots'] ) )
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000035,
|
||||
"name": "5.0.0 Beta 7",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": true,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"categories": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"settings": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"layout_downloads_categories"
|
||||
],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000036,
|
||||
"name": "5.0.0 Beta 8",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": true,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"categories": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"settings": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"layout_downloads_categories"
|
||||
],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<javascript app="forums">
|
||||
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/forum" javascript_name="ips.forum.flow.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000100"><![CDATA[/**
|
||||
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/forum" javascript_name="ips.forum.flow.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -272,7 +272,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/forum" javascript_name="ips.forum.forumList.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000100"><![CDATA[/**
|
||||
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/forum" javascript_name="ips.forum.forumList.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -340,7 +340,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/forum" javascript_name="ips.forum.forumPage.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000100"><![CDATA[/**
|
||||
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/forum" javascript_name="ips.forum.forumPage.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -397,7 +397,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/forum" javascript_name="ips.forum.hovercard.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000100">/**
|
||||
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/forum" javascript_name="ips.forum.hovercard.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -447,7 +447,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="forums" javascript_location="admin" javascript_path="controllers/settings" javascript_name="ips.settings.archiveRules.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000050"><![CDATA[/**
|
||||
<file javascript_app="forums" javascript_location="admin" javascript_path="controllers/settings" javascript_name="ips.settings.archiveRules.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -512,7 +512,7 @@
|
||||
});
|
||||
}(jQuery, _));
|
||||
]]></file>
|
||||
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/topic" javascript_name="ips.topic.activity.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000050">/**
|
||||
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/topic" javascript_name="ips.topic.activity.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -534,7 +534,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/topic" javascript_name="ips.topic.answers.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000050"><![CDATA[/**
|
||||
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/topic" javascript_name="ips.topic.answers.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -674,7 +674,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/topic" javascript_name="ips.topic.reply.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000050">/**
|
||||
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/topic" javascript_name="ips.topic.reply.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -703,7 +703,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/topic" javascript_name="ips.topic.solved.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000050"><![CDATA[/**
|
||||
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/topic" javascript_name="ips.topic.solved.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -741,7 +741,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/topic" javascript_name="ips.topic.view.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000050">/**
|
||||
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/topic" javascript_name="ips.topic.view.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="forums" version="5000034">
|
||||
<app key="forums" version="5000036">
|
||||
<word key="__app_forums" js="0">Forums</word>
|
||||
<word key="frontnavigation_forums" js="0">Forums</word>
|
||||
<word key="__indefart_post" js="0">a post in a topic</word>
|
||||
|
||||
@@ -282,5 +282,7 @@
|
||||
"5000031": "5.0.0 Beta 5",
|
||||
"5000032": "5.0.0 Beta 6",
|
||||
"5000033": "5.0.0 Beta 7",
|
||||
"5000034": "5.0.0 Beta 7"
|
||||
"5000034": "5.0.0 Beta 7",
|
||||
"5000035": "5.0.0 Beta 7",
|
||||
"5000036": "5.0.0 Beta 8"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000035,
|
||||
"name": "5.0.0 Beta 7",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": true,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"categories": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"settings": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"layout_forums_forum",
|
||||
"layout_forums_topic",
|
||||
"layout_forums_post",
|
||||
"layout_forum_topic_view_firstpost"
|
||||
],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000036,
|
||||
"name": "5.0.0 Beta 8",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": true,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"categories": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"settings": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"layout_forums_forum",
|
||||
"layout_forums_topic",
|
||||
"layout_forums_post",
|
||||
"layout_forum_topic_view_firstpost"
|
||||
],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -545,6 +545,7 @@ class Forum extends Model implements Permissions
|
||||
if ( $member->member_id )
|
||||
{
|
||||
$updatedItem->last_poster_name = $member->name;
|
||||
$updatedItem->last_poster_anon = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -795,9 +796,19 @@ class Forum extends Model implements Permissions
|
||||
$lastPost['last_title'] = null;
|
||||
}
|
||||
|
||||
$author = null;
|
||||
if ( $lastPost['last_poster_anon'] )
|
||||
{
|
||||
$author = Member::loggedIn()->language()->addToStack( "post_anonymously_placename" );
|
||||
}
|
||||
else
|
||||
{
|
||||
$author = ! empty( $lastPost['last_poster_id'] ) ? $lastPost['last_poster_id'] : ( $lastPost['last_poster_name'] ?? Member::loggedIn()->language()->addToStack( "guest" ) );
|
||||
}
|
||||
|
||||
$results[ $lastPostTime ] = array(
|
||||
'author' => null,
|
||||
'_author' => ! empty( $lastPost['last_poster_id'] ) ? $lastPost['last_poster_id'] : ( $lastPost['last_poster_name'] ?? '' ),
|
||||
'_author' => $author,
|
||||
'topic_url' => Url::internal( "app=forums&module=forums&controller=topic&id={$lastPost['last_id']}", 'front', 'forums_topic', array( $lastPost['seo_last_title'] ) ),
|
||||
'topic_title' => $lastPost['last_title'],
|
||||
'date' => $lastPostTime,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<javascript app="gallery">
|
||||
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/global" javascript_name="ips.global.nsfw.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000200">;( function($, _, undefined){
|
||||
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/global" javascript_name="ips.global.nsfw.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000200">;( function($, _, undefined){
|
||||
"use strict";
|
||||
|
||||
ips.controller.register('gallery.front.global.nsfw', {
|
||||
@@ -20,7 +20,7 @@
|
||||
});
|
||||
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="gallery" javascript_location="admin" javascript_path="controllers/settings" javascript_name="ips.settings.settings.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000050">/**
|
||||
<file javascript_app="gallery" javascript_location="admin" javascript_path="controllers/settings" javascript_name="ips.settings.settings.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -77,7 +77,7 @@
|
||||
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.chooseCategory.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000100"><![CDATA[/**
|
||||
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.chooseCategory.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -244,7 +244,7 @@
|
||||
});
|
||||
}(jQuery, _));
|
||||
]]></file>
|
||||
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.existingAlbums.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000100"><![CDATA[/**
|
||||
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.existingAlbums.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -280,7 +280,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.uploadImages.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000100"><![CDATA[/**
|
||||
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.uploadImages.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -411,7 +411,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.wrapper.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000100"><![CDATA[/**
|
||||
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.wrapper.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1166,7 +1166,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.image.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000150">/**
|
||||
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.image.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000150">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1308,7 +1308,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.note.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000150"><![CDATA[/**
|
||||
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.note.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000150"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1768,7 +1768,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.notes.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000150"><![CDATA[/**
|
||||
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.notes.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000150"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1851,8 +1851,8 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="gallery" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.browse.js" javascript_type="template" javascript_version="5000034" javascript_position="1000050">// Empty</file>
|
||||
<file javascript_app="gallery" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.submit.js" javascript_type="template" javascript_version="5000034" javascript_position="1000050"><![CDATA[ips.templates.set('gallery.submit.imageItem', " \
|
||||
<file javascript_app="gallery" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.browse.js" javascript_type="template" javascript_version="5000036" javascript_position="1000050">// Empty</file>
|
||||
<file javascript_app="gallery" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.submit.js" javascript_type="template" javascript_version="5000036" javascript_position="1000050"><![CDATA[ips.templates.set('gallery.submit.imageItem', " \
|
||||
<div class='ipsAttach ipsImageAttach {{#done}}ipsAttach_done{{/done}}' id='{{id}}' data-role='file' data-fileid='{{id}}' data-fullsizeurl='{{imagesrc}}' data-thumbnailurl='{{thumbnail}}' data-isImage='1'>\
|
||||
<ul class='ipsImageAttach_controls'>\
|
||||
<li data-role='insert' {{#insertable}}style='display: none'{{/insertable}}><a href='#' data-action='insertFile' class='ipsAttach_selection' data-ipsTooltip title='{{#lang}}insertIntoPost{{/lang}}'><i class='fa-solid fa-plus'></i></a></li>\
|
||||
@@ -1879,7 +1879,7 @@
|
||||
ips.templates.set('gallery.submit.imageItemWrapper', " \
|
||||
<div class='cGallerySubmit_fileList'>{{{content}}}</div>\
|
||||
");]]></file>
|
||||
<file javascript_app="gallery" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.view.js" javascript_type="template" javascript_version="5000034" javascript_position="1000050"><![CDATA[ips.templates.set('gallery.notes.wrapper', " \
|
||||
<file javascript_app="gallery" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.view.js" javascript_type="template" javascript_version="5000036" javascript_position="1000050"><![CDATA[ips.templates.set('gallery.notes.wrapper', " \
|
||||
<div class='cGalleryNote' data-controller='gallery.front.view.note' data-noteID='{{id}}' data-note=\"{{note}}\" {{#editable}}data-editable{{/editable}} data-posLeft='{{left}}' data-posTop='{{top}}' data-dimWidth='{{width}}' data-dimHeight='{{height}}'>\
|
||||
<div class='cGalleryNote_border'></div>\
|
||||
<div class='cGalleryNote_note' style='display: none'>\
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="gallery" version="5000034">
|
||||
<app key="gallery" version="5000036">
|
||||
<word key="__app_gallery" js="0">Gallery</word>
|
||||
<word key="frontnavigation_gallery" js="0">Gallery</word>
|
||||
<word key="gallery_title" js="0">Gallery</word>
|
||||
|
||||
@@ -283,5 +283,7 @@
|
||||
"5000031": "5.0.0 Beta 5",
|
||||
"5000032": "5.0.0 Beta 6",
|
||||
"5000033": "5.0.0 Beta 7",
|
||||
"5000034": "5.0.0 Beta 7"
|
||||
"5000034": "5.0.0 Beta 7",
|
||||
"5000035": "5.0.0 Beta 7",
|
||||
"5000036": "5.0.0 Beta 8"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000035,
|
||||
"name": "5.0.0 Beta 7",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000036,
|
||||
"name": "5.0.0 Beta 8",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<javascript app="nexus">
|
||||
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/checkout" javascript_name="ips.checkout.register.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000100">/**
|
||||
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/checkout" javascript_name="ips.checkout.register.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -34,7 +34,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/checkout" javascript_name="ips.checkout.review.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000100"><![CDATA[/**
|
||||
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/checkout" javascript_name="ips.checkout.review.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -91,7 +91,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="nexus" javascript_location="global" javascript_path="controllers/forms" javascript_name="ips.forms.businessAddressVat.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000150"><![CDATA[/**
|
||||
<file javascript_app="nexus" javascript_location="global" javascript_path="controllers/forms" javascript_name="ips.forms.businessAddressVat.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000150"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -130,7 +130,7 @@
|
||||
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="nexus" javascript_location="global" javascript_path="controllers/gateways" javascript_name="ips.gateways.stripe.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000200"><![CDATA[/**
|
||||
<file javascript_app="nexus" javascript_location="global" javascript_path="controllers/gateways" javascript_name="ips.gateways.stripe.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000200"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -471,7 +471,7 @@
|
||||
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="nexus" javascript_location="global" javascript_path="controllers/gateways" javascript_name="ips.gateways.stripepaymentrequest.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000200">/**
|
||||
<file javascript_app="nexus" javascript_location="global" javascript_path="controllers/gateways" javascript_name="ips.gateways.stripepaymentrequest.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000200">/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2017 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
@@ -552,7 +552,7 @@
|
||||
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="nexus" javascript_location="global" javascript_path="controllers/misc" javascript_name="ips.misc.print.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000100">/**
|
||||
<file javascript_app="nexus" javascript_location="global" javascript_path="controllers/misc" javascript_name="ips.misc.print.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -574,7 +574,7 @@
|
||||
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/notifications" javascript_name="ips.notifications.pendingTransactions.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000100">/**
|
||||
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/notifications" javascript_name="ips.notifications.pendingTransactions.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -654,7 +654,7 @@
|
||||
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/store" javascript_name="ips.store.productoptions.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000150"><![CDATA[/**
|
||||
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/store" javascript_name="ips.store.productoptions.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000150"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -709,7 +709,7 @@
|
||||
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/store" javascript_name="ips.store.productselector.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000150"><![CDATA[/**
|
||||
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/store" javascript_name="ips.store.productselector.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000150"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -769,7 +769,7 @@
|
||||
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/store" javascript_name="ips.store.cartReview.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000200">/**
|
||||
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/store" javascript_name="ips.store.cartReview.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000200">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -869,7 +869,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/store" javascript_name="ips.store.category.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000200"><![CDATA[/**
|
||||
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/store" javascript_name="ips.store.category.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000200"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -977,7 +977,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/store" javascript_name="ips.store.currencySelect.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000200">/**
|
||||
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/store" javascript_name="ips.store.currencySelect.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000200">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1020,7 +1020,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/store" javascript_name="ips.store.giftCard.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000200"><![CDATA[/**
|
||||
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/store" javascript_name="ips.store.giftCard.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000200"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1108,7 +1108,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/store" javascript_name="ips.store.packagePage.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000200"><![CDATA[/**
|
||||
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/store" javascript_name="ips.store.packagePage.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000200"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1385,7 +1385,7 @@
|
||||
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/store" javascript_name="ips.store.register.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000200"><![CDATA[/**
|
||||
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/store" javascript_name="ips.store.register.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000200"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1534,7 +1534,7 @@
|
||||
},
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/subscriptions" javascript_name="ips.subscriptions.main.js" javascript_type="controller" javascript_version="5000034" javascript_position="1000150">/**
|
||||
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/subscriptions" javascript_name="ips.subscriptions.main.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000150">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1572,7 +1572,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="nexus" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.store.js" javascript_type="template" javascript_version="5000034" javascript_position="1000050"><![CDATA[ips.templates.set('nexus.store.images', `
|
||||
<file javascript_app="nexus" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.store.js" javascript_type="template" javascript_version="5000036" javascript_position="1000050"><![CDATA[ips.templates.set('nexus.store.images', `
|
||||
<div class='ipsUploader__row ipsUploader__row--image ipsAttach {{#done}}ipsAttach_done{{/done}}' id='{{id}}' data-role='file' data-fileid='{{id}}' data-fullsizeurl='{{imagesrc}}' data-thumbnailurl='{{thumbnail}}' data-fileType='image'>
|
||||
<div class='ipsUploader__rowPreview' data-role='preview'>
|
||||
{{#thumb}}
|
||||
@@ -1605,12 +1605,12 @@
|
||||
ips.templates.set('nexus.store.imagesWrapper', `
|
||||
<div class='ipsUploader__container ipsUploader__container--images'>{{{content}}}</div>
|
||||
`);]]></file>
|
||||
<file javascript_app="nexus" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.store.js" javascript_type="template" javascript_version="5000034" javascript_position="1000050"><![CDATA[ips.templates.set('nexus.store.productImage', " \
|
||||
<file javascript_app="nexus" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.store.js" javascript_type="template" javascript_version="5000036" javascript_position="1000050"><![CDATA[ips.templates.set('nexus.store.productImage', " \
|
||||
<a href='{{fullURL}}' data-fullURL='{{fullURL}}' class='cNexusProduct_primaryImage' data-ipsLightbox data-ipsLightbox-group='product' style='background-image:url({{thumbURL}})'>\
|
||||
<img src='{{thumbURL}}' alt=''>\
|
||||
</a>\
|
||||
");]]></file>
|
||||
<file javascript_app="nexus" javascript_location="global" javascript_path="templates" javascript_name="ips.templates.gateways.js" javascript_type="template" javascript_version="5000034" javascript_position="1000050"><![CDATA[ips.templates.set('nexus.gateway.vaultAccount', " \
|
||||
<file javascript_app="nexus" javascript_location="global" javascript_path="templates" javascript_name="ips.templates.gateways.js" javascript_type="template" javascript_version="5000036" javascript_position="1000050"><![CDATA[ips.templates.set('nexus.gateway.vaultAccount', " \
|
||||
<li>\
|
||||
<input type='radio' name='{{fieldName}}[stored]' value='{{value}}' id='{{fieldName}}_stored{{random}}' data-control='toggle' data-toggles='{{fieldName}}_existing' class='ipsInput ipsInput--toggle'>\
|
||||
<div class='ipsFieldList__content'>\
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="nexus" version="5000034">
|
||||
<app key="nexus" version="5000036">
|
||||
<word key="__app_nexus" js="0">Commerce</word>
|
||||
<word key="menutab__nexus" js="0">Commerce</word>
|
||||
<word key="menutab__nexus_icon" js="0">usd</word>
|
||||
|
||||
@@ -283,5 +283,7 @@
|
||||
"5000031": "5.0.0 Beta 5",
|
||||
"5000032": "5.0.0 Beta 6",
|
||||
"5000033": "5.0.0 Beta 7",
|
||||
"5000034": "5.0.0 Beta 7"
|
||||
"5000034": "5.0.0 Beta 7",
|
||||
"5000035": "5.0.0 Beta 7",
|
||||
"5000036": "5.0.0 Beta 8"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000035,
|
||||
"name": "5.0.0 Beta 7",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": true,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"categories": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"settings": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"layout_store_view"
|
||||
],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000036,
|
||||
"name": "5.0.0 Beta 8",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": true,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"categories": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"settings": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"layout_store_view"
|
||||
],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -141,7 +141,7 @@ class IPS
|
||||
}
|
||||
else
|
||||
{
|
||||
$uniqueKey = mb_substr( md5( 'IcPro' . '$Rev: 3023$'), 10, 10 );
|
||||
$uniqueKey = mb_substr( md5( '12345678' . '$Rev: 3023$'), 10, 10 );
|
||||
}
|
||||
|
||||
$staticKey = null;
|
||||
@@ -484,7 +484,7 @@ class IPS
|
||||
// CACHEBUST_KEY to be a "for reals, will change every release" one. DO NOT set a value
|
||||
// for it in constants.php
|
||||
'SUITE_UNIQUE_KEY' => $uniqueKey,
|
||||
'CACHEBUST_KEY' => mb_substr( md5( 'IcPro' . '$Rev: 3023$'), 10, 10 ),
|
||||
'CACHEBUST_KEY' => mb_substr( md5( '12345678' . '$Rev: 3023$'), 10, 10 ),
|
||||
|
||||
// Thumbnail size
|
||||
// This needs to be hardcoded rather than configurable because it's the smallest size that
|
||||
|
||||
@@ -1 +1 @@
|
||||
.ipsControlStrip{display:flex;gap:4px;position:relative;z-index:1;}.ipsControlStrip > *{flex:1 1 auto;}.ipsControlStrip a{display:flex;align-items:center;justify-content:center;color:inherit;font-size:14px;min-width:2.4em;min-height:2.4em;border-radius:5px;}.ipsControlStrip_disabled{background:transparent;pointer-events:none;}.ipsControlStrip_disabled .ipsControlStrip_icon{opacity:.5;}:where(.ipsTree_row:hover .ipsControlStrip a){background:var(--i-background_3);}@media (hover:none){.ipsControlStrip a:not(:hover){background:var(--i-background_3);}}.ipsControlStrip a:hover{color:var(--i-primary-contrast);background:var(--i-primary);}:where(.ipsControlStrip:not(.ipsControlStrip_showText) .ipsControlStrip_item){border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px;}.ipsControlStrip_showText a{width:auto;padding:0 .7em;}.ipsControlStrip_item:where(:not(.ipsMenu *)){font-size:.9em;margin-inline-start:.6em;font-weight:600;}.ipsWidthHeight{background:#fff;border:1px dashed #000;margin-bottom:10px;}[dir="rtl"] .ipsWidthHeight{display:none;}.ui-icon-gripsmall-diagonal-se{background:url('../resources/core_84c1e40ea0e759e3f1505eb1788ddf3c_resizable.png');}.ui-resizable{position:relative;}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;}.ui-resizable-se{cursor:nwse-resize;width:12px;height:12px;right:0px;bottom:0px;}[data-ips-scheme="light"] .ipsFieldRow_searchResult{background-color:#f4e5c4;border-color:#ebc46f;color:#7a5206;}[data-ips-scheme="dark"] .ipsFieldRow_searchResult{background-color:#534531;border-color:#786743;color:#f8e5d4;}[data-controller="ips.core.badgepreview"] svg{width:180px;}@media (min-width:1100px){.ipsBadgePicker--form{display:grid;grid-template-columns:180px 1fr 1fr 1fr;}:where(.ipsBadgePicker--form > li){grid-column:1/-1;}.ipsFieldRow--badge-creator-preview .ipsFieldRow__content{position:sticky;top:90px;}.ipsFieldRow--badge-creator{grid-column:auto;align-content:start !important;}.ipsFieldRow--badge-creator:not(.ipsHide, [hidden]){display:grid !important;grid-template-columns:1fr !important;}.ipsFieldRow--badge-creator .ipsFieldRow__label{text-align:start !important;display:flex !important;}.ipsFieldRow--badge-creator .ipsFieldRow__required{flex:0 0 auto !important;}.ipsFieldRow--badge-creator .sp-colorize{max-width:none;}.ipsFieldRow--badge-creator-preview:not([hidden], .ipsHide, #x){grid-column:1/2;grid-row-end:span 5;display:block !important;}.ipsFieldRow--badge-creator-icon{grid-column:3/5;}[data-controller="ips.core.badgepreview"] svg, .ipsFieldRow--badge-creator .sp-colorize-container{width:100%;}.ipsFieldRow--badge-creator [data-controller="core.admin.core.nodeCopySetting"]{display:none;}}.acpFormTabContent .ipsBox{border-width:0;border-radius:0;}:root{--i-layout-gutter:15px;}svg[style*="hidden"] rect[fill="#ffffff"], svg[style*="hidden"] path[fill="#ffffff"]{fill:var(--i-background_1);}svg[style*="hidden"] rect[fill="#edf0f5"]{fill:var(--i-background_1);}svg[style*="hidden"] text[fill="#444444"]{fill:var(--i-color_soft);}svg[style*="hidden"] text[fill="#222222"]{fill:var(--i-color_hard);}svg[style*="hidden"] text[fill="#000000"]{fill:var(--i-color_hard);}svg[style*="hidden"] rect[width="1"], svg[style*="hidden"] rect[height="1"]{fill:var(--i-background_3);}#elLogo{height:62px;display:flex;align-items:center;justify-content:center;}#elLogo img{width:30px;}#acpAppList .ipsNotification{top:3px;inset-inline-end:3px;}#acpAppList .acpAppList__sub .ipsNotification{position:static;margin-inline-start:1em;}#acpAppList #elHideMenu{width:16px;height:32px;line-height:32px;position:fixed;bottom:0;z-index:6000;background:var(--i-background_1);border-radius:5px 0 0 0;}#acpAppList #elHideMenu a{color:inherit !important;}body.cAdminDevModeOn #acpAppList #elHideMenu{bottom:60px;}#acpAppList #elHideMenu{inset-inline-start:54px;inset-inline-start:calc(60px - 16px);}#acpAppList #elHideMenu a{padding:0 !important;height:100% !important;}.acpSearch{background:var(--i-background_3);color:var(--i-color_root);border-radius:6px;flex:1 1 100%;display:flex;align-items:center;height:41px;margin-inline-end:10px;}.acpSearch:focus-within{background:var(--i-background_1);outline:2px solid var(--i-primary);outline-offset:-1px;}.acpSearch .fa-magnifying-glass{margin:0 1em;opacity:.6;}#acpSearchKeyword{border:0;background:transparent;max-width:100%;padding:.75em 0;color:inherit;box-shadow:none;flex:1 1 100%;outline:none;}#acpSearchKeyword::-webkit-input-placeholder{color:var(--i-color_soft);opacity:1;}#acpSearchKeyword::placeholder{color:var(--i-color_soft);opacity:1;}#elAdminControls{display:flex;align-items:center;flex:0 0 auto;font-size:13px;font-weight:600;margin-inline-start:auto;}#elAdminControls a{color:inherit;display:flex;align-items:center;gap:.5em;padding:0 15px;border-radius:4px;min-height:40px;}#elAdminControls a:hover{background:var(--i-background_3);}#elAdminControls .acpHighlightLink_wrap{--i-co:129, 46%;color:hslLine truncated
|
||||
.ipsControlStrip{display:flex;gap:4px;position:relative;z-index:1;}.ipsControlStrip > *{flex:1 1 auto;}.ipsControlStrip a{display:flex;align-items:center;justify-content:center;color:inherit;font-size:14px;min-width:2.4em;min-height:2.4em;border-radius:5px;}.ipsControlStrip_disabled{background:transparent;pointer-events:none;}.ipsControlStrip_disabled .ipsControlStrip_icon{opacity:.5;}:where(.ipsTree_row:hover .ipsControlStrip a){background:var(--i-background_3);}@media (hover:none){.ipsControlStrip a:not(:hover){background:var(--i-background_3);}}.ipsControlStrip a:hover{color:var(--i-primary-contrast);background:var(--i-primary);}:where(.ipsControlStrip:not(.ipsControlStrip_showText) .ipsControlStrip_item){border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px;}.ipsControlStrip_showText a{width:auto;padding:0 .7em;}.ipsControlStrip_item:where(:not(.ipsMenu *)){font-size:.9em;margin-inline-start:.6em;font-weight:600;}.ipsWidthHeight{background:#fff;border:1px dashed #000;margin-bottom:10px;}[dir="rtl"] .ipsWidthHeight{display:none;}.ui-icon-gripsmall-diagonal-se{background:url('../resources/core_84c1e40ea0e759e3f1505eb1788ddf3c_resizable.png');}.ui-resizable{position:relative;}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;}.ui-resizable-se{cursor:nwse-resize;width:12px;height:12px;right:0px;bottom:0px;}[data-ips-scheme="light"] .ipsFieldRow_searchResult{background-color:#f4e5c4;border-color:#ebc46f;color:#7a5206;}[data-ips-scheme="dark"] .ipsFieldRow_searchResult{background-color:#534531;border-color:#786743;color:#f8e5d4;}[data-controller="ips.core.badgepreview"] svg{width:180px;}@media (min-width:1100px){.ipsBadgePicker--form{display:grid;grid-template-columns:180px 1fr 1fr 1fr;}:where(.ipsBadgePicker--form > li){grid-column:1/-1;}.ipsFieldRow--badge-creator-preview .ipsFieldRow__content{position:sticky;top:90px;}.ipsFieldRow--badge-creator{grid-column:auto;align-content:start !important;}.ipsFieldRow--badge-creator:not(.ipsHide, [hidden]){display:grid !important;grid-template-columns:1fr !important;}.ipsFieldRow--badge-creator .ipsFieldRow__label{text-align:start !important;display:flex !important;}.ipsFieldRow--badge-creator .ipsFieldRow__required{flex:0 0 auto !important;}.ipsFieldRow--badge-creator .sp-colorize{max-width:none;}.ipsFieldRow--badge-creator-preview:not([hidden], .ipsHide, #x){grid-column:1/2;grid-row-end:span 5;display:block !important;}.ipsFieldRow--badge-creator-icon{grid-column:3/5;}[data-controller="ips.core.badgepreview"] svg, .ipsFieldRow--badge-creator .sp-colorize-container{width:100%;}.ipsFieldRow--badge-creator [data-controller="core.admin.core.nodeCopySetting"]{display:none;}}.acpFormTabContent .ipsBox{border-width:0;border-radius:0;}:root{--i-layout-gutter:15px;}svg[style*="hidden"] rect[fill="#ffffff"], svg[style*="hidden"] path[fill="#ffffff"]{fill:var(--i-background_1);}svg[style*="hidden"] rect[fill="#edf0f5"]{fill:var(--i-background_1);}svg[style*="hidden"] text[fill="#444444"]{fill:var(--i-color_soft);}svg[style*="hidden"] text[fill="#222222"]{fill:var(--i-color_hard);}svg[style*="hidden"] text[fill="#000000"]{fill:var(--i-color_hard);}svg[style*="hidden"] rect[width="1"], svg[style*="hidden"] rect[height="1"]{fill:var(--i-background_3);}#elLogo{height:62px;display:flex;align-items:center;justify-content:center;}#elLogo img{width:30px;}#acpAppList .ipsNotification{top:3px;inset-inline-end:3px;}#acpAppList .acpAppList__sub .ipsNotification{position:static;margin-inline-start:1em;}#acpAppList #elHideMenu{width:16px;height:32px;line-height:32px;position:fixed;bottom:0;z-index:6000;background:var(--i-background_1);border-radius:5px 0 0 0;}#acpAppList #elHideMenu a{color:inherit !important;}body.cAdminDevModeOn #acpAppList #elHideMenu{bottom:60px;}#acpAppList #elHideMenu{inset-inline-start:54px;inset-inline-start:calc(60px - 16px);}#acpAppList #elHideMenu a{padding:0 !important;height:100% !important;}.acpSearch{background:var(--i-background_3);color:var(--i-color_root);border-radius:6px;flex:1 1 100%;display:flex;align-items:center;height:41px;margin-inline-end:10px;}.acpSearch:focus-within{background:var(--i-background_1);outline:2px solid var(--i-primary);outline-offset:-1px;}.acpSearch .fa-magnifying-glass{margin:0 1em;opacity:.6;}#acpSearchKeyword{border:0;background:transparent;max-width:100%;padding:.75em 0;color:inherit;box-shadow:none;flex:1 1 100%;outline:none;}@media (hover:none) and (max-width:1024px){#acpSearchKeyword{font-size:max(16px, 1em);}}#acpSearchKeyword::-webkit-input-placeholder{color:var(--i-color_soft);opacity:1;}#acpSearchKeyword::placeholder{color:var(--i-color_soft);opacity:1;}.acpSearch__close{display:grid;place-content:center;width:2em;height:2em;background-color:var(--i-background_1);border-radius:5px;margin:0 6px;}body:has(#acpLiveSearchResults:not([style*="block"])) .acpSearch__close{display:none;}#elAdminControls{display:flex;align-items:center;fLine truncated
|
||||
@@ -1 +1 @@
|
||||
.cOnboardBox{padding:clamp(1em, 5vw, 3em);max-width:900px;margin:70px auto 0;border-top:10px solid var(--i-primary);}.cOnboardBox .ipsHr{margin:35px 0;}.cOnboardBox__text{font-size:16px;line-height:1.4;}.cOnboardBox__text strong{color:var(--i-color_hard);}.cOnboardBox__stepTitle{line-height:1.2;}.cOnboardBox__stepIcon{font-size:30px;opacity:0.5;width:40px;}.cOnboard__sectionTitle{font-weight:600;cursor:pointer;font-size:18px;color:var(--i-color_hard);border-bottom:1px solid var(--i-background_4);}.cOnboard__sectionTitle i{font-size:20px;transition:0.2s all ease-in-out;}.cOnboard__infoTitle{color:var(--i-color_hard);font-size:1.3em;font-weight:600;margin-bottom:.4em;}.cOnboard__section--closed.cOnboard__section--done i{transform:rotate(0);opacity:0.6;}.cOnboard__section--closed.cOnboard__section--done i::before{content:'\f05d';}.cOnboard__section--closed :is(.cOnboard__sectionContents, .cOnboard__sectionButtons){display:none;}.cOnboard__section--closed .cOnboard__sectionIcon{transform:rotate(-90deg);}
|
||||
.cOnboardBox{padding:clamp(1em, 5vw, 3em);max-width:900px;margin:70px auto 0;border-top:10px solid var(--i-primary);}.cOnboardBox .ipsHr{margin:35px 0;}.cOnboardBox__item{display:flex;gap:2em;padding:2em 0;border-bottom:1px solid var(--i-background_4);}.cOnboardBox__stepIcon{flex:0 0 1em;text-align:center;font-size:24px;opacity:.3;}.cOnboard__sectionTitle{font-weight:600;cursor:pointer;font-size:18px;color:var(--i-color_hard);border-bottom:1px solid var(--i-background_4);}.cOnboard__sectionTitle i{font-size:20px;transition:0.2s all ease-in-out;}.cOnboard__infoTitle{color:var(--i-color_hard);font-size:1.3em;font-weight:600;margin-bottom:.4em;}.cOnboard__section--closed.cOnboard__section--done i{transform:rotate(0);opacity:0.6;}.cOnboard__section--closed.cOnboard__section--done i::before{content:'\f05d';}.cOnboard__section--closed :is(.cOnboard__sectionContents, .cOnboard__sectionButtons){display:none;}.cOnboard__section--closed .cOnboard__sectionIcon{transform:rotate(-90deg);}
|
||||
@@ -1 +1 @@
|
||||
.ipsCoverPhoto--minimal .ipsCoverPhoto__container{aspect-ratio:10;}.ipsCoverPhoto--profile:not(.ipsCoverPhoto--minimal) ~ .ipsCoverPhotoMeta [data-action="goToProfile"], .ipsCoverPhoto--minimal ~ .ipsCoverPhotoMeta [data-action="browseContent"], .ipsCoverPhoto--minimal #ipsMenu_elprofile_edit{display:none !important;}.ipsProfileContainer{container:ipsProfile / inline-size;}.ipsProfile{display:grid;gap:1em;}@container (min-width:768px){.ipsProfile{grid-template-columns:min(360px, 35%) 1fr;}.ipsProfile__aside{display:grid;}.ipsProfile__sticky-outer{min-height:min(100%, calc(100vh - (var(--i-sp_block) * 2) - var(--i-sticky-offset)));min-height:min(100%, calc(100svh - (var(--i-sp_block) * 2) - var(--i-sticky-offset)));position:sticky;bottom:var(--i-sp_block);align-self:end;}.ipsProfile__sticky-inner{position:sticky;top:calc(var(--i-sticky-offset) + var(--i-sp_block));display:grid;gap:1em;}}@container (max-width:767px){.ipsProfile__aside--carousel .ipsProfile__sticky-inner{display:flex;gap:1em;overflow:auto;margin-left:calc(var(--i-layout-gutter) * -1);margin-right:calc(var(--i-layout-gutter) * -1);padding-inline:var(--i-layout-gutter);overscroll-behavior-x:contain;scroll-behavior:smooth;scroll-snap-type:x mandatory;scroll-padding-inline:var(--i-layout-gutter);-webkit-transform:translateZ(0);}.ipsProfile__aside--carousel .ipsWidget{flex:1 0 min(360px, 80vw);scroll-snap-align:center;display:flex;flex-direction:column;}.ipsProfile__aside--carousel .ipsWidget__content{flex:1 1 auto;display:grid;align-content:center;}}.ipsProfile__aside .ipsSideMenu{padding:1em;}.ipsProfile__aside .ipsData:not(.ipsData--profileVisitors){--i-data--padding:1.4em;--i-data--title:1.05em;}.ipsProfile__aside .ipsData:not(.ipsData--profileVisitors) .ipsData__title{font-weight:600;}.ipsProfile__aside .ipsData:not(.ipsData--profileVisitors) .ipsData__desc{margin:0;display:block;}.ipsData--profileMeta .ipsData__icon{opacity:.3;flex-basis:1em;align-self:center;font-size:16px;}.ipsProfile__aside .ipsTime__long{display:revert;}.ipsProfile__aside .ipsTime__short{display:none;}.ipsProfileWidget{padding:3em 1.5em;border-bottom:1px solid var(--i-background_3);display:block;}.cProfileAchievements > a:hover{background:var(--i-background_2);}.cProfileRepScore{background:var(--i-background_5);color:var(--i-base-contrast_6);border-radius:6px;text-align:center;display:grid;font-weight:600;}.cProfileRepScore--badge{font-size:1.5em;}.cProfileRepScore--positive, .cProfileRepScore--solutions{background:var(--i-background_positive);color:var(--i-color_positive-soft);}.cProfileRepScore--negative{background:var(--i-background_negative);color:var(--i-color_negative-soft);}.cProfileRepScore__points{font-size:2em;}.cProfileSubscription{display:grid;overflow:hidden;border-radius:min(var(--i-design-radius), 7px);background-color:var(--i-background_dark);color:#fff;text-align:center;font-weight:600;}.cProfileSubscription > *{grid-area:1/-1;}.cProfileSubscription img{width:100%;}.cProfileSubscription__gradient{background-image:linear-gradient(to bottom, rgba(0,0,0,0) 50%, rgba(0,0,0,0.8));}.cProfileSubscription__text{padding:2em 1em;align-self:end;}.cProfileSubscription--with-image .cProfileSubscription__text{padding-top:5em;text-shadow:rgba(0,0,0,0.2) 0px 1px 1px;}.cRankHistory{position:relative;z-index:1;display:grid;gap:20px;}.cRankHistory::before{content:'';width:2px;background:var(--i-color_soft);position:absolute;top:10px;bottom:10px;inset-inline-start:19px;z-index:-1;opacity:.4;}.cRankHistory__item{position:relative;display:flex;align-items:center;gap:var(--i-sp_2);}.cRankHistory__icon{background:var(--i-background_1);padding:3px 0;flex:0 0 auto;}.cRankHistory__icon img{width:40px;aspect-ratio:1;object-fit:cover;}.cRankHistory__itemBadge--unearned{filter:opacity(15%) grayscale(1);}.ipsTabs--profile{background:var(--i-background_2);border-top-left-radius:inherit;border-top-right-radius:inherit;}.ipsTabs__panels--profile{scroll-margin-top:4.5em;}
|
||||
.ipsCoverPhoto--minimal .ipsCoverPhoto__container{aspect-ratio:10;}.ipsCoverPhoto--profile:not(.ipsCoverPhoto--minimal) ~ .ipsCoverPhotoMeta [data-action="goToProfile"], .ipsCoverPhoto--minimal ~ .ipsCoverPhotoMeta [data-action="browseContent"], .ipsCoverPhoto--minimal #ipsMenu_elprofile_edit{display:none !important;}.ipsProfileContainer{container:ipsProfile / inline-size;}.ipsProfile{display:grid;gap:1em;}.ipsProfile__sticky-inner{display:grid;gap:1em;grid-template-columns:repeat(auto-fill, minmax(min(100%, 280px), 1fr));}@container (min-width:768px){.ipsProfile{grid-template-columns:min(360px, 35%) 1fr;}.ipsProfile__aside{display:grid;}.ipsProfile__sticky-outer{min-height:min(100%, calc(100vh - (var(--i-sp_block) * 2) - var(--i-sticky-offset)));min-height:min(100%, calc(100svh - (var(--i-sp_block) * 2) - var(--i-sticky-offset)));position:sticky;bottom:var(--i-sp_block);align-self:end;}.ipsProfile__sticky-inner{position:sticky;top:calc(var(--i-sticky-offset) + var(--i-sp_block));}}.ipsProfile__aside .ipsSideMenu{padding:1em;}.ipsProfile__aside .ipsData:not(.ipsData--profileVisitors){--i-data--padding:1.4em;--i-data--title:1.05em;}.ipsProfile__aside .ipsData:not(.ipsData--profileVisitors) .ipsData__title{font-weight:600;}.ipsProfile__aside .ipsData:not(.ipsData--profileVisitors) .ipsData__desc{margin:0;display:block;}.ipsData--profileMeta .ipsData__icon{opacity:.3;flex-basis:1em;align-self:center;font-size:16px;}.ipsProfile__aside .ipsTime__long{display:revert;}.ipsProfile__aside .ipsTime__short{display:none;}.ipsProfileWidget{padding:3em 1.5em;border-bottom:1px solid var(--i-background_3);display:block;}.cProfileAchievements > a:hover{background:var(--i-background_2);}.cProfileRepScore{background:var(--i-background_5);color:var(--i-base-contrast_6);border-radius:6px;text-align:center;display:grid;font-weight:600;}.cProfileRepScore--badge{font-size:1.5em;}.cProfileRepScore--positive, .cProfileRepScore--solutions{background:var(--i-background_positive);color:var(--i-color_positive-soft);}.cProfileRepScore--negative{background:var(--i-background_negative);color:var(--i-color_negative-soft);}.cProfileRepScore__points{font-size:2em;}.cProfileSubscription{display:grid;overflow:hidden;border-radius:min(var(--i-design-radius), 7px);background-color:var(--i-background_dark);color:#fff;text-align:center;font-weight:600;}.cProfileSubscription > *{grid-area:1/-1;}.cProfileSubscription img{width:100%;}.cProfileSubscription__gradient{background-image:linear-gradient(to bottom, rgba(0,0,0,0) 50%, rgba(0,0,0,0.8));}.cProfileSubscription__text{padding:2em 1em;align-self:end;}.cProfileSubscription--with-image .cProfileSubscription__text{padding-top:5em;text-shadow:rgba(0,0,0,0.2) 0px 1px 1px;}.cRankHistory{position:relative;z-index:1;display:grid;gap:20px;}.cRankHistory::before{content:'';width:2px;background:var(--i-color_soft);position:absolute;top:10px;bottom:10px;inset-inline-start:19px;z-index:-1;opacity:.4;}.cRankHistory__item{position:relative;display:flex;align-items:center;gap:var(--i-sp_2);}.cRankHistory__icon{background:var(--i-background_1);padding:3px 0;flex:0 0 auto;}.cRankHistory__icon img{width:40px;aspect-ratio:1;object-fit:cover;}.cRankHistory__itemBadge--unearned{filter:opacity(15%) grayscale(1);}.ipsTabs--profile{background:var(--i-background_2);border-top-left-radius:inherit;border-top-right-radius:inherit;}.ipsTabs__panels--profile{scroll-margin-top:4.5em;}
|
||||
@@ -1 +1 @@
|
||||
*{margin:0;padding:0;}*, ::before, ::after{box-sizing:border-box;min-width:0;min-height:0;}html{-webkit-text-size-adjust:100%;accent-color:var(--i-primary);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;}hr{color:inherit;}hr, iframe, fieldset{border-width:0;}iframe:where([src*="youtube."], [src*="youtube-nocookie."], [src*="vimeo."]){width:100%;height:auto;aspect-ratio:16/9;}img, svg{border:0;display:inline-block;max-width:100%;height:auto;vertical-align:top;}:where(img::before){display:block;overflow:hidden;height:100%;}h1, h2, h3, h4, h5, h6{font-size:inherit;font-weight:inherit;}b, strong{font-weight:bolder;}menu, ol, ul, summary{list-style-type:none;}blockquote, q{quotes:none;}table{border-collapse:collapse;border-spacing:0;}input, textarea, select, button{background:none;border:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;text-align:inherit;text-transform:inherit;}textarea, select{-webkit-appearance:none;appearance:none;box-shadow:none;}textarea{display:block;width:100%;}select{cursor:pointer;}[type="search"]{-webkit-appearance:none;appearance:none;}[type="date"], [type="time"]{accent-color:currentColor;}::placeholder{color:inherit;opacity:.5;}button, [type="submit"], summary{-webkit-appearance:none;appearance:none;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;}button{text-align:inherit;}details summary::-webkit-details-marker{display:none;}:focus{outline-color:transparent;}:focus-visible{outline:var(--i-outline-width) var(--i-outline-style) var(--i-outline-color);outline-offset:var(--i-outline-offset);}address{font-style:inherit;}dialog{border-width:0;margin:auto;}dialog:not([open]){display:none !important;}.sr-only, .ipsInvisible{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;white-space:nowrap !important;width:1px !important;}[hidden]{display:none !important;}:root{--light__i-primary:hsl(220 85% 50%);--light__i-primary-relative-l:33;--light__i-secondary:hsl(220 49% 13%);--light__i-secondary-relative-l:10;--light__i-base:oklch(calc(var(--light__i-base-l) * 1%) calc(var(--light__i-base-c) * 1%) var(--light__i-base-h));--light__i-base-l:100;--light__i-base-c:30;--light__i-base-h:260;--dark__i-primary:hsl(215 85% 50%);--dark__i-primary-relative-l:37;--dark__i-secondary:hsl(215 18% 26%);--dark__i-secondary-relative-l:24;--dark__i-base:oklch(calc(var(--dark__i-base-l) * 1%) calc(var(--dark__i-base-c) * 1%) var(--dark__i-base-h));--dark__i-base-l:30;--dark__i-base-c:20;--dark__i-base-h:260;--set__i-default-scheme:system;--set__i-change-scheme:1;--set__i-logo--fo-fa:var(--i-font-family);--set__i-logo--fo-we:500;--set__i-desktop-logo--fo-si:18;--set__i-sidebar-ui-logo--fo-si:20;--set__i-mobile-logo--fo-si:18;--set__logo-light:;--set__logo-dark:;--set__i-logo--he:70;--set__i-sidebar-ui-logo--he:70;--set__mobile-logo-light:;--set__mobile-logo-dark:;--set__i-mobile-logo--he:70;--set__i-font-family:var(--i-font-family_system-ui);--set__i-font-size:14;--set__i-user-content-font-size:110;--set__i-position-logo:4;--set__i-position-navigation:5;--set__i-position-user:6;--set__i-position-breadcrumb:7;--set__i-position-search:9;--set__i-header-top--he:50;--set__i-header-primary--he:100;--set__i-header-secondary--he:50;--set__i-nav-bar-icons:0;--set__i-mobile-header--he:60;--set__i-sidebar-ui-header--he:65;--set__i-sidebar-width:350;--set__i-flip-sidebar:0;--set__i-sticky-sidebar:1;--set__i-layout-width:1500;--set__i-avatar-radius:1;--set__i-design-border:1;--set__i-design-radius:8;--set__i-design-shadow:2;--set__i-link-panels:1;--set__i-mobile-icons-location:footer;--set__i-mobile-footer-labels:1;--light__i-color_root:var(--i-base-contrast_3);--dark__i-color_root:var(--i-base-contrast_4);--light__i-color_soft:var(--i-base-contrast_1);--dark__i-color_soft:var(--i-base-contrast_2);--light__i-color_hard:var(--i-base-contrast_6);--dark__i-color_hard:var(--i-base-contrast_6);--light__i-link--co:var(--i-base-contrast_5);--dark__i-link--co:var(--i-base-contrast_5);--light__i-link-hover--co:var(--i-color_primary);--dark__i-link-hover--co:var(--i-color_primary);--light__i-headerTop--ba-co:var(--i-base-contrast_5);--dark__i-headerTop--ba-co:var(--i-base_3);--light__i-headerTop--co:var(--i-base_1);--dark__i-headerTop--co:var(--i-base-contrast_6);--light__i-headerPrimary--ba-co:var(--i-base-contrast_4);--dark__i-headerPrimary--ba-co:var(--i-base_3);--light__i-headerPrimary--co:var(--i-base_1);--dark__i-headerPrimary--co:var(--i-base-contrast_6);--light__i-headerSecondary--ba-co:var(--i-base-contrast_5);--dark__i-headerSecondary--ba-co:var(--i-base_4);--light__i-headerSecondary--co:var(--i-base_1);--dark__i-headerSecondary--co:var(--i-base-contrast_5);--light__i-headerMobile--ba-co:var(--i-base_1);--dark__i-headerMobile--ba-Line truncated
|
||||
*{margin:0;padding:0;}*, ::before, ::after{box-sizing:border-box;min-width:0;min-height:0;}html{-webkit-text-size-adjust:100%;accent-color:var(--i-primary);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;}hr{color:inherit;}hr, iframe, fieldset{border-width:0;}iframe:where([src*="youtube."], [src*="youtube-nocookie."], [src*="vimeo."]){width:100%;height:auto;aspect-ratio:16/9;}img, svg{border:0;display:inline-block;max-width:100%;height:auto;vertical-align:top;}:where(img::before){display:block;overflow:hidden;height:100%;}h1, h2, h3, h4, h5, h6{font-size:inherit;font-weight:inherit;}b, strong{font-weight:bolder;}menu, ol, ul, summary{list-style-type:none;}blockquote, q{quotes:none;}table{border-collapse:collapse;border-spacing:0;}input, textarea, select, button{background:none;border:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;text-align:inherit;text-transform:inherit;}textarea, select{-webkit-appearance:none;appearance:none;box-shadow:none;}textarea{display:block;width:100%;}select{cursor:pointer;}[type="search"]{-webkit-appearance:none;appearance:none;}[type="date"], [type="time"]{accent-color:currentColor;}::placeholder{color:inherit;opacity:.5;}button, [type="submit"], summary{-webkit-appearance:none;appearance:none;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;}button{text-align:inherit;}details summary::-webkit-details-marker{display:none;}:focus{outline-color:transparent;}:focus-visible{outline:var(--i-outline-width) var(--i-outline-style) var(--i-outline-color);outline-offset:var(--i-outline-offset);}address{font-style:inherit;}dialog{border-width:0;margin:auto;}dialog:not([open]){display:none !important;}.sr-only, .ipsInvisible{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;white-space:nowrap !important;width:1px !important;}[hidden]{display:none !important;}:root{--light__i-primary:hsl(220 85% 50%);--light__i-primary-relative-l:33;--light__i-secondary:hsl(220 49% 13%);--light__i-secondary-relative-l:10;--light__i-base:oklch(calc(var(--light__i-base-l) * 1%) calc(var(--light__i-base-c) * 1%) var(--light__i-base-h));--light__i-base-l:100;--light__i-base-c:30;--light__i-base-h:260;--dark__i-primary:hsl(215 85% 50%);--dark__i-primary-relative-l:37;--dark__i-secondary:hsl(215 18% 26%);--dark__i-secondary-relative-l:24;--dark__i-base:oklch(calc(var(--dark__i-base-l) * 1%) calc(var(--dark__i-base-c) * 1%) var(--dark__i-base-h));--dark__i-base-l:30;--dark__i-base-c:20;--dark__i-base-h:260;--set__i-default-scheme:system;--set__i-change-scheme:1;--set__i-logo--fo-fa:var(--i-font-family);--set__i-logo--fo-we:500;--set__i-desktop-logo--fo-si:18;--set__i-sidebar-ui-logo--fo-si:20;--set__i-mobile-logo--fo-si:18;--set__logo-light:;--set__logo-dark:;--set__i-logo--he:70;--set__i-sidebar-ui-logo--he:70;--set__mobile-logo-light:;--set__mobile-logo-dark:;--set__i-mobile-logo--he:70;--set__i-font-family:var(--i-font-family_system-ui);--set__i-font-size:14;--set__i-user-content-font-size:110;--set__i-position-logo:4;--set__i-position-navigation:5;--set__i-position-user:6;--set__i-position-breadcrumb:7;--set__i-position-search:9;--set__i-header-top--he:50;--set__i-header-primary--he:100;--set__i-header-secondary--he:50;--set__i-nav-bar-icons:0;--set__i-mobile-header--he:60;--set__i-sidebar-ui-header--he:65;--set__i-sidebar-width:350;--set__i-flip-sidebar:0;--set__i-sticky-sidebar:1;--set__i-layout-width:1500;--set__i-avatar-radius:1;--set__i-design-border:1;--set__i-design-radius:8;--set__i-design-shadow:2;--set__i-link-panels:1;--set__i-mobile-icons-location:footer;--set__i-mobile-footer-labels:1;--light__i-color_root:var(--i-base-contrast_3);--dark__i-color_root:var(--i-base-contrast_4);--light__i-color_soft:var(--i-base-contrast_1);--dark__i-color_soft:var(--i-base-contrast_2);--light__i-color_hard:var(--i-base-contrast_6);--dark__i-color_hard:var(--i-base-contrast_6);--light__i-link--co:var(--i-base-contrast_5);--dark__i-link--co:var(--i-base-contrast_5);--light__i-link-hover--co:var(--i-color_primary);--dark__i-link-hover--co:var(--i-color_primary);--light__i-headerTop--ba-co:var(--i-base-contrast_5);--dark__i-headerTop--ba-co:var(--i-base_3);--light__i-headerTop--co:var(--i-base_1);--dark__i-headerTop--co:var(--i-base-contrast_6);--light__i-headerPrimary--ba-co:var(--i-base-contrast_4);--dark__i-headerPrimary--ba-co:var(--i-base_3);--light__i-headerPrimary--co:var(--i-base_1);--dark__i-headerPrimary--co:var(--i-base-contrast_6);--light__i-headerSecondary--ba-co:var(--i-base-contrast_5);--dark__i-headerSecondary--ba-co:var(--i-base_4);--light__i-headerSecondary--co:var(--i-base_1);--dark__i-headerSecondary--co:var(--i-base-contrast_5);--light__i-headerMobile--ba-co:var(--i-base_1);--dark__i-headerMobile--ba-Line truncated
|
||||
@@ -18,12 +18,12 @@ this.scope.find('[data-role="pollContainer"]').append(ips.templates.render('core
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.front.core.reviewForm',{initialize:function(){this.on('click','[data-action="writeReview"]',this.toggleReview);},toggleReview:function(e){this.scope.find('[data-role="reviewIntro"]').attr('hidden','');this.scope.find('[data-role="reviewForm"]').removeAttr('hidden');}});}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.front.core.tagEditor',{_minTags:null,_maxTags:null,_count:0,_tagEditID:'',initialize:function(){this.on('click','[data-action="removeTag"]',this.removeTag);this.on(document,'tagsUpdated',this.tagsUpdated);this.setup();},setup:function(){this._tagEditID=this.scope.attr('data-tagEditID');this._minTags=this.scope.attr('data-minTags')||null;this._maxTags=this.scope.attr('data-maxTags')||null;this._setCount();this._checkMinMax();},_destroy:function(){if($('#elTagEditor_'+this._tagEditID+'_menu').length){$('#elTagEditor_'+this._tagEditID+'_menu').remove();}},tagsUpdated:function(e,data){if(data.tagEditID!==this._tagEditID){return;}
|
||||
this.scope.find('.ipsTags__item:not(.ipsTags__item--edit)').remove();this.scope.prepend(data.tags);var editablePrefix=$('body').find('[data-editablePrefix]');if(editablePrefix.length){if(data.prefix){editablePrefix.html(data.prefix).removeClass('ipsHide');}else{editablePrefix.html('').addClass('ipsHide');}}else if(data.prefix.length){this.scope.prepend(data.prefix);}
|
||||
this._setCount();this._checkMinMax();ips.ui.flashMsg.show(ips.getString('tagsUpdated'));},removeTag:function(e){e.preventDefault();var self=this;var remove=$(e.currentTarget);var url=remove.attr('href');var tagContainer=remove.closest('.ipsTags__item');var tag=tagContainer.find('.ipsTags__tag');tagContainer.fadeOut('fast');this._count--;this._checkMinMax();ips.getAjax()(url,{bypassRedirect:true}).done(function(){ips.ui.flashMsg.show(ips.getString('tagRemoved'));setTimeout(function(){tagContainer.remove();},200);}).fail(function(jqXHR,textStatus,errorThrown){tagContainer.stop().show().css({opacity:"1"});self._count++;if(jqXHR.responseJSON){ips.ui.alert.show({type:'alert',icon:'warn',message:jqXHR.responseJSON,callbacks:{}});}});},_checkMinMax:function(){var allowRemove=!(this._minTags&&this._count<=this._minTags);this.scope.find('[data-action="removeTag"]').toggle(allowRemove).end().find('.ipsTags__item--deletable').toggleClass('ipsTags__item--deletable',allowRemove);this.scope.find('.ipsTags__item--edit').toggle(!(this._maxTags&&this._count>=this._maxTags));},_setCount:function(){var prefix=this._getPrefix();var count=this.scope.find('.ipsTags__item').length;if(prefix.length&&prefix.is(':visible')){count++;}
|
||||
this._setCount();this._checkMinMax();if(data.tagsChanged==1){ips.ui.flashMsg.show(ips.getString('tagsUpdated'));}},removeTag:function(e){e.preventDefault();var self=this;var remove=$(e.currentTarget);var url=remove.attr('href');var tagContainer=remove.closest('.ipsTags__item');var tag=tagContainer.find('.ipsTags__tag');tagContainer.fadeOut('fast');this._count--;this._checkMinMax();ips.getAjax()(url,{bypassRedirect:true}).done(function(){ips.ui.flashMsg.show(ips.getString('tagRemoved'));setTimeout(function(){tagContainer.remove();},200);}).fail(function(jqXHR,textStatus,errorThrown){tagContainer.stop().show().css({opacity:"1"});self._count++;if(jqXHR.responseJSON){ips.ui.alert.show({type:'alert',icon:'warn',message:jqXHR.responseJSON,callbacks:{}});}});},_checkMinMax:function(){var allowRemove=!(this._minTags&&this._count<=this._minTags);this.scope.find('[data-action="removeTag"]').toggle(allowRemove).end().find('.ipsTags__item--deletable').toggleClass('ipsTags__item--deletable',allowRemove);this.scope.find('.ipsTags__item--edit').toggle(!(this._maxTags&&this._count>=this._maxTags));},_setCount:function(){var prefix=this._getPrefix();var count=this.scope.find('.ipsTags__item').length;if(prefix.length&&prefix.is(':visible')){count++;}
|
||||
this._count=count;},_getPrefix:function(){return $('body').find('[data-editablePrefix]');}});}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.front.core.tagEditorForm',{_placeholder:null,_menuID:'',_tagEditID:'',initialize:function(){this.on(document,'menuOpened',this.menuOpened);this.on(document,'menuClosed',this.menuClosed);this.on('submit','form',this.submitForm);this.setup();},setup:function(){this._menuID=this.scope.closest('.ipsMenu').attr('id').replace('_menu','');this._tagEditID=this._menuID.replace('elTagEditor_','');},menuClosed:function(e,data){if(data.elemID!=this._menuID){return;}
|
||||
this.scope.html(ips.templates.render('core.edittags.default'));},menuOpened:function(e,data){if(data.elemID!=this._menuID){return;}
|
||||
var self=this;var url=$(data.originalEvent.currentTarget).attr('href');ips.getAjax()(url).done(function(response){self._setLoading(false);self.scope.html(response);$(document).trigger('contentChange',[self.scope]);}).fail(function(){window.location=url;});},submitForm:function(e){e.preventDefault();var self=this;var form=$(e.currentTarget);var autoComplete=this.scope.find('[data-ipsAutocomplete]');autoComplete.trigger('blur');setTimeout(function(){if(ips.ui.autocomplete.getObj(autoComplete).hasErrors()){e.preventDefault();return;}
|
||||
self._setLoading(true);ips.getAjax()(form.attr('action'),{type:'post',data:form.serialize(),dataType:'json'}).done(function(response){self.scope.trigger('tagsUpdated',{tagEditID:self._tagEditID,tags:response.tags,prefix:response.prefix});self.scope.trigger('closeMenu');setTimeout(function(){self._setLoading(false);},200);}).fail(function(jqXHR,textStatus,errorThrown){if(jqXHR.responseJSON){ips.ui.alert.show({type:'alert',icon:'warn',message:jqXHR.responseJSON,callbacks:{}});}});},500);},_setLoading:function(loading){if(loading){if(!this._placeholder){this._buildPlaceholder();}
|
||||
self._setLoading(true);ips.getAjax()(form.attr('action'),{type:'post',data:form.serialize(),dataType:'json'}).done(function(response){self.scope.trigger('tagsUpdated',{tagEditID:self._tagEditID,tags:response.tags,prefix:response.prefix,tagsChanged:response.tagsChanged});self.scope.trigger('closeMenu');setTimeout(function(){self._setLoading(false);},200);}).fail(function(jqXHR,textStatus,errorThrown){if(jqXHR.responseJSON){ips.ui.alert.show({type:'alert',icon:'warn',message:jqXHR.responseJSON,callbacks:{}});}});},500);},_setLoading:function(loading){if(loading){if(!this._placeholder){this._buildPlaceholder();}
|
||||
var width=this.scope.outerWidth();var height=this.scope.outerHeight();this.scope.hide();this._placeholder.show().css({width:width+'px',height:height+'px'});}else{if(this._placeholder){this._placeholder.hide();this.scope.show();}}},_buildPlaceholder:function(){this._placeholder=$('<div/>').addClass('ipsLoading').hide();this.scope.after(this._placeholder);}});}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.front.core.announcementBanner',{initialize:function(){this.setup();this.on('click','[data-role="dismissAnnouncement"]',this.dismissAnnouncement);},setup:function(){this.scope.find('[data-announcementId]').each(function(){var announcement=$(this);if(ips.utils.cookie.get('announcement_'+announcement.attr('data-announcementId'))){announcement.hide();}});},dismissAnnouncement:function(e){var element=$(e.target).closest('[data-announcementId]');var id=element.attr('data-announcementId');var date=new Date();date.setTime(date.getTime()+(7*86400000));ips.utils.cookie.set('announcement_'+id,true,date.toUTCString());element.slideUp({duration:400,complete:function(){$(this).remove();}});}});}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.front.core.articlePages',{_currentPage:1,_pages:null,_articleID:'',initialize(){this.on('paginationClicked',this.paginationClicked);this.setup();},setup(){this._articleID=this._getArticleID();this.on(window,`historychange:article-${this._articleID}`,this.stateChange);this._setupPages();},stateChange(){if(!(('article-'+this._articleID)in ips.utils.history.getState())){return;}
|
||||
|
||||
@@ -83,8 +83,8 @@ this._getTextarea().innerText=JSON.stringify(restrictionSetting);this._getTextar
|
||||
e.preventDefault();var dialog=this.scope.closest('.ipsDialog');if(!dialog.length){return;}
|
||||
var elemId=dialog.attr('id').replace(/_dialog$/,'');var dialogObj=ips.ui.dialog.getObj($('#'+elemId));if(!dialogObj){return;}
|
||||
dialogObj.setLoading(true);ips.getAjax()($(e.currentTarget).attr('action')+'&ajaxValidate=1',{data:$(e.currentTarget).serialize(),type:'post'}).done(function(response,textStatus,jqXHR){if(jqXHR.getAllResponseHeaders().indexOf('X-IPS-FormError: true')!==-1||jqXHR.getAllResponseHeaders().indexOf('x-ips-formerror: true')!==-1){dialogObj.updateContent(jqXHR.responseText);$(document).trigger('contentChange',[$('#'+elemId)]);dialogObj.setLoading(false);}else if(jqXHR.getAllResponseHeaders().indexOf('X-IPS-FormNoSubmit: true')!==-1||jqXHR.getAllResponseHeaders().indexOf('x-ips-formnosubmit: true')!==-1){dialogObj.updateContent(jqXHR.responseText);$(document).trigger('contentChange',[$('#'+elemId)]);dialogObj.setLoading(false);}else{$(e.currentTarget).attr('data-bypassValidation',true).submit();}}).fail(function(jqXHR,textStatus,errorThrown){if(Debug.isEnabled()){Debug.error("Ajax request failed ("+status+"): "+errorThrown);Debug.error(jqXHR.responseText);}else{$(e.currentTarget).attr('data-bypassValidation',true).submit();}});},dismissDialog:function(e){var elemId=$('.ipsDialog').attr('id').replace(/_dialog$/,'');var dialogObj=ips.ui.dialog.getObj($('#'+elemId));dialogObj.hide();$('#'+elemId).data('_dialog','')}});}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.admin.core.liveSearch',{_textField:null,_searchMenu:null,_resultsContainer:null,_lastValue:'',_results:{},_timers:{},_modal:null,_activePanel:null,_ajax:{},_defaultTab:null,initialize:function(){this.setup();this.on(document,'focus','#acpSearchKeyword',this.fieldFocus);this.on(document,'blur','#acpLiveSearch',this.fieldBlur);this.on(document,'click','.ipsModal',this.clickModal);this.on('itemClicked.sideMenu',this.changeSection);},setup:function(){this._searchMenu=this.scope.find('[data-role="searchMenu"]');this._resultsContainer=this.scope.find('[data-role="searchResults"]');this._defaultTab=this.scope.find('[data-role="defaultTab"]').attr('data-ipsMenuValue');this._textField=$('#acpSearchKeyword');this._textField.prop('autocomplete','off').prop('spellcheck',false).attr('aria-autocomplete','list').attr('aria-haspopup','true');this._activePanel=this._searchMenu.find('.ipsSideMenu_itemActive').attr('data-ipsMenuValue');},changeSection:function(e,data){this._activePanel=data.selectedItemID;this._showResultsInPanel(this._activePanel,this._results[this._activePanel]);},fieldFocus:function(e){this._timers.focus=setInterval(_.bind(this._timerFocus,this),700);if(this._textField.val()&&this._textField.val().length>=3){this._showResults();}},fieldBlur:function(e){clearInterval(this._timers);},clickModal:function(e){if(this._modal==null||$(e.currentTarget).attr('id')!=this._modal.attr('id')){return;}
|
||||
this._hideResults();},_timerFocus:function(){var currentValue=this._textField.val().trim();if(currentValue==this._lastValue||this._textField.val().trim().length<3){return;}
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.admin.core.liveSearch',{_textField:null,_searchMenu:null,_resultsContainer:null,_lastValue:'',_results:{},_timers:{},_modal:null,_activePanel:null,_ajax:{},_defaultTab:null,initialize:function(){this.setup();this.on(document,'focus','#acpSearchKeyword',this.fieldFocus);this.on(document,'blur','#acpLiveSearch',this.fieldBlur);this.on(document,'click','.ipsModal',this.clickModal);this.on(document,'click','[data-role="closeLiveSearch"]',this.clickCloseButton);this.on('itemClicked.sideMenu',this.changeSection);},setup:function(){this._searchMenu=this.scope.find('[data-role="searchMenu"]');this._resultsContainer=this.scope.find('[data-role="searchResults"]');this._defaultTab=this.scope.find('[data-role="defaultTab"]').attr('data-ipsMenuValue');this._textField=$('#acpSearchKeyword');this._textField.prop('autocomplete','off').prop('spellcheck',false).attr('aria-autocomplete','list').attr('aria-haspopup','true');this._activePanel=this._searchMenu.find('.ipsSideMenu_itemActive').attr('data-ipsMenuValue');},changeSection:function(e,data){this._activePanel=data.selectedItemID;this._showResultsInPanel(this._activePanel,this._results[this._activePanel]);},fieldFocus:function(e){this._timers.focus=setInterval(_.bind(this._timerFocus,this),700);if(this._textField.val()&&this._textField.val().length>=3){this._showResults();}},fieldBlur:function(e){clearInterval(this._timers);},clickModal:function(e){if(this._modal==null||$(e.currentTarget).attr('id')!=this._modal.attr('id')){return;}
|
||||
this._hideResults();},clickCloseButton:function(e){this._hideResults();},_timerFocus:function(){var currentValue=this._textField.val().trim();if(currentValue==this._lastValue||this._textField.val().trim().length<3){return;}
|
||||
this._lastValue=currentValue;this._showResults();this._loadResults();},_hideResults:function(){ips.utils.anim.go('fadeOut fast',this._modal);ips.utils.anim.go('fadeOut',this.scope);},_showResults:function(){if(!this._modal){this._buildModal();}
|
||||
this._modal.css({zIndex:ips.ui.zIndex()});$('#ipsLayout_header').css({zIndex:ips.ui.zIndex()});this.scope.css({zIndex:ips.ui.zIndex()});if(!this.scope.is(':visible')){ips.utils.anim.go('fadeIn fast',this.scope);}
|
||||
if(!this._modal.is(':visible')){ips.utils.anim.go('fadeIn fast',this._modal);}},_loadResults:function(){var self=this;if(_.size(this._ajax)){_.each(this._ajax,function(ajax){try{if(_.isFunction(ajax.abort)){ajax.abort();Debug.log('aborted ajax');}}catch(err){}});}
|
||||
@@ -92,7 +92,7 @@ this.scope.find('[data-ipsMenuValue] [data-role="resultCount"]').addClass('ipsLo
|
||||
if(!self._searchMenu.find('[data-ipsMenuValue].ipsSideMenu_itemActive:not( .ipsSideMenu_itemDisabled )').length){self._selectFirstResultsTab();}
|
||||
if(response.length>0&&key==self._defaultTab&&self._activePanel==self._defaultTab){tab.click();}}).fail(function(err){});});},_selectFirstResultsTab:function(){var first=this._searchMenu.find('[data-ipsMenuValue]:not( .ipsSideMenu_itemDisabled )').first();first.click();},_setPanelToLoading:function(panel){var panelContainer=this._resultsContainer.find('[data-resultsSection="'+panel+'"]');panelContainer.addClass('ipsLoading').find('> ol').hide();},_showResultsInPanel:function(panel,results,animate){this._resultsContainer.find('[data-resultsSection]').hide();var panelContainer=this._resultsContainer.find('[data-resultsSection="'+panel+'"]');var panelList=panelContainer.find('> ol');if(!panelContainer.length){this._buildResultsContainer(panel);panelContainer=this._resultsContainer.find('[data-resultsSection="'+panel+'"]');panelList=panelContainer.find('> ol');}
|
||||
panelContainer.removeClass('ipsLoading');panelList.hide().html('');if(_.isUndefined(results)||_.isUndefined(results)||_.size(results)==0){panelList.html(ips.templates.render('core.livesearch.noResults')).show();return;}
|
||||
_.each(results,function(val){panelList.append(val);});var resultItems=panelList.find('[data-role="result"]').hide();var delay=25;panelList.show();panelContainer.show();if(animate==true){resultItems.each(function(){var item=$(this);setTimeout(function(){ips.utils.anim.go('fadeIn fast',item);},delay);delay+=25;});}else{resultItems.show();}},_buildResultsContainer:function(panel){this._resultsContainer.append($('<div/>').attr('data-resultsSection',panel).addClass('ipsScrollbar').append($('<ol/>')));},_buildModal:function(){this._modal=ips.ui.getModal();}});}(jQuery,_));;
|
||||
_.each(results,function(val){panelList.prepend(val);});var resultItems=panelList.find('[data-role="result"]').hide();var delay=25;panelList.show();panelContainer.show();if(animate==true){resultItems.each(function(){var item=$(this);setTimeout(function(){ips.utils.anim.go('fadeIn fast',item);},delay);delay+=25;});}else{resultItems.show();}},_buildResultsContainer:function(panel){this._resultsContainer.prepend($('<div/>').attr('data-resultsSection',panel).addClass('ipsScrollbar').append($('<ol/>')));},_buildModal:function(){this._modal=ips.ui.getModal();}});}(jQuery,_));;
|
||||
;(function($,_){"use strict";ips.controller.register('core.admin.core.nav',{_reordering:false,_orderChanged:false,_currentMenu:null,_menuTimer:null,initialize:function(){this.setup();this.on(document,'click','#acpMainArea',this.clickMainArea);this.on('click','[data-action="reorder"]',this.startReorder);this.on('click','[data-action="saveOrder"]',this.saveOrder);},setup:function(){const self=this;let activating;this._currentMenu=this.scope.find('.acpAppList_active');if(ips.utils.responsive.enabled()&&ips.utils.events.isTouchDevice()&&ips.utils.responsive.currentIs('tablet')){this.on('click','> li > a',this.handleTouchMenu);}else{$('#acpAppMenu').menuAim({rowSelector:"> #acpAppList > li:not( #elLogo )",enter:function(row){if($(row).attr('id')==='elReorderAppMenu'||$(row).attr('id')==='elHideMenu'){activating=self.scope.find('.acpAppList_active');}
|
||||
if(self._menuTimer){clearTimeout(self._menuTimer);}},activate:function(row){if($(row).attr('id')==='elReorderAppMenu'||$(row).attr('id')==='elHideMenu'){activating.addClass('acpAppList_active');}else{$(row).addClass('acpAppList_active');}},deactivate:function(row){$(row).removeClass('acpAppList_active');},exitMenu:function(){self._menuTimer=setTimeout(function(){self.scope.find('.acpAppList_active').removeClass('acpAppList_active');self._currentMenu.addClass('acpAppList_active');},2000);return false;}});}},handleTouchMenu(e){if($(e.currentTarget).hasClass('acpAppList_active')&&$(e.currentTarget).find('> .acpAppList__sub:visible').length){return;}
|
||||
e.preventDefault();this.scope.find('.acpAppList_active').removeClass('acpAppList_active').find('> .acpAppList__sub').hide();$(e.currentTarget).closest('li').addClass('acpAppList_active').find('> .acpAppList__sub').show();},clickMainArea(){if(ips.utils.responsive.enabled()&&ips.utils.events.isTouchDevice()&&ips.utils.responsive.currentIs('tablet')){this.scope.find('.acpAppList_active .acpAppList__sub').hide();}else{if(!this._reordering){$('#acpAppList').removeClass('acpAppList_childHovering').find('> li').trigger('mouseleave');}}},startReorder(){const self=this;this.scope.find('> li:not( #elReorderAppMenu ):not( #elHideMenu ) > a').each(function(){$(this).append(ips.templates.render('core.appMenu.reorder'));});this.scope.find('> li > ul > li h3').each(function(){$(this).prepend(ips.templates.render('core.appMenu.reorder'));});ips.utils.anim.go('zoomIn',this.scope.find('[data-role="reorder"]'));this.scope.addClass('acpAppList_reordering').sortable({start(e,ui){ui.item.addClass('acpAppList_dragging');},stop(e,ui){ui.item.removeClass('acpAppList_dragging');},update(){self._orderChanged=true;}}).find('#elReorderAppMenu').find('[data-action="reorder"]').addClass('ipsHide').end().find('[data-action="saveOrder"]').removeClass('ipsHide');this.getSubMenus().sortable({start(e,ui){ui.item.addClass('acpAppList_dragging');},stop(e,ui){ui.item.removeClass('acpAppList_dragging');},update(){self._orderChanged=true;}});this._reordering=true;this._orderChanged=false;},getSubMenus(tab){return this.scope.find('> li[data-tab'+(tab?`="${tab}"`:``)+']').find("> ul, > .acpAppList__sub > ul");},saveOrder(){this.scope.find('[data-role="reorder"]').remove();const tabOrder=this.scope.sortable('toArray',{attribute:'data-tab'}).filter(i=>!!i);const menuOrder={};const self=this;_.each(tabOrder,function(val){if(val){menuOrder[val]=self.getSubMenus(val).sortable('toArray',{attribute:'data-menuKey'})?.filter(i=>!!i);if(!Array.isArray(menuOrder[val])){ips.ui.alert.show({icon:'warning',message:ips.getString('tab_order_not_saved')});throw new TypeError(`Couldn't get the submenu sortable`);}}});this.scope.removeClass('acpAppList_reordering').find('#elReorderAppMenu').find('[data-action="reorder"]').removeClass('ipsHide').end().find('[data-action="saveOrder"]').addClass('ipsHide');if(this._orderChanged){ips.getAjax()('?app=core&module=system&controller=ajax&do=saveTabs',{data:{tabOrder,menuOrder},dataType:'json',type:'post'}).done(function(){ips.ui.flashMsg.show(ips.getString('tab_order_saved'));}).fail(function(){ips.ui.alert.show({icon:'warning',message:ips.getString('tab_order_not_saved')});});}
|
||||
|
||||
@@ -809,7 +809,21 @@ buildIro();wrap?.addEventListener('pointerdown',e=>{if(e.target.closest('[data-r
|
||||
e.stopPropagation();if(unlimited){const sel=document.getSelection();const activeElement=document.activeElement;const wasFocused=controller==='label'&&((activeElement===label)||(activeElement.parentElement?.closest?.('.ipsInput__color-label')===label));const ranges=[];for(let i=0;i<sel.rangeCount;i++){ranges.push(sel.getRangeAt(i));}
|
||||
let currentText=label.innerText;unlimited.checked=false;updateColor(e);if(label.innerText!==currentText){e.preventDefault();let sel=document.getSelection();if(!wasFocused||(e instanceof PointerEvent&&e.detail>=2)){sel.removeAllRanges();const range=document.createRange();range.selectNodeContents(label);if(!(e instanceof PointerEvent&&e.detail>2)&&label.innerText.startsWith('#')){const st=document.createTextNode('#');const textNode=document.createTextNode(label.innerText.slice(1));label.innerHTML="";label.appendChild(st);label.appendChild(textNode);range.selectNodeContents(textNode);}else{const text=document.createTextNode(label.innerText);label.innerHTML="";label.append(text);range.selectNodeContents(text);}
|
||||
sel.addRange(range);}else if(wasFocused){sel.removeAllRanges();ranges.forEach(range=>{sel.addRange(range);})}}}
|
||||
iroWrap.classList.add('ipsInput__color-iro-container--open');});label.addEventListener('input',e=>{controller='label';const text=label.innerText;try{input.value=(new ips.utils.iro.Color(text)).hexString;buildIro();updateColor({target:input},true);}catch(e){}});document.addEventListener('pointerdown',e=>{if(e.target.closest('.ipsInput__color-wrap-inner')!==wrap&&iroWrap.classList.contains('ipsInput__color-iro-container--open')){iroWrap.classList.remove('ipsInput__color-iro-container--open');}});});const updateColor=(e,skipLabel=false)=>{if(unlimited&&e?.target===input){unlimited.checked=false;}
|
||||
iroWrap.classList.add('ipsInput__color-iro-container--open');});label.addEventListener('input',e=>{controller='label';const text=label.innerText;try{input.value=(new ips.utils.iro.Color(text)).hexString;buildIro();updateColor({target:input},true);}catch(e){Debug.error(e);}});function handleDataTransfer(e){const dt=e instanceof ClipboardEvent?e.clipboardData:e.dataTransfer;if(dt instanceof DataTransfer){e.preventDefault();e.stopPropagation();const allTypes=[...dt.types];let textFound;if(allTypes.includes('text/plain')){Debug.log("Using plain text from paste or drop event");textFound=dt.getData('text/plain');}else if(allTypes.includes('text/html')){Debug.log("Using html from paste or drop event");const cleanText=(new DOMParser()).parseFromString(dt.getData('text/html'),'text/html').body.innerText;if(cleanText){textFound=cleanText;}}
|
||||
if(textFound){textFound=textFound.replaceAll(/\s+/g,' ').trim().slice(0,30).trim();const selection=document.getSelection();const text=document.createTextNode(textFound);let usingExistingRange=false;for(let i=0;i<selection.rangeCount;i++){const existingRange=selection.getRangeAt(i);if(existingRange.intersectsNode(label)){const isDescendant=(descendant,ancestor)=>{while(descendant){if(descendant===ancestor){return true;}
|
||||
descendant=descendant.parentNode;}
|
||||
return false;}
|
||||
if(!isDescendant(existingRange.startContainer,label)){existingRange.setStart(label,0);}
|
||||
if(!isDescendant(existingRange.endContainer,label)){existingRange.setEnd(label,label.childNodes.length);}
|
||||
usingExistingRange=true;existingRange.deleteContents();existingRange.insertNode(text);existingRange.collapse(false);break;}}
|
||||
selection.removeAllRanges();const newRange=document.createRange();if(!usingExistingRange){label.innerHTML="";label.appendChild(text);}
|
||||
newRange.setStartAfter(text);newRange.setEndAfter(text);selection.addRange(newRange);if(label.innerText.trim().length>30){let precedingTextLength=0;for(let node of label.childNodes){if(node===text){break;}
|
||||
if(node instanceof Text){precedingTextLength+=node.wholeText.length;}else if(node instanceof Element){precedingTextLength+=node.innerText.length;}}
|
||||
const replacementTextNode=document.createTextNode(label.innerText.trim().slice(0,30));label.innerHTML="";label.appendChild(replacementTextNode);if(precedingTextLength){const correctedRange=document.createRange();correctedRange.setStart(replacementTextNode,Math.min(30,precedingTextLength));correctedRange.setEnd(replacementTextNode,Math.min(30,precedingTextLength));selection.removeAllRanges();selection.addRange(correctedRange);}}
|
||||
controller='label';try{input.value=(new ips.utils.iro.Color(label.innerText)).hexString;buildIro();updateColor({target:input},true);}catch(e){Debug.error(e);}
|
||||
return;}
|
||||
ips.ui.flashMsg.show(ips.getString('form_color_datatransfer_fail'));}}
|
||||
label.addEventListener('drop',handleDataTransfer);label.addEventListener('paste',handleDataTransfer);document.addEventListener('pointerdown',e=>{if(e.target.closest('.ipsInput__color-wrap-inner')!==wrap&&iroWrap.classList.contains('ipsInput__color-iro-container--open')){iroWrap.classList.remove('ipsInput__color-iro-container--open');}});});const updateColor=(e,skipLabel=false)=>{if(unlimited&&e?.target===input){unlimited.checked=false;}
|
||||
if(unlimited?.checked){wrap?.classList.add('ipsInput--color-disabled');if(label){label.innerHTML="";}
|
||||
return;}
|
||||
wrap?.classList.remove('ipsInput--color-disabled');let textColor;if(ips.utils.iro?.colorPackage){const color=new ips.utils.iro.colorPackage(input.value);if(color.to('oklab').toGamut().l<0.71){textColor="#fff";}else{textColor="#000";}}else{const[_,__,l]=input.value.match(/#[0-9a-f]{3,8}/i)?ips.utils.color.RGBtoHSL(...ips.utils.color.hexToRGB(input.value.match(/#([0-9a-f]{3,8})/i)[1])):[null,null,null];textColor=typeof l==="number"?(l<0.6?"#fff":"#000"):initialColor;}
|
||||
|
||||
@@ -119,7 +119,8 @@ document.addEventListener('mouseup',clearMouseUpResolvers,{capture:true})
|
||||
document.addEventListener('selectionchange',_.debounce(()=>{const selection=document.getSelection();for(let i=0;i<selection.rangeCount;i++){const range=selection.getRangeAt(i);const quoteBox=range.commonAncestorContainer instanceof Text?range.commonAncestorContainer.parentElement.closest('[data-role="commentContent"]'):range.commonAncestorContainer.closest('[data-role="commentContent"]')
|
||||
if(quoteBox instanceof Element){mouseUp().then(()=>quoteBox.dispatchEvent(new CustomEvent('ipsCalcQuote',{bubbles:true})))
|
||||
break;}}},400))}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.front.core.commentFeed',{_overlay:null,_commentFeedID:0,_newRepliesFlash:null,_maximumMultiQuote:50,_pageParam:'page',_seoPagination:false,_urlParams:{},_baseURL:'',_doneInitialState:false,_initialURL:'',_pollingEnabled:true,_pollingActive:false,_pollingPaused:false,_initialPoll:10000,_currentPoll:10000,_decay:20000,_maxInterval:(30*60)*1000,_pollingTimeout:null,_pollAjax:null,_pollOnUnpaused:false,_notification:null,_lastSeenTotal:0,initialize(){this._containerID=this.scope.closest('[data-commentsContainer]').length?this.scope.closest('[data-commentsContainer]').attr('data-commentsContainer'):this.scope.identify().attr('id');this.on('submit','[data-role="replyArea"]',this.quickReply);this.on('quoteComment.comment',this.quoteComment);this.on('addMultiQuote.comment',this.addMultiQuote);this.on('removeMultiQuote.comment deleteComment.comment',this.removeMultiQuote);this.on('click','[data-action="filterClick"]',this.filterClick);this.on('menuItemSelected','[data-role="signatureOptions"]',this.signatureOptions);this.on('editorCompatibility',this.editorCompatibility);this.on('checkedComment.comment',this.checkedComment);this._boundMQ=_.bind(this.doMultiQuote,this);this._boundCMQ=_.bind(this.clearMultiQuote,this);$(document).on('click','[data-role="multiQuote_'+this._containerID+'"]',this._boundMQ);$(document).on('click','[data-action="clearQuoted_'+this._containerID+'"]',this._boundCMQ);$(document).on('moderationSubmitted',this.clearLocalStorage);this.on('paginationClicked paginationJump',this.paginationClick);this.on(document,'addToCommentFeed',this.addToCommentFeed);this.on('deletedComment.comment',this.deletedComment);this.on(document,'click','[data-action="loadNewPosts"]',this.loadNewPosts);this.on(window,'historychange',this.stateChange);this.on(document,"socket.new_comment",this.handleSocketCommentTrigger);this.setup();},setup:function(){const replyForm=this.scope.find('[data-role="replyArea"] form');this._commentFeedID=this.scope.attr('data-feedID');this._urlParams=this._getUrlParams();this._baseURL=this.scope.attr('data-baseURL');this._initialURL=window.location.href;this._currentPage=ips.utils.url.getPageNumber(this._pageParam);this._urlParams[this._pageParam]=this._currentPage;if(this._baseURL.match(/\?[^?]+$/)){this._baseURL+='&';}else{this._baseURL+='?';}
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.front.core.commentFeed',{_overlay:null,_commentFeedID:0,_newRepliesFlash:null,_maximumMultiQuote:50,_pageParam:'page',_seoPagination:false,_urlParams:{},_baseURL:'',_doneInitialState:false,_initialURL:'',_pollingEnabled:true,_pollingActive:false,_pollingPaused:false,_initialPoll:10000,_currentPoll:10000,_decay:20000,_maxInterval:(30*60)*1000,_pollingTimeout:null,_pollAjax:null,_pollOnUnpaused:false,_notification:null,_lastSeenTotal:0,initialize(){this._containerID=this.scope.closest('[data-commentsContainer]').length?this.scope.closest('[data-commentsContainer]').attr('data-commentsContainer'):this.scope.identify().attr('id');this.on('submit','[data-role="replyArea"]',this.quickReply);this.on('quoteComment.comment',this.quoteComment);this.on('addMultiQuote.comment',this.addMultiQuote);this.on('removeMultiQuote.comment deleteComment.comment',this.removeMultiQuote);this.on('click','[data-action="filterClick"]',this.filterClick);this.on('menuItemSelected','[data-role="signatureOptions"]',this.signatureOptions);this.on('editorCompatibility',this.editorCompatibility);this.on('checkedComment.comment',this.checkedComment);if(this.elem?.dataset.pageParam){this._pageParam=this.elem.dataset.pageParam;}
|
||||
this._boundMQ=_.bind(this.doMultiQuote,this);this._boundCMQ=_.bind(this.clearMultiQuote,this);$(document).on('click','[data-role="multiQuote_'+this._containerID+'"]',this._boundMQ);$(document).on('click','[data-action="clearQuoted_'+this._containerID+'"]',this._boundCMQ);$(document).on('moderationSubmitted',this.clearLocalStorage);this.on('paginationClicked paginationJump',this.paginationClick);this.on(document,'addToCommentFeed',this.addToCommentFeed);this.on('deletedComment.comment',this.deletedComment);this.on(document,'click','[data-action="loadNewPosts"]',this.loadNewPosts);this.on(window,'historychange',this.stateChange);this.on(document,"socket.new_comment",this.handleSocketCommentTrigger);this.setup();},setup:function(){const replyForm=this.scope.find('[data-role="replyArea"] form');this._commentFeedID=this.scope.attr('data-feedID');this._urlParams=this._getUrlParams();this._baseURL=this.scope.attr('data-baseURL');this._initialURL=window.location.href;this._currentPage=ips.utils.url.getPageNumber(this._pageParam);this._urlParams[this._pageParam]=this._currentPage;if(this._baseURL.match(/\?[^?]+$/)){this._baseURL+='&';}else{this._baseURL+='?';}
|
||||
if(replyForm.attr('data-noAjax')){this._pollingEnabled=false;}
|
||||
if(!('commentFeed'in ips.utils.history.getState())){this._updateState({})
|
||||
ips.utils.history.replaceState(this.historyState,'commentFeed',window.location.href)}
|
||||
|
||||
@@ -490,7 +490,7 @@ IPSCONTENT;
|
||||
|
||||
if ( $container->_id == $currentContainer ):
|
||||
$return .= <<<IPSCONTENT
|
||||
open="true"
|
||||
open
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
|
||||
@@ -1903,7 +1903,7 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'onboard_complete', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h1>
|
||||
<p class='cOnboardBox__text'>
|
||||
<p class="i-font-size_2 i-color_soft i-font-weight_500">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'onboard_next_steps_subtitle', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -1911,18 +1911,20 @@ $return .= <<<IPSCONTENT
|
||||
</p>
|
||||
<hr class='ipsHr'>
|
||||
|
||||
<p class='cOnboardBox__text'>
|
||||
<div class="ipsRichText i-font-size_2 i-color_soft i-font-weight_500">
|
||||
<p>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'onboard_next_steps_intro', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
<p class='cOnboardBox__text'>
|
||||
<p>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'onboard_next_steps_intro2', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<hr class='ipsHr'>
|
||||
|
||||
@@ -1933,26 +1935,24 @@ IPSCONTENT;
|
||||
if ( \IPS\Application::appIsEnabled( 'forums' ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsBox i-margin-bottom_3 i-flex i-gap_3 i-padding_4'>
|
||||
<div class='cOnboardBox__stepIcon i-flex_00 i-text-align_center'>
|
||||
<i class='fa-solid fa-comments fa-lg'></i>
|
||||
<div class='cOnboardBox__item'>
|
||||
<div class='cOnboardBox__stepIcon'>
|
||||
<i class='fa-solid fa-comments'></i>
|
||||
</div>
|
||||
<div class='i-flex i-gap_3 i-flex_11 i-flex-wrap_wrap i-basis_400'>
|
||||
<div class='cOnboardBox__stepText i-flex_11'>
|
||||
<h2 class='cOnboardBox__stepTitle i-margin-bottom_2'>
|
||||
<div>
|
||||
<h2 class='i-font-weight_600 i-font-size_3 i-color_hard i-margin-bottom_1'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'onboard_next_forums_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h2>
|
||||
<p>
|
||||
<p class="i-color_soft">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'onboard_next_forums', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
</div>
|
||||
<div class='i-flex_00'>
|
||||
<div class='ipsButtons ipsButtons--start i-margin-top_2'>
|
||||
<a class="ipsButton ipsButton--inherit ipsButton--small" href='
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1974,26 +1974,24 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
<div class='ipsBox i-margin-bottom_3 i-flex i-gap_3 i-padding_4'>
|
||||
<div class='cOnboardBox__stepIcon i-flex_00 i-text-align_center'>
|
||||
<i class='fa-solid fa-user-group fa-lg'></i>
|
||||
<div class='cOnboardBox__item'>
|
||||
<div class='cOnboardBox__stepIcon'>
|
||||
<i class='fa-solid fa-user-group'></i>
|
||||
</div>
|
||||
<div class='i-flex i-gap_3 i-flex_11 i-flex-wrap_wrap i-basis_400'>
|
||||
<div class='cOnboardBox__stepText i-flex_11'>
|
||||
<h2 class='cOnboardBox__stepTitle i-margin-bottom_2'>
|
||||
<div>
|
||||
<h2 class='i-font-weight_600 i-font-size_3 i-color_hard i-margin-bottom_1'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'onboard_next_groups_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h2>
|
||||
<p>
|
||||
<p class="i-color_soft">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'onboard_next_groups', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
</div>
|
||||
<div class='i-flex_00'>
|
||||
<div class='ipsButtons ipsButtons--start i-margin-top_2'>
|
||||
<a class="ipsButton ipsButton--inherit ipsButton--small" href='
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2009,26 +2007,24 @@ $return .= <<<IPSCONTENT
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='ipsBox i-margin-bottom_3 i-flex i-gap_3 i-padding_4'>
|
||||
<div class='cOnboardBox__stepIcon i-flex_00 i-text-align_center'>
|
||||
<i class='fa-solid fa-unlock fa-lg'></i>
|
||||
<div class='cOnboardBox__item'>
|
||||
<div class='cOnboardBox__stepIcon'>
|
||||
<i class='fa-solid fa-unlock'></i>
|
||||
</div>
|
||||
<div class='i-flex i-gap_3 i-flex_11 i-flex-wrap_wrap i-basis_400'>
|
||||
<div class='cOnboardBox__stepText i-flex_11'>
|
||||
<h2 class='cOnboardBox__stepTitle i-margin-bottom_2'>
|
||||
<div>
|
||||
<h2 class='i-font-weight_600 i-font-size_3 i-color_hard i-margin-bottom_1'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'onboard_next_staff_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h2>
|
||||
<p>
|
||||
<p class="i-color_soft">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'onboard_next_staff', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
</div>
|
||||
<div class='i-flex_00'>
|
||||
<div class='ipsButtons ipsButtons--start i-margin-top_2'>
|
||||
<a class="ipsButton ipsButton--inherit ipsButton--small sm:i-margin-bottom_2" href='
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2055,26 +2051,24 @@ $return .= <<<IPSCONTENT
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='ipsBox i-margin-bottom_3 i-flex i-gap_3 i-padding_4'>
|
||||
<div class='cOnboardBox__stepIcon i-flex_00 i-text-align_center'>
|
||||
<i class='fa-solid fa-paintbrush fa-lg'></i>
|
||||
<div class='cOnboardBox__item'>
|
||||
<div class='cOnboardBox__stepIcon'>
|
||||
<i class='fa-solid fa-paintbrush'></i>
|
||||
</div>
|
||||
<div class='i-flex i-gap_3 i-flex_11 i-flex-wrap_wrap i-basis_400'>
|
||||
<div class='cOnboardBox__stepText i-flex_11'>
|
||||
<h2 class='cOnboardBox__stepTitle i-margin-bottom_2'>
|
||||
<div>
|
||||
<h2 class='i-font-weight_600 i-font-size_3 i-color_hard i-margin-bottom_1'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'onboard_next_themes_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h2>
|
||||
<p>
|
||||
<p class="i-color_soft">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'onboard_next_themes', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
</div>
|
||||
<div class='i-flex_00'>
|
||||
<div class='ipsButtons ipsButtons--start i-margin-top_2'>
|
||||
<a class="ipsButton ipsButton--inherit ipsButton--small" href='
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2097,26 +2091,24 @@ if ( \IPS\Application::appIsEnabled( 'nexus' ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
<div class='ipsBox i-margin-bottom_3 i-flex i-gap_3 i-padding_4'>
|
||||
<div class='cOnboardBox__stepIcon i-flex_00 i-text-align_center'>
|
||||
<i class='fa-solid fa-dollar-sign fa-lg'></i>
|
||||
<div class='cOnboardBox__item'>
|
||||
<div class='cOnboardBox__stepIcon'>
|
||||
<i class='fa-solid fa-dollar-sign'></i>
|
||||
</div>
|
||||
<div class='i-flex i-gap_3 i-flex_11 i-flex-wrap_wrap i-basis_400'>
|
||||
<div class='cOnboardBox__stepText i-flex_11'>
|
||||
<h2 class='cOnboardBox__stepTitle i-margin-bottom_2'>
|
||||
<div>
|
||||
<h2 class='i-font-weight_600 i-font-size_3 i-color_hard i-margin-bottom_1'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'onboard_next_nexus_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h2>
|
||||
<p>
|
||||
<p class="i-color_soft">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'onboard_next_nexus', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
</div>
|
||||
<div class='i-flex_00 ipsButtons'>
|
||||
<div class='ipsButtons ipsButtons--start i-margin-top_2'>
|
||||
<a class="ipsButton ipsButton--inherit ipsButton--small" href='
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2536,7 +2528,7 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'onboard_pagetitle', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h1>
|
||||
<p class='cOnboardBox__text i-margin-bottom_4'>
|
||||
<p class='i-font-size_2 i-color_soft i-font-weight_500 i-margin-bottom_4'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'onboard_subtitle', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -2545,7 +2537,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsColumns i-gap_5 i-flex-wrap_wrap-reverse">
|
||||
<div class="ipsColumns__primary">
|
||||
<div class='cOnboardBox__text ipsRichText'>
|
||||
<div class='i-font-size_2 i-color_soft i-font-weight_500 ipsRichText'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
@@ -1584,12 +1584,18 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
<div class='acpSearch'>
|
||||
<i class='fa-solid fa-magnifying-glass'></i>
|
||||
<input type='text' class='' id='acpSearchKeyword' placeholder='
|
||||
<input type='text' id='acpSearchKeyword' placeholder='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'search_admincp', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
<button class="acpSearch__close" type="button" data-role="closeLiveSearch"><i class="fa-solid fa-xmark"></i><span class="ipsInvisible">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'acp_close_search', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span></button>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -2106,7 +2112,12 @@ $return .= <<<IPSCONTENT
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class='cAcpSearch_results i-padding_3 ipsScrollbar' data-role="searchResults"></div>
|
||||
<div class='cAcpSearch_results ipsScrollbar' data-role="searchResults"><div class="cAcpSearch_none ipsEmptyMessage">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'no_results', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
<ul id='elAdminUser_menu' class='ipsMenu ipsMenu_narrow ipsHide'>
|
||||
|
||||
@@ -2659,7 +2659,7 @@ $return .= \IPS\Theme\Template::htmlspecialchars( $color, ENT_QUOTES | ENT_DISAL
|
||||
$return .= <<<IPSCONTENT
|
||||
"
|
||||
data-control="color" class="ipsInput ipsInput--text">
|
||||
<span spellcheck="false" contenteditable="plaintext-only" class="ipsInput__color-label">
|
||||
<span spellcheck="false" contenteditable="true" class="ipsInput__color-label">
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $color, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
@@ -212,11 +212,7 @@ IPSCONTENT;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
<li class="ipsData__item" id='elFollowers' data-feedID='member-
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $member->member_id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-controller='core.front.profile.followers'>
|
||||
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -229,47 +225,48 @@ $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 's
|
||||
$return .= <<<IPSCONTENT
|
||||
</span></a>
|
||||
<div class="ipsData__icon"><i class="fa-solid fa-users"></i></div>
|
||||
<div class="ipsData__main">
|
||||
<h3 class="ipsData__title">
|
||||
<div class="ipsData__main i-flex i-flex-wrap_wrap i-align-items_center">
|
||||
<div class="i-flex_11">
|
||||
<h3 class="ipsData__title">
|
||||
IPSCONTENT;
|
||||
|
||||
$pluralize = array( ($followers !== NULL) ? $member->followersCount() : 0 ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'x_followers', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h3>
|
||||
<div class="ipsData__desc">
|
||||
<ul class="ipsList ipsList--inline ipsList--sep">
|
||||
|
||||
<div class="ipsData__desc">
|
||||
<ul class="ipsList ipsList--inline ipsList--sep">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( ! empty( $followers ) and is_array( $followers ) and \count( $followers ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<li>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'no_followers_yet', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</li>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $followers !== NULL and $member->followersCount() > 12 ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='
|
||||
<li hidden>
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=members&controller=profile&do=followers&id={$member->member_id}", null, "profile_followers", array( $member->members_seo_name ), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -280,28 +277,28 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'see_all_followers', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member::loggedIn()->member_id === $member->member_id ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='#elFollowPref_menu' data-role='followOption' data-ipsMenu data-ipsMenu-selectable='radio' id='elFollowPref'>
|
||||
<li>
|
||||
<a href='#elFollowPref_menu' data-role='followOption' data-ipsMenu data-ipsMenu-selectable='radio' id='elFollowPref'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'options', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
<i class='fa-solid fa-caret-down'></i></a>
|
||||
<ul id='elFollowPref_menu' class='ipsMenu ipsMenu_selectable ipsMenu_normal ipsHide'>
|
||||
<li data-ipsMenuValue='enable' class='ipsMenu_item
|
||||
<ul id='elFollowPref_menu' class='ipsMenu ipsMenu_selectable ipsMenu_normal ipsHide'>
|
||||
<li data-ipsMenuValue='enable' class='ipsMenu_item
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !$member->members_bitoptions['pp_setting_moderate_followers'] ):
|
||||
@@ -312,7 +309,7 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
<a href='
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=members&controller=profile&id={$member->member_id}&do=changeFollow&enabled=1" . "&csrfKey=" . \IPS\Session::i()->csrfKey, null, "profile", array( $member->members_seo_name ), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -323,8 +320,8 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'allow_follow', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
<li data-ipsMenuValue='disable' class='ipsMenu_item
|
||||
</li>
|
||||
<li data-ipsMenuValue='disable' class='ipsMenu_item
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $member->members_bitoptions['pp_setting_moderate_followers'] ):
|
||||
@@ -335,7 +332,7 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
<a href='
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=members&controller=profile&id={$member->member_id}&do=changeFollow&enabled=0" . "&csrfKey=" . \IPS\Session::i()->csrfKey, null, "profile", array( $member->members_seo_name ), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -346,48 +343,48 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'disallow_follow', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
<li class='ipsMenu_sep'><hr></li>
|
||||
<li class='i-padding_2 i-color_soft'>
|
||||
|
||||
</li>
|
||||
<li class='ipsMenu_sep'><hr></li>
|
||||
<li class='i-padding_2 i-color_soft'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'follow_setting_desc', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( ! empty( $followers ) and is_array( $followers ) and \count( $followers ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="i-flex_00">
|
||||
<ul class='ipsCaterpillar ipsCaterpillar--reverse i-basis_30'>
|
||||
|
||||
<div class="i-flex_00">
|
||||
<ul class='ipsCaterpillar ipsCaterpillar--reverse i-basis_30'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $followers as $idx => $follower ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $idx <= 6 ):
|
||||
if ( $idx <= 5 ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class='ipsCaterpillar__item
|
||||
<li class='ipsCaterpillar__item
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $follower['follow_is_anon'] ):
|
||||
@@ -423,27 +420,28 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->userPhoto( \IPS\Member::load($follower['follow_member_id']), 'fluid', NULL, '', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</li>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</li>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
return $return;
|
||||
@@ -1507,7 +1505,7 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsProfile ipsProfile--profile">
|
||||
<aside class="ipsProfile__aside ipsProfile__aside--carousel" id="elProfileInfoColumn">
|
||||
<aside class="ipsProfile__aside" id="elProfileInfoColumn">
|
||||
<div class="ipsProfile__sticky-outer">
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -2952,12 +2950,18 @@ IPSCONTENT;
|
||||
if ( ( ! empty( $followers ) and is_array( $followers ) and count( $followers ) ) || \IPS\Member::loggedIn()->member_id === $member->member_id ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
<li class="ipsData__item" id="elFollowers" data-feedid="member-
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $member->member_id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-controller="core.front.profile.followers">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "profile", "core" )->followers( $member, $followers );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
@@ -1400,7 +1400,17 @@ IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $currentType == $key ):
|
||||
$return .= <<<IPSCONTENT
|
||||
aria-selected="true"
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
IPSCONTENT;
|
||||
|
||||
if ( is_subclass_of( $class, 'IPS\Content\Item' ) ):
|
||||
@@ -1577,41 +1587,20 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<span>
|
||||
<p class='ipsData__desc ipsData__desc--all'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member\Group::load( $row->member_group_id )->formattedName;
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
<ul class='ipsList ipsList--inline i-color_soft'>
|
||||
<li>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'members_member_posts', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
:
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $loadedMember->member_posts, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</li>
|
||||
<li>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'members_joined', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
:
|
||||
IPSCONTENT;
|
||||
|
||||
$val = ( $loadedMember->joined instanceof \IPS\DateTime ) ? $loadedMember->joined : \IPS\DateTime::ts( $loadedMember->joined );$return .= $val->html();
|
||||
$return .= <<<IPSCONTENT
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $loadedMember->last_activity ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
·
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'members_last_visit', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -1621,14 +1610,14 @@ IPSCONTENT;
|
||||
|
||||
$val = ( $loadedMember->last_activity instanceof \IPS\DateTime ) ? $loadedMember->last_activity : \IPS\DateTime::ts( $loadedMember->last_activity );$return .= $val->html();
|
||||
$return .= <<<IPSCONTENT
|
||||
</li>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<span class='ipsBadge ipsBadge--icon ipsBadge--new
|
||||
@@ -4132,7 +4121,7 @@ IPSCONTENT;
|
||||
if ( \IPS\Member::loggedIn()->following( $app, $area, $id ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsButton ipsButton--inherit ipsButton--small" data-role="followButton">
|
||||
<div class="ipsButton ipsButton--follow ipsButton--inherit ipsButton--small" data-role="followButton">
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
@@ -764,7 +764,7 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
<span>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $row->badges() as $badge ):
|
||||
@@ -774,7 +774,7 @@ IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -2551,7 +2551,7 @@ if ( \count( $rows ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<i-data>
|
||||
<ol class="ipsData ipsData--table ipsData--core-table
|
||||
<ol class="ipsData ipsData--core-table
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $table->classes ):
|
||||
@@ -2575,7 +2575,7 @@ IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsData--entries
|
||||
ipsData--table ipsData--entries
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
|
||||
@@ -609,37 +609,60 @@ IPSCONTENT;
|
||||
|
||||
<div class="ipsPageHeader__row">
|
||||
<div class="ipsPageHeader__primary">
|
||||
<div class='ipsPageHeader__title'>
|
||||
<h2><span class="i-color_soft">#</span>
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tag->text, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div class="i-flex i-flex-wrap_wrap i-gap_2 i-align-items_center">
|
||||
<div class='ipsPageHeader__title'>
|
||||
<h2 class="i-flex i-flex-wrap_wrap i-gap_3 i-row-gap_0">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $tag->_title ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='i-color_soft i-margin-top_1'>
|
||||
<span>
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tag->_title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
|
||||
</span>
|
||||
<span class="i-color_soft">#
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tag->text, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<span class="i-color_soft">#</span>
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tag->text, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</h2>
|
||||
</div>
|
||||
<div class="i-flex_00 i-margin-start_auto">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->follow( 'core','tag', $tag->id, $tag->followersCount() );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $tag->description ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsPageHeader__desc">
|
||||
<div class="ipsPageHeader__desc i-margin-top_2">
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tag->description, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -648,14 +671,6 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->follow( 'core','tag', $tag->id, $tag->followersCount() );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
@@ -2234,7 +2234,7 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
data-control="color" class="ipsInput ipsInput--text">
|
||||
<span spellcheck="false" contenteditable="plaintext-only" class="ipsInput__color-label">
|
||||
<span spellcheck="false" contenteditable="true" class="ipsInput__color-label">
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $value, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
Loaded 100 of 483 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user