@ulu/frontend-vue 0.2.0-beta.8 → 0.3.0

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 (174) hide show
  1. package/dist/components/collapsible/UluAccordionGroup.vue.d.ts +2 -2
  2. package/dist/components/collapsible/UluAccordionGroup.vue.d.ts.map +1 -1
  3. package/dist/components/collapsible/UluAccordionGroup.vue.js +22 -19
  4. package/dist/components/collapsible/UluDropdown.vue.d.ts +1 -1
  5. package/dist/components/collapsible/UluDropdown.vue.d.ts.map +1 -1
  6. package/dist/components/collapsible/UluDropdown.vue.js +22 -15
  7. package/dist/components/collapsible/UluModal.vue.d.ts +43 -248
  8. package/dist/components/collapsible/UluModal.vue.d.ts.map +1 -1
  9. package/dist/components/collapsible/UluModal.vue.js +139 -191
  10. package/dist/components/collapsible/UluTabGroup.vue.d.ts +2 -0
  11. package/dist/components/collapsible/UluTabGroup.vue.d.ts.map +1 -1
  12. package/dist/components/collapsible/UluTabGroup.vue.js +23 -14
  13. package/dist/components/elements/UluAlert.vue.d.ts +29 -144
  14. package/dist/components/elements/UluAlert.vue.d.ts.map +1 -1
  15. package/dist/components/elements/UluAlert.vue.js +39 -50
  16. package/dist/components/elements/UluBadge.vue.d.ts +6 -6
  17. package/dist/components/elements/UluBadgeStack.vue.d.ts +1 -1
  18. package/dist/components/elements/UluBadgeStack.vue.d.ts.map +1 -1
  19. package/dist/components/elements/UluBadgeStack.vue.js +12 -9
  20. package/dist/components/elements/UluButton.vue.d.ts +47 -177
  21. package/dist/components/elements/UluButton.vue.d.ts.map +1 -1
  22. package/dist/components/elements/UluButton.vue.js +59 -72
  23. package/dist/components/elements/UluButtonVerbose.vue.d.ts +38 -123
  24. package/dist/components/elements/UluButtonVerbose.vue.d.ts.map +1 -1
  25. package/dist/components/elements/UluButtonVerbose.vue.js +52 -65
  26. package/dist/components/elements/UluCallout.vue.d.ts +20 -25
  27. package/dist/components/elements/UluCallout.vue.d.ts.map +1 -1
  28. package/dist/components/elements/UluCallout.vue.js +11 -16
  29. package/dist/components/elements/UluCaptionedFigure.vue.d.ts +25 -0
  30. package/dist/components/elements/UluCaptionedFigure.vue.d.ts.map +1 -0
  31. package/dist/components/elements/UluCaptionedFigure.vue.js +48 -0
  32. package/dist/components/elements/UluCard.vue.d.ts +2 -2
  33. package/dist/components/elements/UluDefinitionList.vue.d.ts +4 -2
  34. package/dist/components/elements/UluDefinitionList.vue.d.ts.map +1 -1
  35. package/dist/components/elements/UluDefinitionList.vue.js +32 -28
  36. package/dist/components/elements/UluExternalLink.vue.d.ts +2 -2
  37. package/dist/components/elements/UluImage.vue.d.ts +14 -0
  38. package/dist/components/elements/UluImage.vue.d.ts.map +1 -0
  39. package/dist/components/elements/UluImage.vue.js +53 -0
  40. package/dist/components/elements/UluList.vue.d.ts.map +1 -1
  41. package/dist/components/elements/UluList.vue.js +14 -13
  42. package/dist/components/elements/UluOverflowScroller.vue.d.ts +49 -0
  43. package/dist/components/elements/UluOverflowScroller.vue.d.ts.map +1 -0
  44. package/dist/components/elements/UluOverflowScroller.vue.js +138 -0
  45. package/dist/components/elements/UluScrollSlider.vue.d.ts +38 -0
  46. package/dist/components/elements/UluScrollSlider.vue.d.ts.map +1 -0
  47. package/dist/components/elements/UluScrollSlider.vue.js +146 -0
  48. package/dist/components/elements/UluSlider.vue.d.ts +57 -0
  49. package/dist/components/elements/UluSlider.vue.d.ts.map +1 -0
  50. package/dist/components/elements/UluSlider.vue.js +277 -0
  51. package/dist/components/forms/UluFormFile.vue.d.ts +2 -2
  52. package/dist/components/forms/UluFormRadio.vue.d.ts +4 -4
  53. package/dist/components/index.d.ts +6 -0
  54. package/dist/components/layout/UluTitleRail.vue.d.ts +29 -87
  55. package/dist/components/layout/UluTitleRail.vue.d.ts.map +1 -1
  56. package/dist/components/layout/UluTitleRail.vue.js +51 -46
  57. package/dist/components/navigation/UluBreadcrumb.vue.d.ts +27 -68
  58. package/dist/components/navigation/UluBreadcrumb.vue.d.ts.map +1 -1
  59. package/dist/components/navigation/UluBreadcrumb.vue.js +51 -54
  60. package/dist/components/navigation/UluMenu.vue.d.ts +30 -138
  61. package/dist/components/navigation/UluMenu.vue.d.ts.map +1 -1
  62. package/dist/components/navigation/UluMenu.vue.js +85 -84
  63. package/dist/components/navigation/UluMenuStack.vue.d.ts +12 -2
  64. package/dist/components/navigation/UluMenuStack.vue.d.ts.map +1 -1
  65. package/dist/components/navigation/UluMenuStack.vue.js +26 -18
  66. package/dist/components/navigation/UluNavStrip.vue.d.ts +22 -134
  67. package/dist/components/navigation/UluNavStrip.vue.d.ts.map +1 -1
  68. package/dist/components/navigation/UluNavStrip.vue.js +43 -31
  69. package/dist/components/systems/facets/UluFacetsSidebarLayout.vue.js +10 -10
  70. package/dist/components/systems/facets/useFacets.d.ts +3 -0
  71. package/dist/components/systems/facets/useFacets.d.ts.map +1 -1
  72. package/dist/components/systems/facets/useFacets.js +124 -112
  73. package/dist/components/systems/index.d.ts +0 -3
  74. package/dist/components/systems/scroll-anchors/UluScrollAnchors.vue.d.ts +2 -2
  75. package/dist/components/systems/table-sticky/UluTableSticky.vue.d.ts +504 -432
  76. package/dist/components/systems/table-sticky/UluTableSticky.vue.d.ts.map +1 -1
  77. package/dist/components/systems/table-sticky/UluTableSticky.vue.js +313 -456
  78. package/dist/components/systems/table-sticky/UluTableStickyRows.vue.d.ts +40 -31
  79. package/dist/components/systems/table-sticky/UluTableStickyRows.vue.d.ts.map +1 -1
  80. package/dist/components/systems/table-sticky/UluTableStickyRows.vue.js +43 -45
  81. package/dist/components/systems/table-sticky/UluTableStickyTable.vue.d.ts +60 -146
  82. package/dist/components/systems/table-sticky/UluTableStickyTable.vue.d.ts.map +1 -1
  83. package/dist/components/systems/table-sticky/UluTableStickyTable.vue.js +156 -175
  84. package/dist/components/utils/UluAction.vue.d.ts +36 -0
  85. package/dist/components/utils/UluAction.vue.d.ts.map +1 -0
  86. package/dist/components/utils/UluAction.vue.js +59 -0
  87. package/dist/components/utils/UluConditionalText.vue.d.ts +7 -26
  88. package/dist/components/utils/UluConditionalText.vue.d.ts.map +1 -1
  89. package/dist/components/utils/UluConditionalText.vue.js +12 -14
  90. package/dist/components/utils/UluConditionalWrapper.vue.d.ts.map +1 -1
  91. package/dist/components/utils/UluConditionalWrapper.vue.js +11 -9
  92. package/dist/components/utils/UluPlaceholderImage.vue.d.ts +12 -57
  93. package/dist/components/utils/UluPlaceholderImage.vue.d.ts.map +1 -1
  94. package/dist/components/utils/UluPlaceholderImage.vue.js +18 -26
  95. package/dist/components/utils/UluPlaceholderText.vue.d.ts +6 -20
  96. package/dist/components/utils/UluPlaceholderText.vue.js +12 -14
  97. package/dist/components/utils/UluRouteAnnouncer.vue.d.ts +9 -58
  98. package/dist/components/utils/UluRouteAnnouncer.vue.d.ts.map +1 -1
  99. package/dist/components/utils/UluRouteAnnouncer.vue.js +28 -28
  100. package/dist/components/visualizations/UluAnimateNumber.vue.d.ts +20 -14
  101. package/dist/components/visualizations/UluAnimateNumber.vue.d.ts.map +1 -1
  102. package/dist/components/visualizations/UluAnimateNumber.vue.js +18 -26
  103. package/dist/components/visualizations/UluProgressCircle.vue.d.ts +2 -2
  104. package/dist/composables/useModifiers.d.ts +20 -25
  105. package/dist/composables/useModifiers.d.ts.map +1 -1
  106. package/dist/index.js +206 -200
  107. package/dist/plugins/modals/UluModalsDisplay.vue.d.ts +3 -12
  108. package/dist/plugins/modals/UluModalsDisplay.vue.js +24 -45
  109. package/dist/plugins/modals/index.js +6 -6
  110. package/dist/plugins/toast/UluToast.vue.d.ts +24 -49
  111. package/dist/plugins/toast/UluToast.vue.d.ts.map +1 -1
  112. package/dist/plugins/toast/UluToast.vue.js +68 -77
  113. package/dist/plugins/toast/UluToastDisplay.vue.d.ts +1 -9
  114. package/dist/plugins/toast/UluToastDisplay.vue.js +27 -35
  115. package/dist/plugins/toast/defaults.d.ts +40 -35
  116. package/dist/plugins/toast/defaults.js +2 -2
  117. package/dist/plugins/toast/index.js +4 -4
  118. package/dist/plugins/toast/store.d.ts +40 -35
  119. package/dist/plugins/toast/store.d.ts.map +1 -1
  120. package/dist/utils/props.d.ts +7 -0
  121. package/dist/utils/props.d.ts.map +1 -0
  122. package/dist/utils/props.js +6 -0
  123. package/lib/components/collapsible/UluAccordionGroup.vue +4 -1
  124. package/lib/components/collapsible/UluDropdown.vue +5 -1
  125. package/lib/components/collapsible/UluModal.vue +278 -298
  126. package/lib/components/collapsible/UluTabGroup.vue +21 -6
  127. package/lib/components/elements/UluAlert.vue +38 -51
  128. package/lib/components/elements/UluBadgeStack.vue +4 -1
  129. package/lib/components/elements/UluButton.vue +105 -129
  130. package/lib/components/elements/UluButtonVerbose.vue +67 -89
  131. package/lib/components/elements/UluCallout.vue +15 -19
  132. package/lib/components/elements/UluCaptionedFigure.vue +40 -0
  133. package/lib/components/elements/UluDefinitionList.vue +27 -6
  134. package/lib/components/elements/UluImage.vue +56 -0
  135. package/lib/components/elements/UluList.vue +1 -0
  136. package/lib/components/elements/UluOverflowScroller.vue +140 -0
  137. package/lib/components/elements/UluScrollSlider.vue +150 -0
  138. package/lib/components/elements/UluSlider.vue +488 -0
  139. package/lib/components/index.js +10 -0
  140. package/lib/components/layout/UluTitleRail.vue +55 -48
  141. package/lib/components/navigation/UluBreadcrumb.vue +29 -34
  142. package/lib/components/navigation/UluMenu.vue +60 -71
  143. package/lib/components/navigation/UluMenuStack.vue +6 -1
  144. package/lib/components/navigation/UluNavStrip.vue +43 -31
  145. package/lib/components/systems/facets/useFacets.js +33 -17
  146. package/lib/components/systems/index.js +0 -4
  147. package/lib/components/systems/table-sticky/UluTableSticky.vue +602 -576
  148. package/lib/components/systems/table-sticky/UluTableStickyRows.vue +16 -27
  149. package/lib/components/systems/table-sticky/UluTableStickyTable.vue +95 -96
  150. package/lib/components/utils/UluAction.vue +81 -0
  151. package/lib/components/utils/UluConditionalText.vue +13 -16
  152. package/lib/components/utils/UluConditionalWrapper.vue +5 -1
  153. package/lib/components/utils/UluPlaceholderImage.vue +44 -46
  154. package/lib/components/utils/UluPlaceholderText.vue +10 -13
  155. package/lib/components/utils/UluRouteAnnouncer.vue +59 -47
  156. package/lib/components/visualizations/UluAnimateNumber.vue +23 -30
  157. package/lib/composables/useModifiers.js +21 -26
  158. package/lib/plugins/modals/UluModalsDisplay.vue +44 -45
  159. package/lib/plugins/toast/UluToast.vue +28 -34
  160. package/lib/plugins/toast/UluToastDisplay.vue +9 -15
  161. package/lib/utils/props.js +8 -0
  162. package/package.json +9 -5
  163. package/dist/components/systems/slider/UluImageSlideShow.vue.d.ts +0 -130
  164. package/dist/components/systems/slider/UluImageSlideShow.vue.d.ts.map +0 -1
  165. package/dist/components/systems/slider/UluImageSlideShow.vue.js +0 -73
  166. package/dist/components/systems/slider/UluSlideShow.vue.d.ts +0 -205
  167. package/dist/components/systems/slider/UluSlideShow.vue.d.ts.map +0 -1
  168. package/dist/components/systems/slider/UluSlideShow.vue.js +0 -292
  169. package/dist/components/systems/slider/UluSlideShowSlide.vue.d.ts +0 -17
  170. package/dist/components/systems/slider/UluSlideShowSlide.vue.d.ts.map +0 -1
  171. package/dist/components/systems/slider/UluSlideShowSlide.vue.js +0 -26
  172. package/lib/components/systems/slider/UluImageSlideShow.vue +0 -75
  173. package/lib/components/systems/slider/UluSlideShow.vue +0 -336
  174. package/lib/components/systems/slider/UluSlideShowSlide.vue +0 -25
