@itfin/components 1.2.31 → 1.2.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/dist/ITFComponents.common.js +0 -2
  2. package/dist/ITFComponents.common.js.map +1 -1
  3. package/dist/ITFComponents.umd.js +0 -2
  4. package/dist/ITFComponents.umd.js.map +1 -1
  5. package/package.json +16 -20
  6. package/src/assets/images/pdf-viewer/loading-icon.svg +26 -0
  7. package/src/assets/images/pdf-viewer/shadow.png +0 -0
  8. package/src/assets/images/pdf-viewer/treeitem-collapsed.png +0 -0
  9. package/src/assets/images/pdf-viewer/treeitem-collapsed@2x.png +0 -0
  10. package/src/assets/images/pdf-viewer/treeitem-expanded.png +0 -0
  11. package/src/assets/images/pdf-viewer/treeitem-expanded@2x.png +0 -0
  12. package/src/assets/scss/_css_variables.scss +17 -0
  13. package/src/assets/scss/_input-addon.scss +1 -1
  14. package/src/assets/scss/components/_air-select.scss +111 -0
  15. package/src/assets/scss/components/_avatar.scss +36 -0
  16. package/src/assets/scss/components/_button.scss +110 -0
  17. package/src/assets/scss/components/_card.scss +7 -0
  18. package/src/assets/scss/components/_checkbox.scss +83 -0
  19. package/src/{components/datepicker/datepicker.scss → assets/scss/components/_datepicker.scss} +314 -1
  20. package/src/assets/scss/components/_dropdown.scss +78 -0
  21. package/src/assets/scss/components/_form.scss +22 -0
  22. package/src/assets/scss/components/_icon.scss +5 -0
  23. package/src/assets/scss/components/_modal.scss +9 -0
  24. package/src/assets/scss/components/_pagination.scss +12 -0
  25. package/src/assets/scss/components/_pdf-viewer.scss +4 -0
  26. package/src/assets/scss/components/_popover.scss +37 -0
  27. package/src/assets/scss/components/_segmeneted-control.scss +138 -0
  28. package/src/assets/scss/components/_select.scss +76 -0
  29. package/src/assets/scss/components/_table.scss +278 -0
  30. package/src/{components/tabs/tabs.scss → assets/scss/components/_tabs.scss} +1 -1
  31. package/src/assets/scss/components/_text-field.scss +36 -0
  32. package/src/assets/scss/components/_toaster.scss +97 -0
  33. package/src/assets/scss/components/_tree-view.scss +17 -0
  34. package/src/{components/wizard/wizard.scss → assets/scss/components/_wizard.scss} +1 -1
  35. package/src/{components/pdf-viewer/styles → assets/scss/components/pdf-viewer}/_annotation_layer_builder.scss +0 -0
  36. package/src/{components/pdf-viewer/styles → assets/scss/components/pdf-viewer}/_colors.scss +1 -1
  37. package/src/{components/pdf-viewer/styles → assets/scss/components/pdf-viewer}/_pdf_viewer.scss +2 -2
  38. package/src/{components/pdf-viewer/styles → assets/scss/components/pdf-viewer}/_text_layer_builder.scss +0 -0
  39. package/src/{components/pdf-viewer/styles → assets/scss/components/pdf-viewer}/_variables.scss +0 -0
  40. package/src/{components/pdf-viewer/styles → assets/scss/components/pdf-viewer}/_viewer.scss +7 -6
  41. package/src/assets/scss/components/{_animations.scss → select/_animations.scss} +0 -0
  42. package/src/assets/scss/components/{_clear.scss → select/_clear.scss} +0 -0
  43. package/src/assets/scss/components/{_component.scss → select/_component.scss} +0 -0
  44. package/src/assets/scss/components/{_dropdown-menu.scss → select/_dropdown-menu.scss} +0 -0
  45. package/src/assets/scss/components/{_dropdown-option.scss → select/_dropdown-option.scss} +0 -0
  46. package/src/assets/scss/components/{_dropdown-toggle.scss → select/_dropdown-toggle.scss} +0 -0
  47. package/src/assets/scss/components/{_open-indicator.scss → select/_open-indicator.scss} +0 -0
  48. package/src/assets/scss/components/{_search-input.scss → select/_search-input.scss} +0 -0
  49. package/src/assets/scss/components/{_selected.scss → select/_selected.scss} +1 -1
  50. package/src/assets/scss/components/{_spinner.scss → select/_spinner.scss} +0 -0
  51. package/src/assets/scss/components/{_states.scss → select/_states.scss} +0 -0
  52. package/src/assets/scss/components/{_variables.scss → select/_variables.scss} +0 -0
  53. package/src/assets/scss/main.scss +24 -2
  54. package/src/components/alert/Alert.vue +0 -4
  55. package/src/components/app/App.vue +0 -66
  56. package/src/components/app/ToastContainer.vue +0 -35
  57. package/src/components/app/ToastMessage.vue +0 -7
  58. package/src/components/avatar/Avatar.vue +0 -38
  59. package/src/components/button/Button.vue +0 -142
  60. package/src/components/card/Card.vue +0 -10
  61. package/src/components/card/CardBody.vue +0 -3
  62. package/src/components/checkbox/Checkbox.vue +0 -54
  63. package/src/components/checkbox/CheckboxGroup.vue +0 -3
  64. package/src/components/checkbox/Radio.vue +0 -36
  65. package/src/components/checkbox/RadioGroup.vue +0 -3
  66. package/src/components/datepicker/DatePicker.vue +0 -39
  67. package/src/components/datepicker/DatePickerInline.vue +11 -43
  68. package/src/components/datepicker/DateRangePicker.vue +0 -58
  69. package/src/components/datepicker/DateRangePickerInline.vue +10 -39
  70. package/src/components/datepicker/MonthPicker.vue +0 -34
  71. package/src/components/datepicker/PeriodPicker.vue +0 -97
  72. package/src/components/datepicker/index.stories.js +6 -6
  73. package/src/components/dropdown/Dropdown.vue +0 -14
  74. package/src/components/form/Form.vue +0 -4
  75. package/src/components/form/Label.vue +0 -24
  76. package/src/components/icon/Icon.vue +0 -8
  77. package/src/components/modal/Modal.vue +0 -13
  78. package/src/components/pagination/Pagination.vue +0 -14
  79. package/src/components/pdf-viewer/PdfViewerSpa.vue +0 -3
  80. package/src/components/popover/ConfirmPopover.vue +0 -5
  81. package/src/components/popover/Popover.vue +0 -35
  82. package/src/components/segmented-control/SegmentedControl.vue +0 -140
  83. package/src/components/select/AirSelect.vue +0 -113
  84. package/src/components/select/Dropdown.vue +0 -70
  85. package/src/components/select/Select.vue +0 -78
  86. package/src/components/table/Table.vue +0 -279
  87. package/src/components/tabs/Tab.vue +0 -5
  88. package/src/components/tabs/TabContent.vue +0 -5
  89. package/src/components/tabs/Tabs.vue +0 -1
  90. package/src/components/text-field/TextField.vue +0 -15
  91. package/src/components/text-field/Textarea.vue +0 -30
  92. package/src/components/tooltip/Tooltip.vue +0 -1
  93. package/src/components/tree/TreeView.vue +0 -19
  94. package/src/components/wizard/Sidebar.vue +0 -4
  95. package/src/components/wizard/Step.vue +0 -5
  96. package/src/components/wizard/Wizard.vue +0 -1
  97. package/src/directives/visible.js +1 -1
  98. package/src/index.stories.js +1 -0
  99. package/src/components/pdf-viewer/styles/index.css +0 -0
  100. package/src/components/pdf-viewer/styles/index.scss +0 -4
