@iamproperty/components 7.1.0--beta6 → 7.2.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 (351) hide show
  1. package/assets/css/components/actionbar.component.css +1 -0
  2. package/assets/css/components/actionbar.component.css.map +1 -0
  3. package/assets/css/components/actionbar.global.css +1 -1
  4. package/assets/css/components/actionbar.global.css.map +1 -1
  5. package/assets/css/components/address-lookup.css +1 -1
  6. package/assets/css/components/address-lookup.css.map +1 -1
  7. package/assets/css/components/barchart.component.css +1 -1
  8. package/assets/css/components/barchart.component.css.map +1 -1
  9. package/assets/css/components/bento-grid.component.css +1 -0
  10. package/assets/css/components/bento-grid.component.css.map +1 -0
  11. package/assets/css/components/card.component.css +1 -1
  12. package/assets/css/components/card.component.css.map +1 -1
  13. package/assets/css/components/carousel.component.css +1 -1
  14. package/assets/css/components/carousel.component.css.map +1 -1
  15. package/assets/css/components/carousel.config.css +1 -1
  16. package/assets/css/components/carousel.config.css.map +1 -1
  17. package/assets/css/components/charts.config.css +1 -1
  18. package/assets/css/components/charts.config.css.map +1 -1
  19. package/assets/css/components/charts.css +1 -1
  20. package/assets/css/components/charts.css.map +1 -1
  21. package/assets/css/components/charts.module.css +1 -1
  22. package/assets/css/components/charts.module.css.map +1 -1
  23. package/assets/css/components/collapsible-side.css +1 -1
  24. package/assets/css/components/collapsible-side.css.map +1 -1
  25. package/assets/css/components/doughnutchart.component.css +1 -0
  26. package/assets/css/components/doughnutchart.component.css.map +1 -0
  27. package/assets/css/components/fileupload.css.map +1 -1
  28. package/assets/css/components/header.css.map +1 -1
  29. package/assets/css/components/inline-edit.preload.css +1 -1
  30. package/assets/css/components/inline-edit.preload.css.map +1 -1
  31. package/assets/css/components/marketing.css.map +1 -1
  32. package/assets/css/components/menu.component.css +1 -0
  33. package/assets/css/components/menu.component.css.map +1 -0
  34. package/assets/css/components/menu.css +1 -0
  35. package/assets/css/components/menu.css.map +1 -0
  36. package/assets/css/components/multi-step.component.css.map +1 -1
  37. package/assets/css/components/multiselect.preload.css +1 -1
  38. package/assets/css/components/multiselect.preload.css.map +1 -1
  39. package/assets/css/components/nav.component.css +1 -0
  40. package/assets/css/components/nav.component.css.map +1 -0
  41. package/assets/css/components/nav.docs.css.map +1 -1
  42. package/assets/css/components/nav.global.css.map +1 -1
  43. package/assets/css/components/nav.old.css +1 -1
  44. package/assets/css/components/nav.old.css.map +1 -1
  45. package/assets/css/components/nav.preload.css +1 -1
  46. package/assets/css/components/nav.preload.css.map +1 -1
  47. package/assets/css/components/notification.css +1 -1
  48. package/assets/css/components/notification.css.map +1 -1
  49. package/assets/css/components/pagination.css +1 -1
  50. package/assets/css/components/pagination.css.map +1 -1
  51. package/assets/css/components/property-searchbar.css.map +1 -1
  52. package/assets/css/components/slider.css +1 -1
  53. package/assets/css/components/slider.css.map +1 -1
  54. package/assets/css/components/snapshot.css.map +1 -1
  55. package/assets/css/components/stepper.css.map +1 -1
  56. package/assets/css/components/{table.css → table.component.css} +1 -1
  57. package/assets/css/components/table.component.css.map +1 -0
  58. package/assets/css/components/table.global.css +1 -1
  59. package/assets/css/components/table.global.css.map +1 -1
  60. package/assets/css/components/tabs.component.css +1 -0
  61. package/assets/css/components/tabs.component.css.map +1 -0
  62. package/assets/css/components/tabs.css +1 -1
  63. package/assets/css/components/tabs.css.map +1 -1
  64. package/assets/css/components/testimonial.css.map +1 -1
  65. package/assets/css/components/timeline.css.map +1 -1
  66. package/assets/css/core.min.css +1 -1
  67. package/assets/css/core.min.css.map +1 -1
  68. package/assets/css/mobile-core.min.css +1 -0
  69. package/assets/css/mobile-core.min.css.map +1 -0
  70. package/assets/css/mobile.min.css +1 -0
  71. package/assets/css/mobile.min.css.map +1 -0
  72. package/assets/css/style.min.css +1 -1
  73. package/assets/css/style.min.css.map +1 -1
  74. package/assets/js/components/_global.js +0 -1
  75. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  76. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  77. package/assets/js/components/actionbar/actionbar.component.js +86 -8
  78. package/assets/js/components/actionbar/actionbar.component.min.js +19 -6
  79. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  80. package/assets/js/components/address-lookup/address-lookup.component.js +17 -18
  81. package/assets/js/components/address-lookup/address-lookup.component.min.js +5 -5
  82. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  83. package/assets/js/components/applied-filters/applied-filters.component.js +0 -1
  84. package/assets/js/components/applied-filters/applied-filters.component.min.js +4 -4
  85. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  86. package/assets/js/components/barchart/barchart.component.js +2 -3
  87. package/assets/js/components/barchart/barchart.component.min.js +8 -4
  88. package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
  89. package/assets/js/components/bento-grid/bento-grid.component.js +50 -0
  90. package/assets/js/components/bento-grid/bento-grid.component.min.js +15 -0
  91. package/assets/js/components/bento-grid/bento-grid.component.min.js.map +1 -0
  92. package/assets/js/components/card/card.component.js +10 -13
  93. package/assets/js/components/card/card.component.min.js +7 -7
  94. package/assets/js/components/card/card.component.min.js.map +1 -1
  95. package/assets/js/components/carousel/carousel.component.js +4 -5
  96. package/assets/js/components/carousel/carousel.component.min.js +4 -4
  97. package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
  98. package/assets/js/components/chart/chart.component.js +1 -5
  99. package/assets/js/components/collapsible-side/collapsible-side.component.js +4 -5
  100. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +4 -4
  101. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
  102. package/assets/js/components/doughnutchart/doughnutchart.component.js +70 -0
  103. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +25 -0
  104. package/assets/js/components/doughnutchart/doughnutchart.component.min.js.map +1 -0
  105. package/assets/js/components/fileupload/fileupload.component.js +2 -3
  106. package/assets/js/components/fileupload/fileupload.component.min.js +6 -6
  107. package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
  108. package/assets/js/components/filter-card/filter-card.component.js +3 -4
  109. package/assets/js/components/filter-card/filter-card.component.min.js +4 -4
  110. package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
  111. package/assets/js/components/filterlist/filterlist.component.js +0 -1
  112. package/assets/js/components/filterlist/filterlist.component.min.js +3 -3
  113. package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -1
  114. package/assets/js/components/header/header.component.js +0 -1
  115. package/assets/js/components/header/header.component.min.js +1 -1
  116. package/assets/js/components/header/header.component.min.js.map +1 -1
  117. package/assets/js/components/inline-edit/inline-edit.component.js +7 -8
  118. package/assets/js/components/inline-edit/inline-edit.component.min.js +4 -4
  119. package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
  120. package/assets/js/components/marketing/marketing.component.js +0 -1
  121. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  122. package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
  123. package/assets/js/components/menu/menu.component.js +200 -0
  124. package/assets/js/components/menu/menu.component.min.js +77 -0
  125. package/assets/js/components/menu/menu.component.min.js.map +1 -0
  126. package/assets/js/components/multi-step/multi-step.component.js +10 -10
  127. package/assets/js/components/multi-step/multi-step.component.min.js +13 -0
  128. package/assets/js/components/multi-step/multi-step.component.min.js.map +1 -0
  129. package/assets/js/components/multiselect/multiselect.component.js +10 -10
  130. package/assets/js/components/multiselect/multiselect.component.min.js +3 -3
  131. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  132. package/assets/js/components/nav/nav.component.js +7 -7
  133. package/assets/js/components/nav/nav.component.min.js +7 -7
  134. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  135. package/assets/js/components/notification/notification.component.js +3 -3
  136. package/assets/js/components/notification/notification.component.min.js +4 -4
  137. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  138. package/assets/js/components/pagination/pagination.component.js +3 -4
  139. package/assets/js/components/pagination/pagination.component.min.js +4 -4
  140. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  141. package/assets/js/components/record-card/record-card.component.js +6 -8
  142. package/assets/js/components/record-card/record-card.component.min.js +4 -4
  143. package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
  144. package/assets/js/components/search/search.component.js +9 -6
  145. package/assets/js/components/search/search.component.min.js +8 -5
  146. package/assets/js/components/search/search.component.min.js.map +1 -1
  147. package/assets/js/components/slider/slider.component.js +8 -8
  148. package/assets/js/components/slider/slider.component.min.js +5 -5
  149. package/assets/js/components/slider/slider.component.min.js.map +1 -1
  150. package/assets/js/components/table/table.component.js +12 -11
  151. package/assets/js/components/table/table.component.min.js +7 -7
  152. package/assets/js/components/table/table.component.min.js.map +1 -1
  153. package/assets/js/components/tabs/tabs.component.js +1 -2
  154. package/assets/js/components/tabs/tabs.component.min.js +4 -4
  155. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  156. package/assets/js/components/video-card/video-card.component.js +4 -3
  157. package/assets/js/components/video-card/video-card.component.min.js +3 -3
  158. package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
  159. package/assets/js/modules/applied-filters.js +8 -9
  160. package/assets/js/modules/carousel.js +9 -10
  161. package/assets/js/modules/chart.js +5 -3
  162. package/assets/js/modules/chart.module.js +127 -6
  163. package/assets/js/modules/dialogs.js +6 -7
  164. package/assets/js/modules/drawer.js +1 -2
  165. package/assets/js/modules/dynamicEvents.js +7 -8
  166. package/assets/js/modules/fileupload.js +7 -7
  167. package/assets/js/modules/filterlist.js +3 -4
  168. package/assets/js/modules/form.js +12 -13
  169. package/assets/js/modules/helpers.js +3 -5
  170. package/assets/js/modules/inputs.js +6 -9
  171. package/assets/js/modules/nav.js +3 -4
  172. package/assets/js/modules/notification.js +2 -3
  173. package/assets/js/modules/orderablelist.js +0 -1
  174. package/assets/js/modules/table.js +80 -42
  175. package/assets/js/modules/tabs.js +3 -6
  176. package/assets/js/scripts.bundle.js +3 -3
  177. package/assets/js/scripts.bundle.js.map +1 -1
  178. package/assets/js/scripts.bundle.min.js +2 -2
  179. package/assets/js/scripts.bundle.min.js.map +1 -1
  180. package/assets/js/scripts.js +64 -6
  181. package/assets/js/tests/card.spec.js +14 -0
  182. package/assets/js/tests/carousel.spec.js +60 -0
  183. package/assets/js/tests/chart.spec.js +7 -5
  184. package/assets/js/tests/fileupload.spec.js +22 -0
  185. package/assets/js/tests/multistep.spec.js +68 -0
  186. package/assets/sass/_bs_grid.scss +39 -0
  187. package/assets/sass/_components.scss +323 -100
  188. package/assets/sass/_corefiles.scss +46 -39
  189. package/assets/sass/_elements.scss +98 -18
  190. package/assets/sass/_example.scss +61 -0
  191. package/assets/sass/_func.scss +4 -14
  192. package/assets/sass/_functions/{utilities.scss → bs_utilities.scss} +43 -39
  193. package/assets/sass/_functions/functions.scss +66 -52
  194. package/assets/sass/_functions/mixins.scss +82 -137
  195. package/assets/sass/_functions/utility-mixins.scss +1445 -0
  196. package/assets/sass/_functions/variables.scss +90 -1659
  197. package/assets/sass/_functions/variables_old.scss +1701 -0
  198. package/assets/sass/{foundations/grid.scss → _grid.scss} +96 -82
  199. package/assets/sass/_tests/func.spec.scss +1 -37
  200. package/assets/sass/_tests/mixins.spec.scss +1 -77
  201. package/assets/sass/_tests/typography.spec.scss +1 -1
  202. package/assets/sass/_utilities.scss +35 -117
  203. package/assets/sass/_utility-mixins.scss +37 -0
  204. package/assets/sass/components/{actionbar.scss → actionbar.component.scss} +82 -16
  205. package/assets/sass/components/actionbar.global.scss +28 -14
  206. package/assets/sass/components/address-lookup.scss +6 -0
  207. package/assets/sass/components/barchart.component.scss +8 -19
  208. package/assets/sass/components/bento-grid.component.scss +91 -0
  209. package/assets/sass/components/carousel.config.scss +64 -58
  210. package/assets/sass/components/charts.config.scss +73 -67
  211. package/assets/sass/components/charts.module.scss +131 -73
  212. package/assets/sass/components/charts.scss +43 -42
  213. package/assets/sass/components/collapsible-side.scss +29 -27
  214. package/assets/sass/components/doughnutchart.component.scss +205 -0
  215. package/assets/sass/components/fileupload.scss +4 -3
  216. package/assets/sass/components/header.scss +5 -5
  217. package/assets/sass/components/inline-edit.preload.scss +108 -102
  218. package/assets/sass/components/menu.component.scss +101 -0
  219. package/assets/sass/components/menu.scss +21 -0
  220. package/assets/sass/components/multi-step.component.scss +5 -3
  221. package/assets/sass/components/multiselect.preload.scss +36 -30
  222. package/assets/sass/components/{nav.scss → nav.component.scss} +41 -21
  223. package/assets/sass/components/nav.docs.scss +1 -1
  224. package/assets/sass/components/nav.global.scss +13 -11
  225. package/assets/sass/components/nav.old.scss +21 -24
  226. package/assets/sass/components/nav.preload.scss +40 -34
  227. package/assets/sass/components/notification.scss +9 -5
  228. package/assets/sass/components/pagination.scss +6 -0
  229. package/assets/sass/components/property-searchbar.scss +7 -7
  230. package/assets/sass/components/slider.scss +2 -0
  231. package/assets/sass/components/snapshot.scss +2 -2
  232. package/assets/sass/components/stepper.scss +7 -7
  233. package/assets/sass/components/table.global.scss +57 -1
  234. package/assets/sass/components/tabs.component.scss +5 -0
  235. package/assets/sass/components/tabs.scss +9 -6
  236. package/assets/sass/components/testimonial.scss +7 -7
  237. package/assets/sass/components/timeline.scss +1 -1
  238. package/assets/sass/core.scss +13 -2
  239. package/assets/sass/elements/admin-panel.scss +201 -134
  240. package/assets/sass/elements/badge-tag.scss +87 -81
  241. package/assets/sass/elements/brand.scss +67 -61
  242. package/assets/sass/elements/buttons--action.scss +55 -0
  243. package/assets/sass/elements/buttons--compact.scss +135 -0
  244. package/assets/sass/elements/buttons--global.scss +322 -0
  245. package/assets/sass/elements/buttons--secondary.scss +24 -0
  246. package/assets/sass/elements/buttons--tertiary.scss +57 -0
  247. package/assets/sass/elements/buttons.scss +29 -503
  248. package/assets/sass/elements/container.scss +160 -121
  249. package/assets/sass/elements/details.scss +147 -138
  250. package/assets/sass/elements/dialog.scss +36 -30
  251. package/assets/sass/elements/forms.scss +1061 -1047
  252. package/assets/sass/elements/icons.scss +23 -17
  253. package/assets/sass/elements/links.scss +131 -116
  254. package/assets/sass/elements/lists.scss +270 -264
  255. package/assets/sass/elements/media.scss +19 -13
  256. package/assets/sass/elements/modal.scss +336 -330
  257. package/assets/sass/elements/popover.scss +163 -152
  258. package/assets/sass/elements/progress.scss +173 -162
  259. package/assets/sass/elements/table.element.scss +115 -109
  260. package/assets/sass/elements/tooltips.scss +87 -80
  261. package/assets/sass/elements/type.scss +172 -160
  262. package/assets/sass/email.scss +4 -1
  263. package/assets/sass/error.scss +15 -9
  264. package/assets/sass/foundations/reboot.scss +176 -170
  265. package/assets/sass/foundations/root.scss +136 -125
  266. package/assets/sass/helpers/line-clamp.scss +0 -23
  267. package/assets/sass/helpers/max-height.scss +2 -2
  268. package/assets/sass/main.scss +14 -3
  269. package/assets/sass/mobile-core.scss +14 -0
  270. package/assets/sass/mobile.scss +16 -0
  271. package/assets/sass/templates/auth.scss +88 -83
  272. package/assets/sass/templates/form.scss +68 -59
  273. package/assets/ts/components/_global.ts +2 -3
  274. package/assets/ts/components/actionbar/actionbar.component.ts +94 -2
  275. package/assets/ts/components/address-lookup/address-lookup.component.ts +21 -22
  276. package/assets/ts/components/applied-filters/applied-filters.component.ts +1 -2
  277. package/assets/ts/components/barchart/barchart.component.ts +3 -5
  278. package/assets/ts/components/bento-grid/README.md +31 -0
  279. package/assets/ts/components/bento-grid/bento-grid.component.ts +67 -0
  280. package/assets/ts/components/card/card.component.ts +13 -16
  281. package/assets/ts/components/carousel/carousel.component.ts +5 -7
  282. package/assets/ts/components/chart/chart.component.ts +4 -9
  283. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +5 -6
  284. package/assets/ts/components/doughnutchart/doughnutchart.component.ts +85 -0
  285. package/assets/ts/components/fileupload/fileupload.component.ts +5 -6
  286. package/assets/ts/components/filter-card/filter-card.component.ts +4 -5
  287. package/assets/ts/components/filterlist/filterlist.component.ts +1 -2
  288. package/assets/ts/components/header/header.component.ts +1 -3
  289. package/assets/ts/components/inline-edit/inline-edit.component.ts +8 -11
  290. package/assets/ts/components/marketing/marketing.component.ts +1 -3
  291. package/assets/ts/components/menu/menu.component.ts +222 -0
  292. package/assets/ts/components/multi-step/multi-step.component.ts +19 -23
  293. package/assets/ts/components/multiselect/multiselect.component.ts +13 -14
  294. package/assets/ts/components/nav/nav.component.ts +8 -9
  295. package/assets/ts/components/notification/notification.component.ts +3 -3
  296. package/assets/ts/components/pagination/pagination.component.ts +7 -8
  297. package/assets/ts/components/record-card/record-card.component.ts +9 -11
  298. package/assets/ts/components/search/search.component.ts +12 -9
  299. package/assets/ts/components/slider/slider.component.ts +9 -10
  300. package/assets/ts/components/table/table.component.ts +19 -18
  301. package/assets/ts/components/tabs/tabs.component.ts +2 -3
  302. package/assets/ts/components/video-card/video-card.component.ts +13 -12
  303. package/assets/ts/modules/applied-filters.ts +10 -11
  304. package/assets/ts/modules/card.module.ts +1 -1
  305. package/assets/ts/modules/carousel.ts +13 -15
  306. package/assets/ts/modules/chart.module.ts +176 -24
  307. package/assets/ts/modules/chart.ts +26 -24
  308. package/assets/ts/modules/dialogs.ts +10 -13
  309. package/assets/ts/modules/drawer.ts +1 -2
  310. package/assets/ts/modules/dynamicEvents.ts +12 -14
  311. package/assets/ts/modules/fileupload.ts +10 -10
  312. package/assets/ts/modules/filterlist.ts +6 -7
  313. package/assets/ts/modules/form.ts +16 -17
  314. package/assets/ts/modules/helpers.ts +18 -21
  315. package/assets/ts/modules/inputs.ts +15 -18
  316. package/assets/ts/modules/nav.ts +4 -5
  317. package/assets/ts/modules/notification.ts +7 -8
  318. package/assets/ts/modules/orderablelist.ts +3 -4
  319. package/assets/ts/modules/pagination.ts +1 -1
  320. package/assets/ts/modules/table.ts +103 -60
  321. package/assets/ts/modules/tabs.ts +6 -14
  322. package/assets/ts/scripts.ts +70 -6
  323. package/assets/ts/tests/card.spec.ts +19 -0
  324. package/assets/ts/tests/carousel.spec.ts +66 -0
  325. package/assets/ts/tests/chart.spec.ts +9 -6
  326. package/assets/ts/tests/fileupload.spec.ts +30 -0
  327. package/assets/ts/tests/multistep.spec.ts +78 -0
  328. package/dist/components.es.js +1258 -1063
  329. package/dist/components.umd.js +473 -195
  330. package/package.json +44 -49
  331. package/src/components/BentoGrid/BentoGrid.vue +20 -0
  332. package/src/components/DoughnutChart/DoughnutChart.vue +23 -0
  333. package/src/components/FileUpload/FileUpload.vue +4 -1
  334. package/src/components/Menu/Menu.vue +22 -0
  335. package/src/components/Tabs/Tabs.vue +0 -4
  336. package/src/index.js +25 -19
  337. package/assets/css/components/actionbar.css +0 -1
  338. package/assets/css/components/actionbar.css.map +0 -1
  339. package/assets/css/components/nav.css +0 -1
  340. package/assets/css/components/nav.css.map +0 -1
  341. package/assets/css/components/table.css.map +0 -1
  342. package/assets/js/components.bundle.js +0 -5
  343. package/assets/js/components.bundle.js.map +0 -1
  344. package/assets/js/components.js +0 -57
  345. package/assets/js/modules/file-upload.js +0 -32
  346. package/assets/sass/components.reset.scss +0 -8
  347. package/assets/sass/foundations/bs_grid.scss +0 -32
  348. package/assets/ts/components.ts +0 -62
  349. package/assets/ts/modules/file-upload.ts +0 -52
  350. package/dist/style.css +0 -1
  351. /package/assets/sass/components/{table.scss → table.component.scss} +0 -0
