@ulu/frontend-vue 0.1.0-beta.9 → 0.1.1-beta.1

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 (99) hide show
  1. package/dist/{breakpoints-BbkGNxxt.js → breakpoints-DM-CBTtb.js} +1 -1
  2. package/dist/frontend-vue.css +1 -1
  3. package/dist/frontend-vue.js +79 -68
  4. package/dist/index-BNRZ3Apw.js +7541 -0
  5. package/lib/components/collapsible/UluAccordion.vue +71 -53
  6. package/lib/components/collapsible/UluAccordionGroup.vue +54 -0
  7. package/lib/components/collapsible/UluCollapsible.vue +144 -0
  8. package/lib/components/collapsible/UluDropdown.vue +29 -29
  9. package/lib/components/collapsible/UluOverflowPopover.vue +1 -1
  10. package/lib/components/elements/UluBadge.vue +51 -28
  11. package/lib/components/elements/UluBadgeStack.vue +8 -13
  12. package/lib/components/elements/UluButtonVerbose.vue +119 -0
  13. package/lib/components/elements/UluCard.vue +1 -1
  14. package/lib/components/elements/UluDefinitionList.vue +14 -17
  15. package/lib/components/elements/UluExternalLink.vue +21 -27
  16. package/lib/components/elements/UluIcon.vue +11 -1
  17. package/lib/components/elements/UluList.vue +53 -55
  18. package/lib/components/elements/UluSpokeSpinner.vue +12 -18
  19. package/lib/components/elements/UluTag.vue +35 -35
  20. package/lib/components/forms/UluFileDisplay.vue +49 -31
  21. package/lib/components/forms/UluFormFile.vue +37 -24
  22. package/lib/components/forms/UluFormMessage.vue +13 -10
  23. package/lib/components/forms/UluFormSelect.vue +28 -16
  24. package/lib/components/forms/UluFormText.vue +24 -15
  25. package/lib/components/forms/UluSearchForm.vue +11 -10
  26. package/lib/components/forms/UluSelectableMenu.vue +99 -0
  27. package/lib/components/index.js +4 -3
  28. package/lib/components/layout/UluTitleRail.vue +18 -0
  29. package/lib/components/layout/UluWhenBreakpoint.vue +9 -0
  30. package/lib/components/navigation/UluBreadcrumb.vue +9 -2
  31. package/lib/components/navigation/UluMenu.vue +8 -3
  32. package/lib/components/navigation/UluMenuStack.vue +3 -1
  33. package/lib/components/navigation/UluPager.vue +102 -0
  34. package/lib/components/systems/facets/ExampleFacetsWithPagination.vue +119 -0
  35. package/lib/components/systems/facets/UluFacetsFilterLists.vue +91 -0
  36. package/lib/components/systems/facets/UluFacetsFilterPopovers.vue +125 -0
  37. package/lib/components/systems/facets/UluFacetsFilterSelects.vue +71 -0
  38. package/lib/components/systems/facets/UluFacetsHeaderLayout.vue +24 -0
  39. package/lib/components/systems/facets/UluFacetsList.vue +62 -34
  40. package/lib/components/systems/facets/UluFacetsResults.vue +63 -0
  41. package/lib/components/systems/facets/UluFacetsSearch.vue +27 -50
  42. package/lib/components/systems/facets/UluFacetsSidebarLayout.vue +70 -0
  43. package/lib/components/systems/facets/UluFacetsSort.vue +45 -0
  44. package/lib/components/systems/facets/_facets.scss +2 -3
  45. package/lib/components/systems/facets/_mock-data.js +40 -0
  46. package/lib/components/systems/facets/useFacets.js +268 -0
  47. package/lib/components/systems/index.js +13 -2
  48. package/lib/components/systems/scroll-anchors/UluScrollAnchors.vue +2 -1
  49. package/lib/components/systems/skeleton/UluShowSkeleton.vue +9 -8
  50. package/lib/components/systems/skeleton/UluSkeletonContent.vue +39 -43
  51. package/lib/components/systems/skeleton/UluSkeletonMedia.vue +4 -6
  52. package/lib/components/systems/skeleton/UluSkeletonText.vue +27 -0
  53. package/lib/components/systems/slider/UluImageSlideShow.vue +1 -1
  54. package/lib/components/systems/slider/UluSlideShow.vue +8 -3
  55. package/lib/components/systems/table-sticky/UluTableSticky.vue +7 -7
  56. package/lib/components/systems/table-sticky/UluTableStickyTable.vue +3 -3
  57. package/lib/components/visualizations/UluAnimateNumber.vue +7 -1
  58. package/lib/components/visualizations/UluProgressBar.vue +99 -68
  59. package/lib/components/visualizations/UluProgressCircle.vue +146 -0
  60. package/lib/components/visualizations/progress-bar-examples.html +175 -0
  61. package/lib/composables/index.js +3 -1
  62. package/lib/composables/useDocumentTitle.js +61 -0
  63. package/lib/composables/usePagination.js +122 -0
  64. package/lib/index.js +1 -0
  65. package/lib/plugins/core/index.js +6 -1
  66. package/lib/plugins/popovers/UluPopover.vue +8 -3
  67. package/lib/plugins/toast/UluToast.vue +1 -1
  68. package/lib/plugins/toast/UluToastDisplay.vue +19 -2
  69. package/lib/utils/dom.js +12 -0
  70. package/lib/utils/index.js +2 -0
  71. package/lib/utils/{vue-router.js → router.js} +114 -30
  72. package/package.json +17 -11
  73. package/types/components/systems/facets/_mock-data.d.ts +18 -0
  74. package/types/components/systems/facets/_mock-data.d.ts.map +1 -0
  75. package/types/components/systems/facets/useFacets.d.ts +39 -0
  76. package/types/components/systems/facets/useFacets.d.ts.map +1 -0
  77. package/types/components/systems/index.d.ts +1 -1
  78. package/types/composables/index.d.ts +2 -0
  79. package/types/composables/useDocumentTitle.d.ts +22 -0
  80. package/types/composables/useDocumentTitle.d.ts.map +1 -0
  81. package/types/composables/usePageTitle.d.ts +19 -0
  82. package/types/composables/usePageTitle.d.ts.map +1 -0
  83. package/types/composables/usePagination.d.ts +25 -0
  84. package/types/composables/usePagination.d.ts.map +1 -0
  85. package/types/index.d.ts +1 -0
  86. package/types/plugins/core/index.d.ts.map +1 -1
  87. package/types/utils/dom.d.ts +1 -0
  88. package/types/utils/dom.d.ts.map +1 -1
  89. package/types/utils/index.d.ts +3 -0
  90. package/types/utils/index.d.ts.map +1 -0
  91. package/types/utils/router.d.ts +144 -0
  92. package/types/utils/router.d.ts.map +1 -0
  93. package/dist/index-D3Uc6T5M.js +0 -6469
  94. package/lib/components/collapsible/UluCollapsibleRegion.vue +0 -278
  95. package/lib/components/forms/UluCheckboxMenu.vue +0 -36
  96. package/lib/components/systems/facets/UluFacets.vue +0 -380
  97. package/lib/components/systems/skeleton/UluSkeletonTextInline.vue +0 -9
  98. package/lib/components/visualizations/UluProgressDonut.vue +0 -97
  99. package/lib/utils/placeholder.js +0 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDocumentTitle.d.ts","sourceRoot":"","sources":["../../lib/composables/useDocumentTitle.js"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;GAcG;AACH,2CALG;IAAqD,KAAK,GAAlD,OAAO,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM;IACjB,aAAa,GAA9B,MAAM;IACa,QAAQ;IACR,OAAO;CACpC,QAsCA"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * A composable to set the title for the current page/route from within its component.
