@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;
92
+ opacity: 1;
93
+ }
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;
53
98
  opacity: 0.7;
54
99
  }
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
- }
68
- }
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
204
  }
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
- }
189
-
190
- .helper,
191
- .error {
205
+
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
  color: currentColor;
489
- display: inline-block;
507
+ display: block;
490
508
  }
491
509
 
492
510
  :host(.nano-color) {
@@ -494,16 +512,7 @@ label.visually-hide,
494
512
  --input-border-style--focus: var(--nano-input-border-style, solid) var(--nano-color-tint, var(--nano-color-primary-tint, #2689a5));
495
513
  }
496
514
 
497
- :host([disabled]:not([disabled=false])) {
498
- opacity: 0.7;
499
- }
500
-
501
- .native-input {
502
- border-radius: var(--input-border-radius);
503
- padding-left: var(--padding-start);
504
- padding-right: var(--padding-end);
505
- padding-top: 0;
506
- padding-bottom: 0;
515
+ .input__native-ctrl {
507
516
  font-family: inherit;
508
517
  font-size: inherit;
509
518
  font-style: inherit;
@@ -515,6 +524,15 @@ label.visually-hide,
515
524
  text-align: inherit;
516
525
  white-space: inherit;
517
526
  color: inherit;
527
+ padding-left: unset;
528
+ padding-right: unset;
529
+ padding-top: 0;
530
+ padding-bottom: 0;
531
+ -webkit-padding-start: var(--padding-start);
532
+ padding-inline-start: var(--padding-start);
533
+ -webkit-padding-end: var(--padding-end);
534
+ padding-inline-end: var(--padding-end);
535
+ border-radius: var(--input-border-radius);
518
536
  text-overflow: ellipsis;
519
537
  color: var(--input-text-color);
520
538
  display: inline-block;
@@ -530,138 +548,113 @@ label.visually-hide,
530
548
  -webkit-appearance: none;
531
549
  -moz-appearance: none;
532
550
  appearance: none;
533
- line-height: 2.5em;
534
- min-height: 2.5em;
535
551
  margin: 0;
536
552
  -webkit-box-sizing: border-box;
537
553
  box-sizing: border-box;
538
554
  resize: none;
539
555
  overflow: hidden;
556
+ line-height: 2.5em;
557
+ min-height: 2.5em;
558
+ }
559
+ .has-float-label .input__native-ctrl {
560
+ line-height: 2.1em;
561
+ min-height: 2.1em;
562
+ padding-top: 1.4em;
540
563
  }
541
- @supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0) {
542
- .native-input {
543
- padding-left: unset;
544
- padding-right: unset;
545
- /* autoprefixer: ignore next */
546
- -webkit-padding-start: var(--padding-start);
547
- /* autoprefixer: ignore next */
548
- padding-inline-start: var(--padding-start);
549
- /* autoprefixer: ignore next */
550
- -webkit-padding-end: var(--padding-end);
551
- /* autoprefixer: ignore next */
552
- padding-inline-end: var(--padding-end);
553
- }
554
- }
555
- .native-input[disabled] {
556
- opacity: 0.4;
557
- }
558
- .native-input::-webkit-input-placeholder {
564
+ .input__native-ctrl::-webkit-input-placeholder {
559
565
  color: var(--placeholder-color);
560
566
  font-family: inherit;
561
567
  font-style: var(--placeholder-font-style);
562
568
  font-weight: var(--placeholder-font-weight);
563
569
  opacity: var(--placeholder-opacity);
564
- line-height: 2.5em;
565
- min-height: 2.5em;
570
+ line-height: inherit;
571
+ min-height: inherit;
566
572
  }
567
- .native-input::-moz-placeholder {
573
+ .input__native-ctrl::-moz-placeholder {
568
574
  color: var(--placeholder-color);
569
575
  font-family: inherit;
570
576
  font-style: var(--placeholder-font-style);
571
577
  font-weight: var(--placeholder-font-weight);
572
578
  opacity: var(--placeholder-opacity);
573
- line-height: 2.5em;
574
- min-height: 2.5em;
579
+ line-height: inherit;
580
+ min-height: inherit;
575
581
  }
576
- .native-input:-ms-input-placeholder {
582
+ .input__native-ctrl:-ms-input-placeholder {
577
583
  color: var(--placeholder-color);
578
584
  font-family: inherit;
579
585
  font-style: var(--placeholder-font-style);
580
586
  font-weight: var(--placeholder-font-weight);
581
587
  opacity: var(--placeholder-opacity);
582
- line-height: 2.5em;
583
- min-height: 2.5em;
588
+ line-height: inherit;
589
+ min-height: inherit;
584
590
  }
585
- .native-input::-ms-input-placeholder {
591
+ .input__native-ctrl::-ms-input-placeholder {
586
592
  color: var(--placeholder-color);
587
593
  font-family: inherit;
588
594
  font-style: var(--placeholder-font-style);
589
595
  font-weight: var(--placeholder-font-weight);
590
596
  opacity: var(--placeholder-opacity);
591
- line-height: 2.5em;
592
- min-height: 2.5em;
597
+ line-height: inherit;
598
+ min-height: inherit;
593
599
  }
594
- .native-input::placeholder {
600
+ .input__native-ctrl::placeholder {
595
601
  color: var(--placeholder-color);
596
602
  font-family: inherit;
597
603
  font-style: var(--placeholder-font-style);
598
604
  font-weight: var(--placeholder-font-weight);
599
605
  opacity: var(--placeholder-opacity);
600
- line-height: 2.5em;
601
- min-height: 2.5em;
606
+ line-height: inherit;
607
+ min-height: inherit;
602
608
  }
603
- .native-input::-moz-placeholder {
609
+ .input__native-ctrl::-moz-placeholder {
604
610
  line-height: 2.8em;
605
611
  text-overflow: ellipsis;
606
612
  }
607
- .native-input:-webkit-autofill {
613
+ .input__native-ctrl:-webkit-autofill {
608
614
  background-color: transparent;
609
615
  }
610
- .native-input::-webkit-search-decoration, .native-input::-webkit-search-cancel-button, .native-input::-webkit-search-results-button, .native-input::-webkit-search-results-decoration {
616
+ .input__native-ctrl::-webkit-search-decoration, .input__native-ctrl::-webkit-search-cancel-button, .input__native-ctrl::-webkit-search-results-button, .input__native-ctrl::-webkit-search-results-decoration {
611
617
  -webkit-appearance: none;
612
618
  appearance: none;
613
619
  }
614
- .native-input:invalid {
620
+ .input__native-ctrl:invalid {
615
621
  -webkit-box-shadow: none;
616
622
  box-shadow: none;
617
623
  }
618
- .native-input::-ms-clear, .native-input::-ms-reveal {
624
+ .input__native-ctrl::-ms-clear, .input__native-ctrl::-ms-reveal {
619
625
  display: none;
620
626
  }
621
- .native-input.resizable {
627
+ .input__native-ctrl.input__resizable {
622
628
  resize: vertical;
623
629
  overflow: auto;
624
630
  }
625
- .textarea .native-input {
631
+ .form-ctrl__textarea .input__native-ctrl {
626
632
  line-height: 1.5em;
627
633
  padding-top: var(--padding-top);
628
- padding-bottom: var(--padding-bottom);
634
+ padding-bottom: 0.25em;
629
635
  white-space: pre-wrap;
630
636
  }
631
- .textarea .native-input::-webkit-input-placeholder {
637
+ .form-ctrl__textarea .input__native-ctrl::-webkit-input-placeholder {
632
638
  line-height: 1.5em;
633
639
  }
634
- .textarea .native-input::-moz-placeholder {
640
+ .form-ctrl__textarea .input__native-ctrl::-moz-placeholder {
635
641
  line-height: 1.5em;
636
642
  }
637
- .textarea .native-input:-ms-input-placeholder {
643
+ .form-ctrl__textarea .input__native-ctrl:-ms-input-placeholder {
638
644
  line-height: 1.5em;
639
645
  }
640
- .textarea .native-input::-ms-input-placeholder {
646
+ .form-ctrl__textarea .input__native-ctrl::-ms-input-placeholder {
641
647
  line-height: 1.5em;
642
648
  }
643
- .textarea .native-input::placeholder {
649
+ .form-ctrl__textarea .input__native-ctrl::placeholder {
644
650
  line-height: 1.5em;
645
651
  }
646
- .has-float-label .native-input {
647
- padding-top: 1.4em;
648
- }
649
- .has-float-label.textarea .native-input {
650
- padding-top: 1.8em;
651
- }
652
- .legacy .native-input {
653
- -webkit-box-sizing: content-box;
654
- box-sizing: content-box;
652
+ .has-float-label .form-ctrl__textarea .input__native-ctrl {
653
+ padding-top: 1.75em;
655
654
  }
656
- :host([readonly]:not([readonly=false])) .native-input {
655
+ :host([readonly]:not([readonly=false])) .input__native-ctrl {
657
656
  -webkit-user-select: none;
658
657
  -moz-user-select: none;
659
658
  -ms-user-select: none;
660
659
  user-select: none;
661
- }
662
-
663
- :host(.has-focus) .placeholder-as-label {
664
- -webkit-transform: translateY(-120%);
665
- transform: translateY(-120%);
666
- font-size: 0.9em;
667
660
  }