@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,57 @@
1
+ @use '../_func' as *;
2
+
3
+ $layers: 'true' !default;
4
+ $mobileOnly: 'false' !default;
5
+ $darkMode: 'true' !default;
6
+
7
+ @include layer('elements', $layers) {
8
+ // #region Tertiary Button
9
+
10
+ .btn.btn-tertiary {
11
+ background-color: transparent;
12
+ border: none;
13
+ color: var(--colour-link);
14
+ margin: 0 var(--btn-margin) var(--btn-margin) 0;
15
+ padding: 0;
16
+ font-size: rem(18);
17
+ font-weight: normal;
18
+ line-height: rem(24);
19
+ min-height: rem(24);
20
+ position: relative;
21
+
22
+ &:after {
23
+ position: absolute;
24
+ content: '';
25
+ top: 100%;
26
+ left: 50%;
27
+ height: 2px;
28
+ width: 100%;
29
+ transform: translate(-50%, 0);
30
+ background: var(--colour-underline);
31
+ transition: width 0.5s;
32
+ }
33
+
34
+ &.text-decoration-none:after {
35
+ width: 0%;
36
+ }
37
+
38
+ [class*='fa-'] {
39
+ margin-left: 0;
40
+ margin-right: 0.5rem;
41
+ }
42
+ [class*='fa-']:not(:first-child) {
43
+ margin-left: 0.5rem;
44
+ margin-right: 0;
45
+ }
46
+
47
+ &:is(:hover, :focus, .hover, :focus-within):not([disabled], :disabled, :active, .active) {
48
+ &:after {
49
+ width: 60% !important;
50
+ }
51
+ }
52
+ &:is(:active, .active):not([disabled], :disabled) {
53
+ color: var(--colour-active);
54
+ }
55
+ }
56
+ // #endregion
57
+ }
@@ -1,505 +1,31 @@
1
1
  @use '../_func.scss' as *;
2
2
 
