@transferwise/components 46.130.2 → 46.131.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 (610) hide show
  1. package/build/dateInput/DateInput.js +12 -5
  2. package/build/dateInput/DateInput.js.map +1 -1
  3. package/build/dateInput/DateInput.mjs +11 -4
  4. package/build/dateInput/DateInput.mjs.map +1 -1
  5. package/build/expressiveMoneyInput/currencySelector/CurrencySelector.js +16 -8
  6. package/build/expressiveMoneyInput/currencySelector/CurrencySelector.js.map +1 -1
  7. package/build/expressiveMoneyInput/currencySelector/CurrencySelector.mjs +14 -6
  8. package/build/expressiveMoneyInput/currencySelector/CurrencySelector.mjs.map +1 -1
  9. package/build/index.js +12 -7
  10. package/build/index.js.map +1 -1
  11. package/build/index.mjs +9 -3
  12. package/build/index.mjs.map +1 -1
  13. package/build/inputs/{_BottomSheet.js → SelectInput/BottomSheet/SelectInputBottomSheet.js} +7 -7
  14. package/build/inputs/SelectInput/BottomSheet/SelectInputBottomSheet.js.map +1 -0
  15. package/build/inputs/{_BottomSheet.mjs → SelectInput/BottomSheet/SelectInputBottomSheet.mjs} +7 -7
  16. package/build/inputs/SelectInput/BottomSheet/SelectInputBottomSheet.mjs.map +1 -0
  17. package/build/inputs/{_ButtonInput.js → SelectInput/ButtonInput/SelectInputButtonInput.js} +5 -5
  18. package/build/inputs/SelectInput/ButtonInput/SelectInputButtonInput.js.map +1 -0
  19. package/build/inputs/{_ButtonInput.mjs → SelectInput/ButtonInput/SelectInputButtonInput.mjs} +5 -5
  20. package/build/inputs/SelectInput/ButtonInput/SelectInputButtonInput.mjs.map +1 -0
  21. package/build/inputs/SelectInput/ClearButton/SelectInputClearButton.js +26 -0
  22. package/build/inputs/SelectInput/ClearButton/SelectInputClearButton.js.map +1 -0
  23. package/build/inputs/SelectInput/ClearButton/SelectInputClearButton.mjs +24 -0
  24. package/build/inputs/SelectInput/ClearButton/SelectInputClearButton.mjs.map +1 -0
  25. package/build/inputs/SelectInput/DefaultRenderTrigger/SelectInputDefaultRenderTrigger.js +59 -0
  26. package/build/inputs/SelectInput/DefaultRenderTrigger/SelectInputDefaultRenderTrigger.js.map +1 -0
  27. package/build/inputs/SelectInput/DefaultRenderTrigger/SelectInputDefaultRenderTrigger.mjs +56 -0
  28. package/build/inputs/SelectInput/DefaultRenderTrigger/SelectInputDefaultRenderTrigger.mjs.map +1 -0
  29. package/build/inputs/SelectInput/ItemView/GroupItemView/SelectInputGroupItemView.js +50 -0
  30. package/build/inputs/SelectInput/ItemView/GroupItemView/SelectInputGroupItemView.js.map +1 -0
  31. package/build/inputs/SelectInput/ItemView/GroupItemView/SelectInputGroupItemView.mjs +48 -0
  32. package/build/inputs/SelectInput/ItemView/GroupItemView/SelectInputGroupItemView.mjs.map +1 -0
  33. package/build/inputs/SelectInput/ItemView/SelectInputItemView.js +47 -0
  34. package/build/inputs/SelectInput/ItemView/SelectInputItemView.js.map +1 -0
  35. package/build/inputs/SelectInput/ItemView/SelectInputItemView.mjs +45 -0
  36. package/build/inputs/SelectInput/ItemView/SelectInputItemView.mjs.map +1 -0
  37. package/build/inputs/SelectInput/Option/SelectInputOption.js +42 -0
  38. package/build/inputs/SelectInput/Option/SelectInputOption.js.map +1 -0
  39. package/build/inputs/SelectInput/Option/SelectInputOption.mjs +40 -0
  40. package/build/inputs/SelectInput/Option/SelectInputOption.mjs.map +1 -0
  41. package/build/inputs/SelectInput/OptionContent/SelectInputOptionContent.js +40 -0
  42. package/build/inputs/SelectInput/OptionContent/SelectInputOptionContent.js.map +1 -0
  43. package/build/inputs/SelectInput/OptionContent/SelectInputOptionContent.mjs +38 -0
  44. package/build/inputs/SelectInput/OptionContent/SelectInputOptionContent.mjs.map +1 -0
  45. package/build/inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.js +48 -0
  46. package/build/inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.js.map +1 -0
  47. package/build/inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.mjs +46 -0
  48. package/build/inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.mjs.map +1 -0
  49. package/build/inputs/SelectInput/Options/SelectInputOptions.js +300 -0
  50. package/build/inputs/SelectInput/Options/SelectInputOptions.js.map +1 -0
  51. package/build/inputs/SelectInput/Options/SelectInputOptions.mjs +298 -0
  52. package/build/inputs/SelectInput/Options/SelectInputOptions.mjs.map +1 -0
  53. package/build/inputs/{_Popover.js → SelectInput/Popover/SelectInputPopover.js} +7 -7
  54. package/build/inputs/SelectInput/Popover/SelectInputPopover.js.map +1 -0
  55. package/build/inputs/{_Popover.mjs → SelectInput/Popover/SelectInputPopover.mjs} +7 -7
  56. package/build/inputs/SelectInput/Popover/SelectInputPopover.mjs.map +1 -0
  57. package/build/inputs/SelectInput/SelectInput.contexts.js +29 -0
  58. package/build/inputs/SelectInput/SelectInput.contexts.js.map +1 -0
  59. package/build/inputs/SelectInput/SelectInput.contexts.mjs +24 -0
  60. package/build/inputs/SelectInput/SelectInput.contexts.mjs.map +1 -0
  61. package/build/inputs/SelectInput/SelectInput.js +222 -0
  62. package/build/inputs/SelectInput/SelectInput.js.map +1 -0
  63. package/build/inputs/SelectInput/SelectInput.messages.js.map +1 -0
  64. package/build/inputs/SelectInput/SelectInput.messages.mjs.map +1 -0
  65. package/build/inputs/SelectInput/SelectInput.mjs +216 -0
  66. package/build/inputs/SelectInput/SelectInput.mjs.map +1 -0
  67. package/build/inputs/SelectInput/SelectInput.utils.js +164 -0
  68. package/build/inputs/SelectInput/SelectInput.utils.js.map +1 -0
  69. package/build/inputs/SelectInput/SelectInput.utils.mjs +154 -0
  70. package/build/inputs/SelectInput/SelectInput.utils.mjs.map +1 -0
  71. package/build/inputs/SelectInput/TriggerButton/SelectInputTriggerButton.js +42 -0
  72. package/build/inputs/SelectInput/TriggerButton/SelectInputTriggerButton.js.map +1 -0
  73. package/build/inputs/SelectInput/TriggerButton/SelectInputTriggerButton.mjs +36 -0
  74. package/build/inputs/SelectInput/TriggerButton/SelectInputTriggerButton.mjs.map +1 -0
  75. package/build/main.css +27094 -97
  76. package/build/moneyInput/MoneyInput.js +9 -2
  77. package/build/moneyInput/MoneyInput.js.map +1 -1
  78. package/build/moneyInput/MoneyInput.mjs +8 -1
  79. package/build/moneyInput/MoneyInput.mjs.map +1 -1
  80. package/build/phoneNumberInput/PhoneNumberInput.js +10 -3
  81. package/build/phoneNumberInput/PhoneNumberInput.js.map +1 -1
  82. package/build/phoneNumberInput/PhoneNumberInput.mjs +9 -2
  83. package/build/phoneNumberInput/PhoneNumberInput.mjs.map +1 -1
  84. package/build/styles/css/accordion.css +255 -0
  85. package/build/styles/css/alerts.css +751 -0
  86. package/build/styles/css/background.css +20 -0
  87. package/build/styles/css/badge.css +90 -0
  88. package/build/styles/css/border-radius.css +3 -0
  89. package/build/styles/css/breadcrumbs.css +20 -0
  90. package/build/styles/css/button-groups.css +495 -0
  91. package/build/styles/css/buttons.css +1390 -0
  92. package/build/styles/css/chevron.css +35 -0
  93. package/build/styles/css/circles.css +248 -0
  94. package/build/styles/css/close.css +47 -0
  95. package/build/styles/css/column-layout.css +164 -0
  96. package/build/styles/css/currency-flags.css +46 -0
  97. package/build/styles/css/decision.css +136 -0
  98. package/build/styles/css/dropdowns.css +472 -0
  99. package/build/styles/css/droppable.css +221 -0
  100. package/build/styles/css/flex.css +598 -0
  101. package/build/styles/css/footer.css +129 -0
  102. package/build/styles/css/grid.css +2369 -0
  103. package/build/styles/css/input-groups.css +2740 -0
  104. package/build/styles/css/link-callout.css +20 -0
  105. package/build/styles/css/list-group.css +350 -0
  106. package/build/styles/css/loaders.css +76 -0
  107. package/build/styles/css/media.css +74 -0
  108. package/build/styles/css/modals.css +185 -0
  109. package/build/styles/css/navbar.css +2406 -0
  110. package/build/styles/css/navs.css +296 -0
  111. package/build/styles/css/neptune-social-media.css +144 -0
  112. package/build/styles/css/neptune.css +25724 -0
  113. package/build/styles/css/panels.css +528 -0
  114. package/build/styles/css/popovers.css +661 -0
  115. package/build/styles/css/process.css +483 -0
  116. package/build/styles/css/progress-bars.css +64 -0
  117. package/build/styles/css/ring.css +55 -0
  118. package/build/styles/css/select.css +99 -0
  119. package/build/styles/css/sequences.css +855 -0
  120. package/build/styles/css/table.css +446 -0
  121. package/build/styles/css/tick.css +32 -0
  122. package/build/styles/css/tooltip.css +160 -0
  123. package/build/styles/css/utilities.css +145 -0
  124. package/build/styles/css/wells.css +74 -0
  125. package/build/styles/fonts/TW-Averta-Bold.woff +0 -0
  126. package/build/styles/fonts/TW-Averta-Bold.woff2 +0 -0
  127. package/build/styles/fonts/TW-Averta-Regular.woff +0 -0
  128. package/build/styles/fonts/TW-Averta-Regular.woff2 +0 -0
  129. package/build/styles/fonts/TW-Averta-Semibold.woff +0 -0
  130. package/build/styles/fonts/TW-Averta-Semibold.woff2 +0 -0
  131. package/build/styles/fonts/TransferWise-IconFont.svg +81 -0
  132. package/build/styles/fonts/TransferWise-IconFont.woff +0 -0
  133. package/build/styles/fonts/WiseSans-Heavy.woff2 +0 -0
  134. package/build/styles/fonts/inter-cyrillic-ext-variable-wghtOnly-normal.woff2 +0 -0
  135. package/build/styles/fonts/inter-cyrillic-variable-wghtOnly-normal.woff2 +0 -0
  136. package/build/styles/fonts/inter-greek-ext-variable-wghtOnly-normal.woff2 +0 -0
  137. package/build/styles/fonts/inter-greek-variable-wghtOnly-normal.woff2 +0 -0
  138. package/build/styles/fonts/inter-latin-ext-variable-wghtOnly-normal.woff2 +0 -0
  139. package/build/styles/fonts/inter-latin-variable-wghtOnly-normal.woff2 +0 -0
  140. package/build/styles/fonts/inter-vietnamese-variable-wghtOnly-normal.woff2 +0 -0
  141. package/build/styles/img/bg-dark.svg +31 -0
  142. package/build/styles/img/bg-light.svg +26 -0
  143. package/build/styles/inputs/SelectInput/BottomSheet/SelectInputBottomSheet.css +96 -0
  144. package/build/styles/inputs/SelectInput/ButtonInput/SelectInputButtonInput.css +16 -0
  145. package/build/styles/inputs/SelectInput/ClearButton/SelectInputClearButton.css +46 -0
  146. package/build/styles/inputs/SelectInput/ItemView/SelectInputItemView.css +16 -0
  147. package/build/styles/inputs/SelectInput/Option/SelectInputOption.css +33 -0
  148. package/build/styles/inputs/SelectInput/OptionContent/SelectInputOptionContent.css +37 -0
  149. package/build/styles/inputs/SelectInput/Options/SelectInputOptions.css +81 -0
  150. package/build/styles/inputs/SelectInput/Popover/SelectInputPopover.css +46 -0
  151. package/build/styles/less/legacy-variables.css +0 -0
  152. package/build/styles/less/legacy-variables.less +1299 -0
  153. package/build/styles/less/neptune-tokens.css +0 -0
  154. package/build/styles/less/neptune-tokens.less +275 -0
  155. package/build/styles/less/zindex.css +0 -0
  156. package/build/styles/less/zindex.less +17 -0
  157. package/build/styles/main.css +27094 -97
  158. package/build/styles/props/custom-media.css +11 -0
  159. package/build/styles/props/legacy-custom-props.css +69 -0
  160. package/build/styles/props/neptune-tokens.css +152 -0
  161. package/build/styles/styles/less/accordion.css +255 -0
  162. package/build/styles/styles/less/alerts.css +751 -0
  163. package/build/styles/styles/less/background.css +20 -0
  164. package/build/styles/styles/less/badge.css +90 -0
  165. package/build/styles/styles/less/border-radius.css +3 -0
  166. package/build/styles/styles/less/breadcrumbs.css +20 -0
  167. package/build/styles/styles/less/button-groups.css +495 -0
  168. package/build/styles/styles/less/buttons.css +1390 -0
  169. package/build/styles/styles/less/chevron.css +35 -0
  170. package/build/styles/styles/less/circles.css +248 -0
  171. package/build/styles/styles/less/close.css +47 -0
  172. package/build/styles/styles/less/column-layout.css +164 -0
  173. package/build/styles/styles/less/core/viewport-themes.css +59 -0
  174. package/build/styles/styles/less/currency-flags.css +46 -0
  175. package/build/styles/styles/less/decision.css +136 -0
  176. package/build/styles/styles/less/dropdowns.css +472 -0
  177. package/build/styles/styles/less/droppable.css +221 -0
  178. package/build/styles/styles/less/flex.css +598 -0
  179. package/build/styles/styles/less/footer.css +129 -0
  180. package/build/styles/styles/less/forms/bootstrap-forms.css +2277 -0
  181. package/build/styles/styles/less/forms/checkbox-radio.css +367 -0
  182. package/build/styles/styles/less/grid.css +2369 -0
  183. package/build/styles/styles/less/input-groups.css +2740 -0
  184. package/build/styles/styles/less/link-callout.css +20 -0
  185. package/build/styles/styles/less/list-group.css +350 -0
  186. package/build/styles/styles/less/loaders.css +76 -0
  187. package/build/styles/styles/less/media.css +74 -0
  188. package/build/styles/styles/less/modals.css +185 -0
  189. package/build/styles/styles/less/navbar.css +2406 -0
  190. package/build/styles/styles/less/navs.css +296 -0
  191. package/build/styles/styles/less/neptune-social-media.css +144 -0
  192. package/build/styles/styles/less/neptune.css +25724 -0
  193. package/build/styles/styles/less/panels.css +528 -0
  194. package/build/styles/styles/less/popovers.css +661 -0
  195. package/build/styles/styles/less/process.css +483 -0
  196. package/build/styles/styles/less/progress-bars.css +64 -0
  197. package/build/styles/styles/less/ring.css +55 -0
  198. package/build/styles/styles/less/select.css +99 -0
  199. package/build/styles/styles/less/sequences.css +855 -0
  200. package/build/styles/styles/less/table.css +446 -0
  201. package/build/styles/styles/less/tick.css +32 -0
  202. package/build/styles/styles/less/tooltip.css +160 -0
  203. package/build/styles/styles/less/utilities.css +145 -0
  204. package/build/styles/styles/less/wells.css +74 -0
  205. package/build/styles/styles/props/custom-media.css +11 -0
  206. package/build/styles/styles/props/legacy-custom-props.css +69 -0
  207. package/build/styles/styles/props/neptune-tokens.css +11 -0
  208. package/build/styles/styles/variables/legacy-variables.css +0 -0
  209. package/build/styles/styles/variables/neptune-tokens.css +0 -0
  210. package/build/styles/styles/variables/zindex.css +0 -0
  211. package/build/types/index.d.ts +1 -1
  212. package/build/types/index.d.ts.map +1 -1
  213. package/build/types/inputs/{_BottomSheet.d.ts → SelectInput/BottomSheet/SelectInputBottomSheet.d.ts} +3 -3
  214. package/build/types/inputs/SelectInput/BottomSheet/SelectInputBottomSheet.d.ts.map +1 -0
  215. package/build/types/inputs/SelectInput/BottomSheet/index.d.ts +3 -0
  216. package/build/types/inputs/SelectInput/BottomSheet/index.d.ts.map +1 -0
  217. package/build/types/inputs/SelectInput/ButtonInput/SelectInputButtonInput.d.ts +5 -0
  218. package/build/types/inputs/SelectInput/ButtonInput/SelectInputButtonInput.d.ts.map +1 -0
  219. package/build/types/inputs/SelectInput/ButtonInput/index.d.ts +3 -0
  220. package/build/types/inputs/SelectInput/ButtonInput/index.d.ts.map +1 -0
  221. package/build/types/inputs/SelectInput/ClearButton/SelectInputClearButton.d.ts +7 -0
  222. package/build/types/inputs/SelectInput/ClearButton/SelectInputClearButton.d.ts.map +1 -0
  223. package/build/types/inputs/SelectInput/ClearButton/index.d.ts +3 -0
  224. package/build/types/inputs/SelectInput/ClearButton/index.d.ts.map +1 -0
  225. package/build/types/inputs/SelectInput/DefaultRenderTrigger/SelectInputDefaultRenderTrigger.d.ts +16 -0
  226. package/build/types/inputs/SelectInput/DefaultRenderTrigger/SelectInputDefaultRenderTrigger.d.ts.map +1 -0
  227. package/build/types/inputs/SelectInput/DefaultRenderTrigger/index.d.ts +2 -0
  228. package/build/types/inputs/SelectInput/DefaultRenderTrigger/index.d.ts.map +1 -0
  229. package/build/types/inputs/SelectInput/ItemView/GroupItemView/SelectInputGroupItemView.d.ts +9 -0
  230. package/build/types/inputs/SelectInput/ItemView/GroupItemView/SelectInputGroupItemView.d.ts.map +1 -0
  231. package/build/types/inputs/SelectInput/ItemView/GroupItemView/index.d.ts +3 -0
  232. package/build/types/inputs/SelectInput/ItemView/GroupItemView/index.d.ts.map +1 -0
  233. package/build/types/inputs/SelectInput/ItemView/SelectInputItemView.d.ts +11 -0
  234. package/build/types/inputs/SelectInput/ItemView/SelectInputItemView.d.ts.map +1 -0
  235. package/build/types/inputs/SelectInput/ItemView/index.d.ts +4 -0
  236. package/build/types/inputs/SelectInput/ItemView/index.d.ts.map +1 -0
  237. package/build/types/inputs/SelectInput/Option/SelectInputOption.d.ts +11 -0
  238. package/build/types/inputs/SelectInput/Option/SelectInputOption.d.ts.map +1 -0
  239. package/build/types/inputs/SelectInput/Option/index.d.ts +3 -0
  240. package/build/types/inputs/SelectInput/Option/index.d.ts.map +1 -0
  241. package/build/types/inputs/SelectInput/OptionContent/SelectInputOptionContent.d.ts +13 -0
  242. package/build/types/inputs/SelectInput/OptionContent/SelectInputOptionContent.d.ts.map +1 -0
  243. package/build/types/inputs/SelectInput/OptionContent/index.d.ts +3 -0
  244. package/build/types/inputs/SelectInput/OptionContent/index.d.ts.map +1 -0
  245. package/build/types/inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.d.ts +9 -0
  246. package/build/types/inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.d.ts.map +1 -0
  247. package/build/types/inputs/SelectInput/Options/OptionsContainer/index.d.ts +3 -0
  248. package/build/types/inputs/SelectInput/Options/OptionsContainer/index.d.ts.map +1 -0
  249. package/build/types/inputs/SelectInput/Options/SelectInputOptions.d.ts +21 -0
  250. package/build/types/inputs/SelectInput/Options/SelectInputOptions.d.ts.map +1 -0
  251. package/build/types/inputs/SelectInput/Options/index.d.ts +4 -0
  252. package/build/types/inputs/SelectInput/Options/index.d.ts.map +1 -0
  253. package/build/types/inputs/{_Popover.d.ts → SelectInput/Popover/SelectInputPopover.d.ts} +3 -3
  254. package/build/types/inputs/SelectInput/Popover/SelectInputPopover.d.ts.map +1 -0
  255. package/build/types/inputs/SelectInput/Popover/index.d.ts +3 -0
  256. package/build/types/inputs/SelectInput/Popover/index.d.ts.map +1 -0
  257. package/build/types/inputs/SelectInput/SelectInput.contexts.d.ts +33 -0
  258. package/build/types/inputs/SelectInput/SelectInput.contexts.d.ts.map +1 -0
  259. package/build/types/inputs/SelectInput/SelectInput.d.ts +10 -0
  260. package/build/types/inputs/SelectInput/SelectInput.d.ts.map +1 -0
  261. package/build/types/inputs/SelectInput/SelectInput.messages.d.ts.map +1 -0
  262. package/build/types/inputs/{SelectInput.d.ts → SelectInput/SelectInput.types.d.ts} +12 -38
  263. package/build/types/inputs/SelectInput/SelectInput.types.d.ts.map +1 -0
  264. package/build/types/inputs/SelectInput/SelectInput.utils.d.ts +60 -0
  265. package/build/types/inputs/SelectInput/SelectInput.utils.d.ts.map +1 -0
  266. package/build/types/inputs/SelectInput/TriggerButton/SelectInputTriggerButton.d.ts +12 -0
  267. package/build/types/inputs/SelectInput/TriggerButton/SelectInputTriggerButton.d.ts.map +1 -0
  268. package/build/types/inputs/SelectInput/TriggerButton/index.d.ts +3 -0
  269. package/build/types/inputs/SelectInput/TriggerButton/index.d.ts.map +1 -0
  270. package/build/types/inputs/SelectInput/components.d.ts +10 -0
  271. package/build/types/inputs/SelectInput/components.d.ts.map +1 -0
  272. package/build/types/inputs/SelectInput/index.d.ts +10 -0
  273. package/build/types/inputs/SelectInput/index.d.ts.map +1 -0
  274. package/package.json +9 -5
  275. package/src/{DisabledComponents.story.tsx → DisabledComponents.test.story.tsx} +1 -1
  276. package/src/accordion/Accordion.less +3 -3
  277. package/src/actionButton/ActionButton.less +1 -1
  278. package/src/actionButton/ActionButton.story.tsx +11 -7
  279. package/src/actionButton/ActionButton.test.story.tsx +49 -0
  280. package/src/avatar/Avatar.less +3 -3
  281. package/src/avatarLayout/AvatarLayout.story.tsx +1 -105
  282. package/src/avatarLayout/AvatarLayout.test.story.tsx +117 -0
  283. package/src/avatarView/AvatarView.story.tsx +1 -104
  284. package/src/avatarView/AvatarView.test.story.tsx +114 -0
  285. package/src/badge/Badge.less +1 -1
  286. package/src/button/LegacyButton.less +1 -1
  287. package/src/button/LegacyButton.story.tsx +1 -26
  288. package/src/button/LegacyButton.test.story.tsx +37 -0
  289. package/src/button/_stories/Button.story.tsx +17 -41
  290. package/src/button/_stories/Button.test.story.tsx +30 -0
  291. package/src/card/Card.less +3 -3
  292. package/src/checkbox/Checkbox.story.tsx +1 -6
  293. package/src/checkbox/Checkbox.test.story.tsx +33 -0
  294. package/src/checkboxButton/CheckboxButton.less +2 -2
  295. package/src/chips/Chip.less +3 -3
  296. package/src/circularButton/CircularButton.story.tsx +0 -6
  297. package/src/circularButton/CircularButton.test.story.tsx +62 -1
  298. package/src/common/Option/Option.less +2 -2
  299. package/src/common/bottomSheet/BottomSheet.less +1 -1
  300. package/src/common/bottomSheet/BottomSheet.story.tsx +0 -55
  301. package/src/common/bottomSheet/BottomSheet.test.story.tsx +118 -2
  302. package/src/common/closeButton/CloseButton.less +1 -1
  303. package/src/common/panel/Panel.less +1 -1
  304. package/src/criticalBanner/CriticalCommsBanner.test.story.tsx +1 -1
  305. package/src/dateLookup/DateLookup.less +1 -1
  306. package/src/dateLookup/DateLookup.story.tsx +0 -18
  307. package/src/dateLookup/DateLookup.test.story.tsx +51 -1
  308. package/src/dateLookup/dateTrigger/DateTrigger.less +2 -2
  309. package/src/decision/Decision.less +1 -1
  310. package/src/definitionList/DefinitionList.less +1 -1
  311. package/src/dimmer/Dimmer.less +2 -2
  312. package/src/divider/Divider.story.tsx +0 -1
  313. package/src/expressiveMoneyInput/ExpressiveMoneyInput.autofocus.docs.mdx +1 -1
  314. package/src/expressiveMoneyInput/ExpressiveMoneyInput.story.tsx +0 -9
  315. package/src/expressiveMoneyInput/ExpressiveMoneyInput.test.story.tsx +23 -0
  316. package/src/field/Field.story.tsx +1 -34
  317. package/src/field/Field.test.story.tsx +56 -0
  318. package/src/flowNavigation/FlowNavigation.less +1 -1
  319. package/src/flowNavigation/animatedLabel/AnimatedLabel.less +2 -2
  320. package/src/header/Header.test.story.tsx +1 -1
  321. package/src/index.ts +0 -1
  322. package/src/info/Info.less +1 -1
  323. package/src/info/Info.story.tsx +1 -34
  324. package/src/info/Info.test.story.tsx +53 -0
  325. package/src/inputWithDisplayFormat/InputWithDisplayFormat.story.tsx +0 -12
  326. package/src/inputWithDisplayFormat/InputWithDisplayFormat.test.story.tsx +33 -0
  327. package/src/inputs/SelectInput/BottomSheet/SelectInputBottomSheet.css +96 -0
  328. package/src/inputs/{_BottomSheet.tsx → SelectInput/BottomSheet/SelectInputBottomSheet.tsx} +7 -7
  329. package/src/inputs/SelectInput/BottomSheet/index.ts +2 -0
  330. package/src/inputs/SelectInput/ButtonInput/SelectInputButtonInput.css +16 -0
  331. package/src/inputs/{_ButtonInput.tsx → SelectInput/ButtonInput/SelectInputButtonInput.tsx} +5 -5
  332. package/src/inputs/SelectInput/ButtonInput/index.ts +2 -0
  333. package/src/inputs/SelectInput/ClearButton/SelectInputClearButton.css +46 -0
  334. package/src/inputs/SelectInput/ClearButton/SelectInputClearButton.less +39 -0
  335. package/src/inputs/SelectInput/ClearButton/SelectInputClearButton.tsx +27 -0
  336. package/src/inputs/SelectInput/ClearButton/index.ts +2 -0
  337. package/src/inputs/SelectInput/DefaultRenderTrigger/SelectInputDefaultRenderTrigger.tsx +74 -0
  338. package/src/inputs/SelectInput/DefaultRenderTrigger/index.ts +5 -0
  339. package/src/inputs/SelectInput/ItemView/GroupItemView/SelectInputGroupItemView.tsx +61 -0
  340. package/src/inputs/SelectInput/ItemView/GroupItemView/index.ts +2 -0
  341. package/src/inputs/SelectInput/ItemView/SelectInputItemView.css +16 -0
  342. package/src/inputs/SelectInput/ItemView/SelectInputItemView.less +17 -0
  343. package/src/inputs/SelectInput/ItemView/SelectInputItemView.tsx +48 -0
  344. package/src/inputs/SelectInput/ItemView/index.ts +3 -0
  345. package/src/inputs/SelectInput/Option/SelectInputOption.css +33 -0
  346. package/src/inputs/SelectInput/Option/SelectInputOption.less +32 -0
  347. package/src/inputs/SelectInput/Option/SelectInputOption.tsx +57 -0
  348. package/src/inputs/SelectInput/Option/index.ts +2 -0
  349. package/src/inputs/SelectInput/OptionContent/SelectInputOptionContent.css +37 -0
  350. package/src/inputs/SelectInput/OptionContent/SelectInputOptionContent.less +38 -0
  351. package/src/inputs/SelectInput/OptionContent/SelectInputOptionContent.tsx +72 -0
  352. package/src/inputs/SelectInput/OptionContent/index.ts +2 -0
  353. package/src/inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.tsx +59 -0
  354. package/src/inputs/SelectInput/Options/OptionsContainer/index.ts +2 -0
  355. package/src/inputs/SelectInput/Options/SelectInputOptions.css +81 -0
  356. package/src/inputs/SelectInput/Options/SelectInputOptions.less +77 -0
  357. package/src/inputs/SelectInput/Options/SelectInputOptions.tsx +411 -0
  358. package/src/inputs/SelectInput/Options/index.ts +3 -0
  359. package/src/inputs/SelectInput/Popover/SelectInputPopover.css +46 -0
  360. package/src/inputs/{_Popover.tsx → SelectInput/Popover/SelectInputPopover.tsx} +7 -7
  361. package/src/inputs/SelectInput/Popover/index.ts +2 -0
  362. package/src/inputs/SelectInput/SelectInput.contexts.tsx +40 -0
  363. package/src/inputs/SelectInput/SelectInput.less +22 -0
  364. package/src/inputs/{SelectInput.test.tsx → SelectInput/SelectInput.test.tsx} +9 -11
  365. package/src/inputs/SelectInput/SelectInput.tsx +257 -0
  366. package/src/inputs/SelectInput/SelectInput.types.ts +113 -0
  367. package/src/inputs/SelectInput/SelectInput.utils.ts +205 -0
  368. package/src/inputs/SelectInput/TriggerButton/SelectInputTriggerButton.tsx +36 -0
  369. package/src/inputs/SelectInput/TriggerButton/index.ts +5 -0
  370. package/src/inputs/{SelectInput.docs.mdx → SelectInput/_stories/SelectInput.docs.mdx} +0 -1
  371. package/src/inputs/{SelectInput.story.tsx → SelectInput/_stories/SelectInput.story.tsx} +11 -8
  372. package/src/inputs/{SelectInput.test.story.tsx → SelectInput/_stories/SelectInput.test.story.tsx} +6 -10
  373. package/src/inputs/SelectInput/components.ts +10 -0
  374. package/src/inputs/SelectInput/index.ts +12 -0
  375. package/src/inputs/_common.less +1 -1
  376. package/src/legacylistItem/LegacyListItem.test.story.tsx +1 -1
  377. package/src/link/Link.less +2 -2
  378. package/src/listItem/ListItem.less +1 -1
  379. package/src/listItem/_stories/Breakpoints/ListItem.noMedia.test.story.tsx +1 -1
  380. package/src/listItem/_stories/Breakpoints/ListItem.sideMedia.test.story.tsx +1 -1
  381. package/src/listItem/_stories/Breakpoints/ListItem.stackedMedia.test.story.tsx +1 -1
  382. package/src/listItem/_stories/ListItem.focus.test.story.tsx +1 -1
  383. package/src/listItem/_stories/ListItem.layout.test.story.tsx +1 -1
  384. package/src/listItem/_stories/variants/ListItem.brightGreen.test.story.tsx +1 -1
  385. package/src/listItem/_stories/variants/ListItem.dark.test.story.tsx +1 -1
  386. package/src/listItem/_stories/variants/ListItem.forestGreen.test.story.tsx +1 -1
  387. package/src/listItem/_stories/variants/ListItem.medium.test.story.tsx +1 -1
  388. package/src/listItem/_stories/variants/ListItem.neutral.test.story.tsx +1 -1
  389. package/src/listItem/_stories/variants/ListItem.personal.test.story.tsx +1 -1
  390. package/src/listItem/_stories/variants/ListItem.rtl.test.story.tsx +1 -1
  391. package/src/listItem/_stories/variants/ListItem.small.test.story.tsx +1 -1
  392. package/src/logo/Logo.story.tsx +0 -6
  393. package/src/logo/Logo.test.story.tsx +20 -0
  394. package/src/main.css +27094 -97
  395. package/src/main.less +3 -1
  396. package/src/modal/Modal.story.tsx +0 -26
  397. package/src/modal/Modal.test.story.tsx +125 -0
  398. package/src/moneyInput/MoneyInput.less +2 -2
  399. package/src/moneyInput/MoneyInput.test.story.tsx +1 -1
  400. package/src/navigationOption/NavigationOption.less +3 -3
  401. package/src/navigationOptionsList/NavigationOptionsList.less +1 -1
  402. package/src/overlayHeader/OverlayHeader.less +1 -1
  403. package/src/phoneNumberInput/PhoneNumberInput.less +1 -1
  404. package/src/popover/Popover.less +1 -1
  405. package/src/prompt/ActionPrompt/ActionPrompt.story.tsx +0 -43
  406. package/src/prompt/ActionPrompt/ActionPrompt.test.story.tsx +45 -1
  407. package/src/radioGroup/RadioGroup.test.story.tsx +1 -1
  408. package/src/select/Select.less +5 -5
  409. package/src/slidingPanel/SlidingPanel.less +2 -2
  410. package/src/snackbar/Snackbar.less +3 -3
  411. package/src/stepper/Stepper.less +3 -3
  412. package/src/stepper/Stepper.test.story.tsx +1 -1
  413. package/src/styles/fonts/TW-Averta-Bold.woff +0 -0
  414. package/src/styles/fonts/TW-Averta-Bold.woff2 +0 -0
  415. package/src/styles/fonts/TW-Averta-Regular.woff +0 -0
  416. package/src/styles/fonts/TW-Averta-Regular.woff2 +0 -0
  417. package/src/styles/fonts/TW-Averta-Semibold.woff +0 -0
  418. package/src/styles/fonts/TW-Averta-Semibold.woff2 +0 -0
  419. package/src/styles/fonts/TransferWise-IconFont.svg +81 -0
  420. package/src/styles/fonts/TransferWise-IconFont.woff +0 -0
  421. package/src/styles/fonts/WiseSans-Heavy.woff2 +0 -0
  422. package/src/styles/fonts/inter-cyrillic-ext-variable-wghtOnly-normal.woff2 +0 -0
  423. package/src/styles/fonts/inter-cyrillic-variable-wghtOnly-normal.woff2 +0 -0
  424. package/src/styles/fonts/inter-greek-ext-variable-wghtOnly-normal.woff2 +0 -0
  425. package/src/styles/fonts/inter-greek-variable-wghtOnly-normal.woff2 +0 -0
  426. package/src/styles/fonts/inter-latin-ext-variable-wghtOnly-normal.woff2 +0 -0
  427. package/src/styles/fonts/inter-latin-variable-wghtOnly-normal.woff2 +0 -0
  428. package/src/styles/fonts/inter-vietnamese-variable-wghtOnly-normal.woff2 +0 -0
  429. package/src/styles/img/bg-dark.svg +31 -0
  430. package/src/styles/img/bg-light.svg +26 -0
  431. package/src/styles/less/accordion.css +255 -0
  432. package/src/styles/less/accordion.less +15 -0
  433. package/src/styles/less/addons/_background-utilities.less +82 -0
  434. package/src/styles/less/addons/_border.less +3 -0
  435. package/src/styles/less/addons/_display-utilities.less +159 -0
  436. package/src/styles/less/addons/_spacing-utilities.less +73 -0
  437. package/src/styles/less/addons/_utilities.less +147 -0
  438. package/src/styles/less/alerts.css +751 -0
  439. package/src/styles/less/alerts.less +252 -0
  440. package/src/styles/less/background.css +20 -0
  441. package/src/styles/less/background.less +24 -0
  442. package/src/styles/less/badge.css +90 -0
  443. package/src/styles/less/badge.less +85 -0
  444. package/src/styles/less/border-radius.css +3 -0
  445. package/src/styles/less/border-radius.less +3 -0
  446. package/src/styles/less/breadcrumbs.css +20 -0
  447. package/src/styles/less/breadcrumbs.less +27 -0
  448. package/src/styles/less/button-groups.css +495 -0
  449. package/src/styles/less/button-groups.less +424 -0
  450. package/src/styles/less/buttons.css +1390 -0
  451. package/src/styles/less/buttons.less +738 -0
  452. package/src/styles/less/chevron.css +35 -0
  453. package/src/styles/less/chevron.less +39 -0
  454. package/src/styles/less/circles.css +248 -0
  455. package/src/styles/less/circles.less +233 -0
  456. package/src/styles/less/close.css +47 -0
  457. package/src/styles/less/close.less +48 -0
  458. package/src/styles/less/column-layout.css +164 -0
  459. package/src/styles/less/column-layout.less +167 -0
  460. package/src/styles/less/components/_component-animations.less +43 -0
  461. package/src/styles/less/core/_fonts.less +97 -0
  462. package/src/styles/less/core/_scaffolding.less +380 -0
  463. package/src/styles/less/core/_typography-utilities.less +255 -0
  464. package/src/styles/less/core/_typography.less +575 -0
  465. package/src/styles/less/core/viewport-themes.css +59 -0
  466. package/src/styles/less/core/viewport-themes.less +65 -0
  467. package/src/styles/less/currency-flags.css +46 -0
  468. package/src/styles/less/currency-flags.less +42 -0
  469. package/src/styles/less/decision.css +136 -0
  470. package/src/styles/less/decision.less +98 -0
  471. package/src/styles/less/dropdowns.css +472 -0
  472. package/src/styles/less/dropdowns.less +365 -0
  473. package/src/styles/less/droppable.css +221 -0
  474. package/src/styles/less/droppable.less +213 -0
  475. package/src/styles/less/flex.css +598 -0
  476. package/src/styles/less/flex.less +113 -0
  477. package/src/styles/less/footer.css +129 -0
  478. package/src/styles/less/footer.less +113 -0
  479. package/src/styles/less/forms/bootstrap-forms.css +2277 -0
  480. package/src/styles/less/forms/bootstrap-forms.less +1218 -0
  481. package/src/styles/less/forms/checkbox-radio.css +367 -0
  482. package/src/styles/less/forms/checkbox-radio.less +330 -0
  483. package/src/styles/less/grid.css +2369 -0
  484. package/src/styles/less/grid.less +187 -0
  485. package/src/styles/less/input-groups.css +2740 -0
  486. package/src/styles/less/input-groups.less +298 -0
  487. package/src/styles/less/link-callout.css +20 -0
  488. package/src/styles/less/link-callout.less +17 -0
  489. package/src/styles/less/list-group.css +350 -0
  490. package/src/styles/less/list-group.less +260 -0
  491. package/src/styles/less/loaders.css +76 -0
  492. package/src/styles/less/loaders.less +91 -0
  493. package/src/styles/less/media.css +74 -0
  494. package/src/styles/less/media.less +68 -0
  495. package/src/styles/less/mixins/_alerts.less +39 -0
  496. package/src/styles/less/mixins/_arrows.less +52 -0
  497. package/src/styles/less/mixins/_border-radius.less +11 -0
  498. package/src/styles/less/mixins/_buttons.less +82 -0
  499. package/src/styles/less/mixins/_center-block.less +7 -0
  500. package/src/styles/less/mixins/_clearfix.less +23 -0
  501. package/src/styles/less/mixins/_flex.less +105 -0
  502. package/src/styles/less/mixins/_forms.less +130 -0
  503. package/src/styles/less/mixins/_grid-framework.less +104 -0
  504. package/src/styles/less/mixins/_grid.less +158 -0
  505. package/src/styles/less/mixins/_hide-text.less +20 -0
  506. package/src/styles/less/mixins/_links.less +7 -0
  507. package/src/styles/less/mixins/_list-group.less +23 -0
  508. package/src/styles/less/mixins/_logical-properties-IE-friendly.less +381 -0
  509. package/src/styles/less/mixins/_logical-properties-modern-browsers.less +226 -0
  510. package/src/styles/less/mixins/_logical-properties.less +5 -0
  511. package/src/styles/less/mixins/_nav-divider.less +10 -0
  512. package/src/styles/less/mixins/_nav-vertical-align.less +10 -0
  513. package/src/styles/less/mixins/_panels.less +23 -0
  514. package/src/styles/less/mixins/_physical-properties.less +110 -0
  515. package/src/styles/less/mixins/_reset-text.less +22 -0
  516. package/src/styles/less/mixins/_sequence.less +203 -0
  517. package/src/styles/less/mixins/_spacing.less +122 -0
  518. package/src/styles/less/mixins/_tab-focus.less +5 -0
  519. package/src/styles/less/mixins/_table-row.less +47 -0
  520. package/src/styles/less/mixins/_text-emphasis.less +39 -0
  521. package/src/styles/less/mixins/_text-overflow.less +8 -0
  522. package/src/styles/less/mixins/_theming.less +7 -0
  523. package/src/styles/less/modals.css +185 -0
  524. package/src/styles/less/modals.less +239 -0
  525. package/src/styles/less/navbar.css +2406 -0
  526. package/src/styles/less/navbar.less +1442 -0
  527. package/src/styles/less/navs.css +296 -0
  528. package/src/styles/less/navs.less +339 -0
  529. package/src/styles/less/neptune-social-media.css +144 -0
  530. package/src/styles/less/neptune-social-media.less +84 -0
  531. package/src/styles/less/neptune.bundle.less +63 -0
  532. package/src/styles/less/neptune.css +25724 -0
  533. package/src/styles/less/panels.css +528 -0
  534. package/src/styles/less/panels.less +410 -0
  535. package/src/styles/less/popovers.css +661 -0
  536. package/src/styles/less/popovers.less +379 -0
  537. package/src/styles/less/process.css +483 -0
  538. package/src/styles/less/process.less +426 -0
  539. package/src/styles/less/progress-bars.css +64 -0
  540. package/src/styles/less/progress-bars.less +55 -0
  541. package/src/styles/less/ring.css +55 -0
  542. package/src/styles/less/ring.less +51 -0
  543. package/src/styles/less/select.css +99 -0
  544. package/src/styles/less/select.less +88 -0
  545. package/src/styles/less/sequences.css +855 -0
  546. package/src/styles/less/sequences.less +511 -0
  547. package/src/styles/less/table.css +446 -0
  548. package/src/styles/less/table.less +385 -0
  549. package/src/styles/less/tick.css +32 -0
  550. package/src/styles/less/tick.less +37 -0
  551. package/src/styles/less/tooltip.css +160 -0
  552. package/src/styles/less/tooltip.less +130 -0
  553. package/src/styles/less/utilities.css +145 -0
  554. package/src/styles/less/utilities.less +153 -0
  555. package/src/styles/less/wells.css +74 -0
  556. package/src/styles/less/wells.less +37 -0
  557. package/src/styles/props/custom-media.css +11 -0
  558. package/src/styles/props/legacy-custom-props.css +69 -0
  559. package/src/styles/props/neptune-tokens.css +11 -0
  560. package/src/styles/variables/legacy-variables.css +0 -0
  561. package/src/styles/variables/legacy-variables.less +1299 -0
  562. package/src/styles/variables/neptune-tokens.css +0 -0
  563. package/src/styles/variables/neptune-tokens.less +12 -0
  564. package/src/styles/variables/zindex.css +0 -0
  565. package/src/styles/variables/zindex.less +17 -0
  566. package/src/summary/Summary.less +1 -1
  567. package/src/summary/Summary.test.story.tsx +1 -1
  568. package/src/switch/Switch.less +4 -4
  569. package/src/table/Table.less +1 -1
  570. package/src/tabs/Tabs.less +4 -4
  571. package/src/tile/Tile.less +1 -1
  572. package/src/tooltip/Tooltip.less +1 -1
  573. package/src/tooltip/Tooltip.story.tsx +0 -21
  574. package/src/tooltip/Tooltip.test.story.tsx +42 -0
  575. package/src/typeahead/Typeahead.less +2 -2
  576. package/src/typeahead/Typeahead.story.tsx +0 -52
  577. package/src/typeahead/Typeahead.test.story.tsx +73 -0
  578. package/src/typeahead/typeaheadOption/TypeaheadOption.less +1 -1
  579. package/src/upload/Upload.less +1 -1
  580. package/src/uploadInput/UploadInput.less +2 -2
  581. package/src/uploadInput/uploadItem/UploadItem.less +1 -1
  582. package/build/inputs/SelectInput.js +0 -890
  583. package/build/inputs/SelectInput.js.map +0 -1
  584. package/build/inputs/SelectInput.messages.js.map +0 -1
  585. package/build/inputs/SelectInput.messages.mjs.map +0 -1
  586. package/build/inputs/SelectInput.mjs +0 -881
  587. package/build/inputs/SelectInput.mjs.map +0 -1
  588. package/build/inputs/_BottomSheet.js.map +0 -1
  589. package/build/inputs/_BottomSheet.mjs.map +0 -1
  590. package/build/inputs/_ButtonInput.js.map +0 -1
  591. package/build/inputs/_ButtonInput.mjs.map +0 -1
  592. package/build/inputs/_Popover.js.map +0 -1
  593. package/build/inputs/_Popover.mjs.map +0 -1
  594. package/build/types/inputs/SelectInput.d.ts.map +0 -1
  595. package/build/types/inputs/SelectInput.messages.d.ts.map +0 -1
  596. package/build/types/inputs/_BottomSheet.d.ts.map +0 -1
  597. package/build/types/inputs/_ButtonInput.d.ts +0 -5
  598. package/build/types/inputs/_ButtonInput.d.ts.map +0 -1
  599. package/build/types/inputs/_Popover.d.ts.map +0 -1
  600. package/src/inputs/SelectInput.less +0 -219
  601. package/src/inputs/SelectInput.tsx +0 -1269
  602. package/build/inputs/{SelectInput.messages.js → SelectInput/SelectInput.messages.js} +0 -0
  603. package/build/inputs/{SelectInput.messages.mjs → SelectInput/SelectInput.messages.mjs} +0 -0
  604. package/build/styles/inputs/{SelectInput.css → SelectInput/SelectInput.css} +90 -90
  605. package/build/types/inputs/{SelectInput.messages.d.ts → SelectInput/SelectInput.messages.d.ts} +0 -0
  606. package/src/inputs/{_BottomSheet.less → SelectInput/BottomSheet/SelectInputBottomSheet.less} +0 -0
  607. package/src/inputs/{_ButtonInput.less → SelectInput/ButtonInput/SelectInputButtonInput.less} +0 -0
  608. package/src/inputs/{_Popover.less → SelectInput/Popover/SelectInputPopover.less} +0 -0
  609. package/src/inputs/{SelectInput.css → SelectInput/SelectInput.css} +90 -90
  610. /package/src/inputs/{SelectInput.messages.ts → SelectInput/SelectInput.messages.ts} +0 -0
