feat(RTL): support RTL mode (#4597)

* chore: 增加 rtl 样式库

* chore: 增加忽略文件

* doc: 代码格式化

* style: 代码块增加 ltr 样式

* style: 更新组件 margin 样式支持 rtl

* style: 网站样式支持 rtl

* refactor: 兼容 rtl 模式

* style: 表格样式兼容 rtl

* chore: 增加 rtl 样式表

* style: 更新分页组件 rtl 样式

* chore: bump version 9.0.0-rc.2.11.2.0

* style: 更新样式
This commit is contained in:
Argo Zhang 2024-11-02 10:35:06 +08:00 committed by GitHub
parent feda9f426e
commit 36feb5321f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
79 changed files with 12215 additions and 152 deletions

3
.gitignore vendored
View File

@ -374,11 +374,10 @@ src/**/wwwroot/**/uploader
**/package-lock.json
# sass
**/BootstrapBlazor/wwwroot/scss/theme/*.css
**/BootstrapBlazor/wwwroot/scss/theme/*.css.map
**/BootstrapBlazor/wwwroot/css/animate.min.css
**/BootstrapBlazor/wwwroot/css/bootstrapblazor.min.css
**/BootstrapBlazor/wwwroot/css/bootstrap.min.css
**/BootstrapBlazor/wwwroot/css/bootstrap.rtl.min.css
**/BootstrapBlazor/wwwroot/css/sweetalert2.css
**/BootstrapBlazor/wwwroot/css/motronic.min.css
**/BootstrapBlazor/wwwroot/css/nano.min.css

View File

@ -4,5 +4,5 @@
border-radius: var(--bs-border-radius);
background-color: var(--bb-primary-color);
border: solid 1px #fff;
margin-right: 1rem;
margin-inline-end: 1rem;
}

View File

@ -21,7 +21,7 @@
}
.actions > span:not(:last-child) {
margin-right: .5rem;
margin-inline-end: .5rem;
}
.crew:not(:last-child) {
@ -30,6 +30,6 @@
.crew > input {
max-width: 2rem;
margin-right: 1rem;
margin-inline-end: 1rem;
border: none;
}

View File

@ -9,7 +9,7 @@
.coms-cate ::deep .badge {
position: absolute;
top: 0;
margin-left: 1rem;
margin-inline-start: 1rem;
font-size: .65rem;
}

View File

@ -7,12 +7,11 @@
}
.card:hover .card-footer-control i {
margin-left: -1.5rem;
margin-left: -72px;
margin-inline-start: -72px;
}
.card:hover .card-footer-control .card-text {
margin-left: 1rem;
margin-inline-start: 1rem;
}
.card:hover .card-footer-control .card-text:before {
@ -67,7 +66,7 @@
}
.card-footer-control .card-text {
margin-left: 1.5rem;
margin-inline-start: 1.5rem;
position: absolute;
transition: all .3s linear;
}

View File

@ -110,7 +110,7 @@
.search-dialog-menu {
flex-basis: 240px;
margin-left: 0.5rem;
margin-inline-start: 0.5rem;
padding: .5rem .25rem;
border: var(--bs-border-width) solid var(--bs-border-color);
border-radius: var(--bs-border-radius);
@ -170,7 +170,7 @@
--bs-badge-border-radius: 50%;
position: absolute;
top: 4px;
margin-left: 4px;
margin-inline-start: 4px;
}
.search-dialog-list .search-dialog-item .search-dialog-item-sub {
@ -222,7 +222,7 @@
--bb-global-search-left: 20px;
--bb-global-search-right: 20px;
margin-bottom: 0;
margin-right: .5rem;
margin-inline-end: .5rem;
}
.search-dialog {

View File

@ -18,7 +18,7 @@
display: flex;
align-items: center;
padding: 0;
margin-right: 0;
margin-inline-end: 0;
}
::deep .btn-fs {

View File

@ -3,6 +3,7 @@
border: 1px solid var(--bs-border-color);
border-radius: var(--bs-border-radius);
overflow: hidden;
direction: ltr;
}
.pre-code:not(:last-child) {

View File

@ -26,7 +26,7 @@
::deep .btn-update img {
width: 55%;
margin-left: 2px;
margin-inline-start: 2px;
}
::deep .btn-chat {

View File

@ -7,7 +7,7 @@
}
.bb-theme-label {
margin-right: 1rem;
margin-inline-end: 1rem;
white-space: nowrap;
}

View File

@ -58,7 +58,7 @@
.footer-info .footer-lang {
width: 15px;
margin-right: 6px;
margin-inline-end: 6px;
}
.footer-info .footer-online i {

View File

@ -182,7 +182,7 @@
.layout-drawer {
padding: 13px;
margin-right: -1rem;
margin-inline-end: -1rem;
cursor: pointer;
}

View File

@ -25,7 +25,7 @@
.chat-welcome-body {
flex: 1;
margin-left: .75rem;
margin-inline-start: .75rem;
}
.chat-welcome-title {
@ -58,7 +58,7 @@
}
.chat-buttons {
margin-left: .5rem;
margin-inline-start: .5rem;
display: flex;
flex-direction: column;
}
@ -88,8 +88,8 @@
.msg-role {
min-width: 3rem;
margin-left: 1rem;
margin-right: 0;
margin-inline-start: 1rem;
margin-inline-end: 0;
text-align: center;
}
@ -120,7 +120,7 @@
border-right: none;
border-left: 15px solid white;
border-bottom: 15px solid transparent;
margin-right: 5px;
margin-inline-end: 5px;
}
.msg-time {
@ -134,8 +134,8 @@
}
.msg-stack-assistant .msg-role {
margin-left: 0;
margin-right: 1rem;
margin-inline-start: 0;
margin-inline-end: 1rem;
}
.msg-stack-assistant .msg-body {
@ -147,7 +147,7 @@
right: auto;
border-right: 15px solid #e9ecef;
border-left: none;
margin-left: 5px;
margin-inline-start: 5px;
}
@media (min-width: 768px) {
@ -157,6 +157,6 @@
}
.chat-welcome-body {
margin-left: 2rem;
margin-inline-start: 2rem;
}
}

