@ulu/frontend 0.1.0-beta.19 → 0.1.0-beta.20

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 (169) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/ulu-frontend.min.css +1 -1
  3. package/dist/ulu-frontend.min.js +12 -12
  4. package/docs-dev/changelog/index.html +196 -2
  5. package/docs-dev/demos/accordion/index.html +129 -2
  6. package/docs-dev/demos/basic-hero/index.html +111 -0
  7. package/docs-dev/demos/button/index.html +129 -2
  8. package/docs-dev/demos/callout/index.html +129 -2
  9. package/docs-dev/demos/captioned-figure/index.html +129 -2
  10. package/docs-dev/demos/card/index.html +129 -2
  11. package/docs-dev/demos/css-icons/index.html +129 -2
  12. package/docs-dev/demos/data-grid/index.html +129 -2
  13. package/docs-dev/demos/data-table/index.html +154 -27
  14. package/docs-dev/demos/details-group/index.html +129 -2
  15. package/docs-dev/demos/file-save/index.html +129 -2
  16. package/docs-dev/demos/flipcard/index.html +129 -2
  17. package/docs-dev/demos/form-theme/index.html +129 -2
  18. package/docs-dev/demos/hero/index.html +12 -4
  19. package/docs-dev/demos/image-grid/index.html +12 -4
  20. package/docs-dev/demos/index.html +129 -2
  21. package/docs-dev/demos/list-inline/index.html +129 -2
  22. package/docs-dev/demos/list-lines/index.html +129 -2
  23. package/docs-dev/demos/menu-stack/index.html +129 -2
  24. package/docs-dev/demos/modals/index.html +129 -2
  25. package/docs-dev/demos/nav-strip/index.html +129 -2
  26. package/docs-dev/demos/overlay-section/index.html +129 -2
  27. package/docs-dev/demos/popovers/index.html +129 -2
  28. package/docs-dev/demos/print/index.html +129 -2
  29. package/docs-dev/demos/pull-quote/index.html +129 -2
  30. package/docs-dev/demos/rule/index.html +129 -2
  31. package/docs-dev/demos/scroll-slider/index.html +12 -4
  32. package/docs-dev/demos/scrollpoints/index.html +129 -2
  33. package/docs-dev/demos/slider/index.html +12 -4
  34. package/docs-dev/demos/spoke-spinner/index.html +129 -2
  35. package/docs-dev/demos/tabs/index.html +129 -2
  36. package/docs-dev/demos/tag/index.html +129 -2
  37. package/docs-dev/demos/theme-toggle/index.html +5039 -0
  38. package/docs-dev/demos/tile-grid-overlay/index.html +12 -4
  39. package/docs-dev/demos/tiles/index.html +129 -2
  40. package/docs-dev/demos/tooltip/index.html +129 -2
  41. package/docs-dev/guide/building-stylesheet/index.html +129 -2
  42. package/docs-dev/guide/developing-ulu-scss-module/index.html +129 -2
  43. package/docs-dev/guide/index.html +129 -2
  44. package/docs-dev/index.html +129 -2
  45. package/docs-dev/javascript/events/index.html +129 -2
  46. package/docs-dev/javascript/index.html +129 -2
  47. package/docs-dev/javascript/settings/index.html +129 -2
  48. package/docs-dev/javascript/ui-breakpoints/index.html +129 -2
  49. package/docs-dev/javascript/ui-collapsible/index.html +129 -2
  50. package/docs-dev/javascript/ui-details-group/index.html +129 -2
  51. package/docs-dev/javascript/ui-dialog/index.html +129 -2
  52. package/docs-dev/javascript/ui-flipcard/index.html +129 -2
  53. package/docs-dev/javascript/ui-grid/index.html +129 -2
  54. package/docs-dev/javascript/ui-modal-builder/index.html +129 -2
  55. package/docs-dev/javascript/ui-overflow-scroller/index.html +129 -2
  56. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +129 -2
  57. package/docs-dev/javascript/ui-page/index.html +129 -2
  58. package/docs-dev/javascript/ui-popover/index.html +129 -2
  59. package/docs-dev/javascript/ui-print/index.html +129 -2
  60. package/docs-dev/javascript/ui-print-details/index.html +129 -2
  61. package/docs-dev/javascript/ui-programmatic-modal/index.html +129 -2
  62. package/docs-dev/javascript/ui-proxy-click/index.html +129 -2
  63. package/docs-dev/javascript/ui-resizer/index.html +129 -2
  64. package/docs-dev/javascript/ui-scroll-slider/index.html +129 -2
  65. package/docs-dev/javascript/ui-scrollpoint/index.html +129 -2
  66. package/docs-dev/javascript/ui-slider/index.html +129 -2
  67. package/docs-dev/javascript/ui-tabs/index.html +129 -2
  68. package/docs-dev/javascript/ui-theme-toggle/index.html +5178 -0
  69. package/docs-dev/javascript/ui-tooltip/index.html +129 -2
  70. package/docs-dev/javascript/utils-class-logger/index.html +129 -2
  71. package/docs-dev/javascript/utils-dom/index.html +193 -6
  72. package/docs-dev/javascript/utils-file-save/index.html +129 -2
  73. package/docs-dev/javascript/utils-floating-ui/index.html +129 -2
  74. package/docs-dev/javascript/utils-id/index.html +129 -2
  75. package/docs-dev/javascript/utils-pause-youtube-video/index.html +129 -2
  76. package/docs-dev/sass/base/color/index.html +129 -2
  77. package/docs-dev/sass/base/elements/index.html +129 -2
  78. package/docs-dev/sass/base/index/index.html +129 -2
  79. package/docs-dev/sass/base/index.html +129 -2
  80. package/docs-dev/sass/base/keyframes/index.html +129 -2
  81. package/docs-dev/sass/base/layout/index.html +129 -2
  82. package/docs-dev/sass/base/normalize/index.html +129 -2
  83. package/docs-dev/sass/base/print/index.html +129 -2
  84. package/docs-dev/sass/base/root/index.html +129 -2
  85. package/docs-dev/sass/base/typography/index.html +129 -2
  86. package/docs-dev/sass/components/accordion/index.html +129 -2
  87. package/docs-dev/sass/components/adaptive-spacing/index.html +129 -2
  88. package/docs-dev/sass/components/badge/index.html +129 -2
  89. package/docs-dev/sass/components/basic-hero/index.html +5145 -0
  90. package/docs-dev/sass/components/button/index.html +129 -2
  91. package/docs-dev/sass/components/button-verbose/index.html +129 -2
  92. package/docs-dev/sass/components/callout/index.html +129 -2
  93. package/docs-dev/sass/components/captioned-figure/index.html +129 -2
  94. package/docs-dev/sass/components/card/index.html +129 -2
  95. package/docs-dev/sass/components/card-grid/index.html +129 -2
  96. package/docs-dev/sass/components/css-icon/index.html +129 -2
  97. package/docs-dev/sass/components/data-grid/index.html +129 -2
  98. package/docs-dev/sass/components/data-table/index.html +129 -2
  99. package/docs-dev/sass/components/fill-context/index.html +129 -2
  100. package/docs-dev/sass/components/flipcard/index.html +129 -2
  101. package/docs-dev/sass/components/flipcard-grid/index.html +129 -2
  102. package/docs-dev/sass/components/form-theme/index.html +133 -6
  103. package/docs-dev/sass/components/hero/index.html +129 -2
  104. package/docs-dev/sass/components/horizontal-rule/index.html +129 -2
  105. package/docs-dev/sass/components/image-grid/index.html +129 -2
  106. package/docs-dev/sass/components/index/index.html +140 -12
  107. package/docs-dev/sass/components/index.html +129 -2
  108. package/docs-dev/sass/components/links/index.html +129 -2
  109. package/docs-dev/sass/components/list-inline/index.html +129 -2
  110. package/docs-dev/sass/components/list-lines/index.html +129 -2
  111. package/docs-dev/sass/components/list-ordered/index.html +129 -2
  112. package/docs-dev/sass/components/list-unordered/index.html +129 -2
  113. package/docs-dev/sass/components/menu-stack/index.html +129 -2
  114. package/docs-dev/sass/components/modal/index.html +129 -2
  115. package/docs-dev/sass/components/nav-strip/index.html +129 -2
  116. package/docs-dev/sass/components/overlay-section/index.html +129 -2
  117. package/docs-dev/sass/components/pager/index.html +129 -2
  118. package/docs-dev/sass/components/placeholder-block/index.html +129 -2
  119. package/docs-dev/sass/components/popover/index.html +129 -2
  120. package/docs-dev/sass/components/pull-quote/index.html +129 -2
  121. package/docs-dev/sass/components/ratio-box/index.html +129 -2
  122. package/docs-dev/sass/components/rule/index.html +129 -2
  123. package/docs-dev/sass/components/scroll-slider/index.html +129 -2
  124. package/docs-dev/sass/components/skip-link/index.html +129 -2
  125. package/docs-dev/sass/components/slider/index.html +129 -2
  126. package/docs-dev/sass/components/spoke-spinner/index.html +129 -2
  127. package/docs-dev/sass/components/tabs/index.html +129 -2
  128. package/docs-dev/sass/components/tag/index.html +129 -2
  129. package/docs-dev/sass/components/tile-button/index.html +129 -2
  130. package/docs-dev/sass/components/tile-grid/index.html +129 -2
  131. package/docs-dev/sass/components/tile-grid-overlay/index.html +129 -2
  132. package/docs-dev/sass/components/vignette/index.html +129 -2
  133. package/docs-dev/sass/components/wysiwyg/index.html +129 -2
  134. package/docs-dev/sass/core/breakpoint/index.html +129 -2
  135. package/docs-dev/sass/core/button/index.html +129 -2
  136. package/docs-dev/sass/core/color/index.html +129 -2
  137. package/docs-dev/sass/core/cssvar/index.html +129 -2
  138. package/docs-dev/sass/core/element/index.html +129 -2
  139. package/docs-dev/sass/core/index.html +129 -2
  140. package/docs-dev/sass/core/layout/index.html +129 -2
  141. package/docs-dev/sass/core/path/index.html +129 -2
  142. package/docs-dev/sass/core/selector/index.html +129 -2
  143. package/docs-dev/sass/core/typography/index.html +129 -2
  144. package/docs-dev/sass/core/units/index.html +129 -2
  145. package/docs-dev/sass/core/utils/index.html +129 -2
  146. package/docs-dev/sass/helpers/color/index.html +129 -2
  147. package/docs-dev/sass/helpers/display/index.html +129 -2
  148. package/docs-dev/sass/helpers/index/index.html +129 -2
  149. package/docs-dev/sass/helpers/index.html +129 -2
  150. package/docs-dev/sass/helpers/print/index.html +129 -2
  151. package/docs-dev/sass/helpers/typography/index.html +129 -2
  152. package/docs-dev/sass/helpers/units/index.html +129 -2
  153. package/docs-dev/sass/helpers/utilities/index.html +129 -2
  154. package/docs-dev/sass/index.html +129 -2
  155. package/js/ui/details-group.js +1 -1
  156. package/js/ui/theme-toggle.js +330 -89
  157. package/js/utils/dom.js +43 -1
  158. package/package.json +3 -2
  159. package/scss/components/_basic-hero.scss +112 -0
  160. package/scss/components/_form-theme.scss +2 -2
  161. package/scss/components/_index.scss +6 -0
  162. package/types/ui/details-group.d.ts +43 -0
  163. package/types/ui/details-group.d.ts.map +1 -0
  164. package/types/ui/index.d.ts +1 -0
  165. package/types/ui/programmatic-modal.d.ts.map +1 -1
  166. package/types/ui/theme-toggle.d.ts +58 -7
  167. package/types/ui/theme-toggle.d.ts.map +1 -1
  168. package/types/utils/dom.d.ts +19 -1
  169. package/types/utils/dom.d.ts.map +1 -1
