@nanoporetech-digital/components 2.6.0 → 2.9.0

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 (249) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/dist/cjs/form-control-d54a847f.js +85 -0
  3. package/dist/cjs/form-control-d54a847f.js.map +1 -0
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/nano-checkbox-group.cjs.entry.js +1 -1
  6. package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
  7. package/dist/cjs/nano-checkbox.cjs.entry.js +1 -1
  8. package/dist/cjs/nano-components.cjs.js +1 -1
  9. package/dist/cjs/nano-datalist_3.cjs.entry.js +4 -3
  10. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -1
  11. package/dist/cjs/nano-date-input.cjs.entry.js +1 -1
  12. package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
  13. package/dist/cjs/nano-dropdown.cjs.entry.js +1 -1
  14. package/dist/cjs/nano-file-upload.cjs.entry.js +1 -1
  15. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  16. package/dist/cjs/nano-global-nav.cjs.entry.js +50 -47
  17. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  18. package/dist/cjs/nano-input.cjs.entry.js +14 -10
  19. package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
  20. package/dist/cjs/nano-nav-item_2.cjs.entry.js +16 -14
  21. package/dist/cjs/nano-nav-item_2.cjs.entry.js.map +1 -1
  22. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +6 -4
  23. package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nano-tooltip.cjs.entry.js +1 -1
  25. package/dist/cjs/{popover-8c86d338.js → popover-5f152a19.js} +3 -8
  26. package/dist/cjs/{popover-8c86d338.js.map → popover-5f152a19.js.map} +1 -1
  27. package/dist/collection/components/accordion/accordion.js +1 -1
  28. package/dist/collection/components/alert/alert.js +1 -1
  29. package/dist/collection/components/algolia/algolia-filter.js +2 -2
  30. package/dist/collection/components/algolia/algolia-input.js +5 -5
  31. package/dist/collection/components/algolia/algolia-results.js +1 -1
  32. package/dist/collection/components/algolia/algolia.js +6 -6
  33. package/dist/collection/components/checkbox/checkbox-group.css +4 -1
  34. package/dist/collection/components/checkbox/checkbox-group.js +2 -2
  35. package/dist/collection/components/checkbox/checkbox.css +2 -2
  36. package/dist/collection/components/checkbox/checkbox.js +3 -3
  37. package/dist/collection/components/datalist/datalist.js +4 -2
  38. package/dist/collection/components/datalist/datalist.js.map +1 -1
  39. package/dist/collection/components/date-input/date-input.css +1 -0
  40. package/dist/collection/components/date-input/date-input.js +7 -7
  41. package/dist/collection/components/date-picker/date-picker.js +5 -5
  42. package/dist/collection/components/details/details.js +1 -1
  43. package/dist/collection/components/dialog/dialog.js +1 -1
  44. package/dist/collection/components/dropdown/dropdown.js +1 -1
  45. package/dist/collection/components/file-upload/file-upload.css +2 -2
  46. package/dist/collection/components/file-upload/file-upload.js +4 -4
  47. package/dist/collection/components/form-control/form-control.js +37 -32
  48. package/dist/collection/components/form-control/form-control.js.map +1 -1
  49. package/dist/collection/components/global-nav/global-nav.js +78 -50
  50. package/dist/collection/components/global-nav/global-nav.js.map +1 -1
  51. package/dist/collection/components/grid/grid-item.js +1 -1
  52. package/dist/collection/components/icon/icon.js +1 -1
  53. package/dist/collection/components/input/input.css +251 -258
  54. package/dist/collection/components/input/input.js +21 -14
  55. package/dist/collection/components/input/input.js.map +1 -1
  56. package/dist/collection/components/menu/menu.js +1 -2
  57. package/dist/collection/components/menu/menu.js.map +1 -1
  58. package/dist/collection/components/nav-item/nav-item.js +4 -4
  59. package/dist/collection/components/range/range.js +4 -4
  60. package/dist/collection/components/resize-observe/resize-observe.js +7 -6
  61. package/dist/collection/components/resize-observe/resize-observe.js.map +1 -1
  62. package/dist/collection/components/select/select.css +277 -274
  63. package/dist/collection/components/select/select.js +25 -21
  64. package/dist/collection/components/select/select.js.map +1 -1
  65. package/dist/collection/components/slides/slides.js +7 -7
  66. package/dist/collection/components/tabs/tab-group.js +2 -2
  67. package/dist/collection/utils/popover.js +2 -7
  68. package/dist/collection/utils/popover.js.map +1 -1
  69. package/dist/components/datalist.js +3 -1
  70. package/dist/components/datalist.js.map +1 -1
  71. package/dist/components/form-control.js +37 -32
  72. package/dist/components/form-control.js.map +1 -1
  73. package/dist/components/input.js +15 -10
  74. package/dist/components/input.js.map +1 -1
  75. package/dist/components/menu.js +1 -2
  76. package/dist/components/menu.js.map +1 -1
  77. package/dist/components/nano-checkbox-group.js +1 -1
  78. package/dist/components/nano-checkbox-group.js.map +1 -1
  79. package/dist/components/nano-checkbox.js +1 -1
  80. package/dist/components/nano-date-input.js +1 -1
  81. package/dist/components/nano-date-input.js.map +1 -1
  82. package/dist/components/nano-file-upload.js +1 -1
  83. package/dist/components/nano-file-upload.js.map +1 -1
  84. package/dist/components/nano-global-nav.js +51 -47
  85. package/dist/components/nano-global-nav.js.map +1 -1
  86. package/dist/components/popover.js +2 -7
  87. package/dist/components/popover.js.map +1 -1
  88. package/dist/components/resize-observe.js +6 -4
  89. package/dist/components/resize-observe.js.map +1 -1
  90. package/dist/components/select.js +16 -13
  91. package/dist/components/select.js.map +1 -1
  92. package/dist/custom-elements/index.js +134 -122
  93. package/dist/custom-elements/index.js.map +1 -1
  94. package/dist/esm/form-control-cf23c6a2.js +82 -0
  95. package/dist/esm/form-control-cf23c6a2.js.map +1 -0
  96. package/dist/esm/loader.js +1 -1
  97. package/dist/esm/nano-checkbox-group.entry.js +1 -1
  98. package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
  99. package/dist/esm/nano-checkbox.entry.js +1 -1
  100. package/dist/esm/nano-components.js +1 -1
  101. package/dist/esm/nano-datalist_3.entry.js +4 -3
  102. package/dist/esm/nano-datalist_3.entry.js.map +1 -1
  103. package/dist/esm/nano-date-input.entry.js +1 -1
  104. package/dist/esm/nano-date-input.entry.js.map +1 -1
  105. package/dist/esm/nano-dropdown.entry.js +1 -1
  106. package/dist/esm/nano-file-upload.entry.js +1 -1
  107. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  108. package/dist/esm/nano-global-nav.entry.js +50 -47
  109. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  110. package/dist/esm/nano-input.entry.js +14 -10
  111. package/dist/esm/nano-input.entry.js.map +1 -1
  112. package/dist/esm/nano-nav-item_2.entry.js +16 -14
  113. package/dist/esm/nano-nav-item_2.entry.js.map +1 -1
  114. package/dist/esm/nano-resize-observe_2.entry.js +6 -4
  115. package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
  116. package/dist/esm/nano-tooltip.entry.js +1 -1
  117. package/dist/esm/{popover-7639005b.js → popover-a03563f3.js} +3 -8
  118. package/dist/esm/{popover-7639005b.js.map → popover-a03563f3.js.map} +1 -1
  119. package/dist/esm-es5/form-control-cf23c6a2.js +5 -0
  120. package/dist/esm-es5/form-control-cf23c6a2.js.map +1 -0
  121. package/dist/esm-es5/loader.js +1 -1
  122. package/dist/esm-es5/loader.js.map +1 -1
  123. package/dist/esm-es5/nano-checkbox-group.entry.js +1 -1
  124. package/dist/esm-es5/nano-checkbox-group.entry.js.map +1 -1
  125. package/dist/esm-es5/nano-checkbox.entry.js +1 -1
  126. package/dist/esm-es5/nano-components.js +1 -1
  127. package/dist/esm-es5/nano-components.js.map +1 -1
  128. package/dist/esm-es5/nano-datalist_3.entry.js +1 -1
  129. package/dist/esm-es5/nano-datalist_3.entry.js.map +1 -1
  130. package/dist/esm-es5/nano-date-input.entry.js +1 -1
  131. package/dist/esm-es5/nano-date-input.entry.js.map +1 -1
  132. package/dist/esm-es5/nano-dropdown.entry.js +1 -1
  133. package/dist/esm-es5/nano-file-upload.entry.js +1 -1
  134. package/dist/esm-es5/nano-file-upload.entry.js.map +1 -1
  135. package/dist/esm-es5/nano-global-nav.entry.js +1 -1
  136. package/dist/esm-es5/nano-global-nav.entry.js.map +1 -1
  137. package/dist/esm-es5/nano-input.entry.js +2 -2
  138. package/dist/esm-es5/nano-input.entry.js.map +1 -1
  139. package/dist/esm-es5/nano-nav-item_2.entry.js +1 -1
  140. package/dist/esm-es5/nano-nav-item_2.entry.js.map +1 -1
  141. package/dist/esm-es5/nano-resize-observe_2.entry.js +2 -2
  142. package/dist/esm-es5/nano-resize-observe_2.entry.js.map +1 -1
  143. package/dist/esm-es5/nano-tooltip.entry.js +1 -1
  144. package/dist/esm-es5/{popover-7639005b.js → popover-a03563f3.js} +2 -2
  145. package/dist/esm-es5/popover-a03563f3.js.map +1 -0
  146. package/dist/nano-components/nano-components.esm.js +1 -1
  147. package/dist/nano-components/nano-components.esm.js.map +1 -1
  148. package/dist/nano-components/p-096682d9.system.js +1 -1
  149. package/dist/nano-components/p-096682d9.system.js.map +1 -1
  150. package/dist/nano-components/{p-820d9e23.system.entry.js → p-09e38c5f.system.entry.js} +2 -2
  151. package/dist/nano-components/p-09e38c5f.system.entry.js.map +1 -0
  152. package/dist/nano-components/p-10a6216d.system.entry.js +5 -0
  153. package/dist/nano-components/p-10a6216d.system.entry.js.map +1 -0
  154. package/dist/nano-components/p-1ca46443.entry.js +5 -0
  155. package/dist/nano-components/p-1ca46443.entry.js.map +1 -0
  156. package/dist/nano-components/{p-e7fdc62d.entry.js → p-1e8321ea.entry.js} +2 -2
  157. package/dist/nano-components/{p-e7fdc62d.entry.js.map → p-1e8321ea.entry.js.map} +0 -0
  158. package/dist/nano-components/{p-f9e30f31.system.entry.js → p-2057d480.system.entry.js} +2 -2
  159. package/dist/nano-components/p-2057d480.system.entry.js.map +1 -0
  160. package/dist/nano-components/{p-9acc4596.system.entry.js → p-2ae4918d.system.entry.js} +3 -3
  161. package/dist/nano-components/{p-9acc4596.system.entry.js.map → p-2ae4918d.system.entry.js.map} +0 -0
  162. package/dist/nano-components/{p-c9d09839.entry.js → p-313970ff.entry.js} +2 -2
  163. package/dist/nano-components/{p-c9d09839.entry.js.map → p-313970ff.entry.js.map} +0 -0
  164. package/dist/nano-components/p-39a5280e.system.entry.js +5 -0
  165. package/dist/nano-components/p-39a5280e.system.entry.js.map +1 -0
  166. package/dist/nano-components/{p-178c34e3.js → p-3de7735c.js} +2 -2
  167. package/dist/nano-components/p-3de7735c.js.map +1 -0
  168. package/dist/nano-components/{p-93448bcd.system.entry.js → p-4265cf95.system.entry.js} +2 -2
  169. package/dist/nano-components/{p-93448bcd.system.entry.js.map → p-4265cf95.system.entry.js.map} +0 -0
  170. package/dist/nano-components/p-44c08842.system.entry.js +5 -0
  171. package/dist/nano-components/p-44c08842.system.entry.js.map +1 -0
  172. package/dist/nano-components/{p-f3bf942d.entry.js → p-457d4893.entry.js} +2 -2
  173. package/dist/nano-components/p-457d4893.entry.js.map +1 -0
  174. package/dist/nano-components/{p-383fda90.system.entry.js → p-4870e76d.system.entry.js} +2 -2
  175. package/dist/nano-components/{p-383fda90.system.entry.js.map → p-4870e76d.system.entry.js.map} +0 -0
  176. package/dist/nano-components/{p-20db18f3.entry.js → p-5a315696.entry.js} +2 -2
  177. package/dist/nano-components/{p-20db18f3.entry.js.map → p-5a315696.entry.js.map} +0 -0
  178. package/dist/nano-components/p-6eb25600.system.js +5 -0
  179. package/dist/nano-components/p-6eb25600.system.js.map +1 -0
  180. package/dist/nano-components/p-6f94d755.entry.js +5 -0
  181. package/dist/nano-components/p-6f94d755.entry.js.map +1 -0
  182. package/dist/nano-components/p-802e1416.system.entry.js +5 -0
  183. package/dist/nano-components/{p-ef4e0912.system.entry.js.map → p-802e1416.system.entry.js.map} +1 -1
  184. package/dist/nano-components/p-84767e87.entry.js +5 -0
  185. package/dist/nano-components/p-84767e87.entry.js.map +1 -0
  186. package/dist/nano-components/p-933c35a6.system.entry.js +5 -0
  187. package/dist/nano-components/p-933c35a6.system.entry.js.map +1 -0
  188. package/dist/nano-components/p-971b40a4.system.entry.js +5 -0
  189. package/dist/nano-components/p-971b40a4.system.entry.js.map +1 -0
  190. package/dist/nano-components/p-9d35768b.entry.js +5 -0
  191. package/dist/nano-components/p-9d35768b.entry.js.map +1 -0
  192. package/dist/nano-components/p-9ea13fbe.entry.js +5 -0
  193. package/dist/nano-components/p-9ea13fbe.entry.js.map +1 -0
  194. package/dist/nano-components/p-a6c84740.js +5 -0
  195. package/dist/nano-components/p-a6c84740.js.map +1 -0
  196. package/dist/nano-components/{p-8de6e276.entry.js → p-b4f8e541.entry.js} +2 -2
  197. package/dist/nano-components/p-b4f8e541.entry.js.map +1 -0
  198. package/dist/nano-components/{p-9745d44e.system.js → p-e43ec257.system.js} +2 -2
  199. package/dist/nano-components/p-e43ec257.system.js.map +1 -0
  200. package/dist/nano-components/p-e7c69d4f.entry.js +5 -0
  201. package/dist/nano-components/{p-d6569144.entry.js.map → p-e7c69d4f.entry.js.map} +1 -1
  202. package/dist/types/components/form-control/form-control.d.ts +2 -0
  203. package/dist/types/components/global-nav/global-nav.d.ts +10 -3
  204. package/dist/types/components/input/input.d.ts +3 -0
  205. package/dist/types/components/resize-observe/resize-observe.d.ts +0 -1
  206. package/dist/types/components/select/select.d.ts +2 -1
  207. package/dist/types/components.d.ts +11 -3
  208. package/docs-json.json +51 -17
  209. package/docs-vscode.json +6 -2
  210. package/package.json +4 -3
  211. package/dist/cjs/form-control-3bc82e3e.js +0 -80
  212. package/dist/cjs/form-control-3bc82e3e.js.map +0 -1
  213. package/dist/esm/form-control-67eeb108.js +0 -77
  214. package/dist/esm/form-control-67eeb108.js.map +0 -1
  215. package/dist/esm-es5/form-control-67eeb108.js +0 -5
  216. package/dist/esm-es5/form-control-67eeb108.js.map +0 -1
  217. package/dist/esm-es5/popover-7639005b.js.map +0 -1
  218. package/dist/nano-components/p-0618fac6.system.entry.js +0 -5
  219. package/dist/nano-components/p-0618fac6.system.entry.js.map +0 -1
  220. package/dist/nano-components/p-173bae15.system.entry.js +0 -5
  221. package/dist/nano-components/p-173bae15.system.entry.js.map +0 -1
  222. package/dist/nano-components/p-178c34e3.js.map +0 -1
  223. package/dist/nano-components/p-2559e9c1.entry.js +0 -5
  224. package/dist/nano-components/p-2559e9c1.entry.js.map +0 -1
  225. package/dist/nano-components/p-2be7aab0.system.entry.js +0 -5
  226. package/dist/nano-components/p-2be7aab0.system.entry.js.map +0 -1
  227. package/dist/nano-components/p-2e38a927.entry.js +0 -5
  228. package/dist/nano-components/p-2e38a927.entry.js.map +0 -1
  229. package/dist/nano-components/p-3a13948a.system.entry.js +0 -5
  230. package/dist/nano-components/p-3a13948a.system.entry.js.map +0 -1
  231. package/dist/nano-components/p-4ee978ff.entry.js +0 -5
  232. package/dist/nano-components/p-4ee978ff.entry.js.map +0 -1
  233. package/dist/nano-components/p-5e7c7d3d.entry.js +0 -5
  234. package/dist/nano-components/p-5e7c7d3d.entry.js.map +0 -1
  235. package/dist/nano-components/p-672e5547.js +0 -5
  236. package/dist/nano-components/p-672e5547.js.map +0 -1
  237. package/dist/nano-components/p-820d9e23.system.entry.js.map +0 -1
  238. package/dist/nano-components/p-8de6e276.entry.js.map +0 -1
  239. package/dist/nano-components/p-9745d44e.system.js.map +0 -1
  240. package/dist/nano-components/p-99acaa4f.system.entry.js +0 -5
  241. package/dist/nano-components/p-99acaa4f.system.entry.js.map +0 -1
  242. package/dist/nano-components/p-d4dfa4c5.entry.js +0 -5
  243. package/dist/nano-components/p-d4dfa4c5.entry.js.map +0 -1
  244. package/dist/nano-components/p-d6569144.entry.js +0 -5
  245. package/dist/nano-components/p-ea5eb591.system.js +0 -5
  246. package/dist/nano-components/p-ea5eb591.system.js.map +0 -1
  247. package/dist/nano-components/p-ef4e0912.system.entry.js +0 -5
  248. package/dist/nano-components/p-f3bf942d.entry.js.map +0 -1
  249. package/dist/nano-components/p-f9e30f31.system.entry.js.map +0 -1
