@iamproperty/components 6.0.0 → 6.1.0--beta2

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 (277) hide show
  1. package/assets/bootstrap/README.md +8 -7
  2. package/assets/bootstrap/js/index.esm.js +19 -0
  3. package/assets/bootstrap/js/index.umd.js +34 -0
  4. package/assets/bootstrap/js/src/alert.js +1 -1
  5. package/assets/bootstrap/js/src/base-component.js +2 -2
  6. package/assets/bootstrap/js/src/button.js +1 -1
  7. package/assets/bootstrap/js/src/carousel.js +1 -1
  8. package/assets/bootstrap/js/src/collapse.js +1 -1
  9. package/assets/bootstrap/js/src/dom/data.js +1 -1
  10. package/assets/bootstrap/js/src/dom/event-handler.js +1 -1
  11. package/assets/bootstrap/js/src/dom/manipulator.js +1 -1
  12. package/assets/bootstrap/js/src/dom/selector-engine.js +1 -1
  13. package/assets/bootstrap/js/src/dropdown.js +3 -12
  14. package/assets/bootstrap/js/src/modal.js +13 -17
  15. package/assets/bootstrap/js/src/offcanvas.js +1 -1
  16. package/assets/bootstrap/js/src/popover.js +1 -1
  17. package/assets/bootstrap/js/src/scrollspy.js +10 -14
  18. package/assets/bootstrap/js/src/tab.js +4 -2
  19. package/assets/bootstrap/js/src/toast.js +4 -9
  20. package/assets/bootstrap/js/src/tooltip.js +50 -32
  21. package/assets/bootstrap/js/src/util/backdrop.js +1 -1
  22. package/assets/bootstrap/js/src/util/component-functions.js +1 -1
  23. package/assets/bootstrap/js/src/util/config.js +1 -1
  24. package/assets/bootstrap/js/src/util/focustrap.js +1 -1
  25. package/assets/bootstrap/js/src/util/index.js +1 -1
  26. package/assets/bootstrap/js/src/util/sanitizer.js +1 -1
  27. package/assets/bootstrap/js/src/util/scrollbar.js +1 -1
  28. package/assets/bootstrap/js/src/util/swipe.js +1 -1
  29. package/assets/bootstrap/js/src/util/template-factory.js +1 -1
  30. package/assets/bootstrap/package.json +27 -28
  31. package/assets/bootstrap/scss/_accordion.scss +4 -7
  32. package/assets/bootstrap/scss/_button-group.scss +1 -1
  33. package/assets/bootstrap/scss/_buttons.scss +7 -28
  34. package/assets/bootstrap/scss/_carousel.scss +3 -0
  35. package/assets/bootstrap/scss/_dropdown.scss +1 -2
  36. package/assets/bootstrap/scss/_functions.scss +2 -2
  37. package/assets/bootstrap/scss/_list-group.scss +5 -6
  38. package/assets/bootstrap/scss/_modal.scss +1 -1
  39. package/assets/bootstrap/scss/_nav.scss +2 -2
  40. package/assets/bootstrap/scss/_navbar.scss +0 -2
  41. package/assets/bootstrap/scss/_offcanvas.scss +4 -5
  42. package/assets/bootstrap/scss/_pagination.scss +1 -1
  43. package/assets/bootstrap/scss/_popover.scss +5 -5
  44. package/assets/bootstrap/scss/_toasts.scss +2 -5
  45. package/assets/bootstrap/scss/_variables-dark.scss +87 -0
  46. package/assets/bootstrap/scss/_variables.scss +17 -18
  47. package/assets/bootstrap/scss/bootstrap-utilities.scss +0 -3
  48. package/assets/bootstrap/scss/forms/_floating-labels.scss +0 -1
  49. package/assets/bootstrap/scss/forms/_input-group.scss +4 -7
  50. package/assets/bootstrap/scss/helpers/_focus-ring.scss +5 -0
  51. package/assets/bootstrap/scss/helpers/_icon-link.scss +25 -0
  52. package/assets/bootstrap/scss/mixins/_banner.scss +2 -2
  53. package/assets/bootstrap/scss/mixins/_color-mode.scss +21 -0
  54. package/assets/bootstrap/scss/mixins/_forms.scss +10 -10
  55. package/assets/bootstrap/scss/mixins/_table-variants.scss +2 -2
  56. package/assets/bootstrap/scss/mixins/_utilities.scss +1 -1
  57. package/assets/css/components/actionbar.css.map +1 -1
  58. package/assets/css/components/actionbar.global.css.map +1 -1
  59. package/assets/css/components/barchart.component.css +1 -1
  60. package/assets/css/components/barchart.component.css.map +1 -1
  61. package/assets/css/components/card.component.css +1 -0
  62. package/assets/css/components/card.component.css.map +1 -0
  63. package/assets/css/components/card.module.css +1 -0
  64. package/assets/css/components/card.module.css.map +1 -0
  65. package/assets/css/components/carousel.component.css +1 -0
  66. package/assets/css/components/carousel.component.css.map +1 -0
  67. package/assets/css/components/carousel.config.css +1 -0
  68. package/assets/css/components/carousel.config.css.map +1 -0
  69. package/assets/css/components/charts.config.css +1 -1
  70. package/assets/css/components/charts.config.css.map +1 -1
  71. package/assets/css/components/charts.css +1 -1
  72. package/assets/css/components/charts.css.map +1 -1
  73. package/assets/css/components/charts.module.css +1 -1
  74. package/assets/css/components/charts.module.css.map +1 -1
  75. package/assets/css/components/collapsible-side.css.map +1 -1
  76. package/assets/css/components/fileupload.css.map +1 -1
  77. package/assets/css/components/filter-card.component.css +1 -0
  78. package/assets/css/components/filter-card.component.css.map +1 -0
  79. package/assets/css/components/header.css +1 -1
  80. package/assets/css/components/header.css.map +1 -1
  81. package/assets/css/components/marketing.css.map +1 -1
  82. package/assets/css/components/multi-step.component.css +1 -0
  83. package/assets/css/components/multi-step.component.css.map +1 -0
  84. package/assets/css/components/multiselect.preload.css +1 -1
  85. package/assets/css/components/multiselect.preload.css.map +1 -1
  86. package/assets/css/components/nav.css.map +1 -1
  87. package/assets/css/components/nav.docs.css.map +1 -1
  88. package/assets/css/components/nav.global.css.map +1 -1
  89. package/assets/css/components/nav.old.css.map +1 -1
  90. package/assets/css/components/nav.preload.css +1 -1
  91. package/assets/css/components/nav.preload.css.map +1 -1
  92. package/assets/css/components/notification.css.map +1 -1
  93. package/assets/css/components/pagination.css.map +1 -1
  94. package/assets/css/components/property-searchbar.css.map +1 -1
  95. package/assets/css/components/record-card.component.css +1 -0
  96. package/assets/css/components/record-card.component.css.map +1 -0
  97. package/assets/css/components/slider.css.map +1 -1
  98. package/assets/css/components/snapshot.css.map +1 -1
  99. package/assets/css/components/stepper.css.map +1 -1
  100. package/assets/css/components/table.global.css.map +1 -1
  101. package/assets/css/components/tabs.css +1 -1
  102. package/assets/css/components/tabs.css.map +1 -1
  103. package/assets/css/components/testimonial.css.map +1 -1
  104. package/assets/css/components/timeline.css +1 -1
  105. package/assets/css/components/timeline.css.map +1 -1
  106. package/assets/css/components/video-card.component.css +1 -0
  107. package/assets/css/components/video-card.component.css.map +1 -0
  108. package/assets/css/core.min.css +1 -1
  109. package/assets/css/core.min.css.map +1 -1
  110. package/assets/css/style.min.css +1 -1
  111. package/assets/css/style.min.css.map +1 -1
  112. package/assets/img/illustrations/not-found.png +0 -0
  113. package/assets/js/components/accordion/accordion.component.min.js +2 -2
  114. package/assets/js/components/actionbar/actionbar.component.min.js +6 -6
  115. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  116. package/assets/js/components/address-lookup/address-lookup.component.min.js +2 -2
  117. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  118. package/assets/js/components/applied-filters/applied-filters.component.min.js +2 -2
  119. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  120. package/assets/js/components/barchart/barchart.component.js +2 -0
  121. package/assets/js/components/barchart/barchart.component.min.js +5 -3
  122. package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
  123. package/assets/js/components/card/card.component.js +92 -154
  124. package/assets/js/components/card/card.component.min.js +27 -32
  125. package/assets/js/components/card/card.component.min.js.map +1 -1
  126. package/assets/js/components/carousel/carousel.component.js +36 -41
  127. package/assets/js/components/carousel/carousel.component.min.js +18 -12
  128. package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
  129. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +2 -2
  130. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
  131. package/assets/js/components/fileupload/fileupload.component.min.js +2 -2
  132. package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
  133. package/assets/js/components/filter-card/filter-card.component.js +71 -0
  134. package/assets/js/components/filter-card/filter-card.component.min.js +27 -0
  135. package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -0
  136. package/assets/js/components/filterlist/filterlist.component.min.js +2 -2
  137. package/assets/js/components/header/header.component.min.js +3 -3
  138. package/assets/js/components/header/header.component.min.js.map +1 -1
  139. package/assets/js/components/inline-edit/inline-edit.component.min.js +2 -2
  140. package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
  141. package/assets/js/components/marketing/marketing.component.min.js +2 -2
  142. package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
  143. package/assets/js/components/multi-step/multi-step.component.js +162 -0
  144. package/assets/js/components/multiselect/multiselect.component.min.js +2 -2
  145. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  146. package/assets/js/components/nav/nav.component.min.js +2 -2
  147. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  148. package/assets/js/components/notification/notification.component.min.js +2 -2
  149. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  150. package/assets/js/components/pagination/pagination.component.min.js +2 -2
  151. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  152. package/assets/js/components/record-card/record-card.component.js +69 -0
  153. package/assets/js/components/record-card/record-card.component.min.js +27 -0
  154. package/assets/js/components/record-card/record-card.component.min.js.map +1 -0
  155. package/assets/js/components/search/search.component.min.js +2 -2
  156. package/assets/js/components/slider/slider.component.min.js +2 -2
  157. package/assets/js/components/slider/slider.component.min.js.map +1 -1
  158. package/assets/js/components/table/table.component.js +1 -1
  159. package/assets/js/components/table/table.component.min.js +4 -4
  160. package/assets/js/components/table/table.component.min.js.map +1 -1
  161. package/assets/js/components/tabs/tabs.component.min.js +3 -3
  162. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  163. package/assets/js/components/video-card/video-card.component.js +176 -0
  164. package/assets/js/components/video-card/video-card.component.min.js +30 -0
  165. package/assets/js/components/video-card/video-card.component.min.js.map +1 -0
  166. package/assets/js/components.bundle.js +5 -0
  167. package/assets/js/components.bundle.js.map +1 -0
  168. package/assets/js/components.js +30 -0
  169. package/assets/js/modules/card.module.js +33 -0
  170. package/assets/js/modules/carousel.js +110 -8
  171. package/assets/js/modules/chart.js +2 -2
  172. package/assets/js/modules/dialogs.js +5 -129
  173. package/assets/js/modules/table.js +1 -1
  174. package/assets/js/scripts.bundle.js +4 -195
  175. package/assets/js/scripts.bundle.js.map +1 -1
  176. package/assets/js/scripts.bundle.min.js +3 -3
  177. package/assets/js/scripts.bundle.min.js.map +1 -1
  178. package/assets/js/scripts.js +17 -0
  179. package/assets/js/tests/filterlist.spec.js +1 -1
  180. package/assets/sass/_components.scss +76 -12
  181. package/assets/sass/_corefiles.scss +19 -10
  182. package/assets/sass/_elements.scss +2 -0
  183. package/assets/sass/_func.scss +3 -0
  184. package/assets/sass/_functions/functions.scss +304 -1
  185. package/assets/sass/_functions/mixins.scss +458 -2
  186. package/assets/sass/_functions/utilities.scss +647 -2
  187. package/assets/sass/_functions/variables.scss +1724 -2
  188. package/assets/sass/_utilities.scss +126 -7
  189. package/assets/sass/components/card.component.scss +229 -0
  190. package/assets/sass/components/card.module.scss +154 -0
  191. package/assets/sass/components/carousel.component.scss +605 -0
  192. package/assets/sass/components/carousel.config.scss +84 -0
  193. package/assets/sass/components/charts.config.scss +3 -0
  194. package/assets/sass/components/charts.module.scss +5 -3
  195. package/assets/sass/components/filter-card.component.scss +106 -0
  196. package/assets/sass/components/header.scss +1 -0
  197. package/assets/sass/components/multi-step.component.scss +148 -0
  198. package/assets/sass/components/multiselect.preload.scss +7 -0
  199. package/assets/sass/components/nav.preload.scss +5 -0
  200. package/assets/sass/components/record-card.component.scss +204 -0
  201. package/assets/sass/components/tabs.scss +1 -1
  202. package/assets/sass/components/video-card.component.scss +80 -0
  203. package/assets/sass/components.reset.scss +5 -43
  204. package/assets/sass/elements/admin-panel.scss +2 -1
  205. package/assets/sass/elements/badge-tag.scss +5 -1
  206. package/assets/sass/elements/buttons.scss +36 -0
  207. package/assets/sass/elements/container.scss +16 -6
  208. package/assets/sass/elements/details.scss +2 -0
  209. package/assets/sass/elements/dialog.scss +2 -744
  210. package/assets/sass/elements/forms.scss +241 -24
  211. package/assets/sass/elements/links.scss +27 -4
  212. package/assets/sass/elements/lists.scss +46 -0
  213. package/assets/sass/elements/media.scss +10 -38
  214. package/assets/sass/elements/modal.scss +453 -0
  215. package/assets/sass/elements/popover.scss +207 -0
  216. package/assets/sass/elements/table.element.scss +35 -0
  217. package/assets/sass/elements/type.scss +38 -2
  218. package/assets/sass/error.scss +32 -1
  219. package/assets/sass/foundations/bs_grid.scss +33 -0
  220. package/assets/sass/foundations/grid.scss +270 -0
  221. package/assets/sass/foundations/reboot.scss +71 -49
  222. package/assets/sass/foundations/root.scss +16 -3
  223. package/assets/ts/components/barchart/barchart.component.ts +2 -0
  224. package/assets/ts/components/card/card.component.ts +94 -192
  225. package/assets/ts/components/carousel/carousel.component.ts +51 -44
  226. package/assets/ts/components/filter-card/filter-card.component.ts +81 -0
  227. package/assets/ts/components/multi-step/multi-step.component.ts +262 -0
  228. package/assets/ts/components/record-card/record-card.component.ts +82 -0
  229. package/assets/ts/components/table/table.component.ts +2 -1
  230. package/assets/ts/components/video-card/video-card.component.ts +227 -0
  231. package/assets/ts/components.ts +38 -0
  232. package/assets/ts/modules/card.module.ts +43 -0
  233. package/assets/ts/modules/carousel.ts +161 -7
  234. package/assets/ts/modules/dialogs.ts +6 -182
  235. package/assets/ts/modules/table.ts +1 -1
  236. package/assets/ts/scripts.ts +22 -0
  237. package/assets/ts/tests/filterlist.spec.ts +1 -1
  238. package/dist/components.es.js +227 -243
  239. package/dist/components.umd.js +105 -104
  240. package/dist/style.css +1 -1
  241. package/package.json +9 -7
  242. package/src/components/BarChart/BarChart.vue +2 -2
  243. package/src/components/Carousel/Carousel.vue +1 -15
  244. package/src/components/FilterCard/FilterCard.vue +25 -0
  245. package/src/components/MultiStep/MultiStep.vue +25 -0
  246. package/src/components/RecordCard/RecordCard.vue +25 -0
  247. package/src/components/VideoCard/VideoCard.vue +25 -0
  248. package/assets/css/components/card.css +0 -1
  249. package/assets/css/components/card.css.map +0 -1
  250. package/assets/css/components/card.global.css +0 -1
  251. package/assets/css/components/card.global.css.map +0 -1
  252. package/assets/css/components/card.preload.css +0 -1
  253. package/assets/css/components/card.preload.css.map +0 -1
  254. package/assets/css/components/carousel.css +0 -1
  255. package/assets/css/components/carousel.css.map +0 -1
  256. package/assets/css/components/carousel.preload.css +0 -1
  257. package/assets/css/components/carousel.preload.css.map +0 -1
  258. package/assets/js/bundle.js +0 -74
  259. package/assets/js/dynamic.js +0 -80
  260. package/assets/js/dynamic.min.js +0 -18
  261. package/assets/js/dynamic.min.js.map +0 -1
  262. package/assets/js/flat-components.js +0 -84
  263. package/assets/js/modules/youtubevideo.js +0 -106
  264. package/assets/sass/components/card.global.scss +0 -102
  265. package/assets/sass/components/card.preload.scss +0 -8
  266. package/assets/sass/components/card.scss +0 -606
  267. package/assets/sass/components/carousel.preload.scss +0 -82
  268. package/assets/sass/components/carousel.scss +0 -258
  269. package/assets/ts/bundle.ts +0 -94
  270. package/assets/ts/components/barchart/README.md +0 -37
  271. package/assets/ts/components/card/README.md +0 -39
  272. package/assets/ts/dynamic.ts +0 -107
  273. package/assets/ts/flat-components.ts +0 -106
  274. package/assets/ts/modules/youtubevideo.ts +0 -141
  275. package/assets/ts/tests/dialogs.spec.js +0 -50
  276. package/src/foundations/YoutubeVideo/README.md +0 -11
  277. package/src/foundations/YoutubeVideo/YoutubeVideo.vue +0 -24
