@ivds/core 0.1.1 → 1.0.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 (1432) hide show
  1. package/CHANGELOG.md +17 -22
  2. package/README.md +16 -12
  3. package/lib/__tests__/example.test.css +9 -0
  4. package/lib/__tests__/example.test.css.map +1 -0
  5. package/lib/__tests__/example.test.min.css +1 -0
  6. package/lib/__tests__/example.test.min.css.map +1 -0
  7. package/lib/all.css +5936 -3096
  8. package/lib/all.css.map +1 -0
  9. package/lib/all.min.css +1 -1
  10. package/lib/all.min.css.map +1 -0
  11. package/lib/base/base.css +234 -66
  12. package/lib/base/base.css.map +1 -0
  13. package/lib/base/base.min.css +1 -1
  14. package/lib/base/base.min.css.map +1 -0
  15. package/lib/components/alert/_alert-mixin.scss +55 -0
  16. package/lib/components/alert/alert.css +84 -0
  17. package/lib/components/alert/alert.css.map +1 -0
  18. package/lib/components/alert/alert.min.css +1 -0
  19. package/lib/components/alert/alert.min.css.map +1 -0
  20. package/lib/components/all.css +1734 -1780
  21. package/lib/components/all.css.map +1 -0
  22. package/lib/components/all.min.css +1 -1
  23. package/lib/components/all.min.css.map +1 -0
  24. package/lib/components/badge/_badge-mixin.scss +35 -0
  25. package/lib/components/badge/badge.css +53 -0
  26. package/lib/components/badge/badge.css.map +1 -0
  27. package/lib/components/badge/badge.min.css +1 -0
  28. package/lib/components/badge/badge.min.css.map +1 -0
  29. package/lib/components/breadcrumb/_breadcrumb-mixin.scss +51 -0
  30. package/lib/components/{_breadcrumb-mixins.scss → breadcrumb/_breadcrumb-mixins.scss} +17 -14
  31. package/lib/components/breadcrumb/breadcrumb.css +28 -118
  32. package/lib/components/breadcrumb/breadcrumb.css.map +1 -0
  33. package/lib/components/breadcrumb/breadcrumb.min.css +1 -1
  34. package/lib/components/breadcrumb/breadcrumb.min.css.map +1 -0
  35. package/lib/components/button/__tests__/button-mixins.test.css +29 -0
  36. package/lib/components/button/__tests__/button-mixins.test.css.map +1 -0
  37. package/lib/components/button/__tests__/button-mixins.test.min.css +1 -0
  38. package/lib/components/button/__tests__/button-mixins.test.min.css.map +1 -0
  39. package/lib/components/button/_button-mixin.scss +203 -0
  40. package/lib/components/button/button.css +279 -124
  41. package/lib/components/button/button.css.map +1 -0
  42. package/lib/components/button/button.min.css +1 -1
  43. package/lib/components/button/button.min.css.map +1 -0
  44. package/lib/components/card/__tests__/card-mixins.test.css +28 -0
  45. package/lib/components/card/__tests__/card-mixins.test.css.map +1 -0
  46. package/lib/components/card/__tests__/card-mixins.test.min.css +1 -0
  47. package/lib/components/card/__tests__/card-mixins.test.min.css.map +1 -0
  48. package/lib/components/{_card-mixin.scss → card/_card-mixin.scss} +208 -196
  49. package/lib/components/card/card.css +85 -86
  50. package/lib/components/card/card.css.map +1 -0
  51. package/lib/components/card/card.min.css +1 -1
  52. package/lib/components/card/card.min.css.map +1 -0
  53. package/lib/components/checkbox/_checkbox-mixin.scss +92 -0
  54. package/lib/components/checkbox/checkbox.css +52 -255
  55. package/lib/components/checkbox/checkbox.css.map +1 -0
  56. package/lib/components/checkbox/checkbox.min.css +1 -1
  57. package/lib/components/checkbox/checkbox.min.css.map +1 -0
  58. package/lib/components/footer/_footer-mixin.scss +202 -0
  59. package/lib/components/footer/footer.css +142 -407
  60. package/lib/components/footer/footer.css.map +1 -0
  61. package/lib/components/footer/footer.min.css +1 -1
  62. package/lib/components/footer/footer.min.css.map +1 -0
  63. package/lib/components/header/_header-mixin.scss +208 -0
  64. package/lib/components/header/header.css +130 -203
  65. package/lib/components/header/header.css.map +1 -0
  66. package/lib/components/header/header.min.css +1 -1
  67. package/lib/components/header/header.min.css.map +1 -0
  68. package/lib/components/modal/_modal-mixin.scss +99 -0
  69. package/lib/components/modal/modal.css +115 -0
  70. package/lib/components/modal/modal.css.map +1 -0
  71. package/lib/components/modal/modal.min.css +1 -0
  72. package/lib/components/modal/modal.min.css.map +1 -0
  73. package/lib/components/modal/modal.min.css.ts +5 -0
  74. package/lib/components/navigation/_navigation-mixins.scss +166 -0
  75. package/lib/components/navigation/navigation.css +108 -168
  76. package/lib/components/navigation/navigation.css.map +1 -0
  77. package/lib/components/navigation/navigation.min.css +1 -1
  78. package/lib/components/navigation/navigation.min.css.map +1 -0
  79. package/lib/components/{_notification-mixin.scss → notification/_notification-mixin.scss} +211 -239
  80. package/lib/components/notification/notification.css +71 -85
  81. package/lib/components/notification/notification.css.map +1 -0
  82. package/lib/components/notification/notification.min.css +1 -1
  83. package/lib/components/notification/notification.min.css.map +1 -0
  84. package/lib/components/notification/notification.min.css.ts +5 -0
  85. package/lib/components/{_pagination-mixins.scss → pagination/_pagination-mixins.scss} +31 -30
  86. package/lib/components/pagination/pagination.css +45 -45
  87. package/lib/components/pagination/pagination.css.map +1 -0
  88. package/lib/components/pagination/pagination.min.css +1 -1
  89. package/lib/components/pagination/pagination.min.css.map +1 -0
  90. package/lib/components/radio-button/_radio-button-mixin.scss +93 -0
  91. package/lib/components/radio-button/radio-button.css +54 -283
  92. package/lib/components/radio-button/radio-button.css.map +1 -0
  93. package/lib/components/radio-button/radio-button.min.css +1 -1
  94. package/lib/components/radio-button/radio-button.min.css.map +1 -0
  95. package/lib/components/select/_select-mixin.scss +76 -0
  96. package/lib/components/select/select.css +90 -0
  97. package/lib/components/select/select.css.map +1 -0
  98. package/lib/components/select/select.min.css +1 -0
  99. package/lib/components/select/select.min.css.map +1 -0
  100. package/lib/components/switch/_switch-mixin.scss +71 -0
  101. package/lib/components/switch/switch.css +117 -0
  102. package/lib/components/switch/switch.css.map +1 -0
  103. package/lib/components/switch/switch.min.css +1 -0
  104. package/lib/components/switch/switch.min.css.map +1 -0
  105. package/lib/components/tabs/_tabs-mixin.scss +55 -0
  106. package/lib/components/tabs/tabs.css +59 -0
  107. package/lib/components/tabs/tabs.css.map +1 -0
  108. package/lib/components/tabs/tabs.min.css +1 -0
  109. package/lib/components/tabs/tabs.min.css.map +1 -0
  110. package/lib/components/tag/_tag-mixin.scss +163 -0
  111. package/lib/components/tag/tag.css +134 -194
  112. package/lib/components/tag/tag.css.map +1 -0
  113. package/lib/components/tag/tag.min.css +1 -1
  114. package/lib/components/tag/tag.min.css.map +1 -0
  115. package/lib/components/text-input/_text-input-mixin.scss +233 -0
  116. package/lib/components/text-input/text-input.css +111 -97
  117. package/lib/components/text-input/text-input.css.map +1 -0
  118. package/lib/components/text-input/text-input.min.css +1 -1
  119. package/lib/components/text-input/text-input.min.css.map +1 -0
  120. package/lib/gov/gov.css +486 -0
  121. package/lib/gov/gov.css.map +1 -0
  122. package/lib/gov/gov.min.css +1 -0
  123. package/lib/gov/gov.min.css.map +1 -0
  124. package/lib/icons/alert-circle-fill.css +12 -0
  125. package/lib/icons/alert-circle-fill.css.map +1 -0
  126. package/lib/icons/alert-circle-fill.min.css +1 -0
  127. package/lib/icons/alert-circle-fill.min.css.map +1 -0
  128. package/lib/icons/alert-circle.css +12 -0
  129. package/lib/icons/alert-circle.css.map +1 -0
  130. package/lib/icons/alert-circle.min.css +1 -0
  131. package/lib/icons/alert-circle.min.css.map +1 -0
  132. package/lib/icons/angle-down.css +12 -0
  133. package/lib/icons/angle-down.css.map +1 -0
  134. package/lib/icons/angle-down.min.css +1 -0
  135. package/lib/icons/angle-down.min.css.map +1 -0
  136. package/lib/icons/angle-left.css +12 -0
  137. package/lib/icons/angle-left.css.map +1 -0
  138. package/lib/icons/angle-left.min.css +1 -0
  139. package/lib/icons/angle-left.min.css.map +1 -0
  140. package/lib/icons/angle-right.css +12 -0
  141. package/lib/icons/angle-right.css.map +1 -0
  142. package/lib/icons/angle-right.min.css +1 -0
  143. package/lib/icons/angle-right.min.css.map +1 -0
  144. package/lib/icons/angle-up.css +12 -0
  145. package/lib/icons/angle-up.css.map +1 -0
  146. package/lib/icons/angle-up.min.css +1 -0
  147. package/lib/icons/angle-up.min.css.map +1 -0
  148. package/lib/icons/arrow-bottom-left.css +12 -0
  149. package/lib/icons/arrow-bottom-left.css.map +1 -0
  150. package/lib/icons/arrow-bottom-left.min.css +1 -0
  151. package/lib/icons/arrow-bottom-left.min.css.map +1 -0
  152. package/lib/icons/arrow-bottom-right.css +12 -0
  153. package/lib/icons/arrow-bottom-right.css.map +1 -0
  154. package/lib/icons/arrow-bottom-right.min.css +1 -0
  155. package/lib/icons/arrow-bottom-right.min.css.map +1 -0
  156. package/lib/icons/arrow-down.css +12 -0
  157. package/lib/icons/arrow-down.css.map +1 -0
  158. package/lib/icons/arrow-down.min.css +1 -0
  159. package/lib/icons/arrow-down.min.css.map +1 -0
  160. package/lib/icons/arrow-left.css +12 -0
  161. package/lib/icons/arrow-left.css.map +1 -0
  162. package/lib/icons/arrow-left.min.css +1 -0
  163. package/lib/icons/arrow-left.min.css.map +1 -0
  164. package/lib/icons/arrow-redo.css +12 -0
  165. package/lib/icons/arrow-redo.css.map +1 -0
  166. package/lib/icons/arrow-redo.min.css +1 -0
  167. package/lib/icons/arrow-redo.min.css.map +1 -0
  168. package/lib/icons/arrow-right-dashed.css +12 -0
  169. package/lib/icons/arrow-right-dashed.css.map +1 -0
  170. package/lib/icons/arrow-right-dashed.min.css +1 -0
  171. package/lib/icons/arrow-right-dashed.min.css.map +1 -0
  172. package/lib/icons/arrow-right.css +12 -0
  173. package/lib/icons/arrow-right.css.map +1 -0
  174. package/lib/icons/arrow-right.min.css +1 -0
  175. package/lib/icons/arrow-right.min.css.map +1 -0
  176. package/lib/icons/arrow-top-left.css +12 -0
  177. package/lib/icons/arrow-top-left.css.map +1 -0
  178. package/lib/icons/arrow-top-left.min.css +1 -0
  179. package/lib/icons/arrow-top-left.min.css.map +1 -0
  180. package/lib/icons/arrow-top-right.css +12 -0
  181. package/lib/icons/arrow-top-right.css.map +1 -0
  182. package/lib/icons/arrow-top-right.min.css +1 -0
  183. package/lib/icons/arrow-top-right.min.css.map +1 -0
  184. package/lib/icons/arrow-undo.css +12 -0
  185. package/lib/icons/arrow-undo.css.map +1 -0
  186. package/lib/icons/arrow-undo.min.css +1 -0
  187. package/lib/icons/arrow-undo.min.css.map +1 -0
  188. package/lib/icons/arrow-up.css +12 -0
  189. package/lib/icons/arrow-up.css.map +1 -0
  190. package/lib/icons/arrow-up.min.css +1 -0
  191. package/lib/icons/arrow-up.min.css.map +1 -0
  192. package/lib/icons/at-sign.css +12 -0
  193. package/lib/icons/at-sign.css.map +1 -0
  194. package/lib/icons/at-sign.min.css +1 -0
  195. package/lib/icons/at-sign.min.css.map +1 -0
  196. package/lib/icons/bag-cogwheel.css +12 -0
  197. package/lib/icons/bag-cogwheel.css.map +1 -0
  198. package/lib/icons/bag-cogwheel.min.css +1 -0
  199. package/lib/icons/bag-cogwheel.min.css.map +1 -0
  200. package/lib/icons/bell-crossed.css +12 -0
  201. package/lib/icons/bell-crossed.css.map +1 -0
  202. package/lib/icons/bell-crossed.min.css +1 -0
  203. package/lib/icons/bell-crossed.min.css.map +1 -0
  204. package/lib/icons/bell.css +12 -0
  205. package/lib/icons/bell.css.map +1 -0
  206. package/lib/icons/bell.min.css +1 -0
  207. package/lib/icons/bell.min.css.map +1 -0
  208. package/lib/icons/binoculars.css +12 -0
  209. package/lib/icons/binoculars.css.map +1 -0
  210. package/lib/icons/binoculars.min.css +1 -0
  211. package/lib/icons/binoculars.min.css.map +1 -0
  212. package/lib/icons/box.css +12 -0
  213. package/lib/icons/box.css.map +1 -0
  214. package/lib/icons/box.min.css +1 -0
  215. package/lib/icons/box.min.css.map +1 -0
  216. package/lib/icons/cake.css +12 -0
  217. package/lib/icons/cake.css.map +1 -0
  218. package/lib/icons/cake.min.css +1 -0
  219. package/lib/icons/cake.min.css.map +1 -0
  220. package/lib/icons/calendar-clock.css +12 -0
  221. package/lib/icons/calendar-clock.css.map +1 -0
  222. package/lib/icons/calendar-clock.min.css +1 -0
  223. package/lib/icons/calendar-clock.min.css.map +1 -0
  224. package/lib/icons/calendar-cross.css +12 -0
  225. package/lib/icons/calendar-cross.css.map +1 -0
  226. package/lib/icons/calendar-cross.min.css +1 -0
  227. package/lib/icons/calendar-cross.min.css.map +1 -0
  228. package/lib/icons/calendar-event.css +12 -0
  229. package/lib/icons/calendar-event.css.map +1 -0
  230. package/lib/icons/calendar-event.min.css +1 -0
  231. package/lib/icons/calendar-event.min.css.map +1 -0
  232. package/lib/icons/calendar-plus.css +12 -0
  233. package/lib/icons/calendar-plus.css.map +1 -0
  234. package/lib/icons/calendar-plus.min.css +1 -0
  235. package/lib/icons/calendar-plus.min.css.map +1 -0
  236. package/lib/icons/calendar-recurring.css +12 -0
  237. package/lib/icons/calendar-recurring.css.map +1 -0
  238. package/lib/icons/calendar-recurring.min.css +1 -0
  239. package/lib/icons/calendar-recurring.min.css.map +1 -0
  240. package/lib/icons/calendar.css +12 -0
  241. package/lib/icons/calendar.css.map +1 -0
  242. package/lib/icons/calendar.min.css +1 -0
  243. package/lib/icons/calendar.min.css.map +1 -0
  244. package/lib/icons/camera.css +12 -0
  245. package/lib/icons/camera.css.map +1 -0
  246. package/lib/icons/camera.min.css +1 -0
  247. package/lib/icons/camera.min.css.map +1 -0
  248. package/lib/icons/check-circle-fill.css +12 -0
  249. package/lib/icons/check-circle-fill.css.map +1 -0
  250. package/lib/icons/check-circle-fill.min.css +1 -0
  251. package/lib/icons/check-circle-fill.min.css.map +1 -0
  252. package/lib/icons/check-circle.css +12 -0
  253. package/lib/icons/check-circle.css.map +1 -0
  254. package/lib/icons/check-circle.min.css +1 -0
  255. package/lib/icons/check-circle.min.css.map +1 -0
  256. package/lib/icons/check.css +12 -0
  257. package/lib/icons/check.css.map +1 -0
  258. package/lib/icons/check.min.css +1 -0
  259. package/lib/icons/check.min.css.map +1 -0
  260. package/lib/icons/children.css +12 -0
  261. package/lib/icons/children.css.map +1 -0
  262. package/lib/icons/children.min.css +1 -0
  263. package/lib/icons/children.min.css.map +1 -0
  264. package/lib/icons/clock-cross.css +12 -0
  265. package/lib/icons/clock-cross.css.map +1 -0
  266. package/lib/icons/clock-cross.min.css +1 -0
  267. package/lib/icons/clock-cross.min.css.map +1 -0
  268. package/lib/icons/clock-plus.css +12 -0
  269. package/lib/icons/clock-plus.css.map +1 -0
  270. package/lib/icons/clock-plus.min.css +1 -0
  271. package/lib/icons/clock-plus.min.css.map +1 -0
  272. package/lib/icons/clock.css +12 -0
  273. package/lib/icons/clock.css.map +1 -0
  274. package/lib/icons/clock.min.css +1 -0
  275. package/lib/icons/clock.min.css.map +1 -0
  276. package/lib/icons/coffee-cup-saucer.css +12 -0
  277. package/lib/icons/coffee-cup-saucer.css.map +1 -0
  278. package/lib/icons/coffee-cup-saucer.min.css +1 -0
  279. package/lib/icons/coffee-cup-saucer.min.css.map +1 -0
  280. package/lib/icons/cogwheel.css +12 -0
  281. package/lib/icons/cogwheel.css.map +1 -0
  282. package/lib/icons/cogwheel.min.css +1 -0
  283. package/lib/icons/cogwheel.min.css.map +1 -0
  284. package/lib/icons/cogwheels.css +12 -0
  285. package/lib/icons/cogwheels.css.map +1 -0
  286. package/lib/icons/cogwheels.min.css +1 -0
  287. package/lib/icons/cogwheels.min.css.map +1 -0
  288. package/lib/icons/collapse.css +12 -0
  289. package/lib/icons/collapse.css.map +1 -0
  290. package/lib/icons/collapse.min.css +1 -0
  291. package/lib/icons/collapse.min.css.map +1 -0
  292. package/lib/icons/company.css +12 -0
  293. package/lib/icons/company.css.map +1 -0
  294. package/lib/icons/company.min.css +1 -0
  295. package/lib/icons/company.min.css.map +1 -0
  296. package/lib/icons/copy.css +12 -0
  297. package/lib/icons/copy.css.map +1 -0
  298. package/lib/icons/copy.min.css +1 -0
  299. package/lib/icons/copy.min.css.map +1 -0
  300. package/lib/icons/cross-circle-fill.css +12 -0
  301. package/lib/icons/cross-circle-fill.css.map +1 -0
  302. package/lib/icons/cross-circle-fill.min.css +1 -0
  303. package/lib/icons/cross-circle-fill.min.css.map +1 -0
  304. package/lib/icons/cross-circle.css +12 -0
  305. package/lib/icons/cross-circle.css.map +1 -0
  306. package/lib/icons/cross-circle.min.css +1 -0
  307. package/lib/icons/cross-circle.min.css.map +1 -0
  308. package/lib/icons/cross.css +12 -0
  309. package/lib/icons/cross.css.map +1 -0
  310. package/lib/icons/cross.min.css +1 -0
  311. package/lib/icons/cross.min.css.map +1 -0
  312. package/lib/icons/customer-bot-negative.css +12 -0
  313. package/lib/icons/customer-bot-negative.css.map +1 -0
  314. package/lib/icons/customer-bot-negative.min.css +1 -0
  315. package/lib/icons/customer-bot-negative.min.css.map +1 -0
  316. package/lib/icons/customer-bot-neutral.css +12 -0
  317. package/lib/icons/customer-bot-neutral.css.map +1 -0
  318. package/lib/icons/customer-bot-neutral.min.css +1 -0
  319. package/lib/icons/customer-bot-neutral.min.css.map +1 -0
  320. package/lib/icons/customer-bot-positive.css +12 -0
  321. package/lib/icons/customer-bot-positive.css.map +1 -0
  322. package/lib/icons/customer-bot-positive.min.css +1 -0
  323. package/lib/icons/customer-bot-positive.min.css.map +1 -0
  324. package/lib/icons/discord.css +12 -0
  325. package/lib/icons/discord.css.map +1 -0
  326. package/lib/icons/discord.min.css +1 -0
  327. package/lib/icons/discord.min.css.map +1 -0
  328. package/lib/icons/display.css +12 -0
  329. package/lib/icons/display.css.map +1 -0
  330. package/lib/icons/display.min.css +1 -0
  331. package/lib/icons/display.min.css.map +1 -0
  332. package/lib/icons/document-blank-group.css +12 -0
  333. package/lib/icons/document-blank-group.css.map +1 -0
  334. package/lib/icons/document-blank-group.min.css +1 -0
  335. package/lib/icons/document-blank-group.min.css.map +1 -0
  336. package/lib/icons/document-blank.css +12 -0
  337. package/lib/icons/document-blank.css.map +1 -0
  338. package/lib/icons/document-blank.min.css +1 -0
  339. package/lib/icons/document-blank.min.css.map +1 -0
  340. package/lib/icons/document-group.css +12 -0
  341. package/lib/icons/document-group.css.map +1 -0
  342. package/lib/icons/document-group.min.css +1 -0
  343. package/lib/icons/document-group.min.css.map +1 -0
  344. package/lib/icons/document.css +12 -0
  345. package/lib/icons/document.css.map +1 -0
  346. package/lib/icons/document.min.css +1 -0
  347. package/lib/icons/document.min.css.map +1 -0
  348. package/lib/icons/download-cloud.css +12 -0
  349. package/lib/icons/download-cloud.css.map +1 -0
  350. package/lib/icons/download-cloud.min.css +1 -0
  351. package/lib/icons/download-cloud.min.css.map +1 -0
  352. package/lib/icons/download.css +12 -0
  353. package/lib/icons/download.css.map +1 -0
  354. package/lib/icons/download.min.css +1 -0
  355. package/lib/icons/download.min.css.map +1 -0
  356. package/lib/icons/drag.css +12 -0
  357. package/lib/icons/drag.css.map +1 -0
  358. package/lib/icons/drag.min.css +1 -0
  359. package/lib/icons/drag.min.css.map +1 -0
  360. package/lib/icons/entrepreneur.css +12 -0
  361. package/lib/icons/entrepreneur.css.map +1 -0
  362. package/lib/icons/entrepreneur.min.css +1 -0
  363. package/lib/icons/entrepreneur.min.css.map +1 -0
  364. package/lib/icons/envelope.css +12 -0
  365. package/lib/icons/envelope.css.map +1 -0
  366. package/lib/icons/envelope.min.css +1 -0
  367. package/lib/icons/envelope.min.css.map +1 -0
  368. package/lib/icons/error-fill.css +12 -0
  369. package/lib/icons/error-fill.css.map +1 -0
  370. package/lib/icons/error-fill.min.css +1 -0
  371. package/lib/icons/error-fill.min.css.map +1 -0
  372. package/lib/icons/error.css +12 -0
  373. package/lib/icons/error.css.map +1 -0
  374. package/lib/icons/error.min.css +1 -0
  375. package/lib/icons/error.min.css.map +1 -0
  376. package/lib/icons/euro-sign.css +12 -0
  377. package/lib/icons/euro-sign.css.map +1 -0
  378. package/lib/icons/euro-sign.min.css +1 -0
  379. package/lib/icons/euro-sign.min.css.map +1 -0
  380. package/lib/icons/eye-crossed.css +12 -0
  381. package/lib/icons/eye-crossed.css.map +1 -0
  382. package/lib/icons/eye-crossed.min.css +1 -0
  383. package/lib/icons/eye-crossed.min.css.map +1 -0
  384. package/lib/icons/eye.css +12 -0
  385. package/lib/icons/eye.css.map +1 -0
  386. package/lib/icons/eye.min.css +1 -0
  387. package/lib/icons/eye.min.css.map +1 -0
  388. package/lib/icons/face-neutral.css +12 -0
  389. package/lib/icons/face-neutral.css.map +1 -0
  390. package/lib/icons/face-neutral.min.css +1 -0
  391. package/lib/icons/face-neutral.min.css.map +1 -0
  392. package/lib/icons/face-sad.css +12 -0
  393. package/lib/icons/face-sad.css.map +1 -0
  394. package/lib/icons/face-sad.min.css +1 -0
  395. package/lib/icons/face-sad.min.css.map +1 -0
  396. package/lib/icons/face-smile.css +12 -0
  397. package/lib/icons/face-smile.css.map +1 -0
  398. package/lib/icons/face-smile.min.css +1 -0
  399. package/lib/icons/face-smile.min.css.map +1 -0
  400. package/lib/icons/facebook.css +12 -0
  401. package/lib/icons/facebook.css.map +1 -0
  402. package/lib/icons/facebook.min.css +1 -0
  403. package/lib/icons/facebook.min.css.map +1 -0
  404. package/lib/icons/family.css +12 -0
  405. package/lib/icons/family.css.map +1 -0
  406. package/lib/icons/family.min.css +1 -0
  407. package/lib/icons/family.min.css.map +1 -0
  408. package/lib/icons/folder-group.css +12 -0
  409. package/lib/icons/folder-group.css.map +1 -0
  410. package/lib/icons/folder-group.min.css +1 -0
  411. package/lib/icons/folder-group.min.css.map +1 -0
  412. package/lib/icons/folder.css +12 -0
  413. package/lib/icons/folder.css.map +1 -0
  414. package/lib/icons/folder.min.css +1 -0
  415. package/lib/icons/folder.min.css.map +1 -0
  416. package/lib/icons/globe.css +12 -0
  417. package/lib/icons/globe.css.map +1 -0
  418. package/lib/icons/globe.min.css +1 -0
  419. package/lib/icons/globe.min.css.map +1 -0
  420. package/lib/icons/google.css +12 -0
  421. package/lib/icons/google.css.map +1 -0
  422. package/lib/icons/google.min.css +1 -0
  423. package/lib/icons/google.min.css.map +1 -0
  424. package/lib/icons/graph-columns.css +12 -0
  425. package/lib/icons/graph-columns.css.map +1 -0
  426. package/lib/icons/graph-columns.min.css +1 -0
  427. package/lib/icons/graph-columns.min.css.map +1 -0
  428. package/lib/icons/group.css +12 -0
  429. package/lib/icons/group.css.map +1 -0
  430. package/lib/icons/group.min.css +1 -0
  431. package/lib/icons/group.min.css.map +1 -0
  432. package/lib/icons/hammers.css +12 -0
  433. package/lib/icons/hammers.css.map +1 -0
  434. package/lib/icons/hammers.min.css +1 -0
  435. package/lib/icons/hammers.min.css.map +1 -0
  436. package/lib/icons/headphones.css +12 -0
  437. package/lib/icons/headphones.css.map +1 -0
  438. package/lib/icons/headphones.min.css +1 -0
  439. package/lib/icons/headphones.min.css.map +1 -0
  440. package/lib/icons/heart-fill.css +12 -0
  441. package/lib/icons/heart-fill.css.map +1 -0
  442. package/lib/icons/heart-fill.min.css +1 -0
  443. package/lib/icons/heart-fill.min.css.map +1 -0
  444. package/lib/icons/heart.css +12 -0
  445. package/lib/icons/heart.css.map +1 -0
  446. package/lib/icons/heart.min.css +1 -0
  447. package/lib/icons/heart.min.css.map +1 -0
  448. package/lib/icons/history.css +12 -0
  449. package/lib/icons/history.css.map +1 -0
  450. package/lib/icons/history.min.css +1 -0
  451. package/lib/icons/history.min.css.map +1 -0
  452. package/lib/icons/home-smoke.css +12 -0
  453. package/lib/icons/home-smoke.css.map +1 -0
  454. package/lib/icons/home-smoke.min.css +1 -0
  455. package/lib/icons/home-smoke.min.css.map +1 -0
  456. package/lib/icons/home.css +12 -0
  457. package/lib/icons/home.css.map +1 -0
  458. package/lib/icons/home.min.css +1 -0
  459. package/lib/icons/home.min.css.map +1 -0
  460. package/lib/icons/icons-modern.css +2089 -0
  461. package/lib/icons/icons-modern.css.map +1 -0
  462. package/lib/icons/icons-modern.min.css +1 -0
  463. package/lib/icons/icons-modern.min.css.map +1 -0
  464. package/lib/icons/icons.css +1859 -928
  465. package/lib/icons/icons.css.map +1 -0
  466. package/lib/icons/icons.min.css +1 -1
  467. package/lib/icons/icons.min.css.map +1 -0
  468. package/lib/icons/info-circle-fill.css +12 -0
  469. package/lib/icons/info-circle-fill.css.map +1 -0
  470. package/lib/icons/info-circle-fill.min.css +1 -0
  471. package/lib/icons/info-circle-fill.min.css.map +1 -0
  472. package/lib/icons/info-circle.css +12 -0
  473. package/lib/icons/info-circle.css.map +1 -0
  474. package/lib/icons/info-circle.min.css +1 -0
  475. package/lib/icons/info-circle.min.css.map +1 -0
  476. package/lib/icons/instagram.css +12 -0
  477. package/lib/icons/instagram.css.map +1 -0
  478. package/lib/icons/instagram.min.css +1 -0
  479. package/lib/icons/instagram.min.css.map +1 -0
  480. package/lib/icons/key.css +12 -0
  481. package/lib/icons/key.css.map +1 -0
  482. package/lib/icons/key.min.css +1 -0
  483. package/lib/icons/key.min.css.map +1 -0
  484. package/lib/icons/layers.css +12 -0
  485. package/lib/icons/layers.css.map +1 -0
  486. package/lib/icons/layers.min.css +1 -0
  487. package/lib/icons/layers.min.css.map +1 -0
  488. package/lib/icons/lightbulb.css +12 -0
  489. package/lib/icons/lightbulb.css.map +1 -0
  490. package/lib/icons/lightbulb.min.css +1 -0
  491. package/lib/icons/lightbulb.min.css.map +1 -0
  492. package/lib/icons/link-external.css +12 -0
  493. package/lib/icons/link-external.css.map +1 -0
  494. package/lib/icons/link-external.min.css +1 -0
  495. package/lib/icons/link-external.min.css.map +1 -0
  496. package/lib/icons/link.css +12 -0
  497. package/lib/icons/link.css.map +1 -0
  498. package/lib/icons/link.min.css +1 -0
  499. package/lib/icons/link.min.css.map +1 -0
  500. package/lib/icons/linkedin.css +12 -0
  501. package/lib/icons/linkedin.css.map +1 -0
  502. package/lib/icons/linkedin.min.css +1 -0
  503. package/lib/icons/linkedin.min.css.map +1 -0
  504. package/lib/icons/locate.css +12 -0
  505. package/lib/icons/locate.css.map +1 -0
  506. package/lib/icons/locate.min.css +1 -0
  507. package/lib/icons/locate.min.css.map +1 -0
  508. package/lib/icons/location.css +12 -0
  509. package/lib/icons/location.css.map +1 -0
  510. package/lib/icons/location.min.css +1 -0
  511. package/lib/icons/location.min.css.map +1 -0
  512. package/lib/icons/lock-open.css +12 -0
  513. package/lib/icons/lock-open.css.map +1 -0
  514. package/lib/icons/lock-open.min.css +1 -0
  515. package/lib/icons/lock-open.min.css.map +1 -0
  516. package/lib/icons/lock.css +12 -0
  517. package/lib/icons/lock.css.map +1 -0
  518. package/lib/icons/lock.min.css +1 -0
  519. package/lib/icons/lock.min.css.map +1 -0
  520. package/lib/icons/map.css +12 -0
  521. package/lib/icons/map.css.map +1 -0
  522. package/lib/icons/map.min.css +1 -0
  523. package/lib/icons/map.min.css.map +1 -0
  524. package/lib/icons/menu-dots.css +12 -0
  525. package/lib/icons/menu-dots.css.map +1 -0
  526. package/lib/icons/menu-dots.min.css +1 -0
  527. package/lib/icons/menu-dots.min.css.map +1 -0
  528. package/lib/icons/menu-hamburger.css +12 -0
  529. package/lib/icons/menu-hamburger.css.map +1 -0
  530. package/lib/icons/menu-hamburger.min.css +1 -0
  531. package/lib/icons/menu-hamburger.min.css.map +1 -0
  532. package/lib/icons/microphone-crossed.css +12 -0
  533. package/lib/icons/microphone-crossed.css.map +1 -0
  534. package/lib/icons/microphone-crossed.min.css +1 -0
  535. package/lib/icons/microphone-crossed.min.css.map +1 -0
  536. package/lib/icons/microphone.css +12 -0
  537. package/lib/icons/microphone.css.map +1 -0
  538. package/lib/icons/microphone.min.css +1 -0
  539. package/lib/icons/microphone.min.css.map +1 -0
  540. package/lib/icons/minus-circle-fill.css +12 -0
  541. package/lib/icons/minus-circle-fill.css.map +1 -0
  542. package/lib/icons/minus-circle-fill.min.css +1 -0
  543. package/lib/icons/minus-circle-fill.min.css.map +1 -0
  544. package/lib/icons/minus-circle.css +12 -0
  545. package/lib/icons/minus-circle.css.map +1 -0
  546. package/lib/icons/minus-circle.min.css +1 -0
  547. package/lib/icons/minus-circle.min.css.map +1 -0
  548. package/lib/icons/minus.css +12 -0
  549. package/lib/icons/minus.css.map +1 -0
  550. package/lib/icons/minus.min.css +1 -0
  551. package/lib/icons/minus.min.css.map +1 -0
  552. package/lib/icons/mobile.css +12 -0
  553. package/lib/icons/mobile.css.map +1 -0
  554. package/lib/icons/mobile.min.css +1 -0
  555. package/lib/icons/mobile.min.css.map +1 -0
  556. package/lib/icons/money-bag-fill.css +12 -0
  557. package/lib/icons/money-bag-fill.css.map +1 -0
  558. package/lib/icons/money-bag-fill.min.css +1 -0
  559. package/lib/icons/money-bag-fill.min.css.map +1 -0
  560. package/lib/icons/money-bag.css +12 -0
  561. package/lib/icons/money-bag.css.map +1 -0
  562. package/lib/icons/money-bag.min.css +1 -0
  563. package/lib/icons/money-bag.min.css.map +1 -0
  564. package/lib/icons/mover.css +12 -0
  565. package/lib/icons/mover.css.map +1 -0
  566. package/lib/icons/mover.min.css +1 -0
  567. package/lib/icons/mover.min.css.map +1 -0
  568. package/lib/icons/occupation.css +12 -0
  569. package/lib/icons/occupation.css.map +1 -0
  570. package/lib/icons/occupation.min.css +1 -0
  571. package/lib/icons/occupation.min.css.map +1 -0
  572. package/lib/icons/paperclip.css +12 -0
  573. package/lib/icons/paperclip.css.map +1 -0
  574. package/lib/icons/paperclip.min.css +1 -0
  575. package/lib/icons/paperclip.min.css.map +1 -0
  576. package/lib/icons/pen-line.css +12 -0
  577. package/lib/icons/pen-line.css.map +1 -0
  578. package/lib/icons/pen-line.min.css +1 -0
  579. package/lib/icons/pen-line.min.css.map +1 -0
  580. package/lib/icons/pen.css +12 -0
  581. package/lib/icons/pen.css.map +1 -0
  582. package/lib/icons/pen.min.css +1 -0
  583. package/lib/icons/pen.min.css.map +1 -0
  584. package/lib/icons/person-female.css +12 -0
  585. package/lib/icons/person-female.css.map +1 -0
  586. package/lib/icons/person-female.min.css +1 -0
  587. package/lib/icons/person-female.min.css.map +1 -0
  588. package/lib/icons/person-genderless.css +12 -0
  589. package/lib/icons/person-genderless.css.map +1 -0
  590. package/lib/icons/person-genderless.min.css +1 -0
  591. package/lib/icons/person-genderless.min.css.map +1 -0
  592. package/lib/icons/person-male.css +12 -0
  593. package/lib/icons/person-male.css.map +1 -0
  594. package/lib/icons/person-male.min.css +1 -0
  595. package/lib/icons/person-male.min.css.map +1 -0
  596. package/lib/icons/person-wheelchair.css +12 -0
  597. package/lib/icons/person-wheelchair.css.map +1 -0
  598. package/lib/icons/person-wheelchair.min.css +1 -0
  599. package/lib/icons/person-wheelchair.min.css.map +1 -0
  600. package/lib/icons/phone.css +12 -0
  601. package/lib/icons/phone.css.map +1 -0
  602. package/lib/icons/phone.min.css +1 -0
  603. package/lib/icons/phone.min.css.map +1 -0
  604. package/lib/icons/photo-plus.css +12 -0
  605. package/lib/icons/photo-plus.css.map +1 -0
  606. package/lib/icons/photo-plus.min.css +1 -0
  607. package/lib/icons/photo-plus.min.css.map +1 -0
  608. package/lib/icons/photo.css +12 -0
  609. package/lib/icons/photo.css.map +1 -0
  610. package/lib/icons/photo.min.css +1 -0
  611. package/lib/icons/photo.min.css.map +1 -0
  612. package/lib/icons/playback-fastforward.css +12 -0
  613. package/lib/icons/playback-fastforward.css.map +1 -0
  614. package/lib/icons/playback-fastforward.min.css +1 -0
  615. package/lib/icons/playback-fastforward.min.css.map +1 -0
  616. package/lib/icons/playback-next.css +12 -0
  617. package/lib/icons/playback-next.css.map +1 -0
  618. package/lib/icons/playback-next.min.css +1 -0
  619. package/lib/icons/playback-next.min.css.map +1 -0
  620. package/lib/icons/playback-pause.css +12 -0
  621. package/lib/icons/playback-pause.css.map +1 -0
  622. package/lib/icons/playback-pause.min.css +1 -0
  623. package/lib/icons/playback-pause.min.css.map +1 -0
  624. package/lib/icons/playback-play.css +12 -0
  625. package/lib/icons/playback-play.css.map +1 -0
  626. package/lib/icons/playback-play.min.css +1 -0
  627. package/lib/icons/playback-play.min.css.map +1 -0
  628. package/lib/icons/playback-previous.css +12 -0
  629. package/lib/icons/playback-previous.css.map +1 -0
  630. package/lib/icons/playback-previous.min.css +1 -0
  631. package/lib/icons/playback-previous.min.css.map +1 -0
  632. package/lib/icons/playback-record.css +12 -0
  633. package/lib/icons/playback-record.css.map +1 -0
  634. package/lib/icons/playback-record.min.css +1 -0
  635. package/lib/icons/playback-record.min.css.map +1 -0
  636. package/lib/icons/playback-rewind.css +12 -0
  637. package/lib/icons/playback-rewind.css.map +1 -0
  638. package/lib/icons/playback-rewind.min.css +1 -0
  639. package/lib/icons/playback-rewind.min.css.map +1 -0
  640. package/lib/icons/playback-stop.css +12 -0
  641. package/lib/icons/playback-stop.css.map +1 -0
  642. package/lib/icons/playback-stop.min.css +1 -0
  643. package/lib/icons/playback-stop.min.css.map +1 -0
  644. package/lib/icons/plus-circle-fill.css +12 -0
  645. package/lib/icons/plus-circle-fill.css.map +1 -0
  646. package/lib/icons/plus-circle-fill.min.css +1 -0
  647. package/lib/icons/plus-circle-fill.min.css.map +1 -0
  648. package/lib/icons/plus-circle.css +12 -0
  649. package/lib/icons/plus-circle.css.map +1 -0
  650. package/lib/icons/plus-circle.min.css +1 -0
  651. package/lib/icons/plus-circle.min.css.map +1 -0
  652. package/lib/icons/plus.css +12 -0
  653. package/lib/icons/plus.css.map +1 -0
  654. package/lib/icons/plus.min.css +1 -0
  655. package/lib/icons/plus.min.css.map +1 -0
  656. package/lib/icons/podcast.css +12 -0
  657. package/lib/icons/podcast.css.map +1 -0
  658. package/lib/icons/podcast.min.css +1 -0
  659. package/lib/icons/podcast.min.css.map +1 -0
  660. package/lib/icons/printer.css +12 -0
  661. package/lib/icons/printer.css.map +1 -0
  662. package/lib/icons/printer.min.css +1 -0
  663. package/lib/icons/printer.min.css.map +1 -0
  664. package/lib/icons/question-circle-fill.css +12 -0
  665. package/lib/icons/question-circle-fill.css.map +1 -0
  666. package/lib/icons/question-circle-fill.min.css +1 -0
  667. package/lib/icons/question-circle-fill.min.css.map +1 -0
  668. package/lib/icons/question-circle.css +12 -0
  669. package/lib/icons/question-circle.css.map +1 -0
  670. package/lib/icons/question-circle.min.css +1 -0
  671. package/lib/icons/question-circle.min.css.map +1 -0
  672. package/lib/icons/refresh.css +12 -0
  673. package/lib/icons/refresh.css.map +1 -0
  674. package/lib/icons/refresh.min.css +1 -0
  675. package/lib/icons/refresh.min.css.map +1 -0
  676. package/lib/icons/restaurant.css +12 -0
  677. package/lib/icons/restaurant.css.map +1 -0
  678. package/lib/icons/restaurant.min.css +1 -0
  679. package/lib/icons/restaurant.min.css.map +1 -0
  680. package/lib/icons/rss.css +12 -0
  681. package/lib/icons/rss.css.map +1 -0
  682. package/lib/icons/rss.min.css +1 -0
  683. package/lib/icons/rss.min.css.map +1 -0
  684. package/lib/icons/save-diskette-fill.css +12 -0
  685. package/lib/icons/save-diskette-fill.css.map +1 -0
  686. package/lib/icons/save-diskette-fill.min.css +1 -0
  687. package/lib/icons/save-diskette-fill.min.css.map +1 -0
  688. package/lib/icons/save-diskette.css +12 -0
  689. package/lib/icons/save-diskette.css.map +1 -0
  690. package/lib/icons/save-diskette.min.css +1 -0
  691. package/lib/icons/save-diskette.min.css.map +1 -0
  692. package/lib/icons/scroll-cogwheel.css +12 -0
  693. package/lib/icons/scroll-cogwheel.css.map +1 -0
  694. package/lib/icons/scroll-cogwheel.min.css +1 -0
  695. package/lib/icons/scroll-cogwheel.min.css.map +1 -0
  696. package/lib/icons/scroll-content.css +12 -0
  697. package/lib/icons/scroll-content.css.map +1 -0
  698. package/lib/icons/scroll-content.min.css +1 -0
  699. package/lib/icons/scroll-content.min.css.map +1 -0
  700. package/lib/icons/scroll-group.css +12 -0
  701. package/lib/icons/scroll-group.css.map +1 -0
  702. package/lib/icons/scroll-group.min.css +1 -0
  703. package/lib/icons/scroll-group.min.css.map +1 -0
  704. package/lib/icons/scroll.css +12 -0
  705. package/lib/icons/scroll.css.map +1 -0
  706. package/lib/icons/scroll.min.css +1 -0
  707. package/lib/icons/scroll.min.css.map +1 -0
  708. package/lib/icons/search.css +12 -0
  709. package/lib/icons/search.css.map +1 -0
  710. package/lib/icons/search.min.css +1 -0
  711. package/lib/icons/search.min.css.map +1 -0
  712. package/lib/icons/senior.css +12 -0
  713. package/lib/icons/senior.css.map +1 -0
  714. package/lib/icons/senior.min.css +1 -0
  715. package/lib/icons/senior.min.css.map +1 -0
  716. package/lib/icons/share.css +12 -0
  717. package/lib/icons/share.css.map +1 -0
  718. package/lib/icons/share.min.css +1 -0
  719. package/lib/icons/share.min.css.map +1 -0
  720. package/lib/icons/shield.css +12 -0
  721. package/lib/icons/shield.css.map +1 -0
  722. package/lib/icons/shield.min.css +1 -0
  723. package/lib/icons/shield.min.css.map +1 -0
  724. package/lib/icons/shopping-cart.css +12 -0
  725. package/lib/icons/shopping-cart.css.map +1 -0
  726. package/lib/icons/shopping-cart.min.css +1 -0
  727. package/lib/icons/shopping-cart.min.css.map +1 -0
  728. package/lib/icons/signin.css +12 -0
  729. package/lib/icons/signin.css.map +1 -0
  730. package/lib/icons/signin.min.css +1 -0
  731. package/lib/icons/signin.min.css.map +1 -0
  732. package/lib/icons/signout.css +12 -0
  733. package/lib/icons/signout.css.map +1 -0
  734. package/lib/icons/signout.min.css +1 -0
  735. package/lib/icons/signout.min.css.map +1 -0
  736. package/lib/icons/sitemap.css +12 -0
  737. package/lib/icons/sitemap.css.map +1 -0
  738. package/lib/icons/sitemap.min.css +1 -0
  739. package/lib/icons/sitemap.min.css.map +1 -0
  740. package/lib/icons/sliders.css +12 -0
  741. package/lib/icons/sliders.css.map +1 -0
  742. package/lib/icons/sliders.min.css +1 -0
  743. package/lib/icons/sliders.min.css.map +1 -0
  744. package/lib/icons/snapchat.css +12 -0
  745. package/lib/icons/snapchat.css.map +1 -0
  746. package/lib/icons/snapchat.min.css +1 -0
  747. package/lib/icons/snapchat.min.css.map +1 -0
  748. package/lib/icons/sort-alphabetical-ascending.css +12 -0
  749. package/lib/icons/sort-alphabetical-ascending.css.map +1 -0
  750. package/lib/icons/sort-alphabetical-ascending.min.css +1 -0
  751. package/lib/icons/sort-alphabetical-ascending.min.css.map +1 -0
  752. package/lib/icons/sort-alphabetical-descending.css +12 -0
  753. package/lib/icons/sort-alphabetical-descending.css.map +1 -0
  754. package/lib/icons/sort-alphabetical-descending.min.css +1 -0
  755. package/lib/icons/sort-alphabetical-descending.min.css.map +1 -0
  756. package/lib/icons/sort-ascending.css +12 -0
  757. package/lib/icons/sort-ascending.css.map +1 -0
  758. package/lib/icons/sort-ascending.min.css +1 -0
  759. package/lib/icons/sort-ascending.min.css.map +1 -0
  760. package/lib/icons/sort-descending.css +12 -0
  761. package/lib/icons/sort-descending.css.map +1 -0
  762. package/lib/icons/sort-descending.min.css +1 -0
  763. package/lib/icons/sort-descending.min.css.map +1 -0
  764. package/lib/icons/sort.css +12 -0
  765. package/lib/icons/sort.css.map +1 -0
  766. package/lib/icons/sort.min.css +1 -0
  767. package/lib/icons/sort.min.css.map +1 -0
  768. package/lib/icons/speechbubble-text.css +12 -0
  769. package/lib/icons/speechbubble-text.css.map +1 -0
  770. package/lib/icons/speechbubble-text.min.css +1 -0
  771. package/lib/icons/speechbubble-text.min.css.map +1 -0
  772. package/lib/icons/speechbubble.css +12 -0
  773. package/lib/icons/speechbubble.css.map +1 -0
  774. package/lib/icons/speechbubble.min.css +1 -0
  775. package/lib/icons/speechbubble.min.css.map +1 -0
  776. package/lib/icons/star-fill.css +12 -0
  777. package/lib/icons/star-fill.css.map +1 -0
  778. package/lib/icons/star-fill.min.css +1 -0
  779. package/lib/icons/star-fill.min.css.map +1 -0
  780. package/lib/icons/star.css +12 -0
  781. package/lib/icons/star.css.map +1 -0
  782. package/lib/icons/star.min.css +1 -0
  783. package/lib/icons/star.min.css.map +1 -0
  784. package/lib/icons/swap-user.css +12 -0
  785. package/lib/icons/swap-user.css.map +1 -0
  786. package/lib/icons/swap-user.min.css +1 -0
  787. package/lib/icons/swap-user.min.css.map +1 -0
  788. package/lib/icons/text-bold.css +12 -0
  789. package/lib/icons/text-bold.css.map +1 -0
  790. package/lib/icons/text-bold.min.css +1 -0
  791. package/lib/icons/text-bold.min.css.map +1 -0
  792. package/lib/icons/text-italic.css +12 -0
  793. package/lib/icons/text-italic.css.map +1 -0
  794. package/lib/icons/text-italic.min.css +1 -0
  795. package/lib/icons/text-italic.min.css.map +1 -0
  796. package/lib/icons/text-tool.css +12 -0
  797. package/lib/icons/text-tool.css.map +1 -0
  798. package/lib/icons/text-tool.min.css +1 -0
  799. package/lib/icons/text-tool.min.css.map +1 -0
  800. package/lib/icons/thumbs-down-fill.css +12 -0
  801. package/lib/icons/thumbs-down-fill.css.map +1 -0
  802. package/lib/icons/thumbs-down-fill.min.css +1 -0
  803. package/lib/icons/thumbs-down-fill.min.css.map +1 -0
  804. package/lib/icons/thumbs-down.css +12 -0
  805. package/lib/icons/thumbs-down.css.map +1 -0
  806. package/lib/icons/thumbs-down.min.css +1 -0
  807. package/lib/icons/thumbs-down.min.css.map +1 -0
  808. package/lib/icons/thumbs-up-fill.css +12 -0
  809. package/lib/icons/thumbs-up-fill.css.map +1 -0
  810. package/lib/icons/thumbs-up-fill.min.css +1 -0
  811. package/lib/icons/thumbs-up-fill.min.css.map +1 -0
  812. package/lib/icons/thumbs-up.css +12 -0
  813. package/lib/icons/thumbs-up.css.map +1 -0
  814. package/lib/icons/thumbs-up.min.css +1 -0
  815. package/lib/icons/thumbs-up.min.css.map +1 -0
  816. package/lib/icons/ticket.css +12 -0
  817. package/lib/icons/ticket.css.map +1 -0
  818. package/lib/icons/ticket.min.css +1 -0
  819. package/lib/icons/ticket.min.css.map +1 -0
  820. package/lib/icons/tiktok.css +12 -0
  821. package/lib/icons/tiktok.css.map +1 -0
  822. package/lib/icons/tiktok.min.css +1 -0
  823. package/lib/icons/tiktok.min.css.map +1 -0
  824. package/lib/icons/trash.css +12 -0
  825. package/lib/icons/trash.css.map +1 -0
  826. package/lib/icons/trash.min.css +1 -0
  827. package/lib/icons/trash.min.css.map +1 -0
  828. package/lib/icons/traveler.css +12 -0
  829. package/lib/icons/traveler.css.map +1 -0
  830. package/lib/icons/traveler.min.css +1 -0
  831. package/lib/icons/traveler.min.css.map +1 -0
  832. package/lib/icons/twitch.css +12 -0
  833. package/lib/icons/twitch.css.map +1 -0
  834. package/lib/icons/twitch.min.css +1 -0
  835. package/lib/icons/twitch.min.css.map +1 -0
  836. package/lib/icons/twitter-old.css +12 -0
  837. package/lib/icons/twitter-old.css.map +1 -0
  838. package/lib/icons/twitter-old.min.css +1 -0
  839. package/lib/icons/twitter-old.min.css.map +1 -0
  840. package/lib/icons/twitter.css +12 -0
  841. package/lib/icons/twitter.css.map +1 -0
  842. package/lib/icons/twitter.min.css +1 -0
  843. package/lib/icons/twitter.min.css.map +1 -0
  844. package/lib/icons/upload-cloud.css +12 -0
  845. package/lib/icons/upload-cloud.css.map +1 -0
  846. package/lib/icons/upload-cloud.min.css +1 -0
  847. package/lib/icons/upload-cloud.min.css.map +1 -0
  848. package/lib/icons/upload.css +12 -0
  849. package/lib/icons/upload.css.map +1 -0
  850. package/lib/icons/upload.min.css +1 -0
  851. package/lib/icons/upload.min.css.map +1 -0
  852. package/lib/icons/user.css +12 -0
  853. package/lib/icons/user.css.map +1 -0
  854. package/lib/icons/user.min.css +1 -0
  855. package/lib/icons/user.min.css.map +1 -0
  856. package/lib/icons/vaccine.css +12 -0
  857. package/lib/icons/vaccine.css.map +1 -0
  858. package/lib/icons/vaccine.min.css +1 -0
  859. package/lib/icons/vaccine.min.css.map +1 -0
  860. package/lib/icons/videocamera-crossed.css +12 -0
  861. package/lib/icons/videocamera-crossed.css.map +1 -0
  862. package/lib/icons/videocamera-crossed.min.css +1 -0
  863. package/lib/icons/videocamera-crossed.min.css.map +1 -0
  864. package/lib/icons/videocamera.css +12 -0
  865. package/lib/icons/videocamera.css.map +1 -0
  866. package/lib/icons/videocamera.min.css +1 -0
  867. package/lib/icons/videocamera.min.css.map +1 -0
  868. package/lib/icons/vimeo.css +12 -0
  869. package/lib/icons/vimeo.css.map +1 -0
  870. package/lib/icons/vimeo.min.css +1 -0
  871. package/lib/icons/vimeo.min.css.map +1 -0
  872. package/lib/icons/virus.css +12 -0
  873. package/lib/icons/virus.css.map +1 -0
  874. package/lib/icons/virus.min.css +1 -0
  875. package/lib/icons/virus.min.css.map +1 -0
  876. package/lib/icons/volume-high.css +12 -0
  877. package/lib/icons/volume-high.css.map +1 -0
  878. package/lib/icons/volume-high.min.css +1 -0
  879. package/lib/icons/volume-high.min.css.map +1 -0
  880. package/lib/icons/volume-low.css +12 -0
  881. package/lib/icons/volume-low.css.map +1 -0
  882. package/lib/icons/volume-low.min.css +1 -0
  883. package/lib/icons/volume-low.min.css.map +1 -0
  884. package/lib/icons/volume-minus.css +12 -0
  885. package/lib/icons/volume-minus.css.map +1 -0
  886. package/lib/icons/volume-minus.min.css +1 -0
  887. package/lib/icons/volume-minus.min.css.map +1 -0
  888. package/lib/icons/volume-mute.css +12 -0
  889. package/lib/icons/volume-mute.css.map +1 -0
  890. package/lib/icons/volume-mute.min.css +1 -0
  891. package/lib/icons/volume-mute.min.css.map +1 -0
  892. package/lib/icons/volume-plus.css +12 -0
  893. package/lib/icons/volume-plus.css.map +1 -0
  894. package/lib/icons/volume-plus.min.css +1 -0
  895. package/lib/icons/volume-plus.min.css.map +1 -0
  896. package/lib/icons/whatsapp.css +12 -0
  897. package/lib/icons/whatsapp.css.map +1 -0
  898. package/lib/icons/whatsapp.min.css +1 -0
  899. package/lib/icons/whatsapp.min.css.map +1 -0
  900. package/lib/icons/wifi-crossed.css +12 -0
  901. package/lib/icons/wifi-crossed.css.map +1 -0
  902. package/lib/icons/wifi-crossed.min.css +1 -0
  903. package/lib/icons/wifi-crossed.min.css.map +1 -0
  904. package/lib/icons/wifi.css +12 -0
  905. package/lib/icons/wifi.css.map +1 -0
  906. package/lib/icons/wifi.min.css +1 -0
  907. package/lib/icons/wifi.min.css.map +1 -0
  908. package/lib/icons/x.css +12 -0
  909. package/lib/icons/x.css.map +1 -0
  910. package/lib/icons/x.min.css +1 -0
  911. package/lib/icons/x.min.css.map +1 -0
  912. package/lib/icons/yle.css +12 -0
  913. package/lib/icons/yle.css.map +1 -0
  914. package/lib/icons/yle.min.css +1 -0
  915. package/lib/icons/yle.min.css.map +1 -0
  916. package/lib/icons/youth.css +12 -0
  917. package/lib/icons/youth.css.map +1 -0
  918. package/lib/icons/youth.min.css +1 -0
  919. package/lib/icons/youth.min.css.map +1 -0
  920. package/lib/icons/youtube.css +12 -0
  921. package/lib/icons/youtube.css.map +1 -0
  922. package/lib/icons/youtube.min.css +1 -0
  923. package/lib/icons/youtube.min.css.map +1 -0
  924. package/lib/icons/zoom-in.css +12 -0
  925. package/lib/icons/zoom-in.css.map +1 -0
  926. package/lib/icons/zoom-in.min.css +1 -0
  927. package/lib/icons/zoom-in.min.css.map +1 -0
  928. package/lib/icons/zoom-out.css +12 -0
  929. package/lib/icons/zoom-out.css.map +1 -0
  930. package/lib/icons/zoom-out.min.css +1 -0
  931. package/lib/icons/zoom-out.min.css.map +1 -0
  932. package/lib/icons/zoom-text.css +12 -0
  933. package/lib/icons/zoom-text.css.map +1 -0
  934. package/lib/icons/zoom-text.min.css +1 -0
  935. package/lib/icons/zoom-text.min.css.map +1 -0
  936. package/lib/utils/__tests__/utilities.test.css +34 -0
  937. package/lib/utils/__tests__/utilities.test.css.map +1 -0
  938. package/lib/utils/__tests__/utilities.test.min.css +1 -0
  939. package/lib/utils/__tests__/utilities.test.min.css.map +1 -0
  940. package/lib/utils/utils.css +614 -3
  941. package/lib/utils/utils.css.map +1 -0
  942. package/lib/utils/utils.min.css +1 -1
  943. package/lib/utils/utils.min.css.map +1 -0
  944. package/lib/variables/variables.css +0 -2
  945. package/package.json +53 -25
  946. package/src/base/_focus.scss +31 -0
  947. package/src/base/_layout.scss +82 -97
  948. package/src/base/_theme.scss +139 -0
  949. package/src/base/_typography.scss +121 -105
  950. package/src/base/base.scss +4 -3
  951. package/src/components/alert/_alert-mixin.scss +55 -0
  952. package/src/components/alert/alert.scss +62 -0
  953. package/src/components/all.scss +6 -0
  954. package/src/components/badge/_badge-mixin.scss +35 -0
  955. package/src/components/badge/badge.scss +56 -0
  956. package/src/components/breadcrumb/_breadcrumb-mixin.scss +51 -0
  957. package/src/components/breadcrumb/_breadcrumb-mixins.scss +17 -14
  958. package/src/components/breadcrumb/breadcrumb.scss +11 -53
  959. package/src/components/button/_button-mixin.scss +203 -120
  960. package/src/components/button/button.scss +308 -126
  961. package/src/components/card/_card-mixin.scss +208 -196
  962. package/src/components/card/card.scss +193 -193
  963. package/src/components/checkbox/_checkbox-mixin.scss +92 -208
  964. package/src/components/checkbox/checkbox.scss +32 -103
  965. package/src/components/footer/_footer-mixin.scss +202 -385
  966. package/src/components/footer/footer.scss +15 -59
  967. package/src/components/footer/footer.stories.js +2 -2
  968. package/src/components/header/_header-mixin.scss +208 -275
  969. package/src/components/header/header.scss +23 -45
  970. package/src/components/modal/_modal-mixin.scss +99 -0
  971. package/src/components/modal/modal.scss +58 -0
  972. package/src/components/navigation/_navigation-mixins.scss +166 -270
  973. package/src/components/navigation/navigation.scss +30 -40
  974. package/src/components/notification/_notification-mixin.scss +211 -239
  975. package/src/components/notification/notification.scss +36 -36
  976. package/src/components/pagination/_pagination-mixins.scss +31 -30
  977. package/src/components/radio-button/_radio-button-mixin.scss +93 -207
  978. package/src/components/radio-button/radio-button.scss +27 -144
  979. package/src/components/select/_select-mixin.scss +76 -0
  980. package/src/components/select/select.scss +47 -0
  981. package/src/components/switch/_switch-mixin.scss +71 -0
  982. package/src/components/switch/switch.scss +62 -0
  983. package/src/components/tabs/_tabs-mixin.scss +55 -0
  984. package/src/components/tabs/tabs.scss +27 -0
  985. package/src/components/tag/_tag-mixin.scss +163 -261
  986. package/src/components/tag/tag.scss +235 -244
  987. package/src/components/text-input/_text-input-mixin.scss +233 -203
  988. package/src/components/text-input/text-input.scss +23 -20
  989. package/src/gov/gov.scss +559 -0
  990. package/src/gov/gov.stories.js +127 -0
  991. package/src/icons/_icon.scss +75 -114
  992. package/src/icons/alert-circle-fill.scss +12 -0
  993. package/src/icons/alert-circle.scss +12 -0
  994. package/src/icons/angle-down.scss +12 -0
  995. package/src/icons/angle-left.scss +12 -0
  996. package/src/icons/angle-right.scss +12 -0
  997. package/src/icons/angle-up.scss +12 -0
  998. package/src/icons/arrow-bottom-left.scss +12 -0
  999. package/src/icons/arrow-bottom-right.scss +12 -0
  1000. package/src/icons/arrow-down.scss +12 -0
  1001. package/src/icons/arrow-left.scss +12 -0
  1002. package/src/icons/arrow-redo.scss +12 -0
  1003. package/src/icons/arrow-right-dashed.scss +12 -0
  1004. package/src/icons/arrow-right.scss +12 -0
  1005. package/src/icons/arrow-top-left.scss +12 -0
  1006. package/src/icons/arrow-top-right.scss +12 -0
  1007. package/src/icons/arrow-undo.scss +12 -0
  1008. package/src/icons/arrow-up.scss +12 -0
  1009. package/src/icons/at-sign.scss +12 -0
  1010. package/src/icons/bag-cogwheel.scss +12 -0
  1011. package/src/icons/bell-crossed.scss +12 -0
  1012. package/src/icons/bell.scss +12 -0
  1013. package/src/icons/binoculars.scss +12 -0
  1014. package/src/icons/box.scss +12 -0
  1015. package/src/icons/cake.scss +12 -0
  1016. package/src/icons/calendar-clock.scss +12 -0
  1017. package/src/icons/calendar-cross.scss +12 -0
  1018. package/src/icons/calendar-event.scss +12 -0
  1019. package/src/icons/calendar-plus.scss +12 -0
  1020. package/src/icons/calendar-recurring.scss +12 -0
  1021. package/src/icons/calendar.scss +12 -0
  1022. package/src/icons/camera.scss +12 -0
  1023. package/src/icons/check-circle-fill.scss +12 -0
  1024. package/src/icons/check-circle.scss +12 -0
  1025. package/src/icons/check.scss +12 -0
  1026. package/src/icons/children.scss +12 -0
  1027. package/src/icons/clock-cross.scss +12 -0
  1028. package/src/icons/clock-plus.scss +12 -0
  1029. package/src/icons/clock.scss +12 -0
  1030. package/src/icons/coffee-cup-saucer.scss +12 -0
  1031. package/src/icons/cogwheel.scss +12 -0
  1032. package/src/icons/cogwheels.scss +12 -0
  1033. package/src/icons/collapse.scss +12 -0
  1034. package/src/icons/company.scss +12 -0
  1035. package/src/icons/copy.scss +12 -0
  1036. package/src/icons/cross-circle-fill.scss +12 -0
  1037. package/src/icons/cross-circle.scss +12 -0
  1038. package/src/icons/cross.scss +12 -0
  1039. package/src/icons/customer-bot-negative.scss +12 -0
  1040. package/src/icons/customer-bot-neutral.scss +12 -0
  1041. package/src/icons/customer-bot-positive.scss +12 -0
  1042. package/src/icons/discord.scss +12 -0
  1043. package/src/icons/display.scss +12 -0
  1044. package/src/icons/document-blank-group.scss +12 -0
  1045. package/src/icons/document-blank.scss +12 -0
  1046. package/src/icons/document-group.scss +12 -0
  1047. package/src/icons/document.scss +12 -0
  1048. package/src/icons/download-cloud.scss +12 -0
  1049. package/src/icons/download.scss +12 -0
  1050. package/src/icons/drag.scss +12 -0
  1051. package/src/icons/entrepreneur.scss +12 -0
  1052. package/src/icons/envelope.scss +12 -0
  1053. package/src/icons/error-fill.scss +12 -0
  1054. package/src/icons/error.scss +12 -0
  1055. package/src/icons/euro-sign.scss +12 -0
  1056. package/src/icons/eye-crossed.scss +12 -0
  1057. package/src/icons/eye.scss +12 -0
  1058. package/src/icons/face-neutral.scss +12 -0
  1059. package/src/icons/face-sad.scss +12 -0
  1060. package/src/icons/face-smile.scss +12 -0
  1061. package/src/icons/facebook.scss +12 -0
  1062. package/src/icons/family.scss +12 -0
  1063. package/src/icons/folder-group.scss +12 -0
  1064. package/src/icons/folder.scss +12 -0
  1065. package/src/icons/globe.scss +12 -0
  1066. package/src/icons/google.scss +12 -0
  1067. package/src/icons/graph-columns.scss +12 -0
  1068. package/src/icons/group.scss +12 -0
  1069. package/src/icons/hammers.scss +12 -0
  1070. package/src/icons/headphones.scss +12 -0
  1071. package/src/icons/heart-fill.scss +12 -0
  1072. package/src/icons/heart.scss +12 -0
  1073. package/src/icons/history.scss +12 -0
  1074. package/src/icons/home-smoke.scss +12 -0
  1075. package/src/icons/home.scss +12 -0
  1076. package/src/icons/icons-modern.scss +207 -0
  1077. package/src/icons/icons.scss +207 -12
  1078. package/src/icons/icons.stories.js +319 -215
  1079. package/src/icons/info-circle-fill.scss +12 -0
  1080. package/src/icons/info-circle.scss +12 -0
  1081. package/src/icons/instagram.scss +12 -0
  1082. package/src/icons/key.scss +12 -0
  1083. package/src/icons/layers.scss +12 -0
  1084. package/src/icons/lightbulb.scss +12 -0
  1085. package/src/icons/link-external.scss +12 -0
  1086. package/src/icons/link.scss +12 -0
  1087. package/src/icons/linkedin.scss +12 -0
  1088. package/src/icons/locate.scss +12 -0
  1089. package/src/icons/location.scss +12 -0
  1090. package/src/icons/lock-open.scss +12 -0
  1091. package/src/icons/lock.scss +12 -0
  1092. package/src/icons/map.scss +12 -0
  1093. package/src/icons/menu-dots.scss +12 -0
  1094. package/src/icons/menu-hamburger.scss +12 -0
  1095. package/src/icons/microphone-crossed.scss +12 -0
  1096. package/src/icons/microphone.scss +12 -0
  1097. package/src/icons/minus-circle-fill.scss +12 -0
  1098. package/src/icons/minus-circle.scss +12 -0
  1099. package/src/icons/minus.scss +12 -0
  1100. package/src/icons/mobile.scss +12 -0
  1101. package/src/icons/money-bag-fill.scss +12 -0
  1102. package/src/icons/money-bag.scss +12 -0
  1103. package/src/icons/mover.scss +12 -0
  1104. package/src/icons/occupation.scss +12 -0
  1105. package/src/icons/paperclip.scss +12 -0
  1106. package/src/icons/pen-line.scss +12 -0
  1107. package/src/icons/pen.scss +12 -0
  1108. package/src/icons/person-female.scss +12 -0
  1109. package/src/icons/person-genderless.scss +12 -0
  1110. package/src/icons/person-male.scss +12 -0
  1111. package/src/icons/person-wheelchair.scss +12 -0
  1112. package/src/icons/phone.scss +12 -0
  1113. package/src/icons/photo-plus.scss +12 -0
  1114. package/src/icons/photo.scss +12 -0
  1115. package/src/icons/playback-fastforward.scss +12 -0
  1116. package/src/icons/playback-next.scss +12 -0
  1117. package/src/icons/playback-pause.scss +12 -0
  1118. package/src/icons/playback-play.scss +12 -0
  1119. package/src/icons/playback-previous.scss +12 -0
  1120. package/src/icons/playback-record.scss +12 -0
  1121. package/src/icons/playback-rewind.scss +12 -0
  1122. package/src/icons/playback-stop.scss +12 -0
  1123. package/src/icons/plus-circle-fill.scss +12 -0
  1124. package/src/icons/plus-circle.scss +12 -0
  1125. package/src/icons/plus.scss +12 -0
  1126. package/src/icons/podcast.scss +12 -0
  1127. package/src/icons/printer.scss +12 -0
  1128. package/src/icons/question-circle-fill.scss +12 -0
  1129. package/src/icons/question-circle.scss +12 -0
  1130. package/src/icons/refresh.scss +12 -0
  1131. package/src/icons/restaurant.scss +12 -0
  1132. package/src/icons/rss.scss +12 -0
  1133. package/src/icons/save-diskette-fill.scss +12 -0
  1134. package/src/icons/save-diskette.scss +12 -0
  1135. package/src/icons/scroll-cogwheel.scss +12 -0
  1136. package/src/icons/scroll-content.scss +12 -0
  1137. package/src/icons/scroll-group.scss +12 -0
  1138. package/src/icons/scroll.scss +12 -0
  1139. package/src/icons/search.scss +12 -0
  1140. package/src/icons/senior.scss +12 -0
  1141. package/src/icons/share.scss +12 -0
  1142. package/src/icons/shield.scss +12 -0
  1143. package/src/icons/shopping-cart.scss +12 -0
  1144. package/src/icons/signin.scss +12 -0
  1145. package/src/icons/signout.scss +12 -0
  1146. package/src/icons/sitemap.scss +12 -0
  1147. package/src/icons/sliders.scss +12 -0
  1148. package/src/icons/snapchat.scss +12 -0
  1149. package/src/icons/sort-alphabetical-ascending.scss +12 -0
  1150. package/src/icons/sort-alphabetical-descending.scss +12 -0
  1151. package/src/icons/sort-ascending.scss +12 -0
  1152. package/src/icons/sort-descending.scss +12 -0
  1153. package/src/icons/sort.scss +12 -0
  1154. package/src/icons/speechbubble-text.scss +12 -0
  1155. package/src/icons/speechbubble.scss +12 -0
  1156. package/src/icons/star-fill.scss +12 -0
  1157. package/src/icons/star.scss +12 -0
  1158. package/src/icons/swap-user.scss +12 -0
  1159. package/src/icons/text-bold.scss +12 -0
  1160. package/src/icons/text-italic.scss +12 -0
  1161. package/src/icons/text-tool.scss +12 -0
  1162. package/src/icons/thumbs-down-fill.scss +12 -0
  1163. package/src/icons/thumbs-down.scss +12 -0
  1164. package/src/icons/thumbs-up-fill.scss +12 -0
  1165. package/src/icons/thumbs-up.scss +12 -0
  1166. package/src/icons/ticket.scss +12 -0
  1167. package/src/icons/tiktok.scss +12 -0
  1168. package/src/icons/trash.scss +12 -0
  1169. package/src/icons/traveler.scss +12 -0
  1170. package/src/icons/twitch.scss +12 -0
  1171. package/src/icons/twitter-old.scss +12 -0
  1172. package/src/icons/twitter.scss +12 -0
  1173. package/src/icons/upload-cloud.scss +12 -0
  1174. package/src/icons/upload.scss +12 -0
  1175. package/src/icons/user.scss +12 -0
  1176. package/src/icons/vaccine.scss +12 -0
  1177. package/src/icons/videocamera-crossed.scss +12 -0
  1178. package/src/icons/videocamera.scss +12 -0
  1179. package/src/icons/vimeo.scss +12 -0
  1180. package/src/icons/virus.scss +12 -0
  1181. package/src/icons/volume-high.scss +12 -0
  1182. package/src/icons/volume-low.scss +12 -0
  1183. package/src/icons/volume-minus.scss +12 -0
  1184. package/src/icons/volume-mute.scss +12 -0
  1185. package/src/icons/volume-plus.scss +12 -0
  1186. package/src/icons/whatsapp.scss +12 -0
  1187. package/src/icons/wifi-crossed.scss +12 -0
  1188. package/src/icons/wifi.scss +12 -0
  1189. package/src/icons/x.scss +12 -0
  1190. package/src/icons/yle.scss +12 -0
  1191. package/src/icons/youth.scss +12 -0
  1192. package/src/icons/youtube.scss +12 -0
  1193. package/src/icons/zoom-in.scss +12 -0
  1194. package/src/icons/zoom-out.scss +12 -0
  1195. package/src/icons/zoom-text.scss +12 -0
  1196. package/src/svg/alert-circle-fill.svg +3 -0
  1197. package/src/svg/alert-circle.svg +3 -0
  1198. package/src/svg/angle-down.svg +3 -0
  1199. package/src/svg/angle-left.svg +3 -0
  1200. package/src/svg/angle-right.svg +3 -0
  1201. package/src/svg/angle-up.svg +3 -0
  1202. package/src/svg/arrow-bottom-left.svg +3 -0
  1203. package/src/svg/arrow-bottom-right.svg +3 -0
  1204. package/src/svg/arrow-down.svg +3 -0
  1205. package/src/svg/arrow-left.svg +3 -0
  1206. package/src/svg/arrow-redo.svg +3 -0
  1207. package/src/svg/arrow-right-dashed.svg +6 -0
  1208. package/src/svg/arrow-right.svg +3 -0
  1209. package/src/svg/arrow-top-left.svg +3 -0
  1210. package/src/svg/arrow-top-right.svg +3 -0
  1211. package/src/svg/arrow-undo.svg +3 -0
  1212. package/src/svg/arrow-up.svg +3 -0
  1213. package/src/svg/at-sign.svg +3 -0
  1214. package/src/svg/bag-cogwheel.svg +4 -0
  1215. package/src/svg/bell-crossed.svg +3 -0
  1216. package/src/svg/bell.svg +3 -0
  1217. package/src/svg/binoculars.svg +3 -0
  1218. package/src/svg/box.svg +5 -0
  1219. package/src/svg/cake.svg +3 -0
  1220. package/src/svg/calendar-clock.svg +3 -0
  1221. package/src/svg/calendar-cross.svg +3 -0
  1222. package/src/svg/calendar-event.svg +3 -0
  1223. package/src/svg/calendar-plus.svg +3 -0
  1224. package/src/svg/calendar-recurring.svg +3 -0
  1225. package/src/svg/calendar.svg +3 -0
  1226. package/src/svg/camera.svg +3 -0
  1227. package/src/svg/check-circle-fill.svg +3 -0
  1228. package/src/svg/check-circle.svg +3 -0
  1229. package/src/svg/check.svg +3 -0
  1230. package/src/svg/children.svg +12 -0
  1231. package/src/svg/clock-cross.svg +3 -0
  1232. package/src/svg/clock-plus.svg +3 -0
  1233. package/src/svg/clock.svg +3 -0
  1234. package/src/svg/coffee-cup-saucer.svg +3 -0
  1235. package/src/svg/cogwheel.svg +3 -0
  1236. package/src/svg/cogwheels.svg +4 -0
  1237. package/src/svg/collapse.svg +4 -0
  1238. package/src/svg/company.svg +3 -0
  1239. package/src/svg/copy.svg +3 -0
  1240. package/src/svg/cross-circle-fill.svg +3 -0
  1241. package/src/svg/cross-circle.svg +3 -0
  1242. package/src/svg/cross.svg +3 -0
  1243. package/src/svg/customer-bot-negative.svg +3 -0
  1244. package/src/svg/customer-bot-neutral.svg +3 -0
  1245. package/src/svg/customer-bot-positive.svg +3 -0
  1246. package/src/svg/discord.svg +3 -0
  1247. package/src/svg/display.svg +3 -0
  1248. package/src/svg/document-blank-group.svg +5 -0
  1249. package/src/svg/document-blank.svg +3 -0
  1250. package/src/svg/document-group.svg +9 -0
  1251. package/src/svg/document.svg +3 -0
  1252. package/src/svg/download-cloud.svg +3 -0
  1253. package/src/svg/download.svg +3 -0
  1254. package/src/svg/drag.svg +3 -0
  1255. package/src/svg/entrepreneur.svg +3 -0
  1256. package/src/svg/envelope.svg +3 -0
  1257. package/src/svg/error-fill.svg +3 -0
  1258. package/src/svg/error.svg +3 -0
  1259. package/src/svg/euro-sign.svg +3 -0
  1260. package/src/svg/eye-crossed.svg +3 -0
  1261. package/src/svg/eye.svg +3 -0
  1262. package/src/svg/face-neutral.svg +3 -0
  1263. package/src/svg/face-sad.svg +3 -0
  1264. package/src/svg/face-smile.svg +3 -0
  1265. package/src/svg/facebook.svg +3 -0
  1266. package/src/svg/family.svg +3 -0
  1267. package/src/svg/folder-group.svg +5 -0
  1268. package/src/svg/folder.svg +3 -0
  1269. package/src/svg/globe.svg +3 -0
  1270. package/src/svg/google.svg +3 -0
  1271. package/src/svg/graph-columns.svg +3 -0
  1272. package/src/svg/group.svg +3 -0
  1273. package/src/svg/hammers.svg +5 -0
  1274. package/src/svg/headphones.svg +3 -0
  1275. package/src/svg/heart-fill.svg +3 -0
  1276. package/src/svg/heart.svg +3 -0
  1277. package/src/svg/history.svg +4 -0
  1278. package/src/svg/home-smoke.svg +3 -0
  1279. package/src/svg/home.svg +3 -0
  1280. package/src/svg/info-circle-fill.svg +3 -0
  1281. package/src/svg/info-circle.svg +3 -0
  1282. package/src/svg/instagram.svg +3 -0
  1283. package/src/svg/key.svg +3 -0
  1284. package/src/svg/layers.svg +3 -0
  1285. package/src/svg/lightbulb.svg +5 -0
  1286. package/src/svg/link-external.svg +3 -0
  1287. package/src/svg/link.svg +3 -0
  1288. package/src/svg/linkedin.svg +3 -0
  1289. package/src/svg/locate.svg +3 -0
  1290. package/src/svg/location.svg +3 -0
  1291. package/src/svg/lock-open.svg +3 -0
  1292. package/src/svg/lock.svg +3 -0
  1293. package/src/svg/map.svg +3 -0
  1294. package/src/svg/menu-dots.svg +3 -0
  1295. package/src/svg/menu-hamburger.svg +3 -0
  1296. package/src/svg/microphone-crossed.svg +3 -0
  1297. package/src/svg/microphone.svg +3 -0
  1298. package/src/svg/minus-circle-fill.svg +3 -0
  1299. package/src/svg/minus-circle.svg +3 -0
  1300. package/src/svg/minus.svg +3 -0
  1301. package/src/svg/mobile.svg +3 -0
  1302. package/src/svg/money-bag-fill.svg +3 -0
  1303. package/src/svg/money-bag.svg +4 -0
  1304. package/src/svg/mover.svg +3 -0
  1305. package/src/svg/occupation.svg +3 -0
  1306. package/src/svg/paperclip.svg +3 -0
  1307. package/src/svg/pen-line.svg +3 -0
  1308. package/src/svg/pen.svg +3 -0
  1309. package/src/svg/person-female.svg +3 -0
  1310. package/src/svg/person-genderless.svg +3 -0
  1311. package/src/svg/person-male.svg +3 -0
  1312. package/src/svg/person-wheelchair.svg +3 -0
  1313. package/src/svg/phone.svg +3 -0
  1314. package/src/svg/photo-plus.svg +3 -0
  1315. package/src/svg/photo.svg +3 -0
  1316. package/src/svg/playback-fastforward.svg +3 -0
  1317. package/src/svg/playback-next.svg +3 -0
  1318. package/src/svg/playback-pause.svg +3 -0
  1319. package/src/svg/playback-play.svg +3 -0
  1320. package/src/svg/playback-previous.svg +3 -0
  1321. package/src/svg/playback-record.svg +3 -0
  1322. package/src/svg/playback-rewind.svg +3 -0
  1323. package/src/svg/playback-stop.svg +3 -0
  1324. package/src/svg/plus-circle-fill.svg +3 -0
  1325. package/src/svg/plus-circle.svg +3 -0
  1326. package/src/svg/plus.svg +3 -0
  1327. package/src/svg/podcast.svg +3 -0
  1328. package/src/svg/printer.svg +3 -0
  1329. package/src/svg/question-circle-fill.svg +3 -0
  1330. package/src/svg/question-circle.svg +3 -0
  1331. package/src/svg/refresh.svg +3 -0
  1332. package/src/svg/restaurant.svg +3 -0
  1333. package/src/svg/rss.svg +3 -0
  1334. package/src/svg/save-diskette-fill.svg +3 -0
  1335. package/src/svg/save-diskette.svg +3 -0
  1336. package/src/svg/scroll-cogwheel.svg +4 -0
  1337. package/src/svg/scroll-content.svg +6 -0
  1338. package/src/svg/scroll-group.svg +5 -0
  1339. package/src/svg/scroll.svg +3 -0
  1340. package/src/svg/search.svg +3 -0
  1341. package/src/svg/senior.svg +3 -0
  1342. package/src/svg/share.svg +3 -0
  1343. package/src/svg/shield.svg +4 -0
  1344. package/src/svg/shopping-cart.svg +3 -0
  1345. package/src/svg/signin.svg +3 -0
  1346. package/src/svg/signout.svg +3 -0
  1347. package/src/svg/sitemap.svg +3 -0
  1348. package/src/svg/sliders.svg +3 -0
  1349. package/src/svg/snapchat.svg +3 -0
  1350. package/src/svg/sort-alphabetical-ascending.svg +3 -0
  1351. package/src/svg/sort-alphabetical-descending.svg +3 -0
  1352. package/src/svg/sort-ascending.svg +3 -0
  1353. package/src/svg/sort-descending.svg +3 -0
  1354. package/src/svg/sort.svg +3 -0
  1355. package/src/svg/speechbubble-text.svg +3 -0
  1356. package/src/svg/speechbubble.svg +3 -0
  1357. package/src/svg/star-fill.svg +3 -0
  1358. package/src/svg/star.svg +3 -0
  1359. package/src/svg/swap-user.svg +3 -0
  1360. package/src/svg/text-bold.svg +3 -0
  1361. package/src/svg/text-italic.svg +3 -0
  1362. package/src/svg/text-tool.svg +3 -0
  1363. package/src/svg/thumbs-down-fill.svg +3 -0
  1364. package/src/svg/thumbs-down.svg +3 -0
  1365. package/src/svg/thumbs-up-fill.svg +3 -0
  1366. package/src/svg/thumbs-up.svg +3 -0
  1367. package/src/svg/ticket.svg +3 -0
  1368. package/src/svg/tiktok.svg +3 -0
  1369. package/src/svg/trash.svg +3 -0
  1370. package/src/svg/traveler.svg +3 -0
  1371. package/src/svg/twitch.svg +3 -0
  1372. package/src/svg/twitter-old.svg +3 -0
  1373. package/src/svg/twitter.svg +3 -0
  1374. package/src/svg/upload-cloud.svg +3 -0
  1375. package/src/svg/upload.svg +3 -0
  1376. package/src/svg/user.svg +3 -0
  1377. package/src/svg/vaccine.svg +3 -0
  1378. package/src/svg/videocamera-crossed.svg +3 -0
  1379. package/src/svg/videocamera.svg +3 -0
  1380. package/src/svg/vimeo.svg +3 -0
  1381. package/src/svg/virus.svg +3 -0
  1382. package/src/svg/volume-high.svg +3 -0
  1383. package/src/svg/volume-low.svg +3 -0
  1384. package/src/svg/volume-minus.svg +3 -0
  1385. package/src/svg/volume-mute.svg +3 -0
  1386. package/src/svg/volume-plus.svg +3 -0
  1387. package/src/svg/whatsapp.svg +3 -0
  1388. package/src/svg/wifi-crossed.svg +3 -0
  1389. package/src/svg/wifi.svg +3 -0
  1390. package/src/svg/x.svg +4 -0
  1391. package/src/svg/yle.svg +3 -0
  1392. package/src/svg/youth.svg +3 -0
  1393. package/src/svg/youtube.svg +3 -0
  1394. package/src/svg/zoom-in.svg +3 -0
  1395. package/src/svg/zoom-out.svg +3 -0
  1396. package/src/svg/zoom-text.svg +3 -0
  1397. package/src/variables/_colors.scss +148 -91
  1398. package/src/variables/colors.stories.js +212 -0
  1399. package/lib/components/_button-mixin.scss +0 -120
  1400. package/lib/components/_checkbox-mixin.scss +0 -208
  1401. package/lib/components/_footer-mixin.scss +0 -385
  1402. package/lib/components/_header-mixin.scss +0 -275
  1403. package/lib/components/_navigation-mixins.scss +0 -270
  1404. package/lib/components/_radio-button-mixin.scss +0 -207
  1405. package/lib/components/_tag-mixin.scss +0 -261
  1406. package/lib/components/_text-input-mixin.scss +0 -203
  1407. package/lib/icons/icon-arrow-left.css +0 -139
  1408. package/lib/icons/icon-arrow-left.min.css +0 -1
  1409. package/lib/icons/icon-arrow-right.css +0 -139
  1410. package/lib/icons/icon-arrow-right.min.css +0 -1
  1411. package/lib/icons/icon-check.css +0 -139
  1412. package/lib/icons/icon-check.min.css +0 -1
  1413. package/lib/icons/icon-close.css +0 -140
  1414. package/lib/icons/icon-close.min.css +0 -1
  1415. package/lib/icons/icon-error.css +0 -140
  1416. package/lib/icons/icon-error.min.css +0 -1
  1417. package/lib/icons/icon-info.css +0 -140
  1418. package/lib/icons/icon-info.min.css +0 -1
  1419. package/lib/icons/icon-success.css +0 -139
  1420. package/lib/icons/icon-success.min.css +0 -1
  1421. package/lib/icons/icon-warning.css +0 -139
  1422. package/lib/icons/icon-warning.min.css +0 -1
  1423. package/lib/utils-only.css +0 -2801
  1424. package/lib/utils-only.min.css +0 -1
  1425. package/src/icons/icon-arrow-left.scss +0 -23
  1426. package/src/icons/icon-arrow-right.scss +0 -23
  1427. package/src/icons/icon-check.scss +0 -23
  1428. package/src/icons/icon-close.scss +0 -24
  1429. package/src/icons/icon-error.scss +0 -24
  1430. package/src/icons/icon-info.scss +0 -24
  1431. package/src/icons/icon-success.scss +0 -23
  1432. package/src/icons/icon-warning.scss +0 -23