@@ -10,10 +10,47 @@
10
10
  [hidden] {
11
11
  display: none !important;
12
12
  }
13
+ :host([disabled]:not([disabled=false])) {
14
+ opacity: 0.5;
15
+ }
16
+
17
+ .form-ctrl {
18
+ min-width: 100%;
19
+ display: block;
20
+ }
21
+ .form-ctrl.has-helper-end {
22
+ display: -webkit-box;
23
+ display: -ms-flexbox;
24
+ display: flex;
25
+ gap: 1rem;
26
+ opacity: 0;
27
+ }
28
+ .form-ctrl.has-helper-end.is-ready {
29
+ opacity: 1;
30
+ }
31
+ .form-ctrl.has-helper-end .form-ctrl__wrapper {
32
+ -webkit-box-flex: 1;
33
+ -ms-flex: 1 1 100%;
34
+ flex: 1 1 100%;
35
+ }
36
+ .form-ctrl.has-helper-end .form-ctrl__helper-end {
37
+ display: none;
38
+ }
39
+ .form-ctrl.has-helper-end.has-enough-width .form-ctrl__helper-end {
40
+ display: block;
41
+ }
42
+ .form-ctrl.has-helper-end.has-enough-width .form-ctrl__helper {
43
+ display: none;
44
+ }
45
+
46
+ .form-ctrl__wrapper {
47
+ display: block;
48
+ }
49
+
13
50
  label,