@@ -0,0 +1,17 @@
1
+ // @ts-nocheck
2
+ // Modules
3
+ import * as helpers from '../js/modules/helpers.js';
4
+ import extendDialogs from '../js/modules/dialogs.js';
5
+ import createDataLayer from '../js/modules/data-layer.js';
6
+ import extendInputs from '../js/modules/inputs.js';
7
+ import createDynamicEvents from '../js/modules/dynamicEvents.js';
8
+ // Attach classes to dom elements
9
+ document.addEventListener("DOMContentLoaded", function () {
10
+ createDataLayer();
11
+ createDynamicEvents();
12
+ // Global stuff
13
+ helpers.addBodyClasses(document.body);
14
+ helpers.addGlobalEvents(document.body);
15
+ extendDialogs(document.body);
16
+ extendInputs(document.body);
17
+ });
@@ -17,6 +17,6 @@ describe('addDataAttributes', () => {
17
17
  filterTheList(list, "Lucas");
18
18
  test('should add a class of d-none to each item except the one containing Lucas Myers', () => {
19
19
  expect(list.querySelectorAll('li:not(.d-none)').length).toEqual(1);
20
- expect(list.querySelector('li:not(.d-none').textContent).toEqual('Lucas Myers');
20
+ expect(list.querySelector('li:not(.d-none)').textContent).toEqual('Lucas Myers');
21
21
  });
22
22
  });
