@iamproperty/components 7.1.0--beta7 → 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 (347) 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.map +1 -1
  63. package/assets/css/components/testimonial.css.map +1 -1
  64. package/assets/css/components/timeline.css.map +1 -1
  65. package/assets/css/core.min.css +1 -1
  66. package/assets/css/core.min.css.map +1 -1
  67. package/assets/css/mobile-core.min.css +1 -0
  68. package/assets/css/mobile-core.min.css.map +1 -0
  69. package/assets/css/mobile.min.css +1 -0
  70. package/assets/css/mobile.min.css.map +1 -0
  71. package/assets/css/style.min.css +1 -1
  72. package/assets/css/style.min.css.map +1 -1
  73. package/assets/js/components/_global.js +0 -1
  74. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  75. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  76. package/assets/js/components/actionbar/actionbar.component.js +86 -8
  77. package/assets/js/components/actionbar/actionbar.component.min.js +19 -6
  78. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  79. package/assets/js/components/address-lookup/address-lookup.component.js +17 -18
  80. package/assets/js/components/address-lookup/address-lookup.component.min.js +5 -5
  81. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  82. package/assets/js/components/applied-filters/applied-filters.component.js +0 -1
  83. package/assets/js/components/applied-filters/applied-filters.component.min.js +4 -4
  84. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  85. package/assets/js/components/barchart/barchart.component.js +2 -3
  86. package/assets/js/components/barchart/barchart.component.min.js +8 -4
  87. package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
  88. package/assets/js/components/bento-grid/bento-grid.component.js +50 -0
  89. package/assets/js/components/bento-grid/bento-grid.component.min.js +15 -0
  90. package/assets/js/components/bento-grid/bento-grid.component.min.js.map +1 -0
  91. package/assets/js/components/card/card.component.js +10 -13
  92. package/assets/js/components/card/card.component.min.js +7 -7
  93. package/assets/js/components/card/card.component.min.js.map +1 -1
  94. package/assets/js/components/carousel/carousel.component.js +4 -5
  95. package/assets/js/components/carousel/carousel.component.min.js +4 -4
  96. package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
  97. package/assets/js/components/chart/chart.component.js +1 -5
  98. package/assets/js/components/collapsible-side/collapsible-side.component.js +4 -5
  99. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +4 -4
  100. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
  101. package/assets/js/components/doughnutchart/doughnutchart.component.js +70 -0
  102. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +25 -0
  103. package/assets/js/components/doughnutchart/doughnutchart.component.min.js.map +1 -0
  104. package/assets/js/components/fileupload/fileupload.component.js +2 -3
  105. package/assets/js/components/fileupload/fileupload.component.min.js +6 -6
  106. package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
  107. package/assets/js/components/filter-card/filter-card.component.js +3 -4
  108. package/assets/js/components/filter-card/filter-card.component.min.js +4 -4
  109. package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
  110. package/assets/js/components/filterlist/filterlist.component.js +0 -1
  111. package/assets/js/components/filterlist/filterlist.component.min.js +3 -3
  112. package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -1
  113. package/assets/js/components/header/header.component.js +0 -1
  114. package/assets/js/components/header/header.component.min.js +1 -1
  115. package/assets/js/components/header/header.component.min.js.map +1 -1
  116. package/assets/js/components/inline-edit/inline-edit.component.js +7 -8
  117. package/assets/js/components/inline-edit/inline-edit.component.min.js +4 -4
  118. package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
  119. package/assets/js/components/marketing/marketing.component.js +0 -1
  120. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  121. package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
  122. package/assets/js/components/menu/menu.component.js +200 -0
  123. package/assets/js/components/menu/menu.component.min.js +77 -0
  124. package/assets/js/components/menu/menu.component.min.js.map +1 -0
  125. package/assets/js/components/multi-step/multi-step.component.js +10 -10
  126. package/assets/js/components/multi-step/multi-step.component.min.js +13 -0
  127. package/assets/js/components/multi-step/multi-step.component.min.js.map +1 -0
  128. package/assets/js/components/multiselect/multiselect.component.js +10 -10
  129. package/assets/js/components/multiselect/multiselect.component.min.js +3 -3
  130. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  131. package/assets/js/components/nav/nav.component.js +7 -7
  132. package/assets/js/components/nav/nav.component.min.js +7 -7
  133. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  134. package/assets/js/components/notification/notification.component.js +3 -3
  135. package/assets/js/components/notification/notification.component.min.js +4 -4
  136. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  137. package/assets/js/components/pagination/pagination.component.js +3 -4
  138. package/assets/js/components/pagination/pagination.component.min.js +4 -4
  139. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  140. package/assets/js/components/record-card/record-card.component.js +6 -8
  141. package/assets/js/components/record-card/record-card.component.min.js +4 -4
  142. package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
  143. package/assets/js/components/search/search.component.js +9 -6
  144. package/assets/js/components/search/search.component.min.js +8 -5
  145. package/assets/js/components/search/search.component.min.js.map +1 -1
  146. package/assets/js/components/slider/slider.component.js +8 -8
  147. package/assets/js/components/slider/slider.component.min.js +5 -5
  148. package/assets/js/components/slider/slider.component.min.js.map +1 -1
  149. package/assets/js/components/table/table.component.js +8 -9
  150. package/assets/js/components/table/table.component.min.js +7 -7
  151. package/assets/js/components/table/table.component.min.js.map +1 -1
  152. package/assets/js/components/tabs/tabs.component.js +1 -2
  153. package/assets/js/components/tabs/tabs.component.min.js +3 -3
  154. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  155. package/assets/js/components/video-card/video-card.component.js +4 -3
  156. package/assets/js/components/video-card/video-card.component.min.js +3 -3
  157. package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
  158. package/assets/js/modules/applied-filters.js +8 -9
  159. package/assets/js/modules/carousel.js +9 -10
  160. package/assets/js/modules/chart.js +5 -3
  161. package/assets/js/modules/chart.module.js +108 -1
  162. package/assets/js/modules/dialogs.js +6 -7
  163. package/assets/js/modules/drawer.js +1 -2
  164. package/assets/js/modules/dynamicEvents.js +7 -8
  165. package/assets/js/modules/fileupload.js +7 -7
  166. package/assets/js/modules/filterlist.js +3 -4
  167. package/assets/js/modules/form.js +12 -13
  168. package/assets/js/modules/helpers.js +3 -5
  169. package/assets/js/modules/inputs.js +6 -9
  170. package/assets/js/modules/nav.js +3 -4
  171. package/assets/js/modules/notification.js +2 -3
  172. package/assets/js/modules/orderablelist.js +0 -1
  173. package/assets/js/modules/table.js +80 -42
  174. package/assets/js/modules/tabs.js +3 -6
  175. package/assets/js/scripts.bundle.js +3 -3
  176. package/assets/js/scripts.bundle.js.map +1 -1
  177. package/assets/js/scripts.bundle.min.js +2 -2
  178. package/assets/js/scripts.bundle.min.js.map +1 -1
  179. package/assets/js/scripts.js +64 -6
  180. package/assets/js/tests/card.spec.js +14 -0
  181. package/assets/js/tests/carousel.spec.js +60 -0
  182. package/assets/js/tests/chart.spec.js +7 -5
  183. package/assets/js/tests/fileupload.spec.js +22 -0
  184. package/assets/js/tests/multistep.spec.js +68 -0
  185. package/assets/sass/_bs_grid.scss +4 -1
  186. package/assets/sass/_components.scss +323 -100
  187. package/assets/sass/_corefiles.scss +42 -18
  188. package/assets/sass/_elements.scss +98 -18
  189. package/assets/sass/_example.scss +61 -0
  190. package/assets/sass/_func.scss +5 -13
  191. package/assets/sass/_functions/bs_utilities.scss +43 -39
  192. package/assets/sass/_functions/functions.scss +66 -52
  193. package/assets/sass/_functions/mixins.scss +84 -100
  194. package/assets/sass/_functions/utility-mixins.scss +56 -44
  195. package/assets/sass/_functions/variables.scss +90 -1659
  196. package/assets/sass/_functions/variables_old.scss +1701 -0
  197. package/assets/sass/_grid.scss +19 -5
  198. package/assets/sass/_tests/func.spec.scss +1 -37
  199. package/assets/sass/_tests/mixins.spec.scss +1 -77
  200. package/assets/sass/_tests/typography.spec.scss +1 -1
  201. package/assets/sass/_utilities.scss +15 -5
  202. package/assets/sass/_utility-mixins.scss +6 -1
  203. package/assets/sass/components/{actionbar.scss → actionbar.component.scss} +82 -16
  204. package/assets/sass/components/actionbar.global.scss +28 -14
  205. package/assets/sass/components/address-lookup.scss +6 -0
  206. package/assets/sass/components/barchart.component.scss +7 -20
  207. package/assets/sass/components/bento-grid.component.scss +91 -0
  208. package/assets/sass/components/carousel.config.scss +64 -58
  209. package/assets/sass/components/charts.config.scss +73 -67
  210. package/assets/sass/components/charts.module.scss +128 -97
  211. package/assets/sass/components/charts.scss +43 -42
  212. package/assets/sass/components/collapsible-side.scss +29 -27
  213. package/assets/sass/components/doughnutchart.component.scss +205 -0
  214. package/assets/sass/components/fileupload.scss +4 -3
  215. package/assets/sass/components/header.scss +5 -5
  216. package/assets/sass/components/inline-edit.preload.scss +108 -102
  217. package/assets/sass/components/menu.component.scss +101 -0
  218. package/assets/sass/components/menu.scss +21 -0
  219. package/assets/sass/components/multi-step.component.scss +5 -3
  220. package/assets/sass/components/multiselect.preload.scss +36 -30
  221. package/assets/sass/components/{nav.scss → nav.component.scss} +41 -21
  222. package/assets/sass/components/nav.docs.scss +1 -1
  223. package/assets/sass/components/nav.global.scss +13 -11
  224. package/assets/sass/components/nav.old.scss +21 -24
  225. package/assets/sass/components/nav.preload.scss +40 -34
  226. package/assets/sass/components/notification.scss +9 -5
  227. package/assets/sass/components/pagination.scss +6 -0
  228. package/assets/sass/components/property-searchbar.scss +7 -7
  229. package/assets/sass/components/slider.scss +2 -0
  230. package/assets/sass/components/snapshot.scss +2 -2
  231. package/assets/sass/components/stepper.scss +7 -7
  232. package/assets/sass/components/table.global.scss +57 -1
  233. package/assets/sass/components/tabs.component.scss +5 -0
  234. package/assets/sass/components/tabs.scss +7 -3
  235. package/assets/sass/components/testimonial.scss +7 -7
  236. package/assets/sass/components/timeline.scss +1 -1
  237. package/assets/sass/core.scss +13 -4
  238. package/assets/sass/elements/admin-panel.scss +199 -185
  239. package/assets/sass/elements/badge-tag.scss +87 -81
  240. package/assets/sass/elements/brand.scss +67 -61
  241. package/assets/sass/elements/buttons--action.scss +55 -0
  242. package/assets/sass/elements/buttons--compact.scss +135 -0
  243. package/assets/sass/elements/buttons--global.scss +322 -0
  244. package/assets/sass/elements/buttons--secondary.scss +24 -0
  245. package/assets/sass/elements/buttons--tertiary.scss +57 -0
  246. package/assets/sass/elements/buttons.scss +29 -503
  247. package/assets/sass/elements/container.scss +157 -151
  248. package/assets/sass/elements/details.scss +147 -138
  249. package/assets/sass/elements/dialog.scss +36 -30
  250. package/assets/sass/elements/forms.scss +1061 -1047
  251. package/assets/sass/elements/icons.scss +23 -17
  252. package/assets/sass/elements/links.scss +131 -116
  253. package/assets/sass/elements/lists.scss +270 -264
  254. package/assets/sass/elements/media.scss +19 -13
  255. package/assets/sass/elements/modal.scss +336 -330
  256. package/assets/sass/elements/popover.scss +163 -152
  257. package/assets/sass/elements/progress.scss +173 -162
  258. package/assets/sass/elements/table.element.scss +115 -109
  259. package/assets/sass/elements/tooltips.scss +87 -80
  260. package/assets/sass/elements/type.scss +172 -160
  261. package/assets/sass/email.scss +0 -1
  262. package/assets/sass/error.scss +15 -13
  263. package/assets/sass/foundations/reboot.scss +176 -170
  264. package/assets/sass/foundations/root.scss +136 -125
  265. package/assets/sass/helpers/max-height.scss +2 -2
  266. package/assets/sass/main.scss +14 -6
  267. package/assets/sass/mobile-core.scss +14 -0
  268. package/assets/sass/mobile.scss +16 -0
  269. package/assets/sass/templates/auth.scss +88 -83
  270. package/assets/sass/templates/form.scss +68 -59
  271. package/assets/ts/components/_global.ts +2 -3
  272. package/assets/ts/components/actionbar/actionbar.component.ts +94 -2
  273. package/assets/ts/components/address-lookup/address-lookup.component.ts +21 -22
  274. package/assets/ts/components/applied-filters/applied-filters.component.ts +1 -2
  275. package/assets/ts/components/barchart/barchart.component.ts +3 -5
  276. package/assets/ts/components/bento-grid/README.md +31 -0
  277. package/assets/ts/components/bento-grid/bento-grid.component.ts +67 -0
  278. package/assets/ts/components/card/card.component.ts +13 -16
  279. package/assets/ts/components/carousel/carousel.component.ts +5 -7
  280. package/assets/ts/components/chart/chart.component.ts +4 -9
  281. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +5 -6
  282. package/assets/ts/components/doughnutchart/doughnutchart.component.ts +85 -0
  283. package/assets/ts/components/fileupload/fileupload.component.ts +5 -6
  284. package/assets/ts/components/filter-card/filter-card.component.ts +4 -5
  285. package/assets/ts/components/filterlist/filterlist.component.ts +1 -2
  286. package/assets/ts/components/header/header.component.ts +1 -3
  287. package/assets/ts/components/inline-edit/inline-edit.component.ts +8 -11
  288. package/assets/ts/components/marketing/marketing.component.ts +1 -3
  289. package/assets/ts/components/menu/menu.component.ts +222 -0
  290. package/assets/ts/components/multi-step/multi-step.component.ts +19 -23
  291. package/assets/ts/components/multiselect/multiselect.component.ts +13 -14
  292. package/assets/ts/components/nav/nav.component.ts +8 -9
  293. package/assets/ts/components/notification/notification.component.ts +3 -3
  294. package/assets/ts/components/pagination/pagination.component.ts +7 -8
  295. package/assets/ts/components/record-card/record-card.component.ts +9 -11
  296. package/assets/ts/components/search/search.component.ts +12 -9
  297. package/assets/ts/components/slider/slider.component.ts +9 -10
  298. package/assets/ts/components/table/table.component.ts +14 -16
  299. package/assets/ts/components/tabs/tabs.component.ts +2 -3
  300. package/assets/ts/components/video-card/video-card.component.ts +13 -12
  301. package/assets/ts/modules/applied-filters.ts +10 -11
  302. package/assets/ts/modules/card.module.ts +1 -1
  303. package/assets/ts/modules/carousel.ts +13 -15
  304. package/assets/ts/modules/chart.module.ts +152 -19
  305. package/assets/ts/modules/chart.ts +26 -24
  306. package/assets/ts/modules/dialogs.ts +10 -13
  307. package/assets/ts/modules/drawer.ts +1 -2
  308. package/assets/ts/modules/dynamicEvents.ts +12 -14
  309. package/assets/ts/modules/fileupload.ts +10 -10
  310. package/assets/ts/modules/filterlist.ts +6 -7
  311. package/assets/ts/modules/form.ts +16 -17
  312. package/assets/ts/modules/helpers.ts +18 -21
  313. package/assets/ts/modules/inputs.ts +15 -18
  314. package/assets/ts/modules/nav.ts +4 -5
  315. package/assets/ts/modules/notification.ts +7 -8
  316. package/assets/ts/modules/orderablelist.ts +3 -4
  317. package/assets/ts/modules/pagination.ts +1 -1
  318. package/assets/ts/modules/table.ts +103 -60
  319. package/assets/ts/modules/tabs.ts +5 -8
  320. package/assets/ts/scripts.ts +70 -6
  321. package/assets/ts/tests/card.spec.ts +19 -0
  322. package/assets/ts/tests/carousel.spec.ts +66 -0
  323. package/assets/ts/tests/chart.spec.ts +9 -6
  324. package/assets/ts/tests/fileupload.spec.ts +30 -0
  325. package/assets/ts/tests/multistep.spec.ts +78 -0
  326. package/dist/components.es.js +1258 -1063
  327. package/dist/components.umd.js +473 -195
  328. package/package.json +44 -49
  329. package/src/components/BentoGrid/BentoGrid.vue +20 -0
  330. package/src/components/DoughnutChart/DoughnutChart.vue +23 -0
  331. package/src/components/FileUpload/FileUpload.vue +4 -1
  332. package/src/components/Menu/Menu.vue +22 -0
  333. package/src/components/Tabs/Tabs.vue +0 -4
  334. package/src/index.js +25 -19
  335. package/assets/css/components/actionbar.css +0 -1
  336. package/assets/css/components/actionbar.css.map +0 -1
  337. package/assets/css/components/nav.css +0 -1
  338. package/assets/css/components/nav.css.map +0 -1
  339. package/assets/css/components/table.css.map +0 -1
  340. package/assets/js/components.bundle.js +0 -5
  341. package/assets/js/components.bundle.js.map +0 -1
  342. package/assets/js/components.js +0 -57
  343. package/assets/js/modules/file-upload.js +0 -32
  344. package/assets/ts/components.ts +0 -62
  345. package/assets/ts/modules/file-upload.ts +0 -52
  346. package/dist/style.css +0 -1
  347. /package/assets/sass/components/{table.scss → table.component.scss} +0 -0