3
+ * This provides a single source of truth for a page's title, which can be
4
+ * consumed by various parts of the application (e.g., breadcrumbs, document title).
5
+ * @param {import('vue').Ref<string> | string} title The title to set for the current page. Can be a ref, computed, or a plain string.
6
+ * @param {{ useRoute: Function }} options For dependency injection in tests/stories.
7
+ */
8
+ export function usePageTitle(title: import("vue").Ref<string> | string, { useRoute }?: {
9
+ useRoute: Function;
10
+ }): void;
11
+ /**
12
+ * Gets the dynamically set page title for a given path.
13
+ * For internal use by consumers like breadcrumb or document title utilities.
14
+ * @param {string} path The route path to look up.
15
+ * @returns {string | undefined}
16
+ */
17
+ export function getPageTitle(path: string): string | undefined;
18
+ export const pageTitles: {};
19
+ //# sourceMappingURL=usePageTitle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePageTitle.d.ts","sourceRoot":"","sources":["../../lib/composables/usePageTitle.js"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,oCAHW,OAAO,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,iBAClC;IAAE,QAAQ,WAAU;CAAE,QAchC;AAED;;;;;GAKG;AACH,mCAHW,MAAM,GACJ,MAAM,GAAG,SAAS,CAI9B;AA/BD,4BAAuC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * A Vue composable for handling pagination logic.
3
+ * It interacts with vue-router to keep the current page in the URL query string.
4
+ *
5
+ * @param {import('vue').Ref<Array<any>>} items - A ref containing the full list of items to be paginated.
6
+ * @param {number} itemsPerPage - The number of items to display per page.
7
+ * @returns {{
8
+ * currentPage: import('vue').ComputedRef<number>,
9
+ * totalPages: import('vue').ComputedRef<number>,
10
+ * paginatedItems: import('vue').ComputedRef<Array<any>>,
11
+ * pagerItems: import('vue').ComputedRef<object|null>,
12
+ * pagerEllipses: import('vue').ComputedRef<{previous: boolean, next: boolean}>
13
+ * }} - An object containing reactive properties for pagination.
14
+ */
15
+ export function usePagination(items: import("vue").Ref<Array<any>>, itemsPerPage: number): {
16
+ currentPage: import("vue").ComputedRef<number>;
17
+ totalPages: import("vue").ComputedRef<number>;
18
+ paginatedItems: import("vue").ComputedRef<Array<any>>;
19
+ pagerItems: import("vue").ComputedRef<object | null>;
20
+ pagerEllipses: import("vue").ComputedRef<{
21
+ previous: boolean;
22
+ next: boolean;
23
+ }>;
24
+ };
25
+ //# sourceMappingURL=usePagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePagination.d.ts","sourceRoot":"","sources":["../../lib/composables/usePagination.js"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;GAaG;AACH,qCAVW,OAAO,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,gBAC7B,MAAM,GACJ;IACR,WAAW,EAAE,OAAO,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/C,UAAU,EAAE,OAAO,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,cAAc,EAAE,OAAO,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,UAAU,EAAE,OAAO,KAAK,EAAE,WAAW,CAAC,MAAM,GAAC,IAAI,CAAC,CAAC;IACnD,aAAa,EAAE,OAAO,KAAK,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAC,CAAC,CAAA;CAC7E,CA0GH"}
package/types/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./plugins/index.js";
2
2
  export * from "./components/index.js";