@@ -6,6 +6,7 @@
6
6
  @forward "accordion" as accordion-*;
7
7
  @forward "adaptive-spacing" as adaptive-spacing-*;
8
8
  @forward "badge" as badge-*;
9
+ @forward "basic-hero" as basic-hero-*;
9
10
  @forward "button" as button-*;
10
11
  @forward "button-verbose" as button-verbose-*;
11
12
  @forward "callout" as callout-*;
@@ -55,6 +56,7 @@
55
56
  @use "adaptive-spacing";
56
57
  @use "accordion";
57
58
  @use "badge";
59
+ @use "basic-hero";
58
60
  @use "button";
59
61
  @use "button-verbose";
60
62
  @use "callout";
@@ -105,6 +107,7 @@ $all-includes: (
105
107
  "accordion",
106
108
  "adaptive-spacing",
107
109
  "badge",
110
+ "basic-hero",
108
111
  "button",
109
112
  "button-verbose",
110
113
  "callout",
@@ -199,6 +202,9 @@ $current-includes: $all-includes;
199
202
  @if (list.index($includes, "badge")) {
200
203
  @include badge.styles;
201
204
  }
205
+ @if (list.index($includes, "basic-hero")) {
206
+ @include basic-hero.styles;
207
+ }
202
208
  @if (list.index($includes, "tag")) {
203
209
  @include tag.styles;
204
210
  }
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Initialize everything in document
3
+ * - This will only initialize elements once, it is safe to call on page changes
4
+ */
5
+ export function init(): void;
6
+ /**
7
+ * Setup all dialog groups within context
8
+ * @param {HTMLElement} context [document] Element to query within
9
+ * @returns {Array} Array matching the groups queried with their return objects from setupGroup() [used for destroy/etc]
10
+ */
11
+ export function setup(context?: HTMLElement): any[];
12
+ /**
13
+ * @typedef {Object} DetailsGroupInstance
14
+ * @property {Function} destroy A function to remove event listeners and attributes.
15
+ * @property {HTMLElement} element The parent element.
16
+ * @property {Function} setupChildren A function to initialize the child details elements.
17
+ */
18
+ /**
19
+ * Sets up a single group of details elements to manage their behavior.
20
+ * @param {HTMLElement} element - The parent element containing the details elements.
21
+ * @returns {DetailsGroupInstance}
22
+ */
23
+ export function setupGroup(element: HTMLElement): DetailsGroupInstance;
24
+ export namespace attrs {
25
+ let init: string;
26
+ let childInit: string;
27
+ let group: string;
28
+ }
29
+ export type DetailsGroupInstance = {
30
+ /**
31
+ * A function to remove event listeners and attributes.
32
+ */
33
+ destroy: Function;
34
+ /**
35
+ * The parent element.
36
+ */
37
+ element: HTMLElement;
38
+ /**
39
+ * A function to initialize the child details elements.
40
+ */
41
+ setupChildren: Function;
42
+ };
43
+ //# sourceMappingURL=details-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"details-group.d.ts","sourceRoot":"","sources":["../../js/ui/details-group.js"],"names":[],"mappings":"AAuBA;;;GAGG;AACH,6BAGC;AAED;;;;GAIG;AACH,gCAHW,WAAW,SAYrB;AAED;;;;;GAKG;AAEH;;;;GAIG;AACH,oCAHW,WAAW,GACT,oBAAoB,CA8DhC;;;;;;;;;;;;;;aArEa,WAAW"}
@@ -19,5 +19,6 @@ export * as print from "./print.js";
19
19
  export * as printDetails from "./print-details.js";
20
20
  export * as scrollSlider from "./scroll-slider.js";
21
21
  export * as themeToggle from "./theme-toggle.js";
22
+ export * as detailsGroup from "./details-group.js";
22
23
  declare namespace ___Users_joescherben_Personal_Projects_ULU_frontend_js_ui_index_ { }
23
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"programmatic-modal.d.ts","sourceRoot":"","sources":["../../js/ui/programmatic-modal.js"],"names":[],"mappings":"AASA;IACE;;;MAGE;IACF,gCAeC;IAbC,aAAsB;IACtB,cAAoB;IACpB,mBAAyB;IAEzB,qCAGC;IACD,2BAEC;IAIH,sBAMC;IACD,gBAMC;IACD;;;;MA6CC;CACF"}
1
+ {"version":3,"file":"programmatic-modal.d.ts","sourceRoot":"","sources":["../../js/ui/programmatic-modal.js"],"names":[],"mappings":"AAUA;IACE;;;MAGE;IACF,gCAeC;IAbC,aAAsB;IACtB,cAAoB;IACpB,mBAAyB;IAEzB,qCAGC;IACD,2BAEC;IAIH,sBAMC;IACD,gBAMC;IACD;;;;MAkDC;CACF"}
@@ -1,14 +1,65 @@
1
+ /**
2
+ * @param {Object} options Change options used as default for dialogs, can then be overridden by data attribute settings on element
3
+ */
4
+ export function setDefaults(options: any): void;
1
5
  /**
2
6
  * Initialize everything in document
3
7
  * - This will only initialize elements once, it is safe to call on page changes
4
8
  */
