@ulu/frontend 0.1.0-beta.9 → 0.1.0-beta.91

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 (317) hide show
  1. package/CHANGELOG.md +610 -0
  2. package/README.dev.md +3 -3
  3. package/README.md +14 -4
  4. package/dist/ulu-frontend.min.css +1 -1
  5. package/dist/ulu-frontend.min.js +36 -29
  6. package/docs-dev/.nojekyll +1 -0
  7. package/docs-dev/assets/main.js +8290 -635
  8. package/docs-dev/assets/placeholder/icon-calendar.svg +1 -0
  9. package/docs-dev/assets/placeholder/icon-check.svg +1 -0
  10. package/docs-dev/assets/style.css +789 -338
  11. package/docs-dev/changelog/index.html +6985 -0
  12. package/docs-dev/demos/accordion/index.html +1126 -334
  13. package/docs-dev/demos/badge/index.html +5535 -0
  14. package/docs-dev/demos/basic-hero/index.html +111 -0
  15. package/docs-dev/demos/breakpoints-manager/index.html +5546 -0
  16. package/docs-dev/demos/button/index.html +1172 -338
  17. package/docs-dev/demos/button-group/index.html +5532 -0
  18. package/docs-dev/demos/button-verbose/index.html +5538 -0
  19. package/docs-dev/demos/callout/index.html +1177 -344
  20. package/docs-dev/demos/captioned-figure/index.html +1120 -327
  21. package/docs-dev/demos/card/index.html +1186 -754
  22. package/docs-dev/demos/card-grid/index.html +5657 -0
  23. package/docs-dev/demos/counter-list/index.html +5540 -0
  24. package/docs-dev/demos/css-icons/index.html +1148 -332
  25. package/docs-dev/demos/data-grid/index.html +1120 -327
  26. package/docs-dev/demos/data-table/index.html +1298 -372
  27. package/docs-dev/demos/details-group/index.html +5567 -0
  28. package/docs-dev/demos/file-save/index.html +1120 -327
  29. package/docs-dev/demos/flipcard/index.html +1120 -327
  30. package/docs-dev/demos/form-theme/index.html +1144 -364
  31. package/docs-dev/demos/headline-label/index.html +5502 -0
  32. package/docs-dev/demos/hero/index.html +12 -4
  33. package/docs-dev/demos/image-grid/index.html +12 -4
  34. package/docs-dev/demos/index.html +1121 -328
  35. package/docs-dev/demos/list-inline/index.html +1120 -327
  36. package/docs-dev/demos/list-lines/index.html +1120 -327
  37. package/docs-dev/demos/menu-stack/index.html +1159 -351
  38. package/docs-dev/demos/modals/index.html +1259 -343
  39. package/docs-dev/demos/nav-strip/index.html +1120 -327
  40. package/docs-dev/demos/overlay-section/index.html +1205 -342
  41. package/docs-dev/demos/panel/index.html +5562 -0
  42. package/docs-dev/demos/popovers/index.html +1368 -333
  43. package/docs-dev/demos/print/index.html +1120 -327
  44. package/docs-dev/demos/pull-quote/index.html +1120 -327
  45. package/docs-dev/demos/rail/index.html +5598 -0
  46. package/docs-dev/demos/rule/index.html +1137 -332
  47. package/docs-dev/demos/scroll-slider/index.html +72 -106
  48. package/docs-dev/demos/scrollpoints/index.html +1121 -328
  49. package/docs-dev/demos/slider/index.html +12 -4
  50. package/docs-dev/demos/spoke-spinner/index.html +1120 -327
  51. package/docs-dev/demos/{list-inline.1 → sticky-list}/index.html +1159 -363
  52. package/docs-dev/demos/tabs/index.html +1156 -327
  53. package/docs-dev/demos/tag/index.html +1120 -327
  54. package/docs-dev/demos/theme-toggle/index.html +5579 -0
  55. package/docs-dev/demos/tile-grid-overlay/index.html +12 -4
  56. package/docs-dev/demos/tiles/index.html +1120 -327
  57. package/docs-dev/demos/tooltip/index.html +1120 -327
  58. package/docs-dev/demos/wysiwyg/index.html +5552 -0
  59. package/docs-dev/guide/building-stylesheet/index.html +1120 -327
  60. package/docs-dev/guide/developing-ulu-scss-module/index.html +1120 -327
  61. package/docs-dev/guide/index.html +1120 -327
  62. package/docs-dev/index.html +1120 -327
  63. package/docs-dev/javascript/events/index.html +1158 -327
  64. package/docs-dev/javascript/index.html +1120 -327
  65. package/docs-dev/javascript/settings/index.html +5705 -0
  66. package/docs-dev/javascript/ui-breakpoints/index.html +1134 -343
  67. package/docs-dev/javascript/ui-collapsible/index.html +1119 -328
  68. package/docs-dev/javascript/ui-details-group/index.html +5622 -0
  69. package/docs-dev/javascript/ui-dialog/index.html +1151 -345
  70. package/docs-dev/javascript/ui-flipcard/index.html +1180 -333
  71. package/docs-dev/javascript/ui-grid/index.html +1130 -365
  72. package/docs-dev/javascript/ui-modal-builder/index.html +1303 -372
  73. package/docs-dev/javascript/ui-overflow-scroller/index.html +1119 -328
  74. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +1119 -328
  75. package/docs-dev/javascript/ui-page/index.html +1119 -328
  76. package/docs-dev/javascript/ui-popover/index.html +1129 -342
  77. package/docs-dev/javascript/ui-print/index.html +1117 -334
  78. package/docs-dev/javascript/ui-print-details/index.html +1119 -328
  79. package/docs-dev/javascript/ui-programmatic-modal/index.html +1119 -328
  80. package/docs-dev/javascript/ui-proxy-click/index.html +1208 -332
  81. package/docs-dev/javascript/ui-resizer/index.html +1400 -344
  82. package/docs-dev/javascript/ui-scroll-slider/index.html +1159 -336
  83. package/docs-dev/javascript/ui-scrollpoint/index.html +1129 -345
  84. package/docs-dev/javascript/ui-slider/index.html +1317 -335
  85. package/docs-dev/javascript/ui-tabs/index.html +1138 -384
  86. package/docs-dev/javascript/ui-theme-toggle/index.html +5710 -0
  87. package/docs-dev/javascript/ui-tooltip/index.html +1136 -349
  88. package/docs-dev/javascript/utils-class-logger/index.html +1120 -329
  89. package/docs-dev/javascript/utils-css/index.html +5524 -0
  90. package/docs-dev/javascript/utils-dom/index.html +1153 -442
  91. package/docs-dev/javascript/utils-file-save/index.html +1119 -328
  92. package/docs-dev/javascript/utils-floating-ui/index.html +1119 -328
  93. package/docs-dev/javascript/utils-id/index.html +1119 -328
  94. package/docs-dev/javascript/utils-pause-youtube-video/index.html +1119 -328
  95. package/docs-dev/javascript/utils-system/index.html +5827 -0
  96. package/docs-dev/sass/base/color/index.html +1119 -328
  97. package/docs-dev/sass/base/elements/index.html +1127 -336
  98. package/docs-dev/sass/base/index/index.html +1119 -328
  99. package/docs-dev/sass/base/index.html +1120 -327
  100. package/docs-dev/sass/base/keyframes/index.html +1120 -329
  101. package/docs-dev/sass/base/layout/index.html +1119 -328
  102. package/docs-dev/sass/base/normalize/index.html +1119 -328
  103. package/docs-dev/sass/base/print/index.html +1119 -328
  104. package/docs-dev/sass/base/root/index.html +1119 -328
  105. package/docs-dev/sass/base/typography/index.html +1119 -328
  106. package/docs-dev/sass/components/accordion/index.html +1142 -344
  107. package/docs-dev/sass/components/adaptive-spacing/index.html +1119 -328
  108. package/docs-dev/sass/components/badge/index.html +1145 -343
  109. package/docs-dev/sass/components/basic-hero/index.html +5685 -0
  110. package/docs-dev/sass/components/button/index.html +1119 -328
  111. package/docs-dev/sass/components/button-group/index.html +5683 -0
  112. package/docs-dev/sass/components/button-verbose/index.html +1205 -339
  113. package/docs-dev/sass/components/callout/index.html +1224 -414
  114. package/docs-dev/sass/components/captioned-figure/index.html +1243 -337
  115. package/docs-dev/sass/components/card/index.html +1215 -352
  116. package/docs-dev/sass/components/card-grid/index.html +1119 -328
  117. package/docs-dev/sass/components/counter-list/index.html +5767 -0
  118. package/docs-dev/sass/components/css-icon/index.html +1140 -342
  119. package/docs-dev/sass/components/data-grid/index.html +1139 -341
  120. package/docs-dev/sass/components/data-table/index.html +1327 -346
  121. package/docs-dev/sass/components/fill-context/index.html +1119 -328
  122. package/docs-dev/sass/components/flipcard/index.html +1161 -339
  123. package/docs-dev/sass/components/flipcard-grid/index.html +1119 -328
  124. package/docs-dev/sass/components/form-theme/index.html +1334 -447
  125. package/docs-dev/sass/components/headline-label/index.html +5713 -0
  126. package/docs-dev/sass/components/hero/index.html +1179 -340
  127. package/docs-dev/sass/components/horizontal-rule/index.html +1119 -328
  128. package/docs-dev/sass/components/image-grid/index.html +1119 -328
  129. package/docs-dev/sass/components/index/index.html +1136 -338
  130. package/docs-dev/sass/components/index.html +1120 -327
  131. package/docs-dev/sass/components/links/index.html +1119 -328
  132. package/docs-dev/sass/components/list-inline/index.html +1119 -328
  133. package/docs-dev/sass/components/list-lines/index.html +1119 -328
  134. package/docs-dev/sass/components/list-ordered/index.html +1119 -328
  135. package/docs-dev/sass/components/list-unordered/index.html +1119 -328
  136. package/docs-dev/sass/components/menu-stack/index.html +1156 -352
  137. package/docs-dev/sass/components/modal/index.html +1173 -347
  138. package/docs-dev/sass/components/nav-strip/index.html +1127 -336
  139. package/docs-dev/sass/components/overlay-section/index.html +1127 -336
  140. package/docs-dev/sass/components/pager/index.html +1119 -328
  141. package/docs-dev/sass/components/panel/index.html +5913 -0
  142. package/docs-dev/sass/components/placeholder-block/index.html +1119 -328
  143. package/docs-dev/sass/components/popover/index.html +1179 -352
  144. package/docs-dev/sass/components/pull-quote/index.html +1131 -340
  145. package/docs-dev/sass/components/rail/index.html +5700 -0
  146. package/docs-dev/sass/components/ratio-box/index.html +1127 -336
  147. package/docs-dev/sass/components/rule/index.html +1120 -329
  148. package/docs-dev/sass/components/scroll-slider/index.html +1129 -350
  149. package/docs-dev/sass/components/skip-link/index.html +1119 -328
  150. package/docs-dev/sass/components/slider/index.html +1173 -394
  151. package/docs-dev/sass/components/spoke-spinner/index.html +1121 -330
  152. package/docs-dev/sass/components/sticky-list/index.html +5903 -0
  153. package/docs-dev/sass/components/table-sticky/index.html +5677 -0
  154. package/docs-dev/sass/components/tabs/index.html +1154 -348
  155. package/docs-dev/sass/components/tag/index.html +1121 -330
  156. package/docs-dev/sass/components/tile-button/index.html +1119 -328
  157. package/docs-dev/sass/components/tile-grid/index.html +1119 -328
  158. package/docs-dev/sass/components/tile-grid-overlay/index.html +1119 -328
  159. package/docs-dev/sass/components/vignette/index.html +1131 -334
  160. package/docs-dev/sass/components/wysiwyg/index.html +1159 -350
  161. package/docs-dev/sass/core/breakpoint/index.html +1212 -369
  162. package/docs-dev/sass/core/button/index.html +1151 -358
  163. package/docs-dev/sass/core/color/index.html +1291 -368
  164. package/docs-dev/sass/core/cssvar/index.html +1119 -328
  165. package/docs-dev/sass/core/element/index.html +1440 -367
  166. package/docs-dev/sass/core/index.html +1119 -328
  167. package/docs-dev/sass/core/layout/index.html +1173 -363
  168. package/docs-dev/sass/core/path/index.html +1119 -328
  169. package/docs-dev/sass/core/selector/index.html +1119 -328
  170. package/docs-dev/sass/core/typography/index.html +1119 -328
  171. package/docs-dev/sass/core/units/index.html +1127 -330
  172. package/docs-dev/sass/core/utils/index.html +2389 -449
  173. package/docs-dev/sass/helpers/color/index.html +1119 -328
  174. package/docs-dev/sass/helpers/display/index.html +1120 -329
  175. package/docs-dev/sass/helpers/index/index.html +1119 -328
  176. package/docs-dev/sass/helpers/index.html +1120 -327
  177. package/docs-dev/sass/helpers/print/index.html +759 -298
  178. package/docs-dev/sass/helpers/typography/index.html +1119 -328
  179. package/docs-dev/sass/helpers/units/index.html +1119 -328
  180. package/docs-dev/sass/helpers/utilities/index.html +1121 -330
  181. package/docs-dev/sass/index.html +1120 -327
  182. package/js/events/index.js +17 -5
  183. package/js/index.js +1 -0
  184. package/js/settings.js +97 -0
  185. package/js/ui/breakpoints.js +19 -16
  186. package/js/ui/collapsible.js +8 -1
  187. package/js/ui/details-group.js +112 -0
  188. package/js/ui/dialog.js +103 -44
  189. package/js/ui/dialog.todo +2 -36
  190. package/js/ui/flipcard.js +37 -57
  191. package/js/ui/grid.js +15 -13
  192. package/js/ui/index.js +1 -0
  193. package/js/ui/modal-builder.js +127 -70
  194. package/js/ui/overflow-scroller.js +6 -4
  195. package/js/ui/page.js +2 -2
  196. package/js/ui/popover.js +38 -38
  197. package/js/ui/print.js +16 -25
  198. package/js/ui/programmatic-modal.js +9 -3
  199. package/js/ui/proxy-click.js +50 -36
  200. package/js/ui/resizer.js +408 -39
  201. package/js/ui/scroll-slider.js +24 -30
  202. package/js/ui/scrollpoint.js +29 -64
  203. package/js/ui/slider.js +108 -63
  204. package/js/ui/tabs.js +23 -36
  205. package/js/ui/theme-toggle.js +332 -94
  206. package/js/ui/tooltip.js +27 -32
  207. package/js/utils/class-logger.js +3 -3
  208. package/js/utils/css.js +13 -0
  209. package/js/utils/dom.js +23 -64
  210. package/js/utils/font-awesome.js +19 -0
  211. package/js/utils/index.js +2 -1
  212. package/js/utils/system.js +155 -0
  213. package/package.json +23 -8
  214. package/scss/README.md +4 -0
  215. package/scss/_breakpoint.scss +39 -5
  216. package/scss/_button.scss +7 -5
  217. package/scss/_color.scss +40 -9
  218. package/scss/_element.scss +124 -2
  219. package/scss/_layout.scss +7 -8
  220. package/scss/_units.scss +3 -2
  221. package/scss/_utils.scss +387 -16
  222. package/scss/base/_elements.scss +0 -1
  223. package/scss/base/_index.scss +1 -1
  224. package/scss/base/_keyframes.scss +10 -0
  225. package/scss/base/_layout.scss +1 -0
  226. package/scss/base/_print.scss +2 -0
  227. package/scss/base/_root.scss +2 -0
  228. package/scss/components/README.todos +14 -0
  229. package/scss/components/_accordion.scss +33 -19
  230. package/scss/components/_badge.scss +23 -4
  231. package/scss/components/_basic-hero.scss +112 -0
  232. package/scss/components/_button-group.scss +90 -0
  233. package/scss/components/_button-verbose.scss +100 -18
  234. package/scss/components/_callout.scss +125 -78
  235. package/scss/components/_captioned-figure.scss +17 -0
  236. package/scss/components/_card-grid.scss +1 -1
  237. package/scss/components/_card.scss +228 -66
  238. package/scss/components/_counter-list.scss +151 -0
  239. package/scss/components/_css-icon.scss +35 -21
  240. package/scss/components/_data-grid.scss +55 -12
  241. package/scss/components/_data-table.scss +39 -3
  242. package/scss/components/_flipcard.scss +8 -3
  243. package/scss/components/_form-theme.scss +119 -108
  244. package/scss/components/_headline-label.scss +83 -0
  245. package/scss/components/_hero.scss +12 -10
  246. package/scss/components/_index.scss +42 -0
  247. package/scss/components/_menu-stack.scss +42 -26
  248. package/scss/components/_modal.scss +58 -29
  249. package/scss/components/_nav-strip.scss +2 -0
  250. package/scss/components/_overlay-section.scss +2 -5
  251. package/scss/components/_panel.scss +246 -0
  252. package/scss/components/_popover.scss +165 -64
  253. package/scss/components/_pull-quote.scss +13 -13
  254. package/scss/components/_rail.scss +120 -0
  255. package/scss/components/_ratio-box.scss +2 -5
  256. package/scss/components/_rule.scss +1 -0
  257. package/scss/components/_scroll-slider.scss +1 -5
  258. package/scss/components/_slider.scss +49 -72
  259. package/scss/components/_spoke-spinner.scss +2 -2
  260. package/scss/components/_sticky-list.scss +206 -0
  261. package/scss/components/_tabs.scss +22 -4
  262. package/scss/components/_vignette.scss +3 -5
  263. package/scss/components/_wysiwyg.scss +21 -13
  264. package/scss/helpers/_display.scss +15 -18
  265. package/scss/helpers/_print.scss +12 -7
  266. package/scss/helpers/_utilities.scss +42 -32
  267. package/types/events/index.d.ts +10 -1
  268. package/types/events/index.d.ts.map +1 -1
  269. package/types/index.d.ts +1 -0
  270. package/types/settings.d.ts +70 -0
  271. package/types/settings.d.ts.map +1 -0
  272. package/types/ui/breakpoints.d.ts +14 -14
  273. package/types/ui/breakpoints.d.ts.map +1 -1
  274. package/types/ui/collapsible.d.ts.map +1 -1
  275. package/types/ui/details-group.d.ts +38 -0
  276. package/types/ui/details-group.d.ts.map +1 -0
  277. package/types/ui/dialog.d.ts +20 -14
  278. package/types/ui/dialog.d.ts.map +1 -1
  279. package/types/ui/flipcard.d.ts +16 -10
  280. package/types/ui/flipcard.d.ts.map +1 -1
  281. package/types/ui/grid.d.ts +4 -6
  282. package/types/ui/grid.d.ts.map +1 -1
  283. package/types/ui/index.d.ts +2 -1
  284. package/types/ui/modal-builder.d.ts +116 -11
  285. package/types/ui/modal-builder.d.ts.map +1 -1
  286. package/types/ui/overflow-scroller.d.ts +2 -2
  287. package/types/ui/overflow-scroller.d.ts.map +1 -1
  288. package/types/ui/popover.d.ts +6 -7
  289. package/types/ui/popover.d.ts.map +1 -1
  290. package/types/ui/print.d.ts +0 -4
  291. package/types/ui/print.d.ts.map +1 -1
  292. package/types/ui/programmatic-modal.d.ts.map +1 -1
  293. package/types/ui/proxy-click.d.ts +19 -3
  294. package/types/ui/proxy-click.d.ts.map +1 -1
  295. package/types/ui/resizer.d.ts +116 -16
  296. package/types/ui/resizer.d.ts.map +1 -1
  297. package/types/ui/scroll-slider.d.ts +5 -7
  298. package/types/ui/scroll-slider.d.ts.map +1 -1
  299. package/types/ui/scrollpoint.d.ts +3 -8
  300. package/types/ui/scrollpoint.d.ts.map +1 -1
  301. package/types/ui/slider.d.ts +33 -14
  302. package/types/ui/slider.d.ts.map +1 -1
  303. package/types/ui/tabs.d.ts +6 -8
  304. package/types/ui/tabs.d.ts.map +1 -1
  305. package/types/ui/theme-toggle.d.ts +51 -7
  306. package/types/ui/theme-toggle.d.ts.map +1 -1
  307. package/types/ui/tooltip.d.ts +3 -5
  308. package/types/ui/tooltip.d.ts.map +1 -1
  309. package/types/utils/css.d.ts +11 -0
  310. package/types/utils/css.d.ts.map +1 -0
  311. package/types/utils/dom.d.ts +12 -32
  312. package/types/utils/dom.d.ts.map +1 -1
  313. package/types/utils/font-awesome.d.ts +5 -0
  314. package/types/utils/font-awesome.d.ts.map +1 -0
  315. package/types/utils/index.d.ts +2 -1
  316. package/types/utils/system.d.ts +113 -0
  317. package/types/utils/system.d.ts.map +1 -0
