@ulu/frontend 0.0.3 → 0.0.6

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 (285) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +3 -1
  3. package/js/deprecated/mini-collapsible.js +1 -1
  4. package/js/events/index.js +4 -1
  5. package/js/helpers/css-breakpoint.js +5 -7
  6. package/js/helpers/file-save.js +4 -0
  7. package/js/helpers/node-data-manager.js +4 -0
  8. package/js/helpers/pause-youtube-video.js +4 -0
  9. package/js/helpers/scrollbar-width-property.js +6 -2
  10. package/js/index.js +0 -2
  11. package/js/ui/flipcard.js +5 -1
  12. package/js/ui/grid.js +4 -0
  13. package/js/ui/modals.js +4 -1
  14. package/js/ui/overflow-scroller-pager.js +3 -0
  15. package/js/ui/overflow-scroller.js +4 -1
  16. package/js/ui/programmatic-modal.js +3 -0
  17. package/js/ui/resizer.js +3 -0
  18. package/js/ui/slider.js +7 -4
  19. package/js/ui/tabs.js +3 -0
  20. package/js/ui/tooltip.js +3 -0
  21. package/js/utils/logger.js +3 -0
  22. package/package.json +20 -11
  23. package/scss/_breakpoint.scss +3 -4
  24. package/scss/_button.scss +4 -4
  25. package/scss/_color.scss +2 -2
  26. package/scss/_grid.scss +0 -1
  27. package/scss/_layout.scss +2 -3
  28. package/scss/_typography.scss +2 -3
  29. package/scss/_utils.scss +21 -4
  30. package/scss/base/_normalize.scss +1 -1
  31. package/scss/helpers/_units.scss +7 -11
  32. package/scss/stylesheets/full.scss +1 -4
  33. package/js/polyfills/element-closest.js +0 -17
  34. package/js/utils/array.js +0 -28
  35. package/js/utils/dom.js +0 -122
  36. package/js/utils/object.js +0 -22
  37. package/js/utils/performance.js +0 -43
  38. package/js/utils/regex.js +0 -10
  39. package/js/utils/string.js +0 -107
  40. package/trash/js-old/deprecated/doc-ready.js +0 -28
  41. package/trash/js-old/deprecated/jquery-prototypes.js +0 -309
  42. package/trash/js-old/deprecated/mini-collapsible-popper-positioning.js +0 -126
  43. package/trash/js-old/deprecated/mini-collapsible.js +0 -607
  44. package/trash/js-old/deprecated/script-loader.js +0 -60
  45. package/trash/js-old/events/index.js +0 -42
  46. package/trash/js-old/helpers/css-breakpoint.js +0 -247
  47. package/trash/js-old/helpers/file-save.js +0 -48
  48. package/trash/js-old/helpers/node-data-manager.js +0 -74
  49. package/trash/js-old/helpers/pause-youtube-video.js +0 -42
  50. package/trash/js-old/index.js +0 -15
  51. package/trash/js-old/polyfills/element-closest.js +0 -17
  52. package/trash/js-old/ui/flipcard.js +0 -202
  53. package/trash/js-old/ui/grid.js +0 -67
  54. package/trash/js-old/ui/modals.js +0 -219
  55. package/trash/js-old/ui/programmatic-modal.js +0 -91
  56. package/trash/js-old/ui/resizer.js +0 -60
  57. package/trash/js-old/ui/slider.js +0 -469
  58. package/trash/js-old/ui/tabs.js +0 -109
  59. package/trash/js-old/ui/tooltip.js +0 -82
  60. package/trash/js-old/utils/array.js +0 -28
  61. package/trash/js-old/utils/dom.js +0 -122
  62. package/trash/js-old/utils/logger.js +0 -69
  63. package/trash/js-old/utils/object.js +0 -22
  64. package/trash/js-old/utils/performance.js +0 -43
  65. package/trash/js-old/utils/regex.js +0 -10
  66. package/trash/js-old/utils/string.js +0 -107
  67. package/trash/js-old/waypoints/README.md +0 -3
  68. package/trash/js-old/waypoints/anchor-menu.js +0 -76
  69. package/trash/js-old/waypoints/element-waypoint.js +0 -75
  70. package/trash/js-old/waypoints/examples/page-link-menu.md +0 -106
  71. package/trash/js-old/waypoints/state-in-attribute.js +0 -32
  72. package/trash/js-old-230729/deprecated/doc-ready.js +0 -28
  73. package/trash/js-old-230729/deprecated/jquery-prototypes.js +0 -309
  74. package/trash/js-old-230729/deprecated/mini-collapsible-popper-positioning.js +0 -126
  75. package/trash/js-old-230729/deprecated/mini-collapsible.js +0 -607
  76. package/trash/js-old-230729/deprecated/script-loader.js +0 -60
  77. package/trash/js-old-230729/events/index.js +0 -42
  78. package/trash/js-old-230729/helpers/css-breakpoint.js +0 -247
  79. package/trash/js-old-230729/helpers/file-save.js +0 -48
  80. package/trash/js-old-230729/helpers/node-data-manager.js +0 -74
  81. package/trash/js-old-230729/helpers/pause-youtube-video.js +0 -42
  82. package/trash/js-old-230729/helpers/scrollbar-width-property.js +0 -10
  83. package/trash/js-old-230729/index.js +0 -15
  84. package/trash/js-old-230729/polyfills/element-closest.js +0 -17
  85. package/trash/js-old-230729/ui/flipcard.js +0 -202
  86. package/trash/js-old-230729/ui/grid.js +0 -67
  87. package/trash/js-old-230729/ui/modals.js +0 -219
  88. package/trash/js-old-230729/ui/overflow-scroller-pager.js +0 -58
  89. package/trash/js-old-230729/ui/overflow-scroller.js +0 -160
  90. package/trash/js-old-230729/ui/programmatic-modal.js +0 -91
  91. package/trash/js-old-230729/ui/resizer.js +0 -60
  92. package/trash/js-old-230729/ui/slider.js +0 -468
  93. package/trash/js-old-230729/ui/tabs.js +0 -109
  94. package/trash/js-old-230729/ui/tooltip.js +0 -82
  95. package/trash/js-old-230729/utils/array.js +0 -28
  96. package/trash/js-old-230729/utils/dom.js +0 -122
  97. package/trash/js-old-230729/utils/logger.js +0 -69
  98. package/trash/js-old-230729/utils/object.js +0 -22
  99. package/trash/js-old-230729/utils/performance.js +0 -43
  100. package/trash/js-old-230729/utils/regex.js +0 -10
  101. package/trash/js-old-230729/utils/string.js +0 -107
  102. package/trash/js-old-230729/waypoints/README.md +0 -3
  103. package/trash/js-old-230729/waypoints/anchor-menu.js +0 -76
  104. package/trash/js-old-230729/waypoints/element-waypoint.js +0 -75
  105. package/trash/js-old-230729/waypoints/examples/page-link-menu.md +0 -106
  106. package/trash/js-old-230729/waypoints/state-in-attribute.js +0 -32
  107. package/trash/logo-1.svg +0 -13
  108. package/trash/logo.svg +0 -16
  109. package/trash/scss-before-cqc-update/README.md +0 -58
  110. package/trash/scss-before-cqc-update/_breakpoint.scss +0 -190
  111. package/trash/scss-before-cqc-update/_button.scss +0 -229
  112. package/trash/scss-before-cqc-update/_calculate.scss +0 -65
  113. package/trash/scss-before-cqc-update/_color.scss +0 -211
  114. package/trash/scss-before-cqc-update/_cssvar.scss +0 -116
  115. package/trash/scss-before-cqc-update/_element.scss +0 -275
  116. package/trash/scss-before-cqc-update/_index.scss +0 -29
  117. package/trash/scss-before-cqc-update/_layout.scss +0 -247
  118. package/trash/scss-before-cqc-update/_path.scss +0 -59
  119. package/trash/scss-before-cqc-update/_selector.scss +0 -82
  120. package/trash/scss-before-cqc-update/_typography.scss +0 -322
  121. package/trash/scss-before-cqc-update/_units.scss +0 -48
  122. package/trash/scss-before-cqc-update/_utility.scss +0 -13
  123. package/trash/scss-before-cqc-update/_utils.scss +0 -211
  124. package/trash/scss-before-cqc-update/base/_color.scss +0 -14
  125. package/trash/scss-before-cqc-update/base/_elements.scss +0 -189
  126. package/trash/scss-before-cqc-update/base/_index.scss +0 -63
  127. package/trash/scss-before-cqc-update/base/_keyframes.scss +0 -74
  128. package/trash/scss-before-cqc-update/base/_layout.scss +0 -88
  129. package/trash/scss-before-cqc-update/base/_normalize.scss +0 -316
  130. package/trash/scss-before-cqc-update/base/_typography.scss +0 -42
  131. package/trash/scss-before-cqc-update/components/README.md +0 -5
  132. package/trash/scss-before-cqc-update/components/README.todos +0 -15
  133. package/trash/scss-before-cqc-update/components/_button.scss +0 -96
  134. package/trash/scss-before-cqc-update/components/_grid.scss +0 -671
  135. package/trash/scss-before-cqc-update/components/_index.scss +0 -70
  136. package/trash/scss-before-cqc-update/components/_links.scss +0 -35
  137. package/trash/scss-before-cqc-update/components/_list-lines.scss +0 -74
  138. package/trash/scss-before-cqc-update/components/_list-ordered.scss +0 -17
  139. package/trash/scss-before-cqc-update/components/_list-unordered.scss +0 -22
  140. package/trash/scss-before-cqc-update/components/_rule.scss +0 -94
  141. package/trash/scss-before-cqc-update/helpers/_color.scss +0 -15
  142. package/trash/scss-before-cqc-update/helpers/_display.scss +0 -73
  143. package/trash/scss-before-cqc-update/helpers/_index.scss +0 -68
  144. package/trash/scss-before-cqc-update/helpers/_print.scss +0 -59
  145. package/trash/scss-before-cqc-update/helpers/_typography.scss +0 -73
  146. package/trash/scss-before-cqc-update/helpers/_units.scss +0 -79
  147. package/trash/scss-before-cqc-update/helpers/_utilities.scss +0 -88
  148. package/trash/scss-before-cqc-update/stylesheets/README.md +0 -3
  149. package/trash/scss-before-cqc-update/stylesheets/full.scss +0 -17
  150. package/trash/scss-old/README.md +0 -58
  151. package/trash/scss-old/_breakpoint.scss +0 -140
  152. package/trash/scss-old/_button.scss +0 -223
  153. package/trash/scss-old/_calculate.scss +0 -64
  154. package/trash/scss-old/_color.scss +0 -200
  155. package/trash/scss-old/_element.scss +0 -262
  156. package/trash/scss-old/_grid.scss +0 -558
  157. package/trash/scss-old/_index.scss +0 -25
  158. package/trash/scss-old/_layout.scss +0 -170
  159. package/trash/scss-old/_path.scss +0 -58
  160. package/trash/scss-old/_selector.scss +0 -81
  161. package/trash/scss-old/_typography.scss +0 -320
  162. package/trash/scss-old/_units.scss +0 -47
  163. package/trash/scss-old/_utility.scss +0 -12
  164. package/trash/scss-old/_utils.scss +0 -186
  165. package/trash/scss-old/base/_color.scss +0 -13
  166. package/trash/scss-old/base/_elements.scss +0 -183
  167. package/trash/scss-old/base/_index.scss +0 -62
  168. package/trash/scss-old/base/_keyframes.scss +0 -74
  169. package/trash/scss-old/base/_layout.scss +0 -81
  170. package/trash/scss-old/base/_normalize.scss +0 -316
  171. package/trash/scss-old/base/_typography.scss +0 -42
  172. package/trash/scss-old/components/README.md +0 -5
  173. package/trash/scss-old/components/README.todos +0 -15
  174. package/trash/scss-old/components/_button.scss +0 -74
  175. package/trash/scss-old/components/_index.scss +0 -63
  176. package/trash/scss-old/components/_links.scss +0 -34
  177. package/trash/scss-old/components/_list-lines.scss +0 -73
  178. package/trash/scss-old/components/_list-ordered.scss +0 -16
  179. package/trash/scss-old/components/_list-unordered.scss +0 -21
  180. package/trash/scss-old/components/_rule.scss +0 -84
  181. package/trash/scss-old/helpers/_color.scss +0 -14
  182. package/trash/scss-old/helpers/_display.scss +0 -68
  183. package/trash/scss-old/helpers/_index.scss +0 -67
  184. package/trash/scss-old/helpers/_print.scss +0 -59
  185. package/trash/scss-old/helpers/_typography.scss +0 -73
  186. package/trash/scss-old/helpers/_units.scss +0 -68
  187. package/trash/scss-old/helpers/_utilities.scss +0 -82
  188. package/trash/scss-old/packages/README.md +0 -3
  189. package/trash/scss-old/packages/everything.scss +0 -17
  190. package/trash/scss-old-2/README.md +0 -58
  191. package/trash/scss-old-2/_breakpoint.scss +0 -139
  192. package/trash/scss-old-2/_button.scss +0 -223
  193. package/trash/scss-old-2/_calculate.scss +0 -64
  194. package/trash/scss-old-2/_color.scss +0 -202
  195. package/trash/scss-old-2/_element.scss +0 -263
  196. package/trash/scss-old-2/_grid.scss +0 -558
  197. package/trash/scss-old-2/_index.scss +0 -25
  198. package/trash/scss-old-2/_layout.scss +0 -170
  199. package/trash/scss-old-2/_path.scss +0 -58
  200. package/trash/scss-old-2/_selector.scss +0 -81
  201. package/trash/scss-old-2/_typography.scss +0 -320
  202. package/trash/scss-old-2/_units.scss +0 -47
  203. package/trash/scss-old-2/_utility.scss +0 -12
  204. package/trash/scss-old-2/_utils.scss +0 -186
  205. package/trash/scss-old-2/base/_color.scss +0 -13
  206. package/trash/scss-old-2/base/_elements.scss +0 -182
  207. package/trash/scss-old-2/base/_index.scss +0 -62
  208. package/trash/scss-old-2/base/_keyframes.scss +0 -73
  209. package/trash/scss-old-2/base/_layout.scss +0 -83
  210. package/trash/scss-old-2/base/_normalize.scss +0 -315
  211. package/trash/scss-old-2/base/_typography.scss +0 -41
  212. package/trash/scss-old-2/components/README.md +0 -5
  213. package/trash/scss-old-2/components/README.todos +0 -15
  214. package/trash/scss-old-2/components/_button.scss +0 -95
  215. package/trash/scss-old-2/components/_index.scss +0 -63
  216. package/trash/scss-old-2/components/_links.scss +0 -33
  217. package/trash/scss-old-2/components/_list-lines.scss +0 -73
  218. package/trash/scss-old-2/components/_list-ordered.scss +0 -16
  219. package/trash/scss-old-2/components/_list-unordered.scss +0 -21
  220. package/trash/scss-old-2/components/_rule.scss +0 -84
  221. package/trash/scss-old-2/helpers/_color.scss +0 -14
  222. package/trash/scss-old-2/helpers/_display.scss +0 -67
  223. package/trash/scss-old-2/helpers/_index.scss +0 -67
  224. package/trash/scss-old-2/helpers/_print.scss +0 -58
  225. package/trash/scss-old-2/helpers/_typography.scss +0 -72
  226. package/trash/scss-old-2/helpers/_units.scss +0 -68
  227. package/trash/scss-old-2/helpers/_utilities.scss +0 -81
  228. package/trash/scss-old-2/packages/README.md +0 -3
  229. package/trash/scss-old-2/packages/everything.scss +0 -17
  230. package/trash/scss-old-230729/README.md +0 -58
  231. package/trash/scss-old-230729/_breakpoint.scss +0 -139
  232. package/trash/scss-old-230729/_button.scss +0 -223
  233. package/trash/scss-old-230729/_calculate.scss +0 -64
  234. package/trash/scss-old-230729/_color.scss +0 -202
  235. package/trash/scss-old-230729/_element.scss +0 -273
  236. package/trash/scss-old-230729/_grid.scss +0 -694
  237. package/trash/scss-old-230729/_index.scss +0 -25
  238. package/trash/scss-old-230729/_layout.scss +0 -193
  239. package/trash/scss-old-230729/_path.scss +0 -58
  240. package/trash/scss-old-230729/_selector.scss +0 -81
  241. package/trash/scss-old-230729/_typography.scss +0 -320
  242. package/trash/scss-old-230729/_units.scss +0 -47
  243. package/trash/scss-old-230729/_utility.scss +0 -12
  244. package/trash/scss-old-230729/_utils.scss +0 -186
  245. package/trash/scss-old-230729/base/_color.scss +0 -13
  246. package/trash/scss-old-230729/base/_elements.scss +0 -188
  247. package/trash/scss-old-230729/base/_index.scss +0 -62
  248. package/trash/scss-old-230729/base/_keyframes.scss +0 -73
  249. package/trash/scss-old-230729/base/_layout.scss +0 -83
  250. package/trash/scss-old-230729/base/_normalize.scss +0 -315
  251. package/trash/scss-old-230729/base/_typography.scss +0 -41
  252. package/trash/scss-old-230729/components/README.md +0 -5
  253. package/trash/scss-old-230729/components/README.todos +0 -15
  254. package/trash/scss-old-230729/components/_button.scss +0 -95
  255. package/trash/scss-old-230729/components/_index.scss +0 -63
  256. package/trash/scss-old-230729/components/_links.scss +0 -34
  257. package/trash/scss-old-230729/components/_list-lines.scss +0 -73
  258. package/trash/scss-old-230729/components/_list-ordered.scss +0 -16
  259. package/trash/scss-old-230729/components/_list-unordered.scss +0 -21
  260. package/trash/scss-old-230729/components/_rule.scss +0 -93
  261. package/trash/scss-old-230729/helpers/_color.scss +0 -14
  262. package/trash/scss-old-230729/helpers/_display.scss +0 -73
  263. package/trash/scss-old-230729/helpers/_index.scss +0 -67
  264. package/trash/scss-old-230729/helpers/_print.scss +0 -58
  265. package/trash/scss-old-230729/helpers/_typography.scss +0 -72
  266. package/trash/scss-old-230729/helpers/_units.scss +0 -68
  267. package/trash/scss-old-230729/helpers/_utilities.scss +0 -87
  268. package/trash/scss-old-230729/packages/README.md +0 -3
  269. package/trash/scss-old-230729/packages/everything.scss +0 -17
  270. package/trash/vue/directives/background-image-url.js +0 -12
  271. package/trash/vue/helpers/add-required-components.js +0 -14
  272. package/trash/vue/ui/CollapsibleRegion/CollapsibleRegion.vue +0 -277
  273. package/trash/vue/ui/CollapsibleRegion/Demo.vue +0 -101
  274. package/trash/vue/ui/Dropdown/Dropdown.vue +0 -184
  275. package/trash/vue/ui/Modals/components/Modal.vue +0 -49
  276. package/trash/vue/ui/Modals/components/Modals.vue +0 -103
  277. package/trash/vue/ui/Modals/plugin.js +0 -215
  278. package/trash/vue/ui/Modals/readme.note +0 -10
  279. package/trash/vue/ui/Modals/reference/example-usage.vue +0 -27
  280. package/trash/vue/ui/Modals/reference/wcag-example/dialog.js +0 -324
  281. /package/js/{waypoints → deprecated/waypoints}/README.md +0 -0
  282. /package/js/{waypoints → deprecated/waypoints}/anchor-menu.js +0 -0
  283. /package/js/{waypoints → deprecated/waypoints}/element-waypoint.js +0 -0
  284. /package/js/{waypoints → deprecated/waypoints}/examples/page-link-menu.md +0 -0
  285. /package/js/{waypoints → deprecated/waypoints}/state-in-attribute.js +0 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,19 @@
