@skyscanner/backpack-web 25.8.3 → 26.0.0-beta.1

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 (598) hide show
  1. package/README.md +2 -2
  2. package/bpk-component-banner-alert/src/AnimateAndFade.js +1 -1
  3. package/bpk-component-barchart/src/BpkBarchart.js +0 -1
  4. package/bpk-component-button/src/BpkButtonBase.js +1 -1
  5. package/bpk-component-button/src/BpkButtonDestructive.js +1 -1
  6. package/bpk-component-button/src/BpkButtonFeatured.js +1 -1
  7. package/bpk-component-button/src/BpkButtonLink.js +1 -1
  8. package/bpk-component-button/src/BpkButtonLinkOnDark.js +1 -1
  9. package/bpk-component-button/src/BpkButtonPrimary.js +1 -1
  10. package/bpk-component-button/src/BpkButtonPrimaryOnDark.js +1 -1
  11. package/bpk-component-button/src/BpkButtonPrimaryOnLight.js +1 -1
  12. package/bpk-component-button/src/BpkButtonSecondary.js +1 -1
  13. package/bpk-component-button/src/BpkButtonSecondaryOnDark.js +1 -1
  14. package/bpk-component-calendar/src/utils.js +1 -1
  15. package/bpk-component-flare/src/corner-radius.d.ts +6 -0
  16. package/bpk-component-flare/src/pointer.d.ts +6 -0
  17. package/bpk-component-horizontal-nav/src/BpkHorizontalNav.js +2 -2
  18. package/bpk-component-icon/lg/accessibility.js +1 -0
  19. package/bpk-component-icon/lg/account--add.js +1 -0
  20. package/bpk-component-icon/lg/account--female.js +1 -0
  21. package/bpk-component-icon/lg/account--id-card.js +1 -0
  22. package/bpk-component-icon/lg/account--name.js +1 -0
  23. package/bpk-component-icon/lg/account--permit.js +1 -0
  24. package/bpk-component-icon/lg/account-circle.js +1 -0
  25. package/bpk-component-icon/lg/account.js +1 -0
  26. package/bpk-component-icon/lg/add-circle.js +1 -0
  27. package/bpk-component-icon/lg/adult.js +1 -0
  28. package/bpk-component-icon/lg/ai.js +1 -0
  29. package/bpk-component-icon/lg/aircon.js +1 -0
  30. package/bpk-component-icon/lg/aircraft.js +1 -0
  31. package/bpk-component-icon/lg/airline--multiple.js +1 -0
  32. package/bpk-component-icon/lg/airline.js +1 -0
  33. package/bpk-component-icon/lg/airports.js +1 -0
  34. package/bpk-component-icon/lg/alert--active.js +1 -0
  35. package/bpk-component-icon/lg/alert--add.js +1 -0
  36. package/bpk-component-icon/lg/alert--expired.js +1 -0
  37. package/bpk-component-icon/lg/alert--remove.js +1 -0
  38. package/bpk-component-icon/lg/arrow-down.js +1 -0
  39. package/bpk-component-icon/lg/arrow-left.js +1 -0
  40. package/bpk-component-icon/lg/arrow-right.js +1 -0
  41. package/bpk-component-icon/lg/arrow-up.js +1 -0
  42. package/bpk-component-icon/lg/award.js +1 -0
  43. package/bpk-component-icon/lg/baby-carriage.js +1 -0
  44. package/bpk-component-icon/lg/baggage--add.js +1 -0
  45. package/bpk-component-icon/lg/baggage--remove.js +1 -0
  46. package/bpk-component-icon/lg/baggage-cabin-add.js +1 -0
  47. package/bpk-component-icon/lg/baggage-cabin-not-included.js +1 -0
  48. package/bpk-component-icon/lg/baggage-cabin.js +1 -0
  49. package/bpk-component-icon/lg/baggage-checked-add.js +1 -0
  50. package/bpk-component-icon/lg/baggage-checked-not-included.js +1 -0
  51. package/bpk-component-icon/lg/baggage-checked.js +1 -0
  52. package/bpk-component-icon/lg/baggage-cross.js +1 -0
  53. package/bpk-component-icon/lg/baggage-generic.js +1 -0
  54. package/bpk-component-icon/lg/baggage-tick.js +1 -0
  55. package/bpk-component-icon/lg/baggage.js +1 -0
  56. package/bpk-component-icon/lg/bar.js +1 -0
  57. package/bpk-component-icon/lg/beach.js +1 -0
  58. package/bpk-component-icon/lg/beer.js +1 -0
  59. package/bpk-component-icon/lg/breakfast-cross.js +1 -0
  60. package/bpk-component-icon/lg/breakfast-tick.js +1 -0
  61. package/bpk-component-icon/lg/bus.js +1 -0
  62. package/bpk-component-icon/lg/business.js +1 -0
  63. package/bpk-component-icon/lg/cafe.js +1 -0
  64. package/bpk-component-icon/lg/calendar.js +1 -0
  65. package/bpk-component-icon/lg/call-back.js +1 -0
  66. package/bpk-component-icon/lg/camera.js +1 -0
  67. package/bpk-component-icon/lg/camper-van.js +1 -0
  68. package/bpk-component-icon/lg/car-door.js +1 -0
  69. package/bpk-component-icon/lg/car-wash.js +1 -0
  70. package/bpk-component-icon/lg/cars-flexible.js +1 -0
  71. package/bpk-component-icon/lg/cars.js +1 -0
  72. package/bpk-component-icon/lg/center-location.js +1 -0
  73. package/bpk-component-icon/lg/chart.js +1 -0
  74. package/bpk-component-icon/lg/chauffeur.js +1 -0
  75. package/bpk-component-icon/lg/chevron-down.js +1 -0
  76. package/bpk-component-icon/lg/chevron-left.js +1 -0
  77. package/bpk-component-icon/lg/chevron-right.js +1 -0
  78. package/bpk-component-icon/lg/chevron-up.js +1 -0
  79. package/bpk-component-icon/lg/child-seat.js +1 -0
  80. package/bpk-component-icon/lg/child.js +1 -0
  81. package/bpk-component-icon/lg/city-center.js +1 -0
  82. package/bpk-component-icon/lg/city.js +1 -0
  83. package/bpk-component-icon/lg/clean-policy.js +1 -0
  84. package/bpk-component-icon/lg/clean.js +1 -0
  85. package/bpk-component-icon/lg/cleaning-medical.js +1 -0
  86. package/bpk-component-icon/lg/cloakroom.js +1 -0
  87. package/bpk-component-icon/lg/close-circle.js +1 -0
  88. package/bpk-component-icon/lg/close.js +1 -0
  89. package/bpk-component-icon/lg/collapse.js +1 -0
  90. package/bpk-component-icon/lg/content--copy.js +1 -0
  91. package/bpk-component-icon/lg/content--event.js +1 -0
  92. package/bpk-component-icon/lg/content--guides.js +1 -0
  93. package/bpk-component-icon/lg/currency.js +1 -0
  94. package/bpk-component-icon/lg/data.js +1 -0
  95. package/bpk-component-icon/lg/deals.js +1 -0
  96. package/bpk-component-icon/lg/depart.js +1 -0
  97. package/bpk-component-icon/lg/device-mid.js +1 -0
  98. package/bpk-component-icon/lg/device-wide.js +1 -0
  99. package/bpk-component-icon/lg/direct.js +1 -0
  100. package/bpk-component-icon/lg/document-csv.js +1 -0
  101. package/bpk-component-icon/lg/document-pdf.js +1 -0
  102. package/bpk-component-icon/lg/download.js +1 -0
  103. package/bpk-component-icon/lg/duration.js +1 -0
  104. package/bpk-component-icon/lg/eco-leaf.js +1 -0
  105. package/bpk-component-icon/lg/edit.js +1 -0
  106. package/bpk-component-icon/lg/education.js +1 -0
  107. package/bpk-component-icon/lg/electric.js +1 -0
  108. package/bpk-component-icon/lg/end-call.js +1 -0
  109. package/bpk-component-icon/lg/estimated.js +1 -0
  110. package/bpk-component-icon/lg/exclamation-circle.js +1 -0
  111. package/bpk-component-icon/lg/exclamation.js +1 -0
  112. package/bpk-component-icon/lg/expand.js +1 -0
  113. package/bpk-component-icon/lg/explore.js +1 -0
  114. package/bpk-component-icon/lg/face--blank.js +1 -0
  115. package/bpk-component-icon/lg/face--happy.js +1 -0
  116. package/bpk-component-icon/lg/face--sad.js +1 -0
  117. package/bpk-component-icon/lg/face-id.js +1 -0
  118. package/bpk-component-icon/lg/face-mask.js +1 -0
  119. package/bpk-component-icon/lg/family.js +1 -0
  120. package/bpk-component-icon/lg/fast-track.js +1 -0
  121. package/bpk-component-icon/lg/fast-train.js +1 -0
  122. package/bpk-component-icon/lg/filter.js +1 -0
  123. package/bpk-component-icon/lg/fingerprint.js +1 -0
  124. package/bpk-component-icon/lg/flag.js +1 -0
  125. package/bpk-component-icon/lg/flask.js +1 -0
  126. package/bpk-component-icon/lg/flight-flexible.js +1 -0
  127. package/bpk-component-icon/lg/flight-landing.js +1 -0
  128. package/bpk-component-icon/lg/flight-takeoff.js +1 -0
  129. package/bpk-component-icon/lg/flight.js +1 -0
  130. package/bpk-component-icon/lg/food.js +1 -0
  131. package/bpk-component-icon/lg/gears-automatic-circle.js +1 -0
  132. package/bpk-component-icon/lg/gears-automatic.js +1 -0
  133. package/bpk-component-icon/lg/gears-manual-circle.js +1 -0
  134. package/bpk-component-icon/lg/gears-manual.js +1 -0
  135. package/bpk-component-icon/lg/globe.js +1 -0
  136. package/bpk-component-icon/lg/grid-layout.js +1 -0
  137. package/bpk-component-icon/lg/headset.js +1 -0
  138. package/bpk-component-icon/lg/health-fitness.js +1 -0
  139. package/bpk-component-icon/lg/heart--outline.js +1 -0
  140. package/bpk-component-icon/lg/heart.js +1 -0
  141. package/bpk-component-icon/lg/help-circle.js +1 -0
  142. package/bpk-component-icon/lg/help.js +1 -0
  143. package/bpk-component-icon/lg/hide.js +1 -0
  144. package/bpk-component-icon/lg/hotel-flexible.js +1 -0
  145. package/bpk-component-icon/lg/hotels--disabled-facilities.js +1 -0
  146. package/bpk-component-icon/lg/hotels--jacuzzi.js +1 -0
  147. package/bpk-component-icon/lg/hotels--pets-allowed.js +1 -0
  148. package/bpk-component-icon/lg/hotels--smoking.js +1 -0
  149. package/bpk-component-icon/lg/hotels.js +1 -0
  150. package/bpk-component-icon/lg/infant.js +1 -0
  151. package/bpk-component-icon/lg/information--language-alert.js +1 -0
  152. package/bpk-component-icon/lg/information--language-question.js +1 -0
  153. package/bpk-component-icon/lg/information--language.js +1 -0
  154. package/bpk-component-icon/lg/information-circle.js +1 -0
  155. package/bpk-component-icon/lg/information.js +1 -0
  156. package/bpk-component-icon/lg/insurance.js +1 -0
  157. package/bpk-component-icon/lg/key.js +1 -0
  158. package/bpk-component-icon/lg/keypad.js +1 -0
  159. package/bpk-component-icon/lg/landmark.js +1 -0
  160. package/bpk-component-icon/lg/language.js +1 -0
  161. package/bpk-component-icon/lg/legroom--extra.js +1 -0
  162. package/bpk-component-icon/lg/legroom--normal.js +1 -0
  163. package/bpk-component-icon/lg/legroom--reduced.js +1 -0
  164. package/bpk-component-icon/lg/leisure.js +1 -0
  165. package/bpk-component-icon/lg/lightning.js +1 -0
  166. package/bpk-component-icon/lg/list.js +1 -0
  167. package/bpk-component-icon/lg/location.js +1 -0
  168. package/bpk-component-icon/lg/lock.js +1 -0
  169. package/bpk-component-icon/lg/logout.js +1 -0
  170. package/bpk-component-icon/lg/long-arrow-down.js +1 -0
  171. package/bpk-component-icon/lg/long-arrow-left.js +1 -0
  172. package/bpk-component-icon/lg/long-arrow-right.js +1 -0
  173. package/bpk-component-icon/lg/long-arrow-up.js +1 -0
  174. package/bpk-component-icon/lg/lounge.js +1 -0
  175. package/bpk-component-icon/lg/luggageall.js +1 -0
  176. package/bpk-component-icon/lg/mail.js +1 -0
  177. package/bpk-component-icon/lg/map.js +1 -0
  178. package/bpk-component-icon/lg/meal.js +1 -0
  179. package/bpk-component-icon/lg/media.js +1 -0
  180. package/bpk-component-icon/lg/menu--horizontal.js +1 -0
  181. package/bpk-component-icon/lg/menu--vertical.js +1 -0
  182. package/bpk-component-icon/lg/menu.js +1 -0
  183. package/bpk-component-icon/lg/mileage.js +1 -0
  184. package/bpk-component-icon/lg/minus.js +1 -0
  185. package/bpk-component-icon/lg/mobile.js +1 -0
  186. package/bpk-component-icon/lg/money.js +1 -0
  187. package/bpk-component-icon/lg/multiple-bookings.js +1 -0
  188. package/bpk-component-icon/lg/music.js +1 -0
  189. package/bpk-component-icon/lg/mute.js +1 -0
  190. package/bpk-component-icon/lg/native-android--back.js +1 -0
  191. package/bpk-component-icon/lg/native-android--close.js +1 -0
  192. package/bpk-component-icon/lg/native-android--forward.js +1 -0
  193. package/bpk-component-icon/lg/native-ios-close.js +1 -0
  194. package/bpk-component-icon/lg/navigation.js +1 -0
  195. package/bpk-component-icon/lg/new-window.js +1 -0
  196. package/bpk-component-icon/lg/news.js +1 -0
  197. package/bpk-component-icon/lg/night.js +1 -0
  198. package/bpk-component-icon/lg/not-allowed.js +1 -0
  199. package/bpk-component-icon/lg/onsen.js +1 -0
  200. package/bpk-component-icon/lg/origin.js +1 -0
  201. package/bpk-component-icon/lg/paid.js +1 -0
  202. package/bpk-component-icon/lg/paperclip.js +1 -0
  203. package/bpk-component-icon/lg/parking.js +1 -0
  204. package/bpk-component-icon/lg/passport.js +1 -0
  205. package/bpk-component-icon/lg/pause.js +1 -0
  206. package/bpk-component-icon/lg/payment-card.js +1 -0
  207. package/bpk-component-icon/lg/petrol.js +1 -0
  208. package/bpk-component-icon/lg/phone-call.js +1 -0
  209. package/bpk-component-icon/lg/picture.js +1 -0
  210. package/bpk-component-icon/lg/pin.js +1 -0
  211. package/bpk-component-icon/lg/plane-seat.js +1 -0
  212. package/bpk-component-icon/lg/play.js +1 -0
  213. package/bpk-component-icon/lg/plus.js +1 -0
  214. package/bpk-component-icon/lg/policy.js +1 -0
  215. package/bpk-component-icon/lg/powerplug.js +1 -0
  216. package/bpk-component-icon/lg/ppe.js +1 -0
  217. package/bpk-component-icon/lg/price-alerts.js +1 -0
  218. package/bpk-component-icon/lg/price-tag.js +1 -0
  219. package/bpk-component-icon/lg/print.js +1 -0
  220. package/bpk-component-icon/lg/recent-searches.js +1 -0
  221. package/bpk-component-icon/lg/redo.js +1 -0
  222. package/bpk-component-icon/lg/refresh.js +1 -0
  223. package/bpk-component-icon/lg/return.js +1 -0
  224. package/bpk-component-icon/lg/room.js +1 -0
  225. package/bpk-component-icon/lg/scales.js +1 -0
  226. package/bpk-component-icon/lg/search.js +1 -0
  227. package/bpk-component-icon/lg/self-service.js +1 -0
  228. package/bpk-component-icon/lg/send-message.js +1 -0
  229. package/bpk-component-icon/lg/services.js +1 -0
  230. package/bpk-component-icon/lg/settings.js +1 -0
  231. package/bpk-component-icon/lg/share--android.js +1 -0
  232. package/bpk-component-icon/lg/share--ios.js +1 -0
  233. package/bpk-component-icon/lg/share.js +1 -0
  234. package/bpk-component-icon/lg/single-booking.js +1 -0
  235. package/bpk-component-icon/lg/social-distancing.js +1 -0
  236. package/bpk-component-icon/lg/social-like.js +1 -0
  237. package/bpk-component-icon/lg/sort-down.js +1 -0
  238. package/bpk-component-icon/lg/sort-up.js +1 -0
  239. package/bpk-component-icon/lg/sort.js +1 -0
  240. package/bpk-component-icon/lg/speaker.js +1 -0
  241. package/bpk-component-icon/lg/star-half.js +1 -0
  242. package/bpk-component-icon/lg/star-outline.js +1 -0
  243. package/bpk-component-icon/lg/star.js +1 -0
  244. package/bpk-component-icon/lg/stops.js +1 -0
  245. package/bpk-component-icon/lg/swap--horizontal.js +1 -0
  246. package/bpk-component-icon/lg/swap--vertical.js +1 -0
  247. package/bpk-component-icon/lg/swap.js +1 -0
  248. package/bpk-component-icon/lg/taxi.js +1 -0
  249. package/bpk-component-icon/lg/thumbs-down.js +1 -0
  250. package/bpk-component-icon/lg/thumbs-up.js +1 -0
  251. package/bpk-component-icon/lg/tick-circle.js +1 -0
  252. package/bpk-component-icon/lg/tick.js +1 -0
  253. package/bpk-component-icon/lg/ticket-flexible.js +1 -0
  254. package/bpk-component-icon/lg/ticket.js +1 -0
  255. package/bpk-component-icon/lg/time.js +1 -0
  256. package/bpk-component-icon/lg/toilets.js +1 -0
  257. package/bpk-component-icon/lg/train.js +1 -0
  258. package/bpk-component-icon/lg/transmission-automatic.js +1 -0
  259. package/bpk-component-icon/lg/transmission-manual.js +1 -0
  260. package/bpk-component-icon/lg/trash.js +1 -0
  261. package/bpk-component-icon/lg/trend--down.js +1 -0
  262. package/bpk-component-icon/lg/trend--steady.js +1 -0
  263. package/bpk-component-icon/lg/trend--will-rise.js +1 -0
  264. package/bpk-component-icon/lg/trend.js +1 -0
  265. package/bpk-component-icon/lg/trips.js +1 -0
  266. package/bpk-component-icon/lg/undo.js +1 -0
  267. package/bpk-component-icon/lg/unlock.js +1 -0
  268. package/bpk-component-icon/lg/unmute.js +1 -0
  269. package/bpk-component-icon/lg/upgrade.js +1 -0
  270. package/bpk-component-icon/lg/upload.js +1 -0
  271. package/bpk-component-icon/lg/use-location.js +1 -0
  272. package/bpk-component-icon/lg/view.js +1 -0
  273. package/bpk-component-icon/lg/virus.js +1 -0
  274. package/bpk-component-icon/lg/wallet.js +1 -0
  275. package/bpk-component-icon/lg/weather--clear.js +1 -0
  276. package/bpk-component-icon/lg/weather--cloudy.js +1 -0
  277. package/bpk-component-icon/lg/weather--fog.js +1 -0
  278. package/bpk-component-icon/lg/weather--partly-cloudy.js +1 -0
  279. package/bpk-component-icon/lg/weather--rain.js +1 -0
  280. package/bpk-component-icon/lg/weather--snow.js +1 -0
  281. package/bpk-component-icon/lg/weather--thunderstorm.js +1 -0
  282. package/bpk-component-icon/lg/weather--tornado.js +1 -0
  283. package/bpk-component-icon/lg/weather--wind.js +1 -0
  284. package/bpk-component-icon/lg/weather.js +1 -0
  285. package/bpk-component-icon/lg/wifi.js +1 -0
  286. package/bpk-component-icon/lg/window--reduce.js +1 -0
  287. package/bpk-component-icon/lg/window.js +1 -0
  288. package/bpk-component-icon/lg/world--amer.js +1 -0
  289. package/bpk-component-icon/lg/world--apac.js +1 -0
  290. package/bpk-component-icon/lg/world--emea.js +1 -0
  291. package/bpk-component-icon/sm/accessibility.js +1 -0
  292. package/bpk-component-icon/sm/account--add.js +1 -0
  293. package/bpk-component-icon/sm/account--female.js +1 -0
  294. package/bpk-component-icon/sm/account--id-card.js +1 -0
  295. package/bpk-component-icon/sm/account--name.js +1 -0
  296. package/bpk-component-icon/sm/account--permit.js +1 -0
  297. package/bpk-component-icon/sm/account-circle.js +1 -0
  298. package/bpk-component-icon/sm/account.js +1 -0
  299. package/bpk-component-icon/sm/add-circle.js +1 -0
  300. package/bpk-component-icon/sm/adult.js +1 -0
  301. package/bpk-component-icon/sm/ai.js +1 -0
  302. package/bpk-component-icon/sm/aircon.js +1 -0
  303. package/bpk-component-icon/sm/aircraft.js +1 -0
  304. package/bpk-component-icon/sm/airline--multiple.js +1 -0
  305. package/bpk-component-icon/sm/airline.js +1 -0
  306. package/bpk-component-icon/sm/airports.js +1 -0
  307. package/bpk-component-icon/sm/alert--active.js +1 -0
  308. package/bpk-component-icon/sm/alert--add.js +1 -0
  309. package/bpk-component-icon/sm/alert--expired.js +1 -0
  310. package/bpk-component-icon/sm/alert--remove.js +1 -0
  311. package/bpk-component-icon/sm/arrow-down.js +1 -0
  312. package/bpk-component-icon/sm/arrow-left.js +1 -0
  313. package/bpk-component-icon/sm/arrow-right.js +1 -0
  314. package/bpk-component-icon/sm/arrow-up.js +1 -0
  315. package/bpk-component-icon/sm/award.js +1 -0
  316. package/bpk-component-icon/sm/baby-carriage.js +1 -0
  317. package/bpk-component-icon/sm/baggage--add.js +1 -0
  318. package/bpk-component-icon/sm/baggage--remove.js +1 -0
  319. package/bpk-component-icon/sm/baggage-cabin-add.js +1 -0
  320. package/bpk-component-icon/sm/baggage-cabin-not-included.js +1 -0
  321. package/bpk-component-icon/sm/baggage-cabin.js +1 -0
  322. package/bpk-component-icon/sm/baggage-checked-add.js +1 -0
  323. package/bpk-component-icon/sm/baggage-checked-not-included.js +1 -0
  324. package/bpk-component-icon/sm/baggage-checked.js +1 -0
  325. package/bpk-component-icon/sm/baggage-cross.js +1 -0
  326. package/bpk-component-icon/sm/baggage-generic.js +1 -0
  327. package/bpk-component-icon/sm/baggage-tick.js +1 -0
  328. package/bpk-component-icon/sm/baggage.js +1 -0
  329. package/bpk-component-icon/sm/bar.js +1 -0
  330. package/bpk-component-icon/sm/beach.js +1 -0
  331. package/bpk-component-icon/sm/beer.js +1 -0
  332. package/bpk-component-icon/sm/breakfast-cross.js +1 -0
  333. package/bpk-component-icon/sm/breakfast-tick.js +1 -0
  334. package/bpk-component-icon/sm/bus.js +1 -0
  335. package/bpk-component-icon/sm/business.js +1 -0
  336. package/bpk-component-icon/sm/cafe.js +1 -0
  337. package/bpk-component-icon/sm/calendar.js +1 -0
  338. package/bpk-component-icon/sm/call-back.js +1 -0
  339. package/bpk-component-icon/sm/camera.js +1 -0
  340. package/bpk-component-icon/sm/camper-van.js +1 -0
  341. package/bpk-component-icon/sm/car-door.js +1 -0
  342. package/bpk-component-icon/sm/car-wash.js +1 -0
  343. package/bpk-component-icon/sm/cars-flexible.js +1 -0
  344. package/bpk-component-icon/sm/cars.js +1 -0
  345. package/bpk-component-icon/sm/center-location.js +1 -0
  346. package/bpk-component-icon/sm/chart.js +1 -0
  347. package/bpk-component-icon/sm/chauffeur.js +1 -0
  348. package/bpk-component-icon/sm/chevron-down.js +1 -0
  349. package/bpk-component-icon/sm/chevron-left.js +1 -0
  350. package/bpk-component-icon/sm/chevron-right.js +1 -0
  351. package/bpk-component-icon/sm/chevron-up.js +1 -0
  352. package/bpk-component-icon/sm/child-seat.js +1 -0
  353. package/bpk-component-icon/sm/child.js +1 -0
  354. package/bpk-component-icon/sm/city-center.js +1 -0
  355. package/bpk-component-icon/sm/city.js +1 -0
  356. package/bpk-component-icon/sm/clean-policy.js +1 -0
  357. package/bpk-component-icon/sm/clean.js +1 -0
  358. package/bpk-component-icon/sm/cleaning-medical.js +1 -0
  359. package/bpk-component-icon/sm/cloakroom.js +1 -0
  360. package/bpk-component-icon/sm/close-circle.js +1 -0
  361. package/bpk-component-icon/sm/close.js +1 -0
  362. package/bpk-component-icon/sm/collapse.js +1 -0
  363. package/bpk-component-icon/sm/content--copy.js +1 -0
  364. package/bpk-component-icon/sm/content--event.js +1 -0
  365. package/bpk-component-icon/sm/content--guides.js +1 -0
  366. package/bpk-component-icon/sm/currency.js +1 -0
  367. package/bpk-component-icon/sm/data.js +1 -0
  368. package/bpk-component-icon/sm/deals.js +1 -0
  369. package/bpk-component-icon/sm/depart.js +1 -0
  370. package/bpk-component-icon/sm/device-mid.js +1 -0
  371. package/bpk-component-icon/sm/device-wide.js +1 -0
  372. package/bpk-component-icon/sm/direct.js +1 -0
  373. package/bpk-component-icon/sm/document-csv.js +1 -0
  374. package/bpk-component-icon/sm/document-pdf.js +1 -0
  375. package/bpk-component-icon/sm/download.js +1 -0
  376. package/bpk-component-icon/sm/duration.js +1 -0
  377. package/bpk-component-icon/sm/eco-leaf.js +1 -0
  378. package/bpk-component-icon/sm/edit.js +1 -0
  379. package/bpk-component-icon/sm/education.js +1 -0
  380. package/bpk-component-icon/sm/electric.js +1 -0
  381. package/bpk-component-icon/sm/end-call.js +1 -0
  382. package/bpk-component-icon/sm/estimated.js +1 -0
  383. package/bpk-component-icon/sm/exclamation-circle.js +1 -0
  384. package/bpk-component-icon/sm/exclamation.js +1 -0
  385. package/bpk-component-icon/sm/expand.js +1 -0
  386. package/bpk-component-icon/sm/explore.js +1 -0
  387. package/bpk-component-icon/sm/face--blank.js +1 -0
  388. package/bpk-component-icon/sm/face--happy.js +1 -0
  389. package/bpk-component-icon/sm/face--sad.js +1 -0
  390. package/bpk-component-icon/sm/face-id.js +1 -0
  391. package/bpk-component-icon/sm/face-mask.js +1 -0
  392. package/bpk-component-icon/sm/family.js +1 -0
  393. package/bpk-component-icon/sm/fast-track.js +1 -0
  394. package/bpk-component-icon/sm/fast-train.js +1 -0
  395. package/bpk-component-icon/sm/filter.js +1 -0
  396. package/bpk-component-icon/sm/fingerprint.js +1 -0
  397. package/bpk-component-icon/sm/flag.js +1 -0
  398. package/bpk-component-icon/sm/flask.js +1 -0
  399. package/bpk-component-icon/sm/flight-flexible.js +1 -0
  400. package/bpk-component-icon/sm/flight-landing.js +1 -0
  401. package/bpk-component-icon/sm/flight-takeoff.js +1 -0
  402. package/bpk-component-icon/sm/flight.js +1 -0
  403. package/bpk-component-icon/sm/food.js +1 -0
  404. package/bpk-component-icon/sm/gears-automatic-circle.js +1 -0
  405. package/bpk-component-icon/sm/gears-automatic.js +1 -0
  406. package/bpk-component-icon/sm/gears-manual-circle.js +1 -0
  407. package/bpk-component-icon/sm/gears-manual.js +1 -0
  408. package/bpk-component-icon/sm/globe.js +1 -0
  409. package/bpk-component-icon/sm/grid-layout.js +1 -0
  410. package/bpk-component-icon/sm/headset.js +1 -0
  411. package/bpk-component-icon/sm/health-fitness.js +1 -0
  412. package/bpk-component-icon/sm/heart--outline.js +1 -0
  413. package/bpk-component-icon/sm/heart.js +1 -0
  414. package/bpk-component-icon/sm/help-circle.js +1 -0
  415. package/bpk-component-icon/sm/help.js +1 -0
  416. package/bpk-component-icon/sm/hide.js +1 -0
  417. package/bpk-component-icon/sm/hotel-flexible.js +1 -0
  418. package/bpk-component-icon/sm/hotels--disabled-facilities.js +1 -0
  419. package/bpk-component-icon/sm/hotels--jacuzzi.js +1 -0
  420. package/bpk-component-icon/sm/hotels--pets-allowed.js +1 -0
  421. package/bpk-component-icon/sm/hotels--smoking.js +1 -0
  422. package/bpk-component-icon/sm/hotels.js +1 -0
  423. package/bpk-component-icon/sm/infant.js +1 -0
  424. package/bpk-component-icon/sm/information--language-alert.js +1 -0
  425. package/bpk-component-icon/sm/information--language-question.js +1 -0
  426. package/bpk-component-icon/sm/information--language.js +1 -0
  427. package/bpk-component-icon/sm/information-circle.js +1 -0
  428. package/bpk-component-icon/sm/information.js +1 -0
  429. package/bpk-component-icon/sm/insurance.js +1 -0
  430. package/bpk-component-icon/sm/key.js +1 -0
  431. package/bpk-component-icon/sm/keypad.js +1 -0
  432. package/bpk-component-icon/sm/landmark.js +1 -0
  433. package/bpk-component-icon/sm/language.js +1 -0
  434. package/bpk-component-icon/sm/legroom--extra.js +1 -0
  435. package/bpk-component-icon/sm/legroom--normal.js +1 -0
  436. package/bpk-component-icon/sm/legroom--reduced.js +1 -0
  437. package/bpk-component-icon/sm/leisure.js +1 -0
  438. package/bpk-component-icon/sm/lightning.js +1 -0
  439. package/bpk-component-icon/sm/list.js +1 -0
  440. package/bpk-component-icon/sm/location.js +1 -0
  441. package/bpk-component-icon/sm/lock.js +1 -0
  442. package/bpk-component-icon/sm/logout.js +1 -0
  443. package/bpk-component-icon/sm/long-arrow-down.js +1 -0
  444. package/bpk-component-icon/sm/long-arrow-left.js +1 -0
  445. package/bpk-component-icon/sm/long-arrow-right.js +1 -0
  446. package/bpk-component-icon/sm/long-arrow-up.js +1 -0
  447. package/bpk-component-icon/sm/lounge.js +1 -0
  448. package/bpk-component-icon/sm/luggageall.js +1 -0
  449. package/bpk-component-icon/sm/mail.js +1 -0
  450. package/bpk-component-icon/sm/map.js +1 -0
  451. package/bpk-component-icon/sm/meal.js +1 -0
  452. package/bpk-component-icon/sm/media.js +1 -0
  453. package/bpk-component-icon/sm/menu--horizontal.js +1 -0
  454. package/bpk-component-icon/sm/menu--vertical.js +1 -0
  455. package/bpk-component-icon/sm/menu.js +1 -0
  456. package/bpk-component-icon/sm/mileage.js +1 -0
  457. package/bpk-component-icon/sm/minus.js +1 -0
  458. package/bpk-component-icon/sm/mobile.js +1 -0
  459. package/bpk-component-icon/sm/money.js +1 -0
  460. package/bpk-component-icon/sm/multiple-bookings.js +1 -0
  461. package/bpk-component-icon/sm/music.js +1 -0
  462. package/bpk-component-icon/sm/mute.js +1 -0
  463. package/bpk-component-icon/sm/native-android--back.js +1 -0
  464. package/bpk-component-icon/sm/native-android--close.js +1 -0
  465. package/bpk-component-icon/sm/native-android--forward.js +1 -0
  466. package/bpk-component-icon/sm/native-ios-close.js +1 -0
  467. package/bpk-component-icon/sm/navigation.js +1 -0
  468. package/bpk-component-icon/sm/new-window.js +1 -0
  469. package/bpk-component-icon/sm/news.js +1 -0
  470. package/bpk-component-icon/sm/night.js +1 -0
  471. package/bpk-component-icon/sm/not-allowed.js +1 -0
  472. package/bpk-component-icon/sm/onsen.js +1 -0
  473. package/bpk-component-icon/sm/origin.js +1 -0
  474. package/bpk-component-icon/sm/paid.js +1 -0
  475. package/bpk-component-icon/sm/paperclip.js +1 -0
  476. package/bpk-component-icon/sm/parking.js +1 -0
  477. package/bpk-component-icon/sm/passport.js +1 -0
  478. package/bpk-component-icon/sm/pause.js +1 -0
  479. package/bpk-component-icon/sm/payment-card.js +1 -0
  480. package/bpk-component-icon/sm/petrol.js +1 -0
  481. package/bpk-component-icon/sm/phone-call.js +1 -0
  482. package/bpk-component-icon/sm/picture.js +1 -0
  483. package/bpk-component-icon/sm/pin.js +1 -0
  484. package/bpk-component-icon/sm/plane-seat.js +1 -0
  485. package/bpk-component-icon/sm/play.js +1 -0
  486. package/bpk-component-icon/sm/plus.js +1 -0
  487. package/bpk-component-icon/sm/policy.js +1 -0
  488. package/bpk-component-icon/sm/powerplug.js +1 -0
  489. package/bpk-component-icon/sm/ppe.js +1 -0
  490. package/bpk-component-icon/sm/price-alerts.js +1 -0
  491. package/bpk-component-icon/sm/price-tag.js +1 -0
  492. package/bpk-component-icon/sm/print.js +1 -0
  493. package/bpk-component-icon/sm/recent-searches.js +1 -0
  494. package/bpk-component-icon/sm/redo.js +1 -0
  495. package/bpk-component-icon/sm/refresh.js +1 -0
  496. package/bpk-component-icon/sm/return.js +1 -0
  497. package/bpk-component-icon/sm/room.js +1 -0
  498. package/bpk-component-icon/sm/scales.js +1 -0
  499. package/bpk-component-icon/sm/search.js +1 -0
  500. package/bpk-component-icon/sm/self-service.js +1 -0
  501. package/bpk-component-icon/sm/send-message.js +1 -0
  502. package/bpk-component-icon/sm/services.js +1 -0
  503. package/bpk-component-icon/sm/settings.js +1 -0
  504. package/bpk-component-icon/sm/share--android.js +1 -0
  505. package/bpk-component-icon/sm/share--ios.js +1 -0
  506. package/bpk-component-icon/sm/share.js +1 -0
  507. package/bpk-component-icon/sm/single-booking.js +1 -0
  508. package/bpk-component-icon/sm/social-distancing.js +1 -0
  509. package/bpk-component-icon/sm/social-like.js +1 -0
  510. package/bpk-component-icon/sm/sort-down.js +1 -0
  511. package/bpk-component-icon/sm/sort-up.js +1 -0
  512. package/bpk-component-icon/sm/sort.js +1 -0
  513. package/bpk-component-icon/sm/speaker.js +1 -0
  514. package/bpk-component-icon/sm/star-half.js +1 -0
  515. package/bpk-component-icon/sm/star-outline.js +1 -0
  516. package/bpk-component-icon/sm/star.js +1 -0
  517. package/bpk-component-icon/sm/stops.js +1 -0
  518. package/bpk-component-icon/sm/swap--horizontal.js +1 -0
  519. package/bpk-component-icon/sm/swap--vertical.js +1 -0
  520. package/bpk-component-icon/sm/swap.js +1 -0
  521. package/bpk-component-icon/sm/taxi.js +1 -0
  522. package/bpk-component-icon/sm/thumbs-down.js +1 -0
  523. package/bpk-component-icon/sm/thumbs-up.js +1 -0
  524. package/bpk-component-icon/sm/tick-circle.js +1 -0
  525. package/bpk-component-icon/sm/tick.js +1 -0
  526. package/bpk-component-icon/sm/ticket-flexible.js +1 -0
  527. package/bpk-component-icon/sm/ticket.js +1 -0
  528. package/bpk-component-icon/sm/time.js +1 -0
  529. package/bpk-component-icon/sm/toilets.js +1 -0
  530. package/bpk-component-icon/sm/train.js +1 -0
  531. package/bpk-component-icon/sm/transmission-automatic.js +1 -0
  532. package/bpk-component-icon/sm/transmission-manual.js +1 -0
  533. package/bpk-component-icon/sm/trash.js +1 -0
  534. package/bpk-component-icon/sm/trend--down.js +1 -0
  535. package/bpk-component-icon/sm/trend--steady.js +1 -0
  536. package/bpk-component-icon/sm/trend--will-rise.js +1 -0
  537. package/bpk-component-icon/sm/trend.js +1 -0
  538. package/bpk-component-icon/sm/trips.js +1 -0
  539. package/bpk-component-icon/sm/undo.js +1 -0
  540. package/bpk-component-icon/sm/unlock.js +1 -0
  541. package/bpk-component-icon/sm/unmute.js +1 -0
  542. package/bpk-component-icon/sm/upgrade.js +1 -0
  543. package/bpk-component-icon/sm/upload.js +1 -0
  544. package/bpk-component-icon/sm/use-location.js +1 -0
  545. package/bpk-component-icon/sm/view.js +1 -0
  546. package/bpk-component-icon/sm/virus.js +1 -0
  547. package/bpk-component-icon/sm/wallet.js +1 -0
  548. package/bpk-component-icon/sm/weather--clear.js +1 -0
  549. package/bpk-component-icon/sm/weather--cloudy.js +1 -0
  550. package/bpk-component-icon/sm/weather--fog.js +1 -0
  551. package/bpk-component-icon/sm/weather--partly-cloudy.js +1 -0
  552. package/bpk-component-icon/sm/weather--rain.js +1 -0
  553. package/bpk-component-icon/sm/weather--snow.js +1 -0
  554. package/bpk-component-icon/sm/weather--thunderstorm.js +1 -0
  555. package/bpk-component-icon/sm/weather--tornado.js +1 -0
  556. package/bpk-component-icon/sm/weather--wind.js +1 -0
  557. package/bpk-component-icon/sm/weather.js +1 -0
  558. package/bpk-component-icon/sm/wifi.js +1 -0
  559. package/bpk-component-icon/sm/window--reduce.js +1 -0
  560. package/bpk-component-icon/sm/window.js +1 -0
  561. package/bpk-component-icon/sm/world--amer.js +1 -0
  562. package/bpk-component-icon/sm/world--apac.js +1 -0
  563. package/bpk-component-icon/sm/world--emea.js +1 -0
  564. package/bpk-component-infinite-scroll/src/DataSource.js +1 -1
  565. package/bpk-component-modal/src/BpkModalV2/BpKModal.module.css +1 -1
  566. package/bpk-component-nudger/src/BpkConfigurableNudger.js +0 -1
  567. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGridList.js +4 -4
  568. package/bpk-component-select/src/BpkSelect.js +1 -1
  569. package/bpk-component-skip-link/src/BpkSkipLink.module.css +1 -1
  570. package/bpk-mixins/_index.scss +35 -0
  571. package/{bpk-storybook-utils/src/BpkStorybookUtils.js → bpk-mixins/sass-functions.js} +11 -13
  572. package/{bpk-storybook-utils/index.js → bpk-mixins/src/_bonds.scss} +3 -7
  573. package/bpk-mixins/src/mixins/_badges.scss +238 -0
  574. package/bpk-mixins/src/mixins/_borders.scss +266 -0
  575. package/bpk-mixins/src/mixins/_breakpoints.scss +219 -0
  576. package/bpk-mixins/src/mixins/_buttons.scss +568 -0
  577. package/bpk-mixins/src/mixins/_cards.scss +89 -0
  578. package/bpk-mixins/src/mixins/_chips.scss +234 -0
  579. package/bpk-mixins/src/mixins/_forms.scss +1045 -0
  580. package/bpk-mixins/src/mixins/_layers.scss +196 -0
  581. package/bpk-mixins/src/mixins/_margins.scss +71 -0
  582. package/bpk-mixins/src/mixins/_panels.scss +67 -0
  583. package/bpk-mixins/src/mixins/_radii.scss +78 -0
  584. package/bpk-mixins/src/mixins/_scroll-indicators.scss +77 -0
  585. package/bpk-mixins/src/mixins/_shadows.scss +56 -0
  586. package/bpk-mixins/src/mixins/_svgs.scss +265 -0
  587. package/bpk-mixins/src/mixins/_typography.scss +1037 -0
  588. package/bpk-mixins/src/mixins/_utils.scss +249 -0
  589. package/bpk-stylesheets/base.css +20 -0
  590. package/bpk-stylesheets/base.js +1 -0
  591. package/bpk-stylesheets/font.css +18 -0
  592. package/{bpk-storybook-utils/src/BpkDarkExampleWrapper.module.css → bpk-stylesheets/font.js} +7 -6
  593. package/bpk-stylesheets/font.scss +107 -0
  594. package/bpk-stylesheets/index.js +42 -0
  595. package/bpk-stylesheets/index.scss +76 -0
  596. package/bpk-theming/src/BpkThemeProvider.js +0 -1
  597. package/package.json +4 -3
  598. package/bpk-storybook-utils/src/BpkDarkExampleWrapper.js +0 -38
