Add Tom-Select lib

This commit is contained in:
jf-cbd
2025-11-13 10:48:06 +01:00
parent cef8fbc859
commit 7733f13d14
354 changed files with 53014 additions and 2 deletions

View File

@@ -0,0 +1,11 @@
.plugin-checkbox_options:not(.rtl) {
.option input {
margin-right: 0.5rem;
}
}
.plugin-checkbox_options.rtl {
.option input {
margin-left: 0.5rem;
}
}

View File

@@ -0,0 +1,33 @@
/* stylelint-disable function-name-case */
.plugin-clear_button {
--ts-pr-clear-button: 1em;
.clear-button{
opacity: 0;
position: absolute;
top: 50%;
transform: translateY(-50%);
right: calc(#{$select-padding-x} - #{$select-padding-item-x});
margin-right: 0 !important;
background: transparent !important;
transition: opacity 0.5s;
cursor: pointer;
}
&.form-select .clear-button,
&.single .clear-button {
@if variable-exists(select-padding-dropdown-item-x) {
right: Max(var(--ts-pr-caret), #{$select-padding-dropdown-item-x});
}
@else{
right: Max(var(--ts-pr-caret), calc(#{$select-padding-x} - #{$select-padding-item-x}));
}
}
&.focus.has-items .clear-button,
&:not(.disabled):hover.has-items .clear-button{
opacity: 1;
}
}

View File

@@ -0,0 +1,10 @@
.#{$select-ns}-wrapper.plugin-drag_drop {
.ts-dragging{
color:transparent !important;
}
.ts-dragging > * {
visibility:hidden !important;
}
}

View File

@@ -0,0 +1,24 @@
.#{$select-ns}-wrapper{
.dropdown-header {
position: relative;
padding: ($select-padding-dropdown-item-y * 2) $select-padding-dropdown-item-x;
border-bottom: 1px solid $select-color-border;
background: color-mix($select-color-dropdown, $select-color-border, 85%);
border-radius: $select-border-radius $select-border-radius 0 0;
}
.dropdown-header-close {
position: absolute;
right: $select-padding-dropdown-item-x;
top: 50%;
color: $select-color-text;
opacity: 0.4;
margin-top: -12px;
line-height: 20px;
font-size: 20px !important;
}
.dropdown-header-close:hover {
color: darken($select-color-text, 25%);
}
}

View File

@@ -0,0 +1,43 @@
.plugin-dropdown_input{
&.focus.dropdown-active .#{$select-ns}-control{
box-shadow: none;
border: $select-border;
@if variable-exists(input-box-shadow) {
box-shadow: $input-box-shadow;
}
}
.dropdown-input {
border: 1px solid $select-color-border;
border-width: 0 0 1px;
display: block;
padding: $select-padding-y $select-padding-x;
box-shadow: $select-shadow-input;
width: 100%;
background: transparent;
}
&.focus .#{$select-ns}-dropdown .dropdown-input{
@if variable-exists(input-focus-border-color) {
border-color: $input-focus-border-color;
outline: 0;
@if $enable-shadows {
box-shadow: $input-box-shadow, $input-focus-box-shadow;
} @else {
box-shadow: $input-focus-box-shadow;
}
}
}
.items-placeholder{
border: 0 none !important;
box-shadow: none !important;
width: 100%;
}
&.has-items .items-placeholder,
&.dropdown-active .items-placeholder{
display: none !important;
}
}

View File

@@ -0,0 +1,15 @@
.#{$select-ns}-wrapper.plugin-input_autogrow{
&.has-items .#{$select-ns}-control > input {
min-width: 0;
}
&.has-items.focus .#{$select-ns}-control > input {
flex: none;
min-width: 4px;
&::placeholder {
color:transparent;
}
}
}

View File

@@ -0,0 +1,25 @@
.#{$select-ns}-dropdown.plugin-optgroup_columns {
.ts-dropdown-content{
display: flex;
}
.optgroup {
border-right: 1px solid #f2f2f2;
border-top: 0 none;
flex-grow: 1;
flex-basis: 0;
min-width: 0;
}
.optgroup:last-child {
border-right: 0 none;
}
.optgroup::before {
display: none;
}
.optgroup-header {
border-top: 0 none;
}
}

View File

@@ -0,0 +1,70 @@
.#{$select-ns}-wrapper.plugin-remove_button{
.item {
display: inline-flex;
align-items: center;
}
.item .remove {
color: inherit;
text-decoration: none;
vertical-align: middle;
display: inline-block;
padding: 0 $select-padding-item-x;
border-radius: 0 2px 2px 0;
box-sizing: border-box;
}
.item .remove:hover {
background: rgba(0, 0, 0, 5%);
}
&.disabled .item .remove:hover {
background: none;
}
.remove-single {
position: absolute;
right: 0;
top: 0;
font-size: 23px;
}
}
.#{$select-ns}-wrapper.plugin-remove_button:not(.rtl){
.item {
padding-right: 0 !important;
}
.item .remove {
border-left: 1px solid $select-color-item-border;
margin-left: $select-padding-item-x;
}
.item.active .remove {
border-left-color: $select-color-item-active-border;
}
&.disabled .item .remove {
border-left-color: lighten(desaturate($select-color-item-border, 100%), $select-lighten-disabled-item-border);
}
}
.#{$select-ns}-wrapper.plugin-remove_button.rtl {
.item {
padding-left: 0 !important;
}
.item .remove {
border-right: 1px solid $select-color-item-border;
margin-right: $select-padding-item-x;
}
.item.active .remove {
border-right-color: $select-color-item-active-border;
}
&.disabled .item .remove {
border-right-color: lighten(desaturate($select-color-item-border, 100%), $select-lighten-disabled-item-border);
}
}