react-core-ts 4.0.2 → 4.0.4

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 (34) hide show
  1. package/dist/AutoCompleteWithSelectedList.js +1 -1
  2. package/dist/AutoCompleteWithSelectedList.js.map +1 -1
  3. package/dist/AutoCompleteWithTabFilter.js +2 -2
  4. package/dist/AutoCompleteWithTabFilter.js.map +1 -1
  5. package/dist/AutoCompleteWithTreeStructure.js +2 -2
  6. package/dist/AutoCompleteWithTreeStructure.js.map +1 -1
  7. package/dist/ExpandableAutoComplete.js +1 -1
  8. package/dist/ExpandableAutoComplete.js.map +1 -1
  9. package/dist/ReactAutoComplete.js +8 -8
  10. package/dist/ReactAutoComplete.js.map +1 -1
  11. package/dist/ReactAutoCompleteDropdown.js +9 -9
  12. package/dist/ReactAutoCompleteDropdown.js.map +1 -1
  13. package/dist/ReactAutoCompleteSuggections.js +34 -34
  14. package/dist/ReactAutoCompleteSuggections.js.map +1 -1
  15. package/dist/ReactAutoCompleteTableView.js +9 -9
  16. package/dist/ReactAutoCompleteTableView.js.map +1 -1
  17. package/dist/ReactTextArea.js +13 -13
  18. package/dist/ReactTextArea.js.map +1 -1
  19. package/dist/ReactTextField.js +36 -33
  20. package/dist/ReactTextField.js.map +1 -1
  21. package/dist/components/TreeNode.js +1 -1
  22. package/dist/components/TreeNode.js.map +1 -1
  23. package/dist/dummyAutoCompleteWithSelectedList.js +1 -1
  24. package/dist/dummyAutoCompleteWithSelectedList.js.map +1 -1
  25. package/dist/generated/stylesContent.d.ts +1 -1
  26. package/dist/generated/stylesContent.js +1 -1
  27. package/dist/generated/stylesContent.js.map +1 -1
  28. package/dist/react-core-ts.css +519 -46
  29. package/dist/styles/components/autocomplete.css +123 -7
  30. package/dist/styles/components/modern-input.css +209 -0
  31. package/dist/styles/components/qbs-fallbacks.css +174 -0
  32. package/dist/styles/global.css +3 -1
  33. package/dist/styles/library-entry.css +2 -0
  34. package/package.json +1 -1
@@ -1,31 +1,3 @@
1
- .qbs-container {
2
- width: 100%
3
- }
4
- @media (min-width: 640px) {
5
- .qbs-container {
6
- max-width: 640px
7
- }
8
- }
9
- @media (min-width: 768px) {
10
- .qbs-container {
11
- max-width: 768px
12
- }
13
- }
14
- @media (min-width: 1024px) {
15
- .qbs-container {
16
- max-width: 1024px
17
- }
18
- }
19
- @media (min-width: 1280px) {
20
- .qbs-container {
21
- max-width: 1280px
22
- }
23
- }
24
- @media (min-width: 1536px) {
25
- .qbs-container {
26
- max-width: 1536px
27
- }
28
- }
29
1
  .qbs-visible {
30
2
  visibility: visible
31
3
  }
@@ -353,10 +325,6 @@
353
325
  --tw-border-opacity: 1;
354
326
  border-color: rgb(208 213 221 / var(--tw-border-opacity))
355
327
  }
356
- .qbs-border-\[\#FDA29B\] {
357
- --tw-border-opacity: 1;
358
- border-color: rgb(253 162 155 / var(--tw-border-opacity))
359
- }
360
328
  .qbs-bg-gray-100 {
361
329
  --tw-bg-opacity: 1;
362
330
  background-color: rgb(243 244 246 / var(--tw-bg-opacity))
@@ -500,6 +468,9 @@
500
468
  .qbs-font-semibold {
501
469
  font-weight: 600
502
470
  }
471
+ .qbs-uppercase {
472
+ text-transform: uppercase
473
+ }
503
474
  .qbs-leading-none {
504
475
  line-height: 1
505
476
  }
@@ -585,6 +556,12 @@
585
556
  .qbs-ease-in-out {
586
557
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1)
587
558
  }
