@stihl-design-system/components 1.0.0-RC.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 (399) hide show
  1. package/LICENSE.md +42 -0
  2. package/README.md +56 -0
  3. package/apple-icon.png +0 -0
  4. package/assets/Asterisk.582f2067.css +1 -0
  5. package/assets/Button.684e8bda.css +1 -0
  6. package/assets/ButtonRound.ca8748cf.css +1 -0
  7. package/assets/Checkbox.84cf6398.css +1 -0
  8. package/assets/CustomReactSelect.d89ccccb.css +1 -0
  9. package/assets/Fieldset.5297efb8.css +1 -0
  10. package/assets/FloatingActionButton.de295f5d.css +1 -0
  11. package/assets/Heading.32278621.css +1 -0
  12. package/assets/Icon.8890ee9a.css +1 -0
  13. package/assets/Input.2c508b2f.css +1 -0
  14. package/assets/InputPassword.a534f047.css +1 -0
  15. package/assets/InputSearch.8f986307.css +1 -0
  16. package/assets/InputStepper.52fb45ca.css +1 -0
  17. package/assets/Link.03deeca0.css +1 -0
  18. package/assets/LinkStandalone.7e23a8ac.css +1 -0
  19. package/assets/Logo.09e48e82.css +1 -0
  20. package/assets/OptionCheckbox.9c20f6f1.css +1 -0
  21. package/assets/Radio.be8f06f5.css +1 -0
  22. package/assets/RadioGroup.8b55ee38.css +1 -0
  23. package/assets/Select.b2423b5f.css +1 -0
  24. package/assets/Spinner.af45d460.css +1 -0
  25. package/assets/Switch.f3ab20de.css +1 -0
  26. package/assets/SystemFeedback.f4421d60.css +1 -0
  27. package/assets/Text.4756effe.css +1 -0
  28. package/assets/Textarea.eecf04b3.css +1 -0
  29. package/assets/Title.60d50d3e.css +1 -0
  30. package/asterisk.91abccec.js +8 -0
  31. package/asterisk.d.ts +1 -0
  32. package/button.89b2675b.js +135 -0
  33. package/button.d.ts +1 -0
  34. package/buttonround.c60c8034.js +118 -0
  35. package/buttonround.d.ts +1 -0
  36. package/checkbox.7d414047.js +112 -0
  37. package/checkbox.d.ts +1 -0
  38. package/checkboxgroup.d.ts +1 -0
  39. package/checkboxgroup.e9e25471.js +78 -0
  40. package/chunks/360.3f3132d9.js +11 -0
  41. package/chunks/CustomReactSelect.9d0a378a.js +5011 -0
  42. package/chunks/Input.utils.f8f3286f.js +106 -0
  43. package/chunks/Link.module.b8230547.js +37 -0
  44. package/chunks/RadioGroup.module.59ca486a.js +11 -0
  45. package/chunks/academic-cap.a6849ffc.js +11 -0
  46. package/chunks/alarm-clock.542230f3.js +11 -0
  47. package/chunks/arrow-clockwise.0496f663.js +11 -0
  48. package/chunks/arrow-counterclockwise.635a0130.js +11 -0
  49. package/chunks/arrow-down-line.0976611e.js +11 -0
  50. package/chunks/arrow-down.9780d975.js +11 -0
  51. package/chunks/arrow-edge.3288acdd.js +11 -0
  52. package/chunks/arrow-left.ace9c808.js +11 -0
  53. package/chunks/arrow-out.0499f39e.js +11 -0
  54. package/chunks/arrow-outline-left.efc33275.js +11 -0
  55. package/chunks/arrow-right.133feef2.js +11 -0
  56. package/chunks/arrow-up-arrow-down.b612e9b1.js +11 -0
  57. package/chunks/arrow-up.3be6430a.js +11 -0
  58. package/chunks/at.6279d12b.js +11 -0
  59. package/chunks/barcode-scanner.0a4a314d.js +11 -0
  60. package/chunks/battery.e1249ee1.js +11 -0
  61. package/chunks/bell.87fe4f0b.js +11 -0
  62. package/chunks/bin-open.be4290d8.js +11 -0
  63. package/chunks/bin.b36466f3.js +11 -0
  64. package/chunks/bluetooth.54b89b90.js +11 -0
  65. package/chunks/bookmark.4d5ce4c3.js +11 -0
  66. package/chunks/burger.1301d91e.js +11 -0
  67. package/chunks/calendar.ba39a664.js +11 -0
  68. package/chunks/camera.3bed4f3b.js +11 -0
  69. package/chunks/cart-check.9fb6abdb.js +11 -0
  70. package/chunks/cart-plus.fd5c4674.js +11 -0
  71. package/chunks/cart.7516d35c.js +11 -0
  72. package/chunks/catalog.bd0c7830.js +11 -0
  73. package/chunks/certificate.1639c28e.js +11 -0
  74. package/chunks/chain-link.45025ed0.js +11 -0
  75. package/chunks/chainsaw.56d43a9f.js +11 -0
  76. package/chunks/check.a08beeae.js +11 -0
  77. package/chunks/chevron-down.80b0dc85.js +11 -0
  78. package/chunks/chevron-left.f5feade0.js +11 -0
  79. package/chunks/chevron-line-left.17b172d1.js +11 -0
  80. package/chunks/chevron-line-right.7cd234b7.js +11 -0
  81. package/chunks/chevron-right.259bc1a3.js +11 -0
  82. package/chunks/chevron-up.d1335850.js +11 -0
  83. package/chunks/circle-check-colored.98e13ab9.js +11 -0
  84. package/chunks/circle-check-inverted.db29ab06.js +11 -0
  85. package/chunks/circle-info-colored.8da47e36.js +11 -0
  86. package/chunks/circle-info-inverted.0ed118fb.js +11 -0
  87. package/chunks/circle-pause.55300d1b.js +11 -0
  88. package/chunks/circle-stroke.203dd7aa.js +11 -0
  89. package/chunks/circle.33ec82eb.js +11 -0
  90. package/chunks/clock.3014a102.js +11 -0
  91. package/chunks/coffee-cup.98d6531f.js +11 -0
  92. package/chunks/compare.c76b221b.js +11 -0
  93. package/chunks/connected-box-mobile.9cd742dd.js +11 -0
  94. package/chunks/connected-box-stationary.191a3ed0.js +11 -0
  95. package/chunks/connected-box.fe21c39b.js +11 -0
  96. package/chunks/cross.fe709ee7.js +11 -0
  97. package/chunks/diamond-exclamationmark-colored.bf3ffccf.js +11 -0
  98. package/chunks/diamond-exclamationmark-inverted.b5648587.js +11 -0
  99. package/chunks/diamond.e962c289.js +11 -0
  100. package/chunks/diskette.04733444.js +11 -0
  101. package/chunks/distance.9e6b56ff.js +11 -0
  102. package/chunks/dots-connected.9869fae1.js +11 -0
  103. package/chunks/download-complete.0b84a7cc.js +11 -0
  104. package/chunks/envelope-open.3c3fd714.js +11 -0
  105. package/chunks/envelope.5c9ff834.js +11 -0
  106. package/chunks/exclamationmark.92afe58f.js +11 -0
  107. package/chunks/exit.bde46887.js +11 -0
  108. package/chunks/eye-closed.0b517bb7.js +11 -0
  109. package/chunks/eye.8f4b311b.js +11 -0
  110. package/chunks/facebook.4a040606.js +11 -0
  111. package/chunks/filter.dee66683.js +11 -0
  112. package/chunks/finger-double-arrow.9cd4c623.js +11 -0
  113. package/chunks/flash.15646b5e.js +11 -0
  114. package/chunks/fullscreen.fdd976fe.js +11 -0
  115. package/chunks/gear.1f5f6fe9.js +11 -0
  116. package/chunks/globe.7f419498.js +11 -0
  117. package/chunks/grid.2c1cdc21.js +11 -0
  118. package/chunks/guidance.63bebf3e.js +11 -0
  119. package/chunks/haircross.0ac15319.js +11 -0
  120. package/chunks/hanger.edc848f4.js +11 -0
  121. package/chunks/headphones.a023699e.js +11 -0
  122. package/chunks/heart.d4440641.js +11 -0
  123. package/chunks/helpers.ea3ca41a.js +7 -0
  124. package/chunks/hexagon-arrow-clockwise.98e9b555.js +11 -0
  125. package/chunks/horizontal-ellipsis.84419429.js +11 -0
  126. package/chunks/house.70059642.js +11 -0
  127. package/chunks/imow.3374e620.js +11 -0
  128. package/chunks/index.8021d3e0.js +45 -0
  129. package/chunks/info.1787448e.js +11 -0
  130. package/chunks/instagram.e12dd682.js +11 -0
  131. package/chunks/jsx-runtime.5c071667.js +632 -0
  132. package/chunks/leave-fullscreen.def46043.js +11 -0
  133. package/chunks/lightbulb.b73d3ebf.js +11 -0
  134. package/chunks/linkedin.ce0c68cb.js +11 -0
  135. package/chunks/list-three-rows.ef44c7ef.js +11 -0
  136. package/chunks/list-two-rows.5ed8f1af.js +11 -0
  137. package/chunks/loading-spinner.8293421e.js +11 -0
  138. package/chunks/lock.3cbc8ced.js +11 -0
  139. package/chunks/magnifying-glass-minus.b0f906e5.js +11 -0
  140. package/chunks/magnifying-glass-plus.6ffc69c5.js +11 -0
  141. package/chunks/magnifying-glass.c297e41f.js +11 -0
  142. package/chunks/map.c96b1dcd.js +11 -0
  143. package/chunks/minus.7f6676e8.js +11 -0
  144. package/chunks/mobile.416ee5b0.js +11 -0
  145. package/chunks/nine-squares.34eeb0d4.js +11 -0
  146. package/chunks/note-check.aaf92ef9.js +11 -0
  147. package/chunks/note-plus.e7ab1b93.js +11 -0
  148. package/chunks/note.cc96375c.js +11 -0
  149. package/chunks/number-input.076fcf63.js +11 -0
  150. package/chunks/paperclip.e8831256.js +11 -0
  151. package/chunks/parcel.75534dbd.js +11 -0
  152. package/chunks/pause.901567cf.js +11 -0
  153. package/chunks/pdf.92c1781a.js +11 -0
  154. package/chunks/pen.ecbcb50d.js +11 -0
  155. package/chunks/percent.4b7fa587.js +11 -0
  156. package/chunks/petrol.41999bec.js +11 -0
  157. package/chunks/phone.3c23c041.js +11 -0
  158. package/chunks/pin-s.a5519070.js +11 -0
  159. package/chunks/pin.1137362d.js +11 -0
  160. package/chunks/pinterest.88763b51.js +11 -0
  161. package/chunks/placeholder.d6fdaf8f.js +11 -0
  162. package/chunks/play.dd0f1d8c.js +11 -0
  163. package/chunks/plug.00f114c4.js +11 -0
  164. package/chunks/plus.42721ebf.js +11 -0
  165. package/chunks/printer.5bb7ee0d.js +11 -0
  166. package/chunks/prohibition-sign.af5616b3.js +11 -0
  167. package/chunks/questionmark.db94a06d.js +11 -0
  168. package/chunks/security.2be491e3.js +11 -0
  169. package/chunks/share.ddae7aef.js +11 -0
  170. package/chunks/shirt.135d58c1.js +11 -0
  171. package/chunks/shop.f120426b.js +11 -0
  172. package/chunks/sound-off.c6f5ed43.js +11 -0
  173. package/chunks/sound-on.212c36bc.js +11 -0
  174. package/chunks/speechbubble.9428546e.js +11 -0
  175. package/chunks/speechbubbles.65cb946e.js +11 -0
  176. package/chunks/square.452f505f.js +11 -0
  177. package/chunks/star-half.1458bc5b.js +11 -0
  178. package/chunks/star.fab17456.js +11 -0
  179. package/chunks/tag.4d730d72.js +11 -0
  180. package/chunks/thumbs-down.cbf6e4ec.js +11 -0
  181. package/chunks/thumbs-up.435754e1.js +11 -0
  182. package/chunks/triangle-exclamationmark-colored.94025893.js +11 -0
  183. package/chunks/triangle-exclamationmark-inverted.bc4eed15.js +11 -0
  184. package/chunks/triangle.bff84ddf.js +11 -0
  185. package/chunks/truck.a904d6d3.js +11 -0
  186. package/chunks/two-people-screen.3e509922.js +11 -0
  187. package/chunks/two-sheets.d1cfef0f.js +11 -0
  188. package/chunks/upload.7f1850a3.js +11 -0
  189. package/chunks/useBreakpoint.6c1b06c2.js +48 -0
  190. package/chunks/user.bf5b30a5.js +11 -0
  191. package/chunks/vertical-ellipsis.1cac00e5.js +11 -0
  192. package/chunks/wc.9d108bd0.js +11 -0
  193. package/chunks/wifi-1bar.b6fc33aa.js +11 -0
  194. package/chunks/wifi-2bars.27e9da59.js +11 -0
  195. package/chunks/wifi-off.e5daf3a9.js +11 -0
  196. package/chunks/wifi.40bb915d.js +11 -0
  197. package/chunks/wind-rose.27fa658a.js +11 -0
  198. package/chunks/wrench.69493ef3.js +11 -0
  199. package/chunks/x.d9da4202.js +11 -0
  200. package/chunks/xing.e17c1a24.js +11 -0
  201. package/chunks/youtube.dbf50787.js +11 -0
  202. package/combobox.d.ts +1 -0
  203. package/combobox.f98a4472.js +45 -0
  204. package/components/Asterisk/Asterisk.d.ts +2 -0
  205. package/components/Button/Button.d.ts +45 -0
  206. package/components/Button/Button.test.d.ts +1 -0
  207. package/components/Button/Button.utils.d.ts +6 -0
  208. package/components/ButtonRound/ButtonRound.d.ts +11 -0
  209. package/components/ButtonRound/ButtonRound.test.d.ts +1 -0
  210. package/components/ButtonRound/ButtonRound.utils.d.ts +2 -0
  211. package/components/Checkbox/Checkbox.d.ts +26 -0
  212. package/components/Checkbox/Checkbox.test.d.ts +1 -0
  213. package/components/CheckboxGroup/CheckboxGroup.d.ts +41 -0
  214. package/components/CheckboxGroup/CheckboxGroup.test.d.ts +1 -0
  215. package/components/CheckboxGroup/CheckboxGroup.utils.d.ts +4 -0
  216. package/components/Combobox/Combobox.d.ts +18 -0
  217. package/components/Combobox/Combobox.test.d.ts +1 -0
  218. package/components/Combobox/Combobox.utils.d.ts +57 -0
  219. package/components/Combobox/Combobox.utils.test.d.ts +1 -0
  220. package/components/CustomReactSelect/CustomReactSelect.d.ts +60 -0
  221. package/components/CustomReactSelect/CustomReactSelect.utils.d.ts +15 -0
  222. package/components/CustomReactSelect/CustomReactSelect.utils.test.d.ts +1 -0
  223. package/components/CustomReactSelect/OptionCheckbox.d.ts +13 -0
  224. package/components/Fieldset/Fieldset.d.ts +35 -0
  225. package/components/Fieldset/Fieldset.test.d.ts +1 -0
  226. package/components/Fieldset/Fieldset.utils.d.ts +10 -0
  227. package/components/FloatingActionButton/FloatingActionButton.d.ts +13 -0
  228. package/components/FloatingActionButton/FloatingActionButton.test.d.ts +1 -0
  229. package/components/Heading/Heading.d.ts +18 -0
  230. package/components/Heading/Heading.test.d.ts +1 -0
  231. package/components/Heading/Heading.utils.d.ts +4 -0
  232. package/components/Icon/Icon.d.ts +23 -0
  233. package/components/Icon/Icon.test.d.ts +1 -0
  234. package/components/Icon/Icon.utils.d.ts +12 -0
  235. package/components/Input/Input.d.ts +54 -0
  236. package/components/Input/Input.test.d.ts +1 -0
  237. package/components/Input/Input.utils.d.ts +59 -0
  238. package/components/Input/Input.utils.test.d.ts +1 -0
  239. package/components/InputPassword/InputPassword.d.ts +41 -0
  240. package/components/InputPassword/InputPassword.test.d.ts +1 -0
  241. package/components/InputPassword/InputPassword.utils.d.ts +12 -0
  242. package/components/InputPassword/InputPassword.utils.test.d.ts +1 -0
  243. package/components/InputSearch/InputSearch.d.ts +44 -0
  244. package/components/InputSearch/InputSearch.test.d.ts +1 -0
  245. package/components/InputSearch/InputSearch.utils.d.ts +23 -0
  246. package/components/InputSearch/InputSearch.utils.test.d.ts +1 -0
  247. package/components/InputStepper/InputStepper.d.ts +52 -0
  248. package/components/InputStepper/InputStepper.test.d.ts +1 -0
  249. package/components/InputStepper/InputStepper.utils.d.ts +12 -0
  250. package/components/InputStepper/InputStepper.utils.test.d.ts +1 -0
  251. package/components/Link/Link.d.ts +50 -0
  252. package/components/Link/Link.test.d.ts +1 -0
  253. package/components/Link/Link.utils.d.ts +8 -0
  254. package/components/LinkStandalone/LinkStandalone.d.ts +15 -0
  255. package/components/LinkStandalone/LinkStandalone.test.d.ts +1 -0
  256. package/components/LinkStandalone/LinkStandalone.utils.d.ts +2 -0
  257. package/components/Logo/Logo.d.ts +21 -0
  258. package/components/Logo/Logo.utils.d.ts +3 -0
  259. package/components/Radio/Radio.d.ts +27 -0
  260. package/components/Radio/Radio.test.d.ts +1 -0
  261. package/components/RadioGroup/RadioGroup.d.ts +56 -0
  262. package/components/RadioGroup/RadioGroup.test.d.ts +1 -0
  263. package/components/RadioGroup/RadioGroup.utils.d.ts +6 -0
  264. package/components/Select/Select.d.ts +43 -0
  265. package/components/Select/Select.test.d.ts +1 -0
  266. package/components/Select/Select.utils.d.ts +35 -0
  267. package/components/Select/Select.utils.test.d.ts +1 -0
  268. package/components/Spinner/Spinner.d.ts +14 -0
  269. package/components/Spinner/Spinner.test.d.ts +1 -0
  270. package/components/Spinner/Spinner.utils.d.ts +3 -0
  271. package/components/Switch/Switch.d.ts +29 -0
  272. package/components/Switch/Switch.test.d.ts +1 -0
  273. package/components/Switch/Switch.utils.d.ts +2 -0
  274. package/components/SystemFeedback/SystemFeedback.d.ts +9 -0
  275. package/components/SystemFeedback/SystemFeedback.test.d.ts +1 -0
  276. package/components/SystemFeedback/SystemFeedback.utils.d.ts +8 -0
  277. package/components/Text/Text.d.ts +21 -0
  278. package/components/Text/Text.test.d.ts +1 -0
  279. package/components/Text/Text.utils.d.ts +6 -0
  280. package/components/Textarea/Textarea.d.ts +42 -0
  281. package/components/Textarea/Textarea.test.d.ts +1 -0
  282. package/components/Textarea/Textarea.utils.d.ts +13 -0
  283. package/components/Textarea/Textarea.utils.test.d.ts +1 -0
  284. package/components/Title/Title.d.ts +20 -0
  285. package/components/Title/Title.test.d.ts +1 -0
  286. package/components/Title/Title.utils.d.ts +3 -0
  287. package/customreactselect.a53f9932.js +13 -0
  288. package/customreactselect.d.ts +1 -0
  289. package/favicon.ico +0 -0
  290. package/fieldset.d.ts +1 -0
  291. package/fieldset.fb7b7e49.js +98 -0
  292. package/floatingactionbutton.281b5465.js +87 -0
  293. package/floatingactionbutton.d.ts +1 -0
  294. package/heading.cb7698f4.js +44 -0
  295. package/heading.d.ts +1 -0
  296. package/icon-192.png +0 -0
  297. package/icon-512.png +0 -0
  298. package/icon.b4211784.js +215 -0
  299. package/icon.d.ts +1 -0
  300. package/icon.svg +1 -0
  301. package/index.d.ts +23 -0
  302. package/index.es.js +49 -0
  303. package/input.abb902e3.js +228 -0
  304. package/input.d.ts +1 -0
  305. package/inputpassword.11c12c66.js +139 -0
  306. package/inputpassword.d.ts +1 -0
  307. package/inputsearch.0c88e71a.js +188 -0
  308. package/inputsearch.d.ts +1 -0
  309. package/inputstepper.b74dac4d.js +284 -0
  310. package/inputstepper.d.ts +1 -0
  311. package/link.cd3720d1.js +84 -0
  312. package/link.d.ts +1 -0
  313. package/linkstandalone.26b52de0.js +80 -0
  314. package/linkstandalone.d.ts +1 -0
  315. package/logo.d.ts +1 -0
  316. package/logo.e6576fe3.js +68 -0
  317. package/manifest.json +6 -0
  318. package/manifest.webmanifest +6 -0
  319. package/optioncheckbox.7195f001.js +43 -0
  320. package/optioncheckbox.d.ts +1 -0
  321. package/package.json +125 -0
  322. package/partials/apple-icon.png +0 -0
  323. package/partials/copyAssets.js +84 -0
  324. package/partials/favicon.ico +0 -0
  325. package/partials/icon-192.png +0 -0
  326. package/partials/icon-512.png +0 -0
  327. package/partials/icon.svg +1 -0
  328. package/partials/index.d.ts +2 -0
  329. package/partials/index.js +2167 -0
  330. package/partials/lib/partials.d.ts +17 -0
  331. package/partials/manifest.json +6 -0
  332. package/partials/manifest.webmanifest +6 -0
  333. package/partials/shared.d.ts +2 -0
  334. package/radio.1b205d64.js +79 -0
  335. package/radio.d.ts +1 -0
  336. package/radiogroup.6a22fe96.js +100 -0
  337. package/radiogroup.d.ts +1 -0
  338. package/react.svg +1 -0
  339. package/select.2ff31eab.js +188 -0
  340. package/select.d.ts +1 -0
  341. package/spinner.d.ts +1 -0
  342. package/spinner.ee015469.js +58 -0
  343. package/styles/fonts/STIHLContrafaceDisplayTitling.woff +0 -0
  344. package/styles/fonts/STIHLContrafaceDisplayTitling.woff2 +0 -0
  345. package/styles/fonts/STIHLContrafaceText-Bold.woff +0 -0
  346. package/styles/fonts/STIHLContrafaceText-Bold.woff2 +0 -0
  347. package/styles/fonts/STIHLContrafaceText.woff +0 -0
  348. package/styles/fonts/STIHLContrafaceText.woff2 +0 -0
  349. package/styles/fonts/font-face.min.css +1 -0
  350. package/styles/fonts/index.es.js +1 -0
  351. package/styles/scss/_index.scss +21 -0
  352. package/styles/scss/lib/_a11y.scss +15 -0
  353. package/styles/scss/lib/_animation.scss +6 -0
  354. package/styles/scss/lib/_breakpoints.scss +16 -0
  355. package/styles/scss/lib/_container-query.scss +58 -0
  356. package/styles/scss/lib/_focus.scss +61 -0
  357. package/styles/scss/lib/_grid-extended.scss +11 -0
  358. package/styles/scss/lib/_grid-full.scss +6 -0
  359. package/styles/scss/lib/_grid-main.scss +117 -0
  360. package/styles/scss/lib/_grid-narrow.scss +14 -0
  361. package/styles/scss/lib/_grid-sidebar-sidebar.scss +48 -0
  362. package/styles/scss/lib/_grid-sidebar.scss +174 -0
  363. package/styles/scss/lib/_grid.scss +86 -0
  364. package/styles/scss/lib/_heading.scss +45 -0
  365. package/styles/scss/lib/_helpers.scss +3 -0
  366. package/styles/scss/lib/_hover.scss +10 -0
  367. package/styles/scss/lib/_link.scss +155 -0
  368. package/styles/scss/lib/_media-query.scss +32 -0
  369. package/styles/scss/lib/_spacing.scss +18 -0
  370. package/styles/scss/lib/_text.scss +63 -0
  371. package/styles/scss/lib/_theme.scss +160 -0
  372. package/styles/scss/lib/_transition.scss +26 -0
  373. package/switch.2f011fcc.js +65 -0
  374. package/switch.d.ts +1 -0
  375. package/systemfeedback.6bbd1505.js +25 -0
  376. package/systemfeedback.d.ts +1 -0
  377. package/text.8d80704f.js +57 -0
  378. package/text.d.ts +1 -0
  379. package/textarea.d.ts +1 -0
  380. package/textarea.e156b0ce.js +189 -0
  381. package/title.d.ts +1 -0
  382. package/title.d855a8e4.js +36 -0
  383. package/types/aria-types.d.ts +330 -0
  384. package/types/common-types.d.ts +13 -0
  385. package/types/icon-types.d.ts +2 -0
  386. package/types/index.d.ts +3 -0
  387. package/utils/breakpoint-customizable.d.ts +12 -0
  388. package/utils/has-document.d.ts +1 -0
  389. package/utils/has-window.d.ts +1 -0
  390. package/utils/helpers.d.ts +27 -0
  391. package/utils/helpers.test.d.ts +1 -0
  392. package/utils/index.d.ts +4 -0
  393. package/utils/link-target.d.ts +2 -0
  394. package/utils/render-documentation.d.ts +26 -0
  395. package/utils/theme.d.ts +2 -0
  396. package/utils/useBreakpoint.d.ts +12 -0
  397. package/utils/useBreakpoint.test.d.ts +1 -0
  398. package/utils/vitest.setup.d.ts +0 -0
  399. package/utils/wait-for-icon.d.ts +25 -0
