@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,605 @@
1
+ @use "../_func" as *;
2
+ @use "../elements/buttons.scss" as *;
3
+
4
+ *, *::before, *::after {
5
+ box-sizing: border-box;
6
+ }
7
+
8
+ // #region default carousel
9
+
10
+ :host {
11
+
12
+ display: block;
13
+ overflow: visible;
14
+ container-type: inline-size;
15
+ }
16
+
17
+ .carousel {
18
+
19
+ margin-inline: calc(var(--carousel-spacing,1.5rem) * -1);
20
+ margin-bottom: 2rem;
21
+ display: block;
22
+ overflow: visible;
23
+
24
+ .carousel__wrapper {
25
+
26
+ position: relative;
27
+ overflow-x: clip;
28
+ }
29
+
30
+ .carousel__inner {
31
+
32
+ --gutter-x: #{$grid-gutter-width};
33
+ overflow-x: auto;
34
+ padding-bottom: 1rem;
35
+ scroll-snap-type: x mandatory;
36
+ }
37
+
38
+ .carousel__content {
39
+ display: flex;
40
+ flex-wrap: nowrap!important;
41
+ margin-inline-end: 0;
42
+ padding-inline-start: var(--carousel-spacing,1.5rem);
43
+ padding-inline-end: var(--carousel-spacing,1.5rem);
44
+
45
+ margin-right: calc(-.5* var(--gutter-x));
46
+ margin-left: calc(-.5* var(--gutter-x));
47
+ }
48
+
49
+ .col > *:last-child {
50
+ margin-bottom: 0;
51
+ padding-bottom: 0;
52
+ }
53
+ }
54
+
55
+ ::slotted(div) {
56
+ scroll-snap-align: start;
57
+ scroll-margin-left: calc(var(--carousel-spacing,1.5rem) - .5rem);
58
+
59
+ flex-shrink: 0;
60
+ width: calc(100% + var(--last-item-extra, 0px));
61
+
62
+ padding-right: 0.5rem;
63
+ padding-left: 0.5rem;
64
+ margin-top: var(--gutter-y);
65
+ }
66
+
67
+ ::slotted(div:last-child) {
68
+
69
+ padding-inline-end: 1.5rem;
70
+ --last-item-extra: 1rem;
71
+ }
72
+
73
+
74
+ @container (min-width: 36em) {
75
+
76
+ .carousel {
77
+
78
+ margin-inline: calc(var(--carousel-spacing,2.5rem) * -1);
79
+
80
+ .carousel__content {
81
+
82
+ padding-inline-start: var(--carousel-spacing,2.5rem);
83
+ padding-inline-end: var(--carousel-spacing,2.5rem);
84
+ }
85
+ }
86
+
87
+ :host([data-smcols]) ::slotted(div){
88
+ scroll-snap-align: unset;
89
+ flex: 0 0 auto;
90
+ }
91
+
92
+ :host([data-smcols="2"]) ::slotted(div){
93
+ width: calc(50% + var(--last-item-extra, 0px));
94
+ }
95
+
96
+ :host([data-smcols="3"]) ::slotted(div){
97
+ width: calc(33.3333333333% + var(--last-item-extra, 0px));
98
+ }
99
+ :host([data-smcols="4"]) ::slotted(div){
100
+ width: calc(25% + var(--last-item-extra, 0px));
101
+ }
102
+
103
+ :host([data-smcols="2"]) ::slotted(div:nth-child(odd)),
104
+ :host([data-smcols="3"]) ::slotted(div:nth-child(3n+1)),
105
+ :host([data-smcols="4"]) ::slotted(div:nth-child(4n+1)){
106
+ scroll-snap-align: start;
107
+ }
108
+
109
+ ::slotted(div) {
110
+ scroll-margin-left: calc(var(--carousel-spacing,2.5rem) - .5rem);
111
+ }
112
+
113
+ ::slotted(div:last-child) {
114
+
115
+ padding-inline-end: 2.5rem;
116
+ --last-item-extra: 2rem;
117
+ }
118
+ }
119
+
120
+ @container (min-width: 62em) {
121
+
122
+ .carousel {
123
+ margin-inline: 0;
124
+ position: relative;
125
+ }
126
+ .carousel__wrapper {
127
+
128
+ overflow: hidden;
129
+
130
+ margin-inline: calc(-0.5 * $grid-gutter-width);
131
+ }
132
+ .carousel__inner {
133
+
134
+
135
+ }
136
+ .carousel__content {
137
+
138
+ padding-inline: 0!important;
139
+ margin-inline: 0!important;
140
+ }
141
+
142
+ ::slotted(div) {
143
+
144
+ margin-left: 0;
145
+ scroll-margin-left: 0;
146
+ }
147
+
148
+ ::slotted(div:last-child) {
149
+ padding-inline-end: calc(0.5 * $grid-gutter-width);
150
+ --last-item-extra: 0px;
151
+ }
152
+
153
+
154
+ :host([data-mdcols]) ::slotted(div){
155
+ scroll-snap-align: unset;
156
+ flex: 0 0 auto;
157
+ }
158
+
159
+ :host([data-mdcols="2"]) ::slotted(div){
160
+ width: calc(50% + var(--last-item-extra, 0px));
161
+ }
162
+
163
+ :host([data-mdcols="3"]) ::slotted(div){
164
+ width: calc(33.3333333333% + var(--last-item-extra, 0px));
165
+ }
166
+ :host([data-mdcols="4"]) ::slotted(div){
167
+ width: calc(25% + var(--last-item-extra, 0px));
168
+ }
169
+ :host([data-mdcols="5"]) ::slotted(div){
170
+ width: calc(20% + var(--last-item-extra, 0px));
171
+ }
172
+ :host([data-mdcols="6"]) ::slotted(div){
173
+ width: calc(16.6666666667% + var(--last-item-extra, 0px));
174
+ }
175
+
176
+ :host([data-mdcols="2"]) ::slotted(div:nth-child(odd)),
177
+ :host([data-mdcols="3"]) ::slotted(div:nth-child(3n+1)),
178
+ :host([data-mdcols="4"]) ::slotted(div:nth-child(4n+1)),
179
+ :host([data-mdcols="5"]) ::slotted(div:nth-child(5n+1)),
180
+ :host([data-mdcols="6"]) ::slotted(div:nth-child(6n+1)){
181
+ scroll-snap-align: start;
182
+ }
183
+ }
184
+
185
+
186
+ // #endregion
187
+
188
+ // #region Remove the scrollbar
189
+ .carousel__inner {
190
+ // FireFox
191
+ scrollbar-width: none;
192
+ // IE10+
193
+ -ms-overflow-style: none;
194
+ }
195
+
196
+ .carousel__inner::-webkit-scrollbar {
197
+ // Chrome, Safari, Edge
198
+ display: none;
199
+ }
200
+ // #endregion
201
+
202
+ // #region Direction button
203
+
204
+ .carousel__btns {
205
+ text-align: center;
206
+ padding-bottom: 0.5rem;
207
+ }
208
+
209
+ .btn-next,
210
+ .btn-prev {
211
+
212
+ margin: 0!important;
213
+
214
+ &:after {
215
+ content: "";
216
+ position: absolute;
217
+ right: 0;
218
+ top: 0;
219
+ height: 100%;
220
+ width: 100%;
221
+ background: currentColor;
222
+ mask-image: escape-svg($accordion-button-icon);
223
+ mask-size: 50%;
224
+ mask-repeat: no-repeat;
225
+ mask-position: 50% 60%;
226
+ -webkit-mask-image: escape-svg($accordion-button-icon);
227
+ -webkit-mask-size: 50%;
228
+ -webkit-mask-repeat: no-repeat;
229
+ -webkit-mask-position: 55% 50%;
230
+ transform: rotate(0deg);
231
+ }
232
+
233
+ }
234
+
235
+ .btn-prev {
236
+
237
+ &:after {
238
+
239
+ transform: rotate(180deg);
240
+ }
241
+ }
242
+
243
+
244
+ @container (min-width: 62em) {
245
+
246
+ .carousel__btns {
247
+ padding-bottom: 0;
248
+ }
249
+ .btn-prev {
250
+ position: absolute;
251
+ top: 50%;
252
+ left: 0;
253
+ margin: -2rem 0 0 -3rem!important;
254
+ }
255
+ .btn-next {
256
+ position: absolute;
257
+ top: 50%;
258
+ right: 0;
259
+ margin: -2rem -3rem 0 0!important;
260
+ }
261
+ }
262
+
263
+ // #endregion
264
+
265
+ // #region carousel controls/pips
266
+ .carousel .carousel__controls {
267
+ overflow: hidden;
268
+ margin-inline: auto;
269
+ margin-bottom: 1rem;
270
+ text-align: center;
271
+ max-width: 30rem;
272
+
273
+
274
+ @container (min-width: 36em) {
275
+ width: 100%;
276
+ }
277
+
278
+ button {
279
+ padding: 0;
280
+ margin: 0 0.2rem 0.2rem;
281
+ border: none;
282
+ }
283
+
284
+ button {
285
+ width: rem(8);
286
+ height: rem(8);
287
+ min-height: rem(8);
288
+ border-radius: 50%;
289
+ text-indent: -50rem;
290
+ overflow: hidden;
291
+ background: #A5ECFD;
292
+ margin-inline: rem(6);
293
+ cursor: pointer;
294
+ border: none;
295
+
296
+ &:hover {
297
+ background-color: var(--colour-info);
298
+ }
299
+
300
+ &:before {
301
+ display: none;
302
+ }
303
+ }
304
+
305
+ button:first-child:last-child {
306
+ display: none;
307
+ }
308
+ }
309
+
310
+ .carousel__controls > button[aria-current] {
311
+ --colour-active-thumbnail: var(--colour-info);
312
+ border-color: var(--colour-active-thumbnail);
313
+ background: var(--colour-info);
314
+
315
+ width: rem(16);
316
+ height: rem(16);
317
+ min-height: rem(16);
318
+ margin-inline: rem(2);
319
+
320
+ &:hover {
321
+ background: var(--colour-info);
322
+ }
323
+ }
324
+ // #endregion
325
+
326
+ // #region progress bar
327
+ .carousel__progress {
328
+
329
+ text-align: center;
330
+ margin-bottom: 1rem;
331
+ display: none;
332
+ }
333
+
334
+
335
+ input[type="range"] {
336
+
337
+ --track-size: #{rem(8)};
338
+ --track-colour: #A5ECFD;
339
+ --thumb-colour: var(--colour-info);
340
+ --thumb-size: #{rem(16)};
341
+ --thumb-size-outline: #{rem(0)};
342
+ width: 90%;
343
+ max-width: rem(172);
344
+
345
+ background: transparent;
346
+ cursor: pointer;
347
+ margin: 0;
348
+ height: rem(16);
349
+ border-radius: 50%;
350
+ accent-color: var(--thumb-colour);
351
+ -webkit-appearance: none;
352
+ appearance: none;
353
+ }
354
+
355
+
356
+ // Track Styles
357
+ input[type="range"]::-webkit-slider-runnable-track {
358
+
359
+ background: var(--track-colour);
360
+ height: var(--track-size);
361
+ border-radius: rem(9);
362
+ }
363
+
364
+ input[type="range"]::-moz-range-track {
365
+ background: var(--track-colour);
366
+ height: var(--track-size);
367
+ border-radius: rem(9);
368
+ }
369
+
370
+ // Extended track functionality
371
+ input[type="range"]::-webkit-slider-runnable-track {
372
+
373
+ background: linear-gradient(to right, var(--track-colour), var(--track-colour) var(--start-percent, 0%), var(--thumb-colour) var(--start-percent, 0%), var(--thumb-colour) calc(var(--percent, 0%)), var(--track-colour) calc(var(--percent, 0%)));
374
+ }
375
+
376
+ input[type="range"]::-moz-range-track {
377
+
378
+ background: linear-gradient(to right, var(--track-colour), var(--track-colour) var(--start-percent, 0%), var(--thumb-colour) var(--start-percent, 0%), var(--thumb-colour) calc(var(--percent, 0%)), var(--track-colour) calc(var(--percent, 0%)));
379
+ }
380
+
381
+
382
+ // Thumb Styles
383
+ input[type="range"]::-webkit-slider-thumb {
384
+ -webkit-appearance: none; /* Override default look */
385
+ appearance: none;
386
+ margin-top: rem(-4); /* Centers thumb on the track */
387
+ background-color: var(--thumb-colour);
388
+ height: var(--thumb-size);
389
+ width: var(--thumb-size);
390
+ border-radius: 50%;
391
+ position: relative;
392
+ z-index: 99;
393
+ pointer-events: all;
394
+ }
395
+
396
+ input[type="range"]::-moz-range-thumb {
397
+ border: none; /*Removes extra border that FF applies*/
398
+ background-color: var(--thumb-colour); /*Removes default border-radius that FF applies*/
399
+ height: var(--thumb-size);
400
+ width: var(--thumb-size);
401
+ border-radius: 50%;
402
+ position: relative;
403
+ z-index: 99;
404
+ pointer-events: all;
405
+ }
406
+
407
+ // Focus Styles
408
+ input[type="range"]:focus {
409
+ outline: none;
410
+ }
411
+
412
+ input[type="range"]:hover::-webkit-slider-thumb,
413
+ input[type="range"]:focus::-webkit-slider-thumb {
414
+ outline: var(--thumb-size-outline) solid var(--thumb-colour);
415
+ }
416
+
417
+ input[type="range"]:active::-webkit-slider-thumb {
418
+ outline: var(--thumb-size-outline) solid var(--thumb-colour);
419
+ }
420
+
421
+ input[type="range"]:hover::-moz-range-thumb,
422
+ input[type="range"]:focus::-moz-range-thumb {
423
+ outline: var(--thumb-size-outline) solid var(--thumb-colour);
424
+ }
425
+ input[type="range"]:focus::-moz-range-thumb {
426
+ outline: var(--thumb-size-outline) solid var(--thumb-colour);
427
+ }
428
+
429
+
430
+
431
+
432
+
433
+ // #endregion
434
+
435
+ // #region Hide buttons and pips
436
+ .carousel__btns:has(~ .carousel__controls button:first-child:nth-child(1):last-child){
437
+ display: none;
438
+ }
439
+
440
+ .carousel__controls:has(button:nth-child(5)){
441
+ display: none;
442
+ }
443
+ .carousel__controls:has(button:nth-child(5)) ~ .carousel__progress{
444
+ display: block;
445
+ }
446
+
447
+ @container (min-width: 36em) {
448
+
449
+ :host([data-smcols="2"]) .carousel__controls > button:not(:nth-child(odd)),
450
+ :host([data-smcols="3"]) .carousel__controls > button:not(:nth-child(3n+1)),
451
+ :host([data-smcols="4"]) .carousel__controls > button:not(:nth-child(4n+1)) {
452
+ display: none;
453
+ }
454
+
455
+ // Make sure that we dont just have one pip showing
456
+ :host([data-smcols="2"]) .carousel__controls:has(button:first-child:nth-last-child(2)),
457
+ :host([data-smcols="3"]) .carousel__controls:has(:is(button:first-child:nth-last-child(2), button:first-child:nth-last-child(3))),
458
+ :host([data-smcols="4"]) .carousel__controls:has(:is(button:first-child:nth-last-child(2), button:first-child:nth-last-child(3), button:first-child:nth-last-child(4))),
459
+ :host([data-smcols="2"]) .carousel__btns:has(~ .carousel__controls button:first-child:nth-last-child(2)),
460
+ :host([data-smcols="3"]) .carousel__btns:has(~ .carousel__controls button:first-child:nth-last-child(2)), :host([data-smcols="3"]) .carousel__btns:has(~ .carousel__controls button:first-child:nth-last-child(3)),
461
+ :host([data-smcols="4"]) .carousel__btns:has(~ .carousel__controls button:first-child:nth-last-child(2)), :host([data-smcols="4"]) .carousel__btns:has(~ .carousel__controls button:first-child:nth-last-child(3)), :host([data-smcols="4"]) .carousel__btns:has(~ .carousel__controls button:first-child:nth-last-child(4)) {
462
+ display: none;
463
+ }
464
+
465
+ // Show slider
466
+ :host([data-smcols]) .carousel__controls{
467
+ display: block;
468
+ }
469
+ :host([data-smcols]) .carousel__controls ~ .carousel__progress{
470
+ display: none;
471
+ }
472
+
473
+ :host([data-smcols="2"]) .carousel__controls:has(button:nth-child(10)),
474
+ :host([data-smcols="3"]) .carousel__controls:has(button:nth-child(15)),
475
+ :host([data-smcols="4"]) .carousel__controls:has(button:nth-child(20)){
476
+ display: none;
477
+ }
478
+
479
+ :host([data-smcols="2"]) .carousel__controls:has(button:nth-child(10)) ~ .carousel__progress,
480
+ :host([data-smcols="3"]) .carousel__controls:has(button:nth-child(15)) ~ .carousel__progress,
481
+ :host([data-smcols="4"]) .carousel__controls:has(button:nth-child(20)) ~ .carousel__progress{
482
+ display: block;
483
+ }
484
+ }
485
+
486
+ @container (min-width: 62em) {
487
+
488
+ :host([data-mdcols]) .carousel__controls > button {
489
+ display: inline-block!important;
490
+ }
491
+
492
+ :host([data-mdcols]) .carousel__controls {
493
+ display: block!important;
494
+ }
495
+
496
+ :host([data-mdcols="2"]) .carousel__controls > button:not(:nth-child(odd)),
497
+ :host([data-mdcols="3"]) .carousel__controls > button:not(:nth-child(3n+1)),
498
+ :host([data-mdcols="4"]) .carousel__controls > button:not(:nth-child(4n+1)),
499
+ :host([data-mdcols="5"]) .carousel__controls > button:not(:nth-child(5n+1)),
500
+ :host([data-mdcols="6"]) .carousel__controls > button:not(:nth-child(6n+1)) {
501
+ display: none!important;
502
+ }
503
+
504
+ // Make sure that we dont just have one pip showing
505
+ :host([data-mdcols="2"]) .carousel__controls:has(button:first-child:nth-last-child(2)),
506
+ :host([data-mdcols="3"]) .carousel__controls:has(:is(button:first-child:nth-last-child(2), button:first-child:nth-last-child(3))),
507
+ :host([data-mdcols="4"]) .carousel__controls:has(:is(button:first-child:nth-last-child(2), button:first-child:nth-last-child(3), button:first-child:nth-last-child(4))),
508
+ :host([data-mdcols="5"]) .carousel__controls:has(:is(button:first-child:nth-last-child(2),button:first-child:nth-last-child(3),button:first-child:nth-last-child(4),button:first-child:nth-last-child(5))),
509
+ :host([data-mdcols="6"]) .carousel__controls:has(:is(button:first-child:nth-last-child(2),button:first-child:nth-last-child(3),button:first-child:nth-last-child(4),button:first-child:nth-last-child(5),button:first-child:nth-last-child(6))),
510
+ :host([data-mdcols="2"]) .carousel__btns:has(~ .carousel__controls button:first-child:nth-last-child(2)),
511
+ :host([data-mdcols="3"]) .carousel__btns:has(~ .carousel__controls button:first-child:nth-last-child(2)), :host([data-mdcols="3"]) .carousel__btns:has(~ .carousel__controls button:first-child:nth-last-child(3)),
512
+ :host([data-mdcols="4"]) .carousel__btns:has(~ .carousel__controls button:first-child:nth-last-child(2)), :host([data-mdcols="4"]) .carousel__btns:has(~ .carousel__controls button:first-child:nth-last-child(3)), :host([data-mdcols="4"]) .carousel__btns:has(~ .carousel__controls button:first-child:nth-last-child(4))
513
+ :host([data-mdcols="5"]) .carousel__btns:has(~ .carousel__controls button:first-child:nth-last-child(2)), :host([data-mdcols="5"]) .carousel__btns:has(~ .carousel__controls button:first-child:nth-last-child(3)), :host([data-mdcols="5"]) .carousel__btns:has(~ .carousel__controls button:first-child:nth-last-child(4)), :host([data-mdcols="5"]) .carousel__btns:has(~ .carousel__controls button:first-child:nth-last-child(5)),
514
+ :host([data-mdcols="6"]) .carousel__btns:has(~ .carousel__controls button:first-child:nth-last-child(2)), :host([data-mdcols="6"]) .carousel__btns:has(~ .carousel__controls button:first-child:nth-last-child(3)), :host([data-mdcols="6"]) .carousel__btns:has(~ .carousel__controls button:first-child:nth-last-child(4)), :host([data-mdcols="6"]) .carousel__btns:has(~ .carousel__controls button:first-child:nth-last-child(5)), :host([data-mdcols="6"]) .carousel__btns:has(~ .carousel__controls button:first-child:nth-last-child(6))
515
+ {
516
+
517
+ display: none!important;
518
+ }
519
+
520
+ // Show slider
521
+ :host([data-mdcols]) .carousel__controls{
522
+ display: block!important;
523
+ }
524
+ :host([data-mdcols]) .carousel__controls ~ .carousel__progress{
525
+ display: none!important;
526
+ }
527
+
528
+ :host([data-mdcols="2"]) .carousel__controls:has(button:nth-child(10)),
529
+ :host([data-mdcols="3"]) .carousel__controls:has(button:nth-child(15)),
530
+ :host([data-mdcols="4"]) .carousel__controls:has(button:nth-child(20)),
531
+ :host([data-mdcols="5"]) .carousel__controls:has(button:nth-child(25)),
532
+ :host([data-mdcols="6"]) .carousel__controls:has(button:nth-child(30)){
533
+ display: none!important;
534
+ }
535
+
536
+ :host([data-mdcols="2"]) .carousel__controls:has(button:nth-child(10)) ~ .carousel__progress,
537
+ :host([data-mdcols="3"]) .carousel__controls:has(button:nth-child(15)) ~ .carousel__progress,
538
+ :host([data-mdcols="4"]) .carousel__controls:has(button:nth-child(20)) ~ .carousel__progress,
539
+ :host([data-mdcols="5"]) .carousel__controls:has(button:nth-child(25)) ~ .carousel__progress,
540
+ :host([data-mdcols="6"]) .carousel__controls:has(button:nth-child(30)) ~ .carousel__progress{
541
+ display: block!important;
542
+ }
543
+ }
544
+ // #endregion
545
+
546
+ // #region thumbnails
547
+ :host(.thumbnails) .carousel__controls {
548
+ display: flex!important;
549
+ flex-wrap: wrap;
550
+ max-width: 100%;
551
+ overflow: visible;
552
+
553
+ button {
554
+ padding: 0;
555
+ margin: 0 0.2rem 0.4rem;
556
+
557
+ width: 6rem;
558
+ height: auto;
559
+ aspect-ratio: var(--carousel-image-aspect-ratio,3 / 2);
560
+
561
+ border-radius: 0;
562
+ position: relative;
563
+ border-radius: rem(4);
564
+
565
+ img {
566
+ position: absolute;
567
+ inset: 0;
568
+ height: 100%;
569
+ width: 100%;
570
+ object-fit: cover;
571
+ margin: 0;
572
+ }
573
+
574
+ &[aria-current] {
575
+ outline: 2px solid var(--colour-info);
576
+ }
577
+ }
578
+ }
579
+
580
+ :host(.thumbnails) .carousel {
581
+
582
+ .carousel__btns {
583
+ padding-bottom: .5rem;
584
+ }
585
+
586
+ .btn-next,
587
+ .btn-prev {
588
+
589
+ position: relative;
590
+ margin: 0!important;
591
+ }
592
+
593
+ .carousel__progress {
594
+ display: none!important;
595
+ }
596
+ }
597
+ // #endregion
598
+
599
+ // #region Turn carousel slide into image holder
600
+ ::slotted(div.image__wrapper){
601
+ width: 100%;
602
+ aspect-ratio: var(--carousel-image-aspect-ratio,3 / 2);
603
+ position: relative;
604
+ }
605
+ // #endregion
@@ -0,0 +1,84 @@
1
+ @use "../_func.scss" as *;
2
+
3
+ iam-carousel:defined {
4
+
5
+ > div > *:last-child {
6
+ margin-bottom: 0!important;
7
+ padding-bottom: 0!important;
8
+ }
9
+ }
10
+
11
+ // Preload
12
+ iam-carousel:not(:defined) {
13
+
14
+ display: flex;
15
+ flex-wrap: nowrap;
16
+ overflow: auto;
17
+ margin-block-end: 2rem;
18
+ overflow: auto;
19
+
20
+ & > * {
21
+ width: 100%;
22
+ display: block;
23
+ flex: 0 0 100%;
24
+ padding-inline-end: 1rem;
25
+ }
26
+ }
27
+
28
+ // #region Carousel inside of a admin panel
29
+ .admin-panel:has(iam-carousel){
30
+
31
+ container-type: inline-size;
32
+ }
33
+
34
+ .admin-panel:has(iam-carousel:last-child) iam-carousel::part(carousel) {
35
+ margin-bottom: -1.5rem;
36
+ }
37
+
38
+ @container (min-width: 62em) {
39
+ .admin-panel iam-carousel {
40
+
41
+ --carousel-spacing: 1.5rem;
42
+ margin-inline: -1.5rem;
43
+
44
+ & > div {
45
+ scroll-margin-left: 1.5rem;
46
+ --last-item-extra: -1.5rem;
47
+ }
48
+
49
+ & > div:first-child {
50
+ margin-left: 1.5rem;
51
+ }
52
+ & > div:last-child {
53
+ padding-inline-end: 2rem;
54
+ --last-item-extra: 1.5rem;
55
+ }
56
+ }
57
+
58
+ }
59
+ // #endregion
60
+
61
+ // #region carousel in dialog
62
+
63
+ dialog:has(iam-carousel){
64
+
65
+ container-type: inline-size;
66
+ --carousel-spacing: 2rem;
67
+
68
+ @include media-breakpoint-up(sm) {
69
+ min-width: rem(600);
70
+ max-width: rem(600);
71
+ }
72
+ }
73
+
74
+ dialog:has(iam-carousel:last-child){
75
+ iam-carousel::part(carousel) {
76
+ margin-bottom: 0!important;
77
+ }
78
+
79
+ iam-carousel::part(controls) {
80
+ margin-bottom: 0!important;
81
+ max-width: calc(100% - 4rem);
82
+ }
83
+ }
84
+ // #endregion
@@ -1,3 +1,6 @@
1
+ @use "sass:math";
2
+ @use "../_func" as *;
3
+
1
4
  iam-barchart {
2
5
 
3
6
  --chart-bar-alignment: left;
@@ -483,10 +483,12 @@ $chart-height-lg: #{rem(200)}!default;
483
483
  position: relative;
484
484
  padding: 0;
485
485
  background: var(--chart-colour);
486
-
487
- @media screen and (prefers-color-scheme: dark) {
486
+
487
+ & {
488
+ @media screen and (prefers-color-scheme: dark) {
488
489
 
489
- background: color-mix(in oklab, var(--chart-colour), black 20%);
490
+ background: color-mix(in oklab, var(--chart-colour), black 20%);
491
+ }
490
492
  }
491
493
 
492
494
  border-top-right-radius: 4px;