559
+ .placeholder\:qbs-normal-case::-moz-placeholder {
560
+ text-transform: none
561
+ }
562
+ .placeholder\:qbs-normal-case::placeholder {
563
+ text-transform: none
564
+ }
588
565
  .last\:qbs-border-b-0:last-child {
589
566
  border-bottom-width: 0px
590
567
  }
@@ -600,18 +577,11 @@
600
577
  outline: 2px solid transparent;
601
578
  outline-offset: 2px
602
579
  }
603
- .focus\:qbs-outline-\[\#FDA29B\]:focus {
604
- outline-color: #FDA29B
605
- }
606
580
  .focus\:qbs-ring-0:focus {
607
581
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
608
582
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
609
583
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
610
584
  }
611
- .focus\:qbs-ring-\[\#FDA29B\]:focus {
612
- --tw-ring-opacity: 1;
613
- --tw-ring-color: rgb(253 162 155 / var(--tw-ring-opacity))
614
- }
615
585
  .focus-visible\:qbs-outline-slate-100:focus-visible {
616
586
  outline-color: #f1f5f9
617
587
  }
@@ -695,6 +665,393 @@
695
665
  }
696
666
 
697
667
 
668
+ /**
669
+ * Self-contained modern TextField / Autocomplete input styles.
670
+ * These used to live in host apps; the library must ship them for Vite / local preview.
671
+ */
672
+
673
+ /* Base peer input (height + border) */
674
+ input.qbs-peer,
675
+ .qbs-textfield input[class*='qbs-h-'] {
676
+ box-sizing: border-box !important;
677
+ display: block;
678
+ width: 100%;
679
+ height: 2.5rem !important;
680
+ min-height: 2.5rem !important;
681
+ margin: 0;
682
+ border-style: solid;
683
+ border-width: 1px;
684
+ border-color: #d0d5dd;
685
+ border-radius: 4px;
686
+ background-color: #fff;
687
+ color: #111827;
688
+ font-size: 0.875rem;
689
+ font-weight: 400;
690
+ line-height: 1.25rem;
691
+ padding-left: 0.875rem;
692
+ padding-right: 0.875rem;
693
+ padding-top: 0;
694
+ padding-bottom: 0;
695
+ outline: none;
696
+ -webkit-appearance: none;
697
+ appearance: none;
698
+ }
699
+
700
+ input.qbs-peer.qbs-h-\[34px\],
701
+ .qbs-textfield input.qbs-h-\[34px\] {
702
+ height: 34px !important;
703
+ min-height: 34px !important;
704
+ }
705
+
706
+ input.qbs-peer.qbs-h-\[25px\],
707
+ .qbs-textfield input.qbs-h-\[25px\] {
708
+ height: 25px !important;
709
+ min-height: 25px !important;
710
+ font-size: 0.75rem;
711
+ }
712
+
713
+ input.qbs-peer:focus:not(.qbs-input-error) {
714
+ border-color: #001f3f;
715
+ }
716
+
717
+ input.qbs-peer:disabled {
718
+ color: #98a2b3;
719
+ background-color: #f2f4f7;
720
+ cursor: not-allowed;
721
+ }
722
+
723
+ /*
724
+ * Error state — must beat `input.qbs-peer` / `:focus` (element+class specificity).
725
+ * Broken Tailwind classes like `focus:qbs-border-error-[#FDA29B]` never ship in CSS.
726
+ */
727
+ input.qbs-peer.qbs-input-error,
728
+ .qbs-textfield input.qbs-input-error,
729
+ .qbs-autocomplete-container-table-view input.qbs-input-error {
730
+ border-color: #fda29b !important;
731
+ outline: none;
732
+ }
733
+
734
+ input.qbs-peer.qbs-input-error:focus,
735
+ .qbs-textfield input.qbs-input-error:focus,
736
+ .qbs-autocomplete-container-table-view input.qbs-input-error:focus {
737
+ border-color: #fda29b !important;
738
+ outline: none;
739
+ box-shadow: 0 0 0 3px rgba(253, 162, 155, 0.35);
740
+ }
741
+
742
+ /* Host-token fallbacks (prefixed utilities that are not in default Tailwind theme) */
743
+ .qbs-border-input-light {
744
+ border-color: #d0d5dd;
745
+ }
746
+ .qbs-text-input-text {
747
+ color: #111827;
748
+ }
749
+ .qbs-text-input-disabled,
750
+ .disabled\:qbs-text-input-disabled:disabled {
751
+ color: #98a2b3;
752
+ }
753
+ .qbs-bg-disabled,
754
+ .disabled\:qbs-bg-disabled:disabled {
755
+ background-color: #f2f4f7;
756
+ }
757
+ .qbs-text-grey-dark {
758
+ color: #344054;
759
+ }
760
+ .qbs-text-error-light {
761
+ color: #f04438;
762
+ }
763
+ .qbs-text-error-icon,
764
+ .qbs-text-error-label {
765
+ color: #f04438;
766
+ }
767
+ .qbs-text-warning-icon,
768
+ .qbs-text-warning-label {
769
+ color: #f79009;
770
+ }
771
+ .qbs-text-tick-label {
772
+ color: #28b440;
773
+ }
774
+ .qbs-text-grey-medium {
775
+ color: #667085;
776
+ }
777
+ .qbs-border-grey-light {
778
+ border-color: #d0d5dd;
779
+ }
780
+ .qbs-text-table-bodyColor {
781
+ color: #667085;
782
+ }
783
+ .placeholder-input-label::placeholder {
784
+ color: #667085;
785
+ }
786
+ .qbs-bg-bodyBG {
787
+ background-color: #f9fafb;
788
+ }
789
+ .qbs-text-xxs {
790
+ font-size: 0.625rem;
791
+ line-height: 0.875rem;
792
+ }
793
+ .qbs-input-outline {
794
+ outline: none;
795
+ }
796
+ .text-common {
797
+ font-size: 0.875rem;
798
+ line-height: 1.25rem;
799
+ color: #101828;
800
+ }
801
+ .text-error {
802
+ color: #f04438;
803
+ }
804
+ .text-grey-secondary {
805
+ color: #667085;
806
+ }
807
+ .text-text-primary {
808
+ color: #101828;
809
+ }
810
+
811
+ /* Floating label: hide native placeholder when modern label is used */
812
+ .placeholder-transparent::placeholder {
813
+ color: transparent !important;
814
+ }
815
+ .placeholder-transparent::-webkit-input-placeholder {
816
+ color: transparent !important;
817
+ }
818
+ .focus\:placeholder-grey-secondary:focus::placeholder {
819
+ color: #98a2b3;
820
+ }
821
+
822
+ .modern-input-label-truncate {
823
+ max-width: calc(100% - 1.75rem);
824
+ overflow: hidden;
825
+ text-overflow: ellipsis;
826
+ white-space: nowrap;
827
+ pointer-events: none;
828
+ background-color: transparent;
829
+ }
830
+
831
+ .modern-input-label-size {
832
+ font-size: 0.875rem;
833
+ line-height: 1.25rem;
834
+ }
835
+
836
+ .modern-input-peer-focus-label-size,
837
+ .peer-focus\:modern-input-peer-focus-label-size {
838
+ font-size: 0.75rem;
839
+ line-height: 1rem;
840
+ }
841
+
842
+ /* When peer has value / is focused, shrink label (Tailwind peer-focus variant class name) */
843
+ .qbs-peer:focus ~ .peer-focus\:modern-input-peer-focus-label-size,
844
+ .qbs-peer:not(:placeholder-shown) ~ .modern-input-peer-focus-label-size,
845
+ .qbs-peer:not(:placeholder-shown) ~ label.modern-input-label-truncate {
846
+ font-size: 0.75rem;
847
+ line-height: 1rem;
848
+ }
849
+
850
+ .active-input-label-bg {
851
+ background-color: #fff;
852
+ padding-left: 0.25rem;
853
+ padding-right: 0.25rem;
854
+ }
855
+
856
+ .disabled-input-label-bg {
857
+ background-color: #f2f4f7;
858
+ padding-left: 0.25rem;
859
+ padding-right: 0.25rem;
860
+ }
861
+
862
+ /* Ensure bordered utility actually draws a border */
863
+ .qbs-border {
864
+ border-style: solid;
865
+ }
866
+
867
+ /* Utilities that apps expect but Tailwind may not emit / lose specificity */
868
+ .qbs-z-1 {
869
+ z-index: 1;
870
+ }
871
+ .qbs-start-\[14px\] {
872
+ inset-inline-start: 14px;
873
+ }
874
+ .hover\:qbs-text-dark:hover {
875
+ color: #101828;
876
+ }
877
+
878
+
879
+ /**
880
+ * Semantic / host-token fallbacks that Tailwind may not emit, or that
881
+ * need guaranteed styles when the library is consumed in Vite apps.
882
+ */
883
+
884
+ /* --- Missing important / RTL utilities --- */
885
+ .\!qbs-pt-\[10px\] {
886
+ padding-top: 10px !important;
887
+ }
888
+ .\!qbs-pl-\[45px\] {
889
+ padding-left: 45px !important;
890
+ }
891
+
892
+ /* TextArea RTL peer-focus nudge (class used in ReactTextArea) */
893
+ [dir='rtl'] .qbs-peer:focus ~ .rtl\:peer-focus\:qbs-translate-x-1\/6,
894
+ .qbs-peer:focus ~ .rtl\:peer-focus\:qbs-translate-x-1\/6:where([dir='rtl'] *) {
895
+ transform: translateX(16.666667%);
896
+ }
897
+
898
+ /* --- Labels / selected chrome --- */
899
+ .qbs-label-text,
900
+ .labels.qbs-label-text {
901
+ font-size: 12px;
902
+ font-weight: 500;
903
+ color: #344054;
904
+ line-height: 16px;
905
+ }
906
+ .qbs-selected-label-text {
907
+ color: #344054;
908
+ font-size: 14px;
909
+ font-weight: 500;
910
+ line-height: 20px;
911
+ white-space: nowrap;
912
+ }
913
+ .qbs-text-hundred-plus {
914
+ font-size: 10px;
915
+ letter-spacing: -0.02em;
916
+ }
917
+ .qbs-text-grey-label {
918
+ color: #667085;
919
+ font-size: 0.875rem;
920
+ }
921
+
922
+ /* --- Search-on-button chrome --- */
923
+ .qbs-btn-search-on {
924
+ background: transparent;
925
+ border: none;
926
+ border-radius: 4px;
927
+ color: #667085;
928
+ cursor: pointer;
929
+ display: inline-flex;
930
+ align-items: center;
931
+ justify-content: center;
932
+ }
933
+ .qbs-btn-search-on:disabled {
934
+ opacity: 0.7;
935
+ cursor: not-allowed;
936
+ }
937
+ .qbs-btn-search-on:focus-visible {
938
+ outline: 2px solid #cbd5e1;
939
+ outline-offset: 1px;
940
+ }
941
+
942
+ /* --- Adornment hooks --- */
943
+ .qbs-custom-dorpdown-adorement,
944
+ .qbs-auto-dorpdown-adorement,
945
+ .qbs-autocomplete-adorement {
946
+ display: inline-flex;
947
+ align-items: center;
948
+ gap: 4px;
949
+ height: 100%;
950
+ padding-right: 4px;
951
+ box-sizing: border-box;
952
+ }
953
+ .adorement {
954
+ display: inline-flex;
955
+ align-items: center;
956
+ }
957
+
958
+ /* --- Loader / empty dropdown padding --- */
959
+ .qbs-autocomplete-loader {
960
+ display: flex;
961
+ align-items: center;
962
+ justify-content: center;
963
+ width: 100%;
964
+ min-height: 64px;
965
+ padding-top: 4rem;
966
+ box-sizing: border-box;
967
+ }
968
+
969
+ /* --- Suggestion list (Name/Count autocomplete) --- */
970
+ .qbs-autocomplete-with-suggection {
971
+ width: 100%;
972
+ }
973
+ .qbs-suggection-list {
974
+ margin-top: 4px;
975
+ width: 100%;
976
+ }
977
+ .qbs-suggection-item {
978
+ cursor: pointer;
979
+ padding-top: 4px;
980
+ padding-bottom: 4px;
981
+ }
982
+ .qbs-suggection-item:hover {
983
+ background-color: #f8f8f8;
984
+ }
985
+ .qbs-suggection-label {
986
+ color: #344054;
987
+ font-size: 0.75rem;
988
+ line-height: 1rem;
989
+ }
990
+ .qbs-suggection-count {
991
+ background-color: #f97316;
992
+ color: #fff;
993
+ }
994
+ .qbs-autosuggection-list {
995
+ position: absolute;
996
+ z-index: 50;
997
+ }
998
+
999
+ /* Warning / success suggestion containers */
1000
+ .suggection-warning-container .qbs-peer {
1001
+ border-color: #fdb022;
1002
+ }
1003
+ .suggection-okey-container .qbs-peer {
1004
+ border-color: #28b440;
1005
+ }
1006
+
1007
+ /* --- Radio / checkbox hooks --- */
1008
+ .qbs-custom-radio-container {
1009
+ gap: 8px;
1010
+ }
1011
+ .qbs-radio-button {
1012
+ cursor: pointer;
1013
+ }
1014
+
1015
+ /* --- Misc icon hooks (no-op safe defaults) --- */
1016
+ .qbs-all-dropdow-arrow-icon,
1017
+ .qbs-tools-arrow-icon,
1018
+ .qbs-tree-single-select-icon {
1019
+ display: inline-block;
1020
+ vertical-align: middle;
1021
+ }
1022
+
1023
+ /* Extra color tokens often expected from host design systems */
1024
+ .qbs-text-gray-500 {
1025
+ color: #6b7280;
1026
+ }
1027
+ .qbs-text-gray-700 {
1028
+ color: #374151;
1029
+ }
1030
+ .qbs-text-gray-900 {
1031
+ color: #111827;
1032
+ }
1033
+ .qbs-bg-gray-100 {
1034
+ background-color: #f3f4f6;
1035
+ }
1036
+ .qbs-shadow-gray-300 {
1037
+ --tw-shadow-color: #d1d5db;
1038
+ }
1039
+ .qbs-border-b {
1040
+ border-bottom-width: 1px;
1041
+ border-bottom-style: solid;
1042
+ }
1043
+ .qbs-border-r {
1044
+ border-right-width: 1px;
1045
+ border-right-style: solid;
1046
+ }
1047
+
1048
+ /* Ensure focus outline utilities work when host CSS resets outlines */
1049
+ .focus-visible\:qbs-outline-slate-100:focus-visible {
1050
+ outline: 2px solid #f1f5f9;
1051
+ outline-offset: 2px;
1052
+ }
1053
+
1054
+
698
1055
  /* Intentionally no global `body *` reset — avoids conflicting with consumer apps. */