5
9
  export function init(): void;
6
- export function setup(context?: Document): void;
7
- export namespace options {
8
- let darkTheme: string;
9
- let lightTheme: string;
10
- let defaultTheme: string;
11
- let darkIcon: string;
12
- let lightIcon: string;
10
+ /**
11
+ * Query and setup all
12
+ */
13
+ export function setup(): void;
14
+ /**
15
+ * Sets up a single toggle
16
+ * @param {HTMLElement} toggle A toggle to be setup
17
+ */
18
+ export function setupToggle(toggle: HTMLElement, passedOptions: any): {
19
+ destroy: () => void;
20
+ toggle: HTMLElement;
21
+ options: any;
22
+ toggleState: (event: any) => void;
23
+ setState(themeKey: any): void;
24
+ };
25
+ export namespace attrs {
26
+ let init: string;
27
+ let toggle: string;
28
+ let toggleIcon: string;
29
+ let toggleLabel: string;
30
+ let toggleRemote: string;
31
+ let state: string;
32
+ }
33
+ export namespace defaults {
34
+ namespace themes {
35
+ namespace light {
36
+ let label: string;
37
+ let value: string;
38
+ let iconClass: string;
39
+ let targetClass: string;
40
+ let mediaQuery: string;
41
+ }
42
+ namespace dark {
43
+ let label_1: string;
44
+ export { label_1 as label };
45
+ let iconClass_1: string;
46
+ export { iconClass_1 as iconClass };
47
+ let targetClass_1: string;
48
+ export { targetClass_1 as targetClass };
49
+ let mediaQuery_1: string;
50
+ export { mediaQuery_1 as mediaQuery };
51
+ }
52
+ }
53
+ let target: string;
54
+ let group: any;
55
+ /**
56
+ * Optional callback to do something when the state changes
57
+ */
58
+ function onChange(_ctx: any): void;
59
+ let initialState: string;
60
+ let checkMediaQuery: boolean;
61
+ let savePreference: boolean;
62
+ let storagePrefix: string;
63
+ let debug: boolean;
13
64
  }
14
65
  //# sourceMappingURL=theme-toggle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-toggle.d.ts","sourceRoot":"","sources":["../../js/ui/theme-toggle.js"],"names":[],"mappings":"AA6BA;;;GAGG;AACH,6BAOC;AAED,gDAeC"}
1
+ {"version":3,"file":"theme-toggle.d.ts","sourceRoot":"","sources":["../../js/ui/theme-toggle.js"],"names":[],"mappings":"AAmGA;;GAEG;AACH,gDAEC;AAED;;;GAGG;AACH,6BAGC;AAED;;GAEG;AACH,8BAEC;AAED;;;GAGG;AACH,oCAFW,WAAW;;;;;;EAiGrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA1JC;;OAEG;IACH,mCAAiB"}
@@ -32,8 +32,26 @@ export function setPositionClasses(parent: Node, classes?: any): void;
32
32
  * Resolve a target to Element
33
33
  * @param {String|Node} target The selector or node/element
34
34
  * @param {Object} context [document] The context to query possible selectors from
35
+ * @return {HTMLElement} The element or null if not found
35
36
  */
36
- export function getElement(target: string | Node, context?: any): any;
37
+ export function getElement(target: string | Node, context?: any): HTMLElement;
38
+ /**
39
+ * Resolve a target to Elements
40
+ * @param {String|Node} target The selector or node/element
41
+ * @param {Object} context [document] The context to query possible selectors from
42
+ * @return {Array} The elements or null if not found
43
+ */
44
+ export function getElements(target: string | Node, context?: any): any[];
45
+ /**
46
+ * Resolves a class input (string or array) into a consistent array of class names.
47
+ * @param {string|string[]} input - The class input, which can be a string, an array of strings, or any other value.
48
+ * @returns {string[]} An array of class names. Returns an empty array for invalid or falsy input.
49
+ * @example
50
+ * resolveClassArray("fas fa-check my-class"); // Returns ["fas", "fa-check", "my-class"]
51
+ * resolveClassArray(["another-class", "yet-another-class"]); // Returns ["another-class", "yet-another-class"]
52
+ * resolveClassArray("single-class"); // Returns ["single-class"]
53
+ */
54
+ export function resolveClasses(classes: any): string[];
37
55
  /**
38
56
  * Sets a CSS custom property equal to the scrollbar width
39
57
  * @param {Node} element The element that is the child of a scrollabel container
@@ -1 +1 @@
1
- {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../js/utils/dom.js"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,wCAJW,IAAI,oBAYd;AAED;;;;;;GAMG;AACH,gDAJW,IAAI,gBAEF,YAAa,CASzB;AAED;;GAEG;AACH,mEAMC;AAGD;;;;;;;;;GASG;AACH,2CAHa,IAAI,uBAoChB;AAED;;;;GAIG;AACH,mCAHW,SAAO,IAAI,sBAYrB;AAED;;;;;GAKG;AACH,+CAJW,IAAI,cACJ,IAAI,2BAMd;AAzHD;;GAEG;AAGH,qCAAqD"}
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../js/utils/dom.js"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,wCAJW,IAAI,oBAYd;AAED;;;;;;GAMG;AACH,gDAJW,IAAI,gBAEF,YAAa,CASzB;AAED;;GAEG;AACH,mEAMC;AAGD;;;;;;;;;GASG;AACH,2CAHa,IAAI,uBAoChB;AAED;;;;;GAKG;AACH,mCAJW,SAAO,IAAI,kBAEV,WAAW,CAWtB;AAED;;;;;GAKG;AACH,oCAJW,SAAO,IAAI,wBAerB;AAED;;;;;;;;GAQG;AACH,8CANa,MAAM,EAAE,CAiBpB;AAED;;;;;GAKG;AACH,+CAJW,IAAI,cACJ,IAAI,2BAMd;AAnKD;;GAEG;AAGH,qCAAqD"}