@ulu/frontend 0.1.0-beta.1 → 0.1.0-beta.100

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 (401) hide show
  1. package/CHANGELOG.md +681 -2
  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/chunks/modulepreload-polyfill.DaKOjhqt.js +37 -0
  8. package/docs-dev/assets/favicons/android-chrome-192x192.png +0 -0
  9. package/docs-dev/assets/favicons/android-chrome-256x256.png +0 -0
  10. package/docs-dev/assets/favicons/apple-touch-icon.png +0 -0
  11. package/docs-dev/assets/favicons/browserconfig.xml +9 -0
  12. package/docs-dev/assets/favicons/favicon-16x16.png +0 -0
  13. package/docs-dev/assets/favicons/favicon-32x32.png +0 -0
  14. package/docs-dev/assets/favicons/favicon.ico +0 -0
  15. package/docs-dev/assets/favicons/mstile-150x150.png +0 -0
  16. package/docs-dev/assets/favicons/safari-pinned-tab.svg +1 -0
  17. package/docs-dev/assets/favicons/site.webmanifest +19 -0
  18. package/docs-dev/assets/fonts/fontawesome/fa-brands-400.ttf +0 -0
  19. package/docs-dev/assets/fonts/fontawesome/fa-brands-400.woff2 +0 -0
  20. package/docs-dev/assets/fonts/fontawesome/fa-regular-400.ttf +0 -0
  21. package/docs-dev/assets/fonts/fontawesome/fa-regular-400.woff2 +0 -0
  22. package/docs-dev/assets/fonts/fontawesome/fa-solid-900.ttf +0 -0
  23. package/docs-dev/assets/fonts/fontawesome/fa-solid-900.woff2 +0 -0
  24. package/docs-dev/assets/fonts/fontawesome/fa-v4compatibility.ttf +0 -0
  25. package/docs-dev/assets/fonts/fontawesome/fa-v4compatibility.woff2 +0 -0
  26. package/docs-dev/assets/fonts/inter/Inter-Black.woff2 +0 -0
  27. package/docs-dev/assets/fonts/inter/Inter-BlackItalic.woff2 +0 -0
  28. package/docs-dev/assets/fonts/inter/Inter-Bold.woff2 +0 -0
  29. package/docs-dev/assets/fonts/inter/Inter-BoldItalic.woff2 +0 -0
  30. package/docs-dev/assets/fonts/inter/Inter-ExtraBold.woff2 +0 -0
  31. package/docs-dev/assets/fonts/inter/Inter-ExtraBoldItalic.woff2 +0 -0
  32. package/docs-dev/assets/fonts/inter/Inter-ExtraLight.woff2 +0 -0
  33. package/docs-dev/assets/fonts/inter/Inter-ExtraLightItalic.woff2 +0 -0
  34. package/docs-dev/assets/fonts/inter/Inter-Italic.woff2 +0 -0
  35. package/docs-dev/assets/fonts/inter/Inter-Light.woff2 +0 -0
  36. package/docs-dev/assets/fonts/inter/Inter-LightItalic.woff2 +0 -0
  37. package/docs-dev/assets/fonts/inter/Inter-Medium.woff2 +0 -0
  38. package/docs-dev/assets/fonts/inter/Inter-MediumItalic.woff2 +0 -0
  39. package/docs-dev/assets/fonts/inter/Inter-Regular.woff2 +0 -0
  40. package/docs-dev/assets/fonts/inter/Inter-SemiBold.woff2 +0 -0
  41. package/docs-dev/assets/fonts/inter/Inter-SemiBoldItalic.woff2 +0 -0
  42. package/docs-dev/assets/fonts/inter/Inter-Thin.woff2 +0 -0
  43. package/docs-dev/assets/fonts/inter/Inter-ThinItalic.woff2 +0 -0
  44. package/docs-dev/assets/fonts/inter/InterDisplay-Black.woff2 +0 -0
  45. package/docs-dev/assets/fonts/inter/InterDisplay-BlackItalic.woff2 +0 -0
  46. package/docs-dev/assets/fonts/inter/InterDisplay-Bold.woff2 +0 -0
  47. package/docs-dev/assets/fonts/inter/InterDisplay-BoldItalic.woff2 +0 -0
  48. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraBold.woff2 +0 -0
  49. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraBoldItalic.woff2 +0 -0
  50. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraLight.woff2 +0 -0
  51. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraLightItalic.woff2 +0 -0
  52. package/docs-dev/assets/fonts/inter/InterDisplay-Italic.woff2 +0 -0
  53. package/docs-dev/assets/fonts/inter/InterDisplay-Light.woff2 +0 -0
  54. package/docs-dev/assets/fonts/inter/InterDisplay-LightItalic.woff2 +0 -0
  55. package/docs-dev/assets/fonts/inter/InterDisplay-Medium.woff2 +0 -0
  56. package/docs-dev/assets/fonts/inter/InterDisplay-MediumItalic.woff2 +0 -0
  57. package/docs-dev/assets/fonts/inter/InterDisplay-Regular.woff2 +0 -0
  58. package/docs-dev/assets/fonts/inter/InterDisplay-SemiBold.woff2 +0 -0
  59. package/docs-dev/assets/fonts/inter/InterDisplay-SemiBoldItalic.woff2 +0 -0
  60. package/docs-dev/assets/fonts/inter/InterDisplay-Thin.woff2 +0 -0
  61. package/docs-dev/assets/fonts/inter/InterDisplay-ThinItalic.woff2 +0 -0
  62. package/docs-dev/assets/fonts/inter/InterVariable-Italic.woff2 +0 -0
  63. package/docs-dev/assets/fonts/inter/InterVariable.woff2 +0 -0
  64. package/docs-dev/assets/fonts/inter/LICENSE.txt +92 -0
  65. package/docs-dev/assets/fonts/inter/inter.css +37 -0
  66. package/docs-dev/assets/main.js +23312 -0
  67. package/docs-dev/assets/placeholder/4065947-uhd_4096_2160_25fps.credits.txt +2 -0
  68. package/docs-dev/assets/placeholder/4065947-uhd_4096_2160_25fps.mp4 +0 -0
  69. package/docs-dev/assets/placeholder/icon-calendar.svg +1 -0
  70. package/docs-dev/assets/placeholder/icon-check.svg +1 -0
  71. package/docs-dev/assets/placeholder/image-1-attribution.txt +7 -0
  72. package/docs-dev/assets/placeholder/image-1-darkened.jpg +0 -0
  73. package/docs-dev/assets/placeholder/image-1-lightened.jpg +0 -0
  74. package/docs-dev/assets/placeholder/image-1.jpg +0 -0
  75. package/docs-dev/assets/style.css +19153 -0
  76. package/docs-dev/changelog/index.html +7184 -0
  77. package/docs-dev/demos/accordion/index.html +5811 -0
  78. package/docs-dev/demos/badge/index.html +5655 -0
  79. package/docs-dev/demos/badge-stack/index.html +5636 -0
  80. package/docs-dev/demos/badge.1/index.html +5595 -0
  81. package/docs-dev/demos/basic-hero/index.html +111 -0
  82. package/docs-dev/demos/breakpoints-manager/index.html +5666 -0
  83. package/docs-dev/demos/button/index.html +5665 -0
  84. package/docs-dev/demos/button-group/index.html +5652 -0
  85. package/docs-dev/demos/button-verbose/index.html +5658 -0
  86. package/docs-dev/demos/callout/index.html +5704 -0
  87. package/docs-dev/demos/captioned-figure/index.html +5686 -0
  88. package/docs-dev/demos/card/index.html +5682 -0
  89. package/docs-dev/demos/card-grid/index.html +5777 -0
  90. package/docs-dev/demos/counter-list/index.html +5660 -0
  91. package/docs-dev/demos/css-icons/index.html +6298 -0
  92. package/docs-dev/demos/data-grid/index.html +6529 -0
  93. package/docs-dev/demos/data-table/index.html +5833 -0
  94. package/docs-dev/demos/details-group/index.html +5687 -0
  95. package/docs-dev/demos/file-save/index.html +5675 -0
  96. package/docs-dev/demos/flipcard/index.html +6224 -0
  97. package/docs-dev/demos/form-theme/index.html +5842 -0
  98. package/docs-dev/demos/headline-label/index.html +5622 -0
  99. package/docs-dev/demos/hero/index.html +309 -0
  100. package/docs-dev/demos/image-grid/index.html +165 -0
  101. package/docs-dev/demos/index.html +5613 -0
  102. package/docs-dev/demos/list-inline/index.html +5640 -0
  103. package/docs-dev/demos/list-lines/index.html +5630 -0
  104. package/docs-dev/demos/menu-stack/index.html +5769 -0
  105. package/docs-dev/demos/modals/index.html +5844 -0
  106. package/docs-dev/demos/nav-strip/index.html +5725 -0
  107. package/docs-dev/demos/overlay-section/index.html +5701 -0
  108. package/docs-dev/demos/panel/index.html +5682 -0
  109. package/docs-dev/demos/popovers/index.html +5873 -0
  110. package/docs-dev/demos/print/index.html +5633 -0
  111. package/docs-dev/demos/pull-quote/index.html +5632 -0
  112. package/docs-dev/demos/rail/index.html +5730 -0
  113. package/docs-dev/demos/rule/index.html +5694 -0
  114. package/docs-dev/demos/scroll-slider/index.html +170 -0
  115. package/docs-dev/demos/scrollpoints/index.html +5651 -0
  116. package/docs-dev/demos/skeleton/index.html +5678 -0
  117. package/docs-dev/demos/slider/index.html +172 -0
  118. package/docs-dev/demos/spoke-spinner/index.html +5628 -0
  119. package/docs-dev/demos/sticky-list/index.html +5643 -0
  120. package/docs-dev/demos/tabs/index.html +5753 -0
  121. package/docs-dev/demos/tag/index.html +5633 -0
  122. package/docs-dev/demos/theme-toggle/index.html +5699 -0
  123. package/docs-dev/demos/tile-grid-overlay/index.html +390 -0
  124. package/docs-dev/demos/tiles/index.html +5882 -0
  125. package/docs-dev/demos/tooltip/index.html +5661 -0
  126. package/docs-dev/demos/wysiwyg/index.html +5672 -0
  127. package/docs-dev/guide/building-stylesheet/index.html +5682 -0
  128. package/docs-dev/guide/developing-ulu-scss-module/index.html +5734 -0
  129. package/docs-dev/guide/index.html +5615 -0
  130. package/docs-dev/index.html +5662 -0
  131. package/docs-dev/javascript/events/index.html +5811 -0
  132. package/docs-dev/javascript/index.html +5628 -0
  133. package/docs-dev/javascript/settings/index.html +5825 -0
  134. package/docs-dev/javascript/ui-breakpoints/index.html +6071 -0
  135. package/docs-dev/javascript/ui-collapsible/index.html +5738 -0
  136. package/docs-dev/javascript/ui-details-group/index.html +5742 -0
  137. package/docs-dev/javascript/ui-dialog/index.html +5787 -0
  138. package/docs-dev/javascript/ui-flipcard/index.html +5678 -0
  139. package/docs-dev/javascript/ui-grid/index.html +5653 -0
  140. package/docs-dev/javascript/ui-modal-builder/index.html +5901 -0
  141. package/docs-dev/javascript/ui-overflow-scroller/index.html +5611 -0
  142. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +5629 -0
  143. package/docs-dev/javascript/ui-page/index.html +5626 -0
  144. package/docs-dev/javascript/ui-popover/index.html +5661 -0
  145. package/docs-dev/javascript/ui-print/index.html +5670 -0
  146. package/docs-dev/javascript/ui-print-details/index.html +5641 -0
  147. package/docs-dev/javascript/ui-programmatic-modal/index.html +5611 -0
  148. package/docs-dev/javascript/ui-proxy-click/index.html +5740 -0
  149. package/docs-dev/javascript/ui-resizer/index.html +5946 -0
  150. package/docs-dev/javascript/ui-scroll-slider/index.html +5672 -0
  151. package/docs-dev/javascript/ui-scrollpoint/index.html +5851 -0
  152. package/docs-dev/javascript/ui-slider/index.html +5813 -0
  153. package/docs-dev/javascript/ui-tabs/index.html +5706 -0
  154. package/docs-dev/javascript/ui-theme-toggle/index.html +5830 -0
  155. package/docs-dev/javascript/ui-tooltip/index.html +5754 -0
  156. package/docs-dev/javascript/utils-class-logger/index.html +5746 -0
  157. package/docs-dev/javascript/utils-css/index.html +5644 -0
  158. package/docs-dev/javascript/utils-dom/index.html +5711 -0
  159. package/docs-dev/javascript/utils-file-save/index.html +5783 -0
  160. package/docs-dev/javascript/utils-floating-ui/index.html +5643 -0
  161. package/docs-dev/javascript/utils-id/index.html +5653 -0
  162. package/docs-dev/javascript/utils-pause-youtube-video/index.html +5661 -0
  163. package/docs-dev/javascript/utils-system/index.html +5947 -0
  164. package/docs-dev/sass/base/color/index.html +5644 -0
  165. package/docs-dev/sass/base/elements/index.html +5815 -0
  166. package/docs-dev/sass/base/index/index.html +5814 -0
  167. package/docs-dev/sass/base/index.html +5622 -0
  168. package/docs-dev/sass/base/keyframes/index.html +5646 -0
  169. package/docs-dev/sass/base/layout/index.html +5806 -0
  170. package/docs-dev/sass/base/normalize/index.html +5654 -0
  171. package/docs-dev/sass/base/print/index.html +5650 -0
  172. package/docs-dev/sass/base/root/index.html +5670 -0
  173. package/docs-dev/sass/base/typography/index.html +5670 -0
  174. package/docs-dev/sass/components/accordion/index.html +5979 -0
  175. package/docs-dev/sass/components/adaptive-spacing/index.html +5915 -0
  176. package/docs-dev/sass/components/badge/index.html +5881 -0
  177. package/docs-dev/sass/components/badge-stack/index.html +5811 -0
  178. package/docs-dev/sass/components/basic-hero/index.html +5805 -0
  179. package/docs-dev/sass/components/button/index.html +5799 -0
  180. package/docs-dev/sass/components/button-group/index.html +5803 -0
  181. package/docs-dev/sass/components/button-verbose/index.html +5986 -0
  182. package/docs-dev/sass/components/callout/index.html +5961 -0
  183. package/docs-dev/sass/components/captioned-figure/index.html +5904 -0
  184. package/docs-dev/sass/components/card/index.html +6219 -0
  185. package/docs-dev/sass/components/card-grid/index.html +5813 -0
  186. package/docs-dev/sass/components/counter-list/index.html +5887 -0
  187. package/docs-dev/sass/components/css-icon/index.html +5917 -0
  188. package/docs-dev/sass/components/data-grid/index.html +6052 -0
  189. package/docs-dev/sass/components/data-table/index.html +5988 -0
  190. package/docs-dev/sass/components/fill-context/index.html +5679 -0
  191. package/docs-dev/sass/components/flipcard/index.html +5980 -0
  192. package/docs-dev/sass/components/flipcard-grid/index.html +5800 -0
  193. package/docs-dev/sass/components/form-theme/index.html +6525 -0
  194. package/docs-dev/sass/components/headline-label/index.html +5833 -0
  195. package/docs-dev/sass/components/hero/index.html +5849 -0
  196. package/docs-dev/sass/components/horizontal-rule/index.html +5798 -0
  197. package/docs-dev/sass/components/image-grid/index.html +5805 -0
  198. package/docs-dev/sass/components/index/index.html +5859 -0
  199. package/docs-dev/sass/components/index.html +5622 -0
  200. package/docs-dev/sass/components/links/index.html +5649 -0
  201. package/docs-dev/sass/components/list-inline/index.html +5819 -0
  202. package/docs-dev/sass/components/list-lines/index.html +5840 -0
  203. package/docs-dev/sass/components/list-ordered/index.html +5645 -0
  204. package/docs-dev/sass/components/list-unordered/index.html +5649 -0
  205. package/docs-dev/sass/components/menu-stack/index.html +5992 -0
  206. package/docs-dev/sass/components/modal/index.html +6068 -0
  207. package/docs-dev/sass/components/nav-strip/index.html +5899 -0
  208. package/docs-dev/sass/components/overlay-section/index.html +5843 -0
  209. package/docs-dev/sass/components/pager/index.html +5961 -0
  210. package/docs-dev/sass/components/panel/index.html +6033 -0
  211. package/docs-dev/sass/components/placeholder-block/index.html +5883 -0
  212. package/docs-dev/sass/components/popover/index.html +5994 -0
  213. package/docs-dev/sass/components/pull-quote/index.html +5857 -0
  214. package/docs-dev/sass/components/rail/index.html +5823 -0
  215. package/docs-dev/sass/components/ratio-box/index.html +5803 -0
  216. package/docs-dev/sass/components/rule/index.html +5805 -0
  217. package/docs-dev/sass/components/scroll-slider/index.html +5904 -0
  218. package/docs-dev/sass/components/skeleton/index.html +5861 -0
  219. package/docs-dev/sass/components/skip-link/index.html +5789 -0
  220. package/docs-dev/sass/components/slider/index.html +5913 -0
  221. package/docs-dev/sass/components/spoke-spinner/index.html +5863 -0
  222. package/docs-dev/sass/components/sticky-list/index.html +6023 -0
  223. package/docs-dev/sass/components/table-sticky/index.html +5677 -0
  224. package/docs-dev/sass/components/tabs/index.html +5954 -0
  225. package/docs-dev/sass/components/tag/index.html +5964 -0
  226. package/docs-dev/sass/components/tile-button/index.html +5844 -0
  227. package/docs-dev/sass/components/tile-grid/index.html +5979 -0
  228. package/docs-dev/sass/components/tile-grid-overlay/index.html +5780 -0
  229. package/docs-dev/sass/components/vignette/index.html +5799 -0
  230. package/docs-dev/sass/components/wysiwyg/index.html +5827 -0
  231. package/docs-dev/sass/core/breakpoint/index.html +6454 -0
  232. package/docs-dev/sass/core/button/index.html +6538 -0
  233. package/docs-dev/sass/core/color/index.html +6520 -0
  234. package/docs-dev/sass/core/cssvar/index.html +6411 -0
  235. package/docs-dev/sass/core/element/index.html +6816 -0
  236. package/docs-dev/sass/core/index.html +5609 -0
  237. package/docs-dev/sass/core/layout/index.html +6388 -0
  238. package/docs-dev/sass/core/path/index.html +5778 -0
  239. package/docs-dev/sass/core/selector/index.html +5857 -0
  240. package/docs-dev/sass/core/typography/index.html +6783 -0
  241. package/docs-dev/sass/core/units/index.html +5822 -0
  242. package/docs-dev/sass/core/utils/index.html +8406 -0
  243. package/docs-dev/sass/helpers/color/index.html +5644 -0
  244. package/docs-dev/sass/helpers/display/index.html +5649 -0
  245. package/docs-dev/sass/helpers/index/index.html +5811 -0
  246. package/docs-dev/sass/helpers/index.html +5622 -0
  247. package/docs-dev/sass/helpers/print/index.html +5199 -0
  248. package/docs-dev/sass/helpers/typography/index.html +5672 -0
  249. package/docs-dev/sass/helpers/units/index.html +5818 -0
  250. package/docs-dev/sass/helpers/utilities/index.html +5649 -0
  251. package/docs-dev/sass/index.html +5673 -0
  252. package/js/events/index.js +17 -5
  253. package/js/index.js +1 -0
  254. package/js/settings.js +97 -0
  255. package/js/ui/breakpoints.js +19 -16
  256. package/js/ui/collapsible.js +8 -1
  257. package/js/ui/details-group.js +112 -0
  258. package/js/ui/dialog.js +103 -44
  259. package/js/ui/dialog.todo +2 -36
  260. package/js/ui/flipcard.js +37 -57
  261. package/js/ui/grid.js +15 -13
  262. package/js/ui/index.js +1 -0
  263. package/js/ui/modal-builder.js +127 -70
  264. package/js/ui/overflow-scroller.js +6 -4
  265. package/js/ui/page.js +2 -2
  266. package/js/ui/popover.js +38 -38
  267. package/js/ui/print.js +16 -25
  268. package/js/ui/programmatic-modal.js +9 -3
  269. package/js/ui/proxy-click.js +50 -36
  270. package/js/ui/resizer.js +408 -39
  271. package/js/ui/scroll-slider.js +24 -30
  272. package/js/ui/scrollpoint.js +29 -64
  273. package/js/ui/slider.js +108 -63
  274. package/js/ui/tabs.js +46 -39
  275. package/js/ui/theme-toggle.js +332 -94
  276. package/js/ui/tooltip.js +27 -32
  277. package/js/utils/class-logger.js +3 -3
  278. package/js/utils/css.js +13 -0
  279. package/js/utils/dom.js +23 -64
  280. package/js/utils/font-awesome.js +19 -0
  281. package/js/utils/index.js +2 -1
  282. package/js/utils/system.js +155 -0
  283. package/package.json +25 -11
  284. package/scss/README.md +9 -0
  285. package/scss/_breakpoint.scss +39 -5
  286. package/scss/_button.scss +7 -5
  287. package/scss/_color.scss +42 -9
  288. package/scss/_element.scss +124 -2
  289. package/scss/_layout.scss +7 -8
  290. package/scss/_units.scss +3 -2
  291. package/scss/_utils.scss +387 -16
  292. package/scss/base/_elements.scss +0 -1
  293. package/scss/base/_index.scss +1 -1
  294. package/scss/base/_keyframes.scss +15 -0
  295. package/scss/base/_layout.scss +1 -0
  296. package/scss/base/_print.scss +2 -0
  297. package/scss/base/_root.scss +2 -0
  298. package/scss/base/_typography.scss +7 -7
  299. package/scss/components/README.todos +14 -0
  300. package/scss/components/_accordion.scss +46 -32
  301. package/scss/components/_adaptive-spacing.scss +3 -3
  302. package/scss/components/_badge-stack.scss +84 -0
  303. package/scss/components/_badge.scss +35 -11
  304. package/scss/components/_basic-hero.scss +112 -0
  305. package/scss/components/_button-group.scss +90 -0
  306. package/scss/components/_button-verbose.scss +122 -40
  307. package/scss/components/_button.scss +2 -0
  308. package/scss/components/_callout.scss +129 -81
  309. package/scss/components/_captioned-figure.scss +25 -8
  310. package/scss/components/_card-grid.scss +3 -3
  311. package/scss/components/_card.scss +267 -91
  312. package/scss/components/_counter-list.scss +151 -0
  313. package/scss/components/_css-icon.scss +45 -30
  314. package/scss/components/_data-grid.scss +57 -14
  315. package/scss/components/_data-table.scss +46 -6
  316. package/scss/components/_flipcard-grid.scss +2 -2
  317. package/scss/components/_flipcard.scss +23 -17
  318. package/scss/components/_form-theme.scss +148 -137
  319. package/scss/components/_headline-label.scss +83 -0
  320. package/scss/components/_hero.scss +14 -12
  321. package/scss/components/_image-grid.scss +2 -2
  322. package/scss/components/_index.scss +60 -0
  323. package/scss/components/_list-inline.scss +80 -0
  324. package/scss/components/_list-lines.scss +46 -35
  325. package/scss/components/_list-ordered.scss +0 -1
  326. package/scss/components/_menu-stack.scss +44 -28
  327. package/scss/components/_modal.scss +75 -56
  328. package/scss/components/_nav-strip.scss +28 -19
  329. package/scss/components/_overlay-section.scss +6 -9
  330. package/scss/components/_pager.scss +11 -11
  331. package/scss/components/_panel.scss +246 -0
  332. package/scss/components/_placeholder-block.scss +6 -6
  333. package/scss/components/_popover.scss +176 -75
  334. package/scss/components/_pull-quote.scss +15 -15
  335. package/scss/components/_rail.scss +127 -0
  336. package/scss/components/_ratio-box.scss +4 -7
  337. package/scss/components/_rule.scss +6 -6
  338. package/scss/components/_scroll-slider.scss +4 -8
  339. package/scss/components/_skeleton.scss +126 -0
  340. package/scss/components/_skip-link.scss +2 -1
  341. package/scss/components/_slider.scss +53 -112
  342. package/scss/components/_spoke-spinner.scss +2 -2
  343. package/scss/components/_sticky-list.scss +206 -0
  344. package/scss/components/_tabs.scss +135 -51
  345. package/scss/components/_tag.scss +3 -3
  346. package/scss/components/_vignette.scss +3 -5
  347. package/scss/components/_wysiwyg.scss +21 -13
  348. package/scss/helpers/_display.scss +15 -18
  349. package/scss/helpers/_print.scss +12 -7
  350. package/scss/helpers/_utilities.scss +41 -31
  351. package/types/events/index.d.ts +10 -1
  352. package/types/events/index.d.ts.map +1 -1
  353. package/types/index.d.ts +1 -0
  354. package/types/settings.d.ts +70 -0
  355. package/types/settings.d.ts.map +1 -0
  356. package/types/ui/breakpoints.d.ts +14 -14
  357. package/types/ui/breakpoints.d.ts.map +1 -1
  358. package/types/ui/collapsible.d.ts.map +1 -1
  359. package/types/ui/details-group.d.ts +38 -0
  360. package/types/ui/details-group.d.ts.map +1 -0
  361. package/types/ui/dialog.d.ts +20 -14
  362. package/types/ui/dialog.d.ts.map +1 -1
  363. package/types/ui/flipcard.d.ts +16 -10
  364. package/types/ui/flipcard.d.ts.map +1 -1
  365. package/types/ui/grid.d.ts +4 -6
  366. package/types/ui/grid.d.ts.map +1 -1
  367. package/types/ui/index.d.ts +2 -1
  368. package/types/ui/modal-builder.d.ts +116 -11
  369. package/types/ui/modal-builder.d.ts.map +1 -1
  370. package/types/ui/overflow-scroller.d.ts +2 -2
  371. package/types/ui/overflow-scroller.d.ts.map +1 -1
  372. package/types/ui/popover.d.ts +6 -7
  373. package/types/ui/popover.d.ts.map +1 -1
  374. package/types/ui/print.d.ts +0 -4
  375. package/types/ui/print.d.ts.map +1 -1
  376. package/types/ui/programmatic-modal.d.ts.map +1 -1
  377. package/types/ui/proxy-click.d.ts +19 -3
  378. package/types/ui/proxy-click.d.ts.map +1 -1
  379. package/types/ui/resizer.d.ts +116 -16
  380. package/types/ui/resizer.d.ts.map +1 -1
  381. package/types/ui/scroll-slider.d.ts +5 -7
  382. package/types/ui/scroll-slider.d.ts.map +1 -1
  383. package/types/ui/scrollpoint.d.ts +3 -8
  384. package/types/ui/scrollpoint.d.ts.map +1 -1
  385. package/types/ui/slider.d.ts +33 -14
  386. package/types/ui/slider.d.ts.map +1 -1
  387. package/types/ui/tabs.d.ts +6 -8
  388. package/types/ui/tabs.d.ts.map +1 -1
  389. package/types/ui/theme-toggle.d.ts +51 -7
  390. package/types/ui/theme-toggle.d.ts.map +1 -1
  391. package/types/ui/tooltip.d.ts +3 -5
  392. package/types/ui/tooltip.d.ts.map +1 -1
  393. package/types/utils/css.d.ts +11 -0
  394. package/types/utils/css.d.ts.map +1 -0
  395. package/types/utils/dom.d.ts +12 -32
  396. package/types/utils/dom.d.ts.map +1 -1
  397. package/types/utils/font-awesome.d.ts +5 -0
  398. package/types/utils/font-awesome.d.ts.map +1 -0
  399. package/types/utils/index.d.ts +2 -1
  400. package/types/utils/system.d.ts +113 -0
  401. package/types/utils/system.d.ts.map +1 -0