View File

@ -24,7 +24,7 @@
.git .git-fork span {
font-size: 1.8rem;
color: #1c3949;
margin-left: 38px;
margin-inline-start: 38px;
}
[data-bs-theme='dark'] .git .git-fork span {

View File

@ -3,7 +3,7 @@
}
.sum .col-12 > div {
margin-right: 1rem;
margin-inline-end: 1rem;
min-width: 2rem;
}

View File

@ -9,7 +9,7 @@
}
.carousel-item-demo2 .demo-item:not(:last-child) {
margin-right: 1rem;
margin-inline-end: 1rem;
}
.carousel-item-demo2 .demo-item img {

View File

@ -18,5 +18,5 @@
}
.dial-mode ::deep .form-check:not(.first-child) {
margin-left: .5rem;
margin-inline-start: .5rem;
}

View File

@ -7,7 +7,7 @@
flex: 0 0 auto;
width: 152px;
margin-top: .5rem;
margin-right: .5rem;
margin-inline-end: .5rem;
padding: .75rem;
background-color: #f0f1f3;
border-radius: .5rem;
@ -24,7 +24,7 @@
.icon-list a span {
font-family: cera-round-pro, "Helvetica Neue", "Helvetica", "Arial", sans-serif;
font-size: 11px;
margin-left: 10px;
margin-inline-start: 10px;
line-height: 1.25rem;
white-space: nowrap;
text-overflow: ellipsis;

View File

@ -7,7 +7,7 @@
flex: 0 0 auto;
width: 152px;
margin-top: .5rem;
margin-right: .5rem;
margin-inline-end: .5rem;
padding: .75rem;
background-color: #f0f1f3;
border-radius: .5rem;
@ -24,7 +24,7 @@
.icon-list a span {
font-family: cera-round-pro, "Helvetica Neue", "Helvetica", "Arial", sans-serif;
font-size: 11px;
margin-left: 10px;
margin-inline-start: 10px;
line-height: 1.25rem;
white-space: nowrap;
text-overflow: ellipsis;

View File

@ -7,7 +7,7 @@
flex: 0 0 auto;
width: 152px;
margin-top: .5rem;
margin-right: .5rem;
margin-inline-end: .5rem;
padding: .75rem;
background-color: #f0f1f3;
border-radius: .5rem;
@ -24,7 +24,7 @@
.icon-list a span {
font-family: cera-round-pro, "Helvetica Neue", "Helvetica", "Arial", sans-serif;
font-size: 11px;
margin-left: 10px;
margin-inline-start: 10px;
line-height: 1.25rem;
white-space: nowrap;
text-overflow: ellipsis;

View File

@ -29,7 +29,7 @@
.layout-menu-demo ::deep .layout-banner img {
width: 38px;
border-radius: var(--bs-border-radius);
margin-right: .5rem;
margin-inline-end: .5rem;
border: 1px solid #c0c4cc;
background-color: #787878;
}

View File

@ -7,5 +7,5 @@
.mul-select-item span {
flex: 1;
margin-left: 0.5rem;
margin-inline-start: 0.5rem;
}

View File

@ -48,7 +48,7 @@
::deep .select-custom-detail {
flex: 1;
margin-left: 2rem;
margin-inline-start: 2rem;
}
::deep .select-custom-detail > div {

View File

@ -54,7 +54,7 @@
.select-custom-detail {
flex: 1;
margin-left: 2rem;
margin-inline-start: 2rem;
}
.select-custom-detail > div {

View File

@ -29,7 +29,7 @@
}
.sl-item span {
margin-left: 2rem;
margin-inline-start: 2rem;
}
.sl-item.sortable-chosen {

View File

@ -12,5 +12,5 @@
.temp {
color: gray;
margin-left: 1rem;
margin-inline-start: 1rem;
}

View File

@ -60,10 +60,10 @@
<p>@((MarkupString)Localizer["AutoGenerateSearchP"].Value)</p>
<Tips>@((MarkupString)Localizer["AutoGenerateSearchTips"].Value)</Tips>
<Pre>if (options.Searches.Any())
{
//@Localizer["AutoGenerateSearchComment"] FilterLogic.Or
items = items.Where(options.Searches.GetFilterFunc&lt;Foo&gt;(FilterLogic.Or));
}</Pre>
{
//@Localizer["AutoGenerateSearchComment"] FilterLogic.Or
items = items.Where(options.Searches.GetFilterFunc&lt;Foo&gt;(FilterLogic.Or));
}</Pre>
<GroupBox Title="@Localizer["AutoGenerateSearchGroupBoxTitle"]" class="mb-3">
<div class="row g-3 form-inline">
<div class="col-12 col-sm-3">

View File

@ -4122,7 +4122,7 @@
"BootstrapBlazor.Server.Components.Samples.Print": {
"PrintsTitle": "Print 打印按钮",
"PrintsSubTitle": "用于打印文档或者局部视图",
"PrintsTips1": "设置 <code style='margin-left: 14px;'>PreviewUrl</code> 时,单开一个新网页进行打印预览,点击此页面的打印按钮进行网页打印",
"PrintsTips1": "设置 <code style='margin-inline-start: 14px;'>PreviewUrl</code> 时,单开一个新网页进行打印预览,点击此页面的打印按钮进行网页打印",
"PrintsTips2": "不设置 <code>PreviewUrl</code> 时,如果是 <code>Dialog</code> 组件中的打印按钮,则打印弹窗内容",
"PrintsButtonText": "打印",
"PrintButtonTitle": "普通用法",

View File

@ -1276,7 +1276,7 @@
}
.btn + .btn-group, .btn-group + .btn, .btn-group + .btn-group, .btn-group .btn + .btn, .btn-group .btn + span, .btn-group > span + span, .btn-group span + .btn {
margin-left: -1px
margin-inline-start: -1px
}
.btn-group .btn-primary + .btn:not(.btn-primary):not([disabled]) {
@ -1288,7 +1288,7 @@
}
.btn-group > .btn:first-child, .btn-group > span:first-child > .btn {
margin-left: 0
margin-inline-start: 0
}
.btn-group > .btn:only-child, .btn-group > span:only-child > .btn {
@ -1340,8 +1340,8 @@
}
.btn-group-rtl.btn + .btn-group, .btn-group-rtl.btn-group + .btn, .btn-group-rtl.btn-group + .btn-group, .btn-group-rtl.btn-group .btn + .btn, .btn-group-rtl.btn-group .btn + span, .btn-group-rtl.btn-group > span + span, .btn-group-rtl.btn-group span + .btn, .btn-rtl.btn + .btn-group, .btn-rtl.btn-group + .btn, .btn-rtl.btn-group + .btn-group, .btn-rtl.btn-group .btn + .btn, .btn-rtl.btn-group .btn + span, .btn-rtl.btn-group > span + span, .btn-rtl.btn-group span + .btn {
margin-right: -1px;
margin-left: auto
margin-inline-end: -1px;
margin-inline-start: auto
}
.btn-group.btn-group-rtl {
@ -1381,7 +1381,7 @@
}
.btn > .anticon + span, .btn > span + .anticon {
margin-left: 8px
margin-inline-start: 8px
}
.btn-background-ghost {
@ -1731,7 +1731,7 @@
}
.btn-two-chinese-chars > :not(.anticon) {
margin-right: -.34em;
margin-inline-end: -.34em;
letter-spacing: .34em
}
@ -1780,6 +1780,6 @@ a.btn-sm {
}
.btn-rtl.btn > .anticon + span, .btn-rtl.btn > span + .anticon {
margin-right: 8px;
margin-left: 0
margin-inline-end: 8px;
margin-inline-start: 0
}

View File

@ -152,14 +152,14 @@ h3, h4, h5 {
.connection-body-tail {
border-right: 1px solid var(--bs-border-color);
width: 1px;
margin-left: 1rem;
margin-inline-start: 1rem;
}
.connection-link {
color: #1371C3;
text-decoration: underline;
font-weight: bolder;
margin-left: 0.5rem;
margin-inline-start: 0.5rem;
}
.connection-box {
@ -178,7 +178,7 @@ h3, h4, h5 {
.connection-body img {
height: 110px;
margin-left: 1rem;
margin-inline-start: 1rem;
}
.row-highlight {
@ -296,7 +296,7 @@ code {
.layout-demo .widget {
--bb-widget-toggle-color: #fff;
margin-right: 1rem;
margin-inline-end: 1rem;
}
.layout-demo .layout-avatar-right {

View File

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Razor">
<PropertyGroup>
<Version>9.0.0-rc03</Version>
<Version>9.0.0-rc.2.11.2.0</Version>
</PropertyGroup>
<ItemGroup>

View File

@ -25,6 +25,6 @@
}
.alert-icon {
margin-right: var(--bb-alert-icon-margin-right);
margin-inline-end: var(--bb-alert-icon-margin-right);
}
}

View File

@ -15,7 +15,7 @@
.anchor-link-icon {
opacity: var(--bb-anchor-link-opacity);
margin-left: var(--bb-anchor-link-margin-left);
margin-inline-start: var(--bb-anchor-link-margin-left);
color: var(--bs-primary);
transition: var(--bb-anchor-link-opacity-transition);
}

View File

@ -38,7 +38,7 @@
.btn i + span,
.badge i + span,
.link-button i + span {
margin-left: var(--bb-btn-label-margin-left);
margin-inline-start: var(--bb-btn-label-margin-left);
}
.btn-circle {

View File

@ -45,7 +45,7 @@
background: var(--bb-captcha-footer-bg);
color: var(--bb-captcha-footer-color);
border-radius: var(--bb-captcha-radius);
margin-top: var(--bb-captcha-footer-margin-top);
margin-block-start: var(--bb-captcha-footer-margin-top);
height: var(--bb-captcha-footer-height);
position: relative;

View File

@ -20,7 +20,7 @@
flex: 1;
.card-title {
margin-left: var(--bb-card-title-margin-left);
margin-inline-start: var(--bb-card-title-margin-left);
}
}

View File

@ -27,7 +27,7 @@
white-space: nowrap;
overflow: hidden;
vertical-align: top;
margin-left: .5rem;
margin-inline-start: .5rem;
flex: 1;
}

View File

@ -138,7 +138,7 @@
> div {
position: absolute;
margin-top: var(--bb-time-clock-number-margin-top);
margin-block-start: var(--bb-time-clock-number-margin-top);
text-align: center;
width: var(--bb-time-clock-number-width);
height: var(--bb-time-clock-number-height);
@ -162,7 +162,7 @@
}
.bb-clock-point {
margin-top: var(--bb-time-clock-number-margin-top);
margin-block-start: var(--bb-time-clock-number-margin-top);
opacity: .4;
height: calc(var(--bb-time-body-height) / 2 - var(--bb-time-clock-number-margin-top));
width: 2px;

View File

@ -25,7 +25,7 @@
justify-content: end;
.console-clear {
margin-left: var(--bb-console-clear-button-margin-left);
margin-inline-start: var(--bb-console-clear-button-margin-left);
}
}
}

View File

@ -5,11 +5,11 @@
padding: 0.5rem 1rem;
background-color: #174482;
color: #fff;
margin-top: 1rem;
margin-block-start: 1rem;
.logger-item {
&:not(:last-child) {
margin-bottom: 0.5rem;
margin-block-end: 0.5rem;
}
}
}

View File

@ -226,7 +226,7 @@
}
.year-table, .month-table {
margin-top: 29px;
margin-block-start: 29px;
tr {
border-top: 1px solid var(--bs-border-color);
@ -336,7 +336,7 @@
}
&:last-child {
margin-left: .25rem;
margin-inline-start: .25rem;
}
}

View File

@ -59,7 +59,7 @@ section > h2 {
h2 {
background: #FF6C60;
color: #fff;
margin-top: 0;
margin-block-start: 0;
padding: 10px 15px;
font-size: 16px;
border-radius: 4px;
@ -81,10 +81,10 @@ section > h2 {
padding-bottom: 3px;
padding-right: 3px;
width: 100%;
margin-top: 1px;
margin-block-start: 1px;
&:last-child {
margin-bottom: 5px;
margin-block-end: 5px;
}
&.active {

View File

@ -33,7 +33,7 @@
text-align: right;
button:not(:last-child) {
margin-right: .25rem;
margin-inline-end: .25rem;
}
}
}

View File

@ -11,6 +11,6 @@
}
.bb-editor-footer {
margin-top: 1rem;
margin-block-start: 1rem;
}
}

View File

@ -8,7 +8,7 @@
position: relative;
.bb-multi-filter-search {
margin-bottom: var(--bb-multi-filter-search-margin-bottom);
margin-block-end: var(--bb-multi-filter-search-margin-bottom);
}
.bb-multi-filter-list {
@ -17,7 +17,7 @@
padding: var(--bb-multi-filter-body-item-margin);
.bb-multi-filter-header {
margin-bottom: var(--bb-multi-filter-body-item-margin);
margin-block-end: var(--bb-multi-filter-body-item-margin);
padding-bottom: var(--bb-multi-filter-body-item-margin);
border-bottom: var(--bs-border-width) solid var(--bs-border-color);
}
@ -25,7 +25,7 @@
.bb-multi-filter-body {
height: var(--bb-multi-filter-height);
width: var(--bb-multi-filter-width);
margin-top: var(--bb-multi-filter-body-item-margin);
margin-block-start: var(--bb-multi-filter-body-item-margin);
.bb-multi-filter-body-item {
background-color: var(--bb-multi-filter-body-item-bg);
@ -40,7 +40,7 @@
}
&:not(:last-child) {
margin-bottom: var(--bb-multi-filter-body-item-margin);
margin-block-end: var(--bb-multi-filter-body-item-margin);
}
&:hover {

View File

@ -6,7 +6,7 @@
.card-body {
> *:not(:first-child) {
margin-top: 0.5rem;
margin-block-start: 0.5rem;
}
}

View File

@ -30,7 +30,7 @@
display: flex;
&:not(:last-child) {
margin-right: var(--bb-flip-clock-list-margin-right);
margin-inline-end: var(--bb-flip-clock-list-margin-right);
}
}
}

View File

@ -14,7 +14,7 @@
display: flex;
align-items: center;
justify-content: center;
margin-right: var(--bb-gotop-margin-right);
margin-inline-end: var(--bb-gotop-margin-right);
transition: background-color .3s linear;
color: var(--bb-gotop-color);

View File

@ -8,7 +8,7 @@
padding: var(--bb-groupbox-padding);
border-radius: var(--bs-border-radius);
position: relative;
margin-top: var(--bb-groupbox-margin-top);
margin-block-start: var(--bb-groupbox-margin-top);
.legend {
background-color: var(--bs-body-bg);
@ -21,13 +21,13 @@
.form-body {
> .groupbox:not(:last-child) {
margin-bottom: 1rem;
margin-top: 0;
margin-block-end: 1rem;
margin-block-start: 0;
}
> .row {
+ .groupbox {
margin-top: 1rem;
margin-block-start: 1rem;
}
}
}

View File

@ -8,7 +8,7 @@
}
.hw-buttons {
margin-top: 1rem;
margin-block-start: 1rem;
text-align: right;
}
}

View File

@ -124,7 +124,7 @@
> img {
transition: transform .3s ease;
margin-left: 0px;
margin-top: 0px;
margin-block-start: 0px;
&.transition-none {
transition: none !important;

View File

@ -22,7 +22,7 @@
}
&.active {
margin-top: 0;
margin-block-start: 0;
}
}
}

View File

@ -25,7 +25,7 @@
@keyframes fade-in2 {
0% {
margin-top: -50px;
margin-block-start: -50px;
visibility: hidden;
opacity: 0
}
@ -69,11 +69,11 @@
.dropdown-logout .dropdown-user img {
width: var(--bb-logout-user-avatar-width);
height: var(--bb-logout-user-avatar-height);
margin-right: var(--bb-logout-user-avatar-margin-right);
margin-inline-end: var(--bb-logout-user-avatar-margin-right);
}
.dropdown-logout .logout-un {
margin-top: .25rem;
margin-block-start: .25rem;
}
.dropdown-logout .dropdown-item:not(.dropdown-user):focus,
@ -83,13 +83,13 @@
.dropdown-logout .dropdown-item a {
color: var(--bs-body-color);
margin-bottom: .5rem;
margin-block-end: .5rem;
display: block;
transition: color .3s linear;
}
.dropdown-logout .dropdown-item a:first-child {
margin-top: .5rem;
margin-block-start: .5rem;
}
.dropdown-logout .dropdown-item a:hover {
@ -97,5 +97,5 @@
}
.dropdown-logout .dropdown-item a > i {
margin-right: .5rem;
margin-inline-end: .5rem;
}

View File

@ -49,7 +49,7 @@
.menu .nav .dropdown-menu, .cascade .dropdown-menu {
overflow: unset;
max-height: unset;
margin-top: 10px;
margin-block-start: 10px;
}
.menu .nav .dropdown-menu .nav-link:not(.disabled):hover, .menu .nav .dropdown-menu .nav-link.active, .menu .submenu .nav-link.active, .menu .submenu .nav-link:not(.disabled):hover, .cascade .dropdown-item:not(.disabled):hover, .cascade .dropdown-item.active, .cascade .nav .nav-link:not(.disabled):hover, .cascade .nav .nav-link.active {
@ -146,7 +146,7 @@
}
.menu .submenu li {
margin-top: 2px;
margin-block-start: 2px;
}
.menu .submenu .nav-link {

View File

@ -28,7 +28,7 @@
}
.modal-footer button:not(:last-child) {
margin-right: .5rem;
margin-inline-end: .5rem;
}
.modal-resizer {
@ -57,7 +57,7 @@
}
.modal-header-buttons .btn:not(:last-child) {
margin-right: .5rem;
margin-inline-end: .5rem;
}
.modal-header-buttons .btn-maximize {

View File

@ -14,7 +14,7 @@
position: relative;
&:not(:last-child) {
margin-bottom: var(--bb-qb-item-margin-bottom);
margin-block-end: var(--bb-qb-item-margin-bottom);
}
> .qb-group {
@ -39,7 +39,7 @@
display: flex;
> *:not(:last-child) {
margin-right: var(--bb-qb-row-item-margin-right);
margin-inline-end: var(--bb-qb-row-item-margin-right);
}
> input.form-control {

View File

@ -15,7 +15,7 @@
line-height: unset;
.form-check:not(:last-child) {
margin-bottom: .5rem;
margin-block-end: .5rem;
}
}

View File

@ -20,7 +20,7 @@
cursor: pointer;
&:not(:last-child) {
margin-right: var(--bb-rate-margin-left);
margin-inline-end: var(--bb-rate-margin-left);
}
}

View File

@ -63,7 +63,7 @@
}
&:not(:last-child) {
margin-right: 1px;
margin-inline-end: 1px;
}
&:not([disabled]):hover {
@ -73,7 +73,7 @@
> i {
font-size: 1rem;
margin-bottom: .25rem;
margin-block-end: .25rem;
}
> span {
@ -100,7 +100,7 @@
align-items: center;
.link-group-name {
margin-top: var(--bb-ribbon-group-margin-top);
margin-block-start: var(--bb-ribbon-group-margin-top);
color: var(--bb-ribbon-group-color);
font-size: var(--bb-ribbon-group-fontsize)
}
@ -128,7 +128,7 @@
.ribbon-customer-buttons {
display: flex;
align-items: center;
margin-right: 1rem;
margin-inline-end: 1rem;
}
.ribbon-button {

View File

@ -17,7 +17,7 @@
.form-label {
padding: var(--bb-row-control-padding) 0;
margin-bottom: 0;
margin-block-end: 0;
padding-right: 10px;
width: var(--bb-row-label-width);
text-overflow: ellipsis;

View File

@ -49,8 +49,8 @@
}
.multi-select-item-group {
margin-right: var(--bb-multi-select-item-margin-x);
margin-bottom: var(--bb-multi-select-item-margin-y);
margin-inline-end: var(--bb-multi-select-item-margin-x);
margin-block-end: var(--bb-multi-select-item-margin-y);
}
.multi-select-items {
@ -86,7 +86,7 @@
.multi-select-close {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
margin-right: -1px;
margin-inline-end: -1px;
transition: color .3s linear, background-color .3s linear;
}
}
@ -120,7 +120,7 @@
}
&:not(:last-child) {
margin-right: .5rem;
margin-inline-end: .5rem;
}
}
}

View File

@ -31,7 +31,7 @@
.cascade .dropdown-menu,
.selec .dropdown-menu {
margin-top: var(--bb-select-dropdown-menu-margin-top) !important;
margin-block-start: var(--bb-select-dropdown-menu-margin-top) !important;
}
.select .form-select {
@ -40,6 +40,7 @@
border: var(--bs-border-width) solid var(--bs-border-color);
border-radius: var(--bs-border-radius);
padding: var(--bb-select-padding);
padding-inline-end: var(--bb-select-padding-right);
cursor: pointer;
}
@ -80,7 +81,7 @@
border-color: transparent transparent rgba(0,0,0,.15);
position: absolute;
left: 20px;
margin-top: 4px;
margin-block-start: 4px;
z-index: 1001;
display: none;
}
@ -183,7 +184,7 @@
.was-validated .form-select:invalid:not([multiple]):not([size]),
.was-validated .form-select:invalid:not([multiple])[size="1"] {
background-position: right -1rem center, center right 1.5rem;
padding-right: var(--bb-select-padding-right);
padding-inline-start: var(--bb-select-padding-right);
}
.arrow-danger {
@ -209,8 +210,8 @@
.dropdown-menu .search {
padding: var(--bb-select-search-padding);
position: relative;
border-bottom: var(--bs-border-width) solid var(--bb-select-search-border-color);
margin-bottom: var(--bb-select-search-margin-bottom);
border-block-end: var(--bs-border-width) solid var(--bb-select-search-border-color);
margin-block-end: var(--bb-select-search-margin-bottom);
}
.dropdown-menu .search.is-fixed {
@ -220,7 +221,7 @@
}
.dropdown-menu .search .search-text {
padding-right: var(--bb-select-search-padding-right);
padding-inline-end: var(--bb-select-search-padding-right);
}
.dropdown-menu .search .icon {

View File

@ -43,7 +43,7 @@
background-color: var(--bb-skeleton-gradient-from-color);
&:not(:last-child) {
margin-bottom: 0.5rem;
margin-block-end: 0.5rem;
}
&.form-label {
@ -118,7 +118,7 @@
.skeleton-toolbar {
height: var(--bb-height);
display: flex;
margin-bottom: .5rem;
margin-block-end: .5rem;
}
.skeleton-buttons {

View File

@ -12,7 +12,7 @@
--bb-form-range-margin-top: #{$bb-form-range-margin-top};
.form-range {
margin-top: var(--bb-form-range-margin-top);
margin-block-start: var(--bb-form-range-margin-top);
}
}

View File

@ -125,8 +125,8 @@
height: 2px;
&:not(:first-child) {
margin-left: 0;
margin-top: 4px;
margin-inline-start: 0;
margin-block-start: 4px;
}
}
}

View File

@ -1,4 +1,4 @@
.swal {
.swal {
position: fixed;
--bb-swal-zindex: 1075;
z-index: var(--bb-swal-zindex);
@ -10,5 +10,5 @@
}
.swal2-actions {
margin-bottom: 1rem;
margin-block-end: 1rem;
}

View File

@ -29,7 +29,7 @@
height: 100%;
.nav-pages {
margin-top: .5rem;
margin-block-start: .5rem;
.pagination {
--bs-pagination-color: var(--bb-table-pagination-color);
@ -119,7 +119,7 @@
}
.table {
margin-bottom: 0;
margin-block-end: 0;
}
.table thead th, .table tbody td {
@ -304,7 +304,7 @@
}
.table-toolbar .table-toolbar-button {
margin-bottom: .5rem;
margin-block-end: .5rem;
}
.table-toolbar .dropdown-menu {
@ -338,11 +338,11 @@
}
.btn-gear .dropdown-menu .dropdown-item:not(:first-child) {
border-left: solid 1px #aeb2b7;
border-inline-start: solid 1px #aeb2b7;
}
.table-column-right {
margin-left: 0.3125rem;
margin-inline-start: 0.3125rem;
}
.search-input-tooltip {
@ -464,11 +464,11 @@ tr.active:not(.is-edit):hover {
.table-row .table-cell label:not(.form-check) {
font-weight: bold;
margin-bottom: 0;
margin-block-end: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
margin-right: 6px;
margin-inline-end: 6px;
flex-basis: var(--bb-table-cardview-label-width);
flex-shrink: 0;
}
@ -488,7 +488,7 @@ tr.active:not(.is-edit):hover {
.table-row.table-footer .table-cell:first-child {
font-weight: bold;
width: var(--bb-table-cardview-label-width);
margin-bottom: 0;
margin-block-end: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
@ -698,7 +698,7 @@ form .table .table-cell > textarea {
}
.table-search {
margin-bottom: .5rem;
margin-block-end: .5rem;
.card-header {
--bs-card-cap-padding-y: 0;
@ -834,7 +834,7 @@ form .table .table-cell > textarea {
}
.form-footer {
margin-top: .5rem;
margin-block-start: .5rem;
}
.modal-body .form-footer {
@ -845,7 +845,7 @@ form .table .table-cell > textarea {
}
.modal-body .form-footer button:not(:last-child) {
margin-right: .25rem;
margin-inline-end: .25rem;
}
.modal-dialog-table.modal-dialog-scrollable .modal-body {
@ -887,7 +887,7 @@ form .table .table-cell > textarea {
.col-copy {
cursor: pointer;
margin-right: var(--bb-table-copy-column-margin-right);
margin-inline-end: var(--bb-table-copy-column-margin-right);
}
.table-drag-over {

View File

@ -2,6 +2,6 @@
--bb-table-advance-sort-margin-top: .5rem;
> .row:not(:first-child) {
margin-top: var(--bb-table-advance-sort-margin-top);
margin-block-start: var(--bb-table-advance-sort-margin-top);
}
}

View File

@ -13,7 +13,7 @@
--bs-dropdown-min-width: var(--bb-theme-mode-width);
li:not(:first-child) {
margin-top: var(--bb-theme-mode-item-margin-top);
margin-block-start: var(--bb-theme-mode-item-margin-top);
}
.dropdown-item {

View File

@ -53,7 +53,7 @@
}
.timeline .timeline-item-timestamp {
margin-top: 0.5rem;
margin-block-start: 0.5rem;
color: var(--bb-timeline-timestamp-color);
}

View File

@ -43,7 +43,7 @@
}
.timer .timer-alert i {
margin-right: var(--bb-timer-alert-icon-margin-right);
margin-inline-end: var(--bb-timer-alert-icon-margin-right);
}
.timer .timer-buttons {

View File

@ -16,7 +16,7 @@
height: 100%;
.tree-search {
margin-bottom: .5rem;
margin-block-end: .5rem;
}
}
@ -85,7 +85,7 @@
}
.tree-view .tree-node .tree-icon {
margin-right: var(--bb-tree-icon-margin-right);
margin-inline-end: var(--bb-tree-icon-margin-right);
}
.tree-view .form-check {

View File

@ -13,7 +13,7 @@
}
.upload .upload-body {
margin-top: var(--bb-upload-body-margin-top);
margin-block-start: var(--bb-upload-body-margin-top);
}
.upload .upload-body.is-list {
@ -102,8 +102,8 @@
position: relative;
border: 1px dashed var(--bs-border-color);
border-radius: 6px;
margin-right: 1rem;
margin-bottom: 1rem;
margin-inline-end: 1rem;
margin-block-end: 1rem;
overflow: hidden;
cursor: pointer;
}

View File

@ -8,7 +8,8 @@
<Message Text="Copy bootstrap assets ..." Importance="high"></Message>
<Copy SourceFiles="$(MSBuildThisFileDirectory)wwwroot/core/bootstrap/js/bootstrap.bundle.min.js" DestinationFiles="$(MSBuildThisFileDirectory)wwwroot/js/bootstrap.blazor.bundle.min.js" SkipUnchangedFiles="true" ></Copy>
<Copy SourceFiles="$(MSBuildThisFileDirectory)wwwroot/core/bootstrap/css/bootstrap.min.css" DestinationFiles="$(MSBuildThisFileDirectory)wwwroot/css/bootstrap.min.css" SkipUnchangedFiles="true" ></Copy>
<Copy SourceFiles="$(MSBuildThisFileDirectory)wwwroot/core/bootstrap/css/bootstrap.rtl.min.css" DestinationFiles="$(MSBuildThisFileDirectory)wwwroot/css/bootstrap.rtl.min.css" SkipUnchangedFiles="true" ></Copy>
<Message Text="Copy bootstrapblazor assets ..." Importance="high"></Message>
<Copy SourceFiles="$(MSBuildThisFileDirectory)wwwroot/lib/animate/animate.min.css" DestinationFiles="$(MSBuildThisFileDirectory)wwwroot/css/animate.min.css" SkipUnchangedFiles="true" ></Copy>
<Copy SourceFiles="$(MSBuildThisFileDirectory)wwwroot/lib/swal/sweetalert2.css" DestinationFiles="$(MSBuildThisFileDirectory)wwwroot/css/sweetalert2.css" SkipUnchangedFiles="true" ></Copy>

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,5 @@
@import url('bootstrap.rtl.min.css');
@import url('bootstrapblazor.min.css');
@import url('rtl.css');
@import url('animate.min.css');
@import url('sweetalert2.css');

View File

@ -0,0 +1,21 @@
[dir="rtl"] .card-collapse-bar:not([aria-expanded=true]) > .card-collapse-arrow {
transform: rotate(180deg);
}
[dir="rtl"] .form-select-append {
right: unset;
left: 0;
}
[dir="rtl"] .select .clear-icon {
right: unset;
left: 0;
}
[dir="rtl"] .pagination .page-item:first-child .page-link > i {
transform: rotate(180deg);
}
[dir="rtl"] .pagination .page-item:last-child .page-link > i {
transform: rotate(180deg);
}

View File

@ -498,7 +498,7 @@ $bb-segmented-text-margin-left: 4px;
$bb-dropdown-link-pre-active-bg: #498ff7;
$bb-select-focus-shadow: none;
$bb-select-padding-right: 2.25rem;
$bb-select-padding: 6px var(--bb-select-padding-right) 6px 0.75rem;
$bb-select-padding: 6px 0.75rem;
$bb-select-search-padding: 7px 10px;
$bb-select-search-margin-bottom: .5rem;
$bb-select-search-border-color: var(--bs-border-color);