@@ -1,6 +1,71 @@
1
- @import '../../assets/scss/variables';
1
+ @import '../variables';
2
+ @import '../directives/tooltip';
3
+ @import '../input-addon';
2
4
 
5
+ .air-datepicker-cell {
6
+ &.-range-from-:not(.-range-to-),
7
+ &.-range-to-:not(.-range-from-) {
8
+ position: relative;
9
+ border: 0 none !important;
10
+ color: #fff;
11
+
12
+ &.-selected-, &.-selected-.-current- {
13
+ background: var(--adp-cell-background-color-in-range);
14
+
15
+ &:hover {
16
+ background: var(--adp-cell-background-color-in-range-hover);
17
+ }
18
+ }
19
+ }
20
+
21
+ &.-range-from-:not(.-range-to-) {
22
+ &:before, &:after {
23
+ content: "";
24
+ position: absolute;
25
+ top: 0;
26
+ left: 0;
27
+ right: 0;
28
+ bottom: 0;
29
+ z-index: -1;
30
+ border-radius: var(--adp-cell-border-radius) var(--bs-border-radius-lg) var(--bs-border-radius-lg) var(--adp-cell-border-radius);
31
+ background: var(--adp-cell-background-color-selected);
32
+ }
33
+
34
+ &:after {
35
+ left: 100%;
36
+ right: -2rem;
37
+ transform: translate(-1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg);
38
+ }
39
+
40
+ &:before {
41
+ right: 0.25rem;
42
+ }
43
+ }
44
+
45
+ &.-range-to-:not(.-range-from-) {
46
+ &:before, &:after {
47
+ content: "";
48
+ position: absolute;
49
+ top: 0;
50
+ left: 0;
51
+ right: 0;
52
+ bottom: 0;
53
+ z-index: -1;
54
+ border-radius: var(--bs-border-radius-lg) var(--adp-cell-border-radius) var(--adp-cell-border-radius) var(--bs-border-radius-lg);
55
+ background: var(--adp-cell-background-color-selected);
56
+ }
3
57
 
58
+ &:after {
59
+ right: 100%;
60
+ left: -2rem;
61
+ transform: translate(1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg);
62
+ }
63
+
64
+ &:before {
65
+ left: 0.25rem;
66
+ }
67
+ }
68
+ }
4
69
 