@@ -1,42 +1,74 @@
1
- @charset "UTF-8";
2
- /* All components bundle*/
3
- /* This file imports all component styles for the IVDS Core package*/
4
- /* Form components*/
1
+ /* stylelint-disable no-descending-specificity */
2
+ /* stylelint-disable no-descending-specificity, at-rule-empty-line-before */
5
3
  @keyframes ivds-button-spin {
6
4
  to {
7
5
  transform: translate(-50%, -50%) rotate(360deg);
8
6
  }
9
7
  }
10
8
  .ivds-button {
9
+ --background-color: transparent;
10
+ --color: var(--ivds-text-primary, #121a24);
11
+ --border-color: transparent;
12
+ --hover-background-color: transparent;
13
+ --hover-border-color: transparent;
14
+ --active-background-color: transparent;
15
+ --disabled-background-color: var(--ivds-surface-muted, #f1f3f5);
16
+ --disabled-border-color: var(--ivds-border-subtle, #e2e7ec);
17
+ --disabled-color: var(--ivds-text-muted, #6b7785);
18
+ --font-size: var(--fontSize-base, 1rem);
19
+ --min-height: 48px;
20
+ --padding-block: var(--spacing-3, 0.75rem);
21
+ --padding-inline: var(--spacing-6, 1.5rem);
22
+ --border-radius: var(--ivds-radius-s, 0.125rem);
11
23
  display: inline-flex;
12
24
  align-items: center;
13
25
  justify-content: center;
14
- border: var(--borderWidth-1, 1px) solid transparent;
15
- border-radius: var(--borderRadius-md, 0.375rem);
16
- font-family: var(--fontFamily-sans, system-ui, -apple-system, sans-serif);
17
- font-weight: var(--fontWeight-medium, 500);
18
- line-height: var(--lineHeight-tight, 1.25);
26
+ gap: var(--spacing-2, 0.5rem);
27
+ min-width: 2.75rem;
28
+ min-height: var(--min-height);
29
+ padding: var(--padding-block) var(--padding-inline);
30
+ border: 2px solid var(--border-color);
31
+ border-radius: var(--border-radius);
32
+ background-color: var(--background-color);
33
+ color: var(--color);
34
+ font-family: var(--fontFamily-primary, system-ui, sans-serif);
35
+ font-size: var(--font-size);
36
+ font-weight: var(--fontWeight-bold, 700);
37
+ letter-spacing: 0.01em;
38
+ line-height: 1.1;
19
39
  text-decoration: none;
20
40
  cursor: pointer;
21
- transition: all 0.15s ease-in-out;
22
41
  -webkit-user-select: none;
23
- -moz-user-select: none;
42
+ -moz-user-select: none;
24
43
  user-select: none;
25
44
  white-space: nowrap;
45
+ position: relative;
46
+ transition: background-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), border-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
47
+ }
48
+ .ivds-button:focus-visible {
49
+ outline: var(--ivds-focus-ring-width, 3px) solid var(--ivds-focus-ring-color, var(--color-brand-accent-600, #1058b8));
50
+ outline-offset: var(--ivds-focus-ring-offset, 2px);
51
+ box-shadow: none;
26
52
  }
27
- .ivds-button:focus {
28
- outline: 2px solid var(--color-brand-primary-500, #f97316);
29
- outline-offset: 2px;
53
+ .ivds-button:focus:not(:focus-visible) {
54
+ outline: none;
55
+ box-shadow: none;
56
+ }
57
+ .ivds-button:hover:not(:disabled, [aria-disabled=true]) {
58
+ background-color: var(--hover-background-color);
59
+ border-color: var(--hover-border-color);
60
+ }
61
+ .ivds-button:active:not(:disabled, [aria-disabled=true]) {
62
+ background-color: var(--active-background-color);
30
63
  }
31
64
  .ivds-button:disabled, .ivds-button[aria-disabled=true] {
32
- opacity: 0.5;
65
+ background-color: var(--disabled-background-color);
66
+ border-color: var(--disabled-border-color);
67
+ color: var(--disabled-color);
33
68
  cursor: not-allowed;
34
69
  pointer-events: none;
35
70
  }
36
71
  .ivds-button {
37
- padding: var(--spacing-3, 0.75rem) var(--spacing-6, 1.5rem);
38
- font-size: var(--fontSize-base, 1rem);
39
- min-height: 44px;
40
72
  gap: var(--spacing-2, 0.5rem);
41
73
  }
42
74
  .ivds-button .ivds-button__icon {
@@ -52,8 +84,8 @@
52
84
  flex-shrink: 0;
53
85
  }
54
86
  .ivds-button__icon svg {
55
- width: 1em;
56
- height: 1em;
87
+ width: 1.15em;
88
+ height: 1.15em;
57
89
  fill: currentcolor;
58
90
  }
59
91
  .ivds-button__text {
@@ -62,147 +94,287 @@
62
94
  .ivds-button--loading {
63
95
  position: relative;
64
96
  color: transparent !important;
97
+ pointer-events: none;
65
98
  }
66
99
  .ivds-button--loading::after {
67
100
  content: "";
68
101
  position: absolute;
69
102
  top: 50%;
70
103
  left: 50%;
71
- transform: translate(-50%, -50%);
72
- width: 16px;
73
- height: 16px;
104
+ width: 1rem;
105
+ height: 1rem;
74
106
  border: 2px solid currentcolor;
75
- border-radius: 50%;
76
- border-top-color: transparent;
77
- animation: ivds-button-spin 0.8s linear infinite;
107
+ border-radius: 9999px;
108
+ border-right-color: transparent;
109
+ border-bottom-color: transparent;
110
+ transform: translate(-50%, -50%);
111
+ animation: ivds-button-spin 0.7s linear infinite;
112
+ color: inherit;
78
113
  }
79
114
  .ivds-button--full-width {
80
115
  width: 100%;
81
116
  justify-content: center;
82
117
  }
118
+ .ivds-button--pill {
119
+ border-radius: var(--borderRadius-full, 9999px);
120
+ }
83
121
  .ivds-button--icon-only {
84
- width: 44px;
85
- height: 44px;
86
- padding: 0;
122
+ --min-height: 48px;
123
+ --padding-block: 0;
124
+ --padding-inline: 0;
125
+ width: 48px;
126
+ height: 48px;
87
127
  }
88
128
  .ivds-button--icon-only .ivds-button__icon {
89
129
  margin: 0;
90
130
  }
131
+ .ivds-button--icon-only--circular {
132
+ --border-radius: var(--borderRadius-full, 9999px);
133
+ }
91
134
  .ivds-button--icon-only.ivds-button--small {
92
- width: 32px;
93
- height: 32px;
94
- padding: 0;
135
+ --min-height: 40px;
136
+ --padding-block: 0;
137
+ --padding-inline: 0;
138
+ width: 40px;
139
+ height: 40px;
95
140
  }
96
141
  .ivds-button--icon-only.ivds-button--small .ivds-button__icon {
97
142
  margin: 0;
98
143
  }
144
+ .ivds-button--icon-only.ivds-button--small--circular {
145
+ --border-radius: var(--borderRadius-full, 9999px);
146
+ }
99
147
  .ivds-button--icon-only.ivds-button--large {
148
+ --min-height: 56px;
149
+ --padding-block: 0;
150
+ --padding-inline: 0;
100
151
  width: 56px;
101
152
  height: 56px;
102
- padding: 0;
103
153
  }
104
154
  .ivds-button--icon-only.ivds-button--large .ivds-button__icon {
105
155
  margin: 0;
106
156
  }
107
- .ivds-button--primary {
108
- background-color: var(--color-brand-primary-500, #f97316);
109
- color: var(--color-semantic-neutral-50, #fafafa);
110
- border-color: var(--color-brand-primary-500, #f97316);
111
- }
112
- .ivds-button--primary:hover:not(:disabled, [aria-disabled=true]) {
113
- background-color: var(--color-brand-primary-600, #ea580c);
114
- border-color: var(--color-brand-primary-600, #ea580c);
157
+ .ivds-button--icon-only.ivds-button--large--circular {
158
+ --border-radius: var(--borderRadius-full, 9999px);
115
159
  }
116
- .ivds-button--primary:active:not(:disabled, [aria-disabled=true]) {
117
- transform: translateY(1px);
160
+ .ivds-button--primary {
161
+ --background-color: var(--ivds-interactive-primary-bg, #1058b8);
162
+ --color: var(--ivds-interactive-primary-text, #fff);
163
+ --border-color: var(--ivds-interactive-primary-bg, #1058b8);
164
+ --hover-background-color: var(--ivds-interactive-primary-bg-hover, #0b4593);
165
+ --hover-border-color: var(--ivds-interactive-primary-bg-hover, #0b4593);
166
+ --active-background-color: var(--ivds-interactive-primary-bg-active, #083775);
118
167
  }
119
168
  .ivds-button--secondary {
120
- background-color: transparent;
121
- color: var(--color-brand-primary-500, #f97316);
122
- border-color: var(--color-brand-primary-500, #f97316);
123
- }
124
- .ivds-button--secondary:hover:not(:disabled, [aria-disabled=true]) {
125
- background-color: var(--color-brand-primary-50, #fff7ed);
126
- border-color: var(--color-brand-primary-500, #f97316);
127
- }
128
- .ivds-button--secondary:active:not(:disabled, [aria-disabled=true]) {
129
- transform: translateY(1px);
169
+ --background-color: var(--ivds-interactive-secondary-bg, #fff);
170
+ --color: var(--ivds-interactive-secondary-text, #0b4593);
171
+ --border-color: var(--ivds-interactive-secondary-border, #1058b8);
172
+ --hover-background-color: var(--ivds-interactive-secondary-bg-hover, #eef4ff);
173
+ }
174
+ .ivds-button--accent {
175
+ --background-color: var(--color-brand-accent-500, #1a6bdb);
176
+ --color: #fff;
177
+ --border-color: var(--color-brand-accent-500, #1a6bdb);
178
+ --hover-background-color: var(--color-brand-accent-600, #1058b8);
179
+ --hover-border-color: var(--color-brand-accent-600, #1058b8);
180
+ --active-background-color: var(--color-brand-accent-600, #1058b8);
130
181
  }
131
- .ivds-button--tertiary {
132
- background-color: transparent;
133
- color: var(--color-brand-primary-500, #f97316);
134
- border-color: transparent;
182
+ .ivds-button--success {
183
+ --background-color: var(--color-semantic-success-600, #0f6f4a);
184
+ --color: #fff;
185
+ --border-color: var(--color-semantic-success-600, #0f6f4a);
186
+ --hover-background-color: var(--color-semantic-success-700, #0a573a);
187
+ --hover-border-color: var(--color-semantic-success-700, #0a573a);
188
+ --active-background-color: var(--color-semantic-success-700, #0a573a);
135
189
  }
136
- .ivds-button--tertiary:hover:not(:disabled, [aria-disabled=true]) {
137
- background-color: var(--color-brand-primary-50, #fff7ed);
190
+ .ivds-button--warning {
191
+ --background-color: var(--color-semantic-warning-500, #ce790b);
192
+ --color: #fff;
193
+ --border-color: var(--color-semantic-warning-500, #ce790b);
194
+ --hover-background-color: var(--color-semantic-warning-600, #a76009);
195
+ --hover-border-color: var(--color-semantic-warning-600, #a76009);
196
+ --active-background-color: var(--color-semantic-warning-600, #a76009);
138
197
  }
139
- .ivds-button--tertiary:active:not(:disabled, [aria-disabled=true]) {
140
- transform: translateY(1px);
198
+ .ivds-button--danger {
199
+ --background-color: var(--color-semantic-error-500, #d73a50);
200
+ --color: #fff;
201
+ --border-color: var(--color-semantic-error-500, #d73a50);
202
+ --hover-background-color: var(--color-semantic-error-600, #b72a41);
203
+ --hover-border-color: var(--color-semantic-error-600, #b72a41);
204
+ --active-background-color: var(--color-semantic-error-600, #b72a41);
141
205
  }
142
- .ivds-button--success {
143
- background-color: var(--color-semantic-success-500, #10b981);
144
- color: var(--color-semantic-neutral-50, #fcfcfd);
145
- border-color: var(--color-semantic-success-500, #10b981);
206
+ .ivds-button--info {
207
+ --background-color: var(--color-semantic-info-600, #0050c8);
208
+ --color: #fff;
209
+ --border-color: var(--color-semantic-info-600, #0050c8);
210
+ --hover-background-color: var(--color-semantic-info-700, #003d99);
211
+ --hover-border-color: var(--color-semantic-info-700, #003d99);
212
+ --active-background-color: var(--color-semantic-info-700, #003d99);
213
+ }
214
+ .ivds-button--neutral {
215
+ --background-color: var(--color-semantic-neutral-900, #121a24);
216
+ --color: #fff;
217
+ --border-color: var(--color-semantic-neutral-900, #121a24);
218
+ --hover-background-color: var(--color-semantic-neutral-800, #202a36);
219
+ --hover-border-color: var(--color-semantic-neutral-800, #202a36);
220
+ --active-background-color: var(--color-semantic-neutral-800, #202a36);
221
+ }
222
+ .ivds-button--gradient-primary {
223
+ --border-color: transparent;
224
+ --color: #fff;
225
+ background: linear-gradient(135deg, var(--color-brand-accent-500, #1a6bdb) 0%, var(--color-brand-accent-700, #0b4593) 100%);
226
+ }
227
+ .ivds-button--gradient-primary:hover:not(:disabled, [aria-disabled=true]) {
228
+ filter: brightness(0.95);
229
+ }
230
+ .ivds-button--gradient-secondary {
231
+ --border-color: transparent;
232
+ --color: #fff;
233
+ background: linear-gradient(135deg, var(--color-brand-secondary-500, #007a4d) 0%, var(--color-brand-secondary-700, #004d31) 100%);
234
+ }
235
+ .ivds-button--gradient-secondary:hover:not(:disabled, [aria-disabled=true]) {
236
+ filter: brightness(0.95);
237
+ }
238
+ .ivds-button--gradient-mixed {
239
+ --border-color: transparent;
240
+ --color: #fff;
241
+ background: linear-gradient(135deg, var(--color-brand-primary-500, #cc5500) 0%, var(--color-brand-accent-600, #1058b8) 100%);
242
+ }
243
+ .ivds-button--gradient-mixed:hover:not(:disabled, [aria-disabled=true]) {
244
+ filter: brightness(0.95);
245
+ }
246
+ .ivds-button--gradient-sunset {
247
+ --border-color: transparent;
248
+ --color: #fff;
249
+ background: linear-gradient(135deg, var(--color-brand-primary-500, #cc5500) 0%, var(--color-semantic-error-600, #b72a41) 100%);
250
+ }
251
+ .ivds-button--gradient-sunset:hover:not(:disabled, [aria-disabled=true]) {
252
+ filter: brightness(0.95);
253
+ }
254
+ .ivds-button--gradient-ocean {
255
+ --border-color: transparent;
256
+ --color: #fff;
257
+ background: linear-gradient(135deg, var(--color-brand-accent-500, #1a6bdb) 0%, var(--color-brand-accent-700, #0b4593) 100%);
258
+ }
259
+ .ivds-button--gradient-ocean:hover:not(:disabled, [aria-disabled=true]) {
260
+ filter: brightness(0.95);
261
+ }
262
+ .ivds-button--outline-primary {
263
+ --background-color: var(--ivds-interactive-secondary-bg, #fff);
264
+ --color: var(--color-brand-accent-700, #0b4593);
265
+ --border-color: var(--color-brand-accent-600, #1058b8);
266
+ --hover-background-color: var(--color-brand-accent-50, #eef4ff);
267
+ }
268
+ .ivds-button--outline-secondary {
269
+ --background-color: var(--ivds-interactive-secondary-bg, #fff);
270
+ --color: var(--color-brand-secondary-700, #005234);
271
+ --border-color: var(--color-brand-secondary-600, #006640);
272
+ --hover-background-color: var(--color-brand-secondary-50, #eef8f3);
273
+ }
274
+ .ivds-button--outline-neutral {
275
+ --background-color: var(--ivds-interactive-secondary-bg, #fff);
276
+ --color: var(--color-semantic-neutral-800, #202a36);
277
+ --border-color: var(--color-semantic-neutral-500, #6b7785);
278
+ --hover-background-color: var(--color-semantic-neutral-100, #f1f3f5);
279
+ }
280
+ .ivds-button--ghost-primary, .ivds-button--tertiary,
281
+ .ivds-button--supplementary {
282
+ --background-color: var(--ivds-interactive-supplementary-bg, #f1f3f5);
283
+ --border-color: transparent;
284
+ --color: var(--color-brand-accent-700, #0b4593);
285
+ --hover-background-color: var(--ivds-interactive-supplementary-bg-hover, #e2e7ec);
286
+ }
287
+ .ivds-button--ghost-secondary {
288
+ --background-color: var(--ivds-interactive-supplementary-bg, #f1f3f5);
289
+ --border-color: transparent;
290
+ --color: var(--color-brand-secondary-700, #005234);
291
+ --hover-background-color: var(--color-semantic-neutral-200, #e2e7ec);
292
+ }
293
+ .ivds-button--ghost-neutral, .ivds-button--ghost {
294
+ --background-color: var(--ivds-interactive-supplementary-bg, #f1f3f5);
295
+ --border-color: transparent;
296
+ --color: var(--color-semantic-neutral-800, #202a36);
297
+ --hover-background-color: var(--color-semantic-neutral-200, #e2e7ec);
298
+ }
299
+ .ivds-button--glass {
300
+ --background-color: var(--ivds-surface-base, #fff);
301
+ --border-color: var(--ivds-border-strong, #a1adba);
302
+ --color: var(--ivds-text-primary, #121a24);
303
+ }
304
+ .ivds-button--glass-dark {
305
+ --background-color: var(--color-semantic-neutral-900, #121a24);
306
+ --color: #fff;
307
+ --border-color: var(--color-semantic-neutral-900, #121a24);
308
+ --hover-background-color: var(--color-semantic-neutral-800, #202a36);
309
+ --hover-border-color: var(--color-semantic-neutral-800, #202a36);
310
+ }
311
+ .ivds-button--xs {
312
+ --padding-block: var(--spacing-1, 0.25rem);
313
+ --padding-inline: var(--spacing-3, 0.75rem);
314
+ --font-size: var(--fontSize-xs, 0.75rem);
315
+ --min-height: 32px;
146
316
  }
147
- .ivds-button--success:hover:not(:disabled, [aria-disabled=true]) {
148
- background-color: var(--color-semantic-success-600, #059669);
149
- border-color: var(--color-semantic-success-600, #059669);
317
+ .ivds-button--small {
318
+ --padding-block: var(--spacing-2, 0.5rem);
319
+ --padding-inline: var(--spacing-4, 1rem);
320
+ --font-size: var(--fontSize-sm, 0.875rem);
321
+ --min-height: 40px;
150
322
  }
151
- .ivds-button--success:active:not(:disabled, [aria-disabled=true]) {
152
- transform: translateY(1px);
323
+ .ivds-button--large {
324
+ --padding-block: var(--spacing-4, 1rem);
325
+ --padding-inline: var(--spacing-8, 2rem);
326
+ --font-size: var(--fontSize-lg, 1.125rem);
327
+ --min-height: 56px;
153
328
  }
154
- .ivds-button--warning {
155
- background-color: var(--color-semantic-warning-500, #f59e0b);
156
- color: var(--color-semantic-neutral-50, #fcfcfd);
157
- border-color: var(--color-semantic-warning-500, #f59e0b);
329
+ .ivds-button--xl {
330
+ --padding-block: var(--spacing-5, 1.25rem);
331
+ --padding-inline: var(--spacing-10, 2.5rem);
332
+ --font-size: var(--fontSize-xl, 1.25rem);
333
+ --min-height: 64px;
158
334
  }
159
- .ivds-button--warning:hover:not(:disabled, [aria-disabled=true]) {
160
- background-color: var(--color-semantic-warning-600, #d97706);
161
- border-color: var(--color-semantic-warning-600, #d97706);
335
+ .ivds-button-group {
336
+ display: inline-flex;
162
337
  }
163
- .ivds-button--warning:active:not(:disabled, [aria-disabled=true]) {
164
- transform: translateY(1px);
338
+ .ivds-button-group > .ivds-button {
339
+ border-radius: 0;
165
340
  }
166
- .ivds-button--danger {
167
- background-color: var(--color-semantic-error-500, #ef4444);
168
- color: var(--color-semantic-neutral-50, #fcfcfd);
169
- border-color: var(--color-semantic-error-500, #ef4444);
341
+ .ivds-button-group > .ivds-button:not(:first-child) {
342
+ margin-left: -2px;
170
343
  }
171
- .ivds-button--danger:hover:not(:disabled, [aria-disabled=true]) {
172
- background-color: var(--color-semantic-error-600, #dc2626);
173
- border-color: var(--color-semantic-error-600, #dc2626);
344
+ .ivds-button-group > .ivds-button:first-child {
345
+ border-top-left-radius: var(--ivds-radius-s, 0.125rem);
346
+ border-bottom-left-radius: var(--ivds-radius-s, 0.125rem);
174
347
  }
175
- .ivds-button--danger:active:not(:disabled, [aria-disabled=true]) {
176
- transform: translateY(1px);
348
+ .ivds-button-group > .ivds-button:last-child {
349
+ border-top-right-radius: var(--ivds-radius-s, 0.125rem);
350
+ border-bottom-right-radius: var(--ivds-radius-s, 0.125rem);
177
351
  }
178
- .ivds-button--info {
179
- background-color: var(--color-semantic-info-500, #3b82f6);
180
- color: var(--color-semantic-neutral-50, #fcfcfd);
181
- border-color: var(--color-semantic-info-500, #3b82f6);
352
+ .ivds-button-group--vertical {
353
+ flex-direction: column;
182
354
  }
183
- .ivds-button--info:hover:not(:disabled, [aria-disabled=true]) {
184
- background-color: var(--color-semantic-info-600, #2563eb);
185
- border-color: var(--color-semantic-info-600, #2563eb);
355
+ .ivds-button-group--vertical > .ivds-button {
356
+ border-radius: 0;
186
357
  }
187
- .ivds-button--info:active:not(:disabled, [aria-disabled=true]) {
188
- transform: translateY(1px);
358
+ .ivds-button-group--vertical > .ivds-button:not(:first-child) {
359
+ margin-left: 0;
360
+ margin-top: -2px;
189
361
  }
190
- .ivds-button--small {
191
- padding: var(--spacing-2, 0.5rem) var(--spacing-4, 1rem);
192
- font-size: var(--fontSize-sm, 0.875rem);
193
- min-height: 32px;
362
+ .ivds-button-group--vertical > .ivds-button:first-child {
363
+ border-top-left-radius: var(--ivds-radius-s, 0.125rem);
364
+ border-top-right-radius: var(--ivds-radius-s, 0.125rem);
194
365
  }
195
- .ivds-button--large {
196
- padding: var(--spacing-4, 1rem) var(--spacing-8, 2rem);
197
- font-size: var(--fontSize-lg, 1.125rem);
198
- min-height: 56px;
366
+ .ivds-button-group--vertical > .ivds-button:last-child {
367
+ border-bottom-left-radius: var(--ivds-radius-s, 0.125rem);
368
+ border-bottom-right-radius: var(--ivds-radius-s, 0.125rem);
199
369
  }
200
- .ivds-button-group {
201
- display: inline-flex;
370
+ .ivds-button-group--gap {
371
+ gap: var(--spacing-2, 0.5rem);
202
372
  }
203
- .ivds-button-group--vertical {
204
- flex-direction: column;
373
+ .ivds-button-group--gap > .ivds-button {
374
+ border-radius: var(--ivds-radius-s, 0.125rem);
375
+ margin: 0;
205
376
  }
377
+ /* stylelint-disable no-descending-specificity */
206
378
  .ivds-text-input-wrapper {
207
379
  position: relative;
208
380
  display: flex;
@@ -210,62 +382,87 @@
210
382
  gap: var(--spacing-2, 0.5rem);
211
383
  }
212
384
  .ivds-text-input {
385
+ --background-color: var(--ivds-surface-base, #fff);
386
+ --border-color: var(--ivds-border-strong, #a1adba);
387
+ --border-width: 2px;
388
+ --border-radius: var(--ivds-radius-s, 0.125rem);
389
+ --color: var(--ivds-text-primary, #121a24);
390
+ --placeholder-color: var(--ivds-text-muted, #4d5968);
391
+ --focus-border-color: var(--color-brand-accent-600, #1058b8);
392
+ --hover-border-color: var(--color-semantic-neutral-600, #4d5968);
393
+ --disabled-background-color: var(--ivds-surface-muted, #f1f3f5);
394
+ --disabled-border-color: var(--ivds-border-subtle, #e2e7ec);
395
+ --disabled-color: var(--ivds-text-muted, #4d5968);
396
+ --error-border-color: var(--color-semantic-error-500, #d73a50);
397
+ --success-border-color: var(--color-semantic-success-500, #19895d);
213
398
  display: block;
214
399
  width: 100%;
215
- border: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-300, #cbd5e1);
216
- border-radius: var(--borderRadius-md, 0.375rem);
217
- font-family: var(--fontFamily-sans, system-ui, -apple-system, sans-serif);
400
+ border: var(--border-width) solid var(--border-color);
401
+ border-radius: var(--border-radius);
402
+ background-color: var(--background-color);
403
+ color: var(--color);
404
+ font-family: var(--fontFamily-primary, system-ui, sans-serif);
405
+ font-size: var(--fontSize-base, 1rem);
218
406
  line-height: var(--lineHeight-normal, 1.5);
219
- color: var(--color-semantic-neutral-900, #0f172a);
220
- background-color: var(--color-semantic-neutral-50, #f8fafc);
221
- transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
407
+ transition: border-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), background-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
222
408
  }
223
409
  .ivds-text-input::-moz-placeholder {
224
- color: var(--color-semantic-neutral-500, #64748b);
410
+ color: var(--placeholder-color);
225
411
  }
226
412
  .ivds-text-input::placeholder {
227
- color: var(--color-semantic-neutral-500, #64748b);
413
+ color: var(--placeholder-color);
414
+ }
415
+ .ivds-text-input:hover:not(:disabled, :focus) {
416
+ border-color: var(--hover-border-color);
228
417
  }
229
418
  .ivds-text-input:focus {
230
419
  outline: none;
231
- border-color: var(--color-brand-primary-500, #f97316);
232
- box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.1);
420
+ border-color: var(--focus-border-color);
421
+ }
422
+ .ivds-text-input:focus-visible {
423
+ outline: var(--ivds-focus-ring-width, 3px) solid var(--ivds-focus-ring-color, var(--color-brand-accent-600, #1058b8));
424
+ outline-offset: var(--ivds-focus-ring-offset, 2px);
425
+ box-shadow: none;
426
+ }
427
+ .ivds-text-input:focus:not(:focus-visible) {
428
+ outline: none;
429
+ box-shadow: none;
233
430
  }
234
431
  .ivds-text-input:disabled {
235
- background-color: var(--color-semantic-neutral-100, #f1f5f9);
236
- color: var(--color-semantic-neutral-500, #64748b);
237
432
  cursor: not-allowed;
238
- opacity: 0.6;
433
+ color: var(--disabled-color);
434
+ border-color: var(--disabled-border-color);
435
+ background-color: var(--disabled-background-color);
239
436
  }
240
437
  .ivds-text-input {
241
438
  padding: var(--spacing-3, 0.75rem) var(--spacing-3, 0.75rem);
242
439
  font-size: var(--fontSize-base, 1rem);
243
- min-height: 44px;
440
+ min-height: 48px;
244
441
  }
245
442
  .ivds-text-input__label {
246
443
  display: block;
247
- font-size: var(--fontSize-sm, 0.875rem);
248
- font-weight: var(--fontWeight-medium, 500);
249
- color: var(--color-semantic-neutral-700, #374151);
250
444
  margin-bottom: var(--spacing-1, 0.25rem);
445
+ color: var(--ivds-text-primary, #121a24);
446
+ font-size: var(--fontSize-sm, 0.875rem);
447
+ font-weight: var(--fontWeight-semibold, 600);
251
448
  }
252
449
  .ivds-text-input__label--required::after {
253
450
  content: " *";
254
- color: var(--color-semantic-error-500, #ef4444);
451
+ color: var(--color-semantic-error-500, #d73a50);
255
452
  }
256
453
  .ivds-text-input__helper {
257
- font-size: var(--fontSize-sm, 0.875rem);
258
- color: var(--color-semantic-neutral-600, #4b5563);
259
454
  margin-top: var(--spacing-1, 0.25rem);
455
+ color: var(--ivds-text-muted, #4d5968);
456
+ font-size: var(--fontSize-xs, 0.75rem);
260
457
  }
261
458
  .ivds-text-input__error {
262
- font-size: var(--fontSize-sm, 0.875rem);
263
- color: var(--color-semantic-error-600, #dc2626);
264
459
  margin-top: var(--spacing-1, 0.25rem);
265
- }
266
- .ivds-text-input__error::before {
267
- content: "⚠ ";
268
- margin-right: var(--spacing-1, 0.25rem);
460
+ color: var(--color-semantic-error-600, #b72a41);
461
+ font-size: var(--fontSize-xs, 0.75rem);
462
+ font-weight: var(--fontWeight-medium, 500);
463
+ display: inline-flex;
464
+ align-items: center;
465
+ gap: var(--spacing-1, 0.25rem);
269
466
  }
270
467
  .ivds-text-input--small {
271
468
  padding: var(--spacing-2, 0.5rem) var(--spacing-3, 0.75rem);
@@ -278,67 +475,69 @@
278
475
  min-height: 56px;
279
476
  }
280
477
  .ivds-text-input--error {
281
- border-color: var(--color-semantic-error-500, #ef4444);
478
+ border-color: var(--color-semantic-error-500, #d73a50);
282
479
  }
283
480
  .ivds-text-input--error:focus {
284
- border-color: var(--color-semantic-error-500, #ef4444);
285
- box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
481
+ border-color: var(--color-semantic-error-500, #d73a50);
482
+ }
483
+ .ivds-text-input--error:focus-visible {
484
+ outline-color: var(--color-semantic-error-500, #d73a50);
286
485
  }
287
486
  .ivds-text-input--success {
288
- border-color: var(--color-semantic-success-500, #10b981);
487
+ border-color: var(--color-semantic-success-500, #19895d);
289
488
  }
290
489
  .ivds-text-input--success:focus {
291
- border-color: var(--color-semantic-success-500, #10b981);
292
- box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
490
+ border-color: var(--color-semantic-success-500, #19895d);
491
+ }
492
+ .ivds-text-input--success:focus-visible {
493
+ outline-color: var(--color-semantic-success-500, #19895d);
293
494
  }
294
495
  .ivds-text-input--warning {
295
- border-color: var(--color-semantic-warning-500, #f59e0b);
496
+ border-color: var(--color-semantic-warning-500, #ce790b);
296
497
  }
297
498
  .ivds-text-input--warning:focus {
298
- border-color: var(--color-semantic-warning-500, #f59e0b);
299
- box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.1);
499
+ border-color: var(--color-semantic-warning-500, #ce790b);
500
+ }
501
+ .ivds-text-input--warning:focus-visible {
502
+ outline-color: var(--color-semantic-warning-500, #ce790b);
300
503
  }
301
504
  .ivds-text-input-wrapper--icon-left {
302
505
  position: relative;
303
506
  }
304
- .ivds-text-input-wrapper--icon-left .ivds-text-input {
305
- padding-left: 2.5rem;
306
- }
307
507
  .ivds-text-input-wrapper--icon-left .ivds-text-input__icon {
308
508
  position: absolute;
309
509
  top: 50%;
310
- left: var(--spacing-3, 0.75rem);
311
510
  transform: translateY(-50%);
312
- width: 20px;
313
- height: 20px;
314
- color: var(--color-semantic-neutral-500, #64748b);
511
+ width: 1.125rem;
512
+ height: 1.125rem;
513
+ color: var(--ivds-text-muted, #4d5968);
315
514
  pointer-events: none;
515
+ display: inline-flex;
516
+ align-items: center;
517
+ justify-content: center;
518
+ left: var(--spacing-3, 0.75rem);
316
519
  }
317
- .ivds-text-input-wrapper--icon-left .ivds-text-input__icon svg {
318
- width: 100%;
319
- height: 100%;
320
- fill: currentcolor;
520
+ .ivds-text-input-wrapper--icon-left .ivds-text-input {
521
+ padding-left: calc(1.125rem + var(--spacing-6, 1.5rem));
321
522
  }
322
523
  .ivds-text-input-wrapper--icon-right {
323
524
  position: relative;
324
525
  }
325
- .ivds-text-input-wrapper--icon-right .ivds-text-input {
326
- padding-right: 2.5rem;
327
- }
328
526
  .ivds-text-input-wrapper--icon-right .ivds-text-input__icon {
329
527
  position: absolute;
330
528
  top: 50%;
331
- right: var(--spacing-3, 0.75rem);
332
529
  transform: translateY(-50%);
333
- width: 20px;
334
- height: 20px;
335
- color: var(--color-semantic-neutral-500, #64748b);
530
+ width: 1.125rem;
531
+ height: 1.125rem;
532
+ color: var(--ivds-text-muted, #4d5968);
336
533
  pointer-events: none;
534
+ display: inline-flex;
535
+ align-items: center;
536
+ justify-content: center;
537
+ right: var(--spacing-3, 0.75rem);
337
538
  }
338
- .ivds-text-input-wrapper--icon-right .ivds-text-input__icon svg {
339
- width: 100%;
340
- height: 100%;
341
- fill: currentcolor;
539
+ .ivds-text-input-wrapper--icon-right .ivds-text-input {
540
+ padding-right: calc(1.125rem + var(--spacing-6, 1.5rem));
342
541
  }
343
542
  .ivds-text-input__icon {
344
543
  display: flex;
@@ -359,54 +558,54 @@
359
558
  border-radius: 0;
360
559
  }
361
560
  .ivds-text-input-group .ivds-text-input:first-child {
362
- border-top-left-radius: var(--borderRadius-md, 0.375rem);
363
- border-bottom-left-radius: var(--borderRadius-md, 0.375rem);
561
+ border-top-left-radius: var(--ivds-radius-s, 0.125rem);
562
+ border-bottom-left-radius: var(--ivds-radius-s, 0.125rem);
364
563
  }
365
564
  .ivds-text-input-group .ivds-text-input:last-child {
366
- border-top-right-radius: var(--borderRadius-md, 0.375rem);
367
- border-bottom-right-radius: var(--borderRadius-md, 0.375rem);
565
+ border-top-right-radius: var(--ivds-radius-s, 0.125rem);
566
+ border-bottom-right-radius: var(--ivds-radius-s, 0.125rem);
368
567
  }
369
568
  .ivds-text-input-group .ivds-text-input:not(:first-child) {
370
- border-left: 0;
569
+ border-left-width: 0;
371
570
  }
372
571
  .ivds-text-input-group .ivds-text-input__addon {
373
- display: flex;
572
+ display: inline-flex;
374
573
  align-items: center;
375
574
  padding: var(--spacing-3, 0.75rem);
376
- background-color: var(--color-semantic-neutral-100, #f1f5f9);
377
- border: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-300, #cbd5e1);
378
- color: var(--color-semantic-neutral-600, #4b5563);
575
+ background-color: var(--ivds-surface-muted, #f1f3f5);
576
+ border: 2px solid var(--ivds-border-strong, #a1adba);
577
+ color: var(--ivds-text-secondary, #36414f);
379
578
  font-size: var(--fontSize-sm, 0.875rem);
380
579
  white-space: nowrap;
381
580
  }
382
581
  .ivds-text-input-group .ivds-text-input__addon:first-child {
383
- border-top-left-radius: var(--borderRadius-md, 0.375rem);
384
- border-bottom-left-radius: var(--borderRadius-md, 0.375rem);
385
- border-right: 0;
582
+ border-right-width: 0;
583
+ border-top-left-radius: var(--ivds-radius-s, 0.125rem);
584
+ border-bottom-left-radius: var(--ivds-radius-s, 0.125rem);
386
585
  }
387
586
  .ivds-text-input-group .ivds-text-input__addon:last-child {
388
- border-top-right-radius: var(--borderRadius-md, 0.375rem);
389
- border-bottom-right-radius: var(--borderRadius-md, 0.375rem);
390
- border-left: 0;
587
+ border-left-width: 0;
588
+ border-top-right-radius: var(--ivds-radius-s, 0.125rem);
589
+ border-bottom-right-radius: var(--ivds-radius-s, 0.125rem);
391
590
  }
392
591
  .ivds-text-input--filled {
393
- background-color: var(--color-semantic-neutral-100, #f5f5f5);
592
+ background-color: var(--ivds-surface-muted, #f1f3f5);
394
593
  border-color: transparent;
395
594
  }
396
595
  .ivds-text-input--filled:focus {
397
- background-color: var(--color-semantic-neutral-50, #fafafa);
398
- border-color: var(--color-brand-primary-500, #f97316);
596
+ background-color: var(--ivds-surface-base, #fff);
597
+ border-color: var(--color-brand-accent-600, #1058b8);
399
598
  }
400
599
  .ivds-text-input--filled:disabled {
401
- background-color: var(--color-semantic-neutral-200, #e5e5e5);
600
+ background-color: var(--color-semantic-neutral-200, #e2e7ec);
402
601
  }
403
602
  .ivds-text-input--borderless {
404
603
  border-color: transparent;
405
604
  background-color: transparent;
406
605
  }
407
606
  .ivds-text-input--borderless:focus {
408
- border-color: var(--color-brand-primary-500, #f97316);
409
- background-color: var(--color-semantic-neutral-50, #fafafa);
607
+ border-color: var(--color-brand-accent-600, #1058b8);
608
+ background-color: var(--ivds-surface-base, #fff);
410
609
  }
411
610
  .ivds-text-input--textarea {
412
611
  min-height: 120px;
@@ -423,204 +622,106 @@
423
622
  width: 100%;
424
623
  }
425
624
  .ivds-text-input[readonly] {
426
- background-color: var(--color-semantic-neutral-50, #f8fafc);
625
+ background-color: var(--ivds-surface-muted, #f1f3f5);
427
626
  cursor: default;
428
627
  }
429
628
  .ivds-text-input[readonly]:focus {
430
- box-shadow: none;
431
- border-color: var(--color-semantic-neutral-300, #d4d4d4);
629
+ border-color: var(--ivds-border-strong, #a1adba);
630
+ }
631
+ .ivds-text-input[readonly]:focus-visible {
632
+ outline: none;
432
633
  }
634
+ /* stylelint-disable no-descending-specificity */
635
+ /* stylelint-disable no-descending-specificity */
433
636
  .ivds-checkbox {
434
637
  position: relative;
435
638
  display: inline-flex;
436
- align-items: flex-start;
639
+ align-items: center;
640
+ gap: var(--spacing-3, 0.75rem);
641
+ min-height: 48px;
437
642
  cursor: pointer;
438
643
  -webkit-user-select: none;
439
- -moz-user-select: none;
644
+ -moz-user-select: none;
440
645
  user-select: none;
646
+ font-family: var(--fontFamily-primary, system-ui, sans-serif);
441
647
  }
442
648
  .ivds-checkbox:hover .ivds-checkbox__box {
443
- border-color: var(--color-brand-primary-400, #fb923c);
444
- }
445
- .ivds-checkbox__box {
446
- position: relative;
447
- display: flex;
448
- align-items: center;
449
- justify-content: center;
450
- width: 18px;
451
- height: 18px;
452
- min-width: 18px;
453
- border: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-300, #cbd5e1);
454
- border-radius: var(--borderRadius-sm, 0.125rem);
455
- background-color: var(--color-semantic-neutral-50, #f8fafc);
456
- transition: all 0.15s ease-in-out;
457
- }
458
- .ivds-checkbox__box::after {
459
- content: "";
460
- position: absolute;
461
- width: 10px;
462
- height: 6px;
463
- border: 2px solid transparent;
464
- border-top: none;
465
- border-right: none;
466
- transform: rotate(-45deg) scale(0);
467
- transition: transform 0.15s ease-in-out;
649
+ border-color: var(--color-brand-accent-600, #1058b8);
468
650
  }
469
651
  .ivds-checkbox__input {
470
652
  position: absolute;
471
653
  opacity: 0;
472
- width: 1px;
473
- height: 1px;
474
- margin: 0;
475
- padding: 0;
476
- border: 0;
477
- clip: rect(0, 0, 0, 0);
478
- overflow: hidden;
654
+ width: 0;
655
+ height: 0;
479
656
  }
480
657
  .ivds-checkbox__input:checked + .ivds-checkbox__box {
481
- background-color: var(--color-brand-primary-500, #f97316);
482
- border-color: var(--color-brand-primary-500, #f97316);
658
+ border-color: var(--color-brand-accent-600, #1058b8);
659
+ background-color: var(--color-brand-accent-600, #1058b8);
483
660
  }
484
661
  .ivds-checkbox__input:checked + .ivds-checkbox__box::after {
485
- border-color: var(--color-semantic-neutral-50, #f8fafc);
486
662
  transform: rotate(-45deg) scale(1);
487
663
  }
488
- .ivds-checkbox__input:focus + .ivds-checkbox__box {
489
- outline: 2px solid var(--color-brand-primary-500, #f97316);
490
- outline-offset: 2px;
664
+ .ivds-checkbox__input:focus-visible + .ivds-checkbox__box {
665
+ outline: var(--ivds-focus-ring-width, 3px) solid var(--ivds-focus-ring-color, var(--color-brand-accent-600, #1058b8));
666
+ outline-offset: var(--ivds-focus-ring-offset, 2px);
667
+ box-shadow: none;
491
668
  }
492
- .ivds-checkbox__input:indeterminate + .ivds-checkbox__box {
493
- background-color: var(--color-brand-primary-500, #f97316);
494
- border-color: var(--color-brand-primary-500, #f97316);
669
+ .ivds-checkbox__input[aria-checked=mixed] + .ivds-checkbox__box {
670
+ border-color: var(--color-brand-accent-600, #1058b8);
671
+ background-color: var(--color-brand-accent-600, #1058b8);
495
672
  }
496
- .ivds-checkbox__input:indeterminate + .ivds-checkbox__box::after {
497
- content: "";
498
- width: 8px;
673
+ .ivds-checkbox__input[aria-checked=mixed] + .ivds-checkbox__box::after {
674
+ width: 10px;
499
675
  height: 2px;
500
676
  border: none;
501
- background-color: var(--color-semantic-neutral-50, #f8fafc);
502
- transform: none;
503
- border-radius: 1px;
504
- }
505
- .ivds-checkbox__label {
506
- margin-left: var(--spacing-3, 0.75rem);
507
- font-size: var(--fontSize-base, 1rem);
508
- color: var(--color-semantic-neutral-900, #0f172a);
509
- line-height: var(--lineHeight-normal, 1.5);
510
- }
511
- .ivds-checkbox__description {
512
- margin-top: var(--spacing-1, 0.25rem);
513
- margin-left: calc(18px + var(--spacing-3, 0.75rem));
514
- font-size: var(--fontSize-sm, 0.875rem);
515
- color: var(--color-semantic-neutral-600, #4b5563);
516
- line-height: var(--lineHeight-relaxed, 1.625);
677
+ background-color: #fff;
678
+ transform: scaleX(1);
517
679
  }
518
- .ivds-checkbox--disabled {
680
+ .ivds-checkbox__input:disabled + .ivds-checkbox__box, .ivds-checkbox__input:disabled ~ .ivds-checkbox__label {
519
681
  cursor: not-allowed;
520
682
  opacity: 0.6;
521
683
  }
522
- .ivds-checkbox--disabled .ivds-checkbox__box {
523
- background-color: var(--color-semantic-neutral-100, #f1f5f9);
524
- border-color: var(--color-semantic-neutral-200, #e2e8f0);
525
- cursor: not-allowed;
526
- }
527
- .ivds-checkbox--disabled .ivds-checkbox__label {
528
- color: var(--color-semantic-neutral-500, #64748b);
529
- cursor: not-allowed;
530
- }
531
- .ivds-checkbox--error .ivds-checkbox__box {
532
- border-color: var(--color-semantic-error-500, #ef4444);
533
- }
534
- .ivds-checkbox--error:hover .ivds-checkbox__box {
535
- border-color: var(--color-semantic-error-600, #dc2626);
536
- }
537
- .ivds-checkbox--error .ivds-checkbox__input:checked + .ivds-checkbox__box {
538
- background-color: var(--color-semantic-error-500, #ef4444);
539
- border-color: var(--color-semantic-error-500, #ef4444);
540
- }
541
- .ivds-checkbox--error .ivds-checkbox__input:focus + .ivds-checkbox__box {
542
- outline-color: var(--color-semantic-error-500, #ef4444);
543
- }
544
- .ivds-checkbox--success .ivds-checkbox__box {
545
- border-color: var(--color-semantic-success-500, #10b981);
546
- }
547
- .ivds-checkbox--success:hover .ivds-checkbox__box {
548
- border-color: var(--color-semantic-success-600, #059669);
549
- }
550
- .ivds-checkbox--success .ivds-checkbox__input:checked + .ivds-checkbox__box {
551
- background-color: var(--color-semantic-success-500, #10b981);
552
- border-color: var(--color-semantic-success-500, #10b981);
553
- }
554
- .ivds-checkbox--success .ivds-checkbox__input:focus + .ivds-checkbox__box {
555
- outline-color: var(--color-semantic-success-500, #10b981);
556
- }
557
- .ivds-checkbox--small .ivds-checkbox__box {
684
+ .ivds-checkbox__box {
558
685
  position: relative;
559
- display: flex;
686
+ display: inline-flex;
560
687
  align-items: center;
561
688
  justify-content: center;
562
- width: 14px;
563
- height: 14px;
564
- min-width: 14px;
565
- border: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-300, #cbd5e1);
566
- border-radius: var(--borderRadius-sm, 0.125rem);
567
- background-color: var(--color-semantic-neutral-50, #f8fafc);
568
- transition: all 0.15s ease-in-out;
689
+ width: 20px;
690
+ height: 20px;
691
+ border: 2px solid var(--ivds-border-strong, #a1adba);
692
+ border-radius: var(--ivds-radius-xs, 0);
693
+ background-color: var(--ivds-surface-base, #fff);
694
+ transition: border-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), background-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), box-shadow var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
569
695
  }
570
- .ivds-checkbox--small .ivds-checkbox__box::after {
696
+ .ivds-checkbox__box::after {
571
697
  content: "";
572
- position: absolute;
573
- width: 10px;
574
- height: 6px;
575
- border: 2px solid transparent;
698
+ width: 9px;
699
+ height: 5px;
700
+ border: 2px solid #fff;
576
701
  border-top: none;
577
702
  border-right: none;
578
703
  transform: rotate(-45deg) scale(0);
579
- transition: transform 0.15s ease-in-out;
580
- }
581
- .ivds-checkbox--small .ivds-checkbox__box::after {
582
- width: 7px;
583
- height: 4px;
704
+ transform-origin: center;
705
+ transition: transform var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
584
706
  }
585
- .ivds-checkbox--small .ivds-checkbox__label {
586
- margin-left: var(--spacing-2, 0.5rem);
587
- font-size: var(--fontSize-sm, 0.875rem);
588
- color: var(--color-semantic-neutral-900, #0f172a);
589
- line-height: var(--lineHeight-normal, 1.5);
707
+ .ivds-checkbox__label {
708
+ font-size: var(--fontSize-base, 1rem);
709
+ font-weight: var(--fontWeight-medium, 500);
710
+ color: var(--ivds-text-secondary, #36414f);
590
711
  }
591
- .ivds-checkbox--large .ivds-checkbox__box {
592
- position: relative;
593
- display: flex;
594
- align-items: center;
595
- justify-content: center;
596
- width: 22px;
597
- height: 22px;
598
- min-width: 22px;
599
- border: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-300, #cbd5e1);
600
- border-radius: var(--borderRadius-sm, 0.125rem);
601
- background-color: var(--color-semantic-neutral-50, #f8fafc);
602
- transition: all 0.15s ease-in-out;
712
+ .ivds-checkbox--disabled {
713
+ opacity: 0.62;
714
+ cursor: not-allowed;
603
715
  }
604
- .ivds-checkbox--large .ivds-checkbox__box::after {
605
- content: "";
606
- position: absolute;
607
- width: 10px;
608
- height: 6px;
609
- border: 2px solid transparent;
610
- border-top: none;
611
- border-right: none;
612
- transform: rotate(-45deg) scale(0);
613
- transition: transform 0.15s ease-in-out;
716
+ .ivds-checkbox--disabled .ivds-checkbox__box {
717
+ border-color: var(--ivds-border-subtle, #e2e7ec);
718
+ background-color: var(--ivds-surface-muted, #f1f3f5);
614
719
  }
615
- .ivds-checkbox--large .ivds-checkbox__box::after {
616
- width: 12px;
617
- height: 8px;
720
+ .ivds-checkbox--error .ivds-checkbox__box {
721
+ border-color: var(--color-semantic-error-500, #d73a50);
618
722
  }
619
- .ivds-checkbox--large .ivds-checkbox__label {
620
- margin-left: var(--spacing-4, 1rem);
621
- font-size: var(--fontSize-lg, 1.125rem);
622
- color: var(--color-semantic-neutral-900, #0f172a);
623
- line-height: var(--lineHeight-normal, 1.5);
723
+ .ivds-checkbox--error .ivds-checkbox__label {
724
+ color: var(--color-semantic-error-700, #922036);
624
725
  }
625
726
  .ivds-checkbox-group {
626
727
  display: flex;
@@ -632,365 +733,335 @@
632
733
  flex-wrap: wrap;
633
734
  gap: var(--spacing-6, 1.5rem);
634
735
  }
635
- .ivds-checkbox-group--horizontal {
636
- display: flex;
637
- flex-direction: column;
736
+ /* stylelint-disable no-descending-specificity */
737
+ /* stylelint-disable no-descending-specificity */
738
+ .ivds-radio-button {
739
+ position: relative;
740
+ display: inline-flex;
741
+ align-items: center;
638
742
  gap: var(--spacing-3, 0.75rem);
743
+ min-height: 48px;
744
+ cursor: pointer;
745
+ -webkit-user-select: none;
746
+ -moz-user-select: none;
747
+ user-select: none;
748
+ font-family: var(--fontFamily-primary, system-ui, sans-serif);
639
749
  }
640
- .ivds-checkbox-group--horizontal--horizontal {
641
- flex-direction: row;
642
- flex-wrap: wrap;
643
- gap: var(--spacing-6, 1.5rem);
644
- }
645
- .ivds-checkbox-group--horizontal {
646
- flex-direction: row;
647
- flex-wrap: wrap;
648
- gap: var(--spacing-6, 1.5rem);
750
+ .ivds-radio-button:hover .ivds-radio-button__circle {
751
+ border-color: var(--color-brand-accent-600, #1058b8);
649
752
  }
650
- .ivds-checkbox-group__label {
651
- display: block;
652
- font-size: var(--fontSize-base, 1rem);
653
- font-weight: var(--fontWeight-medium, 500);
654
- color: var(--color-semantic-neutral-900, #0f172a);
655
- margin-bottom: var(--spacing-3, 0.75rem);
753
+ .ivds-radio-button__input {
754
+ position: absolute;
755
+ opacity: 0;
756
+ width: 0;
757
+ height: 0;
656
758
  }
657
- .ivds-checkbox-group__label--required::after {
658
- content: " *";
659
- color: var(--color-semantic-error-500, #ef4444);
759
+ .ivds-radio-button__input:checked + .ivds-radio-button__circle {
760
+ border-color: var(--color-brand-accent-600, #1058b8);
660
761
  }
661
- .ivds-checkbox-group__description {
662
- font-size: var(--fontSize-sm, 0.875rem);
663
- color: var(--color-semantic-neutral-600, #4b5563);
664
- margin-bottom: var(--spacing-3, 0.75rem);
762
+ .ivds-radio-button__input:checked + .ivds-radio-button__circle::after {
763
+ transform: scale(1);
665
764
  }
666
- .ivds-checkbox-group__error {
667
- margin-top: var(--spacing-2, 0.5rem);
668
- font-size: var(--fontSize-sm, 0.875rem);
669
- color: var(--color-semantic-error-600, #dc2626);
765
+ .ivds-radio-button__input:focus-visible + .ivds-radio-button__circle {
766
+ outline: var(--ivds-focus-ring-width, 3px) solid var(--ivds-focus-ring-color, var(--color-brand-accent-600, #1058b8));
767
+ outline-offset: var(--ivds-focus-ring-offset, 2px);
768
+ box-shadow: none;
670
769
  }
671
- .ivds-checkbox-group__error::before {
672
- content: "⚠ ";
673
- margin-right: var(--spacing-1, 0.25rem);
674
- }
675
- .ivds-checkbox--card {
676
- padding: var(--spacing-4, 1rem);
677
- border: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-200, #e2e8f0);
678
- border-radius: var(--borderRadius-md, 0.375rem);
679
- background-color: var(--color-semantic-neutral-50, #f8fafc);
680
- transition: all 0.15s ease-in-out;
681
- }
682
- .ivds-checkbox--card:hover {
683
- border-color: var(--color-brand-primary-300, #fdba74);
684
- background-color: var(--color-brand-primary-50, #fff7ed);
685
- }
686
- .ivds-checkbox__input:checked ~ .ivds-checkbox--card {
687
- border-color: var(--color-brand-primary-500, #f97316);
688
- background-color: var(--color-brand-primary-50, #fff7ed);
689
- }
690
- .ivds-checkbox__input:focus ~ .ivds-checkbox--card {
691
- outline: 2px solid var(--color-brand-primary-500, #f97316);
692
- outline-offset: 2px;
693
- }
694
- .ivds-radio-button {
695
- position: relative;
696
- display: inline-flex;
697
- align-items: flex-start;
698
- cursor: pointer;
699
- -webkit-user-select: none;
700
- -moz-user-select: none;
701
- user-select: none;
702
- }
703
- .ivds-radio-button:hover .ivds-radio-button__circle {
704
- border-color: var(--color-brand-primary-400, #38bdf8);
770
+ .ivds-radio-button__input:disabled + .ivds-radio-button__circle, .ivds-radio-button__input:disabled ~ .ivds-radio-button__label {
771
+ cursor: not-allowed;
772
+ opacity: 0.6;
705
773
  }
706
774
  .ivds-radio-button__circle {
707
775
  position: relative;
708
- display: flex;
776
+ display: inline-flex;
709
777
  align-items: center;
710
778
  justify-content: center;
711
- width: 18px;
712
- height: 18px;
713
- min-width: 18px;
714
- border: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-300, #cbd5e1);
715
- border-radius: 50%;
716
- background-color: var(--color-semantic-neutral-50, #f8fafc);
717
- transition: all 0.15s ease-in-out;
779
+ width: 20px;
780
+ height: 20px;
781
+ border: 2px solid var(--ivds-border-strong, #a1adba);
782
+ border-radius: var(--borderRadius-full, 9999px);
783
+ background-color: var(--ivds-surface-base, #fff);
784
+ transition: border-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), box-shadow var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
718
785
  }
719
786
  .ivds-radio-button__circle::after {
720
787
  content: "";
721
- position: absolute;
722
- width: 9px;
723
- height: 9px;
724
- border-radius: 50%;
725
- background-color: transparent;
788
+ width: 9.6px;
789
+ height: 9.6px;
790
+ border-radius: var(--borderRadius-full, 9999px);
791
+ background-color: var(--color-brand-accent-600, #1058b8);
726
792
  transform: scale(0);
727
- transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out;
728
- }
729
- .ivds-radio-button__input {
730
- position: absolute;
731
- opacity: 0;
732
- width: 1px;
733
- height: 1px;
734
- margin: 0;
735
- padding: 0;
736
- border: 0;
737
- clip: rect(0, 0, 0, 0);
738
- overflow: hidden;
739
- }
740
- .ivds-radio-button__input:checked + .ivds-radio-button__circle {
741
- background-color: var(--color-brand-primary-500, #0ea5e9);
742
- border-color: var(--color-brand-primary-500, #0ea5e9);
743
- }
744
- .ivds-radio-button__input:checked + .ivds-radio-button__circle::after {
745
- background-color: var(--color-semantic-neutral-50, #f8fafc);
746
- transform: scale(1);
747
- }
748
- .ivds-radio-button__input:focus + .ivds-radio-button__circle {
749
- outline: 2px solid var(--color-brand-primary-500, #0ea5e9);
750
- outline-offset: 2px;
793
+ transition: transform var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
751
794
  }
752
795
  .ivds-radio-button__label {
753
- margin-left: var(--spacing-3, 0.75rem);
754
796
  font-size: var(--fontSize-base, 1rem);
755
- color: var(--color-semantic-neutral-900, #0f172a);
756
- line-height: var(--lineHeight-normal, 1.5);
757
- }
758
- .ivds-radio-button__description {
759
- margin-top: var(--spacing-1, 0.25rem);
760
- margin-left: calc(18px + var(--spacing-3, 0.75rem));
761
- font-size: var(--fontSize-sm, 0.875rem);
762
- color: var(--color-semantic-neutral-600, #4b5563);
763
- line-height: var(--lineHeight-relaxed, 1.625);
797
+ font-weight: var(--fontWeight-medium, 500);
798
+ color: var(--ivds-text-secondary, #36414f);
764
799
  }
765
800
  .ivds-radio-button--disabled {
801
+ opacity: 0.62;
766
802
  cursor: not-allowed;
767
- opacity: 0.6;
768
803
  }
769
804
  .ivds-radio-button--disabled .ivds-radio-button__circle {
770
- background-color: var(--color-semantic-neutral-100, #f1f5f9);
771
- border-color: var(--color-semantic-neutral-200, #e2e8f0);
772
- cursor: not-allowed;
805
+ border-color: var(--ivds-border-subtle, #e2e7ec);
806
+ background-color: var(--ivds-surface-muted, #f1f3f5);
773
807
  }
774
- .ivds-radio-button--disabled .ivds-radio-button__label {
775
- color: var(--color-semantic-neutral-500, #64748b);
776
- cursor: not-allowed;
808
+ .ivds-radio-button--card {
809
+ padding: var(--spacing-4, 1rem) var(--spacing-6, 1.5rem);
810
+ border: 1px solid var(--ivds-border-subtle, #e2e7ec);
811
+ border-radius: var(--ivds-radius-s, 0.125rem);
812
+ background-color: var(--ivds-surface-base, #fff);
813
+ transition: border-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), background-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
814
+ }
815
+ .ivds-radio-button--card:hover {
816
+ border-color: var(--color-brand-accent-600, #1058b8);
817
+ background-color: var(--color-brand-accent-50, #eef4ff);
818
+ }
819
+ .ivds-radio-button--card.ivds-radio-button--checked {
820
+ border-color: var(--color-brand-accent-600, #1058b8);
821
+ background-color: var(--color-brand-accent-50, #eef4ff);
777
822
  }
778
- .ivds-radio-button--error .ivds-radio-button__circle {
779
- border-color: var(--color-semantic-error-500, #ef4444);
823
+ .ivds-radio-group {
824
+ display: flex;
825
+ flex-direction: column;
826
+ gap: var(--spacing-3, 0.75rem);
780
827
  }
781
- .ivds-radio-button--error:hover .ivds-radio-button__circle {
782
- border-color: var(--color-semantic-error-600, #dc2626);
828
+ .ivds-radio-group--horizontal {
829
+ flex-direction: row;
830
+ flex-wrap: wrap;
831
+ gap: var(--spacing-6, 1.5rem);
783
832
  }
784
- .ivds-radio-button--error .ivds-radio-button__input:checked + .ivds-radio-button__circle {
785
- background-color: var(--color-semantic-error-500, #ef4444);
786
- border-color: var(--color-semantic-error-500, #ef4444);
833
+ /* stylelint-disable no-descending-specificity */
834
+ /* stylelint-disable no-descending-specificity */
835
+ .ivds-switch {
836
+ position: relative;
837
+ display: inline-flex;
838
+ align-items: center;
839
+ gap: var(--spacing-3, 0.75rem);
840
+ min-height: 48px;
841
+ cursor: pointer;
842
+ -webkit-user-select: none;
843
+ -moz-user-select: none;
844
+ user-select: none;
845
+ font-family: var(--fontFamily-primary, system-ui, sans-serif);
787
846
  }
788
- .ivds-radio-button--error .ivds-radio-button__input:focus + .ivds-radio-button__circle {
789
- outline-color: var(--color-semantic-error-500, #ef4444);
847
+ .ivds-switch__input {
848
+ position: absolute;
849
+ opacity: 0;
850
+ width: 0;
851
+ height: 0;
790
852
  }
791
- .ivds-radio-button--success .ivds-radio-button__circle {
792
- border-color: var(--color-semantic-success-500, #10b981);
853
+ .ivds-switch__input:checked + .ivds-switch__track {
854
+ background-color: var(--color-brand-accent-600, #1058b8);
855
+ border-color: var(--color-brand-accent-600, #1058b8);
793
856
  }
794
- .ivds-radio-button--success:hover .ivds-radio-button__circle {
795
- border-color: var(--color-semantic-success-600, #059669);
857
+ .ivds-switch__input:checked + .ivds-switch__track::after {
858
+ transform: translateX(20px);
796
859
  }
797
- .ivds-radio-button--success .ivds-radio-button__input:checked + .ivds-radio-button__circle {
798
- background-color: var(--color-semantic-success-500, #10b981);
799
- border-color: var(--color-semantic-success-500, #10b981);
860
+ .ivds-switch__input:focus-visible + .ivds-switch__track {
861
+ outline: var(--ivds-focus-ring-width, 3px) solid var(--ivds-focus-ring-color, var(--color-brand-accent-600, #1058b8));
862
+ outline-offset: var(--ivds-focus-ring-offset, 2px);
863
+ box-shadow: none;
800
864
  }
801
- .ivds-radio-button--success .ivds-radio-button__input:focus + .ivds-radio-button__circle {
802
- outline-color: var(--color-semantic-success-500, #10b981);
865
+ .ivds-switch__input:disabled + .ivds-switch__track {
866
+ cursor: not-allowed;
803
867
  }
804
- .ivds-radio-button--small .ivds-radio-button__circle {
868
+ .ivds-switch__track {
805
869
  position: relative;
806
- display: flex;
870
+ display: inline-flex;
807
871
  align-items: center;
808
- justify-content: center;
809
- width: 14px;
810
- height: 14px;
811
- min-width: 14px;
812
- border: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-300, #cbd5e1);
813
- border-radius: 50%;
814
- background-color: var(--color-semantic-neutral-50, #f8fafc);
815
- transition: all 0.15s ease-in-out;
872
+ width: 46px;
873
+ height: 26px;
874
+ padding: 2px;
875
+ border: 2px solid var(--ivds-border-strong, #a1adba);
876
+ border-radius: var(--borderRadius-full, 9999px);
877
+ background-color: var(--ivds-surface-muted, #f1f3f5);
878
+ transition: background-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), border-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), box-shadow var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
816
879
  }
817
- .ivds-radio-button--small .ivds-radio-button__circle::after {
880
+ .ivds-switch__track::after {
818
881
  content: "";
819
- position: absolute;
820
- width: 7px;
821
- height: 7px;
822
- border-radius: 50%;
823
- background-color: transparent;
824
- transform: scale(0);
825
- transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out;
882
+ width: 20px;
883
+ height: 20px;
884
+ border-radius: var(--borderRadius-full, 9999px);
885
+ background-color: #fff;
886
+ box-shadow: var(--ivds-shadow-sm, 0 1px 2px rgba(15, 23, 42, 0.08));
887
+ transition: transform var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
826
888
  }
827
- .ivds-radio-button--small .ivds-radio-button__label {
828
- margin-left: var(--spacing-2, 0.5rem);
829
- font-size: var(--fontSize-sm, 0.875rem);
830
- color: var(--color-semantic-neutral-900, #0f172a);
831
- line-height: var(--lineHeight-normal, 1.5);
889
+ .ivds-switch__label {
890
+ font-size: var(--fontSize-base, 1rem);
891
+ font-weight: var(--fontWeight-medium, 500);
892
+ color: var(--ivds-text-secondary, #36414f);
832
893
  }
833
- .ivds-radio-button--large .ivds-radio-button__circle {
894
+ .ivds-switch--small .ivds-switch__track {
834
895
  position: relative;
835
- display: flex;
896
+ display: inline-flex;
836
897
  align-items: center;
837
- justify-content: center;
838
- width: 22px;
839
- height: 22px;
840
- min-width: 22px;
841
- border: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-300, #cbd5e1);
842
- border-radius: 50%;
843
- background-color: var(--color-semantic-neutral-50, #f8fafc);
844
- transition: all 0.15s ease-in-out;
898
+ width: 36px;
899
+ height: 20px;
900
+ padding: 2px;
901
+ border: 2px solid var(--ivds-border-strong, #a1adba);
902
+ border-radius: var(--borderRadius-full, 9999px);
903
+ background-color: var(--ivds-surface-muted, #f1f3f5);
904
+ transition: background-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), border-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), box-shadow var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
845
905
  }
846
- .ivds-radio-button--large .ivds-radio-button__circle::after {
906
+ .ivds-switch--small .ivds-switch__track::after {
847
907
  content: "";
848
- position: absolute;
849
- width: 11px;
850
- height: 11px;
851
- border-radius: 50%;
852
- background-color: transparent;
853
- transform: scale(0);
854
- transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out;
908
+ width: 14px;
909
+ height: 14px;
910
+ border-radius: var(--borderRadius-full, 9999px);
911
+ background-color: #fff;
912
+ box-shadow: var(--ivds-shadow-sm, 0 1px 2px rgba(15, 23, 42, 0.08));
913
+ transition: transform var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
855
914
  }
856
- .ivds-radio-button--large .ivds-radio-button__label {
857
- margin-left: var(--spacing-4, 1rem);
858
- font-size: var(--fontSize-lg, 1.125rem);
859
- color: var(--color-semantic-neutral-900, #0f172a);
860
- line-height: var(--lineHeight-normal, 1.5);
915
+ .ivds-switch--small .ivds-switch__input:checked + .ivds-switch__track::after {
916
+ transform: translateX(16px);
861
917
  }
862
- .ivds-radio-button-group {
863
- display: flex;
864
- flex-direction: column;
865
- gap: var(--spacing-3, 0.75rem);
918
+ .ivds-switch--large .ivds-switch__track {
919
+ position: relative;
920
+ display: inline-flex;
921
+ align-items: center;
922
+ width: 52px;
923
+ height: 28px;
924
+ padding: 2px;
925
+ border: 2px solid var(--ivds-border-strong, #a1adba);
926
+ border-radius: var(--borderRadius-full, 9999px);
927
+ background-color: var(--ivds-surface-muted, #f1f3f5);
928
+ transition: background-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), border-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), box-shadow var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
866
929
  }
867
- .ivds-radio-button-group--horizontal {
868
- flex-direction: row;
869
- flex-wrap: wrap;
870
- gap: var(--spacing-6, 1.5rem);
930
+ .ivds-switch--large .ivds-switch__track::after {
931
+ content: "";
932
+ width: 22px;
933
+ height: 22px;
934
+ border-radius: var(--borderRadius-full, 9999px);
935
+ background-color: #fff;
936
+ box-shadow: var(--ivds-shadow-sm, 0 1px 2px rgba(15, 23, 42, 0.08));
937
+ transition: transform var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
871
938
  }
872
- .ivds-radio-button-group--horizontal {
873
- display: flex;
874
- flex-direction: column;
875
- gap: var(--spacing-3, 0.75rem);
939
+ .ivds-switch--large .ivds-switch__input:checked + .ivds-switch__track::after {
940
+ transform: translateX(24px);
876
941
  }
877
- .ivds-radio-button-group--horizontal--horizontal {
878
- flex-direction: row;
879
- flex-wrap: wrap;
880
- gap: var(--spacing-6, 1.5rem);
942
+ .ivds-switch--disabled {
943
+ opacity: 0.62;
944
+ cursor: not-allowed;
881
945
  }
882
- .ivds-radio-button-group--horizontal {
883
- flex-direction: row;
884
- flex-wrap: wrap;
885
- gap: var(--spacing-6, 1.5rem);
946
+ .ivds-switch--disabled .ivds-switch__track {
947
+ border-color: var(--ivds-border-subtle, #e2e7ec);
948
+ background-color: var(--ivds-surface-muted, #f1f3f5);
949
+ }
950
+ /* stylelint-disable no-descending-specificity */
951
+ /* stylelint-disable no-descending-specificity */
952
+ .ivds-select-wrapper {
953
+ position: relative;
954
+ display: flex;
955
+ flex-direction: column;
956
+ gap: var(--spacing-2, 0.5rem);
886
957
  }
887
- .ivds-radio-button-group__label {
958
+ .ivds-select {
959
+ --background-color: var(--ivds-surface-base, #fff);
960
+ --border-color: var(--ivds-border-strong, #a1adba);
961
+ --border-radius: var(--ivds-radius-s, 0.125rem);
962
+ --color: var(--ivds-text-primary, #121a24);
963
+ --focus-border-color: var(--color-brand-accent-600, #1058b8);
964
+ --min-height: 48px;
888
965
  display: block;
966
+ width: 100%;
967
+ min-height: var(--min-height);
968
+ -webkit-appearance: none;
969
+ -moz-appearance: none;
970
+ appearance: none;
971
+ cursor: pointer;
972
+ border: 2px solid var(--border-color);
973
+ border-radius: var(--border-radius);
974
+ background-color: var(--background-color);
975
+ color: var(--color);
976
+ font-family: var(--fontFamily-primary, system-ui, sans-serif);
889
977
  font-size: var(--fontSize-base, 1rem);
890
- font-weight: var(--fontWeight-medium, 500);
891
- color: var(--color-semantic-neutral-900, #0f172a);
892
- margin-bottom: var(--spacing-3, 0.75rem);
893
- }
894
- .ivds-radio-button-group__label--required::after {
895
- content: " *";
896
- color: var(--color-semantic-error-500, #ef4444);
897
- }
898
- .ivds-radio-button-group__description {
899
- font-size: var(--fontSize-sm, 0.875rem);
900
- color: var(--color-semantic-neutral-600, #4b5563);
901
- margin-bottom: var(--spacing-3, 0.75rem);
978
+ line-height: var(--lineHeight-normal, 1.5);
979
+ padding: var(--spacing-3, 0.75rem) var(--spacing-4, 1rem);
980
+ padding-right: var(--spacing-10, 2.5rem);
981
+ transition: border-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), box-shadow var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), background-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
982
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%234d5968' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
983
+ background-repeat: no-repeat;
984
+ background-position: right var(--spacing-3, 0.75rem) center;
985
+ background-size: 1rem;
902
986
  }
903
- .ivds-radio-button-group__error {
904
- margin-top: var(--spacing-2, 0.5rem);
905
- font-size: var(--fontSize-sm, 0.875rem);
906
- color: var(--color-semantic-error-600, #dc2626);
987
+ .ivds-select:hover:not(:disabled, :focus) {
988
+ border-color: var(--color-semantic-neutral-600, #4d5968);
907
989
  }
908
- .ivds-radio-button-group__error::before {
909
- content: "⚠ ";
910
- margin-right: var(--spacing-1, 0.25rem);
990
+ .ivds-select:focus {
991
+ outline: none;
992
+ border-color: var(--focus-border-color);
993
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%230050c8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
911
994
  }
912
- .ivds-radio-button--card {
913
- padding: var(--spacing-4, 1rem);
914
- border: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-200, #e2e8f0);
915
- border-radius: var(--borderRadius-md, 0.375rem);
916
- background-color: var(--color-semantic-neutral-50, #f8fafc);
917
- transition: all 0.15s ease-in-out;
995
+ .ivds-select:focus-visible {
996
+ outline: var(--ivds-focus-ring-width, 3px) solid var(--ivds-focus-ring-color, var(--color-brand-accent-600, #1058b8));
997
+ outline-offset: var(--ivds-focus-ring-offset, 2px);
998
+ box-shadow: none;
918
999
  }
919
- .ivds-radio-button--card:hover {
920
- border-color: var(--color-brand-primary-300, #7dd3fc);
921
- background-color: var(--color-brand-primary-50, #eff6ff);
1000
+ .ivds-select:focus:not(:focus-visible) {
1001
+ outline: none;
1002
+ box-shadow: none;
922
1003
  }
923
- .ivds-radio-button__input:checked ~ .ivds-radio-button--card {
924
- border-color: var(--color-brand-primary-500, #0ea5e9);
925
- background-color: var(--color-brand-primary-50, #eff6ff);
1004
+ .ivds-select--small {
1005
+ padding-top: var(--spacing-2, 0.5rem);
1006
+ padding-bottom: var(--spacing-2, 0.5rem);
1007
+ font-size: var(--fontSize-sm, 0.875rem);
1008
+ border-radius: var(--ivds-radius-s, 0.125rem);
926
1009
  }
927
- .ivds-radio-button__input:focus ~ .ivds-radio-button--card {
928
- outline: 2px solid var(--color-brand-primary-500, #0ea5e9);
929
- outline-offset: 2px;
1010
+ .ivds-select--large {
1011
+ padding-top: var(--spacing-4, 1rem);
1012
+ padding-bottom: var(--spacing-4, 1rem);
1013
+ font-size: var(--fontSize-lg, 1.125rem);
930
1014
  }
931
- .ivds-radio {
932
- position: relative;
933
- display: inline-flex;
934
- align-items: center;
935
- cursor: pointer;
1015
+ .ivds-select:disabled {
1016
+ cursor: not-allowed;
1017
+ opacity: 0.74;
1018
+ color: var(--ivds-text-muted, #4d5968);
1019
+ border-color: var(--ivds-border-subtle, #e2e7ec);
1020
+ background-color: var(--ivds-surface-muted, #f1f3f5);
936
1021
  }
937
- .ivds-radio__input {
938
- position: absolute;
939
- opacity: 0;
940
- width: 1px;
941
- height: 1px;
1022
+ .ivds-select--error {
1023
+ border-color: var(--color-semantic-error-500, #d73a50);
942
1024
  }
943
- .ivds-radio__button {
944
- display: flex;
945
- align-items: center;
946
- justify-content: center;
947
- width: 1rem;
948
- height: 1rem;
949
- border: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-300, #cbd5e1);
950
- border-radius: 50%;
951
- background-color: var(--color-semantic-neutral-25, #fcfcfd);
952
- transition: all 0.2s ease-in-out;
1025
+ .ivds-select--error:focus {
1026
+ border-color: var(--color-semantic-error-500, #d73a50);
953
1027
  }
954
- .ivds-radio__label {
955
- margin-left: var(--spacing-2, 0.5rem);
956
- font-size: var(--fontSize-base, 1rem);
957
- color: var(--color-semantic-neutral-900, #0f172a);
1028
+ .ivds-select--error:focus-visible {
1029
+ outline-color: var(--color-semantic-error-500, #d73a50);
958
1030
  }
959
- .ivds-radio__input:checked + .ivds-radio__button {
960
- border-color: var(--color-brand-primary-500, #0ea5e9);
1031
+ .ivds-select__label {
1032
+ font-size: var(--fontSize-sm, 0.875rem);
1033
+ font-weight: var(--fontWeight-semibold, 600);
1034
+ color: var(--ivds-text-primary, #121a24);
961
1035
  }
962
- .ivds-radio__input:checked + .ivds-radio__button::after {
963
- content: "";
964
- width: 0.5rem;
965
- height: 0.5rem;
966
- border-radius: 50%;
967
- background-color: var(--color-brand-primary-500, #0ea5e9);
968
- }
969
- .ivds-radio__input:focus + .ivds-radio__button {
970
- outline: 2px solid var(--color-brand-primary-500, #0ea5e9);
971
- outline-offset: 2px;
972
- }
973
- .ivds-radio__input:disabled + .ivds-radio__button {
974
- background-color: var(--color-semantic-neutral-100, #f1f5f9);
975
- border-color: var(--color-semantic-neutral-200, #e2e8f0);
976
- cursor: not-allowed;
1036
+ .ivds-select__helper {
1037
+ font-size: var(--fontSize-xs, 0.75rem);
1038
+ color: var(--ivds-text-muted, #4d5968);
977
1039
  }
978
- /* Content and layout components*/
1040
+ /* stylelint-disable no-descending-specificity */
979
1041
  .ivds-card {
1042
+ --background-color: var(--ivds-surface-base, #fff);
1043
+ --border-color: var(--ivds-border-subtle, #e2e7ec);
1044
+ --border-radius: var(--ivds-radius-m, 0.25rem);
1045
+ --box-shadow: none;
1046
+ --padding: var(--spacing-6, 1.5rem);
1047
+ --hover-border-color: var(--color-brand-accent-500, #1a6bdb);
1048
+ --hover-box-shadow: var(--ivds-shadow-md, 0 1px 2px rgba(7, 11, 16, 0.12));
980
1049
  display: flex;
981
1050
  flex-direction: column;
982
- background-color: var(--color-semantic-neutral-50, #fafafa);
983
- border-radius: var(--borderRadius-xl, 0.75rem);
1051
+ position: relative;
984
1052
  overflow: hidden;
985
- transition: box-shadow 0.15s ease-in-out, transform 0.15s ease-in-out;
986
- box-shadow: var(--shadow-sm, 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1));
987
- background-color: var(--color-semantic-neutral-50, #f8fafc);
988
- border: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-200, #e2e8f0);
989
- box-shadow: var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.05));
1053
+ background-color: var(--background-color);
1054
+ border: 1px solid var(--border-color);
1055
+ border-radius: var(--border-radius);
1056
+ box-shadow: var(--box-shadow);
1057
+ transition: border-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), box-shadow var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), background-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
1058
+ --background-color: var(--ivds-surface-base, #fff);
1059
+ --border-color: var(--ivds-border-subtle, #e2e7ec);
1060
+ --box-shadow: none;
990
1061
  }
991
1062
  .ivds-card__header {
992
1063
  padding: var(--spacing-6, 1.5rem);
993
- border-bottom: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-200, #e2e8f0);
1064
+ border-bottom: 1px solid var(--ivds-border-subtle, #e2e7ec);
994
1065
  }
995
1066
  .ivds-card__body {
996
1067
  padding: var(--spacing-6, 1.5rem);
@@ -998,8 +1069,8 @@
998
1069
  }
999
1070
  .ivds-card__footer {
1000
1071
  padding: var(--spacing-4, 1rem) var(--spacing-6, 1.5rem);
1001
- background-color: var(--color-semantic-neutral-100, #f1f5f9);
1002
- border-top: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-200, #e2e8f0);
1072
+ background-color: var(--ivds-surface-muted, #f1f3f5);
1073
+ border-top: 1px solid var(--ivds-border-subtle, #e2e7ec);
1003
1074
  }
1004
1075
  .ivds-card__media {
1005
1076
  position: relative;
@@ -1012,29 +1083,31 @@
1012
1083
  -o-object-fit: cover;
1013
1084
  object-fit: cover;
1014
1085
  display: block;
1086
+ transition: transform var(--ivds-motion-normal, 250ms) var(--ivds-motion-ease, ease);
1015
1087
  }
1016
1088
  .ivds-card__title {
1017
- margin: 0 0 var(--spacing-2, 0.5rem) 0;
1018
- font-size: var(--fontSize-lg, 1.125rem);
1089
+ margin: 0 0 var(--spacing-1, 0.25rem);
1090
+ color: var(--ivds-text-primary, #121a24);
1091
+ font-size: var(--fontSize-xl, 1.25rem);
1019
1092
  font-weight: var(--fontWeight-semibold, 600);
1020
- color: var(--color-semantic-neutral-900, #0f172a);
1021
1093
  line-height: var(--lineHeight-tight, 1.25);
1022
1094
  }
1023
1095
  .ivds-card__subtitle {
1024
- margin: 0 0 var(--spacing-3, 0.75rem) 0;
1096
+ margin: 0 0 var(--spacing-4, 1rem);
1097
+ color: var(--ivds-text-muted, #4d5968);
1025
1098
  font-size: var(--fontSize-sm, 0.875rem);
1026
- color: var(--color-semantic-neutral-600, #4b5563);
1027
- line-height: var(--lineHeight-normal, 1.5);
1099
+ font-weight: var(--fontWeight-medium, 500);
1028
1100
  }
1029
1101
  .ivds-card__content {
1030
1102
  margin: 0;
1031
- color: var(--color-semantic-neutral-700, #334155);
1103
+ color: var(--ivds-text-secondary, #36414f);
1032
1104
  line-height: var(--lineHeight-relaxed, 1.625);
1033
1105
  }
1034
1106
  .ivds-card__actions {
1035
1107
  display: flex;
1036
1108
  align-items: center;
1037
1109
  justify-content: flex-start;
1110
+ flex-wrap: wrap;
1038
1111
  gap: var(--spacing-3, 0.75rem);
1039
1112
  margin-top: var(--spacing-4, 1rem);
1040
1113
  }
@@ -1049,12 +1122,12 @@
1049
1122
  left: 0;
1050
1123
  right: 0;
1051
1124
  bottom: 0;
1052
- background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.7) 100%);
1125
+ background: linear-gradient(to bottom, rgba(var(--ivds-overlay-rgb, 18, 26, 36), 0.08) 0%, rgba(var(--ivds-overlay-rgb, 18, 26, 36), 0.82) 100%);
1053
1126
  display: flex;
1054
1127
  flex-direction: column;
1055
1128
  justify-content: flex-end;
1056
1129
  padding: var(--spacing-6, 1.5rem);
1057
- color: var(--color-semantic-neutral-50, #f8fafc);
1130
+ color: var(--ivds-text-on-strong, #fff);
1058
1131
  }
1059
1132
  .ivds-card__overlay .ivds-card__title,
1060
1133
  .ivds-card__overlay .ivds-card__subtitle,
@@ -1062,42 +1135,50 @@
1062
1135
  color: inherit;
1063
1136
  }
1064
1137
  .ivds-card--flat {
1065
- background-color: var(--color-semantic-neutral-50, #f8fafc);
1066
- border: var(--borderWidth-1, 1px) solid transparent;
1067
- box-shadow: none;
1138
+ --background-color: var(--ivds-surface-base, #fff);
1139
+ --border-color: transparent;
1140
+ --box-shadow: none;
1068
1141
  }
1069
1142
  .ivds-card--bordered {
1070
- background-color: var(--color-semantic-neutral-50, #f8fafc);
1071
- border: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-300, #cbd5e1);
1072
- box-shadow: none;
1143
+ --background-color: var(--ivds-surface-base, #fff);
1144
+ --border-color: var(--ivds-border-strong, #a1adba);
1145
+ --box-shadow: none;
1073
1146
  }
1074
1147
  .ivds-card--elevated {
1075
- background-color: var(--color-semantic-neutral-50, #f8fafc);
1076
- border: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-200, #e2e8f0);
1077
- box-shadow: var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06));
1148
+ --background-color: var(--ivds-surface-base, #fff);
1149
+ --border-color: var(--ivds-border-subtle, #e2e7ec);
1150
+ --box-shadow: var(--ivds-shadow-md, 0 1px 2px rgba(7, 11, 16, 0.12));
1078
1151
  }
1079
1152
  .ivds-card--floating {
1080
- background-color: var(--color-semantic-neutral-50, #f8fafc);
1081
- border: var(--borderWidth-1, 1px) solid transparent;
1082
- box-shadow: var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05));
1153
+ --background-color: var(--ivds-surface-base, #fff);
1154
+ --border-color: transparent;
1155
+ --box-shadow: var(--ivds-shadow-lg, 0 4px 10px rgba(7, 11, 16, 0.14));
1083
1156
  }
1084
1157
  .ivds-card--interactive {
1085
1158
  cursor: pointer;
1086
1159
  }
1087
1160
  .ivds-card--interactive:hover {
1088
- transform: translateY(-2px);
1089
- box-shadow: var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05));
1161
+ border-color: var(--hover-border-color);
1162
+ box-shadow: var(--hover-box-shadow);
1163
+ }
1164
+ .ivds-card--interactive:hover .ivds-card__media img {
1165
+ transform: scale(1.01);
1090
1166
  }
1091
1167
  .ivds-card--interactive:active {
1092
- transform: translateY(0);
1168
+ box-shadow: var(--ivds-shadow-sm, 0 1px 0 rgba(7, 11, 16, 0.1));
1169
+ }
1170
+ .ivds-card--interactive:focus-visible {
1171
+ outline: var(--ivds-focus-ring-width, 3px) solid var(--ivds-focus-ring-color, var(--color-brand-accent-600, #1058b8));
1172
+ outline-offset: var(--ivds-focus-ring-offset, 2px);
1173
+ box-shadow: none;
1093
1174
  }
1094
- .ivds-card--interactive:focus {
1095
- outline: 2px solid var(--color-brand-primary-500, #0ea5e9);
1096
- outline-offset: 2px;
1175
+ .ivds-card--interactive:focus:not(:focus-visible) {
1176
+ outline: none;
1177
+ box-shadow: none;
1097
1178
  }
1098
1179
  .ivds-card--compact .ivds-card__header {
1099
1180
  padding: var(--spacing-4, 1rem);
1100
- border-bottom: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-200, #e2e8f0);
1181
+ border-bottom: 1px solid var(--ivds-border-subtle, #e2e7ec);
1101
1182
  }
1102
1183
  .ivds-card--compact .ivds-card__body {
1103
1184
  padding: var(--spacing-4, 1rem);
@@ -1105,12 +1186,12 @@
1105
1186
  }
1106
1187
  .ivds-card--compact .ivds-card__footer {
1107
1188
  padding: var(--spacing-3, 0.75rem) var(--spacing-4, 1rem);
1108
- background-color: var(--color-semantic-neutral-100, #f1f5f9);
1109
- border-top: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-200, #e2e8f0);
1189
+ background-color: var(--ivds-surface-muted, #f1f3f5);
1190
+ border-top: 1px solid var(--ivds-border-subtle, #e2e7ec);
1110
1191
  }
1111
1192
  .ivds-card--spacious .ivds-card__header {
1112
1193
  padding: var(--spacing-8, 2rem);
1113
- border-bottom: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-200, #e2e8f0);
1194
+ border-bottom: 1px solid var(--ivds-border-subtle, #e2e7ec);
1114
1195
  }
1115
1196
  .ivds-card--spacious .ivds-card__body {
1116
1197
  padding: var(--spacing-8, 2rem);
@@ -1118,36 +1199,33 @@
1118
1199
  }
1119
1200
  .ivds-card--spacious .ivds-card__footer {
1120
1201
  padding: var(--spacing-6, 1.5rem) var(--spacing-8, 2rem);
1121
- background-color: var(--color-semantic-neutral-100, #f1f5f9);
1122
- border-top: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-200, #e2e8f0);
1202
+ background-color: var(--ivds-surface-muted, #f1f3f5);
1203
+ border-top: 1px solid var(--ivds-border-subtle, #e2e7ec);
1123
1204
  }
1124
1205
  .ivds-card--horizontal {
1125
1206
  flex-direction: row;
1126
1207
  }
1127
1208
  .ivds-card--horizontal .ivds-card__media {
1209
+ width: 220px;
1128
1210
  flex-shrink: 0;
1129
- width: 200px;
1130
1211
  }
1131
1212
  .ivds-card--horizontal .ivds-card__content-wrapper {
1132
1213
  display: flex;
1133
- flex-direction: column;
1134
1214
  flex: 1;
1215
+ flex-direction: column;
1135
1216
  }
1136
1217
  .ivds-card--overlay {
1137
1218
  position: relative;
1138
1219
  }
1139
1220
  .ivds-card--overlay .ivds-card__overlay {
1140
1221
  position: absolute;
1141
- top: 0;
1142
- left: 0;
1143
- right: 0;
1144
- bottom: 0;
1145
- background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.7) 100%);
1222
+ inset: 0;
1146
1223
  display: flex;
1147
- flex-direction: column;
1148
1224
  justify-content: flex-end;
1225
+ flex-direction: column;
1149
1226
  padding: var(--spacing-6, 1.5rem);
1150
- color: var(--color-semantic-neutral-50, #f8fafc);
1227
+ color: var(--ivds-text-on-strong, #fff);
1228
+ background: linear-gradient(to bottom, rgba(18, 26, 36, 0.08) 0%, rgba(18, 26, 36, 0.82) 100%);
1151
1229
  }
1152
1230
  .ivds-card--overlay .ivds-card__overlay .ivds-card__title,
1153
1231
  .ivds-card--overlay .ivds-card__overlay .ivds-card__subtitle,
@@ -1155,113 +1233,113 @@
1155
1233
  color: inherit;
1156
1234
  }
1157
1235
  .ivds-card--success {
1158
- background-color: var(--color-semantic-success-50, #ecfdf5);
1159
- border: var(--borderWidth-1, 1px) solid var(--color-semantic-success-200, #bbf7d0);
1236
+ --background-color: var(--color-semantic-success-50, #edf9f4);
1237
+ --border-color: var(--color-ui-success-200, #b8e9d2);
1160
1238
  }
1161
1239
  .ivds-card--success .ivds-card__title {
1162
- color: var(--color-semantic-success-800, #166534);
1240
+ color: var(--color-semantic-success-700, #0a573a);
1163
1241
  }
1164
1242
  .ivds-card--success .ivds-card__content {
1165
- color: var(--color-semantic-success-700, #15803d);
1243
+ color: var(--color-semantic-success-600, #0f6f4a);
1166
1244
  }
1167
1245
  .ivds-card--warning {
1168
- background-color: var(--color-semantic-warning-50, #fffbeb);
1169
- border: var(--borderWidth-1, 1px) solid var(--color-semantic-warning-200, #fed7aa);
1246
+ --background-color: var(--color-semantic-warning-50, #fff8eb);
1247
+ --border-color: var(--color-ui-warning-200, #f6d6a7);
1170
1248
  }
1171
1249
  .ivds-card--warning .ivds-card__title {
1172
- color: var(--color-semantic-warning-800, #92400e);
1250
+ color: var(--color-semantic-warning-700, #834b08);
1173
1251
  }
1174
1252
  .ivds-card--warning .ivds-card__content {
1175
- color: var(--color-semantic-warning-700, #b45309);
1253
+ color: var(--color-semantic-warning-600, #a76009);
1176
1254
  }
1177
1255
  .ivds-card--error {
1178
- background-color: var(--color-semantic-error-50, #fef2f2);
1179
- border: var(--borderWidth-1, 1px) solid var(--color-semantic-error-200, #fecaca);
1256
+ --background-color: var(--color-semantic-error-50, #fff1f2);
1257
+ --border-color: var(--color-ui-error-200, #f2b8c1);
1180
1258
  }
1181
1259
  .ivds-card--error .ivds-card__title {
1182
- color: var(--color-semantic-error-800, #991b1b);
1260
+ color: var(--color-semantic-error-700, #922036);
1183
1261
  }
1184
1262
  .ivds-card--error .ivds-card__content {
1185
- color: var(--color-semantic-error-700, #b91c1c);
1263
+ color: var(--color-semantic-error-600, #b72a41);
1186
1264
  }
1187
1265
  .ivds-card--info {
1188
- background-color: var(--color-semantic-info-50, #eff6ff);
1189
- border: var(--borderWidth-1, 1px) solid var(--color-semantic-info-200, #bfdbfe);
1266
+ --background-color: var(--color-semantic-info-50, #edf4ff);
1267
+ --border-color: var(--color-ui-info-200, #bfd7ff);
1190
1268
  }
1191
1269
  .ivds-card--info .ivds-card__title {
1192
- color: var(--color-semantic-info-800, #1e40af);
1270
+ color: var(--color-semantic-info-700, #003d99);
1193
1271
  }
1194
1272
  .ivds-card--info .ivds-card__content {
1195
- color: var(--color-semantic-info-700, #1d4ed8);
1273
+ color: var(--color-semantic-info-600, #0050c8);
1196
1274
  }
1197
1275
  @keyframes ivds-notification-slide-in {
1198
1276
  from {
1199
- transform: translateX(100%);
1200
1277
  opacity: 0;
1278
+ transform: translateX(24px);
1201
1279
  }
1202
1280
  to {
1203
- transform: translateX(0);
1204
1281
  opacity: 1;
1282
+ transform: translateX(0);
1205
1283
  }
1206
1284
  }
1207
1285
  @keyframes ivds-notification-slide-out {
1208
1286
  from {
1209
- transform: translateX(0);
1210
1287
  opacity: 1;
1288
+ transform: translateX(0);
1211
1289
  }
1212
1290
  to {
1213
- transform: translateX(100%);
1214
1291
  opacity: 0;
1292
+ transform: translateX(24px);
1215
1293
  }
1216
1294
  }
1217
1295
  @keyframes ivds-notification-fade-in {
1218
1296
  from {
1219
1297
  opacity: 0;
1220
- transform: scale(0.95);
1298
+ transform: translateY(8px);
1221
1299
  }
1222
1300
  to {
1223
1301
  opacity: 1;
1224
- transform: scale(1);
1302
+ transform: translateY(0);
1225
1303
  }
1226
1304
  }
1227
1305
  @keyframes ivds-notification-fade-out {
1228
1306
  from {
1229
1307
  opacity: 1;
1230
- transform: scale(1);
1308
+ transform: translateY(0);
1231
1309
  }
1232
1310
  to {
1233
1311
  opacity: 0;
1234
- transform: scale(0.95);
1312
+ transform: translateY(8px);
1235
1313
  }
1236
1314
  }
1237
1315
  .ivds-notification {
1316
+ position: relative;
1238
1317
  display: flex;
1239
1318
  align-items: flex-start;
1240
1319
  padding: var(--spacing-4, 1rem);
1241
- border-radius: var(--borderRadius-md, 0.375rem);
1242
- border-left: var(--borderWidth-4, 4px) solid;
1243
- box-shadow: var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.05));
1244
- position: relative;
1245
- transition: all 0.15s ease-in-out;
1320
+ border: 1px solid var(--ivds-border-subtle, #e2e7ec);
1321
+ border-left-width: 4px;
1322
+ border-radius: var(--ivds-radius-s, 0.125rem);
1323
+ box-shadow: none;
1246
1324
  }
1247
1325
  .ivds-notification__icon {
1248
1326
  flex-shrink: 0;
1249
- margin-right: var(--spacing-3, 0.75rem);
1250
- margin-top: var(--spacing-1, 0.25rem);
1251
1327
  width: 1.25rem;
1252
1328
  height: 1.25rem;
1329
+ margin-right: var(--spacing-3, 0.75rem);
1330
+ margin-top: var(--spacing-1, 0.25rem);
1253
1331
  display: inline-flex;
1254
1332
  align-items: center;
1255
1333
  justify-content: center;
1256
1334
  }
1257
1335
  .ivds-notification__content {
1258
- flex: 1;
1259
1336
  min-width: 0;
1337
+ flex: 1;
1260
1338
  }
1261
1339
  .ivds-notification__title {
1262
- margin: 0 0 var(--spacing-1, 0.25rem) 0;
1340
+ margin: 0 0 var(--spacing-1, 0.25rem);
1263
1341
  font-size: var(--fontSize-base, 1rem);
1264
- font-weight: var(--fontWeight-medium, 500);
1342
+ font-weight: var(--fontWeight-semibold, 600);
1265
1343
  line-height: var(--lineHeight-tight, 1.25);
1266
1344
  }
1267
1345
  .ivds-notification__message {
@@ -1270,10 +1348,10 @@
1270
1348
  line-height: var(--lineHeight-relaxed, 1.625);
1271
1349
  }
1272
1350
  .ivds-notification__actions {
1273
- display: flex;
1274
- gap: var(--spacing-2, 0.5rem);
1275
1351
  margin-top: var(--spacing-3, 0.75rem);
1352
+ display: flex;
1276
1353
  align-items: center;
1354
+ gap: var(--spacing-2, 0.5rem);
1277
1355
  }
1278
1356
  .ivds-notification__dismiss {
1279
1357
  display: inline-flex;
@@ -1288,56 +1366,60 @@
1288
1366
  fill: currentcolor;
1289
1367
  }
1290
1368
  .ivds-notification--success {
1291
- background-color: var(--color-semantic-success-50, #f0fdf4);
1292
- border-left-color: var(--color-semantic-success-500, #22c55e);
1369
+ background-color: var(--color-semantic-success-50, #edf9f4);
1370
+ border-color: var(--color-semantic-success-500, #19895d);
1371
+ border-left-color: var(--color-semantic-success-500, #19895d);
1293
1372
  }
1294
1373
  .ivds-notification--success .ivds-notification__title {
1295
- color: var(--color-semantic-success-800, #166534);
1374
+ color: var(--color-semantic-success-700, #0a573a);
1296
1375
  }
1297
1376
  .ivds-notification--success .ivds-notification__message {
1298
- color: var(--color-semantic-success-700, #15803d);
1377
+ color: var(--color-semantic-success-700, #0a573a);
1299
1378
  }
1300
1379
  .ivds-notification--success .ivds-notification__icon {
1301
- color: var(--color-semantic-success-500, #22c55e);
1380
+ color: var(--color-semantic-success-500, #19895d);
1302
1381
  }
1303
1382
  .ivds-notification--warning {
1304
- background-color: var(--color-semantic-warning-50, #fffbeb);
1305
- border-left-color: var(--color-semantic-warning-500, #f59e0b);
1383
+ background-color: var(--color-semantic-warning-50, #fff8eb);
1384
+ border-color: var(--color-semantic-warning-500, #ce790b);
1385
+ border-left-color: var(--color-semantic-warning-500, #ce790b);
1306
1386
  }
1307
1387
  .ivds-notification--warning .ivds-notification__title {
1308
- color: var(--color-semantic-warning-800, #92400e);
1388
+ color: var(--color-semantic-warning-700, #834b08);
1309
1389
  }
1310
1390
  .ivds-notification--warning .ivds-notification__message {
1311
- color: var(--color-semantic-warning-700, #b45309);
1391
+ color: var(--color-semantic-warning-700, #834b08);
1312
1392
  }
1313
1393
  .ivds-notification--warning .ivds-notification__icon {
1314
- color: var(--color-semantic-warning-500, #f59e0b);
1394
+ color: var(--color-semantic-warning-500, #ce790b);
1315
1395
  }
1316
1396
  .ivds-notification--error {
1317
- background-color: var(--color-semantic-error-50, #fef2f2);
1318
- border-left-color: var(--color-semantic-error-500, #ef4444);
1397
+ background-color: var(--color-semantic-error-50, #fff1f2);
1398
+ border-color: var(--color-semantic-error-500, #d73a50);
1399
+ border-left-color: var(--color-semantic-error-500, #d73a50);
1319
1400
  }
1320
1401
  .ivds-notification--error .ivds-notification__title {
1321
- color: var(--color-semantic-error-800, #991b1b);
1402
+ color: var(--color-semantic-error-700, #922036);
1322
1403
  }
1323
1404
  .ivds-notification--error .ivds-notification__message {
1324
- color: var(--color-semantic-error-700, #b91c1c);
1405
+ color: var(--color-semantic-error-700, #922036);
1325
1406
  }
1326
1407
  .ivds-notification--error .ivds-notification__icon {
1327
- color: var(--color-semantic-error-500, #ef4444);
1408
+ color: var(--color-semantic-error-500, #d73a50);
1328
1409
  }
1329
1410
  .ivds-notification--info {
1330
- background-color: var(--color-semantic-info-50, #eff6ff);
1331
- border-left-color: var(--color-semantic-info-500, #3b82f6);
1411
+ background-color: var(--color-semantic-info-50, #edf4ff);
1412
+ border-color: var(--color-semantic-info-500, #1f6fe5);
1413
+ border-left-color: var(--color-semantic-info-500, #1f6fe5);
1332
1414
  }
1333
1415
  .ivds-notification--info .ivds-notification__title {
1334
- color: var(--color-semantic-info-800, #1e40af);
1416
+ color: var(--color-semantic-info-700, #003d99);
1335
1417
  }
1336
1418
  .ivds-notification--info .ivds-notification__message {
1337
- color: var(--color-semantic-info-700, #1d4ed8);
1419
+ color: var(--color-semantic-info-700, #003d99);
1338
1420
  }
1339
1421
  .ivds-notification--info .ivds-notification__icon {
1340
- color: var(--color-semantic-info-500, #3b82f6);
1422
+ color: var(--color-semantic-info-500, #1f6fe5);
1341
1423
  }
1342
1424
  .ivds-notification--dismissible {
1343
1425
  padding-right: var(--spacing-12, 3rem);
@@ -1346,26 +1428,35 @@
1346
1428
  position: absolute;
1347
1429
  top: var(--spacing-3, 0.75rem);
1348
1430
  right: var(--spacing-3, 0.75rem);
1431
+ display: inline-flex;
1432
+ align-items: center;
1433
+ justify-content: center;
1434
+ width: 1.75rem;
1435
+ height: 1.75rem;
1436
+ border: 1px solid transparent;
1437
+ border-radius: var(--ivds-radius-xs, 0);
1349
1438
  background: transparent;
1350
- border: none;
1351
- cursor: pointer;
1352
- padding: var(--spacing-1, 0.25rem);
1353
- border-radius: var(--borderRadius-sm, 0.25rem);
1354
1439
  color: inherit;
1355
- opacity: 0.7;
1356
- transition: opacity 0.15s ease-in-out, background-color 0.15s ease-in-out;
1440
+ cursor: pointer;
1441
+ opacity: 0.78;
1442
+ transition: opacity var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), background-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), border-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
1357
1443
  }
1358
1444
  .ivds-notification--dismissible .ivds-notification__dismiss:hover {
1359
1445
  opacity: 1;
1360
- background-color: rgba(0, 0, 0, 0.05);
1446
+ border-color: rgba(18, 26, 36, 0.16);
1447
+ background-color: rgba(18, 26, 36, 0.06);
1361
1448
  }
1362
- .ivds-notification--dismissible .ivds-notification__dismiss:focus {
1363
- outline: 2px solid var(--color-brand-primary-500, #0ea5e9);
1364
- outline-offset: 2px;
1365
- opacity: 1;
1449
+ .ivds-notification--dismissible .ivds-notification__dismiss:focus-visible {
1450
+ outline: var(--ivds-focus-ring-width, 3px) solid var(--ivds-focus-ring-color, var(--color-brand-accent-600, #1058b8));
1451
+ outline-offset: var(--ivds-focus-ring-offset, 2px);
1452
+ box-shadow: none;
1366
1453
  }
1367
- .ivds-notification--dismissible .ivds-notification__dismiss:active {
1368
- transform: scale(0.95);
1454
+ .ivds-notification--dismissible .ivds-notification__dismiss:focus:not(:focus-visible) {
1455
+ outline: none;
1456
+ box-shadow: none;
1457
+ }
1458
+ .ivds-notification--dismissible .ivds-notification__dismiss:focus-visible {
1459
+ opacity: 1;
1369
1460
  }
1370
1461
  .ivds-notification--compact {
1371
1462
  padding: var(--spacing-3, 0.75rem);
@@ -1376,9 +1467,9 @@
1376
1467
  height: 1rem;
1377
1468
  }
1378
1469
  .ivds-notification--compact .ivds-notification__title {
1379
- margin: 0 0 var(--spacing-1, 0.25rem) 0;
1470
+ margin: 0 0 var(--spacing-1, 0.25rem);
1380
1471
  font-size: var(--fontSize-sm, 0.875rem);
1381
- font-weight: var(--fontWeight-medium, 500);
1472
+ font-weight: var(--fontWeight-semibold, 600);
1382
1473
  line-height: var(--lineHeight-tight, 1.25);
1383
1474
  }
1384
1475
  .ivds-notification--compact .ivds-notification__message {
@@ -1386,13 +1477,6 @@
1386
1477
  font-size: var(--fontSize-xs, 0.75rem);
1387
1478
  line-height: var(--lineHeight-relaxed, 1.625);
1388
1479
  }
1389
- .ivds-notification--compact.ivds-notification--dismissible {
1390
- padding-right: var(--spacing-10, 2.5rem);
1391
- }
1392
- .ivds-notification--compact.ivds-notification--dismissible .ivds-notification__dismiss {
1393
- top: var(--spacing-2, 0.5rem);
1394
- right: var(--spacing-2, 0.5rem);
1395
- }
1396
1480
  .ivds-notification--spacious {
1397
1481
  padding: var(--spacing-6, 1.5rem);
1398
1482
  }
@@ -1402,57 +1486,58 @@
1402
1486
  height: 1.5rem;
1403
1487
  }
1404
1488
  .ivds-notification--spacious .ivds-notification__title {
1405
- margin: 0 0 var(--spacing-1, 0.25rem) 0;
1489
+ margin: 0 0 var(--spacing-1, 0.25rem);
1406
1490
  font-size: var(--fontSize-lg, 1.125rem);
1407
1491
  font-weight: var(--fontWeight-semibold, 600);
1408
1492
  line-height: var(--lineHeight-tight, 1.25);
1409
- margin-bottom: var(--spacing-2, 0.5rem);
1410
1493
  }
1411
1494
  .ivds-notification--spacious .ivds-notification__message {
1412
1495
  margin: 0;
1413
1496
  font-size: var(--fontSize-base, 1rem);
1414
1497
  line-height: var(--lineHeight-relaxed, 1.625);
1415
1498
  }
1416
- .ivds-notification--spacious.ivds-notification--dismissible {
1417
- padding-right: var(--spacing-14, 3.5rem);
1418
- }
1419
- .ivds-notification--spacious.ivds-notification--dismissible .ivds-notification__dismiss {
1420
- top: var(--spacing-4, 1rem);
1421
- right: var(--spacing-4, 1rem);
1422
- }
1423
1499
  .ivds-notification--with-actions .ivds-notification__content {
1424
1500
  padding-bottom: var(--spacing-1, 0.25rem);
1425
1501
  }
1426
1502
  .ivds-notification--slide-in {
1427
- animation: ivds-notification-slide-in 0.3s ease-out;
1503
+ animation: ivds-notification-slide-in 0.28s ease-out;
1428
1504
  }
1429
1505
  .ivds-notification--slide-out {
1430
1506
  animation: ivds-notification-slide-out 0.2s ease-in forwards;
1431
1507
  }
1432
1508
  .ivds-notification--fade-in {
1433
- animation: ivds-notification-fade-in 0.3s ease-out;
1509
+ animation: ivds-notification-fade-in 0.26s ease-out;
1434
1510
  }
1435
1511
  .ivds-notification--fade-out {
1436
1512
  animation: ivds-notification-fade-out 0.2s ease-in forwards;
1437
1513
  }
1514
+ /* stylelint-disable no-descending-specificity */
1438
1515
  .ivds-tag {
1439
1516
  display: inline-flex;
1440
1517
  align-items: center;
1441
- font-family: var(--fontFamily-sans, system-ui, -apple-system, sans-serif);
1442
- font-weight: var(--fontWeight-medium, 500);
1443
- line-height: var(--lineHeight-tight, 1.25);
1444
- border-radius: var(--borderRadius-md, 0.375rem);
1445
- border: var(--borderWidth-1, 1px) solid transparent;
1446
- text-decoration: none;
1518
+ justify-content: center;
1447
1519
  white-space: nowrap;
1448
- transition: all 0.15s ease-in-out;
1449
1520
  -webkit-user-select: none;
1450
- -moz-user-select: none;
1521
+ -moz-user-select: none;
1451
1522
  user-select: none;
1523
+ text-decoration: none;
1524
+ text-transform: uppercase;
1525
+ letter-spacing: 0.03em;
1526
+ font-family: var(--fontFamily-primary, system-ui, sans-serif);
1527
+ font-weight: var(--fontWeight-semibold, 600);
1528
+ line-height: var(--lineHeight-tight, 1.25);
1529
+ border: 1px solid transparent;
1530
+ border-radius: var(--ivds-radius-s, 0.125rem);
1531
+ transition: background-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), border-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
1452
1532
  }
1453
- .ivds-tag:focus-within {
1454
- outline: 2px solid var(--color-brand-primary-500, #0ea5e9);
1455
- outline-offset: 2px;
1533
+ .ivds-tag:focus-visible {
1534
+ outline: var(--ivds-focus-ring-width, 3px) solid var(--ivds-focus-ring-color, var(--color-brand-accent-600, #1058b8));
1535
+ outline-offset: var(--ivds-focus-ring-offset, 2px);
1536
+ box-shadow: none;
1537
+ }
1538
+ .ivds-tag:focus:not(:focus-visible) {
1539
+ outline: none;
1540
+ box-shadow: none;
1456
1541
  }
1457
1542
  .ivds-tag {
1458
1543
  padding: var(--spacing-1, 0.25rem) var(--spacing-3, 0.75rem);
@@ -1472,12 +1557,12 @@
1472
1557
  fill: currentcolor;
1473
1558
  }
1474
1559
  .ivds-tag {
1475
- background-color: var(--color-semantic-neutral-100, #f1f5f9);
1476
- color: var(--color-semantic-neutral-700, #334155);
1477
- border-color: transparent;
1560
+ background-color: var(--ivds-surface-muted, #f1f3f5);
1561
+ color: var(--ivds-text-secondary, #36414f);
1562
+ border-color: var(--ivds-border-subtle, #e2e7ec);
1478
1563
  }
1479
- .ivds-tag:hover {
1480
- background-color: var(--color-semantic-neutral-200, #e2e8f0);
1564
+ .ivds-tag:hover:not(:disabled) {
1565
+ background-color: var(--color-semantic-neutral-200, #e2e7ec);
1481
1566
  }
1482
1567
  .ivds-tag__icon {
1483
1568
  display: inline-flex;
@@ -1505,181 +1590,151 @@
1505
1590
  fill: currentcolor;
1506
1591
  }
1507
1592
  .ivds-tag--primary {
1508
- background-color: var(--color-brand-primary-100, #ffedd5);
1509
- color: var(--color-brand-primary-700, #c2410c);
1510
- border-color: transparent;
1593
+ background-color: var(--color-brand-accent-50, #eef4ff);
1594
+ color: var(--color-brand-accent-700, #0b4593);
1595
+ border-color: var(--color-brand-accent-200, #bfd7ff);
1511
1596
  }
1512
- .ivds-tag--primary:hover {
1513
- background-color: var(--color-brand-primary-200, #fed7aa);
1597
+ .ivds-tag--primary:hover:not(:disabled) {
1598
+ background-color: var(--color-brand-accent-100, #dbe9ff);
1514
1599
  }
1515
1600
  .ivds-tag--success {
1516
- background-color: var(--color-semantic-success-100, #dcfce7);
1517
- color: var(--color-semantic-success-700, #15803d);
1518
- border-color: transparent;
1601
+ background-color: var(--color-semantic-success-50, #edf9f4);
1602
+ color: var(--color-semantic-success-700, #0a573a);
1603
+ border-color: var(--color-ui-success-200, #b8e9d2);
1519
1604
  }
1520
- .ivds-tag--success:hover {
1521
- background-color: var(--color-semantic-success-200, #bbf7d0);
1605
+ .ivds-tag--success:hover:not(:disabled) {
1606
+ background-color: var(--color-ui-success-100, #d6f3e5);
1522
1607
  }
1523
1608
  .ivds-tag--warning {
1524
- background-color: var(--color-semantic-warning-100, #fef3c7);
1525
- color: var(--color-semantic-warning-700, #b45309);
1526
- border-color: transparent;
1609
+ background-color: var(--color-semantic-warning-50, #fff8eb);
1610
+ color: var(--color-semantic-warning-700, #834b08);
1611
+ border-color: var(--color-ui-warning-200, #f6d6a7);
1527
1612
  }
1528
- .ivds-tag--warning:hover {
1529
- background-color: var(--color-semantic-warning-200, #fed7aa);
1613
+ .ivds-tag--warning:hover:not(:disabled) {
1614
+ background-color: var(--color-ui-warning-100, #fcebcf);
1530
1615
  }
1531
1616
  .ivds-tag--error {
1532
- background-color: var(--color-semantic-error-100, #fee2e2);
1533
- color: var(--color-semantic-error-700, #b91c1c);
1534
- border-color: transparent;
1617
+ background-color: var(--color-semantic-error-50, #fff1f2);
1618
+ color: var(--color-semantic-error-700, #922036);
1619
+ border-color: var(--color-ui-error-200, #f2b8c1);
1535
1620
  }
1536
- .ivds-tag--error:hover {
1537
- background-color: var(--color-semantic-error-200, #fecaca);
1621
+ .ivds-tag--error:hover:not(:disabled) {
1622
+ background-color: var(--color-ui-error-100, #f9dbe0);
1538
1623
  }
1539
1624
  .ivds-tag--info {
1540
- background-color: var(--color-semantic-info-100, #dbeafe);
1541
- color: var(--color-semantic-info-700, #1d4ed8);
1542
- border-color: transparent;
1625
+ background-color: var(--color-semantic-info-50, #edf4ff);
1626
+ color: var(--color-semantic-info-700, #003d99);
1627
+ border-color: var(--color-ui-info-200, #bfd7ff);
1543
1628
  }
1544
- .ivds-tag--info:hover {
1545
- background-color: var(--color-semantic-info-200, #bfdbfe);
1629
+ .ivds-tag--info:hover:not(:disabled) {
1630
+ background-color: var(--color-ui-info-100, #dbe9ff);
1546
1631
  }
1547
1632
  .ivds-tag--outlined.ivds-tag {
1548
1633
  background-color: transparent;
1549
- border-color: var(--color-semantic-neutral-300, #cbd5e1);
1550
- color: var(--color-semantic-neutral-700, #334155);
1634
+ color: var(--ivds-text-secondary, #36414f);
1635
+ border-color: var(--ivds-border-strong, #a1adba);
1551
1636
  }
1552
- .ivds-tag--outlined.ivds-tag:hover {
1553
- background-color: var(--color-semantic-neutral-50, #f8fafc);
1637
+ .ivds-tag--outlined.ivds-tag:hover:not(:disabled) {
1638
+ background-color: var(--ivds-surface-muted, #f1f3f5);
1554
1639
  }
1555
1640
  .ivds-tag--outlined.ivds-tag--primary {
1556
1641
  background-color: transparent;
1557
- border-color: var(--color-brand-primary-300, #fdba74);
1558
- color: var(--color-brand-primary-700, #c2410c);
1642
+ color: var(--color-brand-accent-700, #0b4593);
1643
+ border-color: var(--color-brand-accent-300, #93bcff);
1559
1644
  }
1560
- .ivds-tag--outlined.ivds-tag--primary:hover {
1561
- background-color: var(--color-brand-primary-50, #fff7ed);
1645
+ .ivds-tag--outlined.ivds-tag--primary:hover:not(:disabled) {
1646
+ background-color: var(--color-brand-accent-50, #eef4ff);
1562
1647
  }
1563
1648
  .ivds-tag--outlined.ivds-tag--success {
1564
1649
  background-color: transparent;
1565
- border-color: var(--color-semantic-success-300, #86efac);
1566
- color: var(--color-semantic-success-700, #15803d);
1650
+ color: var(--color-semantic-success-700, #0a573a);
1651
+ border-color: var(--color-ui-success-300, #86d7b8);
1567
1652
  }
1568
- .ivds-tag--outlined.ivds-tag--success:hover {
1569
- background-color: var(--color-semantic-success-50, #f0fdf4);
1653
+ .ivds-tag--outlined.ivds-tag--success:hover:not(:disabled) {
1654
+ background-color: var(--color-semantic-success-50, #edf9f4);
1570
1655
  }
1571
1656
  .ivds-tag--outlined.ivds-tag--warning {
1572
1657
  background-color: transparent;
1573
- border-color: var(--color-semantic-warning-300, #fcd34d);
1574
- color: var(--color-semantic-warning-700, #b45309);
1658
+ color: var(--color-semantic-warning-700, #834b08);
1659
+ border-color: var(--color-ui-warning-300, #efbf76);
1575
1660
  }
1576
- .ivds-tag--outlined.ivds-tag--warning:hover {
1577
- background-color: var(--color-semantic-warning-50, #fffbeb);
1661
+ .ivds-tag--outlined.ivds-tag--warning:hover:not(:disabled) {
1662
+ background-color: var(--color-semantic-warning-50, #fff8eb);
1578
1663
  }
1579
1664
  .ivds-tag--outlined.ivds-tag--error {
1580
1665
  background-color: transparent;
1581
- border-color: var(--color-semantic-error-300, #fca5a5);
1582
- color: var(--color-semantic-error-700, #b91c1c);
1666
+ color: var(--color-semantic-error-700, #922036);
1667
+ border-color: var(--color-ui-error-300, #e68f9d);
1583
1668
  }
1584
- .ivds-tag--outlined.ivds-tag--error:hover {
1585
- background-color: var(--color-semantic-error-50, #fef2f2);
1669
+ .ivds-tag--outlined.ivds-tag--error:hover:not(:disabled) {
1670
+ background-color: var(--color-semantic-error-50, #fff1f2);
1586
1671
  }
1587
1672
  .ivds-tag--outlined.ivds-tag--info {
1588
1673
  background-color: transparent;
1589
- border-color: var(--color-semantic-info-300, #93c5fd);
1590
- color: var(--color-semantic-info-700, #1d4ed8);
1674
+ color: var(--color-semantic-info-700, #003d99);
1675
+ border-color: var(--color-ui-info-300, #93bcff);
1591
1676
  }
1592
- .ivds-tag--outlined.ivds-tag--info:hover {
1593
- background-color: var(--color-semantic-info-50, #eff6ff);
1677
+ .ivds-tag--outlined.ivds-tag--info:hover:not(:disabled) {
1678
+ background-color: var(--color-semantic-info-50, #edf4ff);
1594
1679
  }
1595
1680
  .ivds-tag--solid.ivds-tag {
1596
- background-color: var(--color-semantic-neutral-600, #475569);
1597
- color: var(--color-semantic-neutral-50, #f8fafc);
1598
- border-color: var(--color-semantic-neutral-600, #475569);
1681
+ background-color: var(--color-semantic-neutral-700, #36414f);
1682
+ color: #fff;
1683
+ border-color: var(--color-semantic-neutral-700, #36414f);
1599
1684
  }
1600
- .ivds-tag--solid.ivds-tag:hover {
1601
- background-color: var(--color-semantic-neutral-700, #334155);
1602
- border-color: var(--color-semantic-neutral-700, #334155);
1685
+ .ivds-tag--solid.ivds-tag:hover:not(:disabled) {
1686
+ background-color: var(--color-semantic-neutral-800, #202a36);
1603
1687
  }
1604
1688
  .ivds-tag--solid.ivds-tag--primary {
1605
- background-color: var(--color-brand-primary-600, #ea580c);
1606
- color: var(--color-semantic-neutral-50, #fafafa);
1607
- border-color: var(--color-brand-primary-600, #ea580c);
1689
+ background-color: var(--color-brand-accent-600, #1058b8);
1690
+ color: #fff;
1691
+ border-color: var(--color-brand-accent-600, #1058b8);
1608
1692
  }
1609
- .ivds-tag--solid.ivds-tag--primary:hover {
1610
- background-color: var(--color-brand-primary-700, #c2410c);
1611
- border-color: var(--color-brand-primary-700, #c2410c);
1693
+ .ivds-tag--solid.ivds-tag--primary:hover:not(:disabled) {
1694
+ background-color: var(--color-brand-accent-700, #0b4593);
1612
1695
  }
1613
1696
  .ivds-tag--solid.ivds-tag--success {
1614
- background-color: var(--color-semantic-success-600, #16a34a);
1615
- color: var(--color-semantic-neutral-50, #f8fafc);
1616
- border-color: var(--color-semantic-success-600, #16a34a);
1697
+ background-color: var(--color-semantic-success-600, #0f6f4a);
1698
+ color: #fff;
1699
+ border-color: var(--color-semantic-success-600, #0f6f4a);
1617
1700
  }
1618
- .ivds-tag--solid.ivds-tag--success:hover {
1619
- background-color: var(--color-semantic-success-700, #15803d);
1620
- border-color: var(--color-semantic-success-700, #15803d);
1701
+ .ivds-tag--solid.ivds-tag--success:hover:not(:disabled) {
1702
+ background-color: var(--color-semantic-success-700, #0a573a);
1621
1703
  }
1622
1704
  .ivds-tag--solid.ivds-tag--warning {
1623
- background-color: var(--color-semantic-warning-600, #d97706);
1624
- color: var(--color-semantic-neutral-50, #f8fafc);
1625
- border-color: var(--color-semantic-warning-600, #d97706);
1705
+ background-color: var(--color-semantic-warning-600, #a76009);
1706
+ color: #fff;
1707
+ border-color: var(--color-semantic-warning-600, #a76009);
1626
1708
  }
1627
- .ivds-tag--solid.ivds-tag--warning:hover {
1628
- background-color: var(--color-semantic-warning-700, #b45309);
1629
- border-color: var(--color-semantic-warning-700, #b45309);
1709
+ .ivds-tag--solid.ivds-tag--warning:hover:not(:disabled) {
1710
+ background-color: var(--color-semantic-warning-700, #834b08);
1630
1711
  }
1631
1712
  .ivds-tag--solid.ivds-tag--error {
1632
- background-color: var(--color-semantic-error-600, #dc2626);
1633
- color: var(--color-semantic-neutral-50, #f8fafc);
1634
- border-color: var(--color-semantic-error-600, #dc2626);
1713
+ background-color: var(--color-semantic-error-600, #b72a41);
1714
+ color: #fff;
1715
+ border-color: var(--color-semantic-error-600, #b72a41);
1635
1716
  }
1636
- .ivds-tag--solid.ivds-tag--error:hover {
1637
- background-color: var(--color-semantic-error-700, #b91c1c);
1638
- border-color: var(--color-semantic-error-700, #b91c1c);
1717
+ .ivds-tag--solid.ivds-tag--error:hover:not(:disabled) {
1718
+ background-color: var(--color-semantic-error-700, #922036);
1639
1719
  }
1640
1720
  .ivds-tag--solid.ivds-tag--info {
1641
- background-color: var(--color-semantic-info-600, #2563eb);
1642
- color: var(--color-semantic-neutral-50, #f8fafc);
1643
- border-color: var(--color-semantic-info-600, #2563eb);
1721
+ background-color: var(--color-semantic-info-600, #0050c8);
1722
+ color: #fff;
1723
+ border-color: var(--color-semantic-info-600, #0050c8);
1644
1724
  }
1645
- .ivds-tag--solid.ivds-tag--info:hover {
1646
- background-color: var(--color-semantic-info-700, #1d4ed8);
1647
- border-color: var(--color-semantic-info-700, #1d4ed8);
1725
+ .ivds-tag--solid.ivds-tag--info:hover:not(:disabled) {
1726
+ background-color: var(--color-semantic-info-700, #003d99);
1648
1727
  }
1649
1728
  .ivds-tag--small {
1650
1729
  padding: var(--spacing-1, 0.25rem) var(--spacing-2, 0.5rem);
1651
1730
  font-size: var(--fontSize-xs, 0.75rem);
1652
1731
  min-height: 20px;
1653
1732
  }
1654
- .ivds-tag--small .ivds-tag__icon svg {
1655
- width: 0.875em;
1656
- height: 0.875em;
1657
- }
1658
- .ivds-tag--small.ivds-tag--removable .ivds-tag__remove {
1659
- margin-left: var(--spacing-1, 0.25rem);
1660
- padding: 2px;
1661
- }
1662
- .ivds-tag--small.ivds-tag--removable .ivds-tag__remove svg {
1663
- width: 0.75em;
1664
- height: 0.75em;
1665
- }
1666
1733
  .ivds-tag--large {
1667
1734
  padding: var(--spacing-2, 0.5rem) var(--spacing-4, 1rem);
1668
1735
  font-size: var(--fontSize-base, 1rem);
1669
1736
  min-height: 32px;
1670
1737
  }
1671
- .ivds-tag--large .ivds-tag__icon svg {
1672
- width: 1.125em;
1673
- height: 1.125em;
1674
- }
1675
- .ivds-tag--large.ivds-tag--removable .ivds-tag__remove {
1676
- margin-left: var(--spacing-3, 0.75rem);
1677
- padding: var(--spacing-1, 0.25rem);
1678
- }
1679
- .ivds-tag--large.ivds-tag--removable .ivds-tag__remove svg {
1680
- width: 1em;
1681
- height: 1em;
1682
- }
1683
1738
  .ivds-tag--removable {
1684
1739
  padding-right: var(--spacing-1, 0.25rem);
1685
1740
  }
@@ -1688,447 +1743,610 @@
1688
1743
  align-items: center;
1689
1744
  justify-content: center;
1690
1745
  margin-left: var(--spacing-2, 0.5rem);
1691
- padding: var(--spacing-1, 0.25rem);
1692
- background: transparent;
1746
+ padding: 2px;
1693
1747
  border: none;
1694
- border-radius: var(--borderRadius-sm, 0.25rem);
1748
+ border-radius: var(--ivds-radius-xs, 0.125rem);
1749
+ background-color: transparent;
1750
+ color: currentcolor;
1695
1751
  cursor: pointer;
1696
- color: inherit;
1697
- opacity: 0.7;
1698
- transition: opacity 0.15s ease-in-out, background-color 0.15s ease-in-out;
1752
+ transition: background-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
1699
1753
  }
1700
1754
  .ivds-tag--removable .ivds-tag__remove:hover {
1701
- opacity: 1;
1702
- background-color: rgba(0, 0, 0, 0.1);
1703
- }
1704
- .ivds-tag--removable .ivds-tag__remove:focus {
1705
- outline: 2px solid var(--color-brand-primary-500, #0ea5e9);
1706
- outline-offset: 1px;
1707
- opacity: 1;
1708
- }
1709
- .ivds-tag--removable .ivds-tag__remove:active {
1710
- transform: scale(0.95);
1755
+ background-color: rgba(16, 24, 40, 0.08);
1711
1756
  }
1712
1757
  .ivds-tag--removable .ivds-tag__remove svg {
1713
- width: 0.875em;
1714
- height: 0.875em;
1715
- fill: currentcolor;
1758
+ width: 14px;
1759
+ height: 14px;
1716
1760
  }
1717
1761
  .ivds-tag--link {
1718
1762
  cursor: pointer;
1719
- text-decoration: none;
1720
1763
  }
1721
- .ivds-tag--link:hover {
1722
- text-decoration: none;
1764
+ .ivds-tag--link:hover:not(:disabled) {
1765
+ border-color: var(--ivds-border-strong, #a1adba);
1723
1766
  }
1724
- .ivds-tag--link:focus {
1725
- outline: 2px solid var(--color-brand-primary-500, #0ea5e9);
1726
- outline-offset: 2px;
1767
+ .ivds-tag--link:active:not(:disabled) {
1768
+ opacity: 0.9;
1727
1769
  }
1728
- .ivds-tag--link:active {
1729
- transform: translateY(1px);
1770
+ .ivds-tag--link {
1771
+ text-decoration: none;
1730
1772
  }
1731
1773
  .ivds-tag--interactive {
1732
1774
  cursor: pointer;
1733
1775
  }
1734
- .ivds-tag--interactive:hover {
1735
- transform: translateY(-1px);
1736
- box-shadow: var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.05));
1737
- }
1738
- .ivds-tag--interactive:active {
1739
- transform: translateY(0);
1776
+ .ivds-tag--interactive:hover:not(:disabled) {
1777
+ border-color: var(--ivds-border-strong, #a1adba);
1740
1778
  }
1741
- .ivds-tag--new {
1742
- position: relative;
1779
+ .ivds-tag--interactive:active:not(:disabled) {
1780
+ opacity: 0.9;
1743
1781
  }
1744
- .ivds-tag--new::after {
1782
+ .ivds-tag--new::before {
1745
1783
  content: "";
1746
- position: absolute;
1747
- top: -2px;
1748
- right: -2px;
1749
1784
  width: 6px;
1750
1785
  height: 6px;
1751
- background-color: var(--color-semantic-success-500, #22c55e);
1752
- border-radius: 50%;
1753
- border: 1px solid var(--color-semantic-neutral-50, #f8fafc);
1754
- }
1755
- .ivds-tag--updated {
1756
- position: relative;
1786
+ border-radius: var(--borderRadius-full, 9999px);
1787
+ margin-right: var(--spacing-2, 0.5rem);
1788
+ background-color: var(--color-semantic-success-500, #16a34a);
1757
1789
  }
1758
- .ivds-tag--updated::after {
1790
+ .ivds-tag--updated::before {
1759
1791
  content: "";
1760
- position: absolute;
1761
- top: -2px;
1762
- right: -2px;
1763
1792
  width: 6px;
1764
1793
  height: 6px;
1765
- background-color: var(--color-semantic-info-500, #3b82f6);
1766
- border-radius: 50%;
1767
- border: 1px solid var(--color-semantic-neutral-50, #f8fafc);
1794
+ border-radius: var(--borderRadius-full, 9999px);
1795
+ margin-right: var(--spacing-2, 0.5rem);
1796
+ background-color: var(--color-semantic-info-500, #1f84d6);
1768
1797
  }
1769
1798
  .ivds-tag--disabled {
1770
- opacity: 0.5;
1799
+ opacity: 0.55;
1771
1800
  cursor: not-allowed;
1772
1801
  pointer-events: none;
1773
1802
  }
1774
1803
  .ivds-tag-group {
1775
1804
  display: flex;
1776
1805
  flex-wrap: wrap;
1777
- gap: var(--spacing-2, 0.5rem);
1778
1806
  align-items: center;
1807
+ gap: var(--spacing-2, 0.5rem);
1779
1808
  }
1780
1809
  .ivds-tag-group--compact {
1781
1810
  display: flex;
1782
1811
  flex-wrap: wrap;
1783
- gap: var(--spacing-1, 0.25rem);
1784
1812
  align-items: center;
1813
+ gap: var(--spacing-1, 0.25rem);
1785
1814
  }
1786
1815
  .ivds-tag-group--spacious {
1787
1816
  display: flex;
1788
1817
  flex-wrap: wrap;
1789
- gap: var(--spacing-3, 0.75rem);
1790
- align-items: center;
1791
- }
1792
- /* Navigation components*/
1793
- .ivds-breadcrumb {
1794
- --separator-content: "/";
1795
- --separator-spacing: var(--spacing-2, 0.5rem);
1796
- --link-color: var(--color-brand-primary-500, #f97316);
1797
- --link-color-hover: var(--color-brand-primary-600, #ea580c);
1798
- --current-color: var(--color-semantic-neutral-700, #404040);
1799
- --separator-color: var(--color-semantic-neutral-500, #737373);
1800
- display: flex;
1801
1818
  align-items: center;
1802
- flex-wrap: wrap;
1803
- font-size: var(--fontSize-sm, 0.875rem);
1804
- line-height: var(--lineHeight-normal, 1.5);
1819
+ gap: var(--spacing-3, 0.75rem);
1805
1820
  }
1806
- .ivds-breadcrumb__list {
1821
+ .ivds-alert {
1822
+ --background-color: var(--ivds-surface-base, #fff);
1823
+ --border-color: var(--ivds-border-subtle, #e2e7ec);
1824
+ --accent-color: var(--ivds-border-subtle, #e2e7ec);
1825
+ --color: var(--ivds-text-secondary, #36414f);
1826
+ --border-radius: var(--ivds-radius-s, 0.125rem);
1827
+ --padding: var(--spacing-4, 1rem);
1807
1828
  display: flex;
1808
- align-items: center;
1809
- flex-wrap: wrap;
1810
- margin: 0;
1811
- padding: 0;
1812
- list-style: none;
1813
- gap: 0;
1829
+ align-items: flex-start;
1830
+ padding: var(--padding);
1831
+ border: 1px solid var(--border-color);
1832
+ border-left-width: 4px;
1833
+ border-left-color: var(--accent-color);
1834
+ border-radius: var(--border-radius);
1835
+ background-color: var(--background-color);
1836
+ color: var(--color);
1837
+ position: relative;
1838
+ font-family: var(--fontFamily-primary, system-ui, sans-serif);
1814
1839
  }
1815
- .ivds-breadcrumb__item {
1816
- display: flex;
1840
+ .ivds-alert__icon {
1841
+ flex-shrink: 0;
1842
+ margin-right: var(--spacing-3, 0.75rem);
1843
+ margin-top: calc(var(--lineHeight-relaxed, 1.625) * 0.1em);
1844
+ display: inline-flex;
1817
1845
  align-items: center;
1846
+ justify-content: center;
1818
1847
  }
1819
- .ivds-breadcrumb__item:not(:last-child)::after {
1820
- content: var(--separator-content);
1821
- margin: 0 var(--separator-spacing);
1822
- color: var(--separator-color);
1823
- font-weight: var(--fontWeight-normal, 400);
1824
- -webkit-user-select: none;
1825
- -moz-user-select: none;
1826
- user-select: none;
1827
- pointer-events: none;
1848
+ .ivds-alert__body {
1849
+ flex: 1;
1828
1850
  }
1829
- .ivds-breadcrumb__link {
1830
- color: var(--link-color);
1831
- text-decoration: none;
1832
- transition: all 0.15s ease-in-out;
1833
- border-radius: var(--borderRadius-md, 0.375rem);
1834
- padding: var(--spacing-1, 0.25rem) var(--spacing-2, 0.5rem);
1835
- margin: calc(-1 * var(--spacing-1, 0.25rem)) calc(-1 * var(--spacing-2, 0.5rem));
1851
+ .ivds-alert__title {
1852
+ font-weight: var(--fontWeight-bold, 700);
1853
+ margin-bottom: var(--spacing-1, 0.25rem);
1854
+ display: block;
1836
1855
  }
1837
- .ivds-breadcrumb__link:hover {
1838
- color: var(--link-color-hover);
1839
- text-decoration: underline;
1840
- background-color: var(--color-brand-primary-50, #fff7ed);
1856
+ .ivds-alert__content {
1857
+ font-size: var(--fontSize-sm, 0.875rem);
1858
+ line-height: var(--lineHeight-relaxed, 1.625);
1841
1859
  }
1842
- .ivds-breadcrumb__link:focus {
1843
- outline: 2px solid var(--color-brand-primary-500, #f97316);
1844
- outline-offset: 2px;
1845
- text-decoration: none;
1860
+ .ivds-alert--info {
1861
+ --background-color: var(--color-semantic-info-50, #edf4ff);
1862
+ --border-color: var(--color-semantic-info-600, #0050c8);
1863
+ --accent-color: var(--color-semantic-info-600, #0050c8);
1864
+ --color: var(--color-semantic-info-700, #003d99);
1846
1865
  }
1847
- .ivds-breadcrumb__link:active {
1848
- background-color: var(--color-brand-primary-100, #ffedd5);
1866
+ .ivds-alert--info .ivds-alert__icon {
1867
+ color: var(--accent-color);
1849
1868
  }
1850
- .ivds-breadcrumb__current {
1851
- color: var(--current-color);
1852
- font-weight: var(--fontWeight-medium, 500);
1853
- padding: var(--spacing-1, 0.25rem) var(--spacing-2, 0.5rem);
1854
- margin: calc(-1 * var(--spacing-1, 0.25rem)) calc(-1 * var(--spacing-2, 0.5rem));
1869
+ .ivds-alert--success {
1870
+ --background-color: var(--color-semantic-success-50, #edf9f4);
1871
+ --border-color: var(--color-semantic-success-600, #0f6f4a);
1872
+ --accent-color: var(--color-semantic-success-600, #0f6f4a);
1873
+ --color: var(--color-semantic-success-700, #0a573a);
1855
1874
  }
1856
- .ivds-breadcrumb--small {
1857
- --separator-spacing: var(--spacing-1, 0.25rem);
1858
- font-size: var(--fontSize-xs, 0.75rem);
1875
+ .ivds-alert--success .ivds-alert__icon {
1876
+ color: var(--accent-color);
1859
1877
  }
1860
- .ivds-breadcrumb--large {
1861
- --separator-spacing: var(--spacing-3, 0.75rem);
1862
- font-size: var(--fontSize-base, 1rem);
1878
+ .ivds-alert--warning {
1879
+ --background-color: var(--color-semantic-warning-50, #fff8eb);
1880
+ --border-color: var(--color-semantic-warning-600, #a76009);
1881
+ --accent-color: var(--color-semantic-warning-600, #a76009);
1882
+ --color: var(--color-semantic-warning-700, #834b08);
1863
1883
  }
1864
- .ivds-breadcrumb--separator-arrow {
1865
- --separator-content: "→";
1884
+ .ivds-alert--warning .ivds-alert__icon {
1885
+ color: var(--accent-color);
1866
1886
  }
1867
- .ivds-breadcrumb--separator-chevron {
1868
- --separator-content: "›";
1887
+ .ivds-alert--error {
1888
+ --background-color: var(--color-semantic-error-50, #fff1f2);
1889
+ --border-color: var(--color-semantic-error-600, #b72a41);
1890
+ --accent-color: var(--color-semantic-error-600, #b72a41);
1891
+ --color: var(--color-semantic-error-700, #922036);
1869
1892
  }
1870
- .ivds-breadcrumb--separator-bullet {
1871
- --separator-content: "•";
1893
+ .ivds-alert--error .ivds-alert__icon {
1894
+ color: var(--accent-color);
1872
1895
  }
1873
- .ivds-breadcrumb--theme-dark {
1874
- --link-color: var(--color-brand-primary-400, #fb923c);
1875
- --link-color-hover: var(--color-brand-primary-300, #fdba74);
1876
- --current-color: var(--color-semantic-neutral-200, #e5e5e5);
1877
- --separator-color: var(--color-semantic-neutral-400, #a3a3a3);
1896
+ .ivds-alert--orange {
1897
+ --background-color: var(--color-brand-primary-50, #fef5ee);
1898
+ --border-color: var(--color-brand-primary-600, #b34a00);
1899
+ --accent-color: var(--color-brand-primary-600, #b34a00);
1900
+ --color: var(--color-brand-primary-900, #562400);
1878
1901
  }
1879
- .ivds-breadcrumb--theme-muted {
1880
- --link-color: var(--color-semantic-neutral-600, #525252);
1881
- --link-color-hover: var(--color-semantic-neutral-700, #404040);
1882
- --current-color: var(--color-semantic-neutral-800, #262626);
1883
- --separator-color: var(--color-semantic-neutral-400, #a3a3a3);
1902
+ .ivds-alert--orange .ivds-alert__icon {
1903
+ color: var(--accent-color);
1884
1904
  }
1885
- .ivds-breadcrumb--with-icons .ivds-breadcrumb__link,
1886
- .ivds-breadcrumb--with-icons .ivds-breadcrumb__current {
1887
- display: flex;
1905
+ .ivds-badge {
1906
+ display: inline-flex;
1888
1907
  align-items: center;
1908
+ justify-content: center;
1889
1909
  gap: var(--spacing-1, 0.25rem);
1910
+ padding: 0 var(--spacing-2, 0.5rem);
1911
+ font-family: var(--fontFamily-primary, system-ui, sans-serif);
1912
+ font-size: var(--fontSize-xs, 0.75rem);
1913
+ font-weight: var(--fontWeight-semibold, 600);
1914
+ line-height: normal;
1915
+ border-radius: var(--ivds-radius-s, 0.125rem);
1916
+ text-transform: uppercase;
1917
+ letter-spacing: 0.04em;
1918
+ min-height: 20px;
1919
+ border: 1px solid transparent;
1890
1920
  }
1891
- .ivds-breadcrumb--with-icons .ivds-breadcrumb__icon {
1892
- width: 1em;
1893
- height: 1em;
1894
- flex-shrink: 0;
1895
- }
1896
- @media (max-width: 640px) {
1897
- .ivds-breadcrumb--responsive .ivds-breadcrumb__list {
1898
- flex-wrap: wrap;
1899
- }
1900
- .ivds-breadcrumb--responsive .ivds-breadcrumb__item:nth-last-child(2)::after {
1901
- content: "...";
1902
- margin: 0 var(--separator-spacing);
1903
- color: var(--separator-color);
1904
- }
1905
- .ivds-breadcrumb--responsive .ivds-breadcrumb__item:not(:last-child, :nth-last-child(2))::after {
1906
- display: none;
1907
- }
1908
- .ivds-breadcrumb--responsive .ivds-breadcrumb__item:not(:last-child, :nth-last-child(2)) {
1909
- display: none;
1910
- }
1911
- }
1912
- .ivds-breadcrumb--truncate .ivds-breadcrumb__link,
1913
- .ivds-breadcrumb--truncate .ivds-breadcrumb__current {
1914
- max-width: 200px;
1915
- overflow: hidden;
1916
- text-overflow: ellipsis;
1917
- white-space: nowrap;
1918
- }
1919
- .ivds-navigation {
1920
- --nav-link-color: var(--color-semantic-neutral-700, #404040);
1921
- --nav-link-color-hover: var(--color-brand-primary-600, #ea580c);
1922
- --nav-link-color-active: var(--color-brand-primary-600, #ea580c);
1923
- --nav-link-bg-hover: var(--color-brand-primary-50, #fff7ed);
1924
- --nav-link-bg-active: var(--color-brand-primary-100, #ffedd5);
1925
- --nav-spacing-x: var(--spacing-4, 1rem);
1926
- --nav-spacing-y: var(--spacing-3, 0.75rem);
1921
+ .ivds-badge__dot {
1922
+ width: 6px;
1923
+ height: 6px;
1924
+ border-radius: var(--borderRadius-full, 9999px);
1925
+ margin-right: var(--spacing-1, 0.25rem);
1926
+ background-color: currentcolor;
1927
+ }
1928
+ .ivds-badge--neutral {
1929
+ background-color: var(--color-semantic-neutral-100, #f1f3f5);
1930
+ color: var(--color-semantic-neutral-700, #36414f);
1931
+ border-color: var(--color-semantic-neutral-300, #cfd6dd);
1932
+ }
1933
+ .ivds-badge--primary {
1934
+ background-color: var(--color-brand-accent-50, #eef4ff);
1935
+ color: var(--color-brand-accent-700, #0b4593);
1936
+ border-color: var(--color-brand-accent-200, #bfd7ff);
1937
+ }
1938
+ .ivds-badge--success {
1939
+ background-color: var(--color-semantic-success-50, #edf9f4);
1940
+ color: var(--color-semantic-success-700, #0a573a);
1941
+ border-color: var(--color-ui-success-200, #b8e9d2);
1942
+ }
1943
+ .ivds-badge--warning {
1944
+ background-color: var(--color-semantic-warning-50, #fff8eb);
1945
+ color: var(--color-semantic-warning-700, #834b08);
1946
+ border-color: var(--color-ui-warning-200, #f6d6a7);
1947
+ }
1948
+ .ivds-badge--error {
1949
+ background-color: var(--color-semantic-error-50, #fff1f2);
1950
+ color: var(--color-semantic-error-700, #922036);
1951
+ border-color: var(--color-ui-error-200, #f2b8c1);
1952
+ }
1953
+ .ivds-badge--outline {
1954
+ background-color: transparent;
1955
+ border: 1px solid var(--ivds-border-strong, #a1adba);
1956
+ color: var(--ivds-text-secondary, #36414f);
1957
+ }
1958
+ .ivds-modal__overlay {
1959
+ --overlay-background: rgba(16, 24, 40, 0.48);
1960
+ --overlay-blur: 3px;
1961
+ position: fixed;
1962
+ inset: 0;
1963
+ z-index: var(--zIndex-modal, 1000);
1927
1964
  display: flex;
1928
1965
  align-items: center;
1966
+ justify-content: center;
1967
+ padding: var(--spacing-4, 1rem);
1968
+ background-color: var(--overlay-background);
1969
+ backdrop-filter: blur(var(--overlay-blur));
1929
1970
  }
1930
- .ivds-navigation__list {
1931
- display: flex;
1932
- margin: 0;
1971
+ .ivds-modal__backdrop {
1972
+ position: absolute;
1973
+ inset: 0;
1974
+ border: none;
1933
1975
  padding: 0;
1934
- list-style: none;
1935
- gap: 0;
1976
+ margin: 0;
1977
+ background: transparent;
1978
+ cursor: pointer;
1936
1979
  }
1937
- .ivds-navigation__item {
1980
+ .ivds-modal__container {
1981
+ --background-color: var(--ivds-surface-base, #fff);
1982
+ --border-color: var(--ivds-border-subtle, #e2e7ec);
1983
+ --border-radius: var(--ivds-radius-m, 0.25rem);
1984
+ --max-width: 640px;
1985
+ width: 100%;
1986
+ max-width: var(--max-width);
1987
+ display: flex;
1988
+ flex-direction: column;
1938
1989
  position: relative;
1990
+ z-index: 1;
1991
+ background-color: var(--background-color);
1992
+ border: 1px solid var(--border-color);
1993
+ border-radius: var(--border-radius);
1994
+ box-shadow: var(--ivds-shadow-lg, 0 8px 20px rgba(15, 23, 42, 0.1));
1995
+ max-height: min(90vh, 920px);
1996
+ }
1997
+ .ivds-modal__header {
1939
1998
  display: flex;
1940
1999
  align-items: center;
2000
+ justify-content: space-between;
2001
+ gap: var(--spacing-4, 1rem);
2002
+ padding: var(--spacing-5, 1.25rem) var(--spacing-6, 1.5rem);
2003
+ border-bottom: 1px solid var(--ivds-border-subtle, #e2e7ec);
1941
2004
  }
1942
- .ivds-navigation__link {
1943
- display: flex;
2005
+ .ivds-modal__title {
2006
+ margin: 0;
2007
+ font-size: var(--fontSize-xl, 1.25rem);
2008
+ font-weight: var(--fontWeight-bold, 700);
2009
+ color: var(--ivds-text-primary, #121a24);
2010
+ }
2011
+ .ivds-modal__close {
2012
+ display: inline-flex;
1944
2013
  align-items: center;
1945
- padding: var(--nav-spacing-y) var(--nav-spacing-x);
1946
- color: var(--nav-link-color);
1947
- text-decoration: none;
1948
- font-weight: var(--fontWeight-medium, 500);
1949
- font-size: var(--fontSize-base, 1rem);
1950
- line-height: var(--lineHeight-tight, 1.25);
1951
- border-radius: var(--borderRadius-md, 0.375rem);
1952
- transition: all 0.15s ease-in-out;
1953
- white-space: nowrap;
2014
+ justify-content: center;
2015
+ width: 2.5rem;
2016
+ height: 2.5rem;
2017
+ border: 1px solid transparent;
2018
+ border-radius: var(--ivds-radius-s, 0.125rem);
2019
+ background: transparent;
2020
+ color: var(--ivds-text-muted, #4d5968);
2021
+ cursor: pointer;
2022
+ transition: color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), background-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), border-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
1954
2023
  }
1955
- .ivds-navigation__link:hover {
1956
- color: var(--nav-link-color-hover);
1957
- background-color: var(--nav-link-bg-hover);
2024
+ .ivds-modal__close:hover {
2025
+ color: var(--ivds-text-primary, #121a24);
2026
+ background-color: var(--ivds-surface-muted, #f1f3f5);
2027
+ border-color: var(--ivds-border-subtle, #e2e7ec);
1958
2028
  }
1959
- .ivds-navigation__link:focus {
1960
- outline: 2px solid var(--color-brand-primary-500, #f97316);
1961
- outline-offset: 2px;
1962
- text-decoration: none;
2029
+ .ivds-modal__close:focus-visible {
2030
+ outline: var(--ivds-focus-ring-width, 3px) solid var(--ivds-focus-ring-color, var(--color-brand-accent-600, #1058b8));
2031
+ outline-offset: var(--ivds-focus-ring-offset, 2px);
2032
+ box-shadow: none;
1963
2033
  }
1964
- .ivds-navigation__link:active {
1965
- background-color: var(--nav-link-bg-active);
2034
+ .ivds-modal__close:focus:not(:focus-visible) {
2035
+ outline: none;
2036
+ box-shadow: none;
1966
2037
  }
1967
- .ivds-navigation__link--active {
1968
- color: var(--nav-link-color-active);
1969
- background-color: var(--nav-link-bg-active);
1970
- font-weight: var(--fontWeight-semibold, 600);
2038
+ .ivds-modal__close svg {
2039
+ width: 20px;
2040
+ height: 20px;
1971
2041
  }
1972
- .ivds-navigation__link--active::after {
1973
- content: "";
1974
- position: absolute;
1975
- bottom: -2px;
1976
- left: 50%;
1977
- transform: translateX(-50%);
1978
- width: 80%;
1979
- height: 2px;
1980
- background-color: var(--color-brand-primary-500, #f97316);
1981
- border-radius: var(--borderRadius-full, 9999px);
2042
+ .ivds-modal__body {
2043
+ padding: var(--spacing-6, 1.5rem);
2044
+ overflow-y: auto;
2045
+ overscroll-behavior: contain;
2046
+ color: var(--ivds-text-secondary, #36414f);
1982
2047
  }
1983
- .ivds-navigation--horizontal .ivds-navigation__list {
1984
- flex-direction: row;
2048
+ .ivds-modal__footer {
2049
+ display: flex;
1985
2050
  align-items: center;
2051
+ justify-content: flex-end;
2052
+ gap: var(--spacing-3, 0.75rem);
2053
+ padding: var(--spacing-4, 1rem) var(--spacing-6, 1.5rem);
2054
+ border-top: 1px solid var(--ivds-border-subtle, #e2e7ec);
2055
+ background-color: var(--ivds-surface-muted, #f1f3f5);
1986
2056
  }
1987
- .ivds-navigation--horizontal .ivds-navigation__link--active::after {
1988
- bottom: -2px;
1989
- left: 50%;
1990
- transform: translateX(-50%);
1991
- width: 80%;
1992
- height: 2px;
2057
+ .ivds-modal--sm .ivds-modal__container {
2058
+ max-width: 400px;
1993
2059
  }
1994
- .ivds-navigation--vertical {
1995
- flex-direction: column;
1996
- align-items: stretch;
2060
+ .ivds-modal--lg .ivds-modal__container {
2061
+ max-width: 800px;
1997
2062
  }
1998
- .ivds-navigation--vertical .ivds-navigation__list {
1999
- flex-direction: column;
2000
- align-items: stretch;
2063
+ .ivds-modal--xl .ivds-modal__container {
2064
+ max-width: 1000px;
2001
2065
  }
2002
- .ivds-navigation--vertical .ivds-navigation__item {
2003
- width: 100%;
2066
+ .ivds-modal--full .ivds-modal__container {
2067
+ max-width: none;
2068
+ height: 100%;
2069
+ margin: 0;
2070
+ border: none;
2071
+ box-shadow: none;
2004
2072
  }
2005
- .ivds-navigation--vertical .ivds-navigation__link {
2073
+ .ivds-tabs {
2074
+ display: block;
2006
2075
  width: 100%;
2007
- justify-content: flex-start;
2008
- }
2009
- .ivds-navigation--vertical .ivds-navigation__link--active::after {
2010
- top: 50%;
2011
- left: -2px;
2012
- transform: translateY(-50%);
2013
- width: 2px;
2014
- height: 80%;
2015
2076
  }
2016
- .ivds-navigation--compact {
2017
- --nav-spacing-x: var(--spacing-3, 0.75rem);
2018
- --nav-spacing-y: var(--spacing-2, 0.5rem);
2077
+ .ivds-tabs__list {
2078
+ --border-color: var(--ivds-border-subtle, #e2e7ec);
2079
+ --gap: var(--spacing-6, 1.5rem);
2080
+ display: flex;
2081
+ flex-wrap: wrap;
2082
+ gap: var(--gap);
2083
+ border-bottom: 2px solid var(--border-color);
2084
+ }
2085
+ .ivds-tabs__trigger {
2086
+ --color: var(--ivds-text-muted, #4d5968);
2087
+ --active-color: var(--color-brand-accent-700, #0b4593);
2088
+ --active-border-color: var(--color-brand-accent-600, #1058b8);
2089
+ --min-height: 48px;
2090
+ position: relative;
2091
+ min-height: var(--min-height);
2092
+ padding: var(--spacing-4, 1rem) 0;
2093
+ border: none;
2094
+ border-bottom: 3px solid transparent;
2095
+ background: transparent;
2096
+ color: var(--color);
2097
+ font-family: var(--fontFamily-primary, system-ui, sans-serif);
2098
+ font-size: var(--fontSize-base, 1rem);
2099
+ font-weight: var(--fontWeight-medium, 500);
2100
+ cursor: pointer;
2101
+ transition: color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), border-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
2019
2102
  }
2020
- .ivds-navigation--compact .ivds-navigation__link {
2021
- font-size: var(--fontSize-sm, 0.875rem);
2103
+ .ivds-tabs__trigger:hover {
2104
+ color: var(--ivds-text-primary, #121a24);
2105
+ border-color: var(--ivds-border-strong, #a1adba);
2022
2106
  }
2023
- .ivds-navigation--spacious {
2024
- --nav-spacing-x: var(--spacing-6, 1.5rem);
2025
- --nav-spacing-y: var(--spacing-4, 1rem);
2107
+ .ivds-tabs__trigger:focus-visible {
2108
+ outline: var(--ivds-focus-ring-width, 3px) solid var(--ivds-focus-ring-color, var(--color-brand-accent-600, #1058b8));
2109
+ outline-offset: var(--ivds-focus-ring-offset, 2px);
2110
+ box-shadow: none;
2026
2111
  }
2027
- .ivds-navigation--spacious .ivds-navigation__link {
2028
- font-size: var(--fontSize-lg, 1.125rem);
2112
+ .ivds-tabs__trigger:focus:not(:focus-visible) {
2113
+ outline: none;
2114
+ box-shadow: none;
2029
2115
  }
2030
- .ivds-navigation--theme-dark {
2031
- --nav-link-color: var(--color-semantic-neutral-200, #e5e5e5);
2032
- --nav-link-color-hover: var(--color-brand-primary-300, #fdba74);
2033
- --nav-link-color-active: var(--color-brand-primary-400, #fb923c);
2034
- --nav-link-bg-hover: rgba(249, 115, 22, 0.1);
2035
- --nav-link-bg-active: rgba(249, 115, 22, 0.2);
2116
+ .ivds-tabs__trigger[data-state=active], .ivds-tabs__trigger--active {
2117
+ color: var(--active-color);
2118
+ border-color: var(--active-border-color);
2119
+ font-weight: var(--fontWeight-semibold, 600);
2036
2120
  }
2037
- .ivds-navigation--theme-minimal {
2038
- --nav-link-bg-hover: transparent;
2039
- --nav-link-bg-active: transparent;
2121
+ .ivds-tabs__content {
2122
+ color: var(--ivds-text-secondary, #36414f);
2123
+ padding: var(--spacing-6, 1.5rem) 0;
2040
2124
  }
2041
- .ivds-navigation--theme-minimal .ivds-navigation__link:hover {
2042
- text-decoration: underline;
2125
+ .ivds-tabs--full-width .ivds-tabs__list {
2126
+ justify-content: stretch;
2043
2127
  }
2044
- .ivds-navigation--theme-minimal .ivds-navigation__link--active {
2045
- text-decoration: underline;
2046
- text-decoration-thickness: 2px;
2047
- text-underline-offset: 4px;
2128
+ .ivds-tabs--full-width .ivds-tabs__trigger {
2129
+ flex: 1;
2130
+ text-align: center;
2048
2131
  }
2049
- .ivds-navigation--theme-minimal .ivds-navigation__link--active::after {
2050
- display: none;
2132
+ .ivds-breadcrumb {
2133
+ display: flex;
2134
+ flex-wrap: wrap;
2135
+ align-items: center;
2136
+ list-style: none;
2137
+ padding: 0;
2138
+ margin: 0;
2139
+ gap: var(--spacing-2, 0.5rem);
2140
+ font-family: var(--fontFamily-primary, system-ui, sans-serif);
2141
+ font-size: var(--fontSize-sm, 0.875rem);
2051
2142
  }
2052
- .ivds-navigation--with-icons .ivds-navigation__link {
2143
+ .ivds-breadcrumb__item {
2144
+ display: flex;
2145
+ align-items: center;
2053
2146
  gap: var(--spacing-2, 0.5rem);
2147
+ color: var(--ivds-text-muted, #4d5968);
2054
2148
  }
2055
- .ivds-navigation--with-icons .ivds-navigation__icon {
2056
- width: 1.25rem;
2057
- height: 1.25rem;
2058
- flex-shrink: 0;
2149
+ .ivds-breadcrumb__link {
2150
+ color: var(--color-brand-accent-700, #0b4593);
2151
+ text-decoration: none;
2152
+ font-weight: var(--fontWeight-medium, 500);
2153
+ transition: color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), text-decoration-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
2059
2154
  }
2060
- .ivds-navigation--with-icons .ivds-navigation__icon svg {
2061
- width: 100%;
2062
- height: 100%;
2063
- fill: currentcolor;
2155
+ .ivds-breadcrumb__link:hover {
2156
+ color: var(--color-brand-accent-600, #1058b8);
2157
+ text-decoration: underline;
2158
+ text-decoration-thickness: 2px;
2159
+ text-underline-offset: 0.14em;
2064
2160
  }
2065
- .ivds-navigation--with-dropdown .ivds-navigation__dropdown {
2066
- position: absolute;
2067
- top: 100%;
2068
- left: 0;
2069
- min-width: 200px;
2070
- background-color: var(--color-semantic-neutral-50, #fafafa);
2071
- border: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-200, #e5e5e5);
2072
- border-radius: var(--borderRadius-md, 0.375rem);
2073
- box-shadow: var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1));
2074
- opacity: 0;
2075
- visibility: hidden;
2076
- transform: translateY(-8px);
2077
- transition: all 0.15s ease-in-out;
2078
- z-index: 50;
2161
+ .ivds-breadcrumb__link:focus-visible {
2162
+ outline: var(--ivds-focus-ring-width, 3px) solid var(--ivds-focus-ring-color, var(--color-brand-accent-600, #1058b8));
2163
+ outline-offset: var(--ivds-focus-ring-offset, 2px);
2164
+ box-shadow: none;
2079
2165
  }
2080
- .ivds-navigation--with-dropdown .ivds-navigation__dropdown .ivds-navigation__list {
2081
- flex-direction: column;
2082
- padding: var(--spacing-2, 0.5rem);
2166
+ .ivds-breadcrumb__link:focus:not(:focus-visible) {
2167
+ outline: none;
2168
+ box-shadow: none;
2083
2169
  }
2084
- .ivds-navigation--with-dropdown .ivds-navigation__dropdown .ivds-navigation__link {
2085
- width: 100%;
2170
+ .ivds-breadcrumb__separator {
2171
+ color: var(--ivds-border-strong, #a1adba);
2172
+ display: flex;
2173
+ align-items: center;
2174
+ }
2175
+ .ivds-breadcrumb__separator svg {
2176
+ width: 1rem;
2177
+ height: 1rem;
2178
+ }
2179
+ .ivds-breadcrumb__current {
2180
+ color: var(--ivds-text-primary, #121a24);
2181
+ font-weight: var(--fontWeight-semibold, 600);
2182
+ }
2183
+ /* stylelint-disable no-descending-specificity */
2184
+ /* stylelint-disable no-descending-specificity */
2185
+ .ivds-navigation {
2186
+ display: flex;
2187
+ align-items: center;
2188
+ font-family: var(--fontFamily-primary, system-ui, sans-serif);
2189
+ }
2190
+ .ivds-navigation__list {
2191
+ display: flex;
2192
+ list-style: none;
2193
+ align-items: center;
2194
+ gap: var(--spacing-3, 0.75rem);
2195
+ padding: 0;
2196
+ margin: 0;
2197
+ }
2198
+ .ivds-navigation__link {
2199
+ position: relative;
2200
+ display: inline-flex;
2201
+ align-items: center;
2202
+ gap: var(--spacing-2, 0.5rem);
2203
+ min-height: 42px;
2204
+ padding: var(--spacing-2, 0.5rem) 0;
2205
+ border-bottom: 3px solid transparent;
2206
+ color: var(--ivds-text-secondary, #36414f);
2207
+ font-size: var(--fontSize-base, 1rem);
2208
+ font-weight: var(--fontWeight-medium, 500);
2209
+ text-decoration: none;
2210
+ transition: color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), border-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
2211
+ }
2212
+ .ivds-navigation__link:hover {
2213
+ color: var(--ivds-text-primary, #121a24);
2214
+ border-color: var(--ivds-border-strong, #a1adba);
2215
+ }
2216
+ .ivds-navigation__link:focus-visible {
2217
+ outline: var(--ivds-focus-ring-width, 3px) solid var(--ivds-focus-ring-color, var(--color-brand-accent-600, #1058b8));
2218
+ outline-offset: var(--ivds-focus-ring-offset, 2px);
2219
+ box-shadow: none;
2220
+ }
2221
+ .ivds-navigation__link:focus:not(:focus-visible) {
2222
+ outline: none;
2223
+ box-shadow: none;
2224
+ }
2225
+ .ivds-navigation__link.ivds-navigation__link--active {
2226
+ color: var(--color-brand-accent-700, #0b4593);
2227
+ border-color: var(--color-brand-accent-600, #1058b8);
2228
+ font-weight: var(--fontWeight-semibold, 600);
2229
+ }
2230
+ .ivds-side-nav {
2231
+ display: flex;
2232
+ flex-direction: column;
2233
+ width: 300px;
2234
+ height: 100%;
2235
+ padding: var(--spacing-6, 1.5rem);
2236
+ background-color: var(--ivds-surface-base, #fff);
2237
+ border-right: 1px solid var(--ivds-border-subtle, #e2e7ec);
2238
+ }
2239
+ .ivds-side-nav__item {
2240
+ width: 100%;
2241
+ }
2242
+ .ivds-side-nav__item .ivds-side-nav__link {
2243
+ width: 100%;
2086
2244
  justify-content: flex-start;
2245
+ min-height: 42px;
2246
+ padding: var(--spacing-2, 0.5rem) var(--spacing-3, 0.75rem);
2247
+ border-radius: var(--ivds-radius-s, 0.125rem);
2087
2248
  }
2088
- .ivds-navigation--with-dropdown .ivds-navigation__dropdown .ivds-navigation__link--active::after {
2089
- display: none;
2249
+ .ivds-side-nav__item .ivds-side-nav__link--active {
2250
+ background-color: var(--color-brand-accent-50, #eef4ff);
2251
+ color: var(--color-brand-accent-700, #0b4593);
2252
+ }
2253
+ .ivds-side-nav__item .ivds-side-nav__link--active::before {
2254
+ content: "";
2255
+ position: absolute;
2256
+ left: 0;
2257
+ top: 8px;
2258
+ bottom: 8px;
2259
+ width: 3px;
2260
+ background-color: var(--color-brand-accent-600, #1058b8);
2261
+ }
2262
+ .ivds-tabs {
2263
+ display: flex;
2264
+ gap: var(--spacing-5, 1.25rem);
2265
+ border-bottom: 2px solid var(--ivds-border-subtle, #e2e7ec);
2090
2266
  }
2091
- .ivds-navigation--with-dropdown .ivds-navigation__item--has-dropdown {
2267
+ .ivds-tabs__item {
2092
2268
  position: relative;
2269
+ padding: var(--spacing-3, 0.75rem) 0;
2270
+ color: var(--ivds-text-muted, #4d5968);
2271
+ font-weight: var(--fontWeight-medium, 500);
2272
+ cursor: pointer;
2273
+ transition: color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
2093
2274
  }
2094
- .ivds-navigation--with-dropdown .ivds-navigation__item--has-dropdown:hover .ivds-navigation__dropdown {
2095
- opacity: 1;
2096
- visibility: visible;
2097
- transform: translateY(0);
2275
+ .ivds-tabs__item::after {
2276
+ content: "";
2277
+ position: absolute;
2278
+ left: 0;
2279
+ right: 0;
2280
+ bottom: -2px;
2281
+ height: 3px;
2282
+ background-color: var(--color-brand-accent-600, #1058b8);
2283
+ transform: scaleX(0);
2284
+ transform-origin: center;
2285
+ transition: transform var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
2098
2286
  }
2099
- .ivds-navigation--breadcrumb .ivds-navigation__list {
2100
- flex-wrap: wrap;
2287
+ .ivds-tabs__item:hover {
2288
+ color: var(--ivds-text-primary, #121a24);
2101
2289
  }
2102
- .ivds-navigation--breadcrumb .ivds-navigation__item:not(:last-child)::after {
2103
- content: "/";
2104
- margin: 0 var(--spacing-2, 0.5rem);
2105
- color: var(--color-semantic-neutral-500, #737373);
2106
- font-weight: var(--fontWeight-normal, 400);
2290
+ .ivds-tabs__item--active {
2291
+ color: var(--color-brand-accent-700, #0b4593);
2292
+ font-weight: var(--fontWeight-semibold, 600);
2107
2293
  }
2108
- .ivds-navigation--breadcrumb .ivds-navigation__link {
2109
- padding: var(--spacing-1, 0.25rem) var(--spacing-2, 0.5rem);
2294
+ .ivds-tabs__item--active::after {
2295
+ transform: scaleX(1);
2110
2296
  }
2111
- .ivds-navigation--breadcrumb .ivds-navigation__link--active {
2112
- background-color: transparent;
2297
+ .ivds-dropdown {
2298
+ position: relative;
2299
+ }
2300
+ .ivds-dropdown__menu {
2301
+ position: absolute;
2302
+ top: calc(100% + 6px);
2303
+ left: 0;
2304
+ min-width: 230px;
2305
+ padding: var(--spacing-2, 0.5rem);
2306
+ border: 1px solid var(--ivds-border-subtle, #e2e7ec);
2307
+ border-radius: var(--ivds-radius-s, 0.125rem);
2308
+ background-color: var(--ivds-surface-base, #fff);
2309
+ box-shadow: var(--ivds-shadow-lg, 0 4px 10px rgba(7, 11, 16, 0.14));
2310
+ opacity: 0;
2311
+ visibility: hidden;
2312
+ transform: translateY(8px);
2313
+ transition: opacity var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), transform var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
2314
+ z-index: 200;
2315
+ }
2316
+ .ivds-dropdown__item {
2317
+ display: flex;
2318
+ align-items: center;
2319
+ gap: var(--spacing-2, 0.5rem);
2320
+ padding: var(--spacing-2, 0.5rem) var(--spacing-3, 0.75rem);
2321
+ border-radius: var(--ivds-radius-s, 0.125rem);
2322
+ color: var(--ivds-text-secondary, #36414f);
2323
+ font-size: var(--fontSize-sm, 0.875rem);
2113
2324
  font-weight: var(--fontWeight-medium, 500);
2114
- cursor: default;
2325
+ cursor: pointer;
2326
+ transition: color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), background-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
2115
2327
  }
2116
- .ivds-navigation--breadcrumb .ivds-navigation__link--active::after {
2117
- display: none;
2328
+ .ivds-dropdown__item:hover {
2329
+ background-color: var(--ivds-surface-muted, #f1f3f5);
2330
+ color: var(--ivds-text-primary, #121a24);
2331
+ }
2332
+ .ivds-dropdown:hover .ivds-dropdown__menu {
2333
+ opacity: 1;
2334
+ visibility: visible;
2335
+ transform: translateY(0);
2118
2336
  }
2119
2337
  .ivds-pagination {
2120
2338
  --pagination-item-size: 2.5rem;
2121
2339
  --pagination-item-size-small: 2rem;
2122
2340
  --pagination-item-size-large: 3rem;
2123
2341
  --pagination-gap: var(--spacing-1, 0.25rem);
2124
- --pagination-color: var(--color-semantic-neutral-700, #404040);
2125
- --pagination-color-hover: var(--color-brand-primary-600, #ea580c);
2126
- --pagination-color-active: var(--color-semantic-neutral-50, #fafafa);
2127
- --pagination-bg-hover: var(--color-brand-primary-50, #fff7ed);
2128
- --pagination-bg-active: var(--color-brand-primary-500, #f97316);
2129
- --pagination-border-color: var(--color-semantic-neutral-300, #d4d4d4);
2130
- --pagination-border-color-hover: var(--color-brand-primary-500, #f97316);
2131
- --pagination-border-color-active: var(--color-brand-primary-500, #f97316);
2342
+ --pagination-color: var(--ivds-text-secondary, #36414f);
2343
+ --pagination-color-hover: var(--color-brand-accent-700, #0b4593);
2344
+ --pagination-color-active: #fff;
2345
+ --pagination-bg-hover: var(--color-brand-accent-50, #eef4ff);
2346
+ --pagination-bg-active: var(--color-brand-accent-600, #1058b8);
2347
+ --pagination-border-color: var(--ivds-border-strong, #a1adba);
2348
+ --pagination-border-color-hover: var(--color-brand-accent-600, #1058b8);
2349
+ --pagination-border-color-active: var(--color-brand-accent-600, #1058b8);
2132
2350
  display: flex;
2133
2351
  align-items: center;
2134
2352
  justify-content: center;
@@ -2154,18 +2372,25 @@
2154
2372
  color: var(--pagination-color);
2155
2373
  text-decoration: none;
2156
2374
  border: var(--borderWidth-1, 1px) solid var(--pagination-border-color);
2157
- border-radius: var(--borderRadius-md, 0.375rem);
2375
+ border-radius: var(--ivds-radius-s, 0.125rem);
2158
2376
  font-weight: var(--fontWeight-medium, 500);
2159
2377
  font-size: var(--fontSize-sm, 0.875rem);
2160
2378
  line-height: var(--lineHeight-tight, 1.25);
2161
2379
  transition: all 0.15s ease-in-out;
2162
2380
  -webkit-user-select: none;
2163
- -moz-user-select: none;
2381
+ -moz-user-select: none;
2164
2382
  user-select: none;
2165
2383
  }
2166
- .ivds-pagination__link:focus {
2167
- outline: 2px solid var(--color-brand-primary-500, #f97316);
2168
- outline-offset: 2px;
2384
+ .ivds-pagination__link:focus-visible {
2385
+ outline: var(--ivds-focus-ring-width, 3px) solid var(--ivds-focus-ring-color, var(--color-brand-accent-600, #1058b8));
2386
+ outline-offset: var(--ivds-focus-ring-offset, 2px);
2387
+ box-shadow: none;
2388
+ }
2389
+ .ivds-pagination__link:focus:not(:focus-visible) {
2390
+ outline: none;
2391
+ box-shadow: none;
2392
+ }
2393
+ .ivds-pagination__link:focus-visible {
2169
2394
  text-decoration: none;
2170
2395
  }
2171
2396
  .ivds-pagination__link:hover:not(.ivds-pagination__link--disabled) {
@@ -2183,8 +2408,8 @@
2183
2408
  font-weight: var(--fontWeight-semibold, 600);
2184
2409
  }
2185
2410
  .ivds-pagination__link--active:hover {
2186
- background-color: var(--color-brand-primary-600, #ea580c);
2187
- border-color: var(--color-brand-primary-600, #ea580c);
2411
+ background-color: var(--color-brand-accent-700, #0b4593);
2412
+ border-color: var(--color-brand-accent-700, #0b4593);
2188
2413
  color: var(--pagination-color-active);
2189
2414
  }
2190
2415
  .ivds-pagination__link--disabled {
@@ -2203,10 +2428,10 @@
2203
2428
  justify-content: center;
2204
2429
  min-width: var(--pagination-item-size);
2205
2430
  height: var(--pagination-item-size);
2206
- color: var(--color-semantic-neutral-500, #737373);
2431
+ color: var(--ivds-text-muted, #4d5968);
2207
2432
  font-weight: var(--fontWeight-medium, 500);
2208
2433
  -webkit-user-select: none;
2209
- -moz-user-select: none;
2434
+ -moz-user-select: none;
2210
2435
  user-select: none;
2211
2436
  }
2212
2437
  .ivds-pagination--small {
@@ -2231,12 +2456,12 @@
2231
2456
  border-right-width: 0;
2232
2457
  }
2233
2458
  .ivds-pagination--compact .ivds-pagination__link:first-child {
2234
- border-top-left-radius: var(--borderRadius-md, 0.375rem);
2235
- border-bottom-left-radius: var(--borderRadius-md, 0.375rem);
2459
+ border-top-left-radius: var(--ivds-radius-s, 0.125rem);
2460
+ border-bottom-left-radius: var(--ivds-radius-s, 0.125rem);
2236
2461
  }
2237
2462
  .ivds-pagination--compact .ivds-pagination__link:last-child {
2238
- border-top-right-radius: var(--borderRadius-md, 0.375rem);
2239
- border-bottom-right-radius: var(--borderRadius-md, 0.375rem);
2463
+ border-top-right-radius: var(--ivds-radius-s, 0.125rem);
2464
+ border-bottom-right-radius: var(--ivds-radius-s, 0.125rem);
2240
2465
  border-right-width: var(--borderWidth-1, 1px);
2241
2466
  }
2242
2467
  .ivds-pagination--rounded .ivds-pagination__link {
@@ -2246,7 +2471,7 @@
2246
2471
  --pagination-border-color: transparent;
2247
2472
  --pagination-border-color-hover: transparent;
2248
2473
  --pagination-border-color-active: transparent;
2249
- --pagination-bg-hover: var(--color-semantic-neutral-100, #f5f5f5);
2474
+ --pagination-bg-hover: var(--ivds-surface-muted, #f1f3f5);
2250
2475
  }
2251
2476
  .ivds-pagination--theme-minimal .ivds-pagination__link:hover:not(.ivds-pagination__link--disabled) {
2252
2477
  text-decoration: underline;
@@ -2258,13 +2483,13 @@
2258
2483
  }
2259
2484
  .ivds-pagination--theme-dark {
2260
2485
  --pagination-color: var(--color-semantic-neutral-200, #e5e5e5);
2261
- --pagination-color-hover: var(--color-brand-primary-300, #fdba74);
2486
+ --pagination-color-hover: var(--color-brand-accent-300, #93bcff);
2262
2487
  --pagination-color-active: var(--color-semantic-neutral-900, #171717);
2263
- --pagination-bg-hover: rgba(249, 115, 22, 0.1);
2264
- --pagination-bg-active: var(--color-brand-primary-400, #fb923c);
2488
+ --pagination-bg-hover: rgba(147, 188, 255, 0.12);
2489
+ --pagination-bg-active: var(--color-brand-accent-400, #5a96f5);
2265
2490
  --pagination-border-color: var(--color-semantic-neutral-600, #525252);
2266
- --pagination-border-color-hover: var(--color-brand-primary-400, #fb923c);
2267
- --pagination-border-color-active: var(--color-brand-primary-400, #fb923c);
2491
+ --pagination-border-color-hover: var(--color-brand-accent-400, #5a96f5);
2492
+ --pagination-border-color-active: var(--color-brand-accent-400, #5a96f5);
2268
2493
  }
2269
2494
  .ivds-pagination--with-icons .ivds-pagination__link--prev, .ivds-pagination--with-icons .ivds-pagination__link--next {
2270
2495
  display: flex;
@@ -2304,10 +2529,17 @@
2304
2529
  font-size: inherit;
2305
2530
  text-align: center;
2306
2531
  }
2307
- .ivds-pagination--with-jumper .ivds-pagination__jumper input:focus {
2308
- outline: 2px solid var(--color-brand-primary-500, #f97316);
2309
- outline-offset: 2px;
2310
- border-color: var(--color-brand-primary-500, #f97316);
2532
+ .ivds-pagination--with-jumper .ivds-pagination__jumper input:focus-visible {
2533
+ outline: var(--ivds-focus-ring-width, 3px) solid var(--ivds-focus-ring-color, var(--color-brand-accent-600, #1058b8));
2534
+ outline-offset: var(--ivds-focus-ring-offset, 2px);
2535
+ box-shadow: none;
2536
+ }
2537
+ .ivds-pagination--with-jumper .ivds-pagination__jumper input:focus:not(:focus-visible) {
2538
+ outline: none;
2539
+ box-shadow: none;
2540
+ }
2541
+ .ivds-pagination--with-jumper .ivds-pagination__jumper input:focus-visible {
2542
+ border-color: var(--color-brand-accent-600, #1058b8);
2311
2543
  }
2312
2544
  @media (max-width: 640px) {
2313
2545
  .ivds-pagination--responsive .ivds-pagination__item:not(:first-child, :last-child, .ivds-pagination__item--active) {
@@ -2323,683 +2555,405 @@
2323
2555
  display: none;
2324
2556
  }
2325
2557
  }
2326
- /* Structural components*/
2558
+ /* stylelint-disable no-descending-specificity */
2559
+ /* stylelint-disable no-descending-specificity */
2327
2560
  .ivds-header {
2561
+ --background-color: var(--ivds-surface-base, #fff);
2562
+ --color: var(--ivds-text-primary, #121a24);
2563
+ --border-color: var(--ivds-border-subtle, #e2e7ec);
2564
+ --height: 74px;
2565
+ --height-mobile: 66px;
2566
+ --logo-max-height: 34px;
2567
+ --padding-block: var(--spacing-4, 1rem);
2568
+ --padding-inline: var(--spacing-8, 2rem);
2328
2569
  display: flex;
2329
2570
  align-items: center;
2330
2571
  justify-content: space-between;
2331
- padding: var(--spacing-4, 1rem) var(--spacing-6, 1.5rem);
2332
- background-color: var(--color-semantic-neutral-25, #fcfcfd);
2333
- border-bottom: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-200, #e2e8f0);
2334
- min-height: 64px;
2572
+ min-height: var(--height);
2573
+ padding: var(--padding-block) var(--padding-inline);
2574
+ background-color: var(--background-color);
2575
+ border-bottom: 2px solid var(--border-color);
2335
2576
  position: relative;
2336
- z-index: 10;
2337
- justify-content: space-between;
2338
- gap: var(--spacing-6, 1.5rem);
2577
+ z-index: 100;
2578
+ transition: background-color var(--ivds-motion-normal, 250ms) var(--ivds-motion-ease, ease), box-shadow var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
2339
2579
  }
2340
- @media (max-width: 768px) {
2580
+ @media (max-width: var(--breakpoint-lg, 1024px)) {
2341
2581
  .ivds-header {
2342
- flex-wrap: wrap;
2582
+ min-height: var(--height-mobile);
2343
2583
  padding: var(--spacing-3, 0.75rem) var(--spacing-4, 1rem);
2344
- min-height: 56px;
2345
2584
  }
2346
2585
  }
2347
2586
  .ivds-header__brand {
2348
- display: flex;
2587
+ display: inline-flex;
2349
2588
  align-items: center;
2589
+ gap: var(--spacing-3, 0.75rem);
2590
+ text-decoration: none;
2591
+ color: var(--ivds-text-primary);
2350
2592
  flex-shrink: 0;
2351
2593
  }
2352
2594
  .ivds-header__brand-logo {
2353
- height: 2rem;
2595
+ height: var(--logo-max-height, 34px);
2354
2596
  width: auto;
2355
- margin-right: var(--spacing-3, 0.75rem);
2356
- }
2357
- @media (max-width: 768px) {
2358
- .ivds-header__brand-logo {
2359
- height: calc(2rem * 0.875);
2360
- margin-right: var(--spacing-2, 0.5rem);
2361
- }
2597
+ -o-object-fit: contain;
2598
+ object-fit: contain;
2362
2599
  }
2363
2600
  .ivds-header__brand-text {
2364
- font-size: var(--fontSize-lg, 1.125rem);
2365
- font-weight: var(--fontWeight-bold, 700);
2366
- color: var(--color-semantic-neutral-900, #0f172a);
2367
- text-decoration: none;
2368
- line-height: var(--lineHeight-tight, 1.25);
2369
- }
2370
- .ivds-header__brand-text:hover {
2371
- color: var(--color-brand-primary-600, #ea580c);
2372
- }
2373
- .ivds-header__brand-text:focus {
2374
- outline: 2px solid var(--color-brand-primary-500, #f97316);
2375
- outline-offset: 2px;
2376
- border-radius: var(--borderRadius-sm, 0.25rem);
2377
- }
2378
- @media (max-width: 768px) {
2379
- .ivds-header__brand-text {
2380
- font-size: var(--fontSize-base, 1rem);
2381
- }
2601
+ color: inherit;
2602
+ font-size: var(--fontSize-xl, 1.25rem);
2603
+ font-weight: var(--fontWeight-semibold, 600);
2604
+ letter-spacing: -0.01em;
2605
+ line-height: 1.15;
2382
2606
  }
2383
2607
  .ivds-header__nav {
2384
2608
  display: flex;
2385
2609
  align-items: center;
2386
- gap: var(--spacing-6, 1.5rem);
2387
- flex: 1;
2388
- justify-content: center;
2610
+ gap: var(--spacing-2, 0.5rem);
2389
2611
  }
2390
- @media (max-width: 768px) {
2612
+ @media (max-width: var(--breakpoint-lg, 1024px)) {
2391
2613
  .ivds-header__nav {
2392
2614
  display: none;
2393
2615
  }
2394
- .ivds-header__nav--mobile-visible {
2395
- display: flex;
2396
- flex-basis: 100%;
2397
- order: 3;
2398
- justify-content: flex-start;
2399
- margin-top: var(--spacing-3, 0.75rem);
2400
- padding-top: var(--spacing-3, 0.75rem);
2401
- border-top: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-200, #e2e8f0);
2402
- gap: var(--spacing-4, 1rem);
2403
- }
2404
2616
  }
2405
2617
  .ivds-header__nav a {
2406
- color: var(--color-semantic-neutral-700, #374151);
2407
- text-decoration: none;
2618
+ position: relative;
2619
+ display: inline-flex;
2620
+ align-items: center;
2621
+ min-height: 48px;
2622
+ padding: var(--spacing-2, 0.5rem) var(--spacing-2, 0.5rem);
2623
+ border-radius: 0;
2624
+ border-bottom: 3px solid transparent;
2625
+ color: var(--ivds-text-secondary);
2626
+ font-size: var(--fontSize-base, 1rem);
2408
2627
  font-weight: var(--fontWeight-medium, 500);
2409
- font-size: var(--fontSize-sm, 0.875rem);
2410
- padding: var(--spacing-2, 0.5rem) var(--spacing-3, 0.75rem);
2411
- border-radius: var(--borderRadius-md, 0.375rem);
2412
- transition: all 0.15s ease-in-out;
2628
+ text-decoration: none;
2629
+ transition: color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), border-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
2413
2630
  }
2414
2631
  .ivds-header__nav a:hover {
2415
- color: var(--color-brand-primary-600, #ea580c);
2416
- background-color: var(--color-brand-primary-50, #fff7ed);
2632
+ color: var(--ivds-text-primary);
2633
+ border-color: var(--ivds-border-strong, #a1adba);
2417
2634
  }
2418
- .ivds-header__nav a:focus {
2419
- outline: 2px solid var(--color-brand-primary-500, #f97316);
2420
- outline-offset: 2px;
2635
+ .ivds-header__nav a:focus-visible {
2636
+ outline: var(--ivds-focus-ring-width, 3px) solid var(--ivds-focus-ring-color, var(--color-brand-accent-600, #1058b8));
2637
+ outline-offset: var(--ivds-focus-ring-offset, 2px);
2638
+ box-shadow: none;
2421
2639
  }
2422
- .ivds-header__nav a[aria-current=page] {
2423
- color: var(--color-brand-primary-600, #ea580c);
2424
- background-color: var(--color-brand-primary-100, #fed7aa);
2640
+ .ivds-header__nav a:focus:not(:focus-visible) {
2641
+ outline: none;
2642
+ box-shadow: none;
2643
+ }
2644
+ .ivds-header__nav a.ivds-header__nav-item--active {
2645
+ color: var(--color-brand-accent-700, #0b4593);
2646
+ border-color: var(--color-brand-accent-600, #1058b8);
2425
2647
  font-weight: var(--fontWeight-semibold, 600);
2426
2648
  }
2427
2649
  .ivds-header__actions {
2428
2650
  display: flex;
2429
2651
  align-items: center;
2430
2652
  gap: var(--spacing-3, 0.75rem);
2431
- flex-shrink: 0;
2432
- }
2433
- @media (max-width: 768px) {
2434
- .ivds-header__actions {
2435
- gap: var(--spacing-2, 0.5rem);
2436
- }
2437
2653
  }
2438
2654
  .ivds-header__mobile-toggle {
2439
2655
  display: none;
2440
- background: none;
2441
- border: none;
2442
- padding: var(--spacing-2, 0.5rem);
2443
- cursor: pointer;
2444
- color: var(--color-semantic-neutral-700, #374151);
2445
- border-radius: var(--borderRadius-md, 0.375rem);
2446
- }
2447
- .ivds-header__mobile-toggle:hover {
2448
- background-color: var(--color-semantic-neutral-100, #f3f4f6);
2449
- }
2450
- .ivds-header__mobile-toggle:focus {
2451
- outline: 2px solid var(--color-brand-primary-500, #f97316);
2452
- outline-offset: 2px;
2453
2656
  }
2454
- @media (max-width: 768px) {
2657
+ @media (max-width: var(--breakpoint-lg, 1024px)) {
2455
2658
  .ivds-header__mobile-toggle {
2456
- display: flex;
2659
+ display: inline-flex;
2457
2660
  align-items: center;
2458
2661
  justify-content: center;
2662
+ width: 48px;
2663
+ height: 48px;
2664
+ border: 2px solid var(--ivds-border-strong, #a1adba);
2665
+ border-radius: var(--ivds-radius-s, 0.125rem);
2666
+ background: var(--ivds-surface-base, #fff);
2667
+ color: var(--ivds-text-primary);
2668
+ cursor: pointer;
2669
+ }
2670
+ .ivds-header__mobile-toggle:hover {
2671
+ border-color: var(--color-brand-accent-600, #1058b8);
2672
+ color: var(--color-brand-accent-700, #0b4593);
2673
+ }
2674
+ .ivds-header__mobile-toggle:focus-visible {
2675
+ outline: var(--ivds-focus-ring-width, 3px) solid var(--ivds-focus-ring-color, var(--color-brand-accent-600, #1058b8));
2676
+ outline-offset: var(--ivds-focus-ring-offset, 2px);
2677
+ box-shadow: none;
2678
+ }
2679
+ .ivds-header__mobile-toggle:focus:not(:focus-visible) {
2680
+ outline: none;
2681
+ box-shadow: none;
2459
2682
  }
2460
2683
  }
2461
- .ivds-header__mobile-toggle svg {
2462
- width: 1.25rem;
2463
- height: 1.25rem;
2684
+ .ivds-header__universal-bar {
2685
+ padding: var(--spacing-2, 0.5rem) var(--spacing-8, 2rem);
2686
+ background-color: var(--ivds-surface-muted);
2687
+ border-bottom: 1px solid var(--ivds-border-subtle);
2688
+ color: var(--ivds-text-secondary);
2689
+ font-size: var(--fontSize-xs, 0.75rem);
2464
2690
  }
2465
- .ivds-header__search {
2466
- flex: 1;
2467
- max-width: 400px;
2468
- margin: 0 var(--spacing-4, 1rem);
2691
+ .ivds-header__universal-bar .ivds-header__container {
2692
+ display: flex;
2693
+ justify-content: flex-end;
2694
+ align-items: center;
2695
+ gap: var(--spacing-5, 1.25rem);
2469
2696
  }
2470
- @media (max-width: 768px) {
2471
- .ivds-header__search {
2472
- display: none;
2473
- }
2474
- .ivds-header__search--mobile-visible {
2475
- display: block;
2476
- flex-basis: 100%;
2477
- order: 2;
2478
- margin: var(--spacing-3, 0.75rem) 0 0 0;
2479
- max-width: none;
2480
- }
2697
+ .ivds-header__universal-bar a {
2698
+ color: inherit;
2699
+ font-weight: var(--fontWeight-medium, 500);
2700
+ text-decoration: none;
2481
2701
  }
2482
- .ivds-header__container {
2483
- max-width: 1200px;
2484
- margin: 0 auto;
2485
- width: 100%;
2486
- justify-content: space-between;
2487
- gap: var(--spacing-6, 1.5rem);
2702
+ .ivds-header__universal-bar a:hover {
2703
+ color: var(--color-brand-accent-700, #0b4593);
2488
2704
  }
2489
- @media (max-width: 768px) {
2490
- .ivds-header__container {
2491
- flex-wrap: wrap;
2492
- padding: var(--spacing-3, 0.75rem) var(--spacing-4, 1rem);
2493
- min-height: 56px;
2494
- }
2705
+ .ivds-header__action-bar {
2706
+ padding: var(--spacing-3, 0.75rem) var(--spacing-8, 2rem);
2707
+ background-color: var(--ivds-surface-base);
2708
+ border-bottom: 1px solid var(--ivds-border-subtle);
2709
+ }
2710
+ .ivds-header__action-bar .ivds-header__container {
2711
+ display: flex;
2712
+ align-items: center;
2713
+ justify-content: flex-end;
2714
+ gap: var(--spacing-3, 0.75rem);
2495
2715
  }
2496
2716
  .ivds-header--sticky {
2497
2717
  position: sticky;
2498
2718
  top: 0;
2499
- z-index: 50;
2500
- box-shadow: var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.05));
2501
- backdrop-filter: blur(8px);
2502
- background-color: rgba(252, 252, 253, 0.95);
2503
- }
2504
- @supports not (backdrop-filter: blur(8px)) {
2505
- .ivds-header--sticky {
2506
- background-color: var(--color-semantic-neutral-25, #fcfcfd);
2507
- }
2719
+ box-shadow: var(--ivds-shadow-md);
2720
+ }
2721
+ .ivds-header--glass {
2722
+ background-color: var(--ivds-surface-base, #fff);
2508
2723
  }
2509
2724
  .ivds-header--dark {
2510
- background-color: var(--color-semantic-neutral-900, #0f172a);
2511
- border-bottom-color: var(--color-semantic-neutral-700, #374151);
2725
+ --background-color: var(--ivds-surface-strong, #121a24);
2726
+ --border-color: var(--ivds-border-subtle, #283443);
2512
2727
  }
2513
2728
  .ivds-header--dark .ivds-header__brand-text {
2514
- color: var(--color-semantic-neutral-50, #f8fafc);
2729
+ color: var(--ivds-text-on-strong, #fff);
2515
2730
  }
2516
2731
  .ivds-header--dark .ivds-header__nav a {
2517
- color: var(--color-semantic-neutral-50, #f8fafc);
2732
+ color: var(--ivds-text-muted, rgba(255, 255, 255, 0.82));
2518
2733
  }
2519
2734
  .ivds-header--dark .ivds-header__nav a:hover {
2520
- background-color: rgba(var(--color-semantic-neutral-50, #f8fafc), 0.1);
2735
+ color: var(--ivds-text-on-strong, #fff);
2736
+ border-color: var(--ivds-border-strong, rgba(255, 255, 255, 0.35));
2521
2737
  }
2522
- .ivds-header--transparent {
2523
- background-color: transparent;
2524
- border-bottom: none;
2525
- backdrop-filter: none;
2526
- }
2527
- .ivds-header--transparent.ivds-header--sticky {
2528
- background-color: rgba(252, 252, 253, 0.95);
2529
- border-bottom: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-200, #e2e8f0);
2530
- backdrop-filter: blur(8px);
2531
- }
2532
- .ivds-header--compact {
2533
- padding: var(--spacing-2, 0.5rem) var(--spacing-4, 1rem);
2534
- min-height: 48px;
2535
- }
2536
- .ivds-header--compact .ivds-header__brand-logo {
2537
- height: 1.5rem;
2538
- margin-right: var(--spacing-2, 0.5rem);
2539
- }
2540
- .ivds-header--compact .ivds-header__brand-text {
2541
- font-size: var(--fontSize-base, 1rem);
2738
+ .ivds-header--dark .ivds-header__nav a.ivds-header__nav-item--active {
2739
+ color: var(--ivds-text-on-strong, #fff);
2740
+ border-color: var(--color-brand-accent-400, #5a93f5);
2542
2741
  }
2543
- .ivds-header--compact .ivds-header__nav {
2544
- gap: var(--spacing-4, 1rem);
2545
- }
2546
- .ivds-header--compact .ivds-header__nav a {
2547
- padding: var(--spacing-1, 0.25rem) var(--spacing-2, 0.5rem);
2548
- font-size: var(--fontSize-xs, 0.75rem);
2549
- }
2550
- .ivds-header--compact .ivds-header__actions {
2551
- gap: var(--spacing-2, 0.5rem);
2742
+ .ivds-header--dark .ivds-header__mobile-toggle {
2743
+ background: transparent;
2744
+ border-color: var(--ivds-border-strong, rgba(255, 255, 255, 0.35));
2745
+ color: var(--ivds-text-on-strong, #fff);
2552
2746
  }
2553
- @media (max-width: 768px) {
2554
- .ivds-header--mobile-nav-open .ivds-header__nav {
2555
- display: flex;
2556
- flex-basis: 100%;
2557
- order: 3;
2558
- justify-content: flex-start;
2559
- margin-top: var(--spacing-3, 0.75rem);
2560
- padding-top: var(--spacing-3, 0.75rem);
2561
- border-top: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-200, #e2e8f0);
2562
- gap: var(--spacing-4, 1rem);
2563
- flex-wrap: wrap;
2564
- }
2747
+ .ivds-header--scrolled {
2748
+ box-shadow: var(--ivds-shadow-md);
2565
2749
  }
2566
- @media (max-width: 768px) {
2567
- .ivds-header--mobile-nav-open .ivds-header__search--mobile-visible {
2568
- display: block;
2569
- flex-basis: 100%;
2570
- order: 2;
2571
- margin: var(--spacing-3, 0.75rem) 0 0 0;
2572
- max-width: none;
2573
- }
2750
+ .ivds-header__container {
2751
+ width: 100%;
2752
+ max-width: var(--container-max-width, 1440px);
2753
+ margin: 0 auto;
2754
+ display: flex;
2755
+ align-items: center;
2756
+ justify-content: space-between;
2757
+ gap: var(--spacing-6, 1.5rem);
2574
2758
  }
2759
+ /* stylelint-disable no-descending-specificity */
2760
+ /* stylelint-disable no-descending-specificity */
2575
2761
  .ivds-footer {
2576
- padding: var(--spacing-8, 2rem) var(--spacing-6, 1.5rem);
2577
- background-color: var(--color-semantic-neutral-900, #0f172a);
2578
- color: var(--color-semantic-neutral-300, #cbd5e1);
2579
- line-height: var(--lineHeight-relaxed, 1.625);
2580
- }
2581
- @media (max-width: 768px) {
2582
- .ivds-footer .ivds-footer__grid {
2583
- grid-template-columns: 1fr 1fr;
2584
- gap: var(--spacing-6, 1.5rem) var(--spacing-4, 1rem);
2585
- }
2586
- }
2587
- @media (max-width: 480px) {
2588
- .ivds-footer .ivds-footer__grid {
2589
- grid-template-columns: 1fr;
2590
- gap: var(--spacing-6, 1.5rem);
2591
- }
2592
- .ivds-footer .ivds-footer__section {
2593
- text-align: center;
2594
- }
2595
- .ivds-footer .ivds-footer__section:first-child {
2596
- text-align: left;
2762
+ --background-color: var(--ivds-surface-strong, #121a24);
2763
+ --color: rgba(246, 248, 251, 0.88);
2764
+ --border-color: rgba(255, 255, 255, 0.12);
2765
+ position: relative;
2766
+ padding: var(--spacing-12, 3rem) var(--spacing-8, 2rem) var(--spacing-6, 1.5rem);
2767
+ background-color: var(--background-color);
2768
+ color: var(--color);
2769
+ font-family: var(--fontFamily-primary, system-ui, sans-serif);
2770
+ border-top: 1px solid var(--border-color);
2771
+ }
2772
+ @media (max-width: var(--breakpoint-lg, 1024px)) {
2773
+ .ivds-footer {
2774
+ padding: var(--spacing-10, 2.5rem) var(--spacing-4, 1rem) var(--spacing-5, 1.25rem);
2597
2775
  }
2598
2776
  }
2599
- .ivds-footer__content {
2600
- max-width: 1200px;
2601
- margin: 0 auto;
2602
- width: 100%;
2603
- }
2604
2777
  .ivds-footer__grid {
2605
2778
  display: grid;
2606
- grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
2607
- grid-gap: var(--spacing-8, 2rem);
2608
- gap: var(--spacing-8, 2rem);
2609
- margin-bottom: var(--spacing-8, 2rem);
2779
+ grid-template-columns: repeat(4, minmax(0, 1fr));
2780
+ gap: var(--spacing-10, 2.5rem);
2781
+ margin-bottom: var(--spacing-10, 2.5rem);
2610
2782
  }
2611
- @media (max-width: 1024px) {
2783
+ @media (max-width: var(--breakpoint-lg, 1024px)) {
2612
2784
  .ivds-footer__grid {
2613
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
2614
- gap: var(--spacing-6, 1.5rem);
2615
- margin-bottom: var(--spacing-6, 1.5rem);
2785
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2786
+ gap: var(--spacing-8, 2rem);
2616
2787
  }
2617
2788
  }
2618
- @media (max-width: 768px) {
2619
- .ivds-footer__grid {
2620
- grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
2621
- gap: var(--spacing-4, 1rem);
2622
- margin-bottom: var(--spacing-4, 1rem);
2623
- }
2624
- }
2625
- @media (max-width: 480px) {
2789
+ @media (max-width: var(--breakpoint-sm, 640px)) {
2626
2790
  .ivds-footer__grid {
2627
2791
  grid-template-columns: 1fr;
2628
- gap: var(--spacing-6, 1.5rem);
2629
2792
  }
2630
2793
  }
2794
+ .ivds-footer__brand {
2795
+ display: flex;
2796
+ flex-direction: column;
2797
+ gap: var(--spacing-3, 0.75rem);
2798
+ }
2799
+ .ivds-footer__brand-logo {
2800
+ height: 38px;
2801
+ width: auto;
2802
+ -o-object-fit: contain;
2803
+ object-fit: contain;
2804
+ }
2805
+ .ivds-footer__brand-description {
2806
+ max-width: 340px;
2807
+ color: rgba(246, 248, 251, 0.78);
2808
+ font-size: var(--fontSize-sm, 0.875rem);
2809
+ line-height: var(--lineHeight-relaxed, 1.625);
2810
+ }
2811
+ .ivds-footer__section {
2812
+ display: flex;
2813
+ flex-direction: column;
2814
+ gap: var(--spacing-4, 1rem);
2815
+ }
2631
2816
  .ivds-footer__section-title {
2632
- margin: 0 0 var(--spacing-4, 1rem) 0;
2633
- font-size: var(--fontSize-lg, 1.125rem);
2817
+ margin: 0;
2818
+ color: rgba(246, 248, 251, 0.96);
2819
+ font-size: var(--fontSize-xs, 0.75rem);
2634
2820
  font-weight: var(--fontWeight-semibold, 600);
2635
- color: var(--color-semantic-neutral-25, #fcfcfd);
2636
- line-height: var(--lineHeight-tight, 1.25);
2637
- }
2638
- @media (max-width: 768px) {
2639
- .ivds-footer__section-title {
2640
- font-size: var(--fontSize-base, 1rem);
2641
- margin-bottom: var(--spacing-3, 0.75rem);
2642
- }
2821
+ text-transform: uppercase;
2822
+ letter-spacing: 0.08em;
2643
2823
  }
2644
2824
  .ivds-footer__section-list {
2825
+ display: grid;
2826
+ gap: var(--spacing-2, 0.5rem);
2827
+ list-style: none;
2645
2828
  margin: 0;
2646
2829
  padding: 0;
2647
- list-style: none;
2648
- }
2649
- .ivds-footer__section-item {
2650
- margin-bottom: var(--spacing-2, 0.5rem);
2651
- }
2652
- .ivds-footer__section-item:last-child {
2653
- margin-bottom: 0;
2654
2830
  }
2655
2831
  .ivds-footer__section-link {
2656
- color: var(--color-semantic-neutral-300, #cbd5e1);
2657
- text-decoration: none;
2658
- font-size: var(--fontSize-sm, 0.875rem);
2659
- transition: color 0.2s ease-in-out;
2660
- display: inline-flex;
2661
- align-items: center;
2662
- }
2663
- .ivds-footer__section-link:hover {
2664
- color: var(--color-semantic-neutral-25, #fcfcfd);
2665
- }
2666
- .ivds-footer__section-link:focus {
2667
- outline: 2px solid var(--color-brand-primary-500, #f97316);
2668
- outline-offset: 2px;
2669
- border-radius: var(--borderRadius-sm, 0.25rem);
2670
- }
2671
- .ivds-footer__section-link svg {
2672
- margin-right: var(--spacing-2, 0.5rem);
2673
- flex-shrink: 0;
2674
- }
2675
- .ivds-footer__bottom {
2676
- padding-top: var(--spacing-8, 2rem);
2677
- border-top: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-700, #374151);
2678
- text-align: center;
2832
+ color: rgba(246, 248, 251, 0.78);
2679
2833
  font-size: var(--fontSize-sm, 0.875rem);
2680
- color: var(--color-semantic-neutral-400, #9ca3af);
2681
- }
2682
- @media (max-width: 768px) {
2683
- .ivds-footer__bottom {
2684
- padding-top: var(--spacing-6, 1.5rem);
2685
- text-align: left;
2686
- }
2687
- }
2688
- .ivds-footer__bottom a {
2689
- color: var(--color-semantic-neutral-300, #cbd5e1);
2834
+ font-weight: var(--fontWeight-normal, 400);
2690
2835
  text-decoration: none;
2836
+ transition: color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
2691
2837
  }
2692
- .ivds-footer__bottom a:hover {
2693
- color: var(--color-semantic-neutral-25, #fcfcfd);
2838
+ .ivds-footer__section-link:hover {
2839
+ color: #fff;
2694
2840
  text-decoration: underline;
2841
+ text-decoration-thickness: 2px;
2842
+ text-underline-offset: 0.12em;
2695
2843
  }
2696
- .ivds-footer__bottom a:focus {
2697
- outline: 2px solid var(--color-brand-primary-500, #f97316);
2698
- outline-offset: 2px;
2699
- border-radius: var(--borderRadius-sm, 0.25rem);
2700
- }
2701
- .ivds-footer__bottom--inline-links, .ivds-footer--bottom-inline .ivds-footer__bottom {
2702
- display: flex;
2703
- justify-content: center;
2704
- align-items: center;
2705
- gap: var(--spacing-4, 1rem);
2706
- flex-wrap: wrap;
2707
- }
2708
- @media (max-width: 768px) {
2709
- .ivds-footer__bottom--inline-links, .ivds-footer--bottom-inline .ivds-footer__bottom {
2710
- justify-content: flex-start;
2711
- gap: var(--spacing-3, 0.75rem);
2712
- }
2713
- }
2714
- .ivds-footer__brand-logo {
2715
- height: 2rem;
2716
- width: auto;
2717
- margin-bottom: var(--spacing-3, 0.75rem);
2718
- }
2719
- @media (max-width: 768px) {
2720
- .ivds-footer__brand-logo {
2721
- height: calc(2rem * 0.875);
2722
- }
2723
- }
2724
- .ivds-footer__brand-name {
2725
- font-size: var(--fontSize-xl, 1.25rem);
2726
- font-weight: var(--fontWeight-bold, 700);
2727
- color: var(--color-semantic-neutral-25, #fcfcfd);
2728
- margin-bottom: var(--spacing-2, 0.5rem);
2729
- }
2730
- @media (max-width: 768px) {
2731
- .ivds-footer__brand-name {
2732
- font-size: var(--fontSize-lg, 1.125rem);
2733
- }
2844
+ .ivds-footer__section-link:focus-visible {
2845
+ outline: var(--ivds-focus-ring-width, 3px) solid var(--ivds-focus-ring-color, var(--color-brand-accent-600, #1058b8));
2846
+ outline-offset: var(--ivds-focus-ring-offset, 2px);
2847
+ box-shadow: none;
2734
2848
  }
2735
- .ivds-footer__brand-description {
2736
- font-size: var(--fontSize-sm, 0.875rem);
2737
- color: var(--color-semantic-neutral-400, #9ca3af);
2738
- line-height: var(--lineHeight-relaxed, 1.625);
2739
- margin-bottom: var(--spacing-4, 1rem);
2849
+ .ivds-footer__section-link:focus:not(:focus-visible) {
2850
+ outline: none;
2851
+ box-shadow: none;
2740
2852
  }
2741
2853
  .ivds-footer__social {
2742
2854
  display: flex;
2743
- gap: var(--spacing-3, 0.75rem);
2744
- margin-top: var(--spacing-4, 1rem);
2745
- }
2746
- @media (max-width: 768px) {
2747
- .ivds-footer__social {
2748
- justify-content: center;
2749
- margin-top: var(--spacing-3, 0.75rem);
2750
- }
2855
+ flex-wrap: wrap;
2856
+ gap: var(--spacing-2, 0.5rem);
2751
2857
  }
2752
- .ivds-footer__social a {
2858
+ .ivds-footer__social-link {
2753
2859
  display: inline-flex;
2754
2860
  align-items: center;
2755
2861
  justify-content: center;
2756
- width: 2.5rem;
2757
- height: 2.5rem;
2758
- border-radius: var(--borderRadius-md, 0.375rem);
2759
- background-color: var(--color-semantic-neutral-800, #1e293b);
2760
- color: var(--color-semantic-neutral-300, #cbd5e1);
2761
- transition: all 0.2s ease-in-out;
2862
+ width: 36px;
2863
+ height: 36px;
2864
+ border: 1px solid rgba(255, 255, 255, 0.32);
2865
+ border-radius: var(--ivds-radius-s, 0.125rem);
2866
+ color: rgba(246, 248, 251, 0.92);
2867
+ background-color: transparent;
2868
+ transition: background-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), border-color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease), color var(--ivds-motion-fast, 150ms) var(--ivds-motion-ease, ease);
2869
+ }
2870
+ .ivds-footer__social-link:hover {
2871
+ background-color: rgba(255, 255, 255, 0.09);
2872
+ border-color: rgba(255, 255, 255, 0.45);
2873
+ color: #fff;
2762
2874
  }
2763
- .ivds-footer__social a:hover {
2764
- background-color: var(--color-brand-primary-500, #f97316);
2765
- color: var(--color-semantic-neutral-25, #fcfcfd);
2766
- transform: translateY(-2px);
2875
+ .ivds-footer__social-link:focus-visible {
2876
+ outline: var(--ivds-focus-ring-width, 3px) solid var(--ivds-focus-ring-color, var(--color-brand-accent-600, #1058b8));
2877
+ outline-offset: var(--ivds-focus-ring-offset, 2px);
2878
+ box-shadow: none;
2767
2879
  }
2768
- .ivds-footer__social a:focus {
2769
- outline: 2px solid var(--color-brand-primary-500, #f97316);
2770
- outline-offset: 2px;
2880
+ .ivds-footer__social-link:focus:not(:focus-visible) {
2881
+ outline: none;
2882
+ box-shadow: none;
2771
2883
  }
2772
- .ivds-footer__social a svg {
2773
- width: 1.25rem;
2774
- height: 1.25rem;
2775
- margin: 0;
2884
+ .ivds-footer__social-link svg {
2885
+ width: 18px;
2886
+ height: 18px;
2776
2887
  }
2777
- .ivds-footer__newsletter-form {
2888
+ .ivds-footer__bottom {
2778
2889
  display: flex;
2779
- gap: var(--spacing-2, 0.5rem);
2780
- margin-top: var(--spacing-3, 0.75rem);
2890
+ align-items: center;
2891
+ justify-content: space-between;
2892
+ gap: var(--spacing-4, 1rem);
2893
+ padding-top: var(--spacing-6, 1.5rem);
2894
+ border-top: 1px solid rgba(255, 255, 255, 0.16);
2895
+ color: rgba(246, 248, 251, 0.74);
2896
+ font-size: var(--fontSize-xs, 0.75rem);
2781
2897
  }
2782
- @media (max-width: 480px) {
2783
- .ivds-footer__newsletter-form {
2898
+ @media (max-width: var(--breakpoint-md, 768px)) {
2899
+ .ivds-footer__bottom {
2784
2900
  flex-direction: column;
2901
+ align-items: flex-start;
2785
2902
  }
2786
2903
  }
2787
- .ivds-footer__newsletter-input {
2788
- flex: 1;
2789
- padding: var(--spacing-3, 0.75rem);
2790
- border: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-600, #475569);
2791
- border-radius: var(--borderRadius-md, 0.375rem);
2792
- background-color: var(--color-semantic-neutral-800, #1e293b);
2793
- color: var(--color-semantic-neutral-100, #f1f5f9);
2794
- font-size: var(--fontSize-sm, 0.875rem);
2795
- }
2796
- .ivds-footer__newsletter-input::-moz-placeholder {
2797
- color: var(--color-semantic-neutral-500, #64748b);
2798
- }
2799
- .ivds-footer__newsletter-input::placeholder {
2800
- color: var(--color-semantic-neutral-500, #64748b);
2801
- }
2802
- .ivds-footer__newsletter-input:focus {
2803
- outline: 2px solid var(--color-brand-primary-500, #f97316);
2804
- outline-offset: 2px;
2805
- border-color: var(--color-brand-primary-500, #f97316);
2806
- }
2807
- @media (max-width: 480px) {
2808
- .ivds-footer__newsletter-input {
2809
- width: 100%;
2810
- }
2811
- }
2812
- .ivds-footer__newsletter-button {
2813
- padding: var(--spacing-3, 0.75rem) var(--spacing-4, 1rem);
2814
- background-color: var(--color-brand-primary-500, #f97316);
2815
- color: var(--color-semantic-neutral-25, #fcfcfd);
2816
- border: none;
2817
- border-radius: var(--borderRadius-md, 0.375rem);
2818
- font-size: var(--fontSize-sm, 0.875rem);
2819
- font-weight: var(--fontWeight-medium, 500);
2820
- cursor: pointer;
2821
- transition: background-color 0.2s ease-in-out;
2822
- white-space: nowrap;
2823
- }
2824
- .ivds-footer__newsletter-button:hover {
2825
- background-color: var(--color-brand-primary-600, #ea580c);
2826
- }
2827
- .ivds-footer__newsletter-button:focus {
2828
- outline: 2px solid var(--color-brand-primary-500, #f97316);
2829
- outline-offset: 2px;
2830
- }
2831
- @media (max-width: 480px) {
2832
- .ivds-footer__newsletter-button {
2833
- width: 100%;
2834
- }
2835
- }
2836
- .ivds-footer__newsletter-description {
2837
- font-size: var(--fontSize-sm, 0.875rem);
2838
- color: var(--color-semantic-neutral-400, #9ca3af);
2839
- margin-bottom: var(--spacing-3, 0.75rem);
2840
- line-height: var(--lineHeight-relaxed, 1.625);
2904
+ .ivds-footer__bottom-links {
2905
+ display: flex;
2906
+ flex-wrap: wrap;
2907
+ gap: var(--spacing-4, 1rem);
2841
2908
  }
2842
- .ivds-footer address {
2843
- font-style: normal;
2844
- line-height: var(--lineHeight-relaxed, 1.625);
2909
+ .ivds-footer__bottom-links a {
2910
+ color: inherit;
2911
+ text-decoration: none;
2845
2912
  }
2846
- .ivds-footer address p {
2847
- margin-bottom: var(--spacing-2, 0.5rem);
2913
+ .ivds-footer__bottom-links a:hover {
2914
+ color: #fff;
2915
+ text-decoration: underline;
2916
+ text-decoration-thickness: 2px;
2917
+ text-underline-offset: 0.12em;
2848
2918
  }
2849
- .ivds-footer address p:last-child {
2850
- margin-bottom: 0;
2919
+ .ivds-footer__bottom-links a:focus-visible {
2920
+ outline: var(--ivds-focus-ring-width, 3px) solid var(--ivds-focus-ring-color, var(--color-brand-accent-600, #1058b8));
2921
+ outline-offset: var(--ivds-focus-ring-offset, 2px);
2922
+ box-shadow: none;
2851
2923
  }
2852
- .ivds-footer address strong {
2853
- color: var(--color-semantic-neutral-200, #e2e8f0);
2854
- font-weight: var(--fontWeight-medium, 500);
2924
+ .ivds-footer__bottom-links a:focus:not(:focus-visible) {
2925
+ outline: none;
2926
+ box-shadow: none;
2855
2927
  }
2856
2928
  .ivds-footer--light {
2857
- background-color: var(--color-semantic-neutral-50, #f8fafc);
2858
- color: var(--color-semantic-neutral-600, #475569);
2929
+ --background-color: var(--ivds-surface-base, #fff);
2930
+ --color: var(--ivds-text-secondary, #36414f);
2931
+ --border-color: var(--ivds-border-subtle, #e2e7ec);
2859
2932
  }
2860
2933
  .ivds-footer--light .ivds-footer__section-title {
2861
- color: var(--color-semantic-neutral-900, #0f172a);
2934
+ color: var(--ivds-text-primary, #121a24);
2862
2935
  }
2863
2936
  .ivds-footer--light .ivds-footer__section-link {
2864
- color: var(--color-semantic-neutral-600, #475569);
2937
+ color: var(--ivds-text-secondary, #36414f);
2865
2938
  }
2866
2939
  .ivds-footer--light .ivds-footer__section-link:hover {
2867
- color: var(--color-semantic-neutral-900, #0f172a);
2868
- }
2869
- .ivds-footer--light .ivds-footer__bottom {
2870
- border-top-color: var(--color-semantic-neutral-200, #e2e8f0);
2871
- color: rgba(var(--color-semantic-neutral-600, #475569), 0.8);
2872
- }
2873
- .ivds-footer--minimal {
2874
- padding: var(--spacing-6, 1.5rem) var(--spacing-4, 1rem);
2875
- text-align: center;
2876
- }
2877
- .ivds-footer--minimal .ivds-footer__bottom {
2878
- padding-top: 0;
2879
- border-top: none;
2880
- }
2881
- @media (max-width: 768px) {
2882
- .ivds-footer--minimal {
2883
- padding: var(--spacing-4, 1rem);
2884
- }
2885
- }
2886
- .ivds-footer--two-columns .ivds-footer__grid {
2887
- display: grid;
2888
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
2889
- grid-gap: var(--spacing-8, 2rem);
2890
- gap: var(--spacing-8, 2rem);
2891
- margin-bottom: var(--spacing-8, 2rem);
2892
- }
2893
- @media (max-width: 1024px) {
2894
- .ivds-footer--two-columns .ivds-footer__grid {
2895
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
2896
- gap: var(--spacing-6, 1.5rem);
2897
- margin-bottom: var(--spacing-6, 1.5rem);
2898
- }
2899
- }
2900
- @media (max-width: 768px) {
2901
- .ivds-footer--two-columns .ivds-footer__grid {
2902
- grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
2903
- gap: var(--spacing-4, 1rem);
2904
- margin-bottom: var(--spacing-4, 1rem);
2905
- }
2906
- }
2907
- @media (max-width: 480px) {
2908
- .ivds-footer--two-columns .ivds-footer__grid {
2909
- grid-template-columns: 1fr;
2910
- gap: var(--spacing-6, 1.5rem);
2911
- }
2940
+ color: var(--color-brand-accent-700, #0b4593);
2912
2941
  }
2913
- .ivds-footer--three-columns .ivds-footer__grid {
2914
- display: grid;
2915
- grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
2916
- grid-gap: var(--spacing-8, 2rem);
2917
- gap: var(--spacing-8, 2rem);
2918
- margin-bottom: var(--spacing-8, 2rem);
2919
- }
2920
- @media (max-width: 1024px) {
2921
- .ivds-footer--three-columns .ivds-footer__grid {
2922
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
2923
- gap: var(--spacing-6, 1.5rem);
2924
- margin-bottom: var(--spacing-6, 1.5rem);
2925
- }
2942
+ .ivds-footer--light .ivds-footer__social-link {
2943
+ border-color: var(--ivds-border-strong, #a1adba);
2944
+ color: var(--ivds-text-secondary, #36414f);
2926
2945
  }
2927
- @media (max-width: 768px) {
2928
- .ivds-footer--three-columns .ivds-footer__grid {
2929
- grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
2930
- gap: var(--spacing-4, 1rem);
2931
- margin-bottom: var(--spacing-4, 1rem);
2932
- }
2933
- }
2934
- @media (max-width: 480px) {
2935
- .ivds-footer--three-columns .ivds-footer__grid {
2936
- grid-template-columns: 1fr;
2937
- gap: var(--spacing-6, 1.5rem);
2938
- }
2939
- }
2940
- .ivds-footer--five-columns .ivds-footer__grid {
2941
- display: grid;
2942
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
2943
- grid-gap: var(--spacing-6, 1.5rem);
2944
- gap: var(--spacing-6, 1.5rem);
2945
- margin-bottom: var(--spacing-8, 2rem);
2946
- }
2947
- @media (max-width: 1024px) {
2948
- .ivds-footer--five-columns .ivds-footer__grid {
2949
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
2950
- gap: var(--spacing-6, 1.5rem);
2951
- margin-bottom: var(--spacing-6, 1.5rem);
2952
- }
2946
+ .ivds-footer--light .ivds-footer__social-link:hover {
2947
+ border-color: var(--color-brand-accent-600, #1058b8);
2948
+ background-color: var(--color-brand-accent-50, #eef4ff);
2949
+ color: var(--color-brand-accent-700, #0b4593);
2953
2950
  }
2954
- @media (max-width: 768px) {
2955
- .ivds-footer--five-columns .ivds-footer__grid {
2956
- grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
2957
- gap: var(--spacing-4, 1rem);
2958
- margin-bottom: var(--spacing-4, 1rem);
2959
- }
2960
- }
2961
- @media (max-width: 480px) {
2962
- .ivds-footer--five-columns .ivds-footer__grid {
2963
- grid-template-columns: 1fr;
2964
- gap: var(--spacing-6, 1.5rem);
2965
- }
2966
- }
2967
- .ivds-footer--bottom-inline .ivds-footer__bottom {
2968
- padding-top: var(--spacing-8, 2rem);
2969
- border-top: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-700, #374151);
2970
- text-align: center;
2971
- font-size: var(--fontSize-sm, 0.875rem);
2972
- color: var(--color-semantic-neutral-400, #9ca3af);
2973
- }
2974
- @media (max-width: 768px) {
2975
- .ivds-footer--bottom-inline .ivds-footer__bottom {
2976
- padding-top: var(--spacing-6, 1.5rem);
2977
- text-align: left;
2978
- }
2979
- }
2980
- .ivds-footer--bottom-inline .ivds-footer__bottom a {
2981
- color: var(--color-semantic-neutral-300, #cbd5e1);
2982
- text-decoration: none;
2983
- }
2984
- .ivds-footer--bottom-inline .ivds-footer__bottom a:hover {
2985
- color: var(--color-semantic-neutral-25, #fcfcfd);
2986
- text-decoration: underline;
2987
- }
2988
- .ivds-footer--bottom-inline .ivds-footer__bottom a:focus {
2989
- outline: 2px solid var(--color-brand-primary-500, #f97316);
2990
- outline-offset: 2px;
2991
- border-radius: var(--borderRadius-sm, 0.25rem);
2992
- }
2993
- .ivds-footer--bottom-inline .ivds-footer__bottom--inline-links, .ivds-footer--bottom-inline .ivds-footer__bottom {
2994
- display: flex;
2995
- justify-content: center;
2996
- align-items: center;
2997
- gap: var(--spacing-4, 1rem);
2998
- flex-wrap: wrap;
2951
+ .ivds-footer--light .ivds-footer__bottom {
2952
+ border-top-color: var(--ivds-border-subtle, #e2e7ec);
2953
+ color: var(--ivds-text-muted, #4d5968);
2999
2954
  }
3000
- @media (max-width: 768px) {
3001
- .ivds-footer--bottom-inline .ivds-footer__bottom--inline-links, .ivds-footer--bottom-inline .ivds-footer__bottom {
3002
- justify-content: flex-start;
3003
- gap: var(--spacing-3, 0.75rem);
3004
- }
2955
+ .ivds-footer__container {
2956
+ width: 100%;
2957
+ max-width: var(--container-max-width, 1440px);
2958
+ margin: 0 auto;
3005
2959
  }