699
1056
  :root {
700
1057
  --rcts-grey-dark: #4a4a4a;
@@ -719,6 +1076,49 @@
719
1076
  --table-hover: #f8f8f8;
720
1077
  }
721
1078
 
1079
+ /*
1080
+ * Scoped border-box so TextField / Autocomplete heights match pre-4.0.2 behavior.
1081
+ * (Removing global body * broke height because padding+border were added outside h-*).
1082
+ */
1083
+ .qbs-textfield,
1084
+ .qbs-textfield *,
1085
+ .qbs-autocomplete-selected-comp,
1086
+ .qbs-autocomplete-selected-comp *,
1087
+ .qbs-autocomplete-suggestions,
1088
+ .qbs-autocomplete-suggestions *,
1089
+ .autocomplete-suggections,
1090
+ .autocomplete-suggections *,
1091
+ .qbs-expandable-container,
1092
+ .qbs-expandable-container *,
1093
+ .tooltip-container,
1094
+ .tooltip-container *,
1095
+ .react-core-ts-search-container,
1096
+ .react-core-ts-search-container *,
1097
+ .qbs-autocomplete-container-table-view,
1098
+ .qbs-autocomplete-container-table-view * {
1099
+ box-sizing: border-box;
1100
+ }
1101
+
1102
+ /* Explicit TextField size heights — reliable even if utility order fights other CSS */
1103
+ .qbs-textfield input.qbs-h-10,
1104
+ input.qbs-peer.qbs-h-10 {
1105
+ height: 2.5rem;
1106
+ min-height: 2.5rem;
1107
+ box-sizing: border-box;
1108
+ }
1109
+ .qbs-textfield input.qbs-h-\[25px\],
1110
+ input.qbs-peer.qbs-h-\[25px\] {
1111
+ height: 25px;
1112
+ min-height: 25px;
1113
+ box-sizing: border-box;
1114
+ }
1115
+ .qbs-textfield input.qbs-h-\[34px\],
1116
+ input.qbs-peer.qbs-h-\[34px\] {
1117
+ height: 34px;
1118
+ min-height: 34px;
1119
+ box-sizing: border-box;
1120
+ }
1121
+
722
1122
  .custom-spinner {
723
1123
  width: 24px !important; /* w-6 */
724
1124
  height: 24px; /* h-6 */
@@ -1096,7 +1496,8 @@ ul {
1096
1496
  position: absolute;
1097
1497
  right: 25px;
1098
1498
  z-index: 99;
1099
- top: 18px;
1499
+ top: 50%;
1500
+ transform: translateY(-50%);
1100
1501
  flex-wrap: wrap;
1101
1502
  }
1102
1503
 
@@ -1122,7 +1523,8 @@ ul {
1122
1523
  position: absolute;
1123
1524
  right: 8px;
1124
1525
  z-index: 99;
1125
- top: 6.5px;
1526
+ top: 50%;
1527
+ transform: translateY(-50%);
1126
1528
  flex-wrap: wrap;
1127
1529
  }
1128
1530
 
@@ -1521,22 +1923,93 @@ span.dropdown-search-icon {
1521
1923
 
1522
1924
  /* TextField Inner Search Button */
1523
1925
  .inner-search-button {
1926
+ position: absolute;
1524
1927
  background: #f8f8f8;
1525
- border-radius: 6px;
1526
- padding: 0px 8px;
1928
+ border: none;
1929
+ border-radius: 0 3px 3px 0;
1930
+ padding: 0 8px;
1527
1931
  display: flex;
1528
1932
  align-items: center;
1529
- justify-content: center;
1933
+ justify-content: center;
1530
1934
  cursor: pointer;
1531
- height: 38px;
1935
+ height: calc(100% - 2px);
1532
1936
  width: 38px;
1533
1937
  top: 1px;
1534
- right: 2px;
1938
+ right: 1px;
1939
+ z-index: 2;
1940
+ box-sizing: border-box;
1535
1941
  }
1536
1942
  .search-btn-input {
1537
1943
  padding-right: 38px;
1538
1944
  }
1539
1945
 
1946
+ /*
1947
+ * Keep end icons inside the input border.
1948
+ * (Sibling flex + qbs-w-full previously pushed icons outside the bordered input.)
1949
+ */
1950
+ .qbs-autocomplete-adorement-wrapper,
1951
+ .qbs-input-adorement-wrapper {
1952
+ position: absolute;
1953
+ top: 0;
1954
+ right: 0;
1955
+ bottom: 0;
1956
+ display: flex;
1957
+ align-items: center;
1958
+ z-index: 2;
1959
+ pointer-events: none;
1960
+ }
1961
+ .qbs-autocomplete-adorement-wrapper > *,
1962
+ .qbs-input-adorement-wrapper > * {
1963
+ pointer-events: auto;
1964
+ }
1965
+
1966
+ .qbs-autocomplete-adorement-wrapper .adorement,
1967
+ .qbs-autocomplete-adorement-wrapper .qbs-autocomplete-adorement,
1968
+ .qbs-input-adorement-wrapper .adorement {
1969
+ position: relative !important;
1970
+ right: auto !important;
1971
+ top: auto !important;
1972
+ height: 100%;
1973
+ padding-right: 4px;
1974
+ box-sizing: border-box;
1975
+ }
1976
+
1977
+ /* Avoid Tailwind `container` utility collision (prefix makes it `.qbs-container`) */
1978
+ .qbs-selected-comp-normal {
1979
+ position: relative;
1980
+ display: block;
1981
+ width: 100%;
1982
+ max-width: none;
1983
+ }
1984
+
1985
+ .qbs-autocomplete-selected-comp {
1986
+ position: relative;
1987
+ display: block;
1988
+ width: 100%;
1989
+ }
1990
+
1991
+ .qbs-autocomplete-selected-comp > .qbs-textfield-expandable.qbs-normal,
1992
+ .qbs-autocomplete-selected-comp > .qbs-textfield-expandable.qbs-normal .qbs-textfield-default {
1993
+ display: block;
1994
+ width: 100%;
1995
+ }
1996
+
1997
+ /* Tools icon should sit inside the field, vertically centered */
1998
+ .qbs-tools-drop-btn {
1999
+ position: absolute !important;
2000
+ right: 8px !important;
2001
+ top: 50% !important;
2002
+ transform: translateY(-50%);
2003
+ z-index: 2;
2004
+ display: inline-flex;
2005
+ align-items: center;
2006
+ justify-content: center;
2007
+ background: transparent;
2008
+ border: none;
2009
+ padding: 0;
2010
+ cursor: pointer;
2011
+ }
2012
+
1540
2013
  .qbs-tree-list-container {
1541
2014
  display: flex;
1542
2015
  flex-direction: column;