5
70
  [data-theme="dark"] {
6
71
  .air-datepicker {
@@ -24,6 +89,40 @@
24
89
  }
25
90
  }
26
91
 
92
+
93
+ .itf-datepicker-inline {
94
+ display: inline-flex;
95
+
96
+ @include media-breakpoint-down(sm) {
97
+ display: inline-block !important;
98
+ }
99
+
100
+ [data-theme="dark"] & {
101
+ .btn-outline-primary {
102
+ &.active {
103
+ color: var(--body-bg);
104
+ background-color: var(--color-primary);
105
+ border-color: var(--color-primary);
106
+ }
107
+ &:hover {
108
+ color: var(--body-bg);
109
+ background-color: var(--color-primary-hover);
110
+ border-color: var(--color-primary-hover);
111
+ }
112
+ }
113
+ }
114
+
115
+ .air-datepicker-title {
116
+ padding: 0 0.75rem;
117
+ height: 32px;
118
+ line-height: 32px;
119
+ color: var(--adp-nav-color-secondary);
120
+ }
121
+ .btn {
122
+ border-color: transparent;
123
+ }
124
+ }
125
+
27
126
  .air-datepicker {
28
127
  --adp-width: 246px; // Day cell width will be equal to 34px
29
128
  --adp-z-index: 100;
@@ -820,4 +919,218 @@ $rangeThumbSize: 12px;
820
919
  }
821
920
  }
822
921
 