3
3
  export * from "./composables/index.js";
4
+ export * as utils from "./utils/index.js";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/plugins/core/index.js"],"names":[],"mappings":"AA6BA,mEAyDC;AA3DD,gCAA0D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/plugins/core/index.js"],"names":[],"mappings":"AAkCA,mEAyDC;AA3DD,gCAA0D"}
@@ -5,4 +5,5 @@
5
5
  * @returns {HTMLElement} The HTMLElement or undefined if not found/resolved.
6
6
  */
7
7
  export function refToElement(value: HTMLElement | any): HTMLElement;
8
+ export function newId(prefix?: string): any;
8
9
  //# sourceMappingURL=dom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../lib/utils/dom.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,oCAHW,WAAW,MAAO,GAChB,WAAW,CASvB"}
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../lib/utils/dom.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,oCAHW,WAAW,MAAO,GAChB,WAAW,CASvB;AAKD,4CAOC"}
@@ -0,0 +1,3 @@
1
+ export * as dom from "./dom.js";
2
+ export * as router from "./router.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/utils/index.js"],"names":[],"mappings":""}
@@ -0,0 +1,144 @@
1
+ /**
2
+ * This Module Creates Menus from route or router config
3
+ * - Note: Functions prefixed with "$" work with $route objects (running application, provided by vue-router ie $router, useRoute, etc),
4
+ * @module router-utils
5
+ */
6
+ /**
7
+ * Resolves a route's title from its meta.
8
+ * - If `meta.title` is a function, it's called with the `currentRoute` (or the route itself).
9
+ * - Otherwise, `meta.title` is returned.
10
+ * This function is the single source of truth for resolving titles from route configuration.
11
+ * @param {object} route The route or route match object.
12
+ * @param {object} [currentRoute] The current route from `useRoute()`, passed to functional titles.
13
+ * @returns {string|undefined} The resolved title, or undefined if not found.
14
+ */
15
+ export function getRouteTitle(route: object, currentRoute?: object): string | undefined;
16
+ /**
17
+ * Route Menu Item
18
+ * @typedef {Object} RouteMenuItem
19
+ * @property {String} path - Menu item route path
20
+ * @property {String} title - Menu item title
21
+ */
22
+ /**
23
+ * Get root/base static routes as menu items
24
+ * @param {*} routes Routes to build menu from (not router instance)
25
+ * @param {Object} options Options
26
+ * @param {Object} options.qualifier Callback to qualify as a base route (defaults to isStaticBaseRoute)
27
+ * @param {Object} options.item Options for createMenuItem
28
+ * @returns {Array.<RouteMenuItem>} Array of menu items
29
+ */
30
+ export function createBaseMenu(routes: any, options: {
31
+ qualifier: any;
32
+ item: any;
33
+ }): Array<RouteMenuItem>;
34
+ /**
35
+ * Returns menu flat (no parent children)
36
+ */
37
+ export function flattenMenu(menu: any): any;
38
+ /**
39
+ * Print out a section's menu based on path
40
+ * @param {*} routes All routes
41
+ * @param {*} sectionPath Path for section to create menu
42
+ * @param {Object} options Options
43
+ * @param {Boolean} options.includeIndex Include the parent/index in the menu items ie ({ path: "" })
44
+ * @param {Object} options.item Options to be passed to createMenuItem
45
+ * @returns {Array.<RouteMenuItem>} Array of menu items
46
+ */
47
+ export function createSectionMenu(routes: any, sectionPath: any, options: {
48
+ includeIndex: boolean;
49
+ item: any;
50
+ }): Array<RouteMenuItem>;
51
+ /**
52
+ * For a given array of child routes return the index
53
+ * @param {Array} children Children array of routes
54
+ * @returns {Object} Route
55
+ */
56
+ export function getChildIndexRoute(children: any[]): any;
57
+ /**
58
+ * Creates common menu item structure from route, pulls title and weight from meta (on route or index child)
59
+ * @param {Object} route Route
60
+ * @param {Object} routePath The final path for the menu item
61
+ * @param {Object} options Function to allow alterering the menu item (adding meta, etc)
62
+ * @param {Function} options.modify Function to allow alterering the menu item (adding meta, etc) (args: item, route)
63
+ * @param {Function} options.indexMeta Include the routes index child's meta (merged on top of route meta)
64
+ * @returns {RouteMenuItem} Menu item
65
+ */
66
+ export function createMenuItem(route: any, routePath: any, options: {
67
+ modify: Function;
68
+ indexMeta: Function;
69
+ }): RouteMenuItem;
70
+ /**
71
+ * Test if route is static (doesn't include parameters)
72
+ * @param {Object} route Route object to test
73
+ * @returns {Boolean} Whether or not this route is static (not dynamic)
74
+ */
75
+ export function isStaticRoute(route: any): boolean;
76
+ /**
77
+ *
78
+ * @param {Object} route Route object to test
79
+ * @returns {Boolean} Whether or not this route is a static base route
80
+ */
81
+ export function isStaticBaseRoute(route: any): boolean;
82
+ /**
83
+ * Function to make normal <a> behave as router links instread of page reload
84
+ * @param {Object} router Router instance (ie src/router) to push routes to
85
+ * @param {Object} event The event object that triggered route change (ie. onclick) pass event object
86
+ */
87
+ export function nativeLinkRouter(router: any, event: any): void;
88
+ /**
89
+ * Returns the child routes for base route
90
+ * @param {Object} route Route Object
91
+ * @returns
92
+ */
93
+ export function $getRouteChildren(route: any, parent?: any): any;
94
+ /**
95
+ * Returns the route's parent
96
+ * @param {Object} route Route Object
97
+ * @param {Object} deepest By default this returns the routes parent, if deepest it will return it's base route (top level parent)
98
+ * @return {Object|Null} Parent route, if there is no parent route for the given route this will return null
99
+ */
100
+ export function $getParentRoute(route: any, deepest: any): any | null;
101
+ /**
102
+ * For a given $route will return all it's children as menu items,
103
+ * using the route's meta.title property for the title. This is for sections only (routes with children)
104
+ * - Useful for dynamic menus (menus within some unknown section) where you don't want to write static paths
105
+ * @param {Object} route Actual $route object
106
+ * @param {Object} options Options
107
+ * @param {Object} options.parent Route parent object, defaults to parent of route
108
+ * @param {Boolean} options.includeIndex Include the parent/index in the menu items ie ({ path: "" })
109
+ * @param {Object} options.item Options for createMenuItem
110
+ * @returns {Array.<RouteMenuItem>} Array of menu items
111
+ */
112
+ export function $createSectionMenu(route: any, options: {
113
+ parent: any;
114
+ includeIndex: boolean;
115
+ item: any;
116
+ }): Array<RouteMenuItem>;
117
+ /**
118
+ * For a given $route, this will generate a breadcrumb trail.
119
+ * It iterates through `route.matched` to build the trail.
120
+ * - Falls back to `meta.title` (string or function).
121
+ * - Skips routes where `meta.breadcrumb` is set to `false`.
122
+ * - Avoids duplicate crumbs for nested routes with empty paths.
123
+ * @param {Object} route The Vue Router `$route` object.
124
+ * @returns {Array.<{title: String, to: Object, current: Boolean}>} An array of breadcrumb items.
125
+ */
126
+ export function $createBreadcrumb(route: any): Array<{
127
+ title: string;
128
+ to: any;
129
+ current: boolean;
130
+ }>;
131
+ /**
132
+ * Route Menu Item
133
+ */
134
+ export type RouteMenuItem = {
135
+ /**
136
+ * - Menu item route path
137
+ */
138
+ path: string;
139
+ /**
140
+ * - Menu item title
141
+ */
142
+ title: string;
143
+ };
144
+ //# sourceMappingURL=router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../lib/utils/router.js"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;GAQG;AACH,qCAJW,MAAM,iBACN,MAAM,GACJ,MAAM,GAAC,SAAS,CAW5B;AAED;;;;;GAKG;AAEH;;;;;;;GAOG;AACH,uCANW,GAAC,WAET;IAAwB,SAAS;IACT,IAAI;CAC5B,GAAU,KAAK,CAAE,aAAa,CAAC,CAgCjC;AAED;;GAEG;AACH,4CAcC;AAED;;;;;;;;GAQG;AACH,0CAPW,GAAC,eACD,GAAC,WAET;IAAyB,YAAY;IACb,IAAI;CAC5B,GAAU,KAAK,CAAE,aAAa,CAAC,CA4BjC;AAED;;;;GAIG;AACH,yDAEC;AAED;;;;;;;;GAQG;AACH,oEAJG;IAA0B,MAAM;IACN,SAAS;CACnC,GAAU,aAAa,CAuBzB;AAED;;;;GAIG;AACH,mDAEC;AAED;;;;GAIG;AACH,uDAGC;AAED;;;;GAIG;AACH,gEAUC;AAED;;;;GAIG;AACH,iEAEC;AAED;;;;;GAKG;AACH,2DAFY,UAAW,CAUtB;AAUD;;;;;;;;;;GAUG;AACH,wDALG;IAAwB,MAAM;IACL,YAAY;IACb,IAAI;CAC5B,GAAU,KAAK,CAAE,aAAa,CAAC,CAgBjC;AAED;;;;;;;;GAQG;AACH,+CAFa,KAAK,CAAE;IAAC,KAAK,SAAS;IAAC,EAAE,MAAS;IAAC,OAAO,UAAS;CAAC,CAAC,CA6BjE"}