@@ -0,0 +1,1045 @@
1
+ /*
2
+ * Backpack - Skyscanner's Design System
3
+ *
4
+ * Copyright 2016 Skyscanner Ltd
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+
19
+ @import '../bonds.scss';
20
+
21
+ $bpk-spacing-v2: true;
22
+
23
+ ////
24
+ /// @group forms
25
+ ////
26
+
27
+ /// Form input. Can be used for text, email, number, password and tel type inputs.
28
+ ///
29
+ /// @example scss
30
+ /// .selector {
31
+ /// @include bpk-input();
32
+ /// }
33
+
34
+ @mixin bpk-input {
35
+ display: inline-block;
36
+ width: 100%;
37
+ height: $bpk-input-height;
38
+ padding: $bpk-input-padding-y $bpk-input-padding-x;
39
+ border: $bpk-input-border;
40
+ border-radius: $bpk-input-border-radius;
41
+ background: $bpk-input-background;
42
+ color: $bpk-text-primary-day;
43
+ appearance: none;
44
+
45
+ &::placeholder {
46
+ color: $bpk-text-secondary-day;
47
+ }
48
+
49
+ &:disabled {
50
+ border-color: $bpk-input-disabled-border-color;
51
+ background: $bpk-input-background;
52
+ color: $bpk-input-disabled-color;
53
+ cursor: not-allowed;
54
+ }
55
+
56
+ &[type='number'] {
57
+ -moz-appearance: textfield; // stylelint-disable property-no-vendor-prefix
58
+
59
+ &::-webkit-inner-spin-button,
60
+ &::-webkit-outer-spin-button {
61
+ appearance: none;
62
+ }
63
+ }
64
+
65
+ &[type='number'],
66
+ &[type='tel'],
67
+ &[type='email'] {
68
+ @include bpk-rtl {
69
+ text-align: right;
70
+ direction: ltr;
71
+ }
72
+ }
73
+
74
+ &::-ms-clear {
75
+ display: none;
76
+ }
77
+ }
78
+
79
+ /// Valid form input. Modifies the bpk-input mixin.
80
+ ///
81
+ /// @require {mixin} bpk-input
82
+ ///
83
+ /// @example scss
84
+ /// .selector {
85
+ /// @include bpk-input();
86
+ /// @include bpk-input--valid();
87
+ /// }
88
+
89
+ @mixin bpk-input--valid {
90
+ padding-right: bpk-spacing-xl();
91
+ background: $bpk-input-background
92
+ url(map-get($bpk-icons-sm, tick-circle-green-spot)) no-repeat right
93
+ bpk-spacing-md() center;
94
+ background-size: $bpk-icon-size-sm $bpk-icon-size-sm;
95
+
96
+ @include bpk-rtl {
97
+ padding-right: $bpk-input-padding-x;
98
+ padding-left: bpk-spacing-xl();
99
+ background-position: left bpk-spacing-md() center;
100
+ }
101
+ }
102
+
103
+ /// Invalid form input. Modifies the bpk-input mixin.
104
+ ///
105
+ /// @require {mixin} bpk-input
106
+ ///
107
+ /// @example scss
108
+ /// .selector {
109
+ /// @include bpk-input();
110
+ /// @include bpk-input--invalid();
111
+ /// }
112
+
113
+ @mixin bpk-input--invalid {
114
+ padding-right: bpk-spacing-xl();
115
+ background: $bpk-input-background
116
+ url(map-get($bpk-icons-sm, exclamation-circle-berry)) no-repeat right
117
+ bpk-spacing-md() center;
118
+ background-size: $bpk-icon-size-sm $bpk-icon-size-sm;
119
+
120
+ @include bpk-themeable-property(
121
+ border-color,
122
+ --bpk-input-invalid-border-color,
123
+ $bpk-form-validation-color
124
+ );
125
+
126
+ @include bpk-rtl {
127
+ padding-right: $bpk-input-padding-x;
128
+ padding-left: bpk-spacing-xl();
129
+ background-position: left bpk-spacing-md() center;
130
+ }
131
+ }
132
+
133
+ /// Clearable form input. Modifies the bpk-input mixin.
134
+ ///
135
+ /// @require {mixin} bpk-input
136
+ ///
137
+ /// @example scss
138
+ /// .selector {
139
+ /// @include bpk-input();
140
+ /// @include bpk-input--clearable();
141
+ /// }
142
+
143
+ @mixin bpk-input--clearable {
144
+ padding-right: bpk-spacing-xl();
145
+
146
+ @include bpk-rtl {
147
+ padding-right: $bpk-input-padding-x;
148
+ padding-left: bpk-spacing-xl();
149
+ }
150
+
151
+ &:focus {
152
+ background: $bpk-input-background;
153
+ }
154
+ }
155
+
156
+ /// Clearable form input container. Modifies the bpk-input mixin.
157
+ ///
158
+ /// @require {mixin} bpk-input
159
+ ///
160
+ /// @example scss
161
+ /// .selector {
162
+ /// @include bpk-input();
163
+ /// @include bpk-input__container();
164
+ /// }
165
+
166
+ @mixin bpk-input__container {
167
+ position: relative;
168
+ display: inline-block;
169
+ width: 100%;
170
+ }
171
+
172
+ /// Clearable (clear button) form input. Modifies the bpk-input mixin.
173
+ ///
174
+ /// @require {mixin} bpk-input
175
+ ///
176
+ /// @example scss
177
+ /// .selector {
178
+ /// @include bpk-input();
179
+ /// @include bpk-input__clear-button();
180
+ /// }
181
+
182
+ @mixin bpk-input__clear-button {
183
+ position: absolute;
184
+ right: bpk-spacing-md();
185
+ height: $bpk-input-height;
186
+
187
+ @include bpk-rtl {
188
+ right: inherit;
189
+ left: bpk-spacing-md();
190
+ }
191
+
192
+ &--large {
193
+ right: bpk-spacing-base();
194
+ height: $bpk-input-large-height;
195
+
196
+ @include bpk-rtl {
197
+ left: bpk-spacing-base();
198
+ }
199
+ }
200
+ }
201
+
202
+ /// Large form input. Modifies the bpk-input mixin.
203
+ ///
204
+ /// @require {mixin} bpk-input
205
+ ///
206
+ /// @example scss
207
+ /// .selector {
208
+ /// @include bpk-input();
209
+ /// @include bpk-input--large();
210
+ /// }
211
+
212
+ @mixin bpk-input--large {
213
+ height: $bpk-input-large-height;
214
+ padding-right: bpk-spacing-base();
215
+ padding-left: bpk-spacing-base();
216
+
217
+ &.bpk-input--valid,
218
+ &.bpk-input--invalid,
219
+ &.bpk-input--clearable {
220
+ padding-right: bpk-spacing-xxl();
221
+ background-position: right bpk-spacing-base() center;
222
+
223
+ @include bpk-rtl {
224
+ padding-right: bpk-spacing-base();
225
+ padding-left: bpk-spacing-xxl();
226
+ background-position: left bpk-spacing-base() center;
227
+ }
228
+ }
229
+ }
230
+
231
+ /// Docked (first-child) form input. Modifies the bpk-input mixin.
232
+ ///
233
+ /// @require {mixin} bpk-input
234
+ ///
235
+ /// @example scss
236
+ /// .selector {
237
+ /// @include bpk-input();
238
+ /// @include bpk-input--docked-first-child();
239
+ /// }
240
+
241
+ @mixin bpk-input--docked-first-child {
242
+ border-right-width: 0;
243
+ border-radius: $bpk-input-border-radius 0 0 $bpk-input-border-radius;
244
+
245
+ @include bpk-rtl {
246
+ border-right-width: $bpk-input-border-width;
247
+ border-left-width: 0;
248
+ border-radius: 0 $bpk-input-border-radius $bpk-input-border-radius 0;
249
+ }
250
+
251
+ &:focus {
252
+ position: relative; // brings outline to the front
253
+ }
254
+ }
255
+
256
+ /// Docked (last-child) form input. Modifies the bpk-input mixin.
257
+ ///
258
+ /// @require {mixin} bpk-input
259
+ ///
260
+ /// @example scss
261
+ /// .selector {
262
+ /// @include bpk-input();
263
+ /// @include bpk-input--docked-last-child();
264
+ /// }
265
+
266
+ @mixin bpk-input--docked-last-child {
267
+ border-radius: 0 $bpk-input-border-radius $bpk-input-border-radius 0;
268
+
269
+ @include bpk-rtl {
270
+ border-radius: $bpk-input-border-radius 0 0 $bpk-input-border-radius;
271
+ }
272
+
273
+ &:focus {
274
+ position: relative; // brings outline to the front
275
+ }
276
+ }
277
+
278
+ /// Docked (middle-child) form input. Modifies the bpk-input mixin.
279
+ ///
280
+ /// @require {mixin} bpk-input
281
+ ///
282
+ /// @example scss
283
+ /// .selector {
284
+ /// @include bpk-input();
285
+ /// @include bpk-input--docked-middle-child();
286
+ /// }
287
+
288
+ @mixin bpk-input--docked-middle-child {
289
+ border-right-width: 0;
290
+ border-radius: 0;
291
+
292
+ @include bpk-rtl {
293
+ border-right-width: $bpk-input-border-width;
294
+ border-left-width: 0;
295
+ }
296
+
297
+ &:focus {
298
+ position: relative; // brings outline to the front
299
+ }
300
+ }
301
+
302
+ /// Docked form input (inputs must sit side-by-side in the DOM). Modifies the bpk-input mixin.
303
+ ///
304
+ /// @require {mixin} bpk-input
305
+ ///
306
+ /// @example scss
307
+ /// .selector {
308
+ /// @include bpk-input();
309
+ /// @include bpk-input--docked();
310
+ /// }
311
+
312
+ @mixin bpk-input--docked {
313
+ &:first-child {
314
+ @include bpk-input--docked-first-child;
315
+ }
316
+
317
+ &:last-child {
318
+ @include bpk-input--docked-last-child;
319
+ }
320
+
321
+ &:not(:first-child):not(:last-child) {
322
+ @include bpk-input--docked-middle-child;
323
+ }
324
+ }
325
+
326
+ /// Form select input.
327
+ ///
328
+ /// @example scss
329
+ /// .selector {
330
+ /// @include bpk-select();
331
+ /// }
332
+
333
+ @mixin bpk-select {
334
+ display: inline-block;
335
+ width: 100%;
336
+ height: $bpk-input-height;
337
+ padding: bpk-spacing-md() - (2 * $bpk-one-pixel-rem) bpk-spacing-md();
338
+ padding-right: bpk-spacing-xl();
339
+ border: solid $bpk-one-pixel-rem $bpk-line-day;
340
+ border-radius: $bpk-select-border-radius;
341
+ background: $bpk-surface-default-day
342
+ url(map-get($bpk-icons-sm, arrow-down-charcoal)) no-repeat right
343
+ bpk-spacing-md() center;
344
+ background-size: $bpk-input-height / 2;
345
+ color: $bpk-text-primary-day;
346
+ line-height: ($bpk-line-height-base - (2 * $bpk-select-border-width));
347
+ appearance: none;
348
+
349
+ @include bpk-rtl {
350
+ padding-right: bpk-spacing-md();
351
+ padding-left: bpk-spacing-xl();
352
+ background-position: left bpk-spacing-md() center;
353
+ }
354
+
355
+ @media screen\0 {
356
+ /* stylelint-disable-next-line declaration-no-important */
357
+ padding: bpk-spacing-md() !important;
358
+ /* stylelint-disable-next-line declaration-no-important */
359
+ background-image: none !important;
360
+ }
361
+
362
+ &:disabled {
363
+ border-color: $bpk-surface-highlight-day;
364
+ background: $bpk-surface-default-day
365
+ url(map-get($bpk-icons-sm, arrow-down-black-alpha-20)) no-repeat right
366
+ bpk-spacing-md() center;
367
+ background-size: $bpk-input-height / 2;
368
+ color: $bpk-text-disabled-day;
369
+ cursor: not-allowed;
370
+ }
371
+ }
372
+
373
+ /// Large form select input. Modifies the bpk-select mixin.
374
+ ///
375
+ /// @require {mixin} bpk-select
376
+ ///
377
+ /// @example scss
378
+ /// .selector {
379
+ /// @include bpk-select();
380
+ /// @include bpk-select--large();
381
+ /// }
382
+
383
+ @mixin bpk-select--large {
384
+ height: $bpk-input-large-height;
385
+ padding: bpk-spacing-md() bpk-spacing-base();
386
+ padding-right: bpk-spacing-xxl();
387
+ background: $bpk-surface-default-day
388
+ url(map-get($bpk-icons-sm, arrow-down-charcoal)) no-repeat right
389
+ bpk-spacing-base() center;
390
+
391
+ @include bpk-rtl {
392
+ padding-right: bpk-spacing-base();
393
+ padding-left: bpk-spacing-xxl();
394
+ background-position: left bpk-spacing-base() center;
395
+ }
396
+ }
397
+
398
+ /// Docked (first-child) form select input. Modifies the bpk-select mixin.
399
+ ///
400
+ /// @require {mixin} bpk-select
401
+ ///
402
+ /// @example scss
403
+ /// .selector {
404
+ /// @include bpk-select();
405
+ /// @include bpk-select--docked-first-child();
406
+ /// }
407
+
408
+ @mixin bpk-select--docked-first-child {
409
+ border-right-width: 0;
410
+ border-radius: $bpk-select-border-radius 0 0 $bpk-select-border-radius;
411
+
412
+ @include bpk-rtl {
413
+ border-right-width: $bpk-select-border-width;
414
+ border-left-width: 0;
415
+ border-radius: 0 $bpk-select-border-radius $bpk-select-border-radius 0;
416
+ }
417
+ }
418
+
419
+ /// Docked (last-child) form select input. Modifies the bpk-select mixin.
420
+ ///
421
+ /// @require {mixin} bpk-select
422
+ ///
423
+ /// @example scss
424
+ /// .selector {
425
+ /// @include bpk-select();
426
+ /// @include bpk-select--docked-last-child();
427
+ /// }
428
+
429
+ @mixin bpk-select--docked-last-child {
430
+ border-radius: 0 $bpk-select-border-radius $bpk-select-border-radius 0;
431
+
432
+ @include bpk-rtl {
433
+ border-radius: $bpk-select-border-radius 0 0 $bpk-select-border-radius;
434
+ }
435
+ }
436
+
437
+ /// Docked (middle-child) form select input. Modifies the bpk-select mixin.
438
+ ///
439
+ /// @require {mixin} bpk-select
440
+ ///
441
+ /// @example scss
442
+ /// .selector {
443
+ /// @include bpk-select();
444
+ /// @include bpk-select--docked-middle-child();
445
+ /// }
446
+
447
+ @mixin bpk-select--docked-middle-child {
448
+ border-right-width: 0;
449
+ border-radius: 0;
450
+
451
+ @include bpk-rtl {
452
+ border-right-width: $bpk-select-border-width;
453
+ border-left-width: 0;
454
+ }
455
+ }
456
+
457
+ /// Docked form select input (selects must sit side-by-side in the DOM). Modifies the bpk-select mixin.
458
+ ///
459
+ /// @require {mixin} bpk-select
460
+ ///
461
+ /// @example scss
462
+ /// .selector {
463
+ /// @include bpk-select();
464
+ /// @include bpk-select--docked();
465
+ /// }
466
+
467
+ @mixin bpk-select--docked {
468
+ &:first-child {
469
+ @include bpk-select--docked-first-child;
470
+ }
471
+
472
+ &:last-child {
473
+ @include bpk-select--docked-last-child;
474
+ }
475
+
476
+ &:not(:first-child):not(:last-child) {
477
+ @include bpk-select--docked-middle-child;
478
+ }
479
+ }
480
+
481
+ /// Invalid form input. Modifies the bpk-selct mixin.
482
+ ///
483
+ /// @require {mixin} bpk-select
484
+ ///
485
+ /// @example scss
486
+ /// .selector {
487
+ /// @include bpk-select();
488
+ /// @include bpk-select--invalid();
489
+ /// }
490
+
491
+ @mixin bpk-select--invalid {
492
+ padding-right: bpk-spacing-xl();
493
+ background: $bpk-surface-default-day
494
+ url(map-get($bpk-icons-sm, arrow-down-charcoal)) no-repeat right
495
+ bpk-spacing-md() center;
496
+ background-size: $bpk-input-height / 2;
497
+
498
+ @include bpk-themeable-property(
499
+ border-color,
500
+ --bpk-select-invalid-border-color,
501
+ $bpk-form-validation-color
502
+ );
503
+
504
+ @include bpk-rtl {
505
+ padding-right: bpk-spacing-md();
506
+ padding-left: bpk-spacing-xl();
507
+ background-position: left bpk-spacing-md() center;
508
+ }
509
+ }
510
+
511
+ /// Form checkbox. Should be applied to containing label element.
512
+ ///
513
+ /// @example scss
514
+ /// .selector {
515
+ /// @include bpk-checkbox();
516
+ /// }
517
+
518
+ @mixin bpk-checkbox {
519
+ position: relative;
520
+ display: inline-block;
521
+ padding-left: bpk-spacing-lg() + bpk-spacing-sm();
522
+
523
+ @include bpk-text;
524
+ @include bpk-body-default;
525
+
526
+ @include bpk-rtl {
527
+ padding-right: bpk-spacing-lg() + bpk-spacing-sm();
528
+ padding-left: 0;
529
+ }
530
+ }
531
+
532
+ /// Label for checkbox. Should be applied to label text element.
533
+ ///
534
+ /// @example scss
535
+ /// .selector {
536
+ /// @include bpk-checkbox__label();
537
+ /// }
538
+
539
+ @mixin bpk-checkbox__label {
540
+ vertical-align: baseline;
541
+ }
542
+
543
+ /// Small label for checkbox. Should be applied to label text element.
544
+ /// Modifies bpk-checkbox__label.
545
+ ///
546
+ /// @example scss
547
+ /// .selector {
548
+ /// @include bpk-checkbox__label();
549
+ /// @include bpk-checkbox__label--small();
550
+ /// }
551
+
552
+ @mixin bpk-checkbox__label--small {
553
+ @include bpk-text;
554
+ @include bpk-caption;
555
+ }
556
+
557
+ /// White label checkbox. Modifies the bpk-checkbox mixin.
558
+ ///
559
+ /// @require {mixin} bpk-checkbox
560
+ ///
561
+ /// @example scss
562
+ /// .selector {
563
+ /// @include bpk-checkbox();
564
+ /// @include bpk-checkbox--white();
565
+ /// }
566
+
567
+ @mixin bpk-checkbox--white {
568
+ color: $bpk-surface-default-day;
569
+ }
570
+
571
+ /// Disabled form checkbox. Modifies the bpk-checkbox mixin.
572
+ ///
573
+ /// @require {mixin} bpk-checkbox
574
+ ///
575
+ /// @example scss
576
+ /// .selector {
577
+ /// @include bpk-checkbox();
578
+ /// @include bpk-checkbox--disabled();
579
+ /// }
580
+
581
+ @mixin bpk-checkbox--disabled {
582
+ color: $bpk-label-disabled-color;
583
+ cursor: not-allowed;
584
+ }
585
+
586
+ /// Invalid form checkbox. Modifies the bpk-checkbox mixin.
587
+ ///
588
+ /// @require {mixin} bpk-checkbox
589
+ ///
590
+ /// @example scss
591
+ /// .selector {
592
+ /// @include bpk-checkbox();
593
+ /// @include bpk-checkbox--invalid();
594
+ /// }
595
+
596
+ @mixin bpk-checkbox--invalid {
597
+ input[type='checkbox'] {
598
+ border: ($bpk-one-pixel-rem * 3) solid $bpk-text-error-day;
599
+ }
600
+ }
601
+
602
+ /// Used to create the check/tick inside
603
+ /// a checked checkbox.
604
+ ///
605
+ /// @example scss
606
+ /// .selector {
607
+ /// @include bpk-checkbox__checkmark();
608
+ /// }
609
+ @mixin bpk-checkbox__checkmark {
610
+ &::before,
611
+ &::after {
612
+ position: absolute;
613
+ content: '';
614
+ transform: rotate(45deg);
615
+ border-radius: $bpk-border-size-lg;
616
+ background-color: $bpk-text-primary-inverse-day;
617
+ }
618
+
619
+ &::before {
620
+ top: bpk-spacing-md() - $bpk-one-pixel-rem;
621
+ left: 0;
622
+ width: bpk-spacing-lg() / 3;
623
+ height: bpk-spacing-sm() - $bpk-one-pixel-rem;
624
+ }
625
+
626
+ &::after {
627
+ top: bpk-spacing-sm() / 2;
628
+ left: bpk-spacing-md() - $bpk-one-pixel-rem;
629
+ width: bpk-spacing-sm() - $bpk-one-pixel-rem;
630
+ height: bpk-spacing-md() + ($bpk-one-pixel-rem * 3);
631
+ }
632
+
633
+ &:disabled {
634
+ &::before,
635
+ &::after {
636
+ background-color: $bpk-text-disabled-day;
637
+ }
638
+ }
639
+ }
640
+
641
+ /// Form checkbox input.
642
+ ///
643
+ /// @example scss
644
+ /// .selector {
645
+ /// @include bpk-checkbox__input();
646
+ /// }
647
+
648
+ @mixin bpk-checkbox__input {
649
+ $checkbox-input-size: bpk-spacing-lg() - ($bpk-one-pixel-rem * 4);
650
+
651
+ position: absolute;
652
+ top: ($bpk-line-height-base - $checkbox-input-size) / 2;
653
+ left: 0;
654
+ width: $checkbox-input-size;
655
+ height: $checkbox-input-size;
656
+ margin: 0;
657
+ padding: 0;
658
+ border: ($bpk-one-pixel-rem * 3) solid $bpk-text-secondary-day;
659
+ border-radius: ($bpk-one-pixel-rem * 4);
660
+ cursor: pointer;
661
+ vertical-align: text-bottom;
662
+ appearance: none;
663
+
664
+ @include bpk-rtl {
665
+ right: 0;
666
+ left: auto;
667
+ }
668
+
669
+ @media screen\0 {
670
+ /* stylelint-disable-next-line declaration-no-important */
671
+ background: none !important;
672
+ }
673
+
674
+ &:checked,
675
+ &:indeterminate {
676
+ @include bpk-themeable-property(
677
+ background-color,
678
+ --bpk-checkbox-checked-color,
679
+ $bpk-core-accent-day
680
+ );
681
+ @include bpk-themeable-property(
682
+ border-color,
683
+ --bpk-checkbox-checked-color,
684
+ $bpk-core-accent-day
685
+ );
686
+
687
+ &:disabled {
688
+ border-color: $bpk-text-disabled-day;
689
+ background: none;
690
+ }
691
+ }
692
+
693
+ &:checked:not(:indeterminate) {
694
+ @include bpk-checkbox__checkmark;
695
+ }
696
+
697
+ &:disabled {
698
+ border-color: $bpk-text-disabled-day;
699
+ }
700
+ }
701
+
702
+ /// Form radio button mixin. This is a reusable mixin to set border styles for the radio button.
703
+ ///
704
+ /// @param {variable} $color
705
+ ///
706
+ /// @access private
707
+ @mixin _bpk-radio-border($color) {
708
+ border: $bpk-border-size-xl solid $color;
709
+ border-radius: $bpk-border-radius-lg;
710
+ }
711
+
712
+ /// Form radio button. Should be applied to containing label element.
713
+ ///
714
+ /// @example scss
715
+ /// .selector {
716
+ /// @include bpk-radio();
717
+ /// }
718
+
719
+ @mixin bpk-radio {
720
+ position: relative;
721
+ display: inline-block;
722
+ padding-left: bpk-spacing-lg() + bpk-spacing-sm();
723
+
724
+ @include bpk-rtl {
725
+ padding-right: bpk-spacing-lg() + bpk-spacing-sm();
726
+ padding-left: 0;
727
+ }
728
+ }
729
+
730
+ /// Disabled form radio button. Modifies the bpk-radio mixin.
731
+ ///
732
+ /// @require {mixin} bpk-radio
733
+ ///
734
+ /// @example scss
735
+ /// .selector {
736
+ /// @include bpk-radio();
737
+ /// @include bpk-radio--disabled();
738
+ /// }
739
+
740
+ @mixin bpk-radio--disabled {
741
+ color: $bpk-label-disabled-color;
742
+ cursor: not-allowed;
743
+ }
744
+
745
+ /// White label radio button. Modifies the bpk-radio mixin.
746
+ ///
747
+ /// @require {mixin} bpk-radio
748
+ ///
749
+ /// @example scss
750
+ /// .selector {
751
+ /// @include bpk-radio();
752
+ /// @include bpk-radio--white();
753
+ /// }
754
+
755
+ @mixin bpk-radio--white {
756
+ color: $bpk-text-primary-inverse-day;
757
+
758
+ input[type='radio'] {
759
+ background: $bpk-text-primary-inverse-day;
760
+ }
761
+ }
762
+
763
+ /// Invalid radio button. Modifies the bpk-radio mixin.
764
+ ///
765
+ /// @require {mixin} bpk-radio
766
+ ///
767
+ /// @example scss
768
+ /// .selector {
769
+ /// @include bpk-radio();
770
+ /// @include bpk-radio--invalid();
771
+ /// }
772
+
773
+ @mixin bpk-radio--invalid {
774
+ input[type='radio'] {
775
+ @include _bpk-radio-border($bpk-text-error-day);
776
+ }
777
+ }
778
+
779
+ /// Form radio input.
780
+ ///
781
+ /// @example scss
782
+ /// .selector {
783
+ /// @include bpk-radio__input();
784
+ /// }
785
+
786
+ @mixin bpk-radio__input {
787
+ $bpk-radio-size: bpk-spacing-lg() - ($bpk-one-pixel-rem * 4);
788
+
789
+ position: absolute;
790
+ top: 0;
791
+ left: 0;
792
+ width: $bpk-radio-size;
793
+ height: $bpk-radio-size;
794
+ margin: 0;
795
+ padding: 0;
796
+ cursor: pointer;
797
+ vertical-align: text-bottom;
798
+ appearance: none;
799
+
800
+ @include _bpk-radio-border($bpk-text-secondary-day);
801
+
802
+ @include bpk-rtl {
803
+ right: 0;
804
+ left: auto;
805
+ }
806
+
807
+ @media screen\0 {
808
+ /* stylelint-disable-next-line declaration-no-important */
809
+ background: none !important;
810
+ }
811
+
812
+ &:checked {
813
+ @include bpk-themeable-property(
814
+ border-color,
815
+ --bpk-radio-checked-color,
816
+ $bpk-core-accent-day
817
+ );
818
+
819
+ &:disabled {
820
+ border-color: $bpk-text-disabled-day;
821
+ }
822
+ }
823
+
824
+ &:disabled {
825
+ border-color: $bpk-text-disabled-day;
826
+ }
827
+ }
828
+
829
+ /// Form label.
830
+ ///
831
+ /// @example scss
832
+ /// .selector {
833
+ /// @include bpk-label();
834
+ /// }
835
+
836
+ @mixin bpk-label {
837
+ display: block;
838
+ color: $bpk-text-primary-day;
839
+ font-size: $bpk-font-size-xs;
840
+ font-weight: $bpk-font-weight-bold;
841
+ line-height: $bpk-line-height-xs;
842
+ }
843
+
844
+ /// Invalid form label. Modifies the bpk-label mixin.
845
+ ///
846
+ /// @require {mixin} bpk-label
847
+ ///
848
+ /// @example scss
849
+ /// .selector {
850
+ /// @include bpk-label();
851
+ /// @include bpk-label--invalid();
852
+ /// }
853
+
854
+ @mixin bpk-label--invalid {
855
+ @include bpk-themeable-property(
856
+ color,
857
+ --bpk-form-validation-text-color,
858
+ $bpk-form-validation-color
859
+ );
860
+ }
861
+
862
+ /// White form label. Modifies the bpk-label mixin.
863
+ ///
864
+ /// @require {mixin} bpk-label
865
+ ///
866
+ /// @example scss
867
+ /// .selector {
868
+ /// @include bpk-label();
869
+ /// @include bpk-label--white();
870
+ /// }
871
+
872
+ @mixin bpk-label--white {
873
+ color: $bpk-color-white;
874
+ }
875
+
876
+ /// Disabled form label. Modifies the bpk-label mixin.
877
+ ///
878
+ /// @require {mixin} bpk-label
879
+ ///
880
+ /// @example scss
881
+ /// .selector {
882
+ /// @include bpk-label();
883
+ /// @include bpk-label--disabled();
884
+ /// }
885
+
886
+ @mixin bpk-label--disabled {
887
+ color: $bpk-label-disabled-color;
888
+ cursor: not-allowed;
889
+ }
890
+
891
+ /// Form validation.
892
+ ///
893
+ /// @example scss
894
+ /// .selector {
895
+ /// @include bpk-form-validation();
896
+ /// }
897
+
898
+ @mixin bpk-form-validation {
899
+ position: relative;
900
+ transform: translateY(-#{$bpk-spacing-sm});
901
+ transition:
902
+ opacity $bpk-duration-sm ease-in-out,
903
+ transform $bpk-duration-sm ease-in-out;
904
+ opacity: 0;
905
+
906
+ @include bpk-themeable-property(
907
+ color,
908
+ --bpk-form-validation-text-color,
909
+ $bpk-form-validation-color
910
+ );
911
+ }
912
+
913
+ /// Form validation transition state. Modifies the bpk-form-validation mixin.
914
+ ///
915
+ /// @require {mixin} bpk-form-validation
916
+ ///
917
+ /// @example scss
918
+ /// .selector {
919
+ /// @include bpk-form-validation();
920
+ ///
921
+ /// &--appear {
922
+ /// @include bpk-form-validation--appear();
923
+ /// }
924
+ /// }
925
+
926
+ @mixin bpk-form-validation--appear {
927
+ transform: translateY(0);
928
+ opacity: 1;
929
+ }
930
+
931
+ /// Checkbox form validation. Modifies the bpk-form-validation mixin.
932
+ ///
933
+ /// @require {mixin} bpk-form-validation
934
+ ///
935
+ /// @example scss
936
+ /// .selector {
937
+ /// @include bpk-form-validation();
938
+ ///
939
+ /// &--is-checkbox {
940
+ /// @include bpk-form-validation--is-checkbox();
941
+ /// }
942
+ /// }
943
+
944
+ @mixin bpk-form-validation--is-checkbox {
945
+ display: inline-block;
946
+ }
947
+
948
+ /// Form validation container.
949
+ ///
950
+ /// @example scss
951
+ /// .selector {
952
+ /// @include bpk-form-validation__container();
953
+ /// }
954
+
955
+ @mixin bpk-form-validation__container {
956
+ margin-top: bpk-spacing-md();
957
+ font-size: $bpk-font-size-xs;
958
+ }
959
+
960
+ /// Form textarea.
961
+ ///
962
+ /// @example scss
963
+ /// .selector {
964
+ /// @include bpk-textarea();
965
+ /// }
966
+
967
+ @mixin bpk-textarea {
968
+ display: inline-block;
969
+ width: 100%;
970
+ max-width: 100%;
971
+ min-height: bpk-spacing-md() * 11;
972
+ padding: $bpk-input-padding-y $bpk-input-padding-x;
973
+ border: $bpk-input-border;
974
+ border-radius: $bpk-input-border-radius;
975
+ background: $bpk-input-background;
976
+ color: $bpk-text-primary-day;
977
+ appearance: none;
978
+
979
+ &::placeholder {
980
+ color: $bpk-text-secondary-day;
981
+ }
982
+
983
+ &:disabled {
984
+ border-color: $bpk-input-disabled-border-color;
985
+ background: $bpk-input-background;
986
+ color: $bpk-input-disabled-color;
987
+ cursor: not-allowed;
988
+ }
989
+
990
+ &::-ms-clear {
991
+ display: none;
992
+ }
993
+ }
994
+
995
+ /// Invalid form input. Modifies the bpk-textarea mixin.
996
+ ///
997
+ /// @require {mixin} bpk-textarea
998
+ ///
999
+ /// @example scss
1000
+ /// .selector {
1001
+ /// @include bpk-textarea();
1002
+ /// @include bpk-textarea--invalid();
1003
+ /// }
1004
+
1005
+ @mixin bpk-textarea--invalid {
1006
+ padding-right: bpk-spacing-xl();
1007
+ background: $bpk-input-background
1008
+ url(map-get($bpk-icons-sm, exclamation-circle-berry)) no-repeat right
1009
+ bpk-spacing-md() center;
1010
+
1011
+ @include bpk-themeable-property(
1012
+ border-color,
1013
+ --bpk-textarea-invalid-border-color,
1014
+ $bpk-form-validation-color
1015
+ );
1016
+
1017
+ @include bpk-rtl {
1018
+ padding-right: $bpk-input-padding-x;
1019
+ padding-left: bpk-spacing-xl();
1020
+ background-position: left bpk-spacing-md() center;
1021
+
1022
+ &.bpk-textarea--large {
1023
+ padding-right: bpk-spacing-base();
1024
+ padding-left: bpk-spacing-xxl();
1025
+ background-position: right bpk-spacing-base() center;
1026
+ }
1027
+ }
1028
+ }
1029
+
1030
+ @mixin bpk-textarea--large {
1031
+ min-height: 6 * bpk-spacing-base();
1032
+ padding-right: bpk-spacing-base();
1033
+ padding-left: bpk-spacing-base();
1034
+
1035
+ &.bpk-textarea--invalid {
1036
+ padding-right: bpk-spacing-xxl();
1037
+ background-position: right bpk-spacing-base() center;
1038
+
1039
+ @include bpk-rtl {
1040
+ padding-right: bpk-spacing-base();
1041
+ padding-left: bpk-spacing-xxl();
1042
+ background-position: left bpk-spacing-base() center;
1043
+ }
1044
+ }
1045
+ }