922
+ [data-theme="dark"] {
923
+ .itf-datepicker {
924
+ &__dropdown {
925
+ background-color: $dark-body-bg;
926
+ border-color: $dark-border-color;
927
+ box-shadow: 0 0 0 2px $dark-input-focus-border;
928
+ }
929
+ }
930
+ }
931
+
932
+ .itf-datepicker {
933
+ &.with-addon .addon-end {
934
+ pointer-events: all;
935
+ padding-right: 0.25rem;
936
+ }
937
+ .form-control {
938
+ border-radius: $input-border-radius !important;
939
+ }
940
+
941
+ &__dropdown {
942
+ width: max-content;
943
+ border: $input-border-width solid $input-border-color;
944
+ border-radius: $input-border-radius;
945
+ background-color: $body-bg;
946
+ overflow: hidden;
947
+ @if $enable-shadows {
948
+ @include box-shadow($input-box-shadow, $input-btn-focus-box-shadow);
949
+ } @else {
950
+ // Avoid using mixin so we can pass custom focus shadow properly
951
+ box-shadow: $input-btn-focus-box-shadow;
952
+ }
953
+ }
954
+ }
955
+
956
+
957
+ // range picker
958
+
959
+ .itf-daterange-picker {
960
+ display: flex;
961
+ .input-group-text.hidden {
962
+ visibility: hidden;
963
+ }
964
+
965
+ &.with-addon .addon-end {
966
+ pointer-events: all;
967
+ padding-right: 0.25rem;
968
+ }
969
+ &__dropdown {
970
+ width: max-content;
971
+ overflow: hidden;
972
+ border: $input-border-width solid $input-border-color;
973
+ border-radius: $input-border-radius;
974
+ background-color: $body-bg;
975
+ @if $enable-shadows {
976
+ @include box-shadow($input-box-shadow, $input-btn-focus-box-shadow);
977
+ } @else {
978
+ // Avoid using mixin so we can pass custom focus shadow properly
979
+ box-shadow: $input-btn-focus-box-shadow;
980
+ }
981
+ }
982
+
983
+ .form-control.focused, .form-control.focused input.form-control {
984
+ background-color: $input-focus-border-color;
985
+ }
986
+ [data-theme="dark"] & {
987
+ &__dropdown {
988
+ box-shadow: 0 0 0 2px $dark-input-focus-border;
989
+ }
990
+ .form-control.focused, .form-control.focused input.form-control {
991
+ background-color: $dark-input-focus-border-color;
992
+ }
993
+ .input-group-text {
994
+ color: #fff;
995
+ }
996
+ }
997
+ .form-control input.form-control {
998
+ border: 0 none;
999
+ padding: 0;
1000
+ max-width: 100px;
1001
+
1002
+ &:focus, &:active {
1003
+ border: 0;
1004
+ box-shadow: none;
1005
+ }
1006
+ }
1007
+ .input-group-text {
1008
+ border: 0 none;
1009
+ background: transparent;
1010
+ }
1011
+ }
1012
+
1013
+
1014
+ .itf-monthpicker {
1015
+ .form-control {
1016
+ background-color: $input-bg;
1017
+
1018
+ &:focus {
1019
+ background-color: $body-bg;
1020
+ }
1021
+ }
1022
+ &__dropdown {
1023
+ width: max-content;
1024
+ border: $input-border-width solid $input-border-color;
1025
+ border-radius: $input-border-radius;
1026
+ background-color: $body-bg;
1027
+ overflow: hidden;
1028
+ @if $enable-shadows {
1029
+ @include box-shadow($input-box-shadow, $input-btn-focus-box-shadow);
1030
+ } @else {
1031
+ // Avoid using mixin so we can pass custom focus shadow properly
1032
+ box-shadow: $input-btn-focus-box-shadow;
1033
+ }
1034
+
1035
+ [data-theme="dark"] & {
1036
+ background-color: $dark-body-bg;
1037
+ border-color: $dark-border-color;
1038
+ box-shadow: 0 0 0 2px $dark-input-focus-border;
1039
+ }
1040
+ }
1041
+ }
1042
+
1043
+
1044
+ .itf-periodpicker {
1045
+ .form-control {
1046
+ background-color: $input-bg;
1047
+
1048
+ &:focus {
1049
+ background-color: $body-bg;
1050
+ }
1051
+ }
1052
+
1053
+ .air-datepicker {
1054
+ --adp-font-family: #{$font-family-base};
1055
+ --adp-color-current-date: #{$primary};
1056
+ --adp-cell-background-color-selected: #{$primary};
1057
+ --adp-cell-background-color-selected-hover: #{lighten($primary, 10%)};
1058
+ --adp-day-name-color: #{$secondary};
1059
+ }
1060
+
1061
+ &__quarters {
1062
+ gap: 5px;
1063
+ }
1064
+ &__quarters, &__months {
1065
+ display: flex;
1066
+ }
1067
+
1068
+ &__month {
1069
+ flex: 1 1 auto;
1070
+ border-radius: 0;
1071
+ justify-content: center;
1072
+ padding-left: 0;
1073
+ padding-right: 0;
1074
+ font-size: 14px;
1075
+ }
1076
+
1077
+ &__quarter {
1078
+ flex: 1 1 33.3%;
1079
+ cursor: pointer;
1080
+ color: var(--grey);
1081
+ background-color: rgba(0, 0, 0, 0.04);
1082
+ height: 125px;
1083
+ width: 125px;
1084
+ display: flex;
1085
+ flex-direction: column;
1086
+ justify-content: space-between;
1087
+ border-radius: $input-border-radius;
1088
+ overflow: hidden;
1089
+ text-align: right;
1090
+
1091
+ &:hover {
1092
+ background-color: rgba(9, 30, 66, 0.08);
1093
+ }
1094
+ &.active-inside {
1095
+ background-color: rgba(9, 30, 66, 0.08);
1096
+ }
1097
+ &.active {
1098
+ background-color: $primary;
1099
+ color: #fff;
1100
+
1101
+ .itf-periodpicker__month {
1102
+ color: #fff;
1103
+ }
1104
+ }
1105
+
1106
+ .quarter-number {
1107
+ font-size: 36px;
1108
+ }
1109
+ }
823
1110
 
1111
+ &__dropdown {
1112
+ padding: 10px 15px;
1113
+ min-width: 400px;
1114
+ width: max-content;
1115
+ border: $input-border-width solid $input-border-color;
1116
+ border-radius: $input-border-radius;
1117
+ background-color: $body-bg;
1118
+ overflow: hidden;
1119
+ @if $enable-shadows {
1120
+ @include box-shadow($input-box-shadow, $input-btn-focus-box-shadow);
1121
+ } @else {
1122
+ // Avoid using mixin so we can pass custom focus shadow properly
1123
+ box-shadow: $input-btn-focus-box-shadow;
1124
+ }
1125
+
1126
+ [data-theme="dark"] & {
1127
+ background-color: $dark-body-bg;
1128
+ border-color: $dark-border-color;
1129
+ box-shadow: 0 0 0 2px $dark-input-focus-border;
1130
+ }
1131
+
1132
+ .btn-whole {
1133
+ background-color: rgba(0, 0, 0, 0.04);
1134
+ }
1135
+ }
1136
+ }
@@ -0,0 +1,78 @@
1
+ @import '../variables';
2
+
3
+ .itf-dropdown {
4
+ display: inline-block;
5
+
6
+ &__menu.dropdown-menu {
7
+ border: 0 none;
8
+ padding: 0;
9
+ }
10
+ }
11
+
12
+
13
+ .dropdown {
14
+ z-index: 101;
15
+ position: absolute;
16
+ top: calc(100% + 4px);
17
+ left: -1px;
18
+ border-radius: 0 0 4px 4px;
19
+ background: #fff;
20
+ box-shadow: rgba(9, 30, 66, 0.25) 0px 4px 8px -2px,
21
+ rgba(9, 30, 66, 0.31) 0px 0px 1px;
22
+ width: 100%;
23
+ }
24
+
25
+ [data-theme="dark"] .dropdown {
26
+ background: $dark-input-focus-border-color;
27
+
28
+ .option {
29
+ &.select-option-is-active {
30
+ background: $dark-border-color;
31
+ }
32
+ }
33
+ }
34
+
35
+ .dropdownInput {
36
+ padding: 10px 14px 8px;
37
+ width: 100%;
38
+ border: none;
39
+ color: #172b4d;
40
+ background: none;
41
+
42
+ &:focus {
43
+ outline: none;
44
+ }
45
+ }
46
+
47
+ .options {
48
+ padding: 5px 0;
49
+ max-height: 200px;
50
+ overflow-x: hidden;
51
+ overflow-y: auto;
52
+ -webkit-overflow-scrolling: touch;
53
+ // &::-webkit-scrollbar {
54
+ // width: 7px;
55
+ // }
56
+ // &::-webkit-scrollbar-track {
57
+ // background: none;
58
+ // }
59
+ // &::-webkit-scrollbar-thumb {
60
+ // // border-radius: 99px;
61
+ // background: #d1d1d1;
62
+ // }
63
+ }
64
+
65
+ .option {
66
+ padding: 8px 14px;
67
+ word-break: break-word;
68
+ cursor: pointer;
69
+
70
+ &.select-option-is-active {
71
+ background: #e8ecee;
72
+ }
73
+ }
74
+
75
+ .optionsNoResults {
76
+ padding: 0px 15px 10px;
77
+ color: #8993a4;
78
+ }
@@ -0,0 +1,22 @@
1
+ @import '../variables';
2
+
3
+ .itf-label {
4
+ &.no-details {
5
+ margin-bottom: .5rem;
6
+ }
7
+ &__label {
8
+ .star {
9
+ color: $danger;
10
+ }
11
+ }
12
+ &__errors {
13
+ min-height: 21px;
14
+ margin-top: 4px;
15
+ font-size: 0.75rem;
16
+ opacity: .5;
17
+
18
+ &.valid-feedback, &.invalid-feedback {
19
+ opacity: 1;
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,5 @@
1
+ @import '../variables';
2
+
3
+ .itf-icon {
4
+ display: inline-block;
5
+ }
@@ -0,0 +1,9 @@
1
+ @import '../variables';
2
+
3
+ .itf-modal {
4
+ .modal-header {
5
+ .btn-close {
6
+ margin-right: 0;
7
+ }
8
+ }
9
+ }
@@ -0,0 +1,12 @@
1
+ @import '../variables';
2
+
3
+ .itf-pagination.pagination {
4
+ padding-left: 0;
5
+
6
+ .page-item {
7
+ margin-right: 3px;
8
+ .page-link {
9
+ border-radius: .5rem;
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,4 @@
1
+ @import "pdf-viewer/text_layer_builder.scss";
2
+ @import "pdf-viewer/annotation_layer_builder.scss";
3
+ @import "pdf-viewer/pdf_viewer.scss";
4
+ @import "pdf-viewer/viewer.scss";
@@ -0,0 +1,37 @@
1
+ @import '../variables';
2
+
3
+ .itf-popover {
4
+ display: none;
5
+
6
+ .popover-body > & {
7
+ display: block;
8
+ }
9
+ .border-right {
10
+ border-right: 1px solid #eee;
11
+ }
12
+ }
13
+ .itf-popover-container {
14
+ display: inline-block;
15
+ }
16
+
17
+ [data-theme="dark"] {
18
+ .itf-popover {
19
+ .border-right {
20
+ border-color: $dark-border-color;
21
+ }
22
+ }
23
+ .popover {
24
+ background-color: $dark-body-bg;
25
+ border-color: $dark-border-color;
26
+ }
27
+ .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
28
+ border-bottom-color: $dark-border-color;
29
+ }
30
+ .popover-body {
31
+ color: $dark-body-color;
32
+ }
33
+ }
34
+
35
+ .nopadding .popover-body {
36
+ padding: 0;
37
+ }
@@ -0,0 +1,138 @@
1
+ @import '../variables';
2
+
3
+ .itf-segmeneted-control {
4
+ --itf-segmeneted-control--background: #{$input-bg};
5
+ --itf-segmeneted-control--border-radius: #{$border-radius};
6
+ --itf-segmeneted-control--shadow: 0 1px 3px rgba(0,0,0,0.1);
7
+
8
+ cursor: pointer;
9
+ background: var(--itf-segmeneted-control--background);
10
+ border-radius: var(--itf-segmeneted-control--border-radius);
11
+ margin: 0;
12
+ padding: 2px;
13
+ border: none;
14
+ outline: none;
15
+ display: inline-grid;
16
+ grid-auto-flow: column;
17
+ grid-auto-columns: 1fr;
18
+ -webkit-user-select: none;
19
+ -moz-user-select: none;
20
+ -ms-user-select: none;
21
+ user-select: none;
22
+ overflow: hidden;
23
+
24
+ .option {
25
+ position: relative;
26
+ cursor: pointer;
27
+
28
+ &:hover input:not(:checked) + label span,
29
+ &:active input:not(:checked) + label span,
30
+ &:focus input:not(:checked) + label span {
31
+ /*opacity: .2;*/
32
+ color: var(--v-primary-base);
33
+ }
34
+ &:active input:not(:checked) + label span {
35
+ transform: scale(.95);
36
+ }
37
+ &:first-of-type {
38
+ grid-column: 1;
39
+ grid-row: 1;
40
+ box-shadow: none;
41
+
42
+ label::before {
43
+ opacity: 0;
44
+ }
45
+ label::after {
46
+ opacity: 0;
47
+ }
48
+ }
49
+ &:last-of-type {
50
+ label::after {
51
+ opacity: 0;
52
+ }
53
+ }
54
+ label {
55
+ justify-content: center;
56
+ height: 100%;
57
+ align-items: center;
58
+ display: flex;
59
+ cursor: pointer;
60
+ position: relative;
61
+ text-align: center;
62
+ padding: .25rem 1.5rem;
63
+ background: rgba(255, 255, 255, 0);
64
+ color: rgba(0, 0, 0, 1);
65
+
66
+ &::before,
67
+ &::after {
68
+ content: '';
69
+ width: 1px;
70
+ background: rgba(142, 142, 147, .15);
71
+ position: absolute;
72
+ top: 14%;
73
+ bottom: 14%;
74
+ border-radius: var(--itf-segmeneted-control--border-radius);
75
+ will-change: background;
76
+ -webkit-transition: background .2s ease;
77
+ transition: background .2s ease;
78
+ }
79
+ &::before {
80
+ left: 0;
81
+ transform: translateX(-.5px);
82
+ }
83
+ &::after {
84
+ right: 0;
85
+ transform: translateX(.5px);
86
+ }
87
+ span {
88
+ display: block;
89
+ position: relative;
90
+ z-index: 2;
91
+ -webkit-transition: all .2s ease;
92
+ transition: all .2s ease;
93
+ will-change: transform;
94
+ }
95
+ }
96
+
97
+ input {
98
+ position: absolute;
99
+ top: 0;
100
+ left: 0;
101
+ right: 0;
102
+ bottom: 0;
103
+ width: 100%;
104
+ height: 100%;
105
+ padding: 0;
106
+ margin: 0;
107
+ -webkit-appearance: none;
108
+ -moz-appearance: none;
109
+ appearance: none;
110
+ outline: none;
111
+ border: none;
112
+ opacity: 0;
113
+
114
+ &:checked + label {
115
+ cursor: default;
116
+ }
117
+ &:checked + label::before,
118
+ &:checked + label::after {
119
+ background: var(--itf-segmeneted-control--background);
120
+ z-index: 1;
121
+ }
122
+ }
123
+ }
124
+ .selection {
125
+ margin-right: 1px;
126
+ background: rgba(255, 255, 255, 1);
127
+ border: .5px solid rgba(0, 0, 0, 0.04);
128
+ box-shadow: var(--itf-segmeneted-control--shadow);
129
+ /*box-shadow: 0 3px 8px 0 rgba(0,0,0,0.12), 0 3px 1px 0 rgba(0,0,0,0.04);*/
130
+ border-radius: var(--itf-segmeneted-control--border-radius);
131
+ grid-column: 1;
132
+ grid-row: 1;
133
+ z-index: 2;
134
+ will-change: transform;
135
+ -webkit-transition: transform .2s ease;
136
+ transition: transform .2s ease;
137
+ }
138
+ }
@@ -0,0 +1,76 @@
1
+ @import '../variables';
2
+ @import '../directives/loading';
3
+ @import './select/variables';
4
+ @import './select/component';
5
+ @import './select/animations';
6
+ @import './select/states';
7
+
8
+ @import './select/dropdown-toggle';
9
+ @import './select/open-indicator';
10
+ @import './select/clear';
11
+ @import './select/dropdown-menu';
12
+ @import './select/dropdown-option';
13
+ @import './select/selected';
14
+ @import './select/search-input';
15
+ @import './select/spinner';
16
+
17
+ [data-theme="dark"] {
18
+ .itf-select {
19
+ &.vs--open .form-control {
20
+ box-shadow: 0 0 0 0.125rem $dark-input-focus-border;
21
+ border-color: $dark-input-focus-border-color;
22
+ background: $dark-input-focus-border-color;
23
+ }
24
+ &__dropdown-menu {
25
+ background-color: $dark-body-bg;
26
+ border-color: $dark-input-focus-border;
27
+
28
+ .dropdown-item {
29
+ color: $dark-body-color;
30
+
31
+ &.active, &:active {
32
+ background-color: $dark-primary;
33
+ color: $dark-body-bg;
34
+ }
35
+ }
36
+ }
37
+ }
38
+ }
39
+
40
+ .itf-select {
41
+ cursor: pointer;
42
+
43
+ .form-control {
44
+ padding: 0.3125rem 0.75rem;
45
+
46
+ &.is-valid, &.is-invalid {
47
+ background-image: none;
48
+ }
49
+ &.is-invalid .vs__open-indicator {
50
+ color: $danger;
51
+ }
52
+ &.is-valid .vs__open-indicator {
53
+ color: $success;
54
+ }
55
+ }
56
+ &.vs--multiple .form-control {
57
+ padding-top: 0.125rem;
58
+ padding-bottom: 0.125rem;
59
+ }
60
+ &.vs--open .form-control {
61
+ box-shadow: 0 0 0 0.125rem $input-focus-border;
62
+ border-color: $body-bg;
63
+ background: $body-bg;
64
+ }
65
+ &__dropdown-menu {
66
+ background-color: $body-bg;
67
+ //border: 2px solid $input-focus-border;
68
+ border: 0 none;
69
+ padding-left: 0.125rem !important;
70
+ padding-right: 0.125rem !important;
71
+ left: -2px;
72
+ right: -2px;
73
+ width: auto;
74
+ box-shadow: rgb(9 30 66 / 25%) 0px 4px 8px -2px, rgb(9 30 66 / 31%) 0px 0px 1px;
75
+ }
76
+ }