1
+ # Change Log
2
+
3
+ ## Version 0.0.6
4
+
5
+ ### SCSS
6
+
7
+ - Added utils.map-merge($map, $changes, $mode)
8
+ - This will allow expansion if needed and is simpler for modules to implement
9
+ - This is to replace utils.map-merge-or-overwrite which is deprecated now
10
+ - Removed IE "*zoom" clearfix property as we don't support it and it causes errors in CSS minifiers since it's not standard CSS
11
+
12
+ ### JS
13
+
14
+ - Add js docs
15
+ - Add specific exports for JS (ie. package "exports")
16
+ - All utils are moved to new independent module @ulu/utils and are implemented as submodules
17
+ - Since these can be used outside of frontend workflow
18
+ - Update imports to point to new module
19
+ - Move old waypoints code to deprecated, no longer needed with intersectionObserver
package/README.md CHANGED
@@ -2,7 +2,9 @@
2
2
 
3
3
  Front end development library (SCSS, JS, Vue)
4
4
 
5
- [Full Documentation](https://jscherbe.github.io/frontend/)
5
+ [SCSS Documentation](https://jscherbe.github.io/frontend/scss/)
6
+
7
+ [JS Documentation](https://jscherbe.github.io/frontend/js/)
6
8
 
7
9
  ## SCSS Library
8
10
 
@@ -75,7 +75,7 @@
75
75
  // - Add arrow key cycler from framework collapsible module
76
76
 
77
77
  import maintain from 'ally.js/maintain/_maintain';
78
- import { hasRequiredProps } from "../utils/object.js";
78
+ import { hasRequiredProps } from "@ulu/utils/object.js";
79
79
 
80
80
  const requiredProps = ['selectorContainer', 'selectorToggle', 'selectorContent'];
81
81
  const hasRequired = hasRequiredProps(requiredProps);
@@ -1,4 +1,7 @@
1
- import { debounce } from "../utils/performance";
1
+ /**
2
+ * @module events
3
+ */
4
+ import { debounce } from "@ulu/utils/performance";
2
5
 
3
6
  /**
4
7
  * Event object - called on dispatch
@@ -1,15 +1,13 @@
1
- // =============================================================================
2
- // Grabs Breakpoint from CSS
3
- // =============================================================================
4
-
5
- // Version: 1.0.6
1
+ /**
2
+ * @module css-breakpoint
3
+ */
6
4
 
7
5
  // Description: Pass breakpoints from CSS to stylesheet, use this to attach
8
6
  // behaviors on breakpoints
9
7
 
10
- import { debounce } from "../utils/performance";
8
+ import { debounce } from "@ulu/utils/performance";
9
+ import { removeArrayElement } from "@ulu/utils/array";
11
10
  import { getName } from "../events/index.js";
12
- import { removeArrayElement } from "../utils/array";
13
11
  import { log, logError } from "../utils/logger.js";
14
12
 
15
13
  /**
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @module file-save
3
+ */
4
+
1
5
  // Description: Simple script that is useful for testing. It will:
2
6
  // - Make a file
3
7
  // - Create a URL to it
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @module node-data-manager
3
+ */
4
+
1
5
  /**
2
6
  * Class that provides a method to store data based on node/element
3
7
  */
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @module pause-youtube-video
3
+ */
4
+
1
5
  // Version: 1.0.4
2
6
  // Description: Pauses youtube using js api (iframe post message)
3
7
 
@@ -1,10 +1,14 @@
1
+ /**
2
+ * @module scrollbar-width-property
3
+ */
1
4
 
2
5
  /**
3
6
  * Sets a CSS custom property equal to the scrollbar width
4
7
  * @param {Node} element The element that is the child of a scrollabel container
5
8
  * @param {Node} container The container that can be scrolled
9
+ * @param {Stirng} propName Custom property to set
6
10
  */
7
- export default function addScrollbarProperty(element = document.body, container = window) {
11
+ export default function addScrollbarProperty(element = document.body, container = window, propName = "--scrollbar-width") {
8
12
  const scrollbarWidth = container.innerWidth - element.clientWidth;
9
- element.style.setProperty("--scrollbar-width", `${ scrollbarWidth }px`);
13
+ element.style.setProperty(propName, `${ scrollbarWidth }px`);
10
14
  }
package/js/index.js CHANGED
@@ -8,8 +8,6 @@
8
8
  // - Will not include things that aren't used in every site (those would need to
9
9
  // imported manually
10
10
 
11
- import "./polyfills/element-closest.js";
12
-
13
11
  export { CssBreakpoints } from "./helpers/css-breakpoint.js";
14
12
  export * as events from "./events/index.js";
15
13
  export * as grid from "./ui/grid.js";
package/js/ui/flipcard.js CHANGED
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @module flipcard
3
+ */
4
+
1
5
  // =============================================================================
2
6
  // Flipcard
3
7
  // =============================================================================
@@ -6,8 +10,8 @@
6
10
 
7
11
  // Changes 1.0.1 | Added allow selection
8
12
 
13
+ import { trimWhitespace } from "@ulu/utils/string.js";
9
14
  import { log, logError } from "../utils/logger.js";
10
- import { trimWhitespace } from "../utils/string.js";
11
15
  const debugMode = false; // Global dev debug
12
16
 
13
17
  export class Flipcard {
package/js/ui/grid.js CHANGED
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @module grid
3
+ */
4
+
1
5
  import { getName } from "../events/index.js";
2
6
 
3
7
  /**
package/js/ui/modals.js CHANGED
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @module modals
3
+ */
1
4
  // Version: 1.0.4
2
5
  // Changes:
3
6
  // 1.0.4 | The modal library has a bug with multiple modals and using a custom close handler
@@ -14,7 +17,7 @@
14
17
  // interface in the future we don't need to change/update markup.
15
18
  import MicroModal from 'micromodal';
16
19
  import Resizer from './resizer.js';
17
- import { createElementFromHtml } from '../utils/dom.js';
20
+ import { createElementFromHtml } from '@ulu/utils/dom.js';
18
21
  import { pauseVideos, prepVideos } from '../helpers/pause-youtube-video.js';
19
22
  const classes = {
20
23
  open: 'site-modal--open',
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @module overflow-scroller-pager
3
+ */
1
4
  /**
2
5
  * Function to be used in overflow scrollers "amount" option. This function will
3
6
  * determine how many items can fit in the viewport, taking into account scroll padding left,
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @module overflow-scroller
3
+ */
1
4
  /**
2
5
  * @todo - Need to have scroll handler check scroll position
3
6
  * @todo - Determine if controls should be visible
@@ -7,8 +10,8 @@
7
10
  * @todo - Document that user could use something like [https://github.com/LachlanArthur/scroll-snap-api/tree/master/src] to have it go between items
8
11
  *
9
12
  */
13
+ import { hasRequiredProps } from '@ulu/utils/object.js';
10
14
  import { logError } from "../utils/logger.js";
11
- import { hasRequiredProps } from '../utils/object.js';
12
15
  const requiredElements = [
13
16
  "track",
14
17
  "controls"
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @module programmatic-modal
3
+ */
1
4
  // =============================================================================
2
5
  // Grabs Breakpoint from CSS
3
6
  // =============================================================================
package/js/ui/resizer.js CHANGED
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @module resizer
3
+ */
1
4
  // =============================================================================
2
5
  // Element Resizer
3
6
  // =============================================================================
package/js/ui/slider.js CHANGED
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @module slider
3
+ */
1
4
  // =============================================================================
2
5
  // Slider
3
6
  // =============================================================================
@@ -25,10 +28,10 @@
25
28
  // * Will Change use
26
29
 
27
30
  import maintain from 'ally.js/maintain/_maintain';
28
- import { log, logError, logWarning } from "../utils/logger.js";
29
- import { hasRequiredProps } from '../utils/object.js';
30
- import { trimWhitespace } from "../utils/string.js";
31
- import { debounce } from "../utils/performance.js";
31
+ import { log, logError, logWarning } from "@ulu/utils/logger.js";
32
+ import { hasRequiredProps } from '@ulu/utils/object.js';
33
+ import { trimWhitespace } from "@ulu/utils/string.js";
34
+ import { debounce } from "@ulu/utils/performance.js";
32
35
  const debugMode = false; // Global dev debug
33
36
  const reduceMotion = matchMedia('(prefers-reduced-motion: reduce)').matches;
34
37
  const eventOnce = { once: true };
package/js/ui/tabs.js CHANGED
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @module tabs
3
+ */
1
4
  // =============================================================================
2
5
  // Tabs
3
6
  // =============================================================================
package/js/ui/tooltip.js CHANGED
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @module tooltip
3
+ */
1
4
  // =============================================================================
2
5
  // Tooltip
3
6
  // =============================================================================
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @module logger
3
+ */
1
4
  // Goal: minimzing console conditions for nessasary production log statements
2
5
 
3
6
  /**
package/package.json CHANGED
@@ -1,12 +1,21 @@
1
1
  {
2
2
  "name": "@ulu/frontend",
3
- "version": "0.0.3",
4
- "description": "Sass theming library",
3
+ "version": "0.0.6",
4
+ "description": "Theming library",
5
5
  "browser": "js/index.js",
6
+ "main": "index.js",
7
+ "exports": {
8
+ ".": "./index.js",
9
+ "./js/*.js": "./js/*.js"
10
+ },
11
+ "type": "module",
6
12
  "scripts": {
7
- "docs:dev": "export NODE_OPTIONS=--openssl-legacy-provider && vuepress dev docs-src --no-clear-screen",
8
- "docs:dev:debug": "export NODE_OPTIONS=--openssl-legacy-provider && vuepress dev docs-src --no-clear-screen --debug",
9
- "docs:build": "export NODE_OPTIONS=--openssl-legacy-provider && vuepress build docs-src"
13
+ "docs:dev": "vitepress dev docs-src",
14
+ "docs:build": "vitepress build docs-src",
15
+ "docs:preview": "vitepress preview docs-src",
16
+ "docs:update:scss": "node ./docs-src/.vitepress/sassdoc.js",
17
+ "docs:update:scss:debug": "node --inspect-brk ./docs-src/.vitepress/sassdoc.js",
18
+ "docs:build:js": "node_modules/.bin/jsdoc -c jsdoc.json"
10
19
  },
11
20
  "repository": {
12
21
  "type": "git",
@@ -19,7 +28,7 @@
19
28
  "mixin"
20
29
  ],
21
30
  "authors": {
22
- "name": "Joe Scherben, Informatics",
31
+ "name": "Joe Scherben, Informatics Studio",
23
32
  "email": "jscherbe@gmail.com"
24
33
  },
25
34
  "license": "MIT",
@@ -28,11 +37,11 @@
28
37
  },
29
38
  "homepage": "https://github.com/Jscherbe/frontend#readme",
30
39
  "devDependencies": {
31
- "@ulu/vuepress-plugin-auto-nav": "^1.0.0",
32
- "@ulu/vuepress-plugin-sassdoc": "^1.0.1",
33
- "documentation": "^13.2.5",
34
- "documentation-theme-light": "^1.1.1",
40
+ "@ulu/vitepress-auto-menus": "^0.0.3",
41
+ "@ulu/vitepress-sassdoc": "^0.0.6",
42
+ "clean-jsdoc-theme": "^4.2.17",
43
+ "jsdoc": "^4.0.2",
35
44
  "sass": "^1.51.0",
36
- "vuepress": "^1.9.7"
45
+ "vitepress": "^1.0.0-rc.27"
37
46
  }
38
47
  }
@@ -59,11 +59,10 @@ $sizes: (
59
59
  /// "jumbo" : 100em
60
60
  /// ));
61
61
  /// @param {Map} $changes A map to merge into the breakpoints map
62
- /// @param {Map} $deep [false] Deep map merge (doesn't apply here)
63
- /// @param {Map} $overwrite [false] Overwrite the sizes, instead of merging changes
62
+ /// @param {Map} $merge-mode [null] Merge stradegy see, utils.map-merge options
64
63
 
65
- @mixin set-sizes($changes, $deep: false, $overwrite: false) {
66
- $sizes: utils.map-merge-or-overwrite($sizes, $changes, $deep, $overwrite) !global;
64
+ @mixin set-sizes($changes, $merge-mode: null) {
65
+ $sizes: utils.map-merge($sizes, $changes, $merge-mode) !global;
67
66
  }
68
67
 
69
68
  /// Get all breakpoint sizes (ie. $sizes)
package/scss/_button.scss CHANGED
@@ -113,11 +113,11 @@ $styles: (
113
113
  @return utils.function-fallback($name, $value, $-fallbacks);
114
114
  }
115
115
 
116
- @mixin set-styles($changes, $deep: false, $overwrite: false) {
117
- $styles: utils.map-merge-or-overwrite($styles, $changes, $deep, $overwrite) !global;
116
+ @mixin set-styles($changes, $merge-mode: null) {
117
+ $styles: utils.map-merge($styles, $changes, $merge-mode) !global;
118
118
  }
119
- @mixin set-sizes($changes, $deep: false, $overwrite: false) {
120
- $sizes: utils.map-merge-or-overwrite($sizes, $changes, $deep, $overwrite) !global;
119
+ @mixin set-sizes($changes, $merge-mode: null) {
120
+ $sizes: utils.map-merge($sizes, $changes, $merge-mode) !global;
121
121
  }
122
122
 
123
123
  @mixin reset() {
package/scss/_color.scss CHANGED
@@ -115,8 +115,8 @@ $color-classes: (
115
115
  /// )
116
116
  /// ), false, true);
117
117
 
118
- @mixin set-contexts($changes, $deep: false, $overwrite: false) {
119
- $contexts: utils.map-merge-or-overwrite($contexts, $changes, $deep, $overwrite) !global;
118
+ @mixin set-contexts($changes, $merge-mode: null) {
119
+ $contexts: utils.map-merge($contexts, $changes, $merge-mode) !global;
120
120
  }
121
121
 
122
122
  /// Get a context by name
package/scss/_grid.scss CHANGED
@@ -4,7 +4,6 @@
4
4
  /// Layout grid that uses attributes instead of classes
5
5
  /// - See the core layout module for changing defaults
6
6
 
7
- /// @version: 1.0.7
8
7
 
9
8
  /// HTML Attribute to use for selecting
10
9
  /// @example markup
package/scss/_layout.scss CHANGED
@@ -51,8 +51,8 @@ $containers: (
51
51
  )
52
52
  ) !default;
53
53
 
54
- @mixin set-containers($changes, $deep: false, $overwrite: false) {
55
- $containers: utils.map-merge-or-overwrite($containers, $changes, $deep, $overwrite) !global;
54
+ @mixin set-containers($changes, $merge-mode: null) {
55
+ $containers: utils.map-merge($containers, $changes, $merge-mode) !global;
56
56
  }
57
57
 
58
58
  @function get-container($name, $breakpoint: false) {
@@ -189,7 +189,6 @@ $containers: (
189
189
  &:after {
190
190
  clear: both;
191
191
  }
192
- *zoom: 1;
193
192
  }
194
193
 
195
194
  /// Removes scrollbar with CSS
@@ -1,7 +1,6 @@
1
1
  ////
2
2
  /// @group typography
3
3
  /// @todo Idea: Should the maps value be processes when using the set-sizes, set? Instead of recalculated each time get-size is or get is used.
4
- //// @version 1.0.2
5
4
  ////
6
5
 
7
6
  @use "sass:map";
@@ -177,8 +176,8 @@ $sizes: (
177
176
  /// "small" : 0.8rem
178
177
  /// ));
179
178
 
180
- @mixin set-sizes($changes, $deep: false, $overwrite: false) {
181
- $sizes: utils.map-merge-or-overwrite($sizes, $changes, $deep, $overwrite) !global;
179
+ @mixin set-sizes($changes, $merge-mode: null) {
180
+ $sizes: utils.map-merge($sizes, $changes, $merge-mode) !global;
182
181
  }
183
182
 
184
183
  /// Get a size's map
package/scss/_utils.scss CHANGED
@@ -132,16 +132,33 @@ $config: (
132
132
  }
133
133
  }
134
134
 
135
+ /// Reusable merge method
136
+ /// @param {Map} $original Source map
137
+ /// @param {Map} $changes Changes to merge into source map
138
+ /// @param {String} $mode How to merge changes (merge [defualt], deep, or overwrite)
139
+ /// @return {Map} New map with changes
140
+
141
+ @function map-merge($original, $changes, $mode: null) {
142
+ @if ($mode == "deep") {
143
+ @return map.deep-merge($original, $changes);
144
+ } @else if ($mode == "overwrite") {
145
+ @return $changes;
146
+ } @else {
147
+ @return map.merge($original, $changes);
148
+ }
149
+ }
150
+
135
151
  /// Repeatable pattern in core
152
+ /// @deprecated Left in for compatability, will be removed, use map-merge with mode
136
153
 
137
154
  @function map-merge-or-overwrite($original, $changes, $deep: false, $overwrite: false) {
155
+ $mode: null;
138
156
  @if $deep {
139
- @return map.deep-merge($original, $changes);
157
+ $mode: "deep";
140
158
  } @else if $overwrite {
141
- @return $changes;
142
- } @else {
143
- @return map.merge($original, $changes);
159
+ $mode: "overwrite";
144
160
  }
161
+ @return map-merge($original, $changes, $mode);
145
162
  }
146
163
 
147
164
  /// Utility for providing fallbacks, the first truthy value (non false or null) will be returned
@@ -6,7 +6,7 @@
6
6
  @use "../button";
7
7
 
8
8
 
9
- /// Prints the normalize stylesheet. We are using modern-normalize 1.1.0
9
+ /// Prints the normalize stylesheet. Originally based on modern-normalize 1.1.0
10
10
  /// @link https://www.npmjs.com/package/modern-normalize Modern Normalize (NPM)
11
11
  /// @example scss
12
12
  /// @include ulu.base-normalize-styles();
@@ -7,7 +7,7 @@
7
7
  @use "../utils";
8
8
  @use "../selector";
9
9
 
10
-
10
+
11
11
  /// Module Settings
12
12
  /// @type Map
13
13
  /// @prop {Number} $config.sides Sides to print for helper classes (ie. reduce output of uneeded sides)
@@ -48,11 +48,6 @@ $config: (
48
48
  #{ $prefix } {
49
49
  #{ $property } : units.get(1);
50
50
  }
51
- @if ($isMargin) {
52
- #{ $prefix }-auto {
53
- margin: auto;
54
- }
55
- }
56
51
 
57
52
  @each $name, $value in units.$config {
58
53
  #{ $prefix }-#{ $name } {
@@ -65,11 +60,12 @@ $config: (
65
60
  #{ $prefix }-#{ $side } {
66
61
  #{ $full-prop }: units.get(1);
67
62
  }
68
- @if ($isMargin) {
69
- #{ $prefix }-#{ $side }-auto {
70
- #{ $full-prop }: auto;
71
- }
72
- }
63
+ // Duplicates utilities, unnessasary
64
+ // @if ($isMargin) {
65
+ // #{ $prefix }-#{ $side }-auto {
66
+ // #{ $full-prop }: auto;
67
+ // }
68
+ // }
73
69
  @each $name, $value in units.$config {
74
70
  #{ $prefix }-#{ $side }-#{ $name } {
75
71
  #{ $full-prop }: units.get($name);
@@ -1,10 +1,7 @@
1
1
  ////
2
- /// @group packages
2
+ /// @group stylesheets
3
3
  ////
4
4
 
5
- /// Stylesheet includes everything user just imports it
6
- /// - Note: Not configurable as far as output of styles (use minimal)
7
-
8
5
  @forward "../";
9
6
 
10
7
  @use "../base";
@@ -1,17 +0,0 @@
1
- if (!Element.prototype.matches) {
2
- Element.prototype.matches =
3
- Element.prototype.msMatchesSelector ||
4
- Element.prototype.webkitMatchesSelector;
5
- }
6
-
7
- if (!Element.prototype.closest) {
8
- Element.prototype.closest = function(s) {
9
- var el = this;
10
-
11
- do {
12
- if (Element.prototype.matches.call(el, s)) return el;
13
- el = el.parentElement || el.parentNode;
14
- } while (el !== null && el.nodeType === 1);
15
- return null;
16
- };
17
- }
package/js/utils/array.js DELETED
@@ -1,28 +0,0 @@
1
- /**
2
- * Removes an array element (modifies array)
3
- * @param {Array} array Array to remove element from
4
- * @param {Element} element Array element to remove
5
- */
6
- export function removeArrayElement(array, element) {
7
- var index = array.indexOf(element);
8
- if (index > -1) {
9
- array.splice(index, 1);
10
- }
11
- }
12
-
13
- /**
14
- * Searches array for first item matching test, beginning at a start index but searching the entire array
15
- * @param {Array} array Array to search
16
- * @param {Number} start The index in the array to start the search from
17
- * @param {Function} callback A test function that is passed array item and index
18
- * - Credit: (James Waddington) https://stackoverflow.com/questions/28430348/how-to-loop-through-arrays-starting-at-different-index-while-still-looping-throu
19
- */
20
- export function offsetFindIndexOf(array, start = 0, callback) {
21
- let found, offset;
22
- for (var i = 0; i < array.length; i++) {
23
- offset = (i + start) % array.length;
24
- found = callback(array[offset], offset);
25
- if (found) return offset;
26
- }
27
- return -1;
28
- }