@@ -0,0 +1,61 @@
1
+ @import '_theme';
2
+
3
+ @mixin outline($theme, $offset, $thickness: 2px) {
4
+ outline: $thickness solid;
5
+ outline-color: if(
6
+ $theme == 'light',
7
+ $ds-theme-light-border-color-focus,
8
+ $ds-theme-dark-border-color-focus
9
+ );
10
+ outline-offset: $offset;
11
+
12
+ @media screen and (forced-colors: active) {
13
+ forced-color-adjust: auto;
14
+ outline-color: Highlight;
15
+ }
16
+ }
17
+
18
+ // Read more here: https://www.tpgi.com/focus-visible-and-backwards-compatibility/
19
+ @mixin ds-focus($theme: 'light', $offset: 2px, $thickness: 2px) {
20
+ &:focus {
21
+ @include outline($theme, $offset, $thickness);
22
+ }
23
+ @supports selector(:focus-visible) {
24
+ &:focus {
25
+ /* revert all the above focus styles */
26
+ outline: revert;
27
+ outline-offset: revert;
28
+ }
29
+ &:focus-visible {
30
+ /* and then reapply the styles here instead */
31
+ @include outline($theme, $offset, $thickness);
32
+ }
33
+ }
34
+ }
35
+
36
+ /**
37
+ * Adds focus to the before pseudo element, removing the original focus behavior on the parent element
38
+ */
39
+ @mixin ds-focus-pseudo($theme: 'light', $offset: 2px, $thickness: 2px) {
40
+ // remove focus from actual element
41
+ &:focus,
42
+ &:focus-visible {
43
+ outline: none;
44
+ }
45
+
46
+ &:focus::before {
47
+ @include outline($theme, $offset, $thickness);
48
+ }
49
+
50
+ @supports selector(:focus-visible) {
51
+ &:focus::before {
52
+ /* revert all the above focus styles */
53
+ outline: revert;
54
+ outline-offset: revert;
55
+ }
56
+ &:focus-visible::before {
57
+ /* and then reapply the styles here instead */
58
+ @include outline($theme, $offset, $thickness);
59
+ }
60
+ }
61
+ }
@@ -0,0 +1,11 @@
1
+ $ds-grid-extended-column-start: extended-start;
2
+ $ds-grid-extended-column-end: extended-end;
3
+
4
+ @mixin ds-grid-extended-column {
5
+ grid-column: $ds-grid-extended-column-start / $ds-grid-extended-column-end;
6
+
7
+ @media (min-width: 1668px) {
8
+ margin-left: -32px;
9
+ margin-right: -32px;
10
+ }
11
+ }
@@ -0,0 +1,6 @@
1
+ $ds-grid-full-column-start: full-start;
2
+ $ds-grid-full-column-end: full-end;
3
+
4
+ @mixin ds-grid-full-column {
5
+ grid-column: $ds-grid-full-column-start / $ds-grid-full-column-end;
6
+ }
@@ -0,0 +1,117 @@
1
+ $ds-grid-main-column-start: main-start;
2
+ $ds-grid-main-column-end: main-end;
3
+ $ds-grid-sidebar-main-column-start: $ds-grid-main-column-start;
4
+ $ds-grid-sidebar-main-column-end: $ds-grid-main-column-end;
5
+
6
+ @mixin ds-grid-main-column {
7
+ grid-column: $ds-grid-main-column-start / $ds-grid-main-column-end;
8
+ }
9
+
10
+ @mixin ds-grid-sidebar-main-column {
11
+ @include ds-grid-main-column;
12
+ }
13
+
14
+ // Half
15
+ @mixin ds-grid-span-first-half {
16
+ grid-column: $ds-grid-main-column-start / $ds-grid-span-one-half;
17
+ }
18
+ @mixin ds-grid-span-second-half {
19
+ grid-column: $ds-grid-span-one-half / $ds-grid-main-column-end;
20
+ }
21
+
22
+ @mixin ds-grid-sidebar-span-first-half {
23
+ @include ds-grid-span-first-half;
24
+ }
25
+ @mixin ds-grid-sidebar-span-second-half {
26
+ @include ds-grid-span-second-half;
27
+ }
28
+
29
+ // Third
30
+ @mixin ds-grid-span-first-third {
31
+ grid-column: $ds-grid-main-column-start / $ds-grid-main-column-end;
32
+ @include ds-media-query-min('m') {
33
+ grid-column: $ds-grid-main-column-start / $ds-grid-span-one-third;
34
+ }
35
+ }
36
+ @mixin ds-grid-span-one-third {
37
+ grid-column: $ds-grid-main-column-start / $ds-grid-main-column-end;
38
+ @include ds-media-query-min('m') {
39
+ grid-column: $ds-grid-span-one-third;
40
+ }
41
+ }
42
+
43
+ @mixin ds-grid-sidebar-span-first-third {
44
+ @include ds-grid-span-first-third;
45
+ }
46
+ @mixin ds-grid-sidebar-span-one-third {
47
+ @include ds-grid-span-one-third;
48
+ }
49
+
50
+ // Two Thirds
51
+ @mixin ds-grid-span-first-two-thirds {
52
+ grid-column: $ds-grid-main-column-start / $ds-grid-main-column-end;
53
+ @include ds-media-query-min('m') {
54
+ grid-column: $ds-grid-main-column-start / $ds-grid-span-two-thirds;
55
+ }
56
+ }
57
+ @mixin ds-grid-span-two-thirds {
58
+ grid-column: $ds-grid-main-column-start / $ds-grid-main-column-end;
59
+ @include ds-media-query-min('m') {
60
+ grid-column: $ds-grid-span-two-thirds / $ds-grid-main-column-end;
61
+ }
62
+ }
63
+
64
+ @mixin ds-grid-sidebar-span-first-two-thirds {
65
+ @include ds-grid-span-first-two-thirds;
66
+ }
67
+ @mixin ds-grid-sidebar-span-two-thirds {
68
+ @include ds-grid-span-two-thirds;
69
+ }
70
+
71
+ // Quarter
72
+ @mixin ds-grid-span-first-quarter {
73
+ grid-column: $ds-grid-main-column-start / $ds-grid-span-one-quarter;
74
+ }
75
+ @mixin ds-grid-span-one-quarter {
76
+ grid-column: $ds-grid-span-one-quarter;
77
+ // one quarter on viewports smaller than xl should behave like "first" quarter by starting a new row on "overflow":
78
+ // first-quarter one-quarter
79
+ // one-quarter one-quarter
80
+ &:nth-of-type(odd) {
81
+ grid-column: $ds-grid-main-column-start / $ds-grid-span-one-quarter;
82
+ }
83
+ @include ds-media-query-min('l') {
84
+ &:nth-of-type(odd) {
85
+ grid-column: $ds-grid-span-one-quarter;
86
+ }
87
+ }
88
+ }
89
+
90
+ @mixin ds-grid-sidebar-span-first-quarter {
91
+ @include ds-grid-span-first-quarter;
92
+ }
93
+
94
+ @mixin ds-grid-sidebar-span-one-quarter {
95
+ grid-column: $ds-grid-span-one-quarter;
96
+ // one quarter on viewports smaller than xl should behave like "first" quarter by starting a new row on "overflow":
97
+ // first-quarter one-quarter
98
+ // one-quarter one-quarter
99
+ &:nth-of-type(odd) {
100
+ grid-column: $ds-grid-main-column-start / $ds-grid-span-one-quarter;
101
+ }
102
+ @include ds-media-query-min('xl') {
103
+ &:nth-of-type(odd) {
104
+ grid-column: $ds-grid-span-one-quarter;
105
+ }
106
+ }
107
+ }
108
+
109
+ $ds-grid-span-one-half: var(--ds-grid-span-one-half);
110
+ $ds-grid-span-one-third: var(--ds-grid-span-one-third);
111
+ $ds-grid-span-two-thirds: var(--ds-grid-span-two-thirds);
112
+ $ds-grid-span-one-quarter: var(--ds-grid-span-one-quarter);
113
+
114
+ $ds-grid-sidebar-span-one-half: $ds-grid-span-one-half;
115
+ $ds-grid-sidebar-span-one-third: $ds-grid-span-one-third;
116
+ $ds-grid-sidebar-span-two-thirds: $ds-grid-span-two-thirds;
117
+ $ds-grid-sidebar-span-one-quarter: $ds-grid-span-one-quarter;
@@ -0,0 +1,14 @@
1
+ $ds-grid-narrow-left-column-start: narrow-left-start;
2
+ $ds-grid-narrow-left-column-end: narrow-left-end;
3
+ $ds-grid-narrow-center-column-start: narrow-center-start;
4
+ $ds-grid-narrow-center-column-end: narrow-center-end;
5
+
6
+ @mixin ds-grid-narrow-left-column {
7
+ grid-column: $ds-grid-narrow-left-column-start /
8
+ $ds-grid-narrow-left-column-end;
9
+ }
10
+
11
+ @mixin ds-grid-narrow-center-column {
12
+ grid-column: $ds-grid-narrow-center-column-start /
13
+ $ds-grid-narrow-center-column-end;
14
+ }
@@ -0,0 +1,48 @@
1
+ $ds-grid-sidebar-sidebar-1-column-start: sidebar-1-start;
2
+ $ds-grid-sidebar-sidebar-1-column-end: sidebar-1-end;
3
+ $ds-grid-sidebar-sidebar-2-column-start: sidebar-2-start;
4
+ $ds-grid-sidebar-sidebar-2-column-end: sidebar-2-end;
5
+
6
+ // Sidebar 1
7
+ @mixin ds-grid-sidebar-sidebar-1($is-open: false) {
8
+ display: none;
9
+ @include ds-media-query-min('l') {
10
+ display: unset;
11
+ // This is a hack for implicit grid spanning a row from 1 till -1
12
+ // Using it leads us to not being able to use the row-gap property and requires us to use margins instead
13
+ // https://stackoverflow.com/a/49076465/2346207
14
+ // https://stackoverflow.com/a/56876772/2346207
15
+ grid-row: span 300;
16
+ grid-column: $ds-grid-sidebar-sidebar-1-column-start /
17
+ $ds-grid-sidebar-sidebar-1-column-end;
18
+ @if ($is-open == true) {
19
+ width: 264px;
20
+ max-width: 264px;
21
+ } @else {
22
+ width: 64px;
23
+ max-width: 64px;
24
+ }
25
+ }
26
+ }
27
+ // Sidebar 2
28
+ @mixin ds-grid-sidebar-sidebar-2($is-open: false) {
29
+ display: none;
30
+ @include ds-media-query-min('l') {
31
+ // This is a hack for implicit grid spanning a row from 1 till -1
32
+ // Using it leads us to not being able to use the row-gap property and requires us to use margins instead
33
+ // https://stackoverflow.com/a/49076465/2346207
34
+ // https://stackoverflow.com/a/56876772/2346207
35
+ grid-row: span 300;
36
+ @if ($is-open == true) {
37
+ grid-column: $ds-grid-sidebar-sidebar-2-column-start /
38
+ $ds-grid-sidebar-sidebar-2-column-end;
39
+ display: unset;
40
+ width: 320px;
41
+ max-width: 320px;
42
+ margin-left: -24px;
43
+ }
44
+ }
45
+ @media (min-width: 1535px) {
46
+ margin-left: -32px;
47
+ }
48
+ }
@@ -0,0 +1,174 @@
1
+ @import './_grid-sidebar-sidebar.scss';
2
+
3
+ @mixin ds-grid-sidebar($is-sidebar-1-open: false, $is-sidebar-2-open: false) {
4
+ @if $is-sidebar-1-open == false and $is-sidebar-2-open == true {
5
+ @error "Sidebar 1 cannot be visually closed when sidebar 2 is open";
6
+ }
7
+
8
+ display: grid;
9
+ --ds-grid-sidebar-gap: 16px;
10
+ gap: var(--ds-grid-sidebar-gap);
11
+ min-width: 320px;
12
+ box-sizing: content-box;
13
+ grid-template-columns:
14
+ var(--ds-internal-grid-safe-zone)
15
+ [main-start] repeat(4, minmax(0, 1fr))
16
+ [main-end] var(--ds-internal-grid-safe-zone);
17
+ --ds-internal-grid-safe-zone: 0;
18
+ --ds-grid-span-one-half: span 4;
19
+ --ds-grid-span-one-third: span 4;
20
+ --ds-grid-span-two-thirds: span 4;
21
+ --ds-grid-span-one-quarter: span 2;
22
+
23
+ @if $is-sidebar-1-open == false {
24
+ & > :first-child {
25
+ @include ds-grid-sidebar-sidebar-1(false);
26
+ }
27
+ & > :nth-child(2) {
28
+ @include ds-grid-sidebar-sidebar-2(false);
29
+ }
30
+ } @else if $is-sidebar-1-open == true and $is-sidebar-2-open == false {
31
+ & > :first-child {
32
+ @include ds-grid-sidebar-sidebar-1(true);
33
+ }
34
+ & > :nth-child(2) {
35
+ @include ds-grid-sidebar-sidebar-2(false);
36
+ }
37
+ } @else if $is-sidebar-1-open == true and $is-sidebar-2-open == true {
38
+ & > :first-child {
39
+ @include ds-grid-sidebar-sidebar-1(true);
40
+ }
41
+ & > :nth-child(2) {
42
+ @include ds-grid-sidebar-sidebar-2(true);
43
+ }
44
+ }
45
+
46
+ @media (min-width: 768px) {
47
+ --ds-grid-sidebar-gap: 24px;
48
+ gap: var(--ds-grid-sidebar-gap);
49
+ grid-template-columns:
50
+ var(--ds-internal-grid-safe-zone)
51
+ [main-start] repeat(6, minmax(0, 1fr))
52
+ [main-end] var(--ds-internal-grid-safe-zone);
53
+ --ds-internal-grid-safe-zone: 9px;
54
+ --ds-grid-span-one-half: span 3;
55
+ --ds-grid-span-one-third: span 2;
56
+ --ds-grid-span-two-thirds: span 4;
57
+ --ds-grid-span-one-quarter: span 3;
58
+ }
59
+
60
+ @media (min-width: 1024px) {
61
+ --ds-grid-sidebar-gap: 0px;
62
+ gap: var(--ds-grid-sidebar-gap);
63
+ column-gap: 24px;
64
+ // The children get a margin-bottom to imitate row-gap behavior
65
+ // This is counteracted for the last row in the parent
66
+ margin-bottom: -24px;
67
+ & > * {
68
+ margin-bottom: 24px;
69
+ }
70
+ @if $is-sidebar-1-open == false {
71
+ grid-template-columns:
72
+ [sidebar-1-start] fit-content(64px)
73
+ [sidebar-1-end]
74
+ var(--ds-internal-grid-safe-zone-left)
75
+ [main-start] repeat(6, minmax(0, 1fr))
76
+ [main-end] var(--ds-internal-grid-safe-zone-right);
77
+ /* The safe zone + gap equal to what is called "margin" in the designs,
78
+ * the "margin" on the right differs based on the status of the sidebar 1 and 2
79
+ * 28 + 24 = 52
80
+ */
81
+ --ds-internal-grid-safe-zone-right: 28px;
82
+ } @else if $is-sidebar-1-open == true and $is-sidebar-2-open == false {
83
+ grid-template-columns:
84
+ [sidebar-1-start] fit-content(264px)
85
+ [sidebar-1-end]
86
+ var(--ds-internal-grid-safe-zone-left)
87
+ [main-start] repeat(6, minmax(0, 1fr))
88
+ [main-end] var(--ds-internal-grid-safe-zone-right);
89
+ /* The safe zone + gap equal to what is called "margin" in the designs,
90
+ * the "margin" on the right differs based on the status of the sidebar 1 and 2
91
+ * 26 + 24 = 50
92
+ */
93
+ --ds-internal-grid-safe-zone-right: 26px;
94
+ } @else if $is-sidebar-1-open == true and $is-sidebar-2-open == true {
95
+ grid-template-columns:
96
+ [sidebar-1-start] fit-content(264px)
97
+ [sidebar-1-end sidebar-2-start] fit-content(320px)
98
+ [sidebar-2-end]
99
+ var(--ds-internal-grid-safe-zone-left)
100
+ [main-start] repeat(6, minmax(0, 1fr))
101
+ [main-end] var(--ds-internal-grid-safe-zone-right);
102
+ /* The safe zone + gap equal to what is called "margin" in the designs,
103
+ * the "margin" on the right differs based on the status of the sidebar 1 and 2
104
+ * 30 + 24 = 54
105
+ */
106
+ --ds-internal-grid-safe-zone-right: 30px;
107
+ }
108
+
109
+ --ds-internal-grid-safe-zone-left: 2px;
110
+
111
+ --ds-grid-span-one-half: span 3;
112
+ --ds-grid-span-one-third: span 2;
113
+ --ds-grid-span-two-thirds: span 4;
114
+ }
115
+
116
+ @media (min-width: 1536px) {
117
+ column-gap: 32px;
118
+ // The children get a margin-bottom to imitate row-gap behavior
119
+ // This is counteracted for the last row in the parent
120
+ margin-bottom: -32px;
121
+ & > * {
122
+ margin-bottom: 32px;
123
+ }
124
+
125
+ @if $is-sidebar-1-open == false {
126
+ grid-template-columns:
127
+ [sidebar-1-start] fit-content(64px)
128
+ [sidebar-1-end]
129
+ var(--ds-internal-grid-safe-zone-left)
130
+ [main-start] repeat(12, minmax(0, 1fr))
131
+ [main-end] var(--ds-internal-grid-safe-zone-right);
132
+ /* The safe zone + gap equal to what is called "margin" in the designs,
133
+ * the "margin" on the right differs based on the status of the sidebar 1 and 2
134
+ * 40 + 32 = 72
135
+ */
136
+ --ds-internal-grid-safe-zone-right: 40px;
137
+ } @else if $is-sidebar-1-open == true and $is-sidebar-2-open == false {
138
+ grid-template-columns:
139
+ [sidebar-1-start] fit-content(264px)
140
+ [sidebar-1-end]
141
+ var(--ds-internal-grid-safe-zone-left)
142
+ [main-start] repeat(12, minmax(0, 1fr))
143
+ [main-end] var(--ds-internal-grid-safe-zone-right);
144
+ /* The safe zone + gap equal to what is called "margin" in the designs,
145
+ * the "margin" on the right differs based on the status of the sidebar 1 and 2
146
+ * 32 + 32 = 64
147
+ */
148
+ --ds-internal-grid-safe-zone-right: 32px;
149
+ } @else if $is-sidebar-1-open == true and $is-sidebar-2-open == true {
150
+ grid-template-columns:
151
+ [sidebar-1-start] fit-content(264px)
152
+ [sidebar-1-end sidebar-2-start] fit-content(320px)
153
+ [sidebar-2-end]
154
+ var(--ds-internal-grid-safe-zone-left)
155
+ [main-start] repeat(12, minmax(0, 1fr))
156
+ [main-end] var(--ds-internal-grid-safe-zone-right);
157
+ /* The safe zone + gap equal to what is called "margin" in the designs,
158
+ * the "margin" on the right differs based on the status of the sidebar 1 and 2
159
+ * 36 + 32 = 68
160
+ */
161
+ --ds-internal-grid-safe-zone-right: 36px;
162
+ }
163
+
164
+ --ds-internal-grid-safe-zone-left: 0px;
165
+
166
+ --ds-grid-span-one-half: span 6;
167
+ --ds-grid-span-one-third: span 4;
168
+ --ds-grid-span-two-thirds: span 8;
169
+ }
170
+
171
+ @media (min-width: 2304px) {
172
+ max-width: 2304px;
173
+ }
174
+ }
@@ -0,0 +1,86 @@
1
+ @mixin ds-grid {
2
+ display: grid;
3
+ --ds-grid-gap: 16px;
4
+ gap: var(--ds-grid-gap);
5
+ min-width: 320px;
6
+ box-sizing: content-box;
7
+ grid-template-columns:
8
+ [full-start extended-start] var(--ds-internal-grid-safe-zone)
9
+ [main-start narrow-left-start narrow-center-start] repeat(4, minmax(0, 1fr))
10
+ [narrow-center-end narrow-left-end main-end] var(
11
+ --ds-internal-grid-safe-zone
12
+ )
13
+ [extended-end full-end];
14
+ // The safe zone + gap equal to what is called "margin" in the designs 0+16 = 16
15
+ --ds-internal-grid-safe-zone: 0;
16
+ --ds-grid-span-one-half: span 4;
17
+ --ds-grid-span-one-third: span 4;
18
+ --ds-grid-span-two-thirds: span 4;
19
+ --ds-grid-span-one-quarter: span 2;
20
+
21
+ @media (min-width: 768px) {
22
+ --ds-grid-gap: 24px;
23
+ gap: var(--ds-grid-gap);
24
+ grid-template-columns:
25
+ [full-start extended-start] var(--ds-internal-grid-safe-zone)
26
+ [main-start narrow-left-start narrow-center-start] repeat(
27
+ 6,
28
+ minmax(0, 1fr)
29
+ )
30
+ [narrow-center-end narrow-left-end main-end] var(
31
+ --ds-internal-grid-safe-zone
32
+ )
33
+ [extended-end full-end];
34
+ // The safe zone + gap equal to what is called "margin" in the designs 9+24 = 33
35
+ --ds-internal-grid-safe-zone: 9px;
36
+ --ds-grid-span-one-half: span 3;
37
+ --ds-grid-span-one-third: span 2;
38
+ --ds-grid-span-two-thirds: span 4;
39
+ --ds-grid-span-one-quarter: span 3;
40
+ }
41
+
42
+ @media (min-width: 1024px) {
43
+ grid-template-columns:
44
+ [full-start extended-start] var(--ds-internal-grid-safe-zone)
45
+ [main-start narrow-left-start] repeat(2, minmax(0, 1fr))
46
+ [narrow-center-start] repeat(6, minmax(0, 1fr))
47
+ [narrow-left-end] repeat(2, minmax(0, 1fr))
48
+ [narrow-center-end] repeat(2, minmax(0, 1fr))
49
+ [main-end] var(--ds-internal-grid-safe-zone)
50
+ [extended-end full-end];
51
+ // The safe zone + gap equal to what is called "margin" in the designs 26+24 = 50
52
+ --ds-internal-grid-safe-zone: 26px;
53
+ --ds-grid-span-one-half: span 6;
54
+ --ds-grid-span-one-third: span 4;
55
+ --ds-grid-span-two-thirds: span 8;
56
+ }
57
+
58
+ @media (min-width: 1536px) {
59
+ --ds-grid-gap: 32px;
60
+ gap: var(--ds-grid-gap);
61
+ grid-template-columns:
62
+ [full-start extended-start] var(--ds-internal-grid-safe-zone)
63
+ [main-start narrow-left-start] repeat(3, minmax(0, 1fr))
64
+ [narrow-center-start] repeat(3, minmax(0, 1fr))
65
+ [narrow-left-end] repeat(3, minmax(0, 1fr))
66
+ [narrow-center-end] repeat(3, minmax(0, 1fr))
67
+ [main-end] var(--ds-internal-grid-safe-zone)
68
+ [extended-end full-end];
69
+ // The safe zone + gap equal to what is called "margin" in the designs 32+32 = 64
70
+ --ds-internal-grid-safe-zone: 32px;
71
+ }
72
+
73
+ @media (min-width: 1668px) {
74
+ grid-template-columns:
75
+ [full-start] auto
76
+ [extended-start] var(--ds-internal-grid-safe-zone)
77
+ [main-start narrow-left-start] repeat(3, minmax(0, calc(1668px / 16)))
78
+ [narrow-center-start] repeat(3, minmax(0, calc(1668px / 16)))
79
+ [narrow-left-end] repeat(3, minmax(0, calc(1668px / 16)))
80
+ [narrow-center-end] repeat(3, minmax(0, calc(1668px / 16)))
81
+ [main-end] var(--ds-internal-grid-safe-zone)
82
+ [extended-end]
83
+ auto [full-end];
84
+ --ds-internal-grid-safe-zone: 0px;
85
+ }
86
+ }
@@ -0,0 +1,45 @@
1
+ // Base mixin to define common styles
2
+ @mixin base-heading($fontFamily, $fontSize, $lineHeight) {
3
+ font-family: #{unquote(
4
+ $fontFamily + ', Arial Narrow, Arial, Heiti SC, sans-serif'
5
+ )};
6
+ font-style: normal;
7
+ font-variant: normal;
8
+ font-weight: normal;
9
+ font-size: $fontSize;
10
+ line-height: $lineHeight;
11
+ }
12
+
13
+ @mixin responsive-heading($min, $fontSize, $lineHeight) {
14
+ @include ds-media-query-min($min: $min) {
15
+ font-size: $fontSize;
16
+ line-height: $lineHeight;
17
+ }
18
+ }
19
+
20
+ // Mixins for specific heading sizes
21
+ @mixin ds-heading-x-large {
22
+ @include base-heading('STIHL Contraface Display Title', 1.625rem, 1.2);
23
+ @include responsive-heading('l', 1.875rem, 1.25);
24
+ }
25
+
26
+ @mixin ds-heading-large {
27
+ @include base-heading('STIHL Contraface Display Title', 1.375rem, 1.25);
28
+ @include responsive-heading('l', 1.625rem, 1.2);
29
+ }
30
+
31
+ @mixin ds-heading-medium {
32
+ @include base-heading('STIHL Contraface Text Bold', 1.25rem, 1.2);
33
+ }
34
+
35
+ @mixin ds-heading-medium-uppercase {
36
+ @include base-heading('STIHL Contraface Display Title', 1.25rem, 1.2);
37
+ }
38
+
39
+ @mixin ds-heading-small {
40
+ @include base-heading('STIHL Contraface Text Bold', 1rem, 1.5);
41
+ }
42
+
43
+ @mixin ds-heading-small-uppercase {
44
+ @include base-heading('STIHL Contraface Display Title', 1rem, 1.5);
45
+ }
@@ -0,0 +1,3 @@
1
+ @function px-to-rem($pixels, $base-font-size: 16px) {
2
+ @return #{calc($pixels / $base-font-size)}rem;
3
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This mixin provides a utility to wrap styles within a media query specifically
3
+ * targeting devices that support hover. It ensures that hover styles are
4
+ * applied only to non-touch (hover capable) devices.
5
+ */
6
+ @mixin hover-media-query {
7
+ @media (hover: hover) {
8
+ @content;
9
+ }
10
+ }