@@ -0,0 +1,151 @@
1
+ ////
2
+ /// @group counter-list
3
+ /// Outputs a styled list with counters
4
+
5
+ @use "sass:map";
6
+ @use "sass:selector" as sassSelector;
7
+
8
+ @use "../utils";
9
+ @use "../selector";
10
+ @use "../color";
11
+ @use "../breakpoint";
12
+
13
+ /// Module Settings
14
+ /// @type Map
15
+ /// @prop {List|CssUnit} margin [(2rem 0)] The top and bottom margin of the list.
16
+ /// @prop {List|CssUnit} item-margin [((0 0 1rem 0))] The margin applied to each list item.
17
+ /// @prop {Keyword} align-items [baseline] How to align the counter (flexbox align-items values)
18
+ /// @prop {CssUnit} counter-width [2.4em] The width and height (if height is falsy)
19
+ /// @prop {CssUnit} counter-height [null] The height (optional)
20
+ /// @prop {CssUnit} counter-gap [1em] The gap between the counter and the list item content.
21
+ /// @prop {String} counter-style [numeric] The list-style-type used for the counter.
22
+ /// @prop {Keyword|Percentage} counter-border-radius [50%] The border-radius of the counter element.
23
+ /// @prop {CssUnit} counter-font-size [1.2em] The font-size of the counter text.
24
+ /// @prop {Color|String} counter-color [white] The text color of the counter. Accepts color names or hex codes.
25
+ /// @prop {Color|String} counter-background-color ["accent"] The background color of the counter. Refers to a color in the color module.
26
+ /// @prop {String} extra-selector [null] Additional selectors to include table styling.
27
+
28
+ $config: (
29
+ "margin" : (2rem 0),
30
+ "item-margin" : (0 0 1rem 0),
31
+ "align-items" : baseline,
32
+ "counter-width" : 2.4em,
33
+ "counter-height" : null,
34
+ "counter-gap" : 1em,
35
+ "counter-style" : numeric,
36
+ "counter-border-radius" : 50%,
37
+ "counter-font-size" : 1.2em,
38
+ "counter-font-weight" : null,
39
+ "counter-font-family" : null,
40
+ "counter-color" : white,
41
+ "counter-background-color" : "accent",
42
+ "extra-selector" : null
43
+ ) !default;
44
+
45
+ /// Change modules $config
46
+ /// @param {Map} $changes Map of changes
47
+ /// @example scss
48
+ /// @include ulu.component-counter-list-set(( "property" : value ));
49
+
50
+ @mixin set($changes) {
51
+ $config: map.merge($config, $changes) !global;
52
+ }
53
+
54
+ /// Get a config option
55
+ /// @param {Map} $name Name of property
56
+ /// @example scss
57
+ /// @include ulu.component-counter-list-get("property");
58
+
59
+ @function get($name) {
60
+ @return utils.require-map-get($config, $name, "counter-list [config]");
61
+ }
62
+
63
+ /// Output counter-list component styles
64
+ /// @demo counter-list
65
+ /// @example html {preview}
66
+ /// <ol class="counter-list">
67
+ /// <li class="counter-list__item">This is a item that will get counted</li>
68
+ /// <li class="counter-list__item">Another item that has more content to show line wrapping. Lorem ipsum et depsi anu. Dolor et anu.</li>
69
+ /// <li class="counter-list__item">Small Amount of Text</li>
70
+ /// </ol>
71
+
72
+ @mixin styles {
73
+ $prefix: selector.class("counter-list");
74
+ $prefix-item: sassSelector.parse("#{ $prefix }__item");
75
+ $extra-selector: get("extra-selector");
76
+
77
+ $selector: $prefix;
78
+ $selector-item: sassSelector.parse("#{ $prefix } > li, #{ $prefix-item }");
79
+
80
+ @if ($extra-selector) {
81
+ $selector: sassSelector.parse("#{ $prefix }, #{ $extra-selector }");
82
+ $selector-item: sassSelector.parse("#{ $selector-item }, #{ $extra-selector } > li");
83
+ }
84
+
85
+ #{ $selector } {
86
+ margin: get("margin");
87
+ counter-reset: ulu-counter-list;
88
+ }
89
+
90
+ #{ $selector-item } {
91
+ $width: get("counter-width");
92
+ $height: utils.fallback(get("counter-height"), $width);
93
+
94
+ display: flex;
95
+ gap: get("counter-gap");
96
+ align-items: get("align-items");
97
+ margin: get("item-margin");
98
+ min-height: $height;
99
+ &::before {
100
+ display: flex;
101
+ align-items: center;
102
+ justify-content: center;
103
+ width: $width;
104
+ height: $height;
105
+ flex: 0 0 $width;
106
+ counter-increment: ulu-counter-list;
107
+ content: counter(ulu-counter-list, get("counter-style"));
108
+ font-size: get("counter-font-size");
109
+ font-family: get("counter-font-family");
110
+ font-weight: get("counter-font-weight");
111
+ color: color.get(get("counter-color"));
112
+ background-color: color.get(get("counter-background-color"));
113
+ border-radius: get("counter-border-radius");
114
+ }
115
+
116
+ // Keeping this could be useful
117
+ // but we need to think about how its setup
118
+ // - Probably should be a modifier (choice)
119
+ // - May need either option for how align-items is set (flex-start vs center)
120
+ // - This could be useful when used in grid
121
+ // - May need to be pervasive and not linked to a breakpoint (alternate style)
122
+ // - It's also just useful to know you could override the layout like this
123
+ // to get useful variations (maybe we don't need to include it but users
124
+ // can do specific)
125
+ // @if ( get("counter-mobile-toggle") ) {
126
+ // @include breakpoint.max("small") {
127
+ // padding-left: 0;
128
+ // padding-top: calc(get("counter-width") + get("counter-gap-mobile"));
129
+ // flex-direction: column;
130
+ // align-items: center;
131
+ // }
132
+ // }
133
+ }
134
+
135
+ // Modifiers
136
+ #{ $prefix }--alphabetical {
137
+ & > li::before,
138
+ & > #{ $prefix-item }::before {
139
+ content: counter(ulu-counter-list, upper-alpha);
140
+ }
141
+ }
142
+ #{ $prefix }--numeric {
143
+ & > li::before,
144
+ & > #{ $prefix-item }::before {
145
+ content: counter(ulu-counter-list, numeric);
146
+ }
147
+ }
148
+ #{ $prefix }--no-reset {
149
+ counter-reset: none;
150
+ }
151
+ }
@@ -17,6 +17,7 @@
17
17
 