@@ -2,30 +2,94 @@
2
2
  @use "_func" as *;
3
3
 
4
4
  @use 'components/nav.preload';
5
- @use 'components/card.preload';
6
- @use 'components/carousel.preload';
5
+ @use 'components/carousel.config';
7
6
  @use 'components/multiselect.preload';
8
7
  @use 'components/inline-edit.preload';
8
+ @use "components/charts.config.scss";
9
+
10
+ // Make sure the first
11
+ main {
12
+ position: relative;
13
+
14
+ > *:first-child {
15
+ padding-top: 2rem;
16
+ }
17
+ }
9
18
 
10
19
  // #region Undefined web components
11
- main > :is(*):not(:defined):not(iam-carousel) {
12
-
13
- padding: var(--container-padding);
14
- padding-top: 1rem;
15
- }
16
20
 
17
21
  @include media-breakpoint-up(md) {
18
-
19
- main > :is(*):not(:defined):not(iam-carousel) {
20
- max-width: 100%!important;
21
- padding-inline: calc(50% - #{rem(math.div(1112,2))});
22
- }
23
22
 
24
23
  iam-header:not(:defined) {
25
24
  min-height: rem(470);
26
25
  }
27
26
  }
28
27
 
28
+ // #region Cards
29
+ .card:not(:defined) {
30
+ box-shadow: var(--card-box-shadow);
31
+ border-radius: var(--card-border-radius);
32
+ padding: var(--card-top-padding) var(--card-right-padding) var(--card-bottom-padding) var(--card-left-padding);
33
+ }
34
+
35
+ .row [class*="col"]:has(label:first-child:last-child .card:defined:first-child:last-child, button:first-child:last-child .card:defined:first-child:last-child, a:first-child:last-child .card:defined:first-child:last-child) {
36
+ display: flex;
37
+ }
38
+
39
+ iam-card:has([type=checkbox]:checked) {
40
+ --hover-outline-colour: var(--colour-info);
41
+ --outline-colour: var(--colour-info);
42
+ }
43
+
44
+ label:has(.card) {
45
+
46
+ padding: 0!important;
47
+ margin-right: 0!important;
48
+
49
+ &:before,
50
+ &:after {
51
+ display: none!important;
52
+ }
53
+
54
+ .optional-text {
55
+ display: none;
56
+ }
57
+
58
+ &:has(:checked) {
59
+ .card:defined {
60
+ outline: 2px solid var(--colour,var(--colour-primary));
61
+ outline-offset: -2px;
62
+
63
+ ::part(body) {
64
+ background: none;
65
+ }
66
+ ::part(footer) {
67
+ background: none;
68
+ }
69
+ }
70
+ }
71
+ }
72
+
73
+
74
+ iam-filter-card:not(:has(i)){
75
+
76
+ border-left: 0.75rem solid var(--colour, var(--colour-primary));
77
+ }
78
+
79
+ .card .badge:not([class*="bg-"]):not([class*="wider-colour-"]){
80
+
81
+ background-color: var(--colour-canvas);
82
+ outline: 1px solid var(--colour-light);
83
+ }
84
+
85
+
86
+ a[target="_blank"] .card {
87
+
88
+ --icon: var(--icon-new-tab);
89
+ }
90
+
91
+ // #endregion
92
+
29
93
  // Search
30
94
  iam-search input:not(.is-invalid):not(:invalid) {
31
95
  background: none!important;
@@ -1,13 +1,32 @@
1
1
  @use "sass:math";
2
2
  @use "_func" as *;
3
3
 
4
+ @mixin bsgrid(){
5
+ @if $disable-bs-grid == "false" {
6
+
7
+ @content;
8
+ }
9
+ @else {
10
+ // Grid Disabled
11
+ }
12
+ }
13
+
4
14
  @layer reset, elements, components, templates, utilities, overrides;
5
15
 
6
16
 
17
+ $root: ":root"!default;
18
+ $layers: "true"!default;
19
+
7
20
  // Foundations
8
21
  @include layer('reset') {
22
+
9
23
  @import "foundations/root.scss";
10
24
  @import "foundations/reboot.scss";
25
+ @import "foundations/grid.scss";
26
+ }
27
+
28
+ @include bsgrid(){
29
+ @import "foundations/bs_grid.scss";
11
30
  }
12
31
 
13
32
  @include layer('elements') {
@@ -16,19 +35,9 @@
16
35
 
17
36
  @include layer('components') {
18
37
 
19
- // Make sure the first
20
- main {
21
- position: relative;
22
-
23
- > *:first-child {
24
- padding-top: 2rem;
25
- }
26
- }
27
-
28
38
  // Deal with preloaded state of native components
29
39
  @import "_components.scss";
30
40
 
31
- @import "components/charts.config.scss";
32
41
  }
33
42
 
34
43
  @include layer('templates') {
@@ -11,6 +11,8 @@
11
11
  @import "elements/links.scss";
12
12
  @import "elements/buttons";
13
13
  @import "elements/dialog.scss";
14
+ @import "elements/popover.scss";
15
+ @import "elements/modal.scss";
14
16
  @import "elements/admin-panel.scss";
15
17
 
16
18
  @import "elements/forms.scss";
@@ -11,6 +11,9 @@ $varsMD: ()!default;
11
11
 
12
12
  $prefix: '';
13
13
 
14
+ $enable-new-grid: "false"!default;
15
+ $disable-bs-grid: "false"!default;
16
+
14
17
  @import "_functions/functions";
15
18
  @import "_functions/variables";
16
19
  @import "_functions/mixins";
@@ -1,7 +1,310 @@
1
1
  @use "sass:math";
2
2
  @use "sass:map";
3
3
 
4
- @import "../../bootstrap/scss/_functions";
4
+ // #region from Bootstrap
5
+ // Utility mixins and functions for evaluating source code across our variables, maps, and mixins.
6
+
7
+ // Ascending
8
+ // Used to evaluate Sass maps like our grid breakpoints.
9
+ @mixin _assert-ascending($map, $map-name) {
10
+ $prev-key: null;
11
+ $prev-num: null;
12
+ @each $key, $num in $map {
13
+ @if $prev-num == null or unit($num) == "%" or unit($prev-num) == "%" {
14
+ // Do nothing
15
+ } @else if not comparable($prev-num, $num) {
16
+ @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
17
+ } @else if $prev-num >= $num {
18
+ @warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
19
+ }
20
+ $prev-key: $key;
21
+ $prev-num: $num;
22
+ }
23
+ }
24
+
25
+ // Starts at zero
26
+ // Used to ensure the min-width of the lowest breakpoint starts at 0.
27
+ @mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") {
28
+ @if length($map) > 0 {
29
+ $values: map-values($map);
30
+ $first-value: nth($values, 1);
31
+ @if $first-value != 0 {
32
+ @warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.";
33
+ }
34
+ }
35
+ }
36
+
37
+ // Colors
38
+ @function to-rgb($value) {
39
+ @return red($value), green($value), blue($value);
40
+ }
41
+
42
+ // stylelint-disable scss/dollar-variable-pattern
43
+ @function rgba-css-var($identifier, $target) {
44
+ @if $identifier == "body" and $target == "bg" {
45
+ @return rgba(var(--#{$prefix}#{$identifier}-bg-rgb), var(--#{$prefix}#{$target}-opacity));
46
+ } @if $identifier == "body" and $target == "text" {
47
+ @return rgba(var(--#{$prefix}#{$identifier}-color-rgb), var(--#{$prefix}#{$target}-opacity));
48
+ } @else {
49
+ @return rgba(var(--#{$prefix}#{$identifier}-rgb), var(--#{$prefix}#{$target}-opacity));
50
+ }
51
+ }
52
+
53
+ @function map-loop($map, $func, $args...) {
54
+ $_map: ();
55
+
56
+ @each $key, $value in $map {
57
+ // allow to pass the $key and $value of the map as an function argument
58
+ $_args: ();
59
+ @each $arg in $args {
60
+ $_args: append($_args, if($arg == "$key", $key, if($arg == "$value", $value, $arg)));
61
+ }
62
+
63
+ $_map: map-merge($_map, ($key: call(get-function($func), $_args...)));
64
+ }
65
+
66
+ @return $_map;
67
+ }
68
+ // stylelint-enable scss/dollar-variable-pattern
69
+
70
+ @function varify($list) {
71
+ $result: null;
72
+ @each $entry in $list {
73
+ $result: append($result, var(--#{$prefix}#{$entry}), space);
74
+ }
75
+ @return $result;
76
+ }
77
+
78
+ // Internal Bootstrap function to turn maps into its negative variant.
79
+ // It prefixes the keys with `n` and makes the value negative.
80
+ @function negativify-map($map) {
81
+ $result: ();
82
+ @each $key, $value in $map {
83
+ @if $key != 0 {
84
+ $result: map-merge($result, ("n" + $key: (-$value)));
85
+ }
86
+ }
87
+ @return $result;
88
+ }
89
+
90
+ // Get multiple keys from a sass map
91
+ @function map-get-multiple($map, $values) {
92
+ $result: ();
93
+ @each $key, $value in $map {
94
+ @if (index($values, $key) != null) {
95
+ $result: map-merge($result, ($key: $value));
96
+ }
97
+ }
98
+ @return $result;
99
+ }
100
+
101
+ // Merge multiple maps
102
+ @function map-merge-multiple($maps...) {
103
+ $merged-maps: ();
104
+
105
+ @each $map in $maps {
106
+ $merged-maps: map-merge($merged-maps, $map);
107
+ }
108
+ @return $merged-maps;
109
+ }
110
+
111
+ // Replace `$search` with `$replace` in `$string`
112
+ // Used on our SVG icon backgrounds for custom forms.
113
+ //
114
+ // @author Hugo Giraudel
115
+ // @param {String} $string - Initial string
116
+ // @param {String} $search - Substring to replace
117
+ // @param {String} $replace ('') - New value
118
+ // @return {String} - Updated string
119
+ @function str-replace($string, $search, $replace: "") {
120
+ $index: str-index($string, $search);
121
+
122
+ @if $index {
123
+ @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
124
+ }
125
+
126
+ @return $string;
127
+ }
128
+
129
+ // See https://codepen.io/kevinweber/pen/dXWoRw
130
+ //
131
+ // Requires the use of quotes around data URIs.
132
+
133
+ @function escape-svg($string) {
134
+ @if str-index($string, "data:image/svg+xml") {
135
+ @each $char, $encoded in $escaped-characters {
136
+ // Do not escape the url brackets
137
+ @if str-index($string, "url(") == 1 {
138
+ $string: url("#{str-replace(str-slice($string, 6, -3), $char, $encoded)}");
139
+ } @else {
140
+ $string: str-replace($string, $char, $encoded);
141
+ }
142
+ }
143
+ }
144
+
145
+ @return $string;
146
+ }
147
+
148
+ // Color contrast
149
+ // See https://github.com/twbs/bootstrap/pull/30168
150
+
151
+ // A list of pre-calculated numbers of pow(divide((divide($value, 255) + .055), 1.055), 2.4). (from 0 to 255)
152
+ // stylelint-disable-next-line scss/dollar-variable-default, scss/dollar-variable-pattern
153
+ $_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 .0033 .0037 .004 .0044 .0048 .0052 .0056 .006 .0065 .007 .0075 .008 .0086 .0091 .0097 .0103 .011 .0116 .0123 .013 .0137 .0144 .0152 .016 .0168 .0176 .0185 .0194 .0203 .0212 .0222 .0232 .0242 .0252 .0262 .0273 .0284 .0296 .0307 .0319 .0331 .0343 .0356 .0369 .0382 .0395 .0409 .0423 .0437 .0452 .0467 .0482 .0497 .0513 .0529 .0545 .0561 .0578 .0595 .0612 .063 .0648 .0666 .0685 .0704 .0723 .0742 .0762 .0782 .0802 .0823 .0844 .0865 .0887 .0908 .0931 .0953 .0976 .0999 .1022 .1046 .107 .1095 .1119 .1144 .117 .1195 .1221 .1248 .1274 .1301 .1329 .1356 .1384 .1413 .1441 .147 .15 .1529 .1559 .159 .162 .1651 .1683 .1714 .1746 .1779 .1812 .1845 .1878 .1912 .1946 .1981 .2016 .2051 .2086 .2122 .2159 .2195 .2232 .227 .2307 .2346 .2384 .2423 .2462 .2502 .2542 .2582 .2623 .2664 .2705 .2747 .2789 .2831 .2874 .2918 .2961 .3005 .305 .3095 .314 .3185 .3231 .3278 .3325 .3372 .3419 .3467 .3515 .3564 .3613 .3663 .3712 .3763 .3813 .3864 .3916 .3968 .402 .4072 .4125 .4179 .4233 .4287 .4342 .4397 .4452 .4508 .4564 .4621 .4678 .4735 .4793 .4851 .491 .4969 .5029 .5089 .5149 .521 .5271 .5333 .5395 .5457 .552 .5583 .5647 .5711 .5776 .5841 .5906 .5972 .6038 .6105 .6172 .624 .6308 .6376 .6445 .6514 .6584 .6654 .6724 .6795 .6867 .6939 .7011 .7084 .7157 .7231 .7305 .7379 .7454 .7529 .7605 .7682 .7758 .7835 .7913 .7991 .807 .8148 .8228 .8308 .8388 .8469 .855 .8632 .8714 .8796 .8879 .8963 .9047 .9131 .9216 .9301 .9387 .9473 .956 .9647 .9734 .9823 .9911 1;
154
+
155
+ @function color-contrast($background, $color-contrast-dark: $color-contrast-dark, $color-contrast-light: $color-contrast-light, $min-contrast-ratio: $min-contrast-ratio) {
156
+ $foregrounds: $color-contrast-light, $color-contrast-dark, $white, $black;
157
+ $max-ratio: 0;
158
+ $max-ratio-color: null;
159
+
160
+ @each $color in $foregrounds {
161
+ $contrast-ratio: contrast-ratio($background, $color);
162
+ @if $contrast-ratio > $min-contrast-ratio {
163
+ @return $color;
164
+ } @else if $contrast-ratio > $max-ratio {
165
+ $max-ratio: $contrast-ratio;
166
+ $max-ratio-color: $color;
167
+ }
168
+ }
169
+
170
+ @warn "Found no color leading to #{$min-contrast-ratio}:1 contrast ratio against #{$background}...";
171
+
172
+ @return $max-ratio-color;
173
+ }
174
+
175
+ @function contrast-ratio($background, $foreground: $color-contrast-light) {
176
+ $l1: luminance($background);
177
+ $l2: luminance(opaque($background, $foreground));
178
+
179
+ @return if($l1 > $l2, divide($l1 + .05, $l2 + .05), divide($l2 + .05, $l1 + .05));
180
+ }
181
+
182
+ // Return WCAG2.1 relative luminance
183
+ // See https://www.w3.org/TR/WCAG/#dfn-relative-luminance
184
+ // See https://www.w3.org/TR/WCAG/#dfn-contrast-ratio
185
+ @function luminance($color) {
186
+ $rgb: (
187
+ "r": red($color),
188
+ "g": green($color),
189
+ "b": blue($color)
190
+ );
191
+
192
+ @each $name, $value in $rgb {
193
+ $value: if(divide($value, 255) < .03928, divide(divide($value, 255), 12.92), nth($_luminance-list, $value + 1));
194
+ $rgb: map-merge($rgb, ($name: $value));
195
+ }
196
+
197
+ @return (map-get($rgb, "r") * .2126) + (map-get($rgb, "g") * .7152) + (map-get($rgb, "b") * .0722);
198
+ }
199
+
200
+ // Return opaque color
201
+ // opaque(#fff, rgba(0, 0, 0, .5)) => #808080
202
+ @function opaque($background, $foreground) {
203
+ @return mix(rgba($foreground, 1), $background, opacity($foreground) * 100);
204
+ }
205
+
206
+ // scss-docs-start color-functions
207
+ // Tint a color: mix a color with white
208
+ @function tint-color($color, $weight) {
209
+ @return mix(white, $color, $weight);
210
+ }
211
+
212
+ // Shade a color: mix a color with black
213
+ @function shade-color($color, $weight) {
214
+ @return mix(black, $color, $weight);
215
+ }
216
+
217
+ // Shade the color if the weight is positive, else tint it
218
+ @function shift-color($color, $weight) {
219
+ @return if($weight > 0, shade-color($color, $weight), tint-color($color, -$weight));
220
+ }
221
+ // scss-docs-end color-functions
222
+
223
+ // Return valid calc
224
+ @function add($value1, $value2, $return-calc: true) {
225
+ @if $value1 == null {
226
+ @return $value2;
227
+ }
228
+
229
+ @if $value2 == null {
230
+ @return $value1;
231
+ }
232
+
233
+ @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {
234
+ @return $value1 + $value2;
235
+ }
236
+
237
+ @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(" + ") + $value2);
238
+ }
239
+
240
+ @function subtract($value1, $value2, $return-calc: true) {
241
+ @if $value1 == null and $value2 == null {
242
+ @return null;
243
+ }
244
+
245
+ @if $value1 == null {
246
+ @return -$value2;
247
+ }
248
+
249
+ @if $value2 == null {
250
+ @return $value1;
251
+ }
252
+
253
+ @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {
254
+ @return $value1 - $value2;
255
+ }
256
+
257
+ @if type-of($value2) != number {
258
+ $value2: unquote("(") + $value2 + unquote(")");
259
+ }
260
+
261
+ @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(" - ") + $value2);
262
+ }
263
+
264
+ @function divide($dividend, $divisor, $precision: 10) {
265
+ $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);
266
+ $dividend: abs($dividend);
267
+ $divisor: abs($divisor);
268
+ @if $dividend == 0 {
269
+ @return 0;
270
+ }
271
+ @if $divisor == 0 {
272
+ @error "Cannot divide by 0";
273
+ }
274
+ $remainder: $dividend;
275
+ $result: 0;
276
+ $factor: 10;
277
+ @while ($remainder > 0 and $precision >= 0) {
278
+ $quotient: 0;
279
+ @while ($remainder >= $divisor) {
280
+ $remainder: $remainder - $divisor;
281
+ $quotient: $quotient + 1;
282
+ }
283
+ $result: $result * 10 + $quotient;
284
+ $factor: $factor * .1;
285
+ $remainder: $remainder * 10;
286
+ $precision: $precision - 1;
287
+ @if ($precision < 0 and $remainder >= $divisor * 5) {
288
+ $result: $result + 1;
289
+ }
290
+ }
291
+ $result: $result * $factor * $sign;
292
+ $dividend-unit: unit($dividend);
293
+ $divisor-unit: unit($divisor);
294
+ $unit-map: (
295
+ "px": 1px,
296
+ "rem": 1rem,
297
+ "em": 1em,
298
+ "%": 1%
299
+ );
300
+ @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {
301
+ $result: $result * map-get($unit-map, $dividend-unit);
302
+ }
303
+ @return $result;
304
+ }
305
+ // #endregion
306
+
307
+
5
308
 
6
309
  @function spacing($int){
7
310
  @return map.get($spacers, $int);