@@ -0,0 +1,277 @@
1
+ import { ref as a, computed as et, watch as it, onMounted as lt, nextTick as z, onBeforeUnmount as ot, createElementBlock as y, openBlock as p, normalizeClass as L, unref as M, createElementVNode as d, createCommentVNode as G, Fragment as X, renderList as H, renderSlot as C, createVNode as J, toDisplayString as st } from "vue";
2
+ import { useModifiers as nt } from "../../composables/useModifiers.js";
3
+ import { newId as at } from "../../utils/dom.js";
4
+ import K from "./UluIcon.vue.js";
5
+ const rt = { class: "slider__control-context" }, ut = {
6
+ class: "slider__track-crop",
7
+ style: { overflow: "hidden" }
8
+ }, ct = ["id", "inert", "aria-live"], dt = ["id", "aria-label", "inert", "aria-hidden"], vt = {
9
+ key: 0,
10
+ class: "Slider__controls"
11
+ }, ft = { class: "Slider__controls-item Slider__controls-item--previous" }, mt = ["aria-controls", "disabled"], yt = { class: "Slider__controls-item Slider__controls-item--next" }, pt = ["aria-controls", "disabled"], _t = {
12
+ key: 0,
13
+ class: "Slider__nav"
14
+ }, bt = ["onClick", "aria-controls", "aria-label", "aria-current"], gt = { class: "hidden-visually" }, $t = {
15
+ __name: "UluSlider",
16
+ props: {
17
+ /**
18
+ * Array of slide items.
19
+ */
20
+ items: {
21
+ type: Array,
22
+ required: !0
23
+ },
24
+ /**
25
+ * Transition type: 'slide', 'fade', or 'none'.
26
+ */
27
+ transition: {
28
+ type: String,
29
+ default: "slide",
30
+ validator: (r) => ["slide", "fade", "none"].includes(r)
31
+ },
32
+ /**
33
+ * Transition duration in milliseconds.
34
+ */
35
+ duration: {
36
+ type: Number,
37
+ default: 700
38
+ },
39
+ /**
40
+ * Easing function for the transition.
41
+ */
42
+ timingFunction: {
43
+ type: String,
44
+ default: "ease-in-out"
45
+ },
46
+ /**
47
+ * Enable infinite looping.
48
+ */
49
+ loop: {
50
+ type: Boolean,
51
+ default: !0
52
+ },
53
+ /**
54
+ * Show dot navigation.
55
+ */
56
+ nav: {
57
+ type: Boolean,
58
+ default: !0
59
+ },
60
+ /**
61
+ * Show previous/next controls.
62
+ */
63
+ controls: {
64
+ type: Boolean,
65
+ default: !0
66
+ },
67
+ /**
68
+ * Autoplay duration in ms. If > 0, autoplay is enabled.
69
+ */
70
+ autoplay: {
71
+ type: Number,
72
+ default: 0
73
+ },
74
+ /**
75
+ * Automatically switch to 'fade' transition if OS prefers reduced motion.
76
+ */
77
+ reduceMotionFallback: {
78
+ type: Boolean,
79
+ default: !0
80
+ },
81
+ /**
82
+ * Setting for element.focus() when navigating to a specific slide.
83
+ */
84
+ focusOptions: {
85
+ type: Object,
86
+ default: () => ({
87
+ preventScroll: !0,
88
+ focusVisible: !1
89
+ })
90
+ },
91
+ /**
92
+ * Base class modifiers.
93
+ */
94
+ modifiers: [String, Array]
95
+ },
96
+ emits: ["change"],
97
+ setup(r, { emit: Q }) {
98
+ const o = r, W = Q, k = at("ulu-slider-track"), N = (t) => `${k}-slide-${t}`, h = a(null), u = a([]), s = a(0), _ = a(!1), R = a(!1), { resolvedModifiers: Y } = nt({ props: o, baseClass: "slider" }), A = et(() => o.transition === "none" ? "none" : o.reduceMotionFallback && R.value ? "fade" : o.transition), Z = (t, l) => {
99
+ t && (u.value[l] = t);
100
+ }, x = (t) => {
101
+ if (!o.items || o.items.length === 0) return !1;
102
+ const l = s.value === o.items.length - 1 ? 0 : s.value + 1, e = s.value === 0 ? o.items.length - 1 : s.value - 1;
103
+ return t === l || t === e;
104
+ }, S = a(null), T = () => {
105
+ o.autoplay > 0 && ($(), S.value = setInterval(() => {
106
+ D();
107
+ }, o.autoplay));
108
+ }, $ = () => {
109
+ S.value && (clearInterval(S.value), S.value = null);
110
+ }, O = () => $(), V = () => T();
111
+ it(() => o.autoplay, () => {
112
+ T();
113
+ }), a(0), a(0), a(null), a([]), a(!1);
114
+ const b = (t, l) => {
115
+ u.value.forEach((e, i) => {
116
+ e && (l ? e.style.visibility = "visible" : e.style.visibility = i === t ? "visible" : "hidden");
117
+ });
118
+ }, f = (t, l) => {
119
+ const e = h.value;
120
+ e && (e.style.transitionProperty = "transform", e.style.transitionDuration = `${l}ms`, e.style.transitionTimingFunction = o.timingFunction, e.style.transform = `translateX(-${t}px)`);
121
+ }, I = (t, l, e) => {
122
+ const i = u.value[t];
123
+ i && (i.style.transitionProperty = "opacity", i.style.transitionDuration = `${e}ms`, i.style.transitionTimingFunction = o.timingFunction, i.style.opacity = l);
124
+ }, g = (t, l) => {
125
+ const e = u.value[t];
126
+ e && (e.style.order = l);
127
+ }, w = (t) => u.value[t]?.offsetLeft || 0, F = (t, l) => new Promise((e) => {
128
+ if (l <= 0 || !t) {
129
+ e();
130
+ return;
131
+ }
132
+ let i = null, v = null;
133
+ const c = () => {
134
+ clearTimeout(i), clearTimeout(v), t.removeEventListener("transitionrun", m), t.removeEventListener("transitionend", c), t.removeEventListener("transitioncancel", c), e();
135
+ }, m = () => {
136
+ clearTimeout(i), v = setTimeout(c, l + 500);
137
+ };
138
+ t.addEventListener("transitionrun", m, { once: !0 }), t.addEventListener("transitionend", c, { once: !0 }), t.addEventListener("transitioncancel", c, { once: !0 }), i = setTimeout(c, l + 500);
139
+ }), E = async (t, l = "nav") => {
140
+ if (t === s.value || _.value || !o.items || o.items.length === 0) return;
141
+ _.value = !0, $();
142
+ const e = s.value, i = o.items.length, v = l === "previous", c = i - 1, m = t === 0 && e === c, B = t === c && e === 0, U = A.value;
143
+ if (U === "slide") {
144
+ let n = null, j = 1;
145
+ e !== null && !m && !B && (j = Math.abs(e - t)), i < 3 ? m && !v ? n = e : B && (n = v ? t : e) : m ? n = e : B && (n = t), b(null, !0), n !== null && (g(n, "-1"), f(m ? 0 : w(e), 0));
146
+ const q = o.duration * Math.min(j, i);
147
+ h.value?.getBoundingClientRect(), f(w(t), q), await F(h.value, q), n !== null && (g(n, "0"), f(w(t), 0), await z(), h.value?.getBoundingClientRect()), b(t, !1);
148
+ } else if (U === "fade") {
149
+ const n = o.duration;
150
+ b(null, !0), e !== null && (I(e, "0", n), await F(u.value[e], n), g(e, "0")), f(0, 0), g(t, "-1"), u.value[t]?.getBoundingClientRect(), I(t, "1", n), await F(u.value[t], n), b(t, !1);
151
+ } else
152
+ b(null, !0), e !== null && (g(e, "0"), I(e, "1", 0)), f(0, 0), g(t, "-1"), I(t, "1", 0), b(t, !1);
153
+ if (s.value = t, _.value = !1, l !== "init") {
154
+ const n = u.value[t];
155
+ n && n.focus && n.focus(o.focusOptions), W("change", { index: t, item: o.items[t] });
156
+ }
157
+ T();
158
+ }, P = (t) => {
159
+ if (!o.items) return;
160
+ const l = o.items.length;
161
+ if (l === 0) return;
162
+ const i = t === "next" ? s.value + 1 : s.value - 1;
163
+ i > l - 1 ? o.loop && E(0, t) : i < 0 ? o.loop && E(l - 1, t) : E(i, t);
164
+ }, D = () => P("next"), tt = () => P("previous");
165
+ return lt(() => {
166
+ typeof window < "u" && (R.value = window.matchMedia("(prefers-reduced-motion: reduce)").matches), z(() => {
167
+ const t = A.value === "slide";
168
+ u.value.forEach((l, e) => {
169
+ l && (l.style.visibility = e === s.value ? "visible" : "hidden", t ? (l.style.opacity = "1", l.style.order = "0") : (l.style.opacity = e === s.value ? "1" : "0", l.style.order = e === s.value ? "-1" : "0"));
170
+ }), f(t ? w(s.value) : 0, 0), T();
171
+ });
172
+ }), ot(() => {
173
+ $();
174
+ }), (t, l) => (p(), y("div", {
175
+ class: L(["slider", [M(Y), { "slider--transitioning": _.value }]]),
176
+ onMouseenter: O,
177
+ onMouseleave: V,
178
+ onFocusin: O,
179
+ onFocusout: V
180
+ }, [
181
+ d("div", rt, [
182
+ d("div", ut, [
183
+ d("ul", {
184
+ class: "slider__track",
185
+ id: M(k),
186
+ ref_key: "trackRef",
187
+ ref: h,
188
+ style: { display: "flex", "list-style": "none", position: "relative", margin: "0", padding: "0" },
189
+ inert: _.value,
190
+ "aria-live": S.value ? "off" : "polite"
191
+ }, [
192
+ (p(!0), y(X, null, H(r.items, (e, i) => (p(), y("li", {
193
+ key: i,
194
+ id: N(i),
195
+ class: L(["slider__slide", { "is-active": i === s.value }]),
196
+ style: { flex: "0 0 100%", width: "100%", visibility: "hidden" },
197
+ tabindex: "-1",
198
+ role: "group",
199
+ "aria-roledescription": "slide",
200
+ "aria-label": `Slide ${i + 1} of ${r.items.length}`,
201
+ inert: !_.value && i !== s.value,
202
+ "aria-hidden": i !== s.value,
203
+ ref_for: !0,
204
+ ref: (v) => Z(v, i)
205
+ }, [
206
+ C(t.$slots, "slide", {
207
+ item: e,
208
+ index: i,
209
+ active: i === s.value,
210
+ upcoming: x(i)
211
+ })
212
+ ], 10, dt))), 128))
213
+ ], 8, ct)
214
+ ]),
215
+ r.controls ? (p(), y("ul", vt, [
216
+ d("li", ft, [
217
+ d("button", {
218
+ class: "Slider__control-button Slider__control-button--previous button button--icon",
219
+ "aria-label": "Previous Slide",
220
+ "aria-controls": M(k),
221
+ onClick: l[0] || (l[0] = (e) => tt()),
222
+ disabled: !r.loop && s.value === 0
223
+ }, [
224
+ C(t.$slots, "previous", {}, () => [
225
+ J(K, {
226
+ icon: "type:previous",
227
+ class: "Slider__control-icon"
228
+ })
229
+ ])
230
+ ], 8, mt)
231
+ ]),
232
+ d("li", yt, [
233
+ d("button", {
234
+ class: "Slider__control-button Slider__control-button--next button button--icon",
235
+ "aria-label": "Next Slide",
236
+ "aria-controls": M(k),
237
+ onClick: l[1] || (l[1] = (e) => D()),
238
+ disabled: !r.loop && s.value === o.items.length - 1
239
+ }, [
240
+ C(t.$slots, "next", {}, () => [
241
+ J(K, {
242
+ icon: "type:next",
243
+ class: "Slider__control-icon"
244
+ })
245
+ ])
246
+ ], 8, pt)
247
+ ])
248
+ ])) : G("", !0)
249
+ ]),
250
+ r.nav ? (p(), y("ul", _t, [
251
+ (p(!0), y(X, null, H(r.items, (e, i) => (p(), y("li", {
252
+ key: i,
253
+ class: "Slider__nav-item"
254
+ }, [
255
+ d("button", {
256
+ class: L(["Slider__nav-button", { "Slider__nav-button--active": i === s.value }]),
257
+ onClick: (v) => E(i, "nav"),
258
+ "aria-controls": N(i),
259
+ "aria-label": `Go to slide ${i + 1}`,
260
+ "aria-current": i === s.value ? "true" : null
261
+ }, [
262
+ C(t.$slots, "nav", {
263
+ item: e,
264
+ index: i,
265
+ active: i === s.value
266
+ }, () => [
267
+ d("span", gt, "Item " + st(i + 1), 1)
268
+ ])
269
+ ], 10, bt)
270
+ ]))), 128))
271
+ ])) : G("", !0)
272
+ ], 34));
273
+ }
274
+ };
275
+ export {
276
+ $t as default
277
+ };
@@ -5,15 +5,15 @@ type __VLS_WithTemplateSlots<T, S> = T & (new () => {
5
5
  });