18
18
  @use "sass:map";
19
19
  @use "sass:math";
20
+ @use "../color";
20
21
 
21
22
  @use "../utils";
22
23
 
@@ -29,6 +30,7 @@
29
30
  /// @prop {Dimension} size [1.1em] The width, height and font size of the css-icon.
30
31
  /// @prop {Dimension} stroke-border-radius [1px] The rounding of the strokes for css-icon.
31
32
  /// @prop {Dimension} stroke-width [0.15em] The stroke width of the css-icon.
33
+ /// @prop {Dimension} drag-gap-multiplier [0.75] Multiplier used to adjust the space between drag-x/drag-y icons (used for all stroke sizes)
32
34
  /// @prop {Dimension} text-offset [0.05em] When using an icon with text, adds a margin to match the text height.
33
35
  /// @prop {Dimension} text-size [1em] font-size of the icon when using text.
34
36
  /// @prop {Dimension} vertical-align [-0.2em] Vertical-align for css-icon
@@ -44,6 +46,7 @@ $config: (
44
46
  "size" : 1.15em,
45
47
  "stroke-border-radius" : null,
46
48
  "stroke-width" : 3px,
49
+ "drag-gap-multiplier" : 0.75,
47
50
  "text-offset" : 0.05em,
48
51
  "text-size" : 1em,
49
52
  "vertical-align" : -0.25em,
@@ -59,7 +62,7 @@ $config: (
59
62
 
60
63
  /// Change modules $config
61
64
  /// @param {Map} $changes Map of changes
62
- /// @example
65
+ /// @example scss
63
66
  /// @include ulu.component-css-icon-set(( "property" : value ));
64
67
 
65
68
  @mixin set($changes) {
@@ -68,7 +71,7 @@ $config: (
68
71
 
69
72
  /// Get a config option
70
73
  /// @param {Map} $name Name of property
71
- /// @example
74
+ /// @example scss
72
75
  /// @include ulu.component-css-icon-get("property");
73
76
 
74
77
  @function get($name) {
@@ -100,7 +103,7 @@ $config: (
100
103
  /// @include ulu.component-css-icon-styles();
101
104
 
102
105
  @mixin styles {
103
- $border: get("stroke-width") solid get("color");
106
+ $border: get("stroke-width") solid color.get(get("color"));
104
107
  $size: get("size");
105
108
  $stroke-width: get("stroke-width");
106
109
  $half-height: math.div(get("size"), 2);
@@ -121,8 +124,8 @@ $config: (
121
124
  -moz-osx-font-smoothing: grayscale;
122
125
  -webkit-font-smoothing: antialiased;
123
126
  // Icons that share pseudos for strokes
124
- &:before,
125
- &:after {
127
+ &::before,
128
+ &::after {
126
129
  // content: "";
127
130
  display: block;
128
131
  position: absolute;
@@ -130,7 +133,7 @@ $config: (
130
133
  height: $stroke-width;
131
134
  top: 50%;
132
135
  left: 50%;
133
- background-color: get("color");
136
+ background-color: color.get(get("color"));
134
137
  transform: translateX(-50%);
135
138
  margin-top: -($half-stroke-width);
136
139
  border-radius: get("stroke-border-radius");
@@ -158,7 +161,7 @@ $config: (
158
161
  // Solid icons
159
162
  [class*="css-icon--circle"],
160
163
  [class*="css-icon--square"] {
161
- background-color: get("color");
164
+ background-color: color.get(get("color"));
162
165
  }
163
166
  [class*="css-icon--circle"] {
164
167
  border-radius: 50%;
@@ -185,14 +188,14 @@ $config: (
185
188
 
186
189
  .css-icon--circle-info,
187
190
  .css-icon--circle-question {
188
- &:before {
191
+ &::before {
189
192
  content: "i";
190
193
  text-align: center;
191
194
  font-size: get("text-size");
192
195
  font-family: get("font-family");
193
196
  font-weight: bold;
194
197
  margin-top: get("text-offset");
195
- color: get("color");
198
+ color: color.get(get("color"));
196
199
  height: auto;
197
200
  left: 0;
198
201
  right: 0;
@@ -205,7 +208,7 @@ $config: (
205
208
  }
206
209
  }
207
210
  .css-icon--circle-question {
208
- &:before {
211
+ &::before {
209
212
  content: "?";
210
213
  }
211
214
  }
@@ -222,17 +225,17 @@ $config: (
222
225
  // Arrow uses same equilateral triangle
223
226
  [class*="css-icon--triangle"],
224
227
  [class*="css-icon--arrow"]::after {
225
- background-color: get("color");
228
+ background-color: color.get(get("color"));
226
229
  clip-path: polygon(10% 10%, 90% 50%, 10% 90%);
227
230
  }
228
231
  [class*="css-icon--arrow"] {
229
- &:before {
232
+ &::before {
230
233
  content: "";
231
234
  width: 70%;
232
235
  left: 0;
233
236
  }
234
237
  // Note triangle clip-path is defined above with the solid triangle
235
- &:after {
238
+ &::after {
236
239
  content: "";
237
240
  border-radius: 0;
238
241
  height: 100%;
@@ -243,8 +246,8 @@ $config: (
243
246
  }
244
247
  [class*="css-icon--angle"] {
245
248
  transform: rotate(135deg);
246
- &:before,
247
- &:after {
249
+ &::before,
250
+ &::after {
248
251
  content: "";
249
252
  top: 30%;
250
253
  left: 30%;
@@ -252,14 +255,14 @@ $config: (
252
255
  transform: none;
253
256
  margin-top: 0;
254
257
  }
255
- &:after {
258
+ &::after {
256
259
  width: $stroke-width;
257
260
  height: 70%;
258
261
  }
259
262
  }
260
263
  @include for-each-stroke() using ($alt-width, $alt-border-radius) {
261
264
  &[class*="css-icon--angle"] {
262
- &:after {
265
+ &::after {
263
266
  width: $alt-width;
264
267
  }
265
268
  }
@@ -282,26 +285,26 @@ $config: (
282
285
 
283
286
  .css-icon--plus,
284
287
  .css-icon--plus-to-minus {
285
- &:before {
288
+ &::before {
286
289
  transform: translateX(-50%) rotate(90deg);
287
290
  }
288
- &:after {
291
+ &::after {
289
292
  transform: translateX(-50%);
290
293
  }
291
294
  }
292
295
  .css-icon--minus {
293
- &:before {
296
+ &::before {
294
297
  content: none;
295
298
  }
296
- &:after {
299
+ &::after {
297
300
  transform: translateX(-50%);
298
301
  }
299
302
  }
300
303
  .css-icon--close {
301
- &:before {
304
+ &::before {
302
305
  transform: translate(-50%) rotate(45deg);
303
306
  }
304
- &:after {
307
+ &::after {
305
308
  transform: translate(-50%) rotate(-45deg);
306
309
  }
307
310
  }
@@ -309,21 +312,23 @@ $config: (
309
312
  &::before {
310
313
  content: "";
311
314
  // Make up for margin-top by default
312
- margin-top: -($stroke-width + $stroke-width);
315
+ margin-top: -(($stroke-width + $stroke-width) * get("drag-gap-multiplier"));
313
316
  }
314
317
  &::after {
315
318
  content: "";
316
- margin-top: $stroke-width;
319
+ margin-top: $stroke-width * get("drag-gap-multiplier");
317
320
  }
318
321
  }
319
322
 
320
323
  @include for-each-stroke() using ($alt-width, $alt-border-radius) {
324
+ // $drag-gap-multiplier: map.get($props, "drag-gap-multiplier");
325
+ // $drag-gap-multiplier: if($drag-gap-multiplier, $drag-gap-multiplier, 0);
321
326
  &[class*="css-icon--drag"] {
322
327
  &::before {
323
- margin-top: -($alt-width + $alt-width);
328
+ margin-top: -(($alt-width + $alt-width) * get("drag-gap-multiplier"));
324
329
  }
325
330
  &::after {
326
- margin-top: $alt-width;
331
+ margin-top: $alt-width * get("drag-gap-multiplier");
327
332
  }
328
333
  }
329
334
  }
@@ -344,7 +349,7 @@ $config: (
344
349
  margin-top: 0;
345
350
  }
346
351
  &::before {
347
- box-shadow: 0px ($stroke-width * 2 + 1px) get("color");
352
+ box-shadow: 0px ($stroke-width * 2 + 1px) color.get(get("color"));
348
353
  margin-bottom: ($stroke-width * 3) + 2px;
349
354
  }
350
355
  }
@@ -352,7 +357,7 @@ $config: (
352
357
  &.css-icon--menu,
353
358
  &.css-icon--menu-to-close {
354
359
  &::before {
355
- box-shadow: 0px ($alt-width * 2 + 1px) get("color");
360
+ box-shadow: 0px ($alt-width * 2 + 1px) color.get(get("color"));
356
361
  margin-bottom: ($alt-width * 3) + 2px;
357
362
  }
358
363
  }
@@ -372,6 +377,16 @@ $config: (
372
377
  .css-icon--arrow-down {
373
378
  transform: rotate(90deg);
374
379
  }
380
+ .css-icon--drag-both {
381
+ transform: rotate(-45deg);
382
+ &::before {
383
+ transform: translateX(-50%) scale(0.8);
384
+ margin-top: -($stroke-width);
385
+ }
386
+ &::after {
387
+ transform: translateX(-50%) scaleX(0.5) scaleY(0.8);
388
+ }
389
+ }
375
390
 
376
391
  // Active icons
377
392
  .css-icon--plus-to-minus {
@@ -424,7 +439,7 @@ $config: (
424
439
  transition: none;
425
440
  transform: translate(-50%) rotate(-45deg);
426
441
  }
427
- &:before {
442
+ &::before {
428
443
  box-shadow: none;
429
444
  transform: translate(-50%) rotate(45deg);
430
445
  }
@@ -3,9 +3,6 @@
3
3
  /// A page grid layout component that uses data attribute instead of class names, for brevity and readability
4
4
  ////
5
5
 
6
- /// Content Block
7
- /// @demo data-grid
8
-
9
6
  @use "sass:map";
10
7
  @use "sass:math";
11
8
 
@@ -38,6 +35,7 @@
38
35
  $config: (
39
36
  "attribute": "data-grid",
40
37
  "attribute-container": "data-grid-container",
38
+ "attribute-init": "data-grid-init",
41
39
  "breakpoint": false, // Fallback to default
42
40
  "columns": 12,
43
41
  "gutter": 14px,
@@ -49,6 +47,7 @@ $config: (
49
47
  "sticky-top": var(--ulu-sticky-top-offset, 0),
50
48
  "rule-color" : "rule",
51
49
  "rule-size" : 1px,
50
+ "rule-fade-duration" : 400ms,
52
51
  "extra-breakpoints": (
53
52
  "medium" : (
54
53
  "breakpoint": "medium",
@@ -73,7 +72,7 @@ $config: (
73
72
 
74
73
  /// Change modules $config
75
74
  /// @param {Map} $changes Map of changes
76
- /// @example
75
+ /// @example scss
77
76
  /// @include ulu.component-data-grid-set(( "property" : value ));
78
77
 
79
78
  @mixin set($changes) {
@@ -82,7 +81,7 @@ $config: (
82
81
 
83
82
  /// Get a config option
84
83
  /// @param {Map} $name Name of property
85
- /// @example
84
+ /// @example scss
86
85
  /// @include ulu.component-data-grid-get("property");
87
86
 
88
87
  @function get($name) {
@@ -134,6 +133,7 @@ $config: (
134
133
  /// @param {Map} $extra-rule-styles Map of other rule styles to add (map of maps of size, and color), key is the styles name ("name": ("size" : 4px, "color" : "color name" || color))
135
134
  /// @param {String} $extra-gutter-scales A map of gutter scales used like `data-grid="gutter-scale: large`, configuration map property becomes scale name and value is the amount (multiplier) to apply to the grid's gutter ie `( "large" : 2.25 )`
136
135
  /// @param {Map} $attribute Attribute to use for selecting grid and children. Children attribute get's "-item" as a suffix ("ie. data-grid, data-grid-item")
136
+ /// @param {CssDuration} $rule-fade-duration The amount of time for rules to fade in (after init, script positioning), set to falsey value to disable rule fade in (rules will always be shown)
137
137
 
138
138
  @mixin create(
139
139
  $columns: get("columns"),
@@ -146,17 +146,20 @@ $config: (
146
146
  $extra-rule-styles: get("extra-rule-styles"),
147
147
  $extra-gutter-scales: get("extra-gutter-scales"),
148
148
  $attribute: get("attribute"),
149
+ $attribute-init: get("attribute-init"),
149
150
  $include-container: true,
150
151
  $container-attribute: get("attribute-container"),
151
152
  $container-gutter-scales: true,
152
153
  $sticky-top: get("sticky-top"),
153
- $sticky-bottom: get("sticky-bottom")
154
+ $sticky-bottom: get("sticky-bottom"),
155
+ $rule-fade-duration: get("rule-fade-duration")
154
156
  ) {
155
157
  $attribute-item: "#{ $attribute }-item";
156
158
  $select-grid: '[#{ $attribute }*="columns: #{ $columns }"]';
159
+ $select-grid-not-init: '[#{ $attribute }]:not([#{ $attribute-init }])';
157
160
  $select-item: '[#{ $attribute-item }]';
158
- $select-rule-col: ":before";
159
- $select-rule-row: ":after";
161
+ $select-rule-col: "::before";
162
+ $select-rule-row: "::after";
160
163
  $select-container: "[#{ $container-attribute }]";
161
164
  // These through off syntax highlighting when inside interpolation
162
165
  $position-class-column-first: get("position-class-column-first");
@@ -215,6 +218,20 @@ $config: (
215
218
  }
216
219
  }
217
220
  }
221
+ // Rules: Applies to both column and row
222
+ &#{'[#{ $attribute }*="rules"]'} {
223
+ > #{ $select-item } {
224
+ position: relative;
225
+ @if ($rule-fade-duration) {
226
+ &#{ $select-rule-col },
227
+ &#{ $select-rule-row } {
228
+ // For when grid init fades them in
229
+ opacity: 1;
230
+ transition: opacity $rule-fade-duration ease-in;
231
+ }
232
+ }
233
+ }
234
+ }
218
235
  // Rules: Row
219
236
  &#{'[#{ $attribute }*="rules-row:"]'} {
220
237
  > #{ $select-item } {
@@ -227,12 +244,6 @@ $config: (
227
244
  }
228
245
  }
229
246
  }
230
- // Rules: Applies to both column and row
231
- &#{'[#{ $attribute }*="rules"]'} {
232
- > #{ $select-item } {
233
- position: relative;
234
- }
235
- }
236
247
  // Rules: Column
237
248
  &#{'[#{ $attribute }*="rules-column:"]'} {
238
249
  > #{ $select-item } {
@@ -580,6 +591,21 @@ $config: (
580
591
  }
581
592
  }
582
593
  }
594
+
595
+ // Disable grid rules until init attribute it present (from positioning script)
596
+ // - In order to keep the rules for this compact it will only hide them if the init
597
+ // is not present
598
+
599
+ @if ($rule-fade-duration) {
600
+ #{ $select-grid-not-init } {
601
+ > #{ $select-item } {
602
+ &#{ $select-rule-col },
603
+ &#{ $select-rule-row } {
604
+ opacity: 0 !important;
605
+ }
606
+ }
607
+ }
608
+ }
583
609
  }
584
610
 
585
611
  @mixin -create-extra-breakpoint(
@@ -635,6 +661,23 @@ $config: (
635
661
  }
636
662
  }
637
663
 
664
+ &#{'[#{ $attribute }*="gutters-row:"]'} {
665
+ > #{ $select-item } {
666
+ padding-top: $gutter;
667
+ padding-bottom: $gutter;
668
+ }
669
+ @if $extra-gutter-scales {
670
+ @each $scale, $amount in $extra-gutter-scales {
671
+ &#{'[#{ $attribute }*="gutter-scale: #{ $scale }"]'} {
672
+ > #{ $select-item } {
673
+ padding-top: $gutter * $amount;
674
+ padding-bottom: $gutter * $amount;
675
+ }
676
+ }
677
+ }
678
+ }
679
+ }
680
+
638
681
  @include -create-column-widths(
639
682
  $columns: $columns,
640
683
  $attribute-item: $attribute-item,
@@ -24,16 +24,47 @@ $-fallbacks: (
24
24
 
25
25
  /// Module Settings
26
26
  /// @type Map
27
+ /// @prop {Dimension} cell-padding [(0.5em,)] Padding of the th and td elements.
28
+ /// @prop {CssValue} text-align [left] Text align of the table.
29
+ /// @prop {String} type-size ["small"] Font size of the table.
30
+ /// @prop {Color} background-color [white] Background color of table container.
31
+ /// @prop {Color} header-background-color [#f5f4f4] Background color of the the table header.
32
+ /// @prop {Color} body-background-color [white] Background color of table body.
33
+ /// @prop {Color} footer-background-color [#f3f3f3] Background color of table footer.
34
+ /// @prop {Color} color ["type-secondary"] Font color of the table.
35
+ /// @prop {Color} header-color ["headline"] Font color for the table header.
36
+ /// @prop {Color} footer-color [null] Font color for the table footer.
37
+ /// @prop {Number} line-height [true] Line height for the table.
38
+ /// @prop {Dimension} column-min-width [6em] Min-width of the th element.
39
+ /// @prop {Dimension} first-column-large-min-width [15em] When using "--large-first" style, the min width of the first th element.
40
+ /// @prop {Dimension} border-width [1px] Border width of the table.
41
+ /// @prop {Color} border-color [#dddddd] Border color for the table.
42
+ /// @prop {Color} striped-row-background-color [#eeeeee] Background color for even rows if using "--striped" styling.
43
+ /// @prop {Color} muted-row-background-color [#ccc] Background color for odd rows if using "--striped" styling.
44
+ /// @prop {Color} muted-row-border-color [null] Border color for odd rows if using "--striped" styling.
45
+ /// @prop {Color} highlighted-row-background-color [#ccc] Background color row if using "__row-highlighted" styling.
46
+ /// @prop {Color} highlighted-row-border-color [null] Border color row if using "__row-highlighted" styling.
47
+ /// @prop {Dimension} large-header-cell-padding-y [1em] Vertical padding of header if using "--large-header" styling.
48
+ /// @prop {String} caption-type-size ["large"] Type size of table caption.
49
+ /// @prop {Color} caption-background-color [null] Background color of table caption.
50
+ /// @prop {CssValue} caption-font-weight [bold] Font weight of caption.
51
+ /// @prop {CssBalue} caption-border-bottom [null] Bottom border of the caption.
52
+ /// @prop {Dimension} caption-margin [(0,)] Margin of the caption.
53
+ /// @prop {Dimension} caption-padding [(0.65em 0)] Padding of the caption.
54
+ /// @prop {CssValue} caption-text-align [left] Text align of the caption.
55
+ /// @prop {String} extra-selector [".wysiwyg table"] Additional selectors to include table styling.
27
56
 
28
57
  $config: (
29
58
  "cell-padding" : (0.5em,),
30
59
  "text-align" : left,
31
60
  "type-size" : "small",
32
61
  "background-color" : white,
33
- "header-background-color" : #eeeeee,
62
+ "header-background-color" : #f5f4f4,
34
63
  "body-background-color" : white,
35
64
  "footer-background-color" : #f3f3f3,
36
65
  "color" : "type-secondary",
66
+ "header-color" : "headline",
67
+ "footer-color" : null,
37
68
  "line-height" : true,
38
69
  "column-min-width" : 6em,
39
70
  "first-column-large-min-width" : 15em,
@@ -46,15 +77,18 @@ $config: (
46
77
  "highlighted-row-border-color" : null,
47
78
  "large-header-cell-padding-y" : 1em,
48
79
  "caption-type-size" : "large",
80
+ "caption-background-color" : null,
49
81
  "caption-font-weight" : bold,
50
- "caption-margin" : (0 0 1em 0),
51
- "caption-padding" : (0,),
82
+ "caption-border-bottom" : null,
83
+ "caption-margin" : (0,),
84
+ "caption-padding" : (0.65em 0),
85
+ "caption-text-align" : left,
52
86
  "extra-selector" : ".wysiwyg table"
53
87
  ) !default;
54
88
 
55
89
  /// Change modules $config
56
90
  /// @param {Map} $changes Map of changes
57
- /// @example
91
+ /// @example scss
58
92
  /// @include ulu.component-data-table-set(( "property" : value ));
59
93
 
60
94
  @mixin set($changes) {
@@ -63,7 +97,7 @@ $config: (
63
97
 
64
98
  /// Get a config option
65
99
  /// @param {Map} $name Name of property
66
- /// @example
100
+ /// @example scss
67
101
  /// @include ulu.component-data-table-get("property");
68
102
 
69
103
  @function get($name) {
@@ -107,9 +141,11 @@ $config: (
107
141
  @include typography.size(get("caption-type-size"));
108
142
  }
109
143
  font-weight: get("caption-font-weight");
110
- text-align: left;
144
+ text-align: get("caption-text-align");
111
145
  margin: get("caption-margin");
112
146
  padding: get("caption-padding");
147
+ background-color: get("caption-background-color");
148
+ border-bottom: get("caption-border-bottom");
113
149
  }
114
150
  th,
115
151
  tr,
@@ -133,11 +169,15 @@ $config: (
133
169
  thead tr {
134
170
  background-color: color.get(get("header-background-color"));
135
171
  }
172
+ thead th {
173
+ color: color.get(get("header-color"));
174
+ }
136
175
  tbody tr {
137
176
  background-color: color.get(get("body-background-color"));
138
177
  }
139
178
  tfoot tr {
140
179
  background-color: color.get(get("footer-background-color"));
180
+ color: color.get(get("footer-color"));
141
181
  }
142
182
  th,
143
183
  td {
@@ -23,7 +23,7 @@ $config: (
23
23
 
24
24
  /// Change modules $config
25
25
  /// @param {Map} $changes Map of changes
26
- /// @example
26
+ /// @example scss
27
27
  /// @include ulu.component-flipcard-grid-set(( "property" : value ));
28
28
 
29
29
  @mixin set($changes) {
@@ -32,7 +32,7 @@ $config: (
32
32
 
33
33
  /// Get a config option
34
34
  /// @param {Map} $name Name of property
35
- /// @example
35
+ /// @example scss
36
36
  /// @include ulu.component-flipcard-grid-get("property");
37
37
 
38
38
  @function get($name) {