@@ -0,0 +1,322 @@
1
+ @use '../_func' as *;
2
+
3
+ $layers: 'true' !default;
4
+ $mobileOnly: 'false' !default;
5
+ $darkMode: 'true' !default;
6
+
7
+ @include layer('elements', $layers) {
8
+ *,
9
+ *::before,
10
+ *::after {
11
+ box-sizing: border-box;
12
+ }
13
+
14
+ // #region reset
15
+ button {
16
+ // stylelint-disable-next-line property-disallowed-list
17
+ border-radius: 0;
18
+ text-transform: none;
19
+ margin: 0; // 1
20
+ font-family: inherit;
21
+ @include font-size(inherit);
22
+ line-height: inherit;
23
+ }
24
+
25
+ [role='button'] {
26
+ cursor: pointer;
27
+ }
28
+ button:focus:not(:focus-visible) {
29
+ outline: 0;
30
+ }
31
+
32
+ button,
33
+ [type="button"], // 1
34
+ [type="reset"],
35
+ [type="submit"] {
36
+ -webkit-appearance: button; // 2
37
+
38
+ @if $enable-button-pointers {
39
+ &:not(:disabled) {
40
+ cursor: pointer; // 3
41
+ }
42
+ }
43
+ }
44
+ // #endregion
45
+
46
+ // #region button primary
47
+ .btn {
48
+ --btn-margin: #{rem(16)};
49
+ --btn-padding-block: #{rem(12)};
50
+ --btn-padding-inline: #{rem(40)};
51
+ --btn-border-width: #{rem(2)};
52
+ --btn-font-size: #{rem(18)};
53
+ --btn-line-height: #{rem(20)};
54
+
55
+ display: inline-block;
56
+ font-weight: bold;
57
+ text-align: left;
58
+ text-decoration: none;
59
+ vertical-align: middle;
60
+ cursor: pointer;
61
+ user-select: none;
62
+
63
+ color: var(--colour-btn);
64
+
65
+ font-size: var(--btn-font-size);
66
+ line-height: var(--btn-line-height);
67
+ padding: var(--btn-padding-block) var(--btn-padding-inline);
68
+ border-radius: rem(24);
69
+ margin-bottom: var(--btn-margin);
70
+
71
+ transition:
72
+ background 0.5s,
73
+ color 0.5s;
74
+ height: auto;
75
+ max-width: fit-content;
76
+ appearance: none;
77
+ white-space: nowrap;
78
+
79
+ @include media-breakpoint-up(sm, $mobileOnly) {
80
+ --btn-margin: #{rem(24)};
81
+ }
82
+
83
+ &:not(.btn-secondary)[class*='colour-'] {
84
+ --colour-btn-bg: var(--colour);
85
+ --colour-btn-border: var(--colour);
86
+ }
87
+
88
+ &:is(.colour-primary, .colour-dark, .colour-danger, .colour-black) {
89
+ --colour-btn: #{$colour-inverted};
90
+ }
91
+
92
+ &:not(.border-0) {
93
+ background: var(--colour-btn-bg);
94
+ border: var(--btn-border-width) solid var(--colour-btn-border);
95
+ }
96
+
97
+ &:not(:last-child) {
98
+ margin-right: var(--btn-margin);
99
+ }
100
+
101
+ a:is(:hover, :focus, .hover, :focus-within):not([disabled], :active, .active) &,
102
+ &:is(:hover, :focus, .hover, :focus-within):not([disabled], :active, .active) {
103
+ outline: 0;
104
+ text-decoration: none;
105
+
106
+ background: var(--colour-btn-bg-hover);
107
+ color: var(--colour-btn-hover);
108
+ border-radius: rem(24);
109
+ }
110
+
111
+ a:is(:active, .active):not([disabled]) &,
112
+ &:is(:active, .active):not([disabled]) {
113
+ filter: brightness(85%);
114
+ transition:
115
+ background 0.1s,
116
+ color 0.1s;
117
+ color: var(--colour-btn);
118
+ border-radius: rem(24);
119
+ }
120
+
121
+ a:disabled &,
122
+ &:disabled,
123
+ [disabled] &,
124
+ &[disabled] {
125
+ opacity: 0.4;
126
+ cursor: not-allowed;
127
+ }
128
+ }
129
+ // #endregion
130
+
131
+ // #region btn with colour success
132
+ .btn.colour-success {
133
+ --colour-btn-bg-hover: var(--colour);
134
+ --colour-btn-border-hover: var(--colour);
135
+ --colour-btn-hover: var(--colour-primary-theme);
136
+ position: relative;
137
+ padding-left: rem(56);
138
+ padding-right: rem(56);
139
+
140
+ a:is(:hover, :focus, .hover):not([disabled], :active, .active) &,
141
+ &:is(:hover, :focus, .hover):not([disabled], :active, .active) {
142
+ padding-left: rem(40);
143
+ padding-right: rem(40);
144
+
145
+ &:before {
146
+ content: '\f00c';
147
+ font-family: 'Font Awesome 6 Pro';
148
+ margin-right: 1rem;
149
+ font-style: inherit;
150
+ width: 1rem;
151
+ display: inline-block;
152
+ height: var(--btn-line-height);
153
+ vertical-align: bottom;
154
+ }
155
+ }
156
+ }
157
+ // #endregion
158
+
159
+ // #region button small and tag
160
+ .btn.btn-sm {
161
+ --btn-padding-block: #{rem(8)};
162
+ --btn-padding-inline: #{rem(32)};
163
+ --btn-margin: #{rem(8)};
164
+ --btn-font-size: #{rem(16)};
165
+ }
166
+ // #endregion
167
+
168
+ // #region button with icon
169
+ .btn {
170
+ &[class*='fa-']:before {
171
+ content: var(--fa);
172
+ font-family: 'Font Awesome 6 Pro';
173
+ line-height: 1em;
174
+ }
175
+
176
+ &.btn[class*='fa-after'] {
177
+ padding-right: 4rem;
178
+ }
179
+ &.btn[class*='fa-after']:before {
180
+ margin-right: 0;
181
+ margin-right: rem(6);
182
+ position: absolute;
183
+ right: 1.5rem;
184
+ top: 50%;
185
+ transform: translate(0, -50%);
186
+ }
187
+
188
+ &:not(.btn-compact):before {
189
+ margin-right: 1rem;
190
+ }
191
+
192
+ i[class*='fa-'] {
193
+ font-family: 'Font Awesome 6 Pro';
194
+ margin-right: 1rem;
195
+ line-height: 1em;
196
+ font-style: inherit;
197
+
198
+ &:not(:first-child) {
199
+ margin-left: 1rem;
200
+ margin-right: 0;
201
+ }
202
+ }
203
+ }
204
+ // #endregion
205
+
206
+ // #region button with prompt
207
+ .btn.btn--prompt {
208
+ &:after {
209
+ content: '';
210
+ height: var(--btn-line-height);
211
+ width: rem(16);
212
+ display: inline-block;
213
+ background: currentColor;
214
+ mask-image: var(--icon-arrow);
215
+ mask-size: 100%;
216
+ mask-repeat: no-repeat;
217
+ mask-position: 50% 50%;
218
+ -webkit-mask-image: var(--icon-arrow);
219
+ -webkit-mask-size: 100%;
220
+ -webkit-mask-repeat: no-repeat;
221
+ -webkit-mask-position: 50% 50%;
222
+ vertical-align: bottom;
223
+ margin-left: 1rem;
224
+ }
225
+
226
+ a:is(:hover, :focus, .hover):not([disabled], :active, .active) &,
227
+ &:is(:hover, :focus, .hover):not([disabled], :active, .active) {
228
+ &:after {
229
+ margin-left: 1.5rem;
230
+ margin-right: -0.5rem;
231
+ }
232
+ }
233
+ }
234
+ // #endregion
235
+
236
+ // #region Select as button
237
+
238
+ .btn:has(select) {
239
+ position: relative;
240
+ padding-right: rem(56);
241
+
242
+ &:not(.mw-100) {
243
+ max-width: rem(112 + 40 + 56);
244
+ }
245
+
246
+ select {
247
+ all: unset !important;
248
+ margin: calc(rem(-12)) calc(rem(-40)) !important;
249
+ padding: var(--btn-padding-block) var(--btn-padding-inline) !important;
250
+ padding-right: rem(56) !important;
251
+ margin-right: rem(-56) !important;
252
+ border-radius: rem(24) !important;
253
+ appearance: none !important;
254
+ background: none !important;
255
+ border: none !important;
256
+ color: currentColor !important;
257
+ display: block;
258
+ max-width: 100% !important;
259
+ outline: none;
260
+ font-weight: bold;
261
+ font-size: var(--btn-font-size) !important;
262
+ line-height: var(--btn-line-height) !important;
263
+
264
+ option {
265
+ padding: 0;
266
+ text-align: left;
267
+ color: var(--colour-primary);
268
+ }
269
+ }
270
+
271
+ &:after {
272
+ position: absolute;
273
+ top: rem(10);
274
+ right: rem(32);
275
+
276
+ content: '';
277
+ height: rem(24);
278
+ width: rem(16);
279
+ display: inline-block;
280
+ background: currentColor;
281
+ mask-image: var(--icon-arrow);
282
+ mask-size: 100%;
283
+ mask-repeat: no-repeat;
284
+ mask-position: 50% 50%;
285
+ -webkit-mask-image: var(--icon-arrow);
286
+ -webkit-mask-size: 100%;
287
+ -webkit-mask-repeat: no-repeat;
288
+ -webkit-mask-position: 50% 50%;
289
+ vertical-align: bottom;
290
+ margin-left: 1rem;
291
+ transform: rotate(90deg);
292
+ pointer-events: none;
293
+ }
294
+
295
+ &.active:after {
296
+ transform: rotate(-90deg);
297
+ }
298
+ }
299
+
300
+ .btn:has(select:focus):after {
301
+ transform: rotate(-90deg);
302
+ }
303
+
304
+ // #endregion
305
+
306
+ // #region button that opens up a filter dialog
307
+ .btn-filter {
308
+ &:after {
309
+ content: '\f1de';
310
+ display: inline-block;
311
+ margin-left: 1em;
312
+ margin-bottom: -0.15em;
313
+ height: 1em;
314
+ width: 1em;
315
+ z-index: var(--index-focus);
316
+ color: currentColor;
317
+ font-weight: 300;
318
+ font-family: 'Font Awesome 6 Pro';
319
+ }
320
+ }
321
+ // #endregion
322
+ }
@@ -0,0 +1,24 @@
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 secondary button
9
+ .btn-secondary {
10
+ color: var(--colour-btn-secondary);
11
+
12
+ &:not(.border-0) {
13
+ background: var(--colour-btn-secondary-bg);
14
+ border: 2px solid var(--colour-btn-secondary-border);
15
+ }
16
+ }
17
+
18
+ a:is(:hover, :focus, .hover, :active, .active):not([disabled]) .btn-secondary,
19
+ .btn-secondary:is(:hover, :focus, .hover, :focus-within, :active, .active):not([disabled]) {
20
+ background: var(--colour-btn-secondary-bg-hover);
21
+ color: var(--colour-btn-secondary-hover);
22
+ }
23
+ // #endregion
24
+ }
@@ -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
+ }