@@ -0,0 +1,1218 @@
1
+ @import (reference) '../../variables/legacy-variables.less';
2
+ @import (reference) '../../variables/neptune-tokens.less';
3
+ @import (reference) '../mixins/_arrows.less';
4
+ @import (reference) '../mixins/_grid.less';
5
+ @import (reference) '../mixins/_forms.less';
6
+ @import (reference) '../mixins/_tab-focus.less';
7
+ @import (reference) '../mixins/_logical-properties.less';
8
+ @import (reference) '../core/_typography.less';
9
+
10
+ //
11
+ // Forms
12
+ // --------------------------------------------------
13
+
14
+ // Normalize non-controls
15
+ //
16
+ // Restyle and baseline non-control form elements.
17
+ form {
18
+ margin-bottom: 0;
19
+ }
20
+
21
+ fieldset {
22
+ padding: 0;
23
+ margin: 0;
24
+ border: 0;
25
+ // Chrome and Firefox set a `min-width: min-content;` on fieldsets,
26
+ // so we reset that to ensure it behaves more like a standard block element.
27
+ // See https://github.com/twbs/bootstrap/issues/12359.
28
+ min-width: 0;
29
+ }
30
+
31
+ legend {
32
+ display: block;
33
+ width: 100%;
34
+ }
35
+
36
+ label {
37
+ display: inline-block;
38
+ max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)
39
+ margin-bottom: var(--size-4);
40
+ }
41
+
42
+ label,
43
+ .secondary {
44
+ color: var(--color-content-secondary);
45
+ transition: color ease-in-out 0.15s;
46
+ font-size: var(--font-size-14);
47
+ line-height: 20px;
48
+ }
49
+
50
+ // Normalize form controls
51
+ //
52
+ // While most of our form styles require extra classes, some basic normalization
53
+ // is required to ensure optimum display with or without those classes to better
54
+ // address browser inconsistencies.
55
+
56
+ // Override content-box in Normalize (* isn't specific enough)
57
+ input[type='search'] {
58
+ box-sizing: border-box;
59
+ }
60
+
61
+ input[type='number'] {
62
+ appearance: textfield;
63
+ }
64
+
65
+ input[type='number']::-webkit-outer-spin-button,
66
+ input[type='number']::-webkit-inner-spin-button {
67
+ appearance: none;
68
+ margin: 0;
69
+ }
70
+
71
+ // Position radios and checkboxes better
72
+ input[type='radio'],
73
+ input[type='checkbox'] {
74
+ margin: 4px 0 0;
75
+ margin-top: 1px;
76
+ line-height: normal;
77
+ }
78
+
79
+ input[type='file'] {
80
+ display: block;
81
+ }
82
+
83
+ // Make range inputs behave like textual form controls
84
+ input[type='range'] {
85
+ display: block;
86
+ width: 100%;
87
+ }
88
+
89
+ // Make multiple select elements height not fixed
90
+ select[multiple],
91
+ select[size] {
92
+ height: auto;
93
+ }
94
+
95
+ // Focus for file, radio, and checkbox
96
+ input[type='file']:focus,
97
+ input[type='radio']:focus,
98
+ input[type='checkbox']:focus {
99
+ .tab-focus();
100
+ }
101
+
102
+ // Adjust output element
103
+ output {
104
+ display: block;
105
+ padding-top: (@padding-base-vertical + 1);
106
+ font-size: var(--font-size-16);
107
+ line-height: var(--line-height-control);
108
+ color: var(--color-content-primary);
109
+ }
110
+
111
+ // Common form controls
112
+ //
113
+ // Shared size and type resets for form controls. Apply `.form-control` to any
114
+ // of the following form controls:
115
+ //
116
+ // select
117
+ // textarea
118
+ // input[type="text"]
119
+ // input[type="password"]
120
+ // input[type="datetime"]
121
+ // input[type="datetime-local"]
122
+ // input[type="date"]
123
+ // input[type="month"]
124
+ // input[type="time"]
125
+ // input[type="week"]
126
+ // input[type="number"]
127
+ // input[type="email"]
128
+ // input[type="url"]
129
+ // input[type="search"]
130
+ // input[type="tel"]
131
+ // input[type="color"]
132
+
133
+ .form-control {
134
+ display: block;
135
+ width: 100%;
136
+ color: var(--color-content-primary);
137
+ background-color: var(--color-background-screen);
138
+ background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
139
+ border: 1px solid var(--color-interactive-secondary);
140
+ transition: border-color ease-in-out 0.15s;
141
+ font-size: var(--font-size-16);
142
+
143
+ .input-size(
144
+ var(--input-height-base),
145
+ var(--input-padding),
146
+ @input-border-radius
147
+ );
148
+ .np-text-body-large;
149
+
150
+ // Remove iOS drop shadow
151
+ background-clip: padding-box;
152
+
153
+ // Customize the `:focus` state to imitate native WebKit styles.
154
+ .form-control-focus(var(--color-interactive-accent-active));
155
+
156
+ &::placeholder {
157
+ color: var(--color-content-tertiary);
158
+ }
159
+
160
+ // Reset height for `textarea`s
161
+ textarea& {
162
+ height: 144px;
163
+ }
164
+
165
+ + .text-muted,
166
+ + .text-primary,
167
+ + .text-success,
168
+ + .text-positive,
169
+ + .text-info,
170
+ + .text-warning,
171
+ + .text-negative,
172
+ + .text-danger {
173
+ margin-top: @padding-base-vertical;
174
+ }
175
+
176
+ &:focus {
177
+ border-color: var(--color-interactive-accent-active);
178
+ }
179
+
180
+ .np-theme-personal & {
181
+ .form-control-focus(var(--color-interactive-primary));
182
+
183
+ &:hover {
184
+ border-color: var(--color-interactive-secondary-hover);
185
+ }
186
+
187
+ &:focus {
188
+ border-color: var(--color-interactive-primary);
189
+ }
190
+ }
191
+ }
192
+
193
+ // Search inputs in iOS
194
+ //
195
+ // This overrides the extra rounded corners on search inputs in iOS so that our
196
+ // `.form-control` class can properly style them. Note that this cannot simply
197
+ // be added to `.form-control` as it's not specific enough. For details, see
198
+ // https://github.com/twbs/bootstrap/issues/11586.
199
+
200
+ input[type='search'] {
201
+ appearance: none;
202
+ }
203
+
204
+ // Special styles for iOS temporal inputs
205
+ //
206
+ // In Mobile Safari, setting `display: block` on temporal inputs causes the
207
+ // text within the input to become vertically misaligned. As a workaround, we
208
+ // set a pixel line-height that matches the given height of the input, but only
209
+ // for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848
210
+
211
+ @media screen and (min-device-pixel-ratio: 0) {
212
+ input[type='date'],
213
+ input[type='time'],
214
+ input[type='datetime-local'],
215
+ input[type='month'] {
216
+ line-height: var(--input-height-base);
217
+
218
+ &.input-sm,
219
+ .input-group-sm & {
220
+ line-height: var(--input-height-small);
221
+ }
222
+
223
+ &.input-lg,
224
+ .input-group-lg & {
225
+ line-height: calc(var(--input-height-large) - var(--line-height-body));
226
+ }
227
+ }
228
+ }
229
+
230
+ // Form groups
231
+ //
232
+ // Designed to help with the organization and spacing of vertical forms. For
233
+ // horizontal forms, use the predefined grid classes.
234
+
235
+ .form-group {
236
+ margin-bottom: @form-group-margin-bottom;
237
+
238
+ label {
239
+ margin-bottom: 2px;
240
+ }
241
+
242
+ &:focus-within {
243
+ // DEPRECATED: use `Field` component (or in some edge cases `Label` component) instead
244
+ .control-label,
245
+ > label {
246
+ color: var(--color-content-primary);
247
+ }
248
+ }
249
+ }
250
+
251
+ .row-equal-height > [class*='col-'] > .form-group {
252
+ width: 100%;
253
+ }
254
+
255
+ // Checkboxes and radios
256
+ //
257
+ // Indent the labels to position radios/checkboxes as hanging controls.
258
+
259
+ .radio,
260
+ .checkbox {
261
+ position: relative;
262
+ display: block;
263
+ margin-top: 0;
264
+ // margin-bottom: (@padding-base-vertical * 1.5);
265
+
266
+ label {
267
+ min-height: var(--input-height-base);
268
+ margin-bottom: 0;
269
+ cursor: pointer;
270
+ }
271
+ }
272
+
273
+ .radio + .radio,
274
+ .checkbox + .checkbox {
275
+ margin-top: (@padding-base-vertical * 1.5);
276
+ }
277
+
278
+ .radio input[type='radio'],
279
+ .radio-inline input[type='radio'],
280
+ .checkbox input[type='checkbox'],
281
+ .checkbox-inline input[type='checkbox'] {
282
+ position: absolute;
283
+ .margin(left, -20px);
284
+
285
+ margin-top: 4px \9;
286
+ }
287
+
288
+ // Radios and checkboxes on same line
289
+ .radio-inline,
290
+ .checkbox-inline {
291
+ position: relative;
292
+ display: inline-block;
293
+ .padding(left, 20px);
294
+
295
+ margin-bottom: 0;
296
+ vertical-align: middle;
297
+ font-weight: normal;
298
+ cursor: pointer;
299
+
300
+ &.disabled,
301
+ fieldset[disabled] & {
302
+ cursor: @cursor-disabled;
303
+ }
304
+ }
305
+
306
+ .radio-inline + .radio-inline,
307
+ .checkbox-inline + .checkbox-inline {
308
+ margin-top: 0;
309
+ .margin(left, 10px); // space out consecutive inline controls
310
+ }
311
+
312
+ // Apply same disabled cursor tweak as for inputs
313
+ // Some special care is needed because <label>s don't inherit their parent's `cursor`.
314
+ //
315
+ // Note: Neither radios nor checkboxes can be readonly.
316
+ input[type='radio'],
317
+ input[type='checkbox'] {
318
+ &[disabled],
319
+ &.disabled,
320
+ fieldset[disabled] & {
321
+ cursor: @cursor-disabled;
322
+ }
323
+ }
324
+
325
+ // hide native password reveal button for MS Edge
326
+ // docs: https://learn.microsoft.com/en-us/microsoft-edge/web-platform/password-reveal
327
+ input[type="password"] {
328
+ &::-ms-reveal {
329
+ display: none;
330
+ }
331
+ }
332
+
333
+ // These classes are used on elements with <label> descendants
334
+ .radio,
335
+ .checkbox {
336
+ &-disabled,
337
+ fieldset[disabled] & {
338
+ label {
339
+ cursor: @cursor-disabled;
340
+ }
341
+ }
342
+ }
343
+
344
+ // Static form control text
345
+ //
346
+ // Apply class to a `p` element to make any string of text align with labels in
347
+ // a horizontal form layout.
348
+
349
+ .form-control-static {
350
+ // Remove default margin from `p`
351
+ margin-bottom: 0;
352
+ min-height: calc(var(--line-height-control) * 2);
353
+ color: var(--color-content-secondary);
354
+ background-color: var(--color-background-neutral);
355
+ border: 1px solid var(--color-interactive-secondary);
356
+ border-radius: @input-border-radius;
357
+ padding: var(--input-padding);
358
+
359
+ &.input-lg,
360
+ &.input-sm {
361
+ .padding(left, 0);
362
+
363
+ .padding(right, 0);
364
+ }
365
+ }
366
+
367
+ // Form control sizing
368
+ //
369
+ // Build on `.form-control` with modifier classes to decrease or increase the
370
+ // height and font-size of form controls.
371
+ //
372
+ // The `.form-group-* form-control` variations are sadly duplicated to avoid the
373
+ // issue documented in https://github.com/twbs/bootstrap/issues/15074.
374
+
375
+ .input-sm {
376
+ .input-size(
377
+ @input-height-small;
378
+ var(--input-padding-small);
379
+ @input-border-radius-small
380
+ );
381
+ font-size: 14px;
382
+ line-height: 24px;
383
+ .np-text-body-default();
384
+ }
385
+
386
+ .form-group-sm,
387
+ .navbar {
388
+ .form-control {
389
+ height: @input-height-small;
390
+ padding: var(--input-padding-small);
391
+ font-size: var(--font-size-14);
392
+ line-height: @input-line-height-small;
393
+ border-radius: @input-border-radius-small;
394
+ }
395
+
396
+ select.form-control {
397
+ height: @input-height-small;
398
+ line-height: @input-height-small;
399
+ }
400
+
401
+ textarea.form-control,
402
+ select[multiple].form-control {
403
+ height: auto;
404
+ }
405
+
406
+ .form-control-static {
407
+ height: @input-height-small;
408
+ min-height: calc(var(--line-height-control) + @input-font-size-small);
409
+ padding: var(--input-padding-small);
410
+ font-size: var(--font-size-14);
411
+ line-height: @input-line-height-small;
412
+ }
413
+ }
414
+
415
+ .input-lg {
416
+ .input-size(
417
+ var(--input-height-large);
418
+ var(--input-padding-large);
419
+ @input-border-radius-large
420
+ );
421
+ .np-text-body-large;
422
+ }
423
+
424
+ .form-group-lg {
425
+ position: relative;
426
+
427
+ .input-lg,
428
+ .input-group-lg > .form-control,
429
+ .input-group-lg > .input-group-addon {
430
+ height: var(--input-height-large);
431
+ padding: calc(@padding-small-vertical + var(--size-24)) @padding-small-horizontal
432
+ @padding-small-vertical;
433
+ font-size: @input-font-size-large;
434
+ line-height: @input-line-height-large;
435
+ }
436
+
437
+ select.form-control {
438
+ line-height: var(--input-height-large);
439
+ }
440
+
441
+ textarea.form-control,
442
+ select[multiple].form-control {
443
+ height: auto;
444
+ }
445
+
446
+ .form-control-static {
447
+ height: var(--input-height-large);
448
+ min-height: calc(var(--line-height-control) + @input-font-size-large);
449
+ padding: var(--input-padding-large);
450
+ font-size: @input-font-size-large;
451
+ line-height: @input-line-height-large;
452
+ }
453
+
454
+ // DEPRECATED: use `Field` component (or in some edge cases `Label` component) instead
455
+ .control-label {
456
+ position: absolute;
457
+ top: 12px;
458
+ .left(14px);
459
+
460
+ margin-bottom: 0;
461
+ z-index: 1;
462
+ }
463
+ }
464
+
465
+ // Form control feedback states
466
+ //
467
+ // Apply contextual and semantic states to individual form controls.
468
+
469
+ .has-feedback {
470
+ // Enable absolute positioning
471
+ position: relative;
472
+
473
+ // Ensure icons don't overlap text
474
+ .form-control {
475
+ .padding(right, var(--input-height-base));
476
+ }
477
+ }
478
+ // Feedback icon (requires .glyphicon classes)
479
+ .form-control-feedback {
480
+ position: absolute;
481
+ top: 0;
482
+ .right(0);
483
+
484
+ z-index: 2; // Ensure icon is above input groups
485
+ display: block;
486
+ width: @input-height-base;
487
+ height: @input-height-base;
488
+ text-align: center;
489
+ pointer-events: none;
490
+ }
491
+
492
+ .input-lg + .form-control-feedback,
493
+ .input-group-lg + .form-control-feedback,
494
+ .form-group-lg .form-control + .form-control-feedback {
495
+ width: var(--input-height-large);
496
+ height: var(--input-height-large);
497
+ }
498
+
499
+ .input-sm + .form-control-feedback,
500
+ .input-group-sm + .form-control-feedback,
501
+ .form-group-sm .form-control + .form-control-feedback {
502
+ width: @input-height-small;
503
+ height: @input-height-small;
504
+ }
505
+
506
+ // Focus state
507
+ .focus,
508
+ .has-focus {
509
+ // DEPRECATED: use `Field` component (or in some edge cases `Label` component) instead
510
+ .control-label {
511
+ color: var(--color-content-primary);
512
+ }
513
+
514
+ .input-group-addon {
515
+ border-color: var(--color-interactive-secondary);
516
+
517
+ &:active {
518
+ border-color: var(--color-interactive-secondary-active);
519
+ }
520
+ }
521
+ }
522
+
523
+ // Help text
524
+ //
525
+ // Apply to any element you wish to create light text for placement immediately
526
+ // below a form control. Use for general help, formatting, or instructional text.
527
+
528
+ .help-block,
529
+ .error-messages {
530
+ margin-top: 12px;
531
+ margin-bottom: 4px;
532
+ border-width: 0;
533
+ border-style: solid;
534
+ border-radius: var(--radius-small);
535
+ padding: 4px 16px 3px;
536
+ transition: border-color 0.15s ease-in-out, background-color 0.15s ease-in-out;
537
+
538
+ a {
539
+ color: inherit;
540
+ }
541
+ }
542
+
543
+ .help-block {
544
+ color: var(--color-content-secondary);
545
+ border-color: var(--color-interactive-secondary);
546
+ background-color: var(--color-background-neutral);
547
+ display: block;
548
+
549
+ .arrow(10px);
550
+ }
551
+
552
+ .focus, // TODO legacy, remove.
553
+ .has-focus {
554
+ .alert {
555
+ border-color: var(--color-interactive-accent-active);
556
+ }
557
+ }
558
+
559
+ // Feedback states
560
+ .has-success {
561
+ .form-control-validation(
562
+ var(--color-content-positive);
563
+ var(--color-interactive-positive);
564
+ var(--color-interactive-positive-hover);
565
+ );
566
+
567
+ .np-theme-personal & {
568
+ .form-control-validation(
569
+ var(--color-content-primary);
570
+ var(--color-sentiment-positive);
571
+ var(--color-sentiment-positive);
572
+ );
573
+ }
574
+ }
575
+
576
+ .has-info {
577
+ .form-control-validation(
578
+ var(--color-content-accent);
579
+ var(--color-interactive-accent);
580
+ var(--color-interactive-accent-hover);
581
+ );
582
+
583
+ .np-theme-personal & {
584
+ .form-control-validation(
585
+ var(--color-content-primary);
586
+ transparent;
587
+ transparent;
588
+ );
589
+ }
590
+ }
591
+
592
+ .has-warning {
593
+ .form-control-validation(
594
+ var(--color-content-warning);
595
+ var(--color-interactive-warning);
596
+ var(--color-interactive-warning-hover);
597
+ );
598
+
599
+ .np-theme-personal & {
600
+ .form-control-validation(
601
+ var(--color-content-primary);
602
+ var(--color-sentiment-warning);
603
+ var(--color-sentiment-warning);
604
+ );
605
+ }
606
+ }
607
+
608
+ .has-error {
609
+ .form-control-validation(
610
+ var(--color-content-negative);
611
+ var(--color-interactive-negative);
612
+ var(--color-interactive-negative-hover);
613
+ );
614
+
615
+ .np-theme-personal & {
616
+ .form-control-validation(
617
+ var(--color-content-primary);
618
+ var(--color-sentiment-negative);
619
+ var(--color-sentiment-negative-hover);
620
+ );
621
+ }
622
+ }
623
+
624
+ // Reposition feedback icon if input has visible label above
625
+ .has-feedback label {
626
+ & ~ .form-control-feedback {
627
+ top: var(--line-height-control); // Height of the `label` and its margin
628
+ }
629
+
630
+ &.sr-only ~ .form-control-feedback {
631
+ top: 0;
632
+ }
633
+ }
634
+
635
+ // Inline forms
636
+ //
637
+ // Make forms appear inline(-block) by adding the `.form-inline` class. Inline
638
+ // forms begin stacked on extra small (mobile) devices and then go inline when
639
+ // viewports reach <768px.
640
+ //
641
+ // Requires wrapping inputs and labels with `.form-group` for proper display of
642
+ // default HTML form controls and our custom form controls (e.g., input groups).
643
+ //
644
+ // Heads up! This is mixin-ed into `.navbar-form` in navbars.less.
645
+
646
+ .form-inline {
647
+ // Kick in the inline
648
+ @media (min-width: @screen-sm-min) {
649
+ // Inline-block all the things for "inline"
650
+ .form-group {
651
+ display: inline-block;
652
+ margin-bottom: 0;
653
+ vertical-align: middle;
654
+ }
655
+
656
+ // In navbar-form, allow folks to *not* use `.form-group`
657
+ .form-control {
658
+ display: inline-block;
659
+ width: auto; // Prevent labels from stacking above inputs in `.form-group`
660
+ vertical-align: middle;
661
+ }
662
+
663
+ // Make static controls behave like regular ones
664
+ .form-control-static {
665
+ display: inline-block;
666
+ }
667
+
668
+ .input-group {
669
+ display: inline-table;
670
+ vertical-align: middle;
671
+
672
+ .input-group-addon,
673
+ .input-group-btn,
674
+ .form-control {
675
+ width: auto;
676
+ }
677
+ }
678
+
679
+ // Input groups need that 100% width though
680
+ .input-group > .form-control {
681
+ width: 100%;
682
+ }
683
+
684
+ // DEPRECATED: use `Field` component (or in some edge cases `Label` component) instead
685
+ .control-label {
686
+ margin-bottom: 0;
687
+ vertical-align: calc(-2px);
688
+ }
689
+
690
+ // Remove default margin on radios/checkboxes that were used for stacking, and
691
+ // then undo the floating of radios and checkboxes to match.
692
+ .radio,
693
+ .checkbox {
694
+ display: inline-block;
695
+ margin-top: 0;
696
+ margin-bottom: 0;
697
+ vertical-align: middle;
698
+
699
+ label {
700
+ .padding(left, 0);
701
+ }
702
+ }
703
+
704
+ .radio input[type='radio'],
705
+ .checkbox input[type='checkbox'] {
706
+ position: relative;
707
+ .margin(left, 0);
708
+ }
709
+
710
+ // Re-override the feedback icon.
711
+ .has-feedback .form-control-feedback {
712
+ top: 0;
713
+ }
714
+ }
715
+ }
716
+
717
+ // Horizontal forms
718
+ //
719
+ // Horizontal forms are built on grid classes and allow you to create forms with
720
+ // labels on the left and inputs on the right.
721
+
722
+ .form-horizontal {
723
+ // Consistent vertical alignment of radios and checkboxes
724
+ //
725
+ // Labels also get some reset styles, but that is scoped to a media query below.
726
+ .radio,
727
+ .checkbox,
728
+ .radio-inline,
729
+ .checkbox-inline {
730
+ margin-top: 0;
731
+ margin-bottom: 0;
732
+ padding-top: (@padding-base-vertical + 1); // Default padding plus a border
733
+ }
734
+ // Account for padding we're adding to ensure the alignment and of help text
735
+ // and other content below items
736
+ .radio,
737
+ .checkbox {
738
+ min-height: calc(var(--line-height-control) + (@padding-base-vertical + 1));
739
+ }
740
+
741
+ // Make form groups behave like rows
742
+ .form-group {
743
+ .make-row();
744
+ }
745
+
746
+ // Reset spacing and right align labels, but scope to media queries so that
747
+ // labels on narrow viewports stack the same as a default form example.
748
+ @media (min-width: @screen-sm-min) {
749
+ // DEPRECATED: use `Field` component (or in some edge cases `Label` component) instead
750
+ .control-label {
751
+ .text-align(right);
752
+
753
+ margin-bottom: 0;
754
+ padding-top: 14px; // Default padding plus a border
755
+ }
756
+ }
757
+
758
+ // Validation states
759
+ //
760
+ // Reposition the icon because it's now within a grid column and columns have
761
+ // `position: relative;` on them. Also accounts for the grid gutter padding.
762
+ .has-feedback .form-control-feedback {
763
+ .right(floor((@grid-gutter-width / 2)));
764
+ }
765
+
766
+ // Form group sizes
767
+ //
768
+ // Quick utility class for applying `.input-lg` and `.input-sm` styles to the
769
+ // inputs and labels within a `.form-group`.
770
+ .form-group-lg {
771
+ @media (min-width: @screen-sm-min) {
772
+ // DEPRECATED: use `Field` component (or in some edge cases `Label` component) instead
773
+ .control-label {
774
+ padding-top: 17px;
775
+ font-size: var(--font-size-20);
776
+ }
777
+ }
778
+ }
779
+
780
+ .form-group-sm {
781
+ @media (min-width: @screen-sm-min) {
782
+ // DEPRECATED: use `Field` component (or in some edge cases `Label` component) instead
783
+ .control-label {
784
+ padding-top: 8px;
785
+ font-size: var(--font-size-14);
786
+ }
787
+ }
788
+ }
789
+ }
790
+
791
+ @import 'checkbox-radio.less';
792
+
793
+ .input-group .input-group-btn + input {
794
+ .border(left, 0, solid, transparent);
795
+ }
796
+
797
+ .input-group-addon {
798
+ color: var(--color-content-secondary);
799
+ transition: border-color ease-in-out 0.15s;
800
+ }
801
+
802
+ .form-control-feedback,
803
+ .form-control-feedback.icon {
804
+ font-size: 24px;
805
+ line-height: 48px;
806
+ }
807
+
808
+ .label {
809
+ padding-top: 0.25em;
810
+ position: relative;
811
+ top: -3px;
812
+
813
+ .label-default {
814
+ color: var(--color-content-secondary);
815
+ background-color: var(--color-background-neutral);
816
+ }
817
+ }
818
+
819
+ .form-group {
820
+ position: relative;
821
+ font-size: var(--font-size-14);
822
+ }
823
+
824
+ .form-group .row {
825
+ .margin(left, -6px);
826
+
827
+ .margin(right, -6px);
828
+
829
+ [class*='col-'] {
830
+ .padding(left, 6px);
831
+
832
+ .padding(right, 6px);
833
+ }
834
+ }
835
+
836
+ @media (max-width: @screen-xs-max) {
837
+ .form-group .row [class*='col-sm-'] {
838
+ margin-bottom: 0;
839
+
840
+ .btn-input {
841
+ margin-bottom: (@padding-base-vertical * 1.5);
842
+ }
843
+ }
844
+ }
845
+
846
+ @media (max-width: @screen-sm-max) {
847
+ .form-group .row [class*='col-md-'] {
848
+ margin-bottom: 0;
849
+
850
+ .form-control,
851
+ .btn-input {
852
+ margin-bottom: (@padding-base-vertical * 1.5);
853
+ }
854
+ }
855
+ }
856
+
857
+ @media (max-width: @screen-md-max) {
858
+ .form-group .row [class*='col-lg-'] {
859
+ margin-bottom: 0;
860
+
861
+ .form-control,
862
+ .btn-input {
863
+ margin-bottom: (@padding-base-vertical * 1.5);
864
+ }
865
+ }
866
+ }
867
+
868
+ @media (max-width: @screen-lg-max) {
869
+ .form-group .row [class*='col-xl-'] {
870
+ margin-bottom: 0;
871
+
872
+ .form-control,
873
+ .btn-input {
874
+ margin-bottom: (@padding-base-vertical * 1.5);
875
+ }
876
+ }
877
+ }
878
+
879
+ @media (min-width: @screen-sm-min) {
880
+ fieldset .form-group:nth-of-type(odd) {
881
+ .clear(left);
882
+ }
883
+ }
884
+
885
+ .checkbox,
886
+ .radio {
887
+ > label {
888
+ display: block;
889
+ cursor: pointer;
890
+ padding-top: 12px;
891
+ padding-bottom: 10px;
892
+ .padding(right, 16px);
893
+
894
+ color: var(--color-content-primary);
895
+ background-color: var(--color-background-screen);
896
+ border: 1px solid var(--color-interactive-secondary);
897
+ border-radius: @border-radius-base;
898
+ transition: border 0.15s ease-in-out, background-color 0.15s ease-in-out;
899
+
900
+ .np-theme-personal & {
901
+ border-radius: var(--radius-small);
902
+ }
903
+
904
+ &:not(.disabled, :disabled):hover {
905
+ border-color: var(--color-interactive-secondary-hover);
906
+ }
907
+
908
+ &:not(.disabled, :disabled).focus,
909
+ &:not(.disabled, :disabled).focus:hover,
910
+ &:not(.disabled, :disabled).has-focus,
911
+ &:not(.disabled, :disabled).has-focus:hover,
912
+ &:not(.disabled, :disabled):focus-within {
913
+ border-color: var(--color-interactive-accent-active);
914
+
915
+ .np-theme-personal & {
916
+ border-color: var(--color-interactive-secondary);
917
+ }
918
+ }
919
+ }
920
+
921
+ &.checkbox-lg,
922
+ &.radio-lg {
923
+ > label {
924
+ min-height: var(--size-72);
925
+
926
+ small,
927
+ .small,
928
+ .body-2,
929
+ .np-text-body-default {
930
+ display: block;
931
+ color: var(--color-content-secondary);
932
+ }
933
+ }
934
+ }
935
+ }
936
+
937
+ .error-messages {
938
+ display: none;
939
+ color: var(--color-content-negative);
940
+ background-color: var(--color-background-negative);
941
+ position: relative;
942
+ .arrow-pointer(@alert-arrow-width);
943
+
944
+ .form-group & {
945
+ border-radius: @border-radius-base;
946
+ border-width: 0;
947
+ margin-top: 12px;
948
+ }
949
+
950
+ .has-error & {
951
+ display: block;
952
+
953
+ &:empty,
954
+ &:-moz-only-whitespace {
955
+ display: none;
956
+
957
+ &::before {
958
+ display: none;
959
+ }
960
+ }
961
+ }
962
+ }
963
+
964
+ .error-required,
965
+ .error-pattern,
966
+ .error-minlength,
967
+ .error-maxlength,
968
+ .error-min,
969
+ .error-max,
970
+ .error-async,
971
+ .error-number,
972
+ .error-date,
973
+ .error-time,
974
+ .error-datetime,
975
+ .error-email,
976
+ .error-url,
977
+ .error-week,
978
+ .error-month,
979
+ .error-datetimelocal {
980
+ display: none;
981
+ }
982
+
983
+ .ng-invalid-required ~ .error-messages > .error-required,
984
+ .ng-invalid-pattern ~ .error-messages > .error-pattern,
985
+ .ng-invalid-minlength ~ .error-messages > .error-minlength,
986
+ .ng-invalid-maxlength ~ .error-messages > .error-maxlength,
987
+ .ng-invalid-min ~ .error-messages > .error-min,
988
+ .ng-invalid-max ~ .error-messages > .error-max,
989
+ .ng-invalid-async ~ .error-messages > .error-async,
990
+ .ng-invalid-number ~ .error-messages > .error-number,
991
+ .ng-invalid-date ~ .error-messages > .error-date,
992
+ .ng-invalid-time ~ .error-messages > .error-time,
993
+ .ng-invalid-datetime ~ .error-messages > .error-datetime,
994
+ .ng-invalid-email ~ .error-messages > .error-email,
995
+ .ng-invalid-url ~ .error-messages > .error-url,
996
+ .ng-invalid-week ~ .error-messages > .error-week,
997
+ .ng-invalid-month ~ .error-messages > .error-month,
998
+ .ng-invalid-datetimelocal ~ .error-messages > .error-datetimelocal {
999
+ display: block;
1000
+ }
1001
+
1002
+ .ng-invalid-required ~ .alert-danger > .error-required,
1003
+ .ng-invalid-pattern ~ .alert-danger > .error-pattern,
1004
+ .ng-invalid-minlength ~ .alert-danger > .error-minlength,
1005
+ .ng-invalid-maxlength ~ .alert-danger > .error-maxlength,
1006
+ .ng-invalid-min ~ .alert-danger > .error-min,
1007
+ .ng-invalid-max ~ .alert-danger > .error-max,
1008
+ .ng-invalid-async ~ .alert-danger > .error-async,
1009
+ .ng-invalid-number ~ .alert-danger > .error-number,
1010
+ .ng-invalid-date ~ .alert-danger > .error-date,
1011
+ .ng-invalid-time ~ .alert-danger > .error-time,
1012
+ .ng-invalid-datetime ~ .alert-danger > .error-datetime,
1013
+ .ng-invalid-email ~ .alert-danger > .error-email,
1014
+ .ng-invalid-url ~ .alert-danger > .error-url,
1015
+ .ng-invalid-week ~ .alert-danger > .error-week,
1016
+ .ng-invalid-month ~ .alert-danger > .error-month,
1017
+ .ng-invalid-datetimelocal ~ .alert-danger > .error-datetimelocal {
1018
+ display: block;
1019
+ }
1020
+
1021
+ .form-control-placeholder {
1022
+ text-overflow: ellipsis;
1023
+ overflow: hidden;
1024
+ .np-text-body-large;
1025
+ display: block;
1026
+ width: 100%;
1027
+ color: var(--color-content-tertiary);
1028
+ }
1029
+
1030
+ .np-theme-personal {
1031
+ .btn-input,
1032
+ .input-group,
1033
+ .form-control,
1034
+ .input-group-addon,
1035
+ .radio > label,
1036
+ .checkbox > label {
1037
+ background-color: unset;
1038
+ border: none !important;
1039
+ border-radius: var(--radius-small);
1040
+ }
1041
+
1042
+ .btn-input,
1043
+ .input-group,
1044
+ .form-control,
1045
+ .radio > label,
1046
+ .checkbox > label {
1047
+ box-shadow: inset 0 0 0 1px var(--color-interactive-secondary);
1048
+ transition: box-shadow 0.3s ease-in-out;
1049
+ }
1050
+
1051
+ .input-group > .form-control,
1052
+ .input-group > .btn-input,
1053
+ .typeahead__input-container .form-control {
1054
+ box-shadow: none !important;
1055
+ }
1056
+
1057
+ .btn-input:not(.disabled, :disabled),
1058
+ .input-group:not(.disabled, :disabled),
1059
+ .form-control:not(.disabled, :disabled),
1060
+ .radio > label:not(.disabled, :disabled),
1061
+ .checkbox > label:not(.disabled, :disabled) {
1062
+ &:hover {
1063
+ box-shadow: inset 0 0 0 2px var(--color-interactive-secondary-hover);
1064
+ &:has(:checked, .checked) {
1065
+ box-shadow: inset 0 0 0 2px var(--color-interactive-primary-hover);
1066
+ }
1067
+ }
1068
+ }
1069
+
1070
+ .btn-input:not(.disabled, :disabled):focus-visible,
1071
+ .btn-input:not(.disabled, :disabled):has(:focus-visible),
1072
+ .input-group:not(.disabled, :disabled):focus-visible,
1073
+ .input-group:not(.disabled, :disabled):has(.form-control:focus-visible, .btn-input:focus-visible),
1074
+ .form-control:not(.disabled, :disabled):focus-visible,
1075
+ .form-control:not(.disabled, :disabled):has(:focus-visible),
1076
+ .radio > label:not(.disabled, :disabled):focus-visible,
1077
+ .radio > label:not(.disabled, :disabled):has(:focus-visible),
1078
+ .checkbox > label:not(.disabled, :disabled):focus-visible,
1079
+ .checkbox > label:not(.disabled, :disabled):has(:focus-visible) {
1080
+ box-shadow: inset 0 0 0 3px var(--color-interactive-primary);
1081
+ }
1082
+
1083
+ .has-error {
1084
+ .btn-input,
1085
+ .input-group,
1086
+ .form-control,
1087
+ .radio > label,
1088
+ .checkbox > label {
1089
+ box-shadow: inset 0 0 0 2px var(--color-sentiment-negative);
1090
+ }
1091
+
1092
+ .input-group:not(.disabled, :disabled):hover,
1093
+ .form-control:not(.disabled, :disabled):hover,
1094
+ .radio > label:not(.disabled, :disabled):hover,
1095
+ .checkbox > label:not(.disabled, :disabled):hover {
1096
+ box-shadow: inset 0 0 0 2px var(--color-sentiment-negative-hover);
1097
+ }
1098
+
1099
+ .input-group:not(.disabled, :disabled):active,
1100
+ .input-group:not(.disabled, :disabled):focus-visible,
1101
+ .input-group:not(.disabled, :disabled):has(:focus-visible),
1102
+ .form-control:not(.disabled, :disabled):active,
1103
+ .form-control:not(.disabled, :disabled):focus-visible,
1104
+ .form-control:not(.disabled, :disabled):has(:focus-visible),
1105
+ .radio > label:not(.disabled, :disabled):active,
1106
+ .radio > label:not(.disabled, :disabled):focus-visible,
1107
+ .radio > label:not(.disabled, :disabled):has(:focus-visible),
1108
+ .checkbox > label:not(.disabled, :disabled):active,
1109
+ .checkbox > label:not(.disabled, :disabled):focus-visible,
1110
+ .checkbox > label:not(.disabled, :disabled):has(:focus-visible) {
1111
+ box-shadow: inset 0 0 0 3px var(--color-sentiment-negative);
1112
+ }
1113
+
1114
+ .tw-radio-button {
1115
+ border-color: var(--color-sentiment-negative) !important;
1116
+
1117
+ &.checked {
1118
+ box-shadow: inset 0 0 0 1px var(--color-sentiment-negative);
1119
+ }
1120
+
1121
+ &.checked .tw-radio-check {
1122
+ background: var(--color-sentiment-negative) !important;
1123
+ }
1124
+ }
1125
+
1126
+ .checkbox:hover .tw-checkbox-button,
1127
+ .radio:not(.disabled):hover .tw-radio-button,
1128
+ .tw-checkbox-button:not(.disabled,:disabled):hover,
1129
+ input[type=checkbox]:hover+.tw-checkbox-button,
1130
+ input[type=radio]:not(.disabled,:disabled):hover+.tw-radio-button,
1131
+ input[type=checkbox]:not(.disabled,:disabled):hover+.tw-checkbox-button {
1132
+ box-shadow: inset 0 0 0 2px var(--color-sentiment-negative-hover);
1133
+ }
1134
+
1135
+ .tw-checkbox-button.checked,
1136
+ .tw-checkbox-button:checked,
1137
+ input[type=checkbox]:checked+.tw-checkbox-button,
1138
+ .tw-checkbox-button.checked:hover,
1139
+ .tw-checkbox-button:checked:hover,
1140
+ input[type=checkbox]:not(.disabled,:disabled):checked:hover+.tw-checkbox-button {
1141
+ box-shadow: inset 0 0 0 3px var(--color-sentiment-negative);
1142
+ background: var(--color-sentiment-negative);
1143
+ }
1144
+
1145
+ .checkbox>label:not(.disabled,:disabled):active input[type=checkbox]+.tw-checkbox-button,
1146
+ .checkbox>label:not(.disabled,:disabled):focus-visible input[type=checkbox]+.tw-checkbox-button,
1147
+ .checkbox>label:not(.disabled,:disabled):has(:focus-visible) input[type=checkbox]+.tw-checkbox-button {
1148
+ box-shadow: inset 0 0 0 2px var(--color-sentiment-negative-active);
1149
+ }
1150
+ }
1151
+
1152
+ .tw-radio-button,
1153
+ .tw-checkbox-button {
1154
+ background-color: unset;
1155
+ color: unset;
1156
+ transition: background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
1157
+ }
1158
+
1159
+ .btn-input:hover,
1160
+ .btn-input:active,
1161
+ .btn-input:focus,
1162
+ .btn-input:focus,
1163
+ .btn-input:focus-within,
1164
+ &.open .btn-input {
1165
+ background-color: unset !important;
1166
+ }
1167
+
1168
+ .form-group label {
1169
+ margin-bottom: var(--padding-x-small);
1170
+ }
1171
+
1172
+ .form-group .np-upload-input label {
1173
+ margin-bottom: 0;
1174
+ }
1175
+
1176
+ .form-group .alert:before,
1177
+ .error-messages:before {
1178
+ content: none;
1179
+ }
1180
+
1181
+ .error-messages,
1182
+ .alert-detach {
1183
+ color: var(--color-content-secondary);
1184
+
1185
+ margin: var(--padding-x-small) 0;
1186
+ padding: 0;
1187
+ background-color: unset;
1188
+ }
1189
+
1190
+ .alert-detach {
1191
+ .status-circle {
1192
+ margin-top: 2px;
1193
+ margin-right: var(--size-4);
1194
+ }
1195
+ }
1196
+
1197
+ .has-error .error-messages,
1198
+ .has-error .alert-detach.alert-danger {
1199
+ color: var(--color-sentiment-negative);
1200
+ }
1201
+
1202
+ .has-success .alert-detach.alert-positive,
1203
+ .has-warning .alert-detach.alert-warning,
1204
+ .has-error .alert-detach.alert-danger {
1205
+ display: flex;
1206
+ }
1207
+ }
1208
+
1209
+ .has-required {
1210
+ &::after {
1211
+ content: "\00a0*";
1212
+ color: var(--color-content-negative);
1213
+
1214
+ .np-theme-personal & {
1215
+ color: var(--color-sentiment-negative);
1216
+ }
1217
+ }
1218
+ }