@@ -14,10 +14,6 @@
14
14
 
15
15
  // Used for function fallback
16
16
  $-fallbacks: (
17
- "border" : (
18
- "function" : meta.get-function("get-rule-style", false, "element"),
19
- "property" : "light"
20
- ),
21
17
  "border-radius" : (
22
18
  "function" : meta.get-function("get", false, "element"),
23
19
  "property" : "border-radius"
@@ -27,69 +23,56 @@ $-fallbacks: (
27
23
  /// Module Settings
28
24
  /// @type Map
29
25
  /// @prop {Color} background-color [rgb(240, 240, 240)] The background color of the Callout.
30
- /// @prop {Boolean} border [true] The border of the Callout.
26
+ /// @prop {Color} border-color ["rule-light"] The border color of the Callout.
31
27
  /// @prop {Boolean} border-radius [true] The border radius of the Callout.
28
+ /// @prop {Dimension} border-width [1px] The border width of the Callout.
32
29
  /// @prop {CssValue} box-shadow [none] The box-shadow of the Callout.
33
- /// @prop {Boolean} left-cap [false] Toggles the use of left caps in styled callouts.
34
- /// @prop {Color} left-cap-color [green] Color of the left cap.
35
- /// @prop {Dimension} left-cap-width [0.5rem] Width of the left cap.
30
+ /// @prop {Boolean} caps-disabled [false] If set will not output any cap styles for both base and styles
31
+ /// @prop {Boolean} cap [false] Toggles the use of caps on default callout
32
+ /// @prop {Boolean} cap-side ["left"] The side that gets the cap
33
+ /// @prop {Number} cap-match-radius [true] The cap should have be rounded to match the parent's border radius
34
+ /// @prop {Map} cap-options The options for cap (see element.cap for options)
36
35
  /// @prop {Dimension} margin [2rem] Bottom margin of the Callout.
37
36
  /// @prop {Dimension} padding [1.5rem] Padding of the Callout.
38
37
 
39
38
  $config: (
40
39
  "background-color" : rgb(240, 240, 240),
41
- "border" : true,
42
- "border-radius" : true,
40
+ "border-color" : "rule-light",
41
+ "border-radius" : 6px,
42
+ "border-width" : 1px,
43
43
  "box-shadow" : none,
44
- "left-cap" : false,
45
- "left-cap-color" : green,
46
- "left-cap-width" : 0.5rem,
44
+ "caps-disabled" : false,
45
+ "cap" : false,
46
+ "cap-side" : "left",
47
+ "cap-match-radius" : false,
48
+ "cap-options" : (
49
+ "color" : rgb(160, 160, 160),
50
+ "size" : 0.5rem,
51
+ ),
47
52
  "margin" : 2rem,
48
53
  "padding" : 1.5rem,
49
54
  ) !default;
50
55
 
56
+ /// Styles Map (for unique variations/modifiers)
57
+ /// - Adjust this with set-styles
58
+ /// @type Map
59
+
51
60
  $styles: (
52
- "background-dark" : (
53
- "background-color" : rgb(240, 240, 240)
54
- ),
55
61
  "outline" : (
56
62
  "background-color": transparent
57
63
  ),
58
- "light" : (
59
- "background-color" : white,
60
- "border-color" : gray
61
- ),
62
- "informative" : (
63
- "background-color" : #e7f6f8,
64
- "left-cap-color" : #00bde3,
65
- "left-cap" : true,
66
- "left-cap-width": 0.5rem
64
+ "info" : (
65
+ "background-color" : "info-background",
67
66
  ),
68
67
  "warning" : (
69
- "background-color" : #faf3d1,
70
- "left-cap-color" : #ffbe2e,
71
- "left-cap" : true,
72
- "left-cap-width": 0.5rem
68
+ "background-color" : "info-background",
73
69
  ),
74
70
  "success" : (
75
- "background-color" : #ecf3ec,
76
- "left-cap-color" : #00a91c,
77
- "left-cap" : true,
78
- "left-cap-width": 0.5rem
71
+ "background-color" : "success-background",
79
72
  ),
80
73
  "danger" : (
81
- "background-color" : #f4e3db,
82
- "left-cap-color" : #d54309,
83
- "left-cap" : true,
84
- "left-cap-width": 0.5rem
74
+ "background-color" : "danger-background",
85
75
  ),
86
- "emergency" : (
87
- "background-color" : #9c3d10,
88
- "left-cap-color" : #9c3d10,
89
- "left-cap" : true,
90
- "color" : white,
91
- "left-cap-width": 0.5rem
92
- )
93
76
  ) !default;
94
77
 
95
78
  /// Change modules $config
@@ -112,64 +95,128 @@ $styles: (
112
95
  }
113
96
 
114
97
  /// Set callout style variations
115
- /// @param {Map} $changes Map of changes (options for style include [background-color, color, border, border-radius, border-color, box-shadow, padding, left-cap, left-cap-width, left-cap-color]
98
+ /// - Styles that modify padding when using mix-match caps on/off should be included last
99
+ /// @param {Map} $changes Map of changes (options for style include [background-color, color, border-color, border-radius, border-width, box-shadow, padding, cap, cap-options]
116
100
  /// @param {String} $merge-mode Merge mode see utils.map-merge() [null|"deep"|"overwrite"]
117
101
 
118
102
  @mixin set-styles($changes, $merge-mode: null) {
119
103
  $styles: utils.map-merge($styles, $changes, $merge-mode) !global;
120
104
  }
121
105
 
122
- /// Output styling for a callout that adds a left cap
123
- /// @param {Dimension} $width The width of the left cap
124
- /// @param {Color} $color The left cap color
125
-
126
- @mixin left-cap($width: get("left-cap-width"), $color: get("left-cap-color")) {
127
- position: relative;
128
- border-top-left-radius: 0;
129
- border-bottom-left-radius: 0;
130
- &::before {
131
- position: absolute;
132
- content: "";
133
- left: 0;
134
- top: 0;
135
- bottom: 0;
136
- width: $width;
137
- background-color: color.get($color);
138
- }
139
- }
140
-
141
106
  /// Output component stylesheet
142
107
  /// @example scss
143
108
  /// @include ulu.component-callout-styles();
144
109
 
145
110
  @mixin styles {
146
- $prefix: selector.class("callout");
111
+ $prefix: selector.class("callout");
112
+ $padding: get("padding");
113
+ $padding-info: utils.get-spacing($padding);
114
+ $cap-options: get("cap-options");
115
+ $cap-size: map.get($cap-options, "size");
116
+ $cap-side: get("cap-side");
147
117
 
148
118
  #{ $prefix } {
119
+ position: relative; // For cap
149
120
  background-color: color.get(get("background-color"));
150
- padding: get("padding");
151
- border: get("border");
121
+ padding: $padding;
122
+ border: get("border-width") solid color.get(get("border-color"));
152
123
  margin-bottom: get("margin");
153
124
  box-shadow: get("box-shadow");
154
125
  border-radius: get("border-radius");
155
126
  & >:first-child {
156
127
  margin-top: 0;
157
128
  }
158
- @if get("left-cap") {
159
- @include left-cap();
129
+
130
+ // If we have left cap on default we reuse this for all
131
+ // Else we will print it out manually for each unique style
132
+ @if (not get("caps-disabled")) {
133
+ $cap-defaults: (
134
+ "offset" : get("border-width"),
135
+ "border-radius" : if(get("cap-match-radius"), get("border-radius"), null),
136
+ // "padding-adjust" : map.get($padding-info, $cap-side)
137
+ );
138
+ @include element.cap(
139
+ $side: $cap-side,
140
+ $options: map.merge($cap-defaults, $cap-options)
141
+ );
142
+ }
143
+
144
+ // If the left cap is disabled we still include it's CSS but we hide it
145
+ // so that other styles of callouts can use it
146
+ @if (not get("cap")) {
147
+ &::before {
148
+ content: none;
149
+ }
150
+ // Since this is hidden and reused we need to not use padding adjust unless it
151
+ // was visible
152
+ } @else if ($cap-size) {
153
+ padding-#{ $cap-side }: calc(map.get($padding-info, $cap-side) + $cap-size);
160
154
  }
161
155
  }
156
+
157
+ @include -output-style-modifiers();
158
+ }
159
+
160
+ // Output Each Style Modifier
161
+ // - Note if cap is not disabled this will just update appearance values of cap styling
162
+ @mixin -output-style-modifiers() {
163
+ $prefix: selector.class("callout");
164
+ $caps-enabled: not get("caps-disabled");
165
+ $cap-side: get("cap-side");
166
+
162
167
  @each $name, $style in $styles {
168
+ $cap: map.get($style, "cap");
169
+ $padding: map.get($style, "padding");
170
+ $border-radius: map.get($style, "border-radius");
171
+ $background-color: map.get($style, "background-color");
172
+ $color: map.get($style, "color");
173
+ $border-color: map.get($style, "border-color");
174
+ $border-width: map.get($style, "border-width");
175
+ $box-shadow: map.get($style, "box-shadow");
176
+ $cap-match-radius: map.get($style, "cap-match-radius");
177
+
163
178
  #{ $prefix }--#{ $name } {
164
- background-color: color.get(map.get($style, "background-color"));
165
- color: color.get(map.get($style, "color"));
166
- border: map.get($style, "border");
167
- border-radius: map.get($style, "border-radius");
168
- border-color: color.get(map.get($style, "border-color"));
169
- box-shadow: map.get($style, "box-shadow");
170
- padding: map.get($style, "padding");
171
- @if map.get($style, "left-cap") {
172
- @include left-cap( map.get($style, "left-cap-width"), map.get($style, "left-cap-color"));
179
+ background-color: color.get($background-color);
180
+ color: color.get($color);
181
+ border-radius: $border-radius;
182
+ border-color: color.get($border-color);
183
+ border-width: $border-width;
184
+ box-shadow: $box-shadow;
185
+ padding: $padding;
186
+
187
+ @if ($cap and $caps-enabled) {
188
+ $match-radius: utils.if-type("bool", $cap-match-radius, get("cap-match-radius"));
189
+ // Padding adjust always has to be set (since size could change or padding)
190
+ $padding-info: utils.get-spacing(if($padding, $padding, get("padding")));
191
+ $cap-radius: utils.if-type("number", $border-radius, get("border-radius"));
192
+ $cap-options: utils.ensure-map(map.get($style, "cap-options"));
193
+ $cap-defaults: (
194
+ "size" : map.get(get("cap-options"), "size"),
195
+ "padding-adjust" : map.get($padding-info, $cap-side),
196
+ "offset" : $border-width,
197
+ "border-radius" : if($match-radius, $cap-radius, null)
198
+ );
199
+
200
+ @include element.cap-appearance(
201
+ $side: $cap-side,
202
+ $options: map.merge($cap-defaults, $cap-options),
203
+ $before: true
204
+ );
205
+
206
+ // Because the main callout's cap may not be visible
207
+ &::before {
208
+ content: "";
209
+ }
210
+ // If set to false remove the cap (if enabled) and reset default cap padding adjust
211
+ } @else if ($cap == false and $caps-enabled) {
212
+ // if this style doesn't set padding
213
+ @if (not $padding) {
214
+ $padding-info: utils.get-spacing(get("padding"));
215
+ padding-#{ $cap-side }: map.get($padding-info, $cap-side);
216
+ }
217
+ &::before {
218
+ content: none;
219
+ }
173
220
  }
174
221
  }
175
222
  }
@@ -30,6 +30,23 @@ $-fallbacks: (
30
30
 
31
31
  /// Module Settings
32
32
  /// @type Map
33
+ /// @prop {Boolean} text-alignment-matches [false] Toggles matching alignment.
34
+ /// @prop {Boolean} text-alignment-matches-center-only [true] Toggles matching alignment, but only if center.
35
+ /// @prop {Color} background-color [white] Background color of the component.
36
+ /// @prop {CssValue} box-shadow [true] Box shadow the captioned figure.
37
+ /// @prop {Dimension} margin-bottom [true] Bottom margin of the captioned figure.
38
+ /// @prop {Number} line-height [true] Line height of the captioned figure caption.
39
+ /// @prop {Dimension} caption-padding [0.5em] Padding of the captioned figure caption.
40
+ /// @prop {Color} color [null] Font color of the captioned figure caption.
41
+ /// @prop {String} type-size ["small"] Font size of the captioned figure caption.
42
+ /// @prop {Dimension} caption-max-width [min(100%, 15em)] Max width of the captioned figure caption.
43
+ /// @prop {Color} caption-background-color [rgba(255,255,255,0.7)] background color of the captioned figure caption.
44
+ /// @prop {CssValue} caption-backdrop-filter [blur(2px)] Filter of the backdrop of the captioned figure.
45
+ /// @prop {Color} traditional-caption-color [null] Traditional style for font color.
46
+ /// @prop {Color} traditional-caption-background-color [transparent] Traditional style for caption background color.
47
+ /// @prop {Dimension} traditional-caption-padding [0.5em] Traditional style for caption padding.
48
+ /// @prop {Dimension} traditional-caption-max-width [35em] Traditional style for caption max width.
49
+ /// @prop {CssValue} traditional-caption-text-align [right] Traditional style for caption text-align.
33
50
 
34
51
  $config: (
35
52
  "text-alignment-matches" : false,
@@ -51,7 +51,7 @@ $config: (
51
51
 
52
52
  #{ $prefix } {
53
53
  display: grid;
54
- grid-template-columns: get("template-columns");
54
+ grid-template-columns: get("template-columns");
55
55
  grid-auto-rows: 1fr;
56
56
  gap: get("gap");
57
57
  margin: get("gap") 0;