@@ -0,0 +1,1445 @@
1
+ @use 'sass:map';
2
+
3
+ @use 'functions' as *;
4
+ @use 'variables' as *;
5
+
6
+ @use 'mixins' as *;
7
+
8
+ $layers: 'true' !default;
9
+
10
+ $mobileOnly: 'false' !default;
11
+
12
+ $new_utilities: ();
13
+
14
+ $style_breakpoints: ();
15
+
16
+ @each $bp, $value in $grid-breakpoints {
17
+ @if $bp != 'xs' {
18
+ $style_breakpoints: map.merge((#{$bp}: ''), $style_breakpoints);
19
+ } @else {
20
+ $style_breakpoints: map.merge((#{$bp}: -#{$bp}), $style_breakpoints);
21
+ }
22
+ }
23
+
24
+ // #region Clearfix
25
+ $new_utilities: map.merge(
26
+ $new_utilities,
27
+ (
28
+ 'clearfix': 'Clear the floats from both sides',
29
+ )
30
+ );
31
+
32
+ @mixin clearfix() {
33
+ .clearfix {
34
+ &::after {
35
+ display: block;
36
+ clear: both;
37
+ content: '';
38
+ }
39
+ }
40
+ }
41
+ // #endregion
42
+
43
+ // #region visually-hidden
44
+ $new_utilities: map.merge(
45
+ $new_utilities,
46
+ (
47
+ 'visually-hidden': 'Hide an element from the standard user but not from screen readers',
48
+ )
49
+ );
50
+
51
+ @mixin visually-hidden() {
52
+ .visually-hidden,
53
+ .visually-hidden-focusable:not(:focus):not(:focus-within) {
54
+ position: absolute !important;
55
+ width: 1px !important;
56
+ height: 1px !important;
57
+ padding: 0 !important;
58
+ margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686
59
+ overflow: hidden !important;
60
+ clip: rect(0, 0, 0, 0) !important;
61
+ white-space: nowrap !important;
62
+ border: 0 !important;
63
+ }
64
+ }
65
+ // #endregion
66
+
67
+ // #region text-truncate
68
+ $new_utilities: map.merge(
69
+ $new_utilities,
70
+ (
71
+ 'text-truncate': 'Keep the text onto one line and add an ellipsis if needed',
72
+ )
73
+ );
74
+
75
+ @mixin text-truncate() {
76
+ .text-truncate {
77
+ overflow: hidden;
78
+ text-overflow: ellipsis;
79
+ white-space: nowrap;
80
+ }
81
+ }
82
+ // #endregion
83
+
84
+ // #region ratio
85
+ $new_utilities: map.merge(
86
+ $new_utilities,
87
+ (
88
+ 'ratio': 'Use pre-defined aspect ratios to generate the sizing or elements',
89
+ )
90
+ );
91
+
92
+ @mixin ratio() {
93
+ .ratio {
94
+ position: relative;
95
+ width: 100%;
96
+
97
+ &::before {
98
+ display: block;
99
+ padding-top: var(--aspect-ratio);
100
+ content: '';
101
+ }
102
+
103
+ > * {
104
+ position: absolute;
105
+ top: 0;
106
+ left: 0;
107
+ width: 100%;
108
+ height: 100%;
109
+ }
110
+ }
111
+
112
+ @each $key, $ratio in $aspect-ratios {
113
+ .ratio-#{$key} {
114
+ --aspect-ratio: #{$ratio};
115
+ }
116
+ }
117
+ }
118
+ // #endregion
119
+
120
+ // #region fixed
121
+ $new_utilities: map.merge(
122
+ $new_utilities,
123
+ (
124
+ 'fixed': 'Fix elements to either the top or bottom',
125
+ )
126
+ );
127
+
128
+ @mixin fixed() {
129
+ .fixed-top {
130
+ position: fixed;
131
+ top: 0;
132
+ right: 0;
133
+ left: 0;
134
+ z-index: $zindex-fixed;
135
+ }
136
+
137
+ .fixed-bottom {
138
+ position: fixed;
139
+ right: 0;
140
+ bottom: 0;
141
+ left: 0;
142
+ z-index: $zindex-fixed;
143
+ }
144
+ }
145
+ // #endregion
146
+
147
+ // #region sticky
148
+ $new_utilities: map.merge(
149
+ $new_utilities,
150
+ (
151
+ 'sticky': 'Make elements stick to either the top or bottom',
152
+ )
153
+ );
154
+
155
+ @mixin sticky() {
156
+ @each $breakpoint in map.keys($grid-breakpoints) {
157
+ @include media-breakpoint-up($breakpoint, $mobileOnly) {
158
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
159
+
160
+ .sticky#{$infix}-top {
161
+ position: sticky;
162
+ top: 0;
163
+ z-index: $zindex-sticky;
164
+ }
165
+
166
+ .sticky#{$infix}-bottom {
167
+ position: sticky;
168
+ bottom: 0;
169
+ z-index: $zindex-sticky;
170
+ }
171
+ }
172
+ }
173
+ }
174
+ // #endregion
175
+
176
+ // #region max-height
177
+ $new_utilities: map.merge(
178
+ $new_utilities,
179
+ (
180
+ 'max-height':
181
+ 'Set a pre-defined max height on an element, note this will create a scrollable area if the content is larger than the max height.',
182
+ )
183
+ );
184
+
185
+ @mixin max-height() {
186
+ :is(.mh-sm, .mh-md, .mh-lg, .mh-sm-sm, .mh-sm-md, .mh-sm-lg, .mh-md-sm, .mh-md-md, .mh-md-lg, .mh-fluid) {
187
+ &:not(iam-table):not(.table__wrapper) {
188
+ padding-inline: var(--mh-padding-inline, 0);
189
+ margin-inline: calc(var(--mh-padding-inline, 0) * -1);
190
+ }
191
+
192
+ &::before {
193
+ top: calc(100% - 1.5rem);
194
+ bottom: 0;
195
+ left: 0;
196
+ right: 0;
197
+ height: 1.5rem;
198
+ position: sticky;
199
+ display: block;
200
+ background: linear-gradient(180deg, transparent 0%, var(--colour-canvas-2) 100%);
201
+ z-index: 2;
202
+ margin-bottom: -1.5rem;
203
+ }
204
+ }
205
+
206
+ :is(.mh-sm, .mh-md, .mh-lg, .mh-fluid) {
207
+ overflow: auto;
208
+ overscroll-behavior: contain;
209
+
210
+ &::before {
211
+ content: '';
212
+ }
213
+ }
214
+
215
+ .mh-sm {
216
+ max-height: calc(#{rem(200)} - var(--mh-modifier, 0rem));
217
+ }
218
+
219
+ .mh-md {
220
+ max-height: calc(#{rem(400)} - var(--mh-modifier, 0rem));
221
+ }
222
+
223
+ .mh-lg {
224
+ max-height: calc(#{rem(600)} - var(--mh-modifier, 0rem));
225
+ }
226
+
227
+ .mh-fluid {
228
+ max-height: 100%;
229
+ }
230
+
231
+ @include media-breakpoint-up(sm, $mobileOnly) {
232
+ :is(.mh-sm-sm, .mh-sm-md, .mh-sm-lg) {
233
+ overflow: auto;
234
+ overscroll-behavior: contain;
235
+
236
+ &::before {
237
+ content: '';
238
+ }
239
+ }
240
+
241
+ .mh-sm-sm {
242
+ max-height: calc(#{rem(200)} - var(--mh-modifier, 0rem));
243
+ }
244
+
245
+ .mh-sm-md {
246
+ max-height: calc(#{rem(400)} - var(--mh-modifier, 0rem));
247
+ }
248
+
249
+ .mh-sm-lg {
250
+ max-height: calc(#{rem(600)} - var(--mh-modifier, 0rem));
251
+ }
252
+ }
253
+
254
+ @include media-breakpoint-up(md, $mobileOnly) {
255
+ :is(.mh-md-sm, .mh-md-md, .mh-md-lg) {
256
+ overflow: auto;
257
+ overscroll-behavior: contain;
258
+
259
+ &::before {
260
+ content: '';
261
+ }
262
+ }
263
+
264
+ .mh-md-sm {
265
+ max-height: calc(#{rem(200)} - var(--mh-modifier, 0rem));
266
+ }
267
+
268
+ .mh-md-md {
269
+ max-height: calc(#{rem(400)} - var(--mh-modifier, 0rem));
270
+ }
271
+
272
+ .mh-md-lg {
273
+ max-height: calc(#{rem(600)} - var(--mh-modifier, 0rem));
274
+ }
275
+ }
276
+ }
277
+ // #endregion
278
+
279
+ // #region js-display
280
+ $new_utilities: map.merge(
281
+ $new_utilities,
282
+ (
283
+ 'js-display': 'Show and hide elements depending upon if javascript is running or not',
284
+ )
285
+ );
286
+
287
+ @mixin js-display() {
288
+ @media (scripting: enabled) {
289
+ .js-show {
290
+ display: none !important;
291
+ }
292
+ }
293
+
294
+ @media (scripting: none) {
295
+ .js-hide {
296
+ display: none !important;
297
+ }
298
+ }
299
+ }
300
+ // #endregion
301
+
302
+ // #region Line clamp
303
+ $new_utilities: map.merge(
304
+ $new_utilities,
305
+ (
306
+ 'line-clamp': 'Restricts a texts height to a number of lines (1-5)',
307
+ )
308
+ );
309
+
310
+ @mixin line-clamp() {
311
+ .line-clamp {
312
+ display: -webkit-box;
313
+ -webkit-box-orient: vertical;
314
+ -webkit-line-clamp: 1;
315
+ text-overflow: hidden;
316
+ overflow: hidden;
317
+ }
318
+
319
+ .line-clamp--2 {
320
+ -webkit-line-clamp: 2;
321
+ }
322
+
323
+ .line-clamp--3 {
324
+ -webkit-line-clamp: 3;
325
+ }
326
+
327
+ .line-clamp--4 {
328
+ -webkit-line-clamp: 4;
329
+ }
330
+
331
+ .line-clamp--5 {
332
+ -webkit-line-clamp: 5;
333
+ }
334
+ }
335
+ // #endregion
336
+
337
+ // #region Wider colours
338
+ $new_utilities: map.merge(
339
+ $new_utilities,
340
+ (
341
+ 'wider-colours': 'Apply the wider range of colours in our design system',
342
+ )
343
+ );
344
+
345
+ @mixin wider-colours() {
346
+ @each $colour, $value in $wider-colours {
347
+ .wider-colour-#{$colour} {
348
+ --wider-colour: var(--wider-colour-#{$colour});
349
+ --wider-colour-hover: var(--wider-colour-#{$colour}-hover);
350
+ --wider-colour-active: var(--wider-colour-#{$colour}-active);
351
+ color: #262626 !important;
352
+ }
353
+ }
354
+ }
355
+ // #endregion
356
+
357
+ // #region Align
358
+ $new_utilities: map.merge(
359
+ $new_utilities,
360
+ (
361
+ 'align': 'Change the alignment of the text ',
362
+ )
363
+ );
364
+
365
+ @mixin align() {
366
+ .align-baseline {
367
+ vertical-align: baseline !important;
368
+ }
369
+
370
+ .align-top {
371
+ vertical-align: top !important;
372
+ }
373
+
374
+ .align-middle {
375
+ vertical-align: middle !important;
376
+ }
377
+
378
+ .align-bottom {
379
+ vertical-align: bottom !important;
380
+ }
381
+
382
+ .align-text-bottom {
383
+ vertical-align: text-bottom !important;
384
+ }
385
+
386
+ .align-text-top {
387
+ vertical-align: text-top !important;
388
+ }
389
+ }
390
+ // #endregion
391
+
392
+ // #region Opacity
393
+ $new_utilities: map.merge(
394
+ $new_utilities,
395
+ (
396
+ 'opacity': 'Apply the opacity of an element by intervals of 25%',
397
+ )
398
+ );
399
+
400
+ @mixin opacity() {
401
+ .opacity-0 {
402
+ opacity: 0 !important;
403
+ }
404
+
405
+ .opacity-25 {
406
+ opacity: 0.25 !important;
407
+ }
408
+
409
+ .opacity-50 {
410
+ opacity: 0.5 !important;
411
+ }
412
+
413
+ .opacity-75 {
414
+ opacity: 0.75 !important;
415
+ }
416
+
417
+ .opacity-100 {
418
+ opacity: 1 !important;
419
+ }
420
+ }
421
+ // #endregion
422
+
423
+ // #region Overflow
424
+ $new_utilities: map.merge(
425
+ $new_utilities,
426
+ (
427
+ 'overflow': 'Update the overflow of an element',
428
+ )
429
+ );
430
+
431
+ @mixin overflow() {
432
+ .overflow-auto {
433
+ overflow: auto !important;
434
+ }
435
+
436
+ .overflow-hidden {
437
+ overflow: hidden !important;
438
+ }
439
+
440
+ .overflow-visible {
441
+ overflow: visible !important;
442
+ }
443
+
444
+ .overflow-scroll {
445
+ overflow: scroll !important;
446
+ }
447
+ }
448
+ // #endregion
449
+
450
+ // #region Display
451
+ $new_utilities: map.merge(
452
+ $new_utilities,
453
+ (
454
+ 'display': 'Update the display of an element, can be applied at different breakpoints',
455
+ )
456
+ );
457
+
458
+ @mixin display() {
459
+ @each $breakpoint in map.keys($grid-breakpoints) {
460
+ @include media-breakpoint-up($breakpoint, $mobileOnly) {
461
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
462
+
463
+ .d#{$infix}-inline {
464
+ display: inline !important;
465
+ }
466
+
467
+ .d#{$infix}-inline-block {
468
+ display: inline-block !important;
469
+ }
470
+
471
+ .d#{$infix}-block {
472
+ display: block !important;
473
+ }
474
+
475
+ .d#{$infix}-grid {
476
+ display: grid !important;
477
+ }
478
+
479
+ .d#{$infix}-table {
480
+ display: table !important;
481
+ }
482
+
483
+ .d#{$infix}-table-row {
484
+ display: table-row !important;
485
+ }
486
+
487
+ .d#{$infix}-table-cell {
488
+ display: table-cell !important;
489
+ }
490
+
491
+ .d#{$infix}-flex {
492
+ display: flex !important;
493
+ }
494
+
495
+ .d#{$infix}-inline-flex {
496
+ display: inline-flex !important;
497
+ }
498
+
499
+ .d#{$infix}-none {
500
+ display: none !important;
501
+ }
502
+ }
503
+ }
504
+ }
505
+ // #endregion
506
+
507
+ // #region Position
508
+ $new_utilities: map.merge(
509
+ $new_utilities,
510
+ (
511
+ 'position': 'Update the position of an element, can be applied at different breakpoints',
512
+ )
513
+ );
514
+
515
+ @mixin position() {
516
+ @each $breakpoint in map.keys($grid-breakpoints) {
517
+ @include media-breakpoint-up($breakpoint, $mobileOnly) {
518
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
519
+ .position#{$infix}-static {
520
+ position: static !important;
521
+ }
522
+
523
+ .position#{$infix}-relative {
524
+ position: relative !important;
525
+ }
526
+
527
+ .position#{$infix}-absolute {
528
+ position: absolute !important;
529
+ }
530
+
531
+ .position#{$infix}-fixed {
532
+ position: fixed !important;
533
+ }
534
+
535
+ .position#{$infix}-sticky {
536
+ position: sticky !important;
537
+ }
538
+
539
+ .top#{$infix}-0 {
540
+ top: 0 !important;
541
+ }
542
+
543
+ .top#{$infix}-50 {
544
+ top: 50% !important;
545
+ }
546
+
547
+ .top#{$infix}-100 {
548
+ top: 100% !important;
549
+ }
550
+
551
+ .bottom#{$infix}-0 {
552
+ bottom: 0 !important;
553
+ }
554
+
555
+ .bottom#{$infix}-50 {
556
+ bottom: 50% !important;
557
+ }
558
+
559
+ .bottom#{$infix}-100 {
560
+ bottom: 100% !important;
561
+ }
562
+
563
+ .start#{$infix}-0 {
564
+ left: 0 !important;
565
+ }
566
+
567
+ .start#{$infix}-50 {
568
+ left: 50% !important;
569
+ }
570
+
571
+ .start#{$infix}-100 {
572
+ left: 100% !important;
573
+ }
574
+
575
+ .end#{$infix}-0 {
576
+ right: 0 !important;
577
+ }
578
+
579
+ .end#{$infix}-50 {
580
+ right: 50% !important;
581
+ }
582
+
583
+ .end#{$infix}-100 {
584
+ right: 100% !important;
585
+ }
586
+
587
+ .translate#{$infix}-middle {
588
+ transform: translate(-50%, -50%) !important;
589
+ }
590
+
591
+ .translate#{$infix}-middle-x {
592
+ transform: translateX(-50%) !important;
593
+ }
594
+
595
+ .translate#{$infix}-middle-y {
596
+ transform: translateY(-50%) !important;
597
+ }
598
+ }
599
+ }
600
+ }
601
+ // #endregion
602
+
603
+ // #region Border
604
+ $new_utilities: map.merge(
605
+ $new_utilities,
606
+ (
607
+ 'border': 'Apply a border and adjust its settings',
608
+ )
609
+ );
610
+
611
+ @mixin border() {
612
+ .border {
613
+ border: var(--border-width) var(--border-style) var(--border-color) !important;
614
+ }
615
+
616
+ .border-0 {
617
+ border: 0 !important;
618
+ }
619
+
620
+ .border-top {
621
+ border-top: var(--border-width) var(--border-style) var(--border-color) !important;
622
+ }
623
+
624
+ .border-top-0 {
625
+ border-top: 0 !important;
626
+ }
627
+
628
+ .border-end {
629
+ border-right: var(--border-width) var(--border-style) var(--border-color) !important;
630
+ }
631
+
632
+ .border-end-0 {
633
+ border-right: 0 !important;
634
+ }
635
+
636
+ .border-bottom {
637
+ border-bottom: var(--border-width) var(--border-style) var(--border-color) !important;
638
+ }
639
+
640
+ .border-bottom-0 {
641
+ border-bottom: 0 !important;
642
+ }
643
+
644
+ .border-start {
645
+ border-left: var(--border-width) var(--border-style) var(--border-color) !important;
646
+ }
647
+
648
+ .border-start-0 {
649
+ border-left: 0 !important;
650
+ }
651
+
652
+ .border-1 {
653
+ --border-width: 1px;
654
+ }
655
+
656
+ .border-2 {
657
+ --border-width: 2px;
658
+ }
659
+
660
+ .border-3 {
661
+ --border-width: 3px;
662
+ }
663
+
664
+ .border-4 {
665
+ --border-width: 4px;
666
+ }
667
+
668
+ .border-5 {
669
+ --border-width: 5px;
670
+ }
671
+
672
+ .border-opacity-10 {
673
+ --border-opacity: 0.1;
674
+ }
675
+
676
+ .border-opacity-25 {
677
+ --border-opacity: 0.25;
678
+ }
679
+
680
+ .border-opacity-50 {
681
+ --border-opacity: 0.5;
682
+ }
683
+
684
+ .border-opacity-75 {
685
+ --border-opacity: 0.75;
686
+ }
687
+
688
+ .border-opacity-100 {
689
+ --border-opacity: 1;
690
+ }
691
+ }
692
+ // #endregion
693
+
694
+ // #region Sizes
695
+ $new_utilities: map.merge(
696
+ $new_utilities,
697
+ (
698
+ 'sizes': 'Apply sizing rules to an element',
699
+ )
700
+ );
701
+
702
+ @mixin sizes() {
703
+ .w-25 {
704
+ width: 25% !important;
705
+ }
706
+
707
+ .w-50 {
708
+ width: 50% !important;
709
+ }
710
+
711
+ .w-75 {
712
+ width: 75% !important;
713
+ }
714
+
715
+ .w-100 {
716
+ width: 100% !important;
717
+ }
718
+
719
+ .w-auto {
720
+ width: auto !important;
721
+ }
722
+
723
+ .mw-100 {
724
+ max-width: 100% !important;
725
+ }
726
+
727
+ .mw-fit-content {
728
+ max-width: fit-content !important;
729
+ }
730
+
731
+ .mw-content {
732
+ max-width: var(--content-max-width) !important;
733
+ }
734
+
735
+ .vw-100 {
736
+ width: 100vw !important;
737
+ }
738
+
739
+ .min-vw-100 {
740
+ min-width: 100vw !important;
741
+ }
742
+
743
+ .h-25 {
744
+ height: 25% !important;
745
+ }
746
+
747
+ .h-50 {
748
+ height: 50% !important;
749
+ }
750
+
751
+ .h-75 {
752
+ height: 75% !important;
753
+ }
754
+
755
+ .h-100 {
756
+ height: 100% !important;
757
+ }
758
+
759
+ .h-auto {
760
+ height: auto !important;
761
+ }
762
+
763
+ .mh-100 {
764
+ max-height: 100% !important;
765
+ }
766
+
767
+ .vh-100 {
768
+ height: 100vh !important;
769
+ }
770
+
771
+ .min-vh-100 {
772
+ min-height: 100vh !important;
773
+ }
774
+
775
+ .min-100 {
776
+ min-width: 100% !important;
777
+ }
778
+
779
+ .min-fit-content {
780
+ min-width: fit-content !important;
781
+ }
782
+
783
+ .object-cover {
784
+ object-fit: cover !important;
785
+ }
786
+
787
+ .object-contain {
788
+ object-fit: contain !important;
789
+ }
790
+ }
791
+ // #endregion
792
+
793
+ // #region Flex
794
+ $new_utilities: map.merge(
795
+ $new_utilities,
796
+ (
797
+ 'flex': 'Update the flex rules of an element, can be applied at different breakpoints',
798
+ )
799
+ );
800
+
801
+ @mixin flex() {
802
+ @each $breakpoint in map.keys($grid-breakpoints) {
803
+ @include media-breakpoint-up($breakpoint, $mobileOnly) {
804
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
805
+
806
+ .flex#{$infix}-fill {
807
+ flex: 1 1 auto !important;
808
+ }
809
+
810
+ .flex#{$infix}-row {
811
+ flex-direction: row !important;
812
+ }
813
+
814
+ .flex#{$infix}-column {
815
+ flex-direction: column !important;
816
+ }
817
+
818
+ .flex#{$infix}-row-reverse {
819
+ flex-direction: row-reverse !important;
820
+ }
821
+
822
+ .flex#{$infix}-column-reverse {
823
+ flex-direction: column-reverse !important;
824
+ }
825
+
826
+ .flex#{$infix}-grow-0 {
827
+ flex-grow: 0 !important;
828
+ }
829
+
830
+ .flex#{$infix}-grow-1 {
831
+ flex-grow: 1 !important;
832
+ }
833
+
834
+ .flex#{$infix}-shrink-0 {
835
+ flex-shrink: 0 !important;
836
+ }
837
+
838
+ .flex#{$infix}-shrink-1 {
839
+ flex-shrink: 1 !important;
840
+ }
841
+
842
+ .flex#{$infix}-wrap {
843
+ flex-wrap: wrap !important;
844
+ }
845
+
846
+ .flex#{$infix}-nowrap {
847
+ flex-wrap: nowrap !important;
848
+ }
849
+
850
+ .flex#{$infix}-wrap-reverse {
851
+ flex-wrap: wrap-reverse !important;
852
+ }
853
+
854
+ .justify-content#{$infix}-start {
855
+ justify-content: flex-start !important;
856
+ }
857
+
858
+ .justify-content#{$infix}-end {
859
+ justify-content: flex-end !important;
860
+ }
861
+
862
+ .justify-content#{$infix}-center {
863
+ justify-content: center !important;
864
+ }
865
+
866
+ .justify-content#{$infix}-between {
867
+ justify-content: space-between !important;
868
+ }
869
+
870
+ .justify-content#{$infix}-around {
871
+ justify-content: space-around !important;
872
+ }
873
+
874
+ .justify-content#{$infix}-evenly {
875
+ justify-content: space-evenly !important;
876
+ }
877
+
878
+ .align-items#{$infix}-start {
879
+ align-items: flex-start !important;
880
+ }
881
+
882
+ .align-items#{$infix}-end {
883
+ align-items: flex-end !important;
884
+ }
885
+
886
+ .align-items#{$infix}-center {
887
+ align-items: center !important;
888
+ }
889
+
890
+ .align-items#{$infix}-baseline {
891
+ align-items: baseline !important;
892
+ }
893
+
894
+ .align-items#{$infix}-stretch {
895
+ align-items: stretch !important;
896
+ }
897
+
898
+ .align-content#{$infix}-start {
899
+ align-content: flex-start !important;
900
+ }
901
+
902
+ .align-content#{$infix}-end {
903
+ align-content: flex-end !important;
904
+ }
905
+
906
+ .align-content#{$infix}-center {
907
+ align-content: center !important;
908
+ }
909
+
910
+ .align-content#{$infix}-between {
911
+ align-content: space-between !important;
912
+ }
913
+
914
+ .align-content#{$infix}-around {
915
+ align-content: space-around !important;
916
+ }
917
+
918
+ .align-content#{$infix}-stretch {
919
+ align-content: stretch !important;
920
+ }
921
+
922
+ .align-self#{$infix}-auto {
923
+ align-self: auto !important;
924
+ }
925
+
926
+ .align-self#{$infix}-start {
927
+ align-self: flex-start !important;
928
+ }
929
+
930
+ .align-self#{$infix}-end {
931
+ align-self: flex-end !important;
932
+ }
933
+
934
+ .align-self#{$infix}-center {
935
+ align-self: center !important;
936
+ }
937
+
938
+ .align-self#{$infix}-baseline {
939
+ align-self: baseline !important;
940
+ }
941
+
942
+ .align-self#{$infix}-stretch {
943
+ align-self: stretch !important;
944
+ }
945
+ }
946
+ }
947
+ }
948
+ // #endregion
949
+
950
+ // #region Order
951
+ $new_utilities: map.merge(
952
+ $new_utilities,
953
+ (
954
+ 'order': 'Update the order of an element, can be applied at different breakpoints',
955
+ )
956
+ );
957
+
958
+ @mixin order() {
959
+ @each $breakpoint in map.keys($grid-breakpoints) {
960
+ @include media-breakpoint-up($breakpoint, $mobileOnly) {
961
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
962
+
963
+ .order#{$infix}-first {
964
+ order: -1 !important;
965
+ }
966
+
967
+ .order#{$infix}-0 {
968
+ order: 0 !important;
969
+ }
970
+
971
+ .order#{$infix}-1 {
972
+ order: 1 !important;
973
+ }
974
+
975
+ .order#{$infix}-2 {
976
+ order: 2 !important;
977
+ }
978
+
979
+ .order#{$infix}-3 {
980
+ order: 3 !important;
981
+ }
982
+
983
+ .order#{$infix}-4 {
984
+ order: 4 !important;
985
+ }
986
+
987
+ .order#{$infix}-5 {
988
+ order: 5 !important;
989
+ }
990
+
991
+ .order#{$infix}-last {
992
+ order: 6 !important;
993
+ }
994
+ }
995
+ }
996
+ }
997
+ // #endregion
998
+
999
+ // #region Margins
1000
+ $new_utilities: map.merge(
1001
+ $new_utilities,
1002
+ (
1003
+ 'margins': 'Adjust the margins of an element',
1004
+ )
1005
+ );
1006
+
1007
+ @mixin margins() {
1008
+ @each $key, $value in $spacers {
1009
+ .m-#{$key} {
1010
+ margin: #{$value} !important;
1011
+ }
1012
+
1013
+ .mx-#{$key} {
1014
+ margin-left: #{$value} !important;
1015
+ margin-right: #{$value} !important;
1016
+ }
1017
+
1018
+ .my-#{$key} {
1019
+ margin-top: #{$value} !important;
1020
+ margin-bottom: #{$value} !important;
1021
+ }
1022
+
1023
+ .mt-#{$key} {
1024
+ margin-top: #{$value} !important;
1025
+ }
1026
+
1027
+ .me-#{$key} {
1028
+ margin-right: #{$value} !important;
1029
+ }
1030
+
1031
+ .mb-#{$key} {
1032
+ margin-bottom: #{$value} !important;
1033
+ }
1034
+
1035
+ .ms-#{$key} {
1036
+ margin-left: #{$value} !important;
1037
+ }
1038
+ }
1039
+
1040
+ .m-auto {
1041
+ margin: auto !important;
1042
+ }
1043
+
1044
+ .mx-auto {
1045
+ margin-right: auto !important;
1046
+ margin-left: auto !important;
1047
+ }
1048
+
1049
+ .my-auto {
1050
+ margin-top: auto !important;
1051
+ margin-bottom: auto !important;
1052
+ }
1053
+
1054
+ .mt-auto {
1055
+ margin-top: auto !important;
1056
+ }
1057
+
1058
+ .me-auto {
1059
+ margin-right: auto !important;
1060
+ }
1061
+
1062
+ .mb-auto {
1063
+ margin-bottom: auto !important;
1064
+ }
1065
+
1066
+ .ms-auto {
1067
+ margin-left: auto !important;
1068
+ }
1069
+ }
1070
+ // #endregion
1071
+
1072
+ // #region Paddings
1073
+ $new_utilities: map.merge(
1074
+ $new_utilities,
1075
+ (
1076
+ 'paddings': 'Adjust the paddings of an element',
1077
+ )
1078
+ );
1079
+
1080
+ @mixin paddings() {
1081
+ @each $key, $value in $spacers {
1082
+ .p-#{$key} {
1083
+ padding: #{$value} !important;
1084
+ }
1085
+
1086
+ .px-#{$key} {
1087
+ padding-left: #{$value} !important;
1088
+ padding-right: #{$value} !important;
1089
+ }
1090
+
1091
+ .py-#{$key} {
1092
+ padding-top: #{$value} !important;
1093
+ padding-bottom: #{$value} !important;
1094
+ }
1095
+
1096
+ .pt-#{$key} {
1097
+ padding-top: #{$value} !important;
1098
+ }
1099
+
1100
+ .pe-#{$key} {
1101
+ padding-right: #{$value} !important;
1102
+ }
1103
+
1104
+ .pb-#{$key} {
1105
+ padding-bottom: #{$value} !important;
1106
+ }
1107
+
1108
+ .ps-#{$key} {
1109
+ padding-left: #{$value} !important;
1110
+ }
1111
+ }
1112
+ }
1113
+ // #endregion
1114
+
1115
+ // #region Gap
1116
+ $new_utilities: map.merge(
1117
+ $new_utilities,
1118
+ (
1119
+ 'gap': 'Update the gap sizing of an element with the display flex',
1120
+ )
1121
+ );
1122
+
1123
+ @mixin gap() {
1124
+ @each $key, $value in $spacers {
1125
+ .gap-#{$key} {
1126
+ gap: #{$value} !important;
1127
+ }
1128
+ }
1129
+ }
1130
+ // #endregion
1131
+
1132
+ // #region Text
1133
+ $new_utilities: map.merge(
1134
+ $new_utilities,
1135
+ (
1136
+ 'text': 'Apply the text settings',
1137
+ )
1138
+ );
1139
+
1140
+ @mixin text() {
1141
+ .font-monospace {
1142
+ font-family: var(--font-monospace) !important;
1143
+ }
1144
+
1145
+ .font-body {
1146
+ font-family: var(--font-body) !important;
1147
+ }
1148
+
1149
+ .fs-1 {
1150
+ font-size: rfs-fluid-value(2.5rem) !important;
1151
+ }
1152
+
1153
+ .fs-2 {
1154
+ font-size: rfs-fluid-value(2rem) !important;
1155
+ }
1156
+
1157
+ .fs-3 {
1158
+ font-size: rfs-fluid-value(1.75rem) !important;
1159
+ }
1160
+
1161
+ .fs-4 {
1162
+ font-size: rfs-fluid-value(1.5rem) !important;
1163
+ }
1164
+
1165
+ .fs-5 {
1166
+ font-size: rfs-fluid-value(1.25rem) !important;
1167
+ }
1168
+
1169
+ .fs-6 {
1170
+ font-size: rfs-fluid-value(1rem) !important;
1171
+ }
1172
+
1173
+ .fst-italic {
1174
+ font-style: italic !important;
1175
+ }
1176
+
1177
+ .fst-normal {
1178
+ font-style: normal !important;
1179
+ }
1180
+
1181
+ .fw-light {
1182
+ font-weight: 300 !important;
1183
+ }
1184
+
1185
+ .fw-lighter {
1186
+ font-weight: lighter !important;
1187
+ }
1188
+
1189
+ .fw-normal {
1190
+ font-weight: 400 !important;
1191
+ }
1192
+
1193
+ .fw-bold {
1194
+ font-weight: 700 !important;
1195
+ }
1196
+
1197
+ .fw-semibold {
1198
+ font-weight: 600 !important;
1199
+ }
1200
+
1201
+ .fw-bolder {
1202
+ font-weight: bolder !important;
1203
+ }
1204
+
1205
+ .lh-0 {
1206
+ line-height: 0 !important;
1207
+ }
1208
+
1209
+ .lh-1 {
1210
+ line-height: 1 !important;
1211
+ }
1212
+
1213
+ .text-start {
1214
+ text-align: left !important;
1215
+ }
1216
+
1217
+ .text-end {
1218
+ text-align: right !important;
1219
+ }
1220
+
1221
+ .text-center {
1222
+ text-align: center !important;
1223
+ }
1224
+
1225
+ .text-decoration-none {
1226
+ text-decoration: none !important;
1227
+ }
1228
+
1229
+ .text-decoration-underline {
1230
+ text-decoration: underline !important;
1231
+ }
1232
+
1233
+ .text-decoration-line-through {
1234
+ text-decoration: line-through !important;
1235
+ }
1236
+
1237
+ .text-lowercase {
1238
+ text-transform: lowercase !important;
1239
+ }
1240
+
1241
+ .text-uppercase {
1242
+ text-transform: uppercase !important;
1243
+ }
1244
+
1245
+ .text-capitalize {
1246
+ text-transform: capitalize !important;
1247
+ }
1248
+
1249
+ .text-wrap {
1250
+ white-space: normal !important;
1251
+ }
1252
+
1253
+ .text-nowrap {
1254
+ white-space: nowrap !important;
1255
+ }
1256
+
1257
+ .text-break {
1258
+ word-wrap: break-word !important;
1259
+ word-break: break-word !important;
1260
+ }
1261
+ }
1262
+ // #endregion
1263
+
1264
+ // #region Colours
1265
+ $new_utilities: map.merge(
1266
+ $new_utilities,
1267
+ (
1268
+ 'colours': 'Applu our design system colours by either text colour or background',
1269
+ )
1270
+ );
1271
+
1272
+ @mixin colours() {
1273
+ @each $color, $value in $theme-colors {
1274
+ .text-#{$color} {
1275
+ --text-opacity: 1;
1276
+ color: var(--colour-#{$color}) !important;
1277
+ }
1278
+
1279
+ .bg-#{$color} {
1280
+ --bg-opacity: 1;
1281
+ --bg-colour: var(--colour-#{$color}) !important;
1282
+ background-color: var(--colour-#{$color}) !important;
1283
+ }
1284
+
1285
+ .colour-#{$color} {
1286
+ --colour: var(--colour-#{$color}) !important;
1287
+ }
1288
+ }
1289
+ }
1290
+ // #endregion
1291
+
1292
+ // #region gradients
1293
+ $new_utilities: map.merge(
1294
+ $new_utilities,
1295
+ (
1296
+ 'gradients': 'Add gradients to backgrounds',
1297
+ )
1298
+ );
1299
+
1300
+ @mixin gradients() {
1301
+ .bg-gradient {
1302
+ background-image: var(--gradient) !important;
1303
+ }
1304
+
1305
+ .gradient-success {
1306
+ --gradient-direction: 180deg;
1307
+ background-image: linear-gradient(
1308
+ var(--gradient-direction),
1309
+ var(--colour-success-theme) 0,
1310
+ transparent 100%
1311
+ ) !important;
1312
+ }
1313
+
1314
+ .gradient-primary {
1315
+ --gradient-direction: 180deg;
1316
+ background-image: linear-gradient(
1317
+ var(--gradient-direction),
1318
+ var(--colour-primary-theme) 0,
1319
+ transparent 100%
1320
+ ) !important;
1321
+ }
1322
+
1323
+ .gradient-info {
1324
+ --gradient-direction: 180deg;
1325
+ background-image: linear-gradient(
1326
+ var(--gradient-direction),
1327
+ var(--colour-info-theme) 0,
1328
+ transparent 100%
1329
+ ) !important;
1330
+ }
1331
+
1332
+ .gradient-direction-left {
1333
+ --gradient-direction: 90deg;
1334
+ }
1335
+
1336
+ .gradient-direction-angle {
1337
+ --gradient-direction: 135deg;
1338
+ }
1339
+ }
1340
+ // #endregion
1341
+
1342
+ // #region Pointer-events
1343
+ $new_utilities: map.merge(
1344
+ $new_utilities,
1345
+ (
1346
+ 'pointer-events': 'Disable or enable point events',
1347
+ )
1348
+ );
1349
+
1350
+ @mixin pointer-events() {
1351
+ .pe-none {
1352
+ pointer-events: none !important;
1353
+ }
1354
+
1355
+ .pe-auto {
1356
+ pointer-events: auto !important;
1357
+ }
1358
+ }
1359
+ // #endregion
1360
+
1361
+ // #region Rounded
1362
+ $new_utilities: map.merge(
1363
+ $new_utilities,
1364
+ (
1365
+ 'rounded': 'Add rounded corners',
1366
+ )
1367
+ );
1368
+
1369
+ @mixin rounded() {
1370
+ .rounded {
1371
+ border-radius: var(--border-radius) !important;
1372
+ }
1373
+
1374
+ .rounded-0 {
1375
+ border-radius: 0 !important;
1376
+ }
1377
+
1378
+ .rounded-1 {
1379
+ border-radius: var(--border-radius-sm) !important;
1380
+ }
1381
+
1382
+ .rounded-2 {
1383
+ border-radius: var(--border-radius) !important;
1384
+ }
1385
+
1386
+ .rounded-3 {
1387
+ border-radius: var(--border-radius-lg) !important;
1388
+ }
1389
+
1390
+ .rounded-4 {
1391
+ border-radius: var(--border-radius-xl) !important;
1392
+ }
1393
+
1394
+ .rounded-5 {
1395
+ border-radius: var(--border-radius-2xl) !important;
1396
+ }
1397
+
1398
+ .rounded-circle {
1399
+ border-radius: 50% !important;
1400
+ }
1401
+
1402
+ .rounded-pill {
1403
+ border-radius: var(--border-radius-pill) !important;
1404
+ }
1405
+
1406
+ .rounded-top {
1407
+ border-top-left-radius: var(--border-radius) !important;
1408
+ border-top-right-radius: var(--border-radius) !important;
1409
+ }
1410
+
1411
+ .rounded-end {
1412
+ border-top-right-radius: var(--border-radius) !important;
1413
+ border-bottom-right-radius: var(--border-radius) !important;
1414
+ }
1415
+
1416
+ .rounded-bottom {
1417
+ border-bottom-right-radius: var(--border-radius) !important;
1418
+ border-bottom-left-radius: var(--border-radius) !important;
1419
+ }
1420
+
1421
+ .rounded-start {
1422
+ border-bottom-left-radius: var(--border-radius) !important;
1423
+ border-top-left-radius: var(--border-radius) !important;
1424
+ }
1425
+ }
1426
+ // #endregion
1427
+
1428
+ // #region Visible
1429
+ $new_utilities: map.merge(
1430
+ $new_utilities,
1431
+ (
1432
+ 'visible': 'Change the visibility of elements',
1433
+ )
1434
+ );
1435
+
1436
+ @mixin visible() {
1437
+ .visible {
1438
+ visibility: visible !important;
1439
+ }
1440
+
1441
+ .invisible {
1442
+ visibility: hidden !important;
1443
+ }
1444
+ }
1445
+ // #endregion