Version 5.0.0 beta 11.1

This commit is contained in:
Neo committed 2025-12-19 18:00:22 -08:00
1 parent 264eeb97e0
commit 90e8c7e903
466 files changed
+7796 -2394

No files matched your search

+170 -146
View File
@@ -5230,10 +5230,10 @@
</div>
</div>]]></template>
<template template_group="forms" template_name="codemirror" template_data="$name, $value, $required, $maxlength=NULL, $disabled=FALSE, $class='', $placeholder='', $tags=array(), $mode='htmlmixed', $id=NULL, $height='300px', $preview=NULL, $tagLinks=array(), $tagSource=NULL" template_location="global" template_app="core"><![CDATA[{{if !empty( $tags ) OR $tagSource !== NULL}}
<div class='ipsColumns' data-controller='core.global.editor.customtags' data-tagFieldType='codemirror' data-tagFieldID='elCodemirror_{{if $id}}{$id}{{else}}{$name}{{endif}}' {{if $tagSource}}data-tagSource='{$tagSource}'{{endif}}>
<div class='ipsColumns ipsCodebox__outer-wrap' data-controller='core.global.editor.customtags' data-tagFieldType='codemirror' data-tagFieldID='elCodemirror_{{if $id}}{$id}{{else}}{$name}{{endif}}' {{if $tagSource}}data-tagSource='{$tagSource}'{{endif}}>
<div class='ipsColumns__primary'>
{{endif}}
<div class='i-background_3 i-padding_2' data-role="editor" {{if $preview}}data-controller="core.global.editor.codePreview" data-name="{$name}" data-preview-url="{$preview}"{{endif}}>
<div class='i-background_3 i-padding_2 ipsCodebox__inner-wrap' data-role="editor" {{if $preview}}data-controller="core.global.editor.codePreview" data-name="{$name}" data-preview-url="{$preview}"{{endif}}>
<textarea
name="{$name}"
id='elCodemirror_{{if $id}}{$id}{{else}}{$name}{{endif}}'
@@ -5379,20 +5379,22 @@
</div>
</div>
</form>]]></template>
<template template_group="forms" template_name="commentUnavailable" template_data="$lang, $warnings=array(), $ends=NULL" template_location="front" template_app="core"><![CDATA[<div class='ipsComposeArea ipsComposeArea--unavailable'>
<div class='ipsComposeArea__photo'>{template="userPhoto" app="core" group="global" params="\IPS\Member::loggedIn(), 'fluid'"}</div>
<div class='ipsComposeArea_editor'>
<div class="ipsComposeArea_dummy">
<span class='i-color_warning'><i class="fa-solid fa-triangle-exclamation"></i> {lang="$lang"} {{if $ends !== NULL AND $ends > 0}}{lang="restriction_ends" sprintf="\IPS\DateTime::ts( $ends )->relative()"}{{endif}}</span>
{{if \count( $warnings) }}
{{foreach $warnings as $idx => $warning}}
{{if $idx === 0}}
<br><br>
<a href="{$warning->url()}" data-ipsDialog data-ipsDialog-size='narrow' class='ipsButton ipsButton--small ipsButton--soft'>{lang="view_warning_details"}</a>
{{endif}}
{{endforeach}}
{{endif}}
<template template_group="forms" template_name="commentUnavailable" template_data="$lang, $warnings=array(), $ends=NULL" template_location="front" template_app="core"><![CDATA[<div class="ipsComposeAreaWrapper">
<div class='ipsComposeArea ipsComposeArea--unavailable'>
<div class='ipsComposeArea__photo'>{template="userPhoto" app="core" group="global" params="\IPS\Member::loggedIn(), 'fluid'"}</div>
<div class='ipsComposeArea_editor'>
<div class="ipsComposeArea_dummy">
<span class='i-color_warning'><i class="fa-solid fa-triangle-exclamation"></i> {lang="$lang"} {{if $ends !== NULL AND $ends > 0}}{lang="restriction_ends" sprintf="\IPS\DateTime::ts( $ends )->relative()"}{{endif}}</span>
{{if \count( $warnings) }}
{{foreach $warnings as $idx => $warning}}
{{if $idx === 0}}
<br><br>
<a href="{$warning->url()}" data-ipsDialog data-ipsDialog-size='narrow' class='ipsButton ipsButton--small ipsButton--soft'>{lang="view_warning_details"}</a>
{{endif}}
{{endforeach}}
{{endif}}
</div>
</div>
</div>
</div>]]></template>
@@ -6627,7 +6629,7 @@
{{if !\IPS\Request::i()->isAjax() }}</div>{{endif}}]]></template>
<template template_group="forms" template_name="postingInformation" template_data="$guestPostBeforeRegister, $modQueued, $standalone=false" template_location="front" template_app="core"><![CDATA[{{if !member.member_id}}
{{if !$standalone}}
<div class='cGuestTeaser i-margin-bottom_3'>
<div class='cGuestTeaser'>
<h2 class='ipsTitle ipsTitle--h3'>{lang="guest_post_header"}</h2>
{{endif}}
<p>
@@ -7297,14 +7299,14 @@
{{endif}}]]></template>
<template template_group="forms" template_name="textarea" template_data="$name, $value, $required, $maxlength=NULL, $disabled=FALSE, $class='', $placeholder='', $nullLang=NULL, $tags=array(), $rows=NULL, $allOptions=[]" template_location="global" template_app="core"><![CDATA[{{if !empty( $tags ) or !empty( $allOptions['tagSource'] )}}
<div
class='ipsColumns'
class='ipsColumns {{if @$allOptions["codeMode"]}}ipsCodebox__outer-wrap{{endif}}'
data-controller='core.global.editor.customtags'
data-tagFieldType='{{if @$allOptions["codeMode"]}}codebox{{else}}text{{endif}}'
data-tagFieldID='elTextarea_{expression="preg_replace('/[^a-zA-Z0-9\-_]/', '_', $name)"}'
{{if !empty($allOptions['tagSource'])}}data-tagsource="{$allOptions['tagSource']}"{{endif}}
>
<div class='ipsColumns__primary'>
<div data-role="editor">
<div data-role="editor" {{if @$allOptions["codeMode"]}}class='ipsCodebox__inner-wrap'{{endif}}>
{{endif}}
<textarea
name="{$name}"
@@ -9868,7 +9870,7 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $comment->getVi
{{endif}}
{template="includeCSS" app="core" group="global" location="global" params=""}
{{if !\IPS\Request::i()->isAjax()}}
<link rel="preload" as="font" type="font/woff2" href='{url="applications/core/interface/fontawesome/webfonts/fa-solid-900.woff2" base="none" noprotocol="true"}' crossorigin="anonymous">
<link rel="preload" as="font" type="font/woff2" href='{url="applications/core/interface/static/fontawesome/webfonts/fa-solid-900.woff2" base="none" noprotocol="true"}' crossorigin="anonymous">
{{if view.global_view_mode == 'default'}}
<link rel="preload" as="script" media="(min-width:980px)" href='{url="applications/core/interface/theme/navigationMoreMenu.js" base="none" noprotocol="true"}'>
{{endif}}
@@ -10220,7 +10222,7 @@ data-ips-layout='{theme="view.global_view_mode"}'
{{if !\IPS\Request::i()->isAjax()}}
<!--!Font Awesome Free 6 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.-->
<link rel='stylesheet' href='{url="applications/core/interface/fontawesome/css/all.min.css?v=6.7.1" base="none" noprotocol="true"}'>
<link rel='stylesheet' href='{url="applications/core/interface/static/fontawesome/css/all.min.css?v=6.7.2" base="none" noprotocol="true"}'>
{{endif}}
{{if \IPS\Dispatcher::i()->controllerLocation == 'front' and ! \IPS\Request::i()->isAjax()}}
@@ -10381,14 +10383,14 @@ setTimeout( function() {
<script
src='{{if $js->data['host'] == parse_url( \IPS\Settings::i()->base_url, PHP_URL_HOST )}}{expression="$js->setQueryString( 'v', \IPS\Output\Javascript::javascriptCacheBustKey() )"}{{else}}{expression="$js"}{{endif}}'
data-ips
{{if str_contains( $js, "interface/iro" ) or str_contains( $js, 'interface/tiptap' ) or str_contains( $js, "interface/pagebuilder" ) or str_contains( $js, 'interface/codehighlighting' ) }}type="module"{{endif}}
{{if str_contains( $js, "interface/iro" )}}data-iro-loader{{endif}}
{{if str_contains( $js, "interface/static/iro" ) or str_contains( $js, 'interface/static/tiptap' ) or str_contains( $js, "interface/static/pagebuilder" ) or str_contains( $js, 'interface/static/codehighlighting' ) }}type="module"{{endif}}
{{if str_contains( $js, "interface/static/iro" )}}data-iro-loader{{endif}}
></script>
{{endforeach}}
{{foreach array_unique( \IPS\Output::i()->jsFilesAsync, SORT_STRING ) as $js}}
<script
src="{expression="\IPS\Http\Url::external( $js )->setQueryString( 'v', \IPS\Output\Javascript::javascriptCacheBustKey() )"}"
{{if str_contains( $js, 'interface/tiptap' ) or str_contains( $js, "interface/pagebuilder" ) or str_contains( $js, 'interface/codehighlighting' ) }}type="module"{{endif}}>
{{if str_contains( $js, 'interface/static/tiptap' ) or str_contains( $js, "interface/static/pagebuilder" ) or str_contains( $js, 'interface/static/codehighlighting' ) }}type="module"{{endif}}>
async
></script>
{{endforeach}}
@@ -13968,7 +13970,7 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $review->getVie
{{if $widget = \IPS\Widget::createWidgetFromStoredData( $_widget )}}
<div class="ipsWidget__content--wrap">
<div
class='{{if \get_class( $widget ) !== 'IPS\cms\widgets\Database'}}ipsWidget ipsWidget--{$area->orientation()}{{endif}}{{foreach $widget->getWrapperClasses() as $class}} {$class}{{endforeach}}' {{foreach $widget->dataAttributes() as $k => $v}} data-{$k}="{$v}"{{endforeach}}
class='{{if \get_class( $widget ) !== 'IPS\cms\widgets\Database'}}ipsWidget{{endif}}{{foreach $area->widgetClasses( $widget ) as $class}} {$class}{{endforeach}}' {{foreach $widget->dataAttributes() as $k => $v}} data-{$k}="{$v}"{{endforeach}}
data-controller='core.front.widgets.block'
>
{$area->getWidgetContent()|raw}
@@ -14521,7 +14523,7 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $review->getVie
</div>
{{endif}}
<h1 class='i-text-align_center ipsTitle ipsTitle--h3 i-margin-top_3'>{lang="mfa_popup_title"}</h1>
<form action="{$url}" method="post" accept-charset='utf-8' data-ipsForm class="ipsForm ipsForm_fullWidth">
<form action="{$url}" method="post" accept-charset='utf-8' data-ipsForm class="ipsForm ipsForm--fullWidth">
<input type="hidden" name="mfa_auth" value="1">
<input type="hidden" name="csrfKey" value="{expression="\IPS\Session::i()->csrfKey"}">
{$screen|raw}
@@ -14581,7 +14583,7 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $review->getVie
</div>]]></template>
<template template_group="login" template_name="mfaSetup" template_data="$acceptableHandlers, $member, $url" template_location="global" template_app="core"><![CDATA[<div id='elTwoFactorAuthentication' class='ipsModal' data-controller='core.global.core.2fa'>
<div>
<form action="{$url}" method="post" accept-charset='utf-8' data-ipsForm class="ipsForm ipsForm_fullWidth">
<form action="{$url}" method="post" accept-charset='utf-8' data-ipsForm class="ipsForm ipsForm--fullWidth">
<input type="hidden" name="mfa_setup" value="1">
<input type="hidden" name="csrfKey" value="{expression="\IPS\Session::i()->csrfKey"}">
{{$checked = NULL;}}
@@ -21437,7 +21439,7 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $review->getVie
<h4 class='ipsSideMenu__subTitle'>{lang="module__{$app}"}</h4>
<ul class="ipsSideMenu__list">
{{foreach $_types as $key => $class}}
<li><a href="{$baseUrl->setQueryString( array( 'type' => $key, 'change_section' => 1 ) )}" class="ipsSideMenu_item {{if $currentType == $key}}ipsSideMenu_itemActive{{endif}}">{lang="{$class::$title}_pl"}</a></li>
<li><a href="{$baseUrl->setQueryString( array( 'type' => $key, 'change_section' => 1 ) )}" class="ipsSideMenu_item {{if $currentType == $key}}ipsSideMenu_itemActive{{endif}}" aria-selected="{{if $currentType == $key}}true{{else}}false{{endif}}">{lang="{$class::$title}_pl"}</a></li>
{{endforeach}}
</ul>
{{endforeach}}
@@ -25409,25 +25411,19 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $review->getVie
&middot; {lang="members_last_visit"}: {datetime="$loadedMember->last_activity"}
{{endif}}
</p>
</div>
<div>
<span class='ipsBadge ipsBadge--icon ipsBadge--new {{if !$row->_followData['follow_is_anon']}}ipsHide{{endif}}' data-role='followAnonymous' data-ipsTooltip title='{lang="follow_is_anon"}'><i class='fa-solid fa-eye-slash'></i></span>
</div>
<div class='i-basis_180'>
<ul>
<li title='{lang="follow_when"}' data-role='followDate'><i class='fa-regular fa-clock'></i> {datetime="$row->_followData['follow_added']"}</li>
<ul class="ipsList ipsList--inline i-row-gap_0 i-margin-top_1 i-font-weight_500">
<li title='{lang="follow_when"}' data-role='followDate' hidden><i class='fa-regular fa-clock'></i> {datetime="$row->_followData['follow_added']"}</li>
<li title='{lang="follow_how"}' data-role='followFrequency'>
{{if $row->_followData['follow_notify_freq'] == 'none'}}
<i class='fa-regular fa-bell-slash'></i>
{{else}}
<i class='fa-solid fa-bell'></i>
<i class='fa-regular fa-bell'></i>
{{endif}} {lang="follow_freq_{$row->_followData['follow_notify_freq']}"}
</li>
<li data-role='followAnonymous' {{if !$row->_followData['follow_is_anon']}}hidden{{endif}}><i class="fa-regular fa-eye-slash"></i> {lang="follow_is_anon"}</li>
</ul>
</div>
<div class='i-basis_180 i-text-align_center'>
<div class='cFollowedContent_manage'>
{template="manageFollow" group="system" app="core" params="$row->_followData['follow_app'], $row->_followData['follow_area'], $row->_followData['follow_rel_id']"}
</div>
</div>
@@ -25456,26 +25452,19 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $review->getVie
{{$count = array_sum( $row->totals );}}
<li>{lang="tagged_items_number" pluralize="$count"}</li>
</ul>
</div>
<div>
<span class='ipsBadge ipsBadge--icon ipsBadge--new {{if !$row->_followData['follow_is_anon']}}ipsHide{{endif}}' data-role='followAnonymous' data-ipsTooltip title='{lang="follow_is_anon"}'><i class='fa-solid fa-eye-slash'></i></span>
</div>
<div class='i-basis_180'>
<ul>
<ul class="ipsList ipsList--inline i-row-gap_0 i-margin-top_1 i-font-weight_500">
<li title='{lang="follow_when"}' data-role='followDate'><i class='fa-regular fa-clock'></i> {datetime="$row->_followData['follow_added']"}</li>
<li title='{lang="follow_how"}' data-role='followFrequency'>
{{if $row->_followData['follow_notify_freq'] == 'none'}}
<i class='fa-regular fa-bell-slash'></i>
{{else}}
<i class='fa-solid fa-bell'></i>
<i class='fa-regular fa-bell'></i>
{{endif}} {lang="follow_freq_{$row->_followData['follow_notify_freq']}"}
</li>
<li data-role='followAnonymous' {{if !$row->_followData['follow_is_anon']}}hidden{{endif}}><i class="fa-regular fa-eye-slash"></i> {lang="follow_is_anon"}</li>
</ul>
</div>
<div class='i-basis_180 i-text-align_center'>
<div class='cFollowedContent_manage'>
{template="manageFollow" group="system" app="core" params="$row->_followData['follow_app'], $row->_followData['follow_area'], $row->_followData['follow_rel_id']"}
</div>
</div>
@@ -28322,26 +28311,19 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $review->getVie
<li>{lang="node_content_reviews" pluralize="$row->_reviews"}</li>
{{endif}}
</ul>
</div>
<div class='i-basis_70'>
<span class='ipsBadge ipsBadge--icon ipsBadge--new {{if !$row->_followData['follow_is_anon']}}ipsHide{{endif}}' data-role='followAnonymous' data-ipsTooltip title='{lang="follow_is_anon"}'><i class='fa-solid fa-eye-slash'></i></span>
</div>
<div class='i-basis_180'>
<ul>
<li title='{lang="follow_when"}' data-role='followDate'><i class='fa-regular fa-clock'></i> {datetime="$row->_followData['follow_added']"}</li>
<ul class="ipsList ipsList--inline i-row-gap_0 i-margin-top_1 i-font-weight_500">
<li title='{lang="follow_when"}' data-role='followDate' hidden><i class='fa-regular fa-clock'></i> {datetime="$row->_followData['follow_added']"}</li>
<li title='{lang="follow_how"}' data-role='followFrequency'>
{{if $row->_followData['follow_notify_freq'] == 'none'}}
<i class='fa-regular fa-bell-slash'></i>
{{else}}
<i class='fa-solid fa-bell'></i>
<i class='fa-regular fa-bell'></i>
{{endif}} {lang="follow_freq_{$row->_followData['follow_notify_freq']}"}
</li>
<li data-role='followAnonymous' {{if !$row->_followData['follow_is_anon']}}hidden{{endif}}><i class="fa-regular fa-eye-slash"></i> {lang="follow_is_anon"}</li>
</ul>
</div>
<div class='i-basis_180 i-text-align_center'>
<div class='cFollowedContent_manage'>
{template="manageFollow" group="system" app="core" params="$row->_followData['follow_app'], $row->_followData['follow_area'], $row->_followData['follow_rel_id']"}
</div>
</div>
@@ -28371,7 +28353,6 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $review->getVie
{template="prefix" group="global" app="core" params="$row->prefix( TRUE ), $row->prefix()"}
{{endif}}
</div>
<h4>
<a href='{$row->url()}'>
{{if $row->mapped('title')}}{$row->mapped('title')}{{else}}<em class="i-color_soft">{lang="content_deleted"}</em>{{endif}}
@@ -28388,23 +28369,18 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $review->getVie
{lang="in"} <a href="{$row->container()->url()}">{$row->container()->_title}</a>
</div>
{{endif}}
</div>
<div>
<span class='ipsBadge ipsBadge--icon' data-role='followAnonymous' data-ipsTooltip title='{lang="follow_is_anon"}' {{if !$row->_followData['follow_is_anon']}}hidden{{endif}}><i class='fa-solid fa-eye-slash'></i></span>
<ul class="ipsList ipsList--inline i-row-gap_0 i-margin-top_1 i-font-weight_500">
<li title='{lang="follow_when"}' data-role='followDate' hidden><i class='fa-regular fa-clock'></i> {datetime="$row->_followData['follow_added']"}</li>
<li title='{lang="follow_how"}' data-role='followFrequency'>
{{if $row->_followData['follow_notify_freq'] == 'none'}}
<i class='fa-regular fa-bell-slash'></i>
{{else}}
<i class='fa-regular fa-bell'></i>
{{endif}} {lang="follow_freq_{$row->_followData['follow_notify_freq']}"}
</li>
<li data-role='followAnonymous' {{if !$row->_followData['follow_is_anon']}}hidden{{endif}}><i class="fa-regular fa-eye-slash"></i> {lang="follow_is_anon"}</li>
</ul>
</div>
<ul class='ipsData__stats'>
<li title='{lang="follow_when"}' data-role='followDate'><i class='fa-regular fa-clock'></i> {datetime="$row->_followData['follow_added']"}</li>
<li title='{lang="follow_how"}' data-role='followFrequency'>
{{if $row->_followData['follow_notify_freq'] == 'none'}}
<i class='fa-regular fa-bell-slash'></i>
{{else}}
<i class='fa-solid fa-bell'></i>
{{endif}} {lang="follow_freq_{$row->_followData['follow_notify_freq']}"}
</li>
</ul>
<div class='cFollowedContent_manage'>
{template="manageFollow" group="system" app="core" params="$row->_followData['follow_app'], $row->_followData['follow_area'], $row->_followData['follow_rel_id']"}
</div>
@@ -34819,6 +34795,7 @@ body:not( .cAdminHideMenu ) #elHideMenu [data-action="toggleOpen"] {
}
#form_site_social_profiles .ipsFieldRow__content :where(input, select){
max-width: none;
width: 100%;
}
#form_site_social_profiles [data-ipsstack-keyvalue-name="key"]{
flex: 1 1 auto;
@@ -36884,6 +36861,7 @@ dialog::backdrop{
text-transform: uppercase;
min-height: 1.8em;
min-width: 1.8em;
overflow-wrap: anywhere;
padding: 0 .8em;
font-size: max(.7em, 10px);
border-radius: min(var(--i-design-radius), .4em);
@@ -37027,15 +37005,15 @@ a:has(.ipsBadge){
}
.ipsBadge--style5 {
--i-badge: hsl(160, 50% 50%);
--i-badge: hsl(160 50% 50%);
}
.ipsBadge--style6 {
--i-badge: hsl(20, 50% 50%);
--i-badge: hsl(20 50% 50%);
}
.ipsBadge--style7 {
--i-badge: hsl(50, 50% 50%);
--i-badge: hsl(50 50% 50%);
}
.ipsBadge--string{
@@ -37259,7 +37237,7 @@ a:has(.ipsBadge){
----------------
*/
.ipsWidget{
.ipsWidget:not(.ipsWidget--transparent){
background: var(--i-widget--ba-co);
border-radius: var(--i-widget--bo-ra);
box-shadow: var(--i-widget--bo-sh);
@@ -37292,6 +37270,11 @@ a:has(.ipsBadge){
padding: var(--Widget__padding--pa, 1.5em);
}
/* Remove padding from transparent widgets */
:where(.ipsWidget--transparent) .ipsWidget__padding{
padding: 0;
}
/* CMS navigation */
.ipsWidget__nav{
font-weight: 500;
@@ -38030,6 +38013,7 @@ a:has(.ipsBadge){
.ipsCarousel--images :is(.ipsThumb, .ipsFigure){
aspect-ratio: var(--i-ratio, auto);
height: var(--_height);
width: auto;
}
/* Safari fix */
@@ -38079,6 +38063,15 @@ a:has(.ipsBadge){
padding: 1.4em;
}
/* Join the conversation */
.cGuestTeaser{
padding: 2em;
}
.ipsComposeAreaWrapper .cGuestTeaser{
padding: 0;
margin-bottom: 2em;
}
/* Editor ipsBox */
.cTopicPostArea{
padding: var(--i-sp_2);
@@ -38255,7 +38248,7 @@ a:has(.ipsBadge){
align-items: baseline;
gap: .7em;
margin: .5em;
background: var(--i-background_3);
background-color: var(--i-background_3);
border-radius: 5px;
}
@@ -38289,8 +38282,6 @@ a:has(.ipsBadge){
}
.ipsComposeArea--unavailable {
cursor: default;
filter: grayscale(1) opacity(.7);
pointer-events: none;
}
@@ -38307,10 +38298,14 @@ a:has(.ipsBadge){
}
.ipsUploader__container {
margin-top: 1em;
margin-top: .4em;
display: grid;
gap: 1em;
padding-bottom: 1.5em;
}
/* Hide empty file list if files have been uploaded and then deleted */
.ipsUploader__container:not(:has(*)){
display: none;
}
.ipsUploader__container--files {
@@ -38476,7 +38471,7 @@ a:has(.ipsBadge){
}
.ipsAttachment_dropZone {
background: var(--if-light,var(--i-background_3)) var(--if-dark, var(--i-background_2));
background-color: var(--if-light, var(--i-background_3)) var(--if-dark, var(--i-background_2));
padding: 1.4em;
transition: all 0.2s linear;
display: flex;
@@ -38487,9 +38482,7 @@ a:has(.ipsBadge){
}
:is(.ipsAttachment_dropZone, .ipsComposeArea_dropZone).ipsDragging {
background: var(--i-background_4);
border-radius: var(--i-box--bo-ra);
border-color: transparent;
background-color: var(--i-background_4);
}
.ipsUploader__icon{
@@ -39328,6 +39321,11 @@ i-data{
isolation: isolate; /* Helpful to contain z-indexes with clickable rows */
}
/* Remove the isolation if a clickable row doesn't exist. This is necessary for the dropdown menus in a Customer Invoice list in the ACP. */
.ipsData__item:not(:has(.ipsLinkPanel)){
isolation: auto;
}
/* Flex gap fallback for < iOS 14.1 */
@supports (-webkit-touch-callout: none) and (not(translate: none)){
.ipsData__item > *{
@@ -39491,6 +39489,7 @@ i-data{
.ipsData__image .ipsUserPhoto{
border-radius: inherit;
aspect-ratio: var(--i-data--icon-ratio);
width: 100%;
}
/* Remove pseudo element */
@@ -40026,7 +40025,7 @@ i-data{
}
/* Add middot between latest author and date */
.ipsData__last:has(.ipsData__last-primary, .ipsData__last-secondary) .ipsData__last-text::after{
.ipsData__last:has(.ipsData__last-primary):has(.ipsData__last-secondary) .ipsData__last-text::after{
content: "\00B7";
}
@@ -40123,10 +40122,11 @@ i-data{
*/
.ipsData__fields{
margin-top: 1em;
align-items: center;
display: var(--i-data--show-fields, flex) var(--i-data--hide-fields, none);
flex-wrap: wrap;
gap: 5px;
gap: 1em;
margin-top: 1em;
}
.ipsData__fields:not(:has(li)){
@@ -40984,7 +40984,7 @@ i-data{
/* Hide certain elements */
.ipsData--minimal .ipsBadge--prefix,
.ipsData .ipsRating,
.ipsData--minimal .ipsRating,
.ipsData--minimal .ipsTime__long{
display: none;
}
@@ -41435,7 +41435,7 @@ a:has(.ipsContainerTitle){
min-height: var(--ipsEditor--mi-he, 300px);
}
.tiptap.ProseMirror {
.tiptap.ProseMirror, .ipsEditor__monaco-root {
/* tiptap injects position:relative, so we need z-index: 2 to make panels appear above z-indexed siblings of the editor */
z-index: 2;
padding: 1.5em;
@@ -41444,7 +41444,24 @@ a:has(.ipsContainerTitle){
width: 100%;
height: 100%;
}
.ipsEditor__monaco-root {
padding: 0;
}
/* Code mode editor */
.ipsEditor__monaco-root .monaco-editor {
width: 100%;
height: 100%;
}
.ipsCodebox__inner-wrap, .ipsCodebox__inner-wrap > [data-role="reactRoot"], .ipsEditor__tiptap-wrap--codeMode {
--ipsEditor--mi-he: min(80vh, 500px);
height: 100%;
}
.ipsMenu:has(.ipsEditor, .ipsCodebox__outer-wrap) {
min-width: min(90vw, 600px);
}
/* Main toolbar */
.ipsEditor__toolbar--main {
order: -1; /* Ensure the toolbar is always above the textarea */
@@ -41655,9 +41672,11 @@ a:has(.ipsContainerTitle){
transition-behavior: allow-discrete;
overflow: auto;
opacity: 1;
@starting-style {
}
@starting-style {
.ipsEditor__toolbar .ipsEditor__toolbar--row,
.ipsEditor__toolbar--nested .ipsEditor__anchored-panel{
max-height: 0px;
overflow: clip;
opacity: 0;
@@ -42199,6 +42218,12 @@ a:has(.ipsContainerTitle){
width: 34px;
}
/* Active item in Mention dropdown */
.ipsEditor__toolbar-select-option--active{
background-color: var(--i-primary);
color: var(--i-primary-contrast);
}
/* Quotes are expanded */
.tiptap .ipsQuote,
@@ -43688,11 +43713,6 @@ hr.ipsUnreadBar{
background: var(--i-background_3);
}
:where(:first-child > .ipsFieldRow__section){
border-top-left-radius: var(--i-box--bo-ra);
border-top-right-radius: var(--i-box--bo-ra);
}
/* If the field row sections are in tabbed content, they should never have rounded corners */
.ipsTabs__panel .ipsFieldRow__section{
border-radius: 0;
@@ -43968,7 +43988,7 @@ hr.ipsUnreadBar{
}
/* Full width inputs */
:is(.ipsFieldRow--fullWidth,.ipsForm--fullWidth) :is(select, textarea, input:not([type="radio"], [type="checkbox"]), .ipsField_autocomplete, .ipsSelectTree), .ipsInput--wide{
:is(.ipsFieldRow--fullWidth, .ipsForm--fullWidth) :is(select, textarea, input:not([type="radio"], [type="checkbox"]), .ipsField_autocomplete, .ipsSelectTree), .ipsInput--wide{
width: 100%;
max-width: none;
}
@@ -44002,7 +44022,7 @@ hr.ipsUnreadBar{
.ipsField_stackItem{
display: flex;
gap: .4em;
padding: .4em 1em;
padding: .4em 0;
position: relative;
}
@@ -44538,6 +44558,10 @@ hr.ipsUnreadBar{
gap: var(--i-row-gap) var(--i-column-gap);
}
.ipsColumns--reverse{
flex-wrap: wrap-reverse;
}
:where(.ipsColumns > *){
flex: 1 1 var(--i-basis);
}
@@ -45134,10 +45158,9 @@ These support the icon picker implemented as a dropdown and suggestion panel via
.ipsUserPhoto, .ipsThumb{
color: var(--i-co);
aspect-ratio: 1;
display: inline-grid;
width: 100%;
vertical-align: top;
overflow: hidden;
max-width: 100%;
}
/* We don't use inline-grid here since it caused some laggy behavior in Safari */
@@ -45146,12 +45169,14 @@ These support the icon picker implemented as a dropdown and suggestion panel via
display: inline-block;
position: relative;
background: var(--i-background_3);
width: 100px;
}
.ipsUserPhoto img{
border-radius: inherit;
border-radius: inherit; /* Improved rendering in Safari */
position: absolute;
top: 0; left: 0;
top: 0;
left: 0;
width: 100%;
height: 100%;
/* Some images are uploaded via the ACP, without being cropped into a square */
@@ -45159,31 +45184,32 @@ These support the icon picker implemented as a dropdown and suggestion panel via
}
.ipsUserPhoto--tinier {
max-width: 24px;
width: 24px;
}
.ipsUserPhoto--tiny {
max-width: 34px;
width: 34px;
}
.ipsUserPhoto--mini {
max-width: 44px;
width: 44px;
}
.ipsUserPhoto--small {
max-width: 54px;
width: 54px;
}
.ipsUserPhoto--medium {
max-width: 75px;
width: 75px;
}
.ipsUserPhoto--large {
max-width: 90px;
width: 90px;
}
.ipsThumb{
--i-ipsThumb--ratio: 1;
display: inline-grid;
aspect-ratio: var(--i-ipsThumb--ratio);
border-radius: var(--i-thumb--bo-ra);
}
@@ -51142,41 +51168,39 @@ details.ipsQuote > .ipsQuote_contents{
max-width: min(100%,var(--i-embed-max-width, 500px));
}
.ipsRichText :is(.ipsRichText__table-wrapper) {
max-width: calc(100% + var(--i-ta--bo-wi) * 2);
.ipsRichText .ipsRichText__table-wrapper {
overflow-x: auto;
overflow-y: visible;
width: min-content;
}
.ipsRichText table, .ipsRichText__table-wrapper {
--i-ta--bo-co: var(--i-color_root);
--i-ta--ba-co: transparent;
--i-ta--bo-wi: 1px;
}
.ipsRichText table {
--i-ta--bo-co: var(--i-background_5);
--i-ta--ba-co: transparent;
--i-ta--bo-wi: 1px;
background-color: var(--i-ta--ba-co);
border: var(--i-ta--bo-wi) solid var(--i-ta--bo-co);
border-collapse: collapse;
border-spacing: 0;
overflow: hidden;
outline: var(--i-ta--bo-wi) solid var(--i-ta--bo-co);
outline-offset: calc(-1 * var(--i-ta--bo-wi));
border-radius: var(--i-box--bo-ra);
table-layout: fixed;
}
.ipsRichText :is(table, tr,th,td) {
.ipsRichText :is(th, td) {
border: var(--i-ta--bo-wi) solid var(--i-ta--bo-co);
background-color: var(--i-ta--ba-co);
padding: .7em;
position: relative;
}
.ipsRichText th {
--i-ta--ba-co: oklch(from var(--i-color_root) l c h / calc(alpha * 0.1));
background-color: var(--i-background_3);
font-weight: 600;
text-align: inherit;
}
.ipsRichText :is(th,td) {
padding: 0.5em;
position: relative;
/* Remove excess margins from <p> elements which are used inside tables */
.ipsRichText table p:first-of-type{
margin-top: 0;
}
.ipsRichText table p:last-of-type{
margin-bottom: 0;
}]]></css>
<css css_location="global" css_app="core" css_attributes="" css_path="framework" css_name="3-social-icons.css"><![CDATA[.ipsSocialIcons{
display: flex;
@@ -52426,7 +52450,7 @@ html .ipsTruncate_more{
vertical-align: .15em;
}
:where(.ipsTitle){
.ipsTitle{
font-weight: 600;
color: var(--i-color_hard);
}
@@ -54841,7 +54865,15 @@ body:has(.ipsSearchDialog[open]){
.i-border-end-start-radius_box{ border-end-start-radius: var(--i-box--bo-ra); }
.i-border-end-end-radius_box{ border-end-end-radius: var(--i-box--bo-ra); }
.i-border-radius_0{ border-radius: 0 }
.i-border-radius_circle{ border-radius: 1000px; }</css>
.i-border-radius_circle{ border-radius: 1000px; }
@media (max-width: 767px){
:where(.ipsPull) .i-border-radius_box{ border-radius: 0px; }
:where(.ipsPull) .i-border-start-start-radius_box{ border-start-start-radius: 0px; }
:where(.ipsPull) .i-border-start-end-radius_box{ border-start-end-radius: 0px; }
:where(.ipsPull) .i-border-end-start-radius_box{ border-end-start-radius: 0px; }
:where(.ipsPull) .i-border-end-end-radius_box{ border-end-end-radius: 0px; }
}</css>
<css css_location="global" css_app="core" css_attributes="" css_path="framework" css_name="5-color.css">/*
----------------
- Text
@@ -55977,10 +56009,6 @@ a.i-link-color_inherit,
}
/* HISTORY PANEL */
#elMemberHistory {
height: 100%;
}
.cMemberHistory > li{
padding: 1.2em;
border-top: 1px solid var(--i-background_4);
@@ -55991,10 +56019,6 @@ a.i-link-color_inherit,
font-size: 1.2em;
font-weight: 600;
background-color: var(--i-background_2);
}
[data-role="historyDisplay"] {
min-height: 400px;
}]]></css>
<css css_location="admin" css_app="core" css_attributes="" css_path="promotion" css_name="meta.css">#metatag_tags textarea {&#13;
display: block;&#13;