14
- .more,
15
- .error,
16
- .helper {
51
+ .form-ctrl__more,
52
+ .form-ctrl__error,
53
+ .form-ctrl__helper {
17
54
  display: block;
18
55
  width: 100%;
19
56
  overflow: hidden;
@@ -21,9 +58,9 @@ label,
21
58
  text-overflow: ellipsis;
22
59
  }
23
60
  label.visually-hide,
24
- .more.visually-hide,
25
- .error.visually-hide,
26
- .helper.visually-hide {
61
+ .form-ctrl__more.visually-hide,
62
+ .form-ctrl__error.visually-hide,
63
+ .form-ctrl__helper.visually-hide {
27
64
  clip: rect(1px, 1px, 1px, 1px);
28
65
  -webkit-clip-path: inset(50%);
29
66
  clip-path: inset(50%);
@@ -35,14 +72,16 @@ label.visually-hide,
35
72
  position: absolute;
36
73
  }
37
74
 
38
- .placeholder-as-label {
39
- padding-left: var(--padding-start);
40
- padding-right: 0;
75
+ .form-ctrl__float-label {
41
76
  padding-top: 0;
42
77
  padding-bottom: 0;
78
+ -webkit-padding-end: 0;
79
+ padding-inline-end: 0;
80
+ -webkit-padding-start: var(--padding-start);
81
+ padding-inline-start: var(--padding-start);
43
82
  color: var(--label-color);
44
83
  position: absolute;
45
- font-size: 1.4em;
84
+ font-size: 1.15em;
46
85
  -webkit-transform: translateY(-50%);
47
86
  transform: translateY(-50%);
48
87
  -webkit-transform-origin: top left;
@@ -50,45 +89,37 @@ label.visually-hide,
50
89
  top: 50%;
51
90
  -webkit-transition: 0.125s ease-in;
52
91
  transition: 0.125s ease-in;
53
- opacity: 0.7;
92
+ opacity: 1;
54
93
  }
55
- @supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0) {
56
- .placeholder-as-label {
57
- padding-left: unset;
58
- padding-right: unset;
59
- /* autoprefixer: ignore next */
60
- -webkit-padding-start: var(--padding-start);
61
- /* autoprefixer: ignore next */
62
- padding-inline-start: var(--padding-start);
63
- /* autoprefixer: ignore next */
64
- -webkit-padding-end: 0;
65
- /* autoprefixer: ignore next */
66
- padding-inline-end: 0;
67
- }
94
+ :host(.has-focus) .form-ctrl__float-label, :host(.has-value) .form-ctrl__float-label {
95
+ -webkit-transform: translateY(-110%);
96
+ transform: translateY(-110%);
97
+ font-size: 0.8em;
98
+ opacity: 0.7;
68
99
  }
69
- :host(.is-invalid) .placeholder-as-label {
70
- color: var(--invalid-msg-color);
100
+ .form-ctrl__float-label .form-ctrl__label-charcount {
101
+ opacity: 0;
102
+ -webkit-transition: opacity 0.125s ease-in;
103
+ transition: opacity 0.125s ease-in;
71
104
  }
72
- :host(.has-value) .placeholder-as-label {
73
- -webkit-transform: translateY(-120%);
74
- transform: translateY(-120%);
75
- font-size: 0.9em;
105
+ :host(.has-focus) .form-ctrl__float-label .form-ctrl__label-charcount, :host(.has-value) .form-ctrl__float-label .form-ctrl__label-charcount {
106
+ opacity: 1;
76
107
  }
77
- .textarea .placeholder-as-label {
108
+ .form-ctrl__textarea .form-ctrl__float-label {
78
109
  top: 50%;
79
110
  }
80
- :host(.has-focus) .textarea .placeholder-as-label {
111
+ :host(.has-focus) .form-ctrl__textarea .form-ctrl__float-label {
81
112
  top: 0;
82
113
  -webkit-transform: translateY(38%);
83
114
  transform: translateY(38%);
84
115
  }
85
- :host(.has-value) .textarea .placeholder-as-label {
116
+ :host(.has-value) .form-ctrl__textarea .form-ctrl__float-label {
86
117
  top: 0;
87
118
  -webkit-transform: translateY(38%);
88
119
  transform: translateY(38%);
89
120
  }
90
121
 
91
- .label {
122
+ .form-ctrl__label {
92
123
  color: var(--label-color);
93
124
  font-size: var(--label-font-size);
94
125
  padding-bottom: var(--padding-bottom);
@@ -97,7 +128,7 @@ label.visually-hide,
97
128
  display: -ms-flexbox;
98
129
  display: flex;
99
130
  }
100
- .label .label-placeholder {
131
+ .form-ctrl__label .form-ctrl__label-wrap {
101
132
  -webkit-box-flex: 1;
102
133
  -ms-flex: 1;
103
134
  flex: 1;
@@ -105,11 +136,15 @@ label.visually-hide,
105
136
  white-space: nowrap;
106
137
  text-overflow: ellipsis;
107
138
  }
108
- .label .placeholder {
109
- margin-left: 0;
110
- margin-right: 5px;
139
+ .form-ctrl__label .form-ctrl__label-placeholder {
140
+ margin-left: unset;
141
+ margin-right: unset;
111
142
  margin-top: 0;
143
+ -webkit-margin-end: 5px;
144
+ margin-inline-end: 5px;
112
145
  margin-bottom: 0;
146
+ -webkit-margin-start: 0;
147
+ margin-inline-start: 0;
113
148
  opacity: 0;
114
149
  -webkit-appearance: none;
115
150
  -moz-appearance: none;
@@ -118,77 +153,58 @@ label.visually-hide,
118
153
  transition: 0.3s ease opacity;
119
154
  font-size: 0.9em;
120
155
  }
121
- @supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0) {
122
- .label .placeholder {
123
- margin-left: unset;
124
- margin-right: unset;
125
- /* autoprefixer: ignore next */
126
- -webkit-margin-start: 0;
127
- /* autoprefixer: ignore next */
128
- margin-inline-start: 0;
129
- /* autoprefixer: ignore next */
130
- -webkit-margin-end: 5px;
131
- /* autoprefixer: ignore next */
132
- margin-inline-end: 5px;
133
- }
134
- }
135
- .label .charcount {
136
- margin-left: auto;
137
- margin-right: 0;
156
+ .form-ctrl__label .form-ctrl__label-charcount {
157
+ margin-left: unset;
158
+ margin-right: unset;
138
159
  margin-top: 0;
160
+ -webkit-margin-end: 0;
161
+ margin-inline-end: 0;
139
162
  margin-bottom: 0;
163
+ -webkit-margin-start: auto;
164
+ margin-inline-start: auto;
140
165
  font-size: 0.9em;
141
166
  opacity: 0.5;
142
167
  }
143
- @supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0) {
144
- .label .charcount {
145
- margin-left: unset;
146
- margin-right: unset;
147
- /* autoprefixer: ignore next */
148
- -webkit-margin-start: auto;
149
- /* autoprefixer: ignore next */
150
- margin-inline-start: auto;
151
- /* autoprefixer: ignore next */
152
- -webkit-margin-end: 0;
153
- /* autoprefixer: ignore next */
154
- margin-inline-end: 0;
155
- }
156
- }
157
- :host(.has-value) .label .placeholder {
168
+ :host(.has-value) .form-ctrl__label .form-ctrl__label-placeholder {
158
169
  opacity: 0.5;
159
170
  }
160
- :host(.has-focus) .label {
171
+ :host(.has-focus) .form-ctrl__label {
161
172
  color: var(--label-color--focus);
162
173
  }
163
- :host(.is-invalid) .label {
174
+ :host(.is-invalid) .form-ctrl__label {
164
175
  color: var(--label-color--invalid);
165
176
  }
166
177
 
167
- .more {
178
+ .has-float-label .select__multi-input,
179
+ .has-float-label .select__native-input,
180
+ .has-float-label .input__native-ctrl {
181
+ opacity: 0;
182
+ -webkit-transition: opacity 0.125s ease-in;
183
+ transition: opacity 0.125s ease-in;
184
+ }
185
+ :host(.has-focus) .has-float-label .select__multi-input, :host(.has-value) .has-float-label .select__multi-input,
186
+ :host(.has-focus) .has-float-label .select__native-input,
187
+ :host(.has-value) .has-float-label .select__native-input,
188
+ :host(.has-focus) .has-float-label .input__native-ctrl,
189
+ :host(.has-value) .has-float-label .input__native-ctrl {
190
+ opacity: 1;
191
+ }
192
+
193
+ .form-ctrl__more {
168
194
  height: 1em;
169
- margin-left: 3px;
170
- margin-right: 0;
195
+ position: relative;
196
+ margin-left: unset;
197
+ margin-right: unset;
171
198
  margin-top: 4px;
199
+ -webkit-margin-end: 0;
200
+ margin-inline-end: 0;
201
+ -webkit-margin-start: 3px;
202
+ margin-inline-start: 3px;
172
203
  margin-bottom: var(--padding-bottom);
173
- position: relative;
174
- }
175
- @supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0) {
176
- .more {
177
- margin-left: unset;
178
- margin-right: unset;
179
- /* autoprefixer: ignore next */
180
- -webkit-margin-start: 3px;
181
- /* autoprefixer: ignore next */
182
- margin-inline-start: 3px;
183
- /* autoprefixer: ignore next */
184
- -webkit-margin-end: 0;
185
- /* autoprefixer: ignore next */
186
- margin-inline-end: 0;
187
- }
188
204
  }
189
205
 
190
- .helper,
191
- .error {
206
+ .form-ctrl__helper,
207
+ .form-ctrl__error {
192
208
  top: 0;
193
209
  left: 0;
194
210
  position: absolute;
@@ -198,24 +214,34 @@ label.visually-hide,
198
214
  transition: 0.3s ease-out opacity;
199
215
  }
200
216
 
201
- .helper {
217
+ .form-ctrl__helper {
202
218
  font-style: italic;
203
219
  color: var(--help-msg-color);
204
220
  }
205
- :host([show-inline-error]:not([show-inline-error=false]).is-invalid) .helper {
221
+ :host([show-inline-error]:not([show-inline-error=false]).is-invalid) .form-ctrl__helper {
206
222
  opacity: 0;
207
223
  }
208
224
 
209
- .error {
225
+ .form-ctrl__helper-end {
226
+ -webkit-box-flex: 1;
227
+ -ms-flex: 1 1 30%;
228
+ flex: 1 1 30%;
229
+ min-width: 150px;
230
+ font-size: var(--invalid-msg-font-size);
231
+ color: var(--help-msg-color);
232
+ font-style: italic;
233
+ }
234
+
235
+ .form-ctrl__error {
210
236
  opacity: 0;
211
237
  color: var(--invalid-msg-color);
212
238
  font-stretch: condensed;
213
239
  }
214
- :host(.is-invalid) .error {
240
+ :host(.is-invalid) .form-ctrl__error {
215
241
  opacity: 1;
216
242
  }
217
243
 
218
- .input {
244
+ .form-ctrl__input {
219
245
  font-family: inherit;
220
246
  font-size: inherit;
221
247
  font-style: inherit;
@@ -229,7 +255,10 @@ label.visually-hide,
229
255
  color: inherit;
230
256
  border-radius: var(--input-border-radius);
231
257
  width: 100%;
232
- padding: 0 !important;
258
+ padding-top: 0 !important;
259
+ padding-bottom: 0 !important;
260
+ padding-left: 0 !important;
261
+ padding-right: 0 !important;
233
262
  position: relative;
234
263
  -webkit-box-flex: 1;
235
264
  -ms-flex: 1 0 auto;
@@ -241,24 +270,36 @@ label.visually-hide,
241
270
  border: var(--input-border-style);
242
271
  border-width: var(--input-border-width);
243
272
  font-size: var(--input-font-size);
273
+ -webkit-padding-start: calc(var(--input-border-hint-width) - var(--input-border-width)) !important;
274
+ padding-inline-start: calc(var(--input-border-hint-width) - var(--input-border-width)) !important;
244
275
  }
245
- :host(.has-focus) .input {
276
+ :host(.has-focus) .form-ctrl__input {
246
277
  background: var(--input-bg-color--focus);
247
278
  border: var(--input-border-style--focus);
248
279
  border-width: var(--input-border-width);
280
+ -webkit-padding-start: calc(var(--input-border-hint-width) - var(--input-border-width)) !important;
281
+ padding-inline-start: calc(var(--input-border-hint-width) - var(--input-border-width)) !important;
249
282
  }
250
- :host(.is-invalid) .input {
283
+ :host(.is-invalid) .form-ctrl__input {
251
284
  background: var(--input-bg-color--invalid);
252
285
  border: var(--input-border-style--invalid);
253
286
  border-width: var(--input-border-width);
287
+ -webkit-border-start: var(--input-border-style--invalid-focus) var(--input-border-hint-width);
288
+ border-inline-start: var(--input-border-style--invalid-focus) var(--input-border-hint-width);
289
+ -webkit-padding-start: 0 !important;
290
+ padding-inline-start: 0 !important;
254
291
  }
255
- :host(.is-invalid.has-focus) .input {
292
+ :host(.is-invalid.has-focus) .form-ctrl__input {
256
293
  background: var(--input-bg-color--invalid);
257
294
  border: var(--input-border-style--invalid-focus);
258
295
  border-width: var(--input-border-width);
296
+ -webkit-border-start: var(--input-border-style--invalid-focus) var(--input-border-hint-width);
297
+ border-inline-start: var(--input-border-style--invalid-focus) var(--input-border-hint-width);
298
+ -webkit-padding-start: 0 !important;
299
+ padding-inline-start: 0 !important;
259
300
  }
260
301
 
261
- .native-input-wrap {
302
+ .form-ctrl__input-wrap {
262
303
  display: -webkit-box;
263
304
  display: -ms-flexbox;
264
305
  display: flex;
@@ -270,16 +311,19 @@ label.visually-hide,
270
311
  flex: 1;
271
312
  }
272
313
 
273
- .input-clear-icon,
274
- .end,
275
- .start,
276
- .value-end {
277
- margin-left: 0;
278
- margin-right: 0;
314
+ .form-ctrl__clear-btn,
315
+ .form-ctrl__slot-end,
316
+ .form-ctrl__slot-start,
317
+ .form-ctrl__slot-value-end {
318
+ --nano-icon-size: 1.4em;
279
319
  margin-top: 0;
280
320
  margin-bottom: 0;
281
- background-position: center;
282
- --nano-icon-size: 1.4em;
321
+ margin-left: unset;
322
+ margin-right: unset;
323
+ -webkit-margin-start: 0;
324
+ margin-inline-start: 0;
325
+ -webkit-margin-end: 0;
326
+ margin-inline-end: 0;
283
327
  font-size: 1em;
284
328
  border: 0;
285
329
  outline: none;
@@ -294,23 +338,25 @@ label.visually-hide,
294
338
  width: auto;
295
339
  }
296
340
 
297
- .has-float-label .start {
341
+ .has-float-label .form-ctrl__slot-start {
298
342
  display: none;
299
343
  }
300
344
 
301
- .start::slotted(*),
302
- .start ::slotted(*),
303
- .end::slotted(*),
304
- .end ::slotted(*),
305
- .value-end::slotted(*),
306
- .value-end ::slotted(*),
307
- .value-end * {
345
+ .form-ctrl__slot-start::slotted(*),
346
+ .form-ctrl__slot-start ::slotted(*),
347
+ .form-ctrl__slot-end::slotted(*),
348
+ .form-ctrl__slot-end ::slotted(*),
349
+ .form-ctrl__slot-value-end::slotted(*),
350
+ .form-ctrl__slot-value-end ::slotted(*),
351
+ .form-ctrl__slot-value-end * {
308
352
  --nano-icon-size: 1.4em;
353
+ padding-left: unset;
354
+ padding-right: unset;
355
+ -webkit-padding-start: var(--padding-start);
356
+ padding-inline-start: var(--padding-start);
357
+ -webkit-padding-end: var(--padding-end);
358
+ padding-inline-end: var(--padding-end);
309
359
  font-size: 1em;
310
- padding-left: var(--padding-start);
311
- padding-right: var(--padding-end);
312
- padding-top: 0;
313
- padding-bottom: 0;
314
360
  -webkit-box-align: center;
315
361
  -ms-flex-align: center;
316
362
  align-items: center;
@@ -318,44 +364,25 @@ label.visually-hide,
318
364
  display: -ms-flexbox;
319
365
  display: flex;
320
366
  height: 100%;
321
- }
322
- @supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0) {
323
- .start::slotted(*),
324
- .start ::slotted(*),
325
- .end::slotted(*),
326
- .end ::slotted(*),
327
- .value-end::slotted(*),
328
- .value-end ::slotted(*),
329
- .value-end * {
330
- padding-left: unset;
331
- padding-right: unset;
332
- /* autoprefixer: ignore next */
333
- -webkit-padding-start: var(--padding-start);
334
- /* autoprefixer: ignore next */
335
- padding-inline-start: var(--padding-start);
336
- /* autoprefixer: ignore next */
337
- -webkit-padding-end: var(--padding-end);
338
- /* autoprefixer: ignore next */
339
- padding-inline-end: var(--padding-end);
340
- }
341
- }
342
- :host([disabled]:not([disabled=false])) .start::slotted(*),
343
- :host([disabled]:not([disabled=false])) .start ::slotted(*),
344
- :host([disabled]:not([disabled=false])) .end::slotted(*),
345
- :host([disabled]:not([disabled=false])) .end ::slotted(*),
346
- :host([disabled]:not([disabled=false])) .value-end::slotted(*),
347
- :host([disabled]:not([disabled=false])) .value-end ::slotted(*),
348
- :host([disabled]:not([disabled=false])) .value-end * {
367
+ z-index: 1;
368
+ }
369
+ :host([disabled]:not([disabled=false])) .form-ctrl__slot-start::slotted(*),
370
+ :host([disabled]:not([disabled=false])) .form-ctrl__slot-start ::slotted(*),
371
+ :host([disabled]:not([disabled=false])) .form-ctrl__slot-end::slotted(*),
372
+ :host([disabled]:not([disabled=false])) .form-ctrl__slot-end ::slotted(*),
373
+ :host([disabled]:not([disabled=false])) .form-ctrl__slot-value-end::slotted(*),
374
+ :host([disabled]:not([disabled=false])) .form-ctrl__slot-value-end ::slotted(*),
375
+ :host([disabled]:not([disabled=false])) .form-ctrl__slot-value-end * {
349
376
  pointer-events: none;
350
377
  }
351
378
 
352
- .value-end::slotted(*),
353
- .value-end ::slotted(*),
354
- .value-end * {
379
+ .form-ctrl__slot-value-end::slotted(*),
380
+ .form-ctrl__slot-value-end ::slotted(*),
381
+ .form-ctrl__slot-value-end * {
355
382
  pointer-events: none;
356
383
  }
357
384
 
358
- .input-clear-icon {
385
+ .form-ctrl__clear-btn {
359
386
  color: var(--clear-btn-color);
360
387
  padding: 0;
361
388
  opacity: 0;
@@ -368,32 +395,22 @@ label.visually-hide,
368
395
  align-items: center;
369
396
  overflow: hidden;
370
397
  }
371
- :host(.is-invalid) .input-clear-icon {
398
+ :host(.is-invalid) .form-ctrl__clear-btn {
372
399
  color: var(--clear-btn-color--invalid);
373
400
  }
374
- :host(.has-value) .input-clear-icon {
375
- padding-left: var(--padding-start);
376
- padding-right: var(--padding-end);
401
+ :host(.has-value) .form-ctrl__clear-btn {
377
402
  padding-top: 0;
378
403
  padding-bottom: 0;
404
+ padding-left: unset;
405
+ padding-right: unset;
406
+ -webkit-padding-start: var(--padding-start);
407
+ padding-inline-start: var(--padding-start);
408
+ -webkit-padding-end: var(--padding-end);
409
+ padding-inline-end: var(--padding-end);
379
410
  opacity: 1;
380
411
  width: auto;
381
412
  }
382
- @supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0) {
383
- :host(.has-value) .input-clear-icon {
384
- padding-left: unset;
385
- padding-right: unset;
386
- /* autoprefixer: ignore next */
387
- -webkit-padding-start: var(--padding-start);
388
- /* autoprefixer: ignore next */
389
- padding-inline-start: var(--padding-start);
390
- /* autoprefixer: ignore next */
391
- -webkit-padding-end: var(--padding-end);
392
- /* autoprefixer: ignore next */
393
- padding-inline-end: var(--padding-end);
394
- }
395
- }
396
- .input-clear-icon:hover {
413
+ .form-ctrl__clear-btn:hover {
397
414
  color: var(--clear-btn-color--hover);
398
415
  }
399
416
 
@@ -415,17 +432,17 @@ label.visually-hide,
415
432
  * @prop --input-font-size: defaults to var(--nano-input-font-size, 0.87em);
416
433
  * @prop --input-text-color: defaults to var(--nano-input-text-color, #4a4a4a);
417
434
 
418
- * @prop --input-border-width: defaults to var(--input-border-width-sh, var(--nano-input-border-width, 2px));
435
+ * @prop --input-border-width: defaults to var(--input-border-width-sh, var(--nano-input-border-width, 1px));
419
436
  * @prop --input-border-radius: defaults to var(--nano-input-border-radius, 0);
420
437
 
421
438
  * @prop --input-border-style: defaults to var(--nano-input-border-style, solid) var(--nano-input-border-color, #e4e6e8);
422
439
  * @prop --input-border-style--focus: defaults to var(--nano-input-border-style, solid) var(--nano-input-border-color--focus, #90c6e7);
423
- * @prop --input-border-style--invalid: defaults to var(--nano-input-border-style, solid) var(--nano-input-border-color--invalid, #fac6c3);
424
- * @prop --input-border-style--invalid-focus: defaults to var(--nano-input-border-style, solid) var(--nano-input-border-color--invalid, #f36d64);
440
+ * @prop --input-border-style--invalid: defaults to var(--nano-input-border-style, solid) var(--nano-input-border-color--invalid, #e4e6e8);
441
+ * @prop --input-border-style--invalid-focus: defaults to var(--nano-input-border-style, solid) var(--nano-input-border-color--invalid, #ef4135);
425
442
 
426
443
  * @prop --input-bg-color: defaults to var(--nano-input-background-color, #fff);
427
444
  * @prop --input-bg-color--focus: defaults to var(--input-bg-color);
428
- * @prop --input-bg-color--invalid: defaults to var(--nano-input-background-color, #fee8de);
445
+ * @prop --input-bg-color--invalid: defaults to var(--nano-input-background-color, white);
429
446
 
430
447
  * @prop --invalid-msg-color: defaults to rgba(var(--color-invalid), 1);
431
448
  * @prop --invalid-msg-font-size: defaults to var(--nano-input-help-font-size, 0.75em);
@@ -441,7 +458,7 @@ label.visually-hide,
441
458
 
442
459
  * @prop --multi-input-value-bg: Tag / multivalue bg. defaults to var(--nano-input-tag-bg, 186, 220, 240);
443
460
  * @prop --multi-input-value-text-color: Tag / multivalue text. defaults to var(--nano-input-tag-color, #455556);
444
- * @prop --multi-input-value-border: Tag / multivalue border. defaults to var(--nano-input-tag-color, #90c6e7);
461
+ * @prop --multi-input-value-border: Tag / multivalue border. defaults to var(--nano-input-tag-color, #badcf0);
445
462
  */
446
463
  --placeholder-color: var(--nano-input-placeholder-color, initial);
447
464
  --placeholder-font-style: var(--nano-input-placeholder-style, initial);
@@ -459,16 +476,17 @@ label.visually-hide,
459
476
  );
460
477
  --input-font-size: var(--nano-input-font-size, 0.87em);
461
478
  --input-text-color: var(--nano-input-text-color, #4a4a4a);
462
- --input-border-width: var(--input-border-width-sh, var(--nano-input-border-width, 2px));
479
+ --input-border-width: var(--nano-input-border-width, 1px);
480
+ --input-border-hint-width: 3px;
463
481
  --input-border-color: var(--nano-input-border-color, #e4e6e8);
464
482
  --input-border-radius: var(--nano-input-border-radius, 0);
465
483
  --input-border-style: var(--nano-input-border-style, solid) var(--nano-input-border-color, #e4e6e8);
466
484
  --input-border-style--focus: var(--nano-input-border-style, solid) var(--nano-input-border-color--focus, #90c6e7);
467
- --input-border-style--invalid: var(--nano-input-border-style, solid) var(--nano-input-border-color--invalid, #fac6c3);
468
- --input-border-style--invalid-focus: var(--nano-input-border-style, solid) var(--nano-input-border-color--invalid, #f36d64);
485
+ --input-border-style--invalid: var(--nano-input-border-style, solid) var(--nano-input-border-color--invalid, #e4e6e8);
486
+ --input-border-style--invalid-focus: var(--nano-input-border-style, solid) var(--nano-input-border-color--invalid, #ef4135);
469
487
  --input-bg-color: var(--nano-input-background-color, #fff);
470
488
  --input-bg-color--focus: var(--input-bg-color);
471
- --input-bg-color--invalid: var(--nano-input-background-color, #fee8de);
489
+ --input-bg-color--invalid: var(--nano-input-background-color, white);
472
490
  --invalid-msg-color: rgba(var(--color-invalid), 1);
473
491
  --invalid-msg-font-size: var(--nano-input-help-font-size, 0.75em);
474
492
  --help-msg-color: var(--nano-input-help-color, #616d6e);
@@ -481,12 +499,12 @@ label.visually-hide,
481
499
  --label-font-size: var(--nano-input-label-color, 1em);
482
500
  --multi-input-value-bg: var(--nano-input-tag-bg, 186, 220, 240);
483
501
  --multi-input-value-text-color: var(--nano-input-tag-color, #455556);
484
- --multi-input-value-border: var(--nano-input-tag-color, #90c6e7);
502
+ --multi-input-value-border: var(--nano-input-tag-color, #badcf0);
485
503
  position: relative;
486
504
  width: 100%;
487
505
  padding: 0 !important;
488
506
  font-family: var(--nano-font-family, inherit);
489
- display: inline-block;
507
+ display: block;
490
508
  }
491
509
 
492
510
  :host(.nano-color) {
@@ -501,9 +519,6 @@ label.visually-hide,
501
519
  --padding-start: 0;
502
520
  }
503
521
 
504
- :host([disabled]:not([disabled=false])) {
505
- opacity: 0.7;
506
- }
507
522
  :host([disabled]:not([disabled=false])) * {
508
523
  pointer-events: none !important;
509
524
  }
@@ -512,7 +527,7 @@ select {
512
527
  display: none;
513
528
  }
514
529
 
515
- .native-input {
530
+ .select__native-input {
516
531
  border-radius: var(--input-border-radius);
517
532
  padding-left: var(--padding-start);
518
533
  padding-right: var(--padding-end);
@@ -544,17 +559,17 @@ select {
544
559
  -webkit-appearance: none;
545
560
  -moz-appearance: none;
546
561
  appearance: none;
547
- line-height: 2.5em;
548
- min-height: 2.5em;
549
562
  margin: 0;
550
563
  -webkit-box-sizing: border-box;
551
564
  box-sizing: border-box;
552
565
  resize: none;
553
566
  overflow: hidden;
554
567
  cursor: default;
568
+ line-height: 2.5em;
569
+ min-height: 2.5em;
555
570
  }
556
571
  @supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0) {
557
- .native-input {
572
+ .select__native-input {
558
573
  padding-left: unset;
559
574
  padding-right: unset;
560
575
  /* autoprefixer: ignore next */
@@ -567,124 +582,119 @@ select {
567
582
  padding-inline-end: var(--padding-end);
568
583
  }
569
584
  }
570
- .native-input::-moz-selection {
571
- background: transparent;
585
+ .has-float-label .select__native-input {
586
+ line-height: 2.1em;
587
+ min-height: 2.1em;
588
+ padding-top: 1.4em;
572
589
  }
573
- .native-input::selection {
590
+ .select__native-input::-moz-selection {
574
591
  background: transparent;
575
592
  }
576
- .native-input::-moz-selection {
593
+ .select__native-input::selection {
577
594
  background: transparent;
578
595
  }
579
- .native-input[disabled] {
580
- opacity: 0.4;
596
+ .select__native-input::-moz-selection {
597
+ background: transparent;
581
598
  }
582
- .native-input::-webkit-input-placeholder {
599
+ .select__native-input::-webkit-input-placeholder {
583
600
  color: var(--placeholder-color);
584
601
  font-family: inherit;
585
602
  font-style: var(--placeholder-font-style);
586
603
  font-weight: var(--placeholder-font-weight);
587
604
  opacity: var(--placeholder-opacity);
588
- line-height: 2.5em;
589
- min-height: 2.5em;
605
+ line-height: inherit;
606
+ min-height: inherit;
590
607
  }
591
- .native-input::-moz-placeholder {
608
+ .select__native-input::-moz-placeholder {
592
609
  color: var(--placeholder-color);
593
610
  font-family: inherit;
594
611
  font-style: var(--placeholder-font-style);
595
612
  font-weight: var(--placeholder-font-weight);
596
613
  opacity: var(--placeholder-opacity);
597
- line-height: 2.5em;
598
- min-height: 2.5em;
614
+ line-height: inherit;
615
+ min-height: inherit;
599
616
  }
600
- .native-input:-ms-input-placeholder {
617
+ .select__native-input:-ms-input-placeholder {
601
618
  color: var(--placeholder-color);
602
619
  font-family: inherit;
603
620
  font-style: var(--placeholder-font-style);
604
621
  font-weight: var(--placeholder-font-weight);
605
622
  opacity: var(--placeholder-opacity);
606
- line-height: 2.5em;
607
- min-height: 2.5em;
623
+ line-height: inherit;
624
+ min-height: inherit;
608
625
  }
609
- .native-input::-ms-input-placeholder {
626
+ .select__native-input::-ms-input-placeholder {
610
627
  color: var(--placeholder-color);
611
628
  font-family: inherit;
612
629
  font-style: var(--placeholder-font-style);
613
630
  font-weight: var(--placeholder-font-weight);
614
631
  opacity: var(--placeholder-opacity);
615
- line-height: 2.5em;
616
- min-height: 2.5em;
632
+ line-height: inherit;
633
+ min-height: inherit;
617
634
  }
618
- .native-input::placeholder {
635
+ .select__native-input::placeholder {
619
636
  color: var(--placeholder-color);
620
637
  font-family: inherit;
621
638
  font-style: var(--placeholder-font-style);
622
639
  font-weight: var(--placeholder-font-weight);
623
640
  opacity: var(--placeholder-opacity);
624
- line-height: 2.5em;
625
- min-height: 2.5em;
641
+ line-height: inherit;
642
+ min-height: inherit;
626
643
  }
627
- .native-input::-moz-placeholder {
644
+ .select__native-input::-moz-placeholder {
628
645
  line-height: 2.8em;
629
646
  text-overflow: ellipsis;
630
647
  }
631
- .native-input:-webkit-autofill {
648
+ .select__native-input:-webkit-autofill {
632
649
  background-color: transparent;
633
650
  }
634
- .native-input::-webkit-search-decoration, .native-input::-webkit-search-cancel-button, .native-input::-webkit-search-results-button, .native-input::-webkit-search-results-decoration {
651
+ .select__native-input::-webkit-search-decoration, .select__native-input::-webkit-search-cancel-button, .select__native-input::-webkit-search-results-button, .select__native-input::-webkit-search-results-decoration {
635
652
  -webkit-appearance: none;
636
653
  appearance: none;
637
654
  }
638
- .native-input:invalid {
655
+ .select__native-input:invalid {
639
656
  -webkit-box-shadow: none;
640
657
  box-shadow: none;
641
658
  }
642
- .native-input::-ms-clear, .native-input::-ms-reveal {
659
+ .select__native-input::-ms-clear, .select__native-input::-ms-reveal {
643
660
  display: none;
644
661
  }
645
- .native-input.resizable {
662
+ .select__native-input.resizable {
646
663
  resize: vertical;
647
664
  overflow: auto;
648
665
  }
649
- .textarea .native-input {
666
+ .form-ctrl__textarea .select__native-input {
650
667
  line-height: 1.5em;
651
668
  padding-top: var(--padding-top);
652
669
  padding-bottom: var(--padding-bottom);
653
670
  white-space: pre-wrap;
654
671
  }
655
- .textarea .native-input::-webkit-input-placeholder {
672
+ .form-ctrl__textarea .select__native-input::-webkit-input-placeholder {
656
673
  line-height: 1.5em;
657
674
  }
658
- .textarea .native-input::-moz-placeholder {
675
+ .form-ctrl__textarea .select__native-input::-moz-placeholder {
659
676
  line-height: 1.5em;
660
677
  }
661
- .textarea .native-input:-ms-input-placeholder {
678
+ .form-ctrl__textarea .select__native-input:-ms-input-placeholder {
662
679
  line-height: 1.5em;
663
680
  }
664
- .textarea .native-input::-ms-input-placeholder {
681
+ .form-ctrl__textarea .select__native-input::-ms-input-placeholder {
665
682
  line-height: 1.5em;
666
683
  }
667
- .textarea .native-input::placeholder {
684
+ .form-ctrl__textarea .select__native-input::placeholder {
668
685
  line-height: 1.5em;
669
686
  }
670
- .has-float-label .native-input {
671
- padding-top: 1.4em;
672
- }
673
- .has-float-label.textarea .native-input {
687
+ .has-float-label.textarea .select__native-input {
674
688
  padding-top: 1.8em;
675
689
  }
676
- .legacy .native-input {
677
- -webkit-box-sizing: content-box;
678
- box-sizing: content-box;
679
- }
680
- :host(.masked) .native-input {
690
+ :host(.masked) .select__native-input {
681
691
  opacity: 0;
682
692
  position: absolute;
683
693
  left: 0;
684
694
  top: 0;
685
695
  }
686
696
 
687
- .select-mask {
697
+ .select__mask {
688
698
  border-radius: var(--input-border-radius);
689
699
  padding-left: var(--padding-start);
690
700
  padding-right: var(--padding-end);
@@ -706,7 +716,7 @@ select {
706
716
  min-height: 2.5em;
707
717
  }
708
718
  @supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0) {
709
- .select-mask {
719
+ .select__mask {
710
720
  padding-left: unset;
711
721
  padding-right: unset;
712
722
  /* autoprefixer: ignore next */
@@ -720,7 +730,7 @@ select {
720
730
  }
721
731
  }
722
732
 
723
- .multi-wrap {
733
+ .select__multi-wrap {
724
734
  padding-left: 0;
725
735
  padding-right: 0;
726
736
  padding-top: 0;
@@ -735,10 +745,10 @@ select {
735
745
  flex-wrap: wrap;
736
746
  max-width: 100%;
737
747
  }
738
- :host(.has-float-label) .multi-wrap {
748
+ :host(.has-float-label) .select__multi-wrap {
739
749
  padding-top: 1.3em;
740
750
  }
741
- .multi-input {
751
+ .select__multi-input {
742
752
  font-family: inherit;
743
753
  font-size: inherit;
744
754
  font-style: inherit;
@@ -755,7 +765,7 @@ select {
755
765
  padding-top: calc(var(--padding-top) / 2);
756
766
  padding-bottom: 0;
757
767
  min-width: 50px;
758
- max-width: 100%;
768
+ width: 100%;
759
769
  max-height: 100%;
760
770
  -webkit-appearance: none;
761
771
  -moz-appearance: none;
@@ -768,12 +778,12 @@ select {
768
778
  -ms-flex: 0;
769
779
  flex: 0;
770
780
  position: relative;
771
- min-height: calc(2.78em - var(--padding-top));
781
+ min-height: calc(2.5em - var(--padding-top));
772
782
  -webkit-box-sizing: border-box;
773
783
  box-sizing: border-box;
774
784
  }
775
785
  @supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0) {
776
- .multi-input {
786
+ .select__multi-input {
777
787
  padding-left: unset;
778
788
  padding-right: unset;
779
789
  /* autoprefixer: ignore next */
@@ -786,26 +796,26 @@ select {
786
796
  padding-inline-end: var(--padding-end);
787
797
  }
788
798
  }
789
- :host(.legacy) .multi-input {
799
+ :host(.legacy) .select__multi-input {
790
800
  -webkit-box-sizing: content-box;
791
801
  box-sizing: content-box;
792
802
  }
793
- .multi-input:last-child {
803
+ .select__multi-input:last-child {
794
804
  -webkit-box-flex: 1;
795
805
  -ms-flex: 1;
796
806
  flex: 1;
797
807
  }
798
- .multi-value {
799
- margin-left: 4px;
800
- margin-right: 0;
801
- margin-top: 4px;
802
- margin-bottom: 0;
808
+ .select__multi-value {
809
+ margin-top: 5px;
810
+ -webkit-margin-start: var(--padding-start);
811
+ margin-inline-start: var(--padding-start);
812
+ -webkit-margin-end: -3px;
813
+ margin-inline-end: -3px;
803
814
  background: rgba(var(--multi-input-value-bg), 0.8);
804
815
  color: var(--multi-input-value-text-color);
805
816
  border: 1px solid;
806
817
  border-color: var(--multi-input-value-border);
807
- padding: 0.3em 0.5em;
808
- border-radius: 3px;
818
+ padding: 0.2em 0.5em;
809
819
  line-height: 1;
810
820
  max-width: 100%;
811
821
  display: -webkit-box;
@@ -815,31 +825,16 @@ select {
815
825
  -ms-flex-align: center;
816
826
  align-items: center;
817
827
  font-size: var(--input-font-size);
818
- font-weight: 600;
819
828
  letter-spacing: 1px;
820
829
  }
821
- @supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0) {
822
- .multi-value {
823
- margin-left: unset;
824
- margin-right: unset;
825
- /* autoprefixer: ignore next */
826
- -webkit-margin-start: 4px;
827
- /* autoprefixer: ignore next */
828
- margin-inline-start: 4px;
829
- /* autoprefixer: ignore next */
830
- -webkit-margin-end: 0;
831
- /* autoprefixer: ignore next */
832
- margin-inline-end: 0;
833
- }
834
- }
835
- .multi-value span {
830
+ .select__multi-value span {
836
831
  text-overflow: ellipsis;
837
832
  white-space: nowrap;
838
833
  max-width: 100%;
839
834
  overflow: hidden;
840
- line-height: 1.4;
835
+ line-height: 1.2;
841
836
  }
842
- .multi-value-remove {
837
+ .select__multi-value-remove {
843
838
  margin-left: 0;
844
839
  margin-right: 0;
845
840
  margin-top: 0;
@@ -867,7 +862,7 @@ select {
867
862
  font-size: 1em;
868
863
  }
869
864
  @supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0) {
870
- .multi-value-remove {
865
+ .select__multi-value-remove {
871
866
  padding-left: unset;
872
867
  padding-right: unset;
873
868
  /* autoprefixer: ignore next */
@@ -880,14 +875,22 @@ select {
880
875
  padding-inline-end: 0;
881
876
  }
882
877
  }
883
- .multi-value-remove nano-icon {
878
+ .select__multi-value-remove nano-icon {
884
879
  --color: var(--multi-input-value-text-color);
885
880
  }
886
881
 
887
- :host(.has-focus.has-multiple) .placeholder-as-label {
888
- -webkit-transform: translateY(-120%);
889
- transform: translateY(-120%);
890
- font-size: 0.9em;
882
+ .form-ctrl__float-label {
883
+ width: calc(100% - (1em + (var(--padding-start) * 2)));
884
+ }
885
+ :host(.has-focus.has-multiple) .form-ctrl__float-label {
886
+ -webkit-transform: translateY(-110%);
887
+ transform: translateY(-110%);
888
+ font-size: 0.8em;
889
+ }
890
+ :host(.has-value.has-multiple) .form-ctrl__float-label {
891
+ -webkit-transform: translateY(38%);
892
+ transform: translateY(38%);
893
+ top: 0;
891
894
  }
892
895
 
893
896
  :host(.has-focus) select,