3
- // #region rset
4
- button {
5
- // stylelint-disable-next-line property-disallowed-list
6
- border-radius: 0;
7
-
8
- text-transform: none;
9
- margin: 0; // 1
10
- font-family: inherit;
11
- @include font-size(inherit);
12
- line-height: inherit;
13
- }
14
-
15
- [role='button'] {
16
- cursor: pointer;
17
- }
18
- button:focus:not(:focus-visible) {
19
- outline: 0;
20
- }
21
-
22
- button,
23
- [type="button"], // 1
24
- [type="reset"],
25
- [type="submit"] {
26
- -webkit-appearance: button; // 2
27
-
28
- @if $enable-button-pointers {
29
- &:not(:disabled) {
30
- cursor: pointer; // 3
31
- }
32
- }
33
- }
34
- // #endregion
35
-
36
- // #region button primary
37
- .btn {
38
- --btn-margin: #{rem(16)};
39
- --btn-padding-block: #{rem(12)};
40
- --btn-padding-inline: #{rem(40)};
41
- --btn-border-width: 2px;
42
-
43
- @include media-breakpoint-up(sm) {
44
- --btn-margin: #{rem(24)};
45
- }
46
-
47
- &:not(.btn-secondary)[class*='colour-'] {
48
- --colour-btn-bg: var(--colour);
49
- --colour-btn-border: var(--colour);
50
- }
51
-
52
- &:is(.colour-primary, .colour-dark, .colour-danger, .colour-black) {
53
- --colour-btn: #{$colour-inverted};
54
- }
55
-
56
- display: inline-block;
57
- font-weight: bold;
58
- text-align: left;
59
- text-decoration: none;
60
- vertical-align: middle;
61
- cursor: pointer;
62
- user-select: none;
63
-
64
- background: var(--colour-btn-bg);
65
- border: var(--btn-border-width) solid var(--colour-btn-border);
66
- color: var(--colour-btn);
67
-
68
- font-size: rem(18);
69
- line-height: rem(24);
70
- padding: calc(var(--btn-padding-block) - var(--btn-border-width))
71
- calc(var(--btn-padding-inline) - var(--btn-border-width));
72
- border-radius: rem(24);
73
- margin-bottom: var(--btn-margin);
74
-
75
- &:not(:last-child) {
76
- margin-right: var(--btn-margin);
77
- }
78
- transition:
79
- background 0.5s,
80
- color 0.5s;
81
- height: auto;
82
- max-width: fit-content;
83
- appearance: none;
84
- white-space: nowrap;
85
-
86
- a:is(:hover, :focus, .hover, :focus-within):not([disabled], :active, .active) &,
87
- &:is(:hover, :focus, .hover, :focus-within):not([disabled], :active, .active) {
88
- outline: 0;
89
- text-decoration: none;
90
-
91
- background: var(--colour-btn-bg-hover);
92
- color: var(--colour-btn-hover);
93
- border-radius: rem(24);
94
- }
95
-
96
- a:is(:active, .active):not([disabled]) &,
97
- &:is(:active, .active):not([disabled]) {
98
- filter: brightness(85%);
99
- transition:
100
- background 0.1s,
101
- color 0.1s;
102
- color: var(--colour-btn);
103
- border-radius: rem(24);
104
- }
105
-
106
- a:disabled &,
107
- &:disabled {
108
- opacity: 0.4;
109
- cursor: not-allowed;
110
- }
111
- }
112
- // #endregion
113
-
114
- // #region secondary button
115
- .btn-secondary {
116
- background: var(--colour-btn-secondary-bg);
117
- border: 2px solid var(--colour-btn-secondary-border);
118
- color: var(--colour-btn-secondary);
119
- }
120
-
121
- a:is(:hover, :focus, .hover, :active, .active):not([disabled]) .btn-secondary,
122
- .btn-secondary:is(:hover, :focus, .hover, :focus-within, :active, .active):not([disabled]) {
123
- background: var(--colour-btn-secondary-bg-hover);
124
- color: var(--colour-btn-secondary-hover);
125
- }
126
- // #endregion
127
-
128
- // #region Action button
129
- .btn-action {
130
- --btn-border-width: 1px;
131
- --btn-padding-block: #{rem(6)};
132
- --btn-padding-inline: #{rem(6)};
133
-
134
- background-color: var(--colour-canvas-2);
135
- border: var(--btn-border-width) solid var(--colour-muted);
136
- border-radius: rem(4) !important;
137
- font-weight: 400 !important;
138
- font-size: 1rem;
139
- line-height: rem(20);
140
-
141
- color: var(--colour-heading);
142
-
143
- &.btn[class*='fa-']:before {
144
- content: var(--fa);
145
- margin-right: rem(6);
146
- }
147
-
148
- a:is(:hover, :focus, .hover, :focus-within):not([disabled], :active, .active) &,
149
- &:is(:hover, :focus, .hover, :focus-within):not([disabled], :active, .active) {
150
- background: var(--colour-btn-action-hover-bg);
151
- }
152
-
153
- a:is(:active, .active):not([disabled]) &,
154
- &:is(:active, .active):not([disabled]) {
155
- filter: brightness(85%);
156
- transition: all 0.1s;
157
- color: var(--colour-heading);
158
- }
159
- }
160
- // #endregion
161
-
162
- // #region button with icon
163
- .btn {
164
- &[class*='fa-']:before {
165
- content: var(--fa);
166
- font-family: 'Font Awesome 6 Pro';
167
- line-height: 1em;
168
- }
169
-
170
- &.btn[class*='fa-after'] {
171
- padding-right: 4rem;
172
- }
173
- &.btn[class*='fa-after']:before {
174
- margin-right: 0;
175
- margin-right: rem(6);
176
- position: absolute;
177
- right: 1.5rem;
178
- top: 50%;
179
- transform: translate(0, -50%);
180
- }
181
-
182
- &:not(.btn-compact):before {
183
- margin-right: 1rem;
184
- }
185
-
186
- i[class*='fa-'] {
187
- font-family: 'Font Awesome 6 Pro';
188
- margin-right: 1rem;
189
- line-height: 1em;
190
- font-style: inherit;
191
-
192
- &:not(:first-child) {
193
- margin-left: 1rem;
194
- margin-right: 0;
195
- }
196
- }
197
- }
198
- // #endregion
199
-
200
- // #region button with prompt
201
- .btn.btn--prompt {
202
- &:after {
203
- content: '';
204
- height: rem(24);
205
- width: rem(16);
206
- display: inline-block;
207
- background: currentColor;
208
- mask-image: var(--icon-arrow);
209
- mask-size: 100%;
210
- mask-repeat: no-repeat;
211
- mask-position: 50% 50%;
212
- -webkit-mask-image: var(--icon-arrow);
213
- -webkit-mask-size: 100%;
214
- -webkit-mask-repeat: no-repeat;
215
- -webkit-mask-position: 50% 50%;
216
- vertical-align: bottom;
217
- margin-left: 1rem;
218
- }
219
-
220
- a:is(:hover, :focus, .hover):not([disabled], :active, .active) &,
221
- &:is(:hover, :focus, .hover):not([disabled], :active, .active) {
222
- &:after {
223
- margin-left: 1.5rem;
224
- margin-right: -0.5rem;
225
- }
226
- }
227
- }
228
- // #endregion
229
-
230
- // #region button small and tag
231
- .btn.btn-sm {
232
- --btn-padding-block: #{rem(8)};
233
- --btn-padding-inline: #{rem(32)};
234
- }
235
- // #endregion
236
-
237
- // #region btn compact
238
- .btn-compact {
239
- --compact-size: #{rem(48)};
240
-
241
- padding: 0 !important;
242
- margin-bottom: rem(8);
243
-
244
- &:not(:last-child) {
245
- margin-right: rem(8);
246
- }
247
- text-align: center;
248
-
249
- width: calc(var(--compact-size));
250
- min-width: calc(var(--compact-size));
251
- max-width: calc(var(--compact-size));
252
- height: calc(var(--compact-size)) !important;
253
- min-height: calc(var(--compact-size)) !important;
254
- max-height: calc(var(--compact-size)) !important;
255
-
256
- line-height: calc(var(--compact-size) - var(--btn-border-width) - var(--btn-border-width)) !important;
257
-
258
- text-indent: -500px;
259
- overflow: hidden;
260
- position: relative;
261
- font-size: rem(20);
262
-
263
- &:before {
264
- content: var(--fa);
265
- position: absolute;
266
- top: 0;
267
- left: 0;
268
- width: 100%;
269
- height: 100%;
270
- text-indent: 0;
271
- line-height: calc(var(--compact-size) - var(--btn-border-width) - var(--btn-border-width));
272
- font-weight: 900;
273
- }
274
-
275
- &[class*='fa-']:before {
276
- line-height: calc(var(--compact-size) - var(--btn-border-width) - var(--btn-border-width)) !important;
277
- }
278
-
279
- &.btn-sm {
280
- --compact-size: #{rem(40)};
281
-
282
- font-size: 1rem;
283
- padding: 0 !important;
284
- }
285
-
286
- &.btn-action {
287
- --compact-size: #{rem(32)};
288
- font-size: 1rem;
289
-
290
- &:before {
291
- font-size: 1em;
292
- font-weight: 400;
293
- }
294
- }
295
-
296
- &.btn-secondary {
297
- --colour-btn-border: transparent;
298
- border-color: transparent;
299
-
300
- &:not([class*='colour-']) {
301
- --colour: var(--colour-light);
302
- }
303
- }
304
-
305
- &.btn-secondary:is(:hover, :focus, .hover, :active, .active, [aria-expanded], :focus-within):not([disabled]):not(
306
- .btn-collapse
307
- ) {
308
- background-color: var(--colour);
309
- color: var(--colour-primary-theme);
310
- border-color: transparent !important;
311
-
312
- &:is(.colour-primary, .colour-dark, .colour-danger, .colour-black) {
313
- color: var(--colour-inverted);
314
- }
315
- }
316
-
317
- &[data-number] {
318
- position: relative;
319
- }
320
- &[data-number]:after {
321
- content: attr(data-number);
322
- position: absolute;
323
- top: 0.5em;
324
- z-index: 99;
325
- background: var(--colour-danger);
326
- height: 1.5em;
327
- width: 1.5em;
328
- border-radius: 50%;
329
- text-indent: 0;
330
- left: 50%;
331
- font-size: 0.5em;
332
- line-height: 1.5em;
333
- text-align: center;
334
- color: white;
335
- letter-spacing: -0.1em;
336
- font-family: arial, sans-serif;
337
- }
338
- }
339
- // #endregion
340
-
341
- // #region btn with colour success
342
- .btn.colour-success {
343
- --colour-btn-bg-hover: var(--colour);
344
- --colour-btn-border-hover: var(--colour);
345
- --colour-btn-hover: var(--colour-primary-theme);
346
- position: relative;
347
- padding-left: rem(56);
348
- padding-right: rem(56);
349
-
350
- a:is(:hover, :focus, .hover):not([disabled], :active, .active) &,
351
- &:is(:hover, :focus, .hover):not([disabled], :active, .active) {
352
- padding-left: rem(40);
353
- padding-right: rem(40);
354
-
355
- &:before {
356
- content: '\f00c';
357
- font-family: 'Font Awesome 6 Pro';
358
- margin-right: 1rem;
359
- font-style: inherit;
360
- width: 1rem;
361
- display: inline-block;
362
- height: rem(24);
363
- vertical-align: bottom;
364
- }
365
- }
366
- }
367
- // #endregion
368
-
369
- // #region Select as button
370
-
371
- .btn:has(select) {
372
- position: relative;
373
- padding-right: rem(56);
374
-
375
- &:not(.mw-100) {
376
- max-width: rem(112 + 40 + 56);
377
- }
378
-
379
- select {
380
- all: unset !important;
381
-
382
- padding: calc(rem(12) - 2px) calc(rem(40) - 2px) !important;
383
- margin: calc(rem(-12)) calc(rem(-40)) !important;
384
-
385
- padding-right: rem(56) !important;
386
- margin-right: rem(-56) !important;
387
- border-radius: rem(24) !important;
388
- appearance: none !important;
389
- background: none !important;
390
- border: none !important;
391
- color: currentColor !important;
392
- display: block;
393
- max-width: 100% !important;
394
- outline: none;
395
- font-weight: bold;
396
- font-size: 1.125rem !important;
397
- line-height: 1.5rem !important;
398
- option {
399
- padding: 0;
400
- text-align: left;
401
- color: var(--colour-primary);
402
- }
403
- }
404
-
405
- &:after {
406
- position: absolute;
407
- top: rem(10);
408
- right: rem(32);
409
-
410
- content: '';
411
- height: rem(24);
412
- width: rem(16);
413
- display: inline-block;
414
- background: currentColor;
415
- mask-image: var(--icon-arrow);
416
- mask-size: 100%;
417
- mask-repeat: no-repeat;
418
- mask-position: 50% 50%;
419
- -webkit-mask-image: var(--icon-arrow);
420
- -webkit-mask-size: 100%;
421
- -webkit-mask-repeat: no-repeat;
422
- -webkit-mask-position: 50% 50%;
423
- vertical-align: bottom;
424
- margin-left: 1rem;
425
- transform: rotate(90deg);
426
- pointer-events: none;
427
- }
428
-
429
- &.active:after {
430
- transform: rotate(-90deg);
431
- }
432
- }
433
-
434
- .btn:has(select:focus):after {
435
- transform: rotate(-90deg);
436
- }
437
-
438
- // #endregion
439
-
440
- // #region button that opens up a filter dialog
441
- .btn-filter {
442
- &:after {
443
- content: '\f1de';
444
- display: inline-block;
445
- margin-left: 1em;
446
- margin-bottom: -0.15em;
447
- height: 1em;
448
- width: 1em;
449
- z-index: var(--index-focus);
450
- color: currentColor;
451
- font-weight: 300;
452
- font-family: 'Font Awesome 6 Pro';
453
- }
454
- }
455
- // #endregion
456
-
457
- // #region Tertiary Button
458
-
459
- .btn.btn-tertiary {
460
- background-color: transparent;
461
- border: none;
462
- color: var(--colour-link);
463
- margin: 0 var(--btn-margin) var(--btn-margin) 0;
464
- padding: 0;
465
- font-size: rem(18);
466
- font-weight: normal;
467
- line-height: rem(24);
468
- min-height: rem(24);
469
- position: relative;
470
-
471
- &:after {
472
- position: absolute;
473
- content: '';
474
- top: 100%;
475
- left: 50%;
476
- height: 2px;
477
- width: 100%;
478
- transform: translate(-50%, 0);
479
- background: var(--colour-underline);
480
- transition: width 0.5s;
481
- }
482
-
483
- &.text-decoration-none:after {
484
- width: 0%;
485
- }
486
-
487
- [class*='fa-'] {
488
- margin-left: 0;
489
- margin-right: 0.5rem;
490
- }
491
- [class*='fa-']:not(:first-child) {
492
- margin-left: 0.5rem;
493
- margin-right: 0;
494
- }
495
-
496
- &:is(:hover, :focus, .hover, :focus-within):not([disabled], :active, .active) {
497
- &:after {
498
- width: 60% !important;
499
- }
500
- }
501
- &:is(:active, .active):not([disabled]) {
502
- color: var(--colour-active);
503
- }
504
- }
505
- // #endregion
3
+ $layers: 'true' !default;
4
+ $mobileOnly: 'false' !default;
5
+ $darkMode: 'true' !default;
6
+
7
+ @use './buttons--global.scss' with (
8
+ $layers: $layers,
9
+ $darkMode: $darkMode,
10
+ $mobileOnly: $mobileOnly
11
+ );
12
+ @use './buttons--secondary.scss' with (
13
+ $layers: $layers,
14
+ $darkMode: $darkMode,
15
+ $mobileOnly: $mobileOnly
16
+ );
17
+ @use './buttons--tertiary.scss' with (
18
+ $layers: $layers,
19
+ $darkMode: $darkMode,
20
+ $mobileOnly: $mobileOnly
21
+ );
22
+ @use './buttons--action.scss' with (
23
+ $layers: $layers,
24
+ $darkMode: $darkMode,
25
+ $mobileOnly: $mobileOnly
26
+ );
27
+ @use './buttons--compact.scss' with (
28
+ $layers: $layers,
29
+ $darkMode: $darkMode,
30
+ $mobileOnly: $mobileOnly
31
+ );