first commit

This commit is contained in:
root
2026-03-14 09:49:00 +00:00
commit 708ff116e1
1958 changed files with 1718027 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
// Single side flipped border-radius
.border-right-radius(@radius) {
border-bottom-left-radius: @radius;
border-top-left-radius: @radius;
}
.border-left-radius(@radius) {
border-bottom-right-radius: @radius;
border-top-right-radius: @radius;
}

View File

@@ -0,0 +1,24 @@
// RTL Gradients
#gradient {
// Horizontal gradient, from right to left
//
// Creates two color stops, start and end, by specifying a color and position for each color stop.
// Color stops are not available in IE9 and below.
.horizontal(@start-color: #333; @end-color: #555; @start-percent: 0%; @end-percent: 100%) {
background-image: -webkit-linear-gradient(left, color-stop(@start-color @start-percent), color-stop(@end-color @end-percent)); // Safari 5.1-6, Chrome 10+
background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12
background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
background-repeat: repeat-x;
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down
}
.horizontal-three-colors(@start-color: #c3325f; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #00b3ee) {
background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);
background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);
background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);
background-repeat: no-repeat;
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback
}
}

View File

@@ -0,0 +1,96 @@
// RTL Framework grid generation
//
// Used only by Bootstrap to generate the correct number of grid classes given
// any value of `@grid-columns`.
.make-rtl-grid-columns(@rtl-prefix) {
// Common styles for all sizes of grid columns, widths 1-12
.col(@index) { // initial
@item: ~".col-xs-@{index}, @{rtl-prefix} .col-sm-@{index}, @{rtl-prefix} .col-md-@{index}, @{rtl-prefix} .col-lg-@{index}";
.col((@index + 1), @item);
}
.col(@index, @list) when (@index =< @grid-columns) { // general; "=<" isn't a typo
@item: ~"@{rtl-prefix} .col-xs-@{index}, @{rtl-prefix} .col-sm-@{index}, @{rtl-prefix} .col-md-@{index}, @{rtl-prefix} .col-lg-@{index}";
.col((@index + 1), ~"@{list}, @{rtl-prefix} @{item}");
}
.col(@index, @list) when (@index > @grid-columns) { // terminal
@{list} {
position: relative;
// Prevent columns from collapsing when empty
min-height: 1px;
// Inner gutter via padding
padding-left: (@grid-gutter-width / 2);
padding-right: (@grid-gutter-width / 2);
}
}
.col(1); // kickstart it
}
.float-rtl-grid-columns(@class, @rtl-prefix) {
.col(@index) { // initial
@item: ~".col-@{class}-@{index}";
.col((@index + 1), @item);
}
.col(@index, @list) when (@index =< @grid-columns) { // general
@item: ~".col-@{class}-@{index}";
.col((@index + 1), ~"@{list}, @{rtl-prefix} @{item}");
}
.col(@index, @list) when (@index > @grid-columns) { // terminal
@{list} {
float: right;
}
}
.col(1); // kickstart it
}
.calc-rtl-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {
.col-@{class}-@{index} {
width: percentage((@index / @grid-columns));
}
}
.calc-rtl-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {
.col-@{class}-push-@{index} {
right: percentage((@index / @grid-columns));
left: 0;
}
}
.calc-rtl-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {
.col-@{class}-push-0 {
right: auto;
left: 0;
}
}
.calc-rtl-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {
.col-@{class}-pull-@{index} {
left: percentage((@index / @grid-columns));
right: auto;
}
}
.calc-rtl-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {
.col-@{class}-pull-0 {
left: auto;
right: auto;
}
}
.calc-rtl-grid-column(@index, @class, @type) when (@type = offset) {
.col-@{class}-offset-@{index} {
margin-right: percentage((@index / @grid-columns));
margin-left: 0;
}
}
// Basic looping in LESS
.loop-rtl-grid-columns(@index, @class, @type) when (@index >= 0) {
.calc-rtl-grid-column(@index, @class, @type);
// next iteration
.loop-rtl-grid-columns((@index - 1), @class, @type);
}
// Create grid for specific class
.make-rtl-grid(@class, @rtl-prefix) {
.float-rtl-grid-columns(@class, @rtl-prefix);
.loop-rtl-grid-columns(@grid-columns, @class, width);
.loop-rtl-grid-columns(@grid-columns, @class, pull);
.loop-rtl-grid-columns(@grid-columns, @class, push);
.loop-rtl-grid-columns(@grid-columns, @class, offset);
}

View File

@@ -0,0 +1,98 @@
// RTL Grid system
//
// Generate semantic rtl grid columns with these mixins.
// Generate the extra small columns
.make-xs-column(@columns; @gutter: @grid-gutter-width) {
float: right;
}
.make-xs-column-offset(@columns) {
margin-right: percentage((@columns / @grid-columns));
margin-left: 0;
}
.make-xs-column-push(@columns) {
right: percentage((@columns / @grid-columns));
left: auto;
}
.make-xs-column-pull(@columns) {
left: percentage((@columns / @grid-columns));
right: auto;
}
// Generate the small columns
.make-sm-column(@columns; @gutter: @grid-gutter-width) {
@media (min-width: @screen-sm-min) {
float: right;
}
}
.make-sm-column-offset(@columns) {
@media (min-width: @screen-sm-min) {
margin-right: percentage((@columns / @grid-columns));
margin-left: 0;
}
}
.make-sm-column-push(@columns) {
@media (min-width: @screen-sm-min) {
right: percentage((@columns / @grid-columns));
left: auto;
}
}
.make-sm-column-pull(@columns) {
@media (min-width: @screen-sm-min) {
left: percentage((@columns / @grid-columns));
right: auto;
}
}
// Generate the medium columns
.make-md-column(@columns; @gutter: @grid-gutter-width) {
@media (min-width: @screen-md-min) {
float: right;
}
}
.make-md-column-offset(@columns) {
@media (min-width: @screen-md-min) {
margin-right: percentage((@columns / @grid-columns));
margin-left: 0;
}
}
.make-md-column-push(@columns) {
@media (min-width: @screen-md-min) {
right: percentage((@columns / @grid-columns));
left: auto;
}
}
.make-md-column-pull(@columns) {
@media (min-width: @screen-md-min) {
left: percentage((@columns / @grid-columns));
right: auto;
}
}
// Generate the large columns
.make-lg-column(@columns; @gutter: @grid-gutter-width) {
@media (min-width: @screen-lg-min) {
float: right;
}
}
.make-lg-column-offset(@columns) {
@media (min-width: @screen-lg-min) {
margin-right: percentage((@columns / @grid-columns));
margin-left: 0;
}
}
.make-lg-column-push(@columns) {
@media (min-width: @screen-lg-min) {
right: percentage((@columns / @grid-columns));
left: auto;
}
}
.make-lg-column-pull(@columns) {
@media (min-width: @screen-lg-min) {
left: percentage((@columns / @grid-columns));
right: auto;
}
}

View File

@@ -0,0 +1,18 @@
// Pagination
.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @border-radius) {
> li {
&:first-child {
> a,
> span {
.border-right-radius(@border-radius);
}
}
&:last-child {
> a,
> span {
.border-left-radius(@border-radius);
}
}
}
}