@ulu/frontend-vue 0.3.2 → 0.4.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.
- package/dist/components/elements/UluList.vue.d.ts.map +1 -1
- package/dist/components/elements/UluList.vue.js +13 -9
- package/dist/components/navigation/UluMenu.vue.d.ts.map +1 -1
- package/dist/components/navigation/UluMenu.vue.js +41 -35
- package/lib/components/elements/UluList.vue +6 -2
- package/lib/components/navigation/UluMenu.vue +6 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UluList.vue.d.ts","sourceRoot":"","sources":["../../../lib/components/elements/UluList.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UluList.vue.d.ts","sourceRoot":"","sources":["../../../lib/components/elements/UluList.vue"],"names":[],"mappings":"AAiCA;wBAmPqB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;;6BAEtE,CAAC,EAAE,CAAC;;;AAVjC;;;;;;;;;;;;;;;;;;;;;;;2OAOG"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { computed as n, createBlock as m, createCommentVNode as u, openBlock as
|
|
1
|
+
import { computed as n, createBlock as m, createCommentVNode as u, openBlock as l, resolveDynamicComponent as y, normalizeStyle as B, normalizeClass as o, withCtx as f, createElementBlock as d, Fragment as v, renderList as S, renderSlot as g, createTextVNode as k, toDisplayString as C } from "vue";
|
|
2
2
|
const h = {
|
|
3
3
|
__name: "UluList",
|
|
4
4
|
props: {
|
|
5
5
|
/**
|
|
6
6
|
* Array of list items, output as is or use slot to template the item
|
|
7
|
+
* - Note item can add classes by defining { classes: { item } }
|
|
7
8
|
*/
|
|
8
9
|
items: Array,
|
|
9
10
|
/**
|
|
10
|
-
* Classes object (keys are list
|
|
11
|
+
* Classes object (keys are { list, item } to be applied to <ul> and <li>)
|
|
11
12
|
* - Any valid class binding for each
|
|
12
13
|
*/
|
|
13
14
|
classes: {
|
|
@@ -49,8 +50,8 @@ const h = {
|
|
|
49
50
|
listStyleType: String
|
|
50
51
|
},
|
|
51
52
|
setup(e) {
|
|
52
|
-
const
|
|
53
|
-
return (i, O) => e.items?.length ? (
|
|
53
|
+
const r = e, s = n(() => r.ordered || r.forceOrdered), c = n(() => s.value ? "ol" : "ul");
|
|
54
|
+
return (i, O) => e.items?.length ? (l(), m(y(c.value), {
|
|
54
55
|
key: 0,
|
|
55
56
|
class: o([
|
|
56
57
|
{
|
|
@@ -64,19 +65,22 @@ const h = {
|
|
|
64
65
|
style: B({
|
|
65
66
|
listStyleType: e.listStyleType
|
|
66
67
|
}),
|
|
67
|
-
reversed:
|
|
68
|
+
reversed: s.value ? e.reversed : null,
|
|
68
69
|
start: e.start
|
|
69
70
|
}, {
|
|
70
71
|
default: f(() => [
|
|
71
|
-
(
|
|
72
|
+
(l(!0), d(v, null, S(e.items, (t, a) => (l(), d("li", {
|
|
72
73
|
key: a,
|
|
73
|
-
class: o(
|
|
74
|
+
class: o([
|
|
75
|
+
e.classes.item,
|
|
76
|
+
t?.classes?.item
|
|
77
|
+
])
|
|
74
78
|
}, [
|
|
75
79
|
g(i.$slots, "default", {
|
|
76
|
-
item:
|
|
80
|
+
item: t,
|
|
77
81
|
index: a
|
|
78
82
|
}, () => [
|
|
79
|
-
k(C(
|
|
83
|
+
k(C(t), 1)
|
|
80
84
|
])
|
|
81
85
|
], 2))), 128))
|
|
82
86
|
]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UluMenu.vue.d.ts","sourceRoot":"","sources":["../../../lib/components/navigation/UluMenu.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UluMenu.vue.d.ts","sourceRoot":"","sources":["../../../lib/components/navigation/UluMenu.vue"],"names":[],"mappings":"AAsDA;wBAwUqB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;;6BAEtE,CAAC,EAAE,CAAC;;;AAXjC;;;;;;;;;;;;2OAQG"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { resolveComponent as O, resolveDirective as $, createElementBlock as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
1
|
+
import { resolveComponent as O, resolveDirective as $, createElementBlock as i, createCommentVNode as c, openBlock as t, normalizeClass as a, Fragment as w, renderList as k, withDirectives as S, renderSlot as u, createBlock as o, withCtx as h, createElementVNode as x, toDisplayString as b, mergeProps as m, createSlots as D } from "vue";
|
|
2
|
+
import E from "../utils/UluAction.vue.js";
|
|
3
|
+
import I from "../elements/UluIcon.vue.js";
|
|
4
|
+
import M from "../elements/UluTag.vue.js";
|
|
5
5
|
const j = {
|
|
6
6
|
__name: "UluMenu",
|
|
7
7
|
props: {
|
|
@@ -41,18 +41,18 @@ const j = {
|
|
|
41
41
|
*/
|
|
42
42
|
"item-click"
|
|
43
43
|
],
|
|
44
|
-
setup(l, { emit:
|
|
45
|
-
const
|
|
46
|
-
|
|
44
|
+
setup(l, { emit: y }) {
|
|
45
|
+
const C = y, g = (s, n) => {
|
|
46
|
+
n.click && n.click(s), C("item-click", { item: n, event: s });
|
|
47
47
|
};
|
|
48
|
-
return (s,
|
|
49
|
-
const
|
|
50
|
-
return l.items?.length ? (t(),
|
|
48
|
+
return (s, n) => {
|
|
49
|
+
const v = O("UluMenu", !0), A = $("ulu-tooltip");
|
|
50
|
+
return l.items?.length ? (t(), i("ul", {
|
|
51
51
|
key: 0,
|
|
52
52
|
class: a(l.classes.list)
|
|
53
53
|
}, [
|
|
54
|
-
(t(!0),
|
|
55
|
-
key:
|
|
54
|
+
(t(!0), i(w, null, k(l.items, (e, r) => (t(), i("li", {
|
|
55
|
+
key: r,
|
|
56
56
|
class: a([
|
|
57
57
|
l.classes.item,
|
|
58
58
|
e?.classes?.item,
|
|
@@ -60,58 +60,64 @@ const j = {
|
|
|
60
60
|
e.separatorAfter ? l.classes.itemSeparatorAfter : ""
|
|
61
61
|
])
|
|
62
62
|
}, [
|
|
63
|
-
|
|
63
|
+
S((t(), o(E, {
|
|
64
|
+
to: e.to,
|
|
65
|
+
path: e.path,
|
|
66
|
+
href: e.href,
|
|
67
|
+
target: e.target,
|
|
68
|
+
download: e.download,
|
|
69
|
+
element: e.element,
|
|
64
70
|
activeClass: l.classes.linkActive,
|
|
65
71
|
exactActiveClass: l.classes.linkExactActive,
|
|
66
|
-
onClick: (
|
|
67
|
-
|
|
72
|
+
onClick: (f) => {
|
|
73
|
+
g(f, e);
|
|
68
74
|
},
|
|
69
|
-
class: [l.classes.link, e?.classes?.link],
|
|
75
|
+
class: a([l.classes.link, e?.classes?.link]),
|
|
70
76
|
"aria-label": l.iconOnly ? e.title : null,
|
|
71
77
|
id: e.id
|
|
72
|
-
}
|
|
73
|
-
default:
|
|
78
|
+
}, {
|
|
79
|
+
default: h(() => [
|
|
74
80
|
u(s.$slots, "default", {
|
|
75
81
|
item: e,
|
|
76
|
-
index:
|
|
82
|
+
index: r
|
|
77
83
|
}, () => [
|
|
78
|
-
e.icon ? (t(),
|
|
84
|
+
e.icon ? (t(), o(I, {
|
|
79
85
|
key: 0,
|
|
80
86
|
icon: e.icon,
|
|
81
87
|
class: a([l.classes.linkIcon, e?.classes?.linkIcon])
|
|
82
|
-
}, null, 8, ["icon", "class"])) :
|
|
83
|
-
|
|
88
|
+
}, null, 8, ["icon", "class"])) : c("", !0),
|
|
89
|
+
x("span", {
|
|
84
90
|
class: a([l.classes.linkText, e?.classes?.linkText])
|
|
85
|
-
},
|
|
86
|
-
e.tag ? (t(),
|
|
91
|
+
}, b(e.title), 3),
|
|
92
|
+
e.tag ? (t(), o(M, m({
|
|
87
93
|
key: 1,
|
|
88
94
|
ref_for: !0
|
|
89
|
-
}, e.tag), null, 16)) :
|
|
95
|
+
}, e.tag), null, 16)) : c("", !0)
|
|
90
96
|
])
|
|
91
97
|
]),
|
|
92
98
|
_: 2
|
|
93
|
-
},
|
|
99
|
+
}, 1032, ["to", "path", "href", "target", "download", "element", "activeClass", "exactActiveClass", "onClick", "class", "aria-label", "id"])), [
|
|
94
100
|
[A, l.iconOnly ? e.title : e.tooltip || null]
|
|
95
101
|
]),
|
|
96
102
|
u(s.$slots, "item", {
|
|
97
103
|
item: e,
|
|
98
|
-
index:
|
|
104
|
+
index: r
|
|
99
105
|
}),
|
|
100
|
-
!l.noChildren && e?.children?.length ? (t(),
|
|
106
|
+
!l.noChildren && e?.children?.length ? (t(), o(v, {
|
|
101
107
|
key: 0,
|
|
102
108
|
iconOnly: l.iconOnly,
|
|
103
109
|
classes: l.classes,
|
|
104
110
|
items: e.children
|
|
105
|
-
},
|
|
106
|
-
|
|
107
|
-
name:
|
|
108
|
-
fn:
|
|
109
|
-
u(s.$slots,
|
|
111
|
+
}, D({ _: 2 }, [
|
|
112
|
+
k(s.$slots, (f, d) => ({
|
|
113
|
+
name: d,
|
|
114
|
+
fn: h((B) => [
|
|
115
|
+
u(s.$slots, d, m({ ref_for: !0 }, B))
|
|
110
116
|
])
|
|
111
117
|
}))
|
|
112
|
-
]), 1032, ["iconOnly", "classes", "items"])) :
|
|
118
|
+
]), 1032, ["iconOnly", "classes", "items"])) : c("", !0)
|
|
113
119
|
], 2))), 128))
|
|
114
|
-
], 2)) :
|
|
120
|
+
], 2)) : c("", !0);
|
|
115
121
|
};
|
|
116
122
|
}
|
|
117
123
|
};
|
|
@@ -20,7 +20,10 @@
|
|
|
20
20
|
<li
|
|
21
21
|
v-for="(item, index) in items"
|
|
22
22
|
:key="index"
|
|
23
|
-
:class="
|
|
23
|
+
:class="[
|
|
24
|
+
classes.item,
|
|
25
|
+
item?.classes?.item
|
|
26
|
+
]"
|
|
24
27
|
>
|
|
25
28
|
<slot :item="item" :index="index">
|
|
26
29
|
{{ item }}
|
|
@@ -35,10 +38,11 @@
|
|
|
35
38
|
const props = defineProps({
|
|
36
39
|
/**
|
|
37
40
|
* Array of list items, output as is or use slot to template the item
|
|
41
|
+
* - Note item can add classes by defining { classes: { item } }
|
|
38
42
|
*/
|
|
39
43
|
items: Array,
|
|
40
44
|
/**
|
|
41
|
-
* Classes object (keys are list
|
|
45
|
+
* Classes object (keys are { list, item } to be applied to <ul> and <li>)
|
|
42
46
|
* - Any valid class binding for each
|
|
43
47
|
*/
|
|
44
48
|
classes: {
|
|
@@ -14,7 +14,12 @@
|
|
|
14
14
|
]"
|
|
15
15
|
>
|
|
16
16
|
<UluAction
|
|
17
|
-
|
|
17
|
+
:to="item.to"
|
|
18
|
+
:path="item.path"
|
|
19
|
+
:href="item.href"
|
|
20
|
+
:target="item.target"
|
|
21
|
+
:download="item.download"
|
|
22
|
+
:element="item.element"
|
|
18
23
|
:activeClass="classes.linkActive"
|
|
19
24
|
:exactActiveClass="classes.linkExactActive"
|
|
20
25
|
@click="(event) => { handleItemClick(event, item) }"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ulu/frontend-vue",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "A modular, tree-shakeable Vue 3 component library for the Ulu Frontend theming system, plus general utilities for Vue development",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"@fortawesome/vue-fontawesome": "^3.0.8",
|
|
66
66
|
"@headlessui/vue": "^1.7.23",
|
|
67
67
|
"@portabletext/vue": "^1.0.14",
|
|
68
|
-
"@ulu/frontend": "^0.3.
|
|
68
|
+
"@ulu/frontend": "^0.3.6",
|
|
69
69
|
"@ulu/utils": "^0.0.34",
|
|
70
70
|
"@unhead/vue": "^2.0.11",
|
|
71
71
|
"fuse.js": "^6.6.2",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"@storybook/addon-essentials": "^9.0.0-alpha.12",
|
|
88
88
|
"@storybook/addon-links": "^9.1.1",
|
|
89
89
|
"@storybook/vue3-vite": "^9.1.1",
|
|
90
|
-
"@ulu/frontend": "^0.3.
|
|
90
|
+
"@ulu/frontend": "^0.3.6",
|
|
91
91
|
"@ulu/utils": "^0.0.34",
|
|
92
92
|
"@unhead/vue": "^2.0.11",
|
|
93
93
|
"@vitejs/plugin-vue": "^6.0.0",
|