6
6
  declare const __VLS_component: import('vue').DefineComponent<{}, {
7
7
  $emit: (event: "file-change", ...args: any[]) => void;
8
- label: string;
9
8
  required: boolean;
9
+ label: string;
10
10
  labelHidden: boolean;
11
11
  noClasses: boolean;
12
12
  multiple: boolean;
13
13
  inputAttrs?: Record<string, any> | undefined;
14
14
  $props: {
15
- readonly label?: string | undefined;
16
15
  readonly required?: boolean | undefined;
16
+ readonly label?: string | undefined;
17
17
  readonly labelHidden?: boolean | undefined;
18
18
  readonly noClasses?: boolean | undefined;
19
19
  readonly multiple?: boolean | undefined;
@@ -6,16 +6,16 @@ type __VLS_WithTemplateSlots<T, S> = T & (new () => {
6
6
  declare const __VLS_component: import('vue').DefineComponent<{}, {
7
7
  $emit: (event: "update:modelValue", ...args: any[]) => void;
8
8
  required: boolean;
9
- name?: string | undefined;
10
- value?: string | number | undefined;
11
9
  modelValue?: string | number | undefined;
10
+ value?: string | number | undefined;
12
11
  label?: string | undefined;
12
+ name?: string | undefined;
13
13
  $props: {
14
14
  readonly required?: boolean | undefined;
15
- readonly name?: string | undefined;
16
- readonly value?: string | number | undefined;
17
15
  readonly modelValue?: string | number | undefined;
16
+ readonly value?: string | number | undefined;
18
17
  readonly label?: string | undefined;
18
+ readonly name?: string | undefined;
19
19
  };
20
20
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
21
21
  type __VLS_TemplateResult = {
@@ -15,13 +15,18 @@ export { default as UluBadgeStack } from './elements/UluBadgeStack.vue';
15
15
  export { default as UluButton } from './elements/UluButton.vue';
16
16
  export { default as UluButtonVerbose } from './elements/UluButtonVerbose.vue';
17
17
  export { default as UluCallout } from './elements/UluCallout.vue';
18
+ export { default as UluCaptionedFigure } from './elements/UluCaptionedFigure.vue';
18
19
  export { default as UluCard } from './elements/UluCard.vue';
19
20
  export { default as UluDefinitionList } from './elements/UluDefinitionList.vue';
20
21
  export { default as UluExternalLink } from './elements/UluExternalLink.vue';
21
22
  export { default as UluIcon } from './elements/UluIcon.vue';
23
+ export { default as UluImage } from './elements/UluImage.vue';
22
24
  export { default as UluList } from './elements/UluList.vue';
23
25
  export { default as UluMain } from './elements/UluMain.vue';
26
+ export { default as UluOverflowScroller } from './elements/UluOverflowScroller.vue';
24
27
  export { default as UluRule } from './elements/UluRule.vue';
28
+ export { default as UluScrollSlider } from './elements/UluScrollSlider.vue';
29
+ export { default as UluSlider } from './elements/UluSlider.vue';
25
30
  export { default as UluSpokeSpinner } from './elements/UluSpokeSpinner.vue';
26
31
  export { default as UluTag } from './elements/UluTag.vue';
27
32
  export { default as UluSelectableMenu } from './forms/UluSelectableMenu.vue';
@@ -50,6 +55,7 @@ export { default as UluMenuStack } from './navigation/UluMenuStack.vue';
50
55
  export { default as UluNavStrip } from './navigation/UluNavStrip.vue';
51
56
  export { default as UluPager } from './navigation/UluPager.vue';
52
57
  export { default as UluSkipLink } from './navigation/UluSkipLink.vue';
58
+ export { default as UluAction } from './utils/UluAction.vue';
53
59
  export { default as UluConditionalText } from './utils/UluConditionalText.vue';
54
60
  export { default as UluConditionalWrapper } from './utils/UluConditionalWrapper.vue';
55
61
  export { default as UluEmpty } from './utils/UluEmpty.vue';
@@ -1,91 +1,33 @@
1
- declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
- /**
3
- * Icon to display next to the title.
4
- */
5
- icon: StringConstructor;
6
- /**
7
- * The alignment of the icon with the title.
8
- */
9
- iconAlign: {
10
- type: StringConstructor;
11
- default: string;
12
- };
13
- /**
14
- * Classes for the different elements in the component.
15
- */
16
- classes: {
17
- type: ObjectConstructor;
18
- default: () => {
19
- title: string;
20
- icon: string;
21
- };
22
- };
23
- /**
24
- * The title to display.
25
- */
26
- title: StringConstructor;
27
- /**
28
- * The HTML element to use for the title.
29
- */
30
- titleElement: {
31
- type: StringConstructor;
32
- default: string;
33
- };
34
- /**
35
- * If true, a rule will be displayed under the title.
36
- */
37
- rule: BooleanConstructor;
38
- }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
39
- /**
40
- * Icon to display next to the title.
41
- */
42
- icon: StringConstructor;
43
- /**
44
- * The alignment of the icon with the title.
45
- */
46
- iconAlign: {
47
- type: StringConstructor;
48
- default: string;
49
- };
50
- /**
51
- * Classes for the different elements in the component.
52
- */
53
- classes: {
54
- type: ObjectConstructor;
55
- default: () => {
56
- title: string;
57
- icon: string;
58
- };
59
- };
60
- /**
61
- * The title to display.
62
- */
63
- title: StringConstructor;
64
- /**
65
- * The HTML element to use for the title.
66
- */
67
- titleElement: {
68
- type: StringConstructor;
69
- default: string;
70
- };
71
- /**
72
- * If true, a rule will be displayed under the title.
73
- */
74
- rule: BooleanConstructor;
75
- }>> & Readonly<{}>, {
1
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
2
+ export default _default;
3
+ type __VLS_WithTemplateSlots<T, S> = T & (new () => {
4
+ $slots: S;
5
+ });
6
+ declare const __VLS_component: import('vue').DefineComponent<{}, {
76
7
  classes: Record<string, any>;
77
8
  titleElement: string;
78
- rule: boolean;
79
9
  iconAlign: string;
80
- }, {}, {
81
- UluIcon: import('vue').DefineComponent<{}, {
82
- spaced: boolean;
83
- icon?: string | boolean | Record<string, any> | unknown[] | undefined;
84
- $props: {
85
- readonly spaced?: boolean | undefined;
86
- readonly icon?: string | boolean | Record<string, any> | unknown[] | undefined;
87
- };
88
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
89
- }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
90
- export default _default;
10
+ rule: boolean;
11
+ icon?: string | undefined;
12
+ title?: string | undefined;
13
+ modifiers?: string | unknown[] | undefined;
14
+ $props: {
15
+ readonly classes?: Record<string, any> | undefined;
16
+ readonly titleElement?: string | undefined;
17
+ readonly iconAlign?: string | undefined;
18
+ readonly rule?: boolean | undefined;
19
+ readonly icon?: string | undefined;
20
+ readonly title?: string | undefined;
21
+ readonly modifiers?: string | unknown[] | undefined;
22
+ };
23
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
24
+ type __VLS_TemplateResult = {
25
+ attrs: Partial<{}>;
26
+ slots: {
27
+ default?(_: {}): any;
28
+ end?(_: {}): any;
29
+ };
30
+ refs: {};
31
+ rootEl: HTMLDivElement;
32
+ };
91
33
  //# sourceMappingURL=UluTitleRail.vue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UluTitleRail.vue.d.ts","sourceRoot":"","sources":["../../../lib/components/layout/UluTitleRail.vue"],"names":[],"mappings":"AA6BA;;IAwFM;;OAEG;;IAEH;;OAEG;;;;;IAKH;;OAEG;;;;;;;;IAQH;;OAEG;;IAEH;;OAEG;;;;;IAKH;;OAEG;;;IAlCH;;OAEG;;IAEH;;OAEG;;;;;IAKH;;OAEG;;;;;;;;IAQH;;OAEG;;IAEH;;OAEG;;;;;IAKH;;OAEG"}
1
+ {"version":3,"file":"UluTitleRail.vue.d.ts","sourceRoot":"","sources":["../../../lib/components/layout/UluTitleRail.vue"],"names":[],"mappings":"AA2BA;wBA6OqB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;;6BAEtE,CAAC,EAAE,CAAC;;;AAXjC;;;;;;;;;;;;;;;;;sPAQG"}
@@ -1,11 +1,11 @@
1
- import r from "../elements/UluIcon.vue.js";
2
- import { resolveComponent as m, createElementBlock as n, openBlock as t, normalizeClass as l, createElementVNode as u, createCommentVNode as a, createBlock as o, resolveDynamicComponent as d, normalizeStyle as _, withCtx as f, renderSlot as s, createTextVNode as y, toDisplayString as g } from "vue";
3
- import h from "../../_virtual/_plugin-vue_export-helper.js";
4
- const S = {
5
- name: "UluTitleRail",
6
- components: {
7
- UluIcon: r
8
- },
1
+ import { computed as m, createElementBlock as s, openBlock as t, normalizeClass as l, unref as d, createElementVNode as u, createCommentVNode as n, createBlock as r, resolveDynamicComponent as f, normalizeStyle as y, withCtx as g, renderSlot as o, createTextVNode as S, toDisplayString as h } from "vue";
2
+ import k from "../elements/UluIcon.vue.js";
3
+ import { useModifiers as v } from "../../composables/useModifiers.js";
4
+ const C = {
5
+ key: 0,
6
+ class: "rail__item rail__item--pull"
7
+ }, x = {
8
+ __name: "UluTitleRail",
9
9
  props: {
10
10
  /**
11
11
  * Icon to display next to the title.
@@ -42,45 +42,50 @@ const S = {
42
42
  /**
43
43
  * If true, a rule will be displayed under the title.
44
44
  */
45
- rule: Boolean
45
+ rule: Boolean,
46
+ /**
47
+ * Modifiers (to add any modifier classes based on base class)
48
+ */
49
+ modifiers: [String, Array]
50
+ },
51
+ setup(e) {
52
+ const a = e, { resolvedModifiers: c } = v({
53
+ props: a,
54
+ baseClass: "rail",
55
+ internal: m(() => ({
56
+ "title-rail": !0,
57
+ rule: a.rule
58
+ }))
59
+ });
60
+ return (i, B) => (t(), s("div", {
61
+ class: l(["rail", d(c)])
62
+ }, [
63
+ u("div", {
64
+ class: l(["rail__item rail__item--title", e.classes.itemTitle])
65
+ }, [
66
+ (t(), r(f(e.titleElement), {
67
+ class: l(["layout-flex type-max-width-small no-margin", e.classes.title]),
68
+ style: y({ alignItems: e.iconAlign })
69
+ }, {
70
+ default: g(() => [
71
+ e.icon ? (t(), r(k, {
72
+ key: 0,
73
+ class: l(e.classes.icon),
74
+ icon: e.icon
75
+ }, null, 8, ["class", "icon"])) : n("", !0),
76
+ o(i.$slots, "default", {}, () => [
77
+ S(h(e.title), 1)
78
+ ])
79
+ ]),
80
+ _: 3
81
+ }, 8, ["class", "style"]))
82
+ ], 2),
83
+ i.$slots.end ? (t(), s("div", C, [
84
+ o(i.$slots, "end")
85
+ ])) : n("", !0)
86
+ ], 2));
46
87
  }
47
- }, k = {
48
- key: 0,
49
- class: "rail__item rail__item--pull"
50
88
  };
51
- function v(i, C, e, U, p, x) {
52
- const c = m("UluIcon");
53
- return t(), n("div", {
54
- class: l(["rail rail--title-rail", {
55
- "rail--rule": e.rule
56
- }])
57
- }, [
58
- u("div", {
59
- class: l(["rail__item rail__item--title", e.classes.itemTitle])
60
- }, [
61
- (t(), o(d(e.titleElement), {
62
- class: l(["layout-flex type-max-width-small no-margin", e.classes.title]),
63
- style: _({ alignItems: e.iconAlign })
64
- }, {
65
- default: f(() => [
66
- e.icon ? (t(), o(c, {
67
- key: 0,
68
- class: l(e.classes.icon),
69
- icon: e.icon
70
- }, null, 8, ["class", "icon"])) : a("", !0),
71
- s(i.$slots, "default", {}, () => [
72
- y(g(e.title), 1)
73
- ])
74
- ]),
75
- _: 3
76
- }, 8, ["class", "style"]))
77
- ], 2),
78
- i.$slots.end ? (t(), n("div", k, [
79
- s(i.$slots, "end")
80
- ])) : a("", !0)
81
- ], 2);
82
- }
83
- const T = /* @__PURE__ */ h(S, [["render", v]]);
84
89
  export {
85
- T as default
90
+ x as default
86
91
  };
@@ -1,71 +1,30 @@
1
- declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
- /**
3
- * Array of breadcrumb items.
4
- * Each item is an object: { title: String, to: [String, Object], current: Boolean }
5
- */
6
- items: {
7
- type: ArrayConstructor;
8
- default: () => never[];
9
- };
10
- /**
11
- * Icon to use as a separator.
12
- */
13
- separatorIcon: StringConstructor;
14
- /**
15
- * Classes object to be applied to elements.
16
- * Keys: nav, list, item, link, icon
17
- */
18
- classes: {
19
- type: ObjectConstructor;
20
- default: () => {
21
- nav: string;
22
- list: string;
23
- item: string;
24
- link: string;
25
- current: string;
26
- separator: string;
27
- };
28
- };
29
- }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
30
- /**
31
- * Array of breadcrumb items.
32
- * Each item is an object: { title: String, to: [String, Object], current: Boolean }
33
- */
34
- items: {
35
- type: ArrayConstructor;
36
- default: () => never[];
37
- };
38
- /**
39
- * Icon to use as a separator.
40
- */
41
- separatorIcon: StringConstructor;
42
- /**
43
- * Classes object to be applied to elements.
44
- * Keys: nav, list, item, link, icon
45
- */
46
- classes: {
47
- type: ObjectConstructor;
48
- default: () => {
49
- nav: string;
50
- list: string;
51
- item: string;
52
- link: string;
53
- current: string;
54
- separator: string;
55
- };
56
- };
57
- }>> & Readonly<{}>, {
1
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
2
+ export default _default;
3
+ type __VLS_WithTemplateSlots<T, S> = T & (new () => {
4
+ $slots: S;
5
+ });
6
+ declare const __VLS_component: import('vue').DefineComponent<{}, {
58
7
  classes: Record<string, any>;
59
8
  items: unknown[];
60
- }, {}, {
61
- UluIcon: import('vue').DefineComponent<{}, {
62
- spaced: boolean;
63
- icon?: string | boolean | Record<string, any> | unknown[] | undefined;
64
- $props: {
65
- readonly spaced?: boolean | undefined;
66
- readonly icon?: string | boolean | Record<string, any> | unknown[] | undefined;
67
- };
68
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
69
- }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
70
- export default _default;
9
+ separatorIcon?: string | undefined;
10
+ $props: {
11
+ readonly classes?: Record<string, any> | undefined;
12
+ readonly items?: unknown[] | undefined;
13
+ readonly separatorIcon?: string | undefined;
14
+ };
15
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
16
+ type __VLS_TemplateResult = {
17
+ attrs: Partial<{}>;
18
+ slots: {
19
+ default?(_: {
20
+ item: unknown;
21
+ }): any;
22
+ default?(_: {
23
+ item: unknown;
24
+ }): any;
25
+ separator?(_: {}): any;
26
+ };
27
+ refs: {};
28
+ rootEl: any;
29
+ };
71
30
  //# sourceMappingURL=UluBreadcrumb.vue.d.ts.map