@flux-ui/application 3.0.0-next.58 → 3.0.0-next.60

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 (32) hide show
  1. package/dist/component/FluxApplicationMenu.vue.d.ts +1 -4
  2. package/dist/component/FluxApplicationMenuContext.vue.d.ts +2 -1
  3. package/dist/composable/index.d.ts +1 -0
  4. package/dist/data/index.d.ts +2 -1
  5. package/dist/index.css +16 -31
  6. package/dist/index.js +114 -96
  7. package/dist/index.js.map +1 -1
  8. package/dist/routing/index.d.ts +2 -0
  9. package/package.json +5 -5
  10. package/src/component/FluxApplication.vue +2 -3
  11. package/src/component/FluxApplicationContent.vue +2 -2
  12. package/src/component/FluxApplicationHero.vue +1 -1
  13. package/src/component/FluxApplicationMenu.vue +13 -33
  14. package/src/component/FluxApplicationMenuAccount.vue +1 -1
  15. package/src/component/FluxApplicationMenuContext.vue +5 -3
  16. package/src/component/FluxApplicationMenuContextStack.vue +2 -2
  17. package/src/component/FluxApplicationMenuPromo.vue +1 -1
  18. package/src/component/FluxApplicationMenuToggle.vue +1 -1
  19. package/src/component/FluxApplicationSection.vue +1 -1
  20. package/src/component/FluxApplicationSide.vue +1 -1
  21. package/src/component/FluxApplicationTop.vue +1 -1
  22. package/src/composable/index.ts +1 -0
  23. package/src/composable/useApplicationContextMenu.ts +1 -1
  24. package/src/css/component/Application.module.scss +1 -1
  25. package/src/css/component/ApplicationContent.module.scss +1 -1
  26. package/src/css/component/ApplicationHero.module.scss +1 -0
  27. package/src/css/component/ApplicationMenu.module.scss +13 -28
  28. package/src/css/component/ApplicationSection.module.scss +1 -1
  29. package/src/css/component/ApplicationSide.module.scss +1 -1
  30. package/src/css/component/ApplicationTop.module.scss +2 -2
  31. package/src/data/index.ts +2 -1
  32. package/src/routing/index.ts +2 -0
@@ -1,7 +1,4 @@
1
1
  import { VNode, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
- type __VLS_Props = {
3
- readonly showPageIndicator?: boolean;
4
- };
5
2
  declare function __VLS_template(): {
6
3
  attrs: Partial<{}>;
7
4
  slots: Readonly<{
@@ -19,7 +16,7 @@ declare function __VLS_template(): {
19
16
  rootEl: HTMLElement;
20
17
  };
21
18
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
22
- declare const __VLS_component: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLElement>;
19
+ declare const __VLS_component: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLElement>;
23
20
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
24
21
  export default _default;
25
22
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -1,4 +1,4 @@
1
- import { FluxPressableType, FluxTo } from '@flux-ui/types';
1
+ import { FluxIconName, FluxPressableType, FluxTo } from '@flux-ui/types';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
3
  type __VLS_Props = {
4
4
  readonly subtitle?: string;
@@ -9,6 +9,7 @@ type __VLS_Props = {
9
9
  readonly target?: string;
10
10
  readonly to?: FluxTo;
11
11
  readonly entryTo?: FluxTo;
12
+ readonly icon?: FluxIconName;
12
13
  readonly type?: FluxPressableType;
13
14
  };
14
15
  declare const _default: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
@@ -1,3 +1,4 @@
1
1
  export { default as useApplicationContextMenu } from './useApplicationContextMenu';
2
+ export { default as useApplicationContextRegistration } from './useApplicationContextRegistration';
2
3
  export { default as useApplicationInjection } from './useApplicationInjection';
3
4
  export { default as useApplicationMenu } from './useApplicationMenu';
@@ -1,5 +1,5 @@
1
+ import { FluxIconName, FluxPressableType, FluxTo } from '@flux-ui/types';
1
2
  import { ComputedRef, InjectionKey, Ref } from 'vue';
2
- import { FluxPressableType, FluxTo } from '@flux-ui/types';
3
3
  export declare const FluxApplicationInjectionKey: InjectionKey<FluxApplicationInjection>;
4
4
  export type FluxApplicationContextInfo = {
5
5
  readonly id: symbol;
@@ -8,6 +8,7 @@ export type FluxApplicationContextInfo = {
8
8
  readonly to?: FluxTo;
9
9
  readonly entryTo?: FluxTo;
10
10
  readonly href?: string;
11
+ readonly icon?: FluxIconName;
11
12
  readonly type?: FluxPressableType;
12
13
  };
13
14
  export type FluxApplicationInjection = {
package/dist/index.css CHANGED
@@ -1,4 +1,4 @@
1
- @charset "UTF-8";:root {
1
+ :root {
2
2
  --application-duration: 360ms;
3
3
  --application-menu-surface: var(--gray-100);
4
4
  --application-menu-surface-stroke: var(--gray-200);
@@ -178,10 +178,10 @@
178
178
  }
179
179
 
180
180
  .application-hero-subtitle {
181
+ margin: 0;
181
182
  color: var(--foreground-secondary);
182
183
  font-size: 18px;
183
- }
184
- .application-menu {
184
+ }.application-menu {
185
185
  position: fixed;
186
186
  display: flex;
187
187
  top: 0;
@@ -232,30 +232,13 @@
232
232
  background: linear-gradient(to top, var(--application-menu-surface), transparent);
233
233
  transition: opacity var(--application-duration) var(--swift-out);
234
234
  }
235
- .application-menu-footer {
236
- /**
237
- * Collapses the footer in sync with the slider track when the
238
- * user navigates into a context-menu panel. Animating `max-height`
239
- * is the standard hack to transition a height-auto element; 50vh
240
- * is far above any realistic footer height yet small enough to
241
- * animate smoothly without the leading edge appearing to "wait".
242
- */
243
- }
244
- .application-menu-footer[data-hidden] {
245
- max-height: 0;
246
- padding-top: 0;
247
- padding-bottom: 0;
248
- opacity: 0;
249
- pointer-events: none;
250
- overflow: hidden;
251
- }
252
- .application-menu-footer[data-hidden]::before {
253
- opacity: 0;
254
- }
255
235
 
256
236
  .application-menu-header {
257
237
  padding-top: max(12px, env(safe-area-inset-top));
238
+ flex-shrink: 0;
258
239
  border-bottom: 1px solid var(--application-menu-surface-stroke);
240
+ overflow: hidden;
241
+ transition: height var(--application-duration) var(--swift-out);
259
242
  }
260
243
  .application-menu-header::before {
261
244
  top: calc(100% + 1px);
@@ -328,13 +311,6 @@
328
311
  border-color: var(--foreground-prominent);
329
312
  }
330
313
 
331
- /**
332
- * No visual animation on enter/leave — just hold the leaving panel in
333
- * the DOM for the duration of the slider's translate transition so it
334
- * stays visible while the track slides away from it. Without this the
335
- * v-for would unmount the panel the moment matches shrinks, leaving
336
- * the slider sliding over an empty track.
337
- */
338
314
  .application-menu-panel-enter-active,
339
315
  .application-menu-panel-enter-from,
340
316
  .application-menu-panel-leave-active,
@@ -414,6 +390,15 @@
414
390
  font-weight: 500;
415
391
  }
416
392
 
393
+ .application-menu .menu-item-highlighted {
394
+ background: var(--gray-200);
395
+ color: var(--foreground-prominent);
396
+ }
397
+
398
+ .application-menu .menu-item-highlighted .menu-item-icon {
399
+ color: var(--foreground-prominent);
400
+ }
401
+
417
402
  .application-menu-account {
418
403
  position: relative;
419
404
  pointer-events: none;
@@ -705,7 +690,7 @@
705
690
  flex-flow: row;
706
691
  gap: 21px;
707
692
  }
708
- .application-top-tabs .tab-bar {
693
+ .application-top-tabs .base-tab-bar {
709
694
  --tab-padding: 18px;
710
695
  width: 100%;
711
696
  box-shadow: unset;
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
- import { Fragment, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createVNode, customRef, defineComponent, h, inject, markRaw, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, onUnmounted, openBlock, provide, ref, renderList, renderSlot, shallowRef, toDisplayString, toRef, unref, useSlots, watch, withCtx } from "vue";
1
+ import { Fragment, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createVNode, customRef, defineComponent, h, inject, markRaw, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, onUnmounted, openBlock, provide, ref, renderList, renderSlot, shallowRef, toDisplayString, toRef, unref, useSlots, watch, withCtx, withDirectives } from "vue";
2
2
  import { DateTime } from "luxon";
3
3
  import { RouterView, matchedRouteKey, useRoute, viewDepthKey } from "vue-router";
4
4
  import { FluxFadeTransition, FluxFlyout, FluxIcon, FluxMenu, FluxMenuItem, FluxPane, FluxRouteTransition, FluxSecondaryButton, FluxSpacer, FluxTabBar } from "@flux-ui/components";
5
- //#region ../../node_modules/.bun/@basmilius+utils@3.21.0/node_modules/@basmilius/utils/dist/index.mjs
6
- function x$2(e) {
5
+ //#region ../../node_modules/.bun/@basmilius+utils@3.24.0/node_modules/@basmilius/utils/dist/index.mjs
6
+ function x$1(e) {
7
7
  let t = {};
8
8
  do {
9
9
  if (e.name === ``) break;
@@ -933,7 +933,7 @@ var convertLchToLab = ({ l, c, h, alpha }, mode = "lab") => {
933
933
  };
934
934
  //#endregion
935
935
  //#region ../../node_modules/.bun/culori@4.0.2/node_modules/culori/src/xyz65/constants.js
936
- var k$4 = Math.pow(29, 3) / Math.pow(3, 3);
936
+ var k$5 = Math.pow(29, 3) / Math.pow(3, 3);
937
937
  var e$2 = Math.pow(6, 3) / Math.pow(29, 3);
938
938
  //#endregion
939
939
  //#region ../../node_modules/.bun/culori@4.0.2/node_modules/culori/src/constants.js
@@ -951,7 +951,7 @@ Math.pow(29, 3) / Math.pow(3, 3);
951
951
  Math.pow(6, 3) / Math.pow(29, 3);
952
952
  //#endregion
953
953
  //#region ../../node_modules/.bun/culori@4.0.2/node_modules/culori/src/lab65/convertLab65ToXyz65.js
954
- var fn$1 = (v) => Math.pow(v, 3) > e$2 ? Math.pow(v, 3) : (116 * v - 16) / k$4;
954
+ var fn$1 = (v) => Math.pow(v, 3) > e$2 ? Math.pow(v, 3) : (116 * v - 16) / k$5;
955
955
  var convertLab65ToXyz65 = ({ l, a, b, alpha }) => {
956
956
  if (l === void 0) l = 0;
957
957
  if (a === void 0) a = 0;
@@ -973,7 +973,7 @@ var convertLab65ToXyz65 = ({ l, a, b, alpha }) => {
973
973
  var convertLab65ToRgb = (lab) => convertXyz65ToRgb(convertLab65ToXyz65(lab));
974
974
  //#endregion
975
975
  //#region ../../node_modules/.bun/culori@4.0.2/node_modules/culori/src/lab65/convertXyz65ToLab65.js
976
- var f$2 = (value) => value > e$2 ? Math.cbrt(value) : (k$4 * value + 16) / 116;
976
+ var f$2 = (value) => value > e$2 ? Math.cbrt(value) : (k$5 * value + 16) / 116;
977
977
  var convertXyz65ToLab65 = ({ x, y, z, alpha }) => {
978
978
  if (x === void 0) x = 0;
979
979
  if (y === void 0) y = 0;
@@ -1835,11 +1835,11 @@ var definition$16 = {
1835
1835
  };
1836
1836
  //#endregion
1837
1837
  //#region ../../node_modules/.bun/culori@4.0.2/node_modules/culori/src/xyz50/constants.js
1838
- var k$2 = Math.pow(29, 3) / Math.pow(3, 3);
1838
+ var k$3 = Math.pow(29, 3) / Math.pow(3, 3);
1839
1839
  var e = Math.pow(6, 3) / Math.pow(29, 3);
1840
1840
  //#endregion
1841
1841
  //#region ../../node_modules/.bun/culori@4.0.2/node_modules/culori/src/lab/convertLabToXyz50.js
1842
- var fn = (v) => Math.pow(v, 3) > e ? Math.pow(v, 3) : (116 * v - 16) / k$2;
1842
+ var fn = (v) => Math.pow(v, 3) > e ? Math.pow(v, 3) : (116 * v - 16) / k$3;
1843
1843
  var convertLabToXyz50 = ({ l, a, b, alpha }) => {
1844
1844
  if (l === void 0) l = 0;
1845
1845
  if (a === void 0) a = 0;
@@ -1888,7 +1888,7 @@ var convertRgbToXyz50 = (rgb) => {
1888
1888
  };
1889
1889
  //#endregion
1890
1890
  //#region ../../node_modules/.bun/culori@4.0.2/node_modules/culori/src/lab/convertXyz50ToLab.js
1891
- var f$1 = (value) => value > e ? Math.cbrt(value) : (k$2 * value + 16) / 116;
1891
+ var f$1 = (value) => value > e ? Math.cbrt(value) : (k$3 * value + 16) / 116;
1892
1892
  var convertXyz50ToLab = ({ x, y, z, alpha }) => {
1893
1893
  if (x === void 0) x = 0;
1894
1894
  if (y === void 0) y = 0;
@@ -2094,7 +2094,7 @@ var u_fn$1 = (x, y, z) => 4 * x / (x + 15 * y + 3 * z);
2094
2094
  var v_fn$1 = (x, y, z) => 9 * y / (x + 15 * y + 3 * z);
2095
2095
  var un$1 = u_fn$1(D50.X, D50.Y, D50.Z);
2096
2096
  var vn$1 = v_fn$1(D50.X, D50.Y, D50.Z);
2097
- var l_fn = (value) => value <= e ? k$2 * value : 116 * Math.cbrt(value) - 16;
2097
+ var l_fn = (value) => value <= e ? k$3 * value : 116 * Math.cbrt(value) - 16;
2098
2098
  var convertXyz50ToLuv = ({ x, y, z, alpha }) => {
2099
2099
  if (x === void 0) x = 0;
2100
2100
  if (y === void 0) y = 0;
@@ -2134,7 +2134,7 @@ var convertLuvToXyz50 = ({ l, u, v, alpha }) => {
2134
2134
  if (v === void 0) v = 0;
2135
2135
  let up = u / (13 * l) + un;
2136
2136
  let vp = v / (13 * l) + vn;
2137
- let y = D50.Y * (l <= 8 ? l / k$2 : Math.pow((l + 16) / 116, 3));
2137
+ let y = D50.Y * (l <= 8 ? l / k$3 : Math.pow((l + 16) / 116, 3));
2138
2138
  let res = {
2139
2139
  mode: "xyz50",
2140
2140
  x: y * (9 * up) / (4 * vp),
@@ -3103,7 +3103,7 @@ useMode(definition$2);
3103
3103
  useMode(definition$1);
3104
3104
  useMode(definition);
3105
3105
  //#endregion
3106
- //#region ../../node_modules/.bun/@basmilius+http-client@3.21.0+96a7401e32316653/node_modules/@basmilius/http-client/dist/index.mjs
3106
+ //#region ../../node_modules/.bun/@basmilius+http-client@3.24.0+96a7401e32316653/node_modules/@basmilius/http-client/dist/index.mjs
3107
3107
  function c(e) {
3108
3108
  return class extends e {
3109
3109
  constructor(...e) {
@@ -3118,7 +3118,7 @@ var l = Symbol(), u = Symbol(), d = Symbol(), f = Symbol(), p = Symbol(), m = Sy
3118
3118
  function v(e) {
3119
3119
  return e && typeof e == `object` && !!e[p];
3120
3120
  }
3121
- function y$1(e) {
3121
+ function y(e) {
3122
3122
  if (!v(e)) throw Error(`@dto assert given object is not a class decorated with @Dto.`);
3123
3123
  }
3124
3124
  var ae = Symbol();
@@ -3139,17 +3139,17 @@ function b(e, t = 0, n) {
3139
3139
  }
3140
3140
  };
3141
3141
  }
3142
- function x$1(e) {
3143
- return y$1(e), e[f];
3142
+ function x(e) {
3143
+ return y(e), e[f];
3144
3144
  }
3145
3145
  var S = b(function(e, t, n, r) {
3146
3146
  let i = e[ie];
3147
3147
  i(e, t, n, r), e[m] && S(e[m], e[h$1], e[m][e[h$1]]);
3148
- }, 0, 1), C$1 = b(function(e) {
3149
- y$1(e), e[f] && (e[f] = !1, S(e, f, !1, !0)), !(!e[u] || e[u].length === 0) && e[u].filter(x$1).forEach(C$1);
3148
+ }, 0, 1), C = b(function(e) {
3149
+ y(e), e[f] && (e[f] = !1, S(e, f, !1, !0)), !(!e[u] || e[u].length === 0) && e[u].filter(x).forEach(C);
3150
3150
  });
3151
3151
  var w = b(function(e, t) {
3152
- y$1(e), e[f] || (e[f] = !0, S(e, f, !0, !1)), e[m] && w(e[m], e[h$1]);
3152
+ y(e), e[f] || (e[f] = !0, S(e, f, !0, !1)), e[m] && w(e[m], e[h$1]);
3153
3153
  });
3154
3154
  function T(e, t, n) {
3155
3155
  t[u] ??= [], !t[u].includes(e) && t[u].push(e), e[m] !== t && (e[m] = t), e[h$1] !== n && (e[h$1] = n);
@@ -3165,7 +3165,7 @@ function le(e, t) {
3165
3165
  let n = e[re];
3166
3166
  n(e, t);
3167
3167
  }
3168
- function D(e, t) {
3168
+ function D$1(e, t) {
3169
3169
  if (u in t) {
3170
3170
  let n = t[u].indexOf(e);
3171
3171
  n !== -1 && t[u].splice(n, 1);
@@ -3173,14 +3173,14 @@ function D(e, t) {
3173
3173
  e[m] = void 0, e[h$1] = void 0;
3174
3174
  }
3175
3175
  function ue(e, t) {
3176
- if (v(t)) D(t, e);
3176
+ if (v(t)) D$1(t, e);
3177
3177
  else if (Array.isArray(t)) {
3178
- for (let n of t) v(n) && D(n, e);
3178
+ for (let n of t) v(n) && D$1(n, e);
3179
3179
  t[m] = void 0, t[h$1] = void 0;
3180
3180
  }
3181
3181
  }
3182
3182
  var O$1 = {};
3183
- var k$1 = {
3183
+ var k$2 = {
3184
3184
  deleteProperty(e, t) {
3185
3185
  if (Reflect.deleteProperty(e, t), A$1(e, t)) return !0;
3186
3186
  let n = e[m];
@@ -3221,7 +3221,7 @@ var de = {
3221
3221
  let i = e[d][t];
3222
3222
  if (!i || !i.set) return Reflect.set(e, t, n, r);
3223
3223
  let a = i.get?.call(e) ?? void 0;
3224
- return ne(n, a) ? !0 : (ue(e, a), Array.isArray(n) && !n[_] && (n = new Proxy(n, k$1)), i.set.call(e, n), E(e, t, n), w(e, t), S(e, t, n, a), !0);
3224
+ return ne(n, a) ? !0 : (ue(e, a), Array.isArray(n) && !n[_] && (n = new Proxy(n, k$2)), i.set.call(e, n), E(e, t, n), w(e, t), S(e, t, n, a), !0);
3225
3225
  }
3226
3226
  }, fe$1 = {
3227
3227
  get(e, t, n) {
@@ -3237,7 +3237,7 @@ var de = {
3237
3237
  return t in e ? Reflect.set(e, t, n, r) : Reflect.set(e.value, t, n);
3238
3238
  }
3239
3239
  }, pe$1 = { construct(e, t, n) {
3240
- t = t.map((e) => Array.isArray(e) ? new Proxy(e, k$1) : e);
3240
+ t = t.map((e) => Array.isArray(e) ? new Proxy(e, k$2) : e);
3241
3241
  let r = customRef((r, i) => {
3242
3242
  let a = markRaw(Reflect.construct(e, t, n));
3243
3243
  a[l] = t, a[f] = !1, a[re] = r, a[ie] = i;
@@ -3251,7 +3251,7 @@ var de = {
3251
3251
  } };
3252
3252
  function me() {
3253
3253
  let e = this;
3254
- y$1(e);
3254
+ y(e);
3255
3255
  let t = O$1[e[p]], n = new t(...e[l]);
3256
3256
  for (let [e, t] of Object.entries(this[d])) t.set && (n[e] = v(this[e]) ? this[e].clone() : this[e]);
3257
3257
  return n;
@@ -3270,9 +3270,9 @@ function ge() {
3270
3270
  }
3271
3271
  return e;
3272
3272
  }
3273
- function j(e) {
3273
+ function j$1(e) {
3274
3274
  ve(e);
3275
- let t = Object.freeze(x$2(e)), a = Object.keys(t);
3275
+ let t = Object.freeze(x$1(e)), a = Object.keys(t);
3276
3276
  return K$1(e.prototype, d, t), K$1(e.prototype, p, e.name), K$1(e.prototype, g, a), K$1(e, Symbol.hasInstance, (t) => typeof t == `object` && t?.[p] === e.name), G$1(e, `clone`, me), G$1(e, `fill`, he), G$1(e, `toJSON`, ge), _e(e);
3277
3277
  }
3278
3278
  function _e(e) {
@@ -3302,7 +3302,7 @@ var V = class {
3302
3302
  this.#e = e, this.#t = t;
3303
3303
  }
3304
3304
  };
3305
- V = B([j], V);
3305
+ V = B([j$1], V);
3306
3306
  var U = class {
3307
3307
  get items() {
3308
3308
  return this.#e;
@@ -3328,7 +3328,7 @@ var U = class {
3328
3328
  this.#e = e, this.#t = t, this.#n = n, this.#r = r, this.#i = i;
3329
3329
  }
3330
3330
  };
3331
- U = B([j], U);
3331
+ U = B([j$1], U);
3332
3332
  var W = U;
3333
3333
  var G = class {
3334
3334
  get code() {
@@ -3351,7 +3351,7 @@ var G = class {
3351
3351
  this.#e = e, this.#t = t, this.#n = n, this.#r = r;
3352
3352
  }
3353
3353
  };
3354
- G = B([j], G);
3354
+ G = B([j$1], G);
3355
3355
  var K = G;
3356
3356
  var q = class {
3357
3357
  get code() {
@@ -3378,7 +3378,7 @@ var q = class {
3378
3378
  this.#e = e, this.#t = t, this.#n = n, this.#r = r, this.#i = i;
3379
3379
  }
3380
3380
  };
3381
- q = B([j], q);
3381
+ q = B([j$1], q);
3382
3382
  var J = q, Y;
3383
3383
  var X = Y = class {
3384
3384
  static parsePaginatedAdapter(e, t) {
@@ -3404,13 +3404,13 @@ X = Y = B([c], X);
3404
3404
  converter(`oklch`);
3405
3405
  RegExp(`[a-z]`), RegExp(`[A-Z]`), RegExp(`[0-9]`), RegExp(`[!"#$%&'()*+,-./:;<=>?@[\\\\\\]^_\`{|}~]`);
3406
3406
  //#endregion
3407
- //#region ../internals/dist/composable-CJXC7sly.js
3408
- function y(e, t, n, r = { passive: !0 }) {
3407
+ //#region ../internals/dist/composable-Cp0PgZry.js
3408
+ function D(e, t, n, r = { passive: !0 }) {
3409
3409
  watch(e, (e, i, a) => {
3410
3410
  e && (e.addEventListener(t, n, r), a(() => e.removeEventListener(t, n)));
3411
3411
  }, { immediate: !0 });
3412
3412
  }
3413
- function x(e, t) {
3413
+ function k(e, t) {
3414
3414
  let n = `flux/${e}`, r = ref(i() ?? t);
3415
3415
  function i() {
3416
3416
  if (n in localStorage) {
@@ -3427,9 +3427,9 @@ function x(e, t) {
3427
3427
  })]), localStorage.setItem(n, JSON.stringify(t));
3428
3428
  }), r;
3429
3429
  }
3430
- function C(e) {
3430
+ function j(e) {
3431
3431
  let t = ref(0), n = ref(0);
3432
- return e ||= ref(document), y(e, `scroll`, () => {
3432
+ return e ||= ref(document), D(e, `scroll`, () => {
3433
3433
  let r = unref(e);
3434
3434
  r instanceof Document && (r = r.scrollingElement), t.value = r?.scrollLeft ?? 0, n.value = r?.scrollTop ?? 0;
3435
3435
  }), {
@@ -3438,6 +3438,42 @@ function C(e) {
3438
3438
  };
3439
3439
  }
3440
3440
  //#endregion
3441
+ //#region ../internals/dist/directive-Dprka-AO.js
3442
+ var i = class {
3443
+ #e;
3444
+ #t;
3445
+ constructor(e) {
3446
+ this.#e = e, this.#t = new MutationObserver(this.onMutation.bind(this));
3447
+ }
3448
+ register() {
3449
+ this.#t.observe(this.#e, {
3450
+ childList: !0,
3451
+ subtree: !0
3452
+ }), requestAnimationFrame(this.onMutation.bind(this));
3453
+ }
3454
+ unregister() {
3455
+ this.#t.disconnect();
3456
+ }
3457
+ onMutation() {
3458
+ let { height: e } = getComputedStyle(this.#e);
3459
+ this.#e.style.height = `auto`;
3460
+ let { height: t } = getComputedStyle(this.#e);
3461
+ this.#e.style.height = e, t !== e && (getComputedStyle(this.#e), requestAnimationFrame(() => this.#e.style.height = t));
3462
+ }
3463
+ }, a = {
3464
+ beforeUnmount(e) {
3465
+ o.get(e)?.unregister(), o.delete(e);
3466
+ },
3467
+ mounted(e) {
3468
+ let t = new i(e);
3469
+ t.register(), o.set(e, t);
3470
+ },
3471
+ getSSRProps() {
3472
+ return {};
3473
+ }
3474
+ };
3475
+ var o = /* @__PURE__ */ new WeakMap();
3476
+ //#endregion
3441
3477
  //#region src/data/index.ts
3442
3478
  var FluxApplicationInjectionKey = Symbol();
3443
3479
  //#endregion
@@ -3499,7 +3535,7 @@ var FluxApplication_default = /* @__PURE__ */ defineComponent({
3499
3535
  setup(__props) {
3500
3536
  const route = useRoute_default();
3501
3537
  const matchedMenuRoutes = useNamedRoutes_default(toRef(() => __props.contextMenuName));
3502
- const isMenuCollapsed = x("application-menu-collapsed", true);
3538
+ const isMenuCollapsed = k("application-menu-collapsed", true);
3503
3539
  const layout = ref("default");
3504
3540
  const totalLevels = computed(() => 1 + matchedMenuRoutes.value.length);
3505
3541
  const viewIndex = ref(0);
@@ -3605,6 +3641,29 @@ function useApplicationContextMenu_default(name = "menu") {
3605
3641
  };
3606
3642
  }
3607
3643
  //#endregion
3644
+ //#region src/composable/useApplicationContextRegistration.ts
3645
+ function useApplicationContextRegistration_default(info) {
3646
+ const injection = inject(FluxApplicationInjectionKey, null);
3647
+ if (!injection) return;
3648
+ const id = Symbol("application-context");
3649
+ onMounted(() => {
3650
+ injection.pushContext({
3651
+ id,
3652
+ ...info()
3653
+ });
3654
+ });
3655
+ watch(info, (next) => {
3656
+ injection.removeContext(id);
3657
+ injection.pushContext({
3658
+ id,
3659
+ ...next
3660
+ });
3661
+ });
3662
+ onBeforeUnmount(() => {
3663
+ injection.removeContext(id);
3664
+ });
3665
+ }
3666
+ //#endregion
3608
3667
  //#region src/composable/useApplicationInjection.ts
3609
3668
  function useApplicationInjection_default() {
3610
3669
  const injection = inject(FluxApplicationInjectionKey);
@@ -3724,6 +3783,7 @@ var ApplicationMenu_module_default = {
3724
3783
  menuItemIcon: `menu-item-icon`,
3725
3784
  menuItemLabel: `menu-item-label`,
3726
3785
  menuItemActive: `menu-item-active`,
3786
+ menuItemHighlighted: `menu-item-highlighted`,
3727
3787
  applicationMenuAccount: `application-menu-account`,
3728
3788
  applicationMenuAccountSwitcher: `application-menu-account-switcher application-menu-account`,
3729
3789
  avatar: `avatar`,
@@ -3740,36 +3800,27 @@ var ApplicationMenu_module_default = {
3740
3800
  //#endregion
3741
3801
  //#region src/component/FluxApplicationMenu.vue?vue&type=script&setup=true&lang.ts
3742
3802
  var _hoisted_1$3 = ["data-collapsed", "data-collapsible"];
3743
- var _hoisted_2 = [
3744
- "aria-current",
3745
- "aria-label",
3746
- "onClick"
3747
- ];
3748
3803
  //#endregion
3749
3804
  //#region src/component/FluxApplicationMenu.vue
3750
3805
  var FluxApplicationMenu_default = /* @__PURE__ */ defineComponent({
3751
3806
  __name: "FluxApplicationMenu",
3752
- props: { showPageIndicator: {
3753
- type: Boolean,
3754
- default: true
3755
- } },
3756
3807
  setup(__props) {
3757
3808
  const slots = useSlots();
3758
3809
  const { isMenuCollapsed, showDesktopMenuToggle } = useApplicationInjection_default();
3759
- const { goToLevel, isMainMenuVisible, totalLevels, viewIndex } = useApplicationMenu_default();
3810
+ const { isMainMenuVisible, viewIndex } = useApplicationMenu_default();
3760
3811
  return (_ctx, _cache) => {
3761
3812
  return openBlock(), createElementBlock("aside", {
3762
3813
  class: normalizeClass(unref(ApplicationMenu_module_default).applicationMenu),
3763
3814
  "data-collapsed": unref(isMenuCollapsed) ? "" : void 0,
3764
3815
  "data-collapsible": unref(showDesktopMenuToggle) ? "" : void 0
3765
3816
  }, [
3766
- slots.header ? (openBlock(), createBlock(unref(FluxMenu), {
3817
+ slots.header ? withDirectives((openBlock(), createBlock(unref(FluxMenu), {
3767
3818
  key: 0,
3768
3819
  class: normalizeClass(unref(ApplicationMenu_module_default).applicationMenuHeader)
3769
3820
  }, {
3770
3821
  default: withCtx(() => [renderSlot(_ctx.$slots, "header")]),
3771
3822
  _: 3
3772
- }, 8, ["class"])) : createCommentVNode("", true),
3823
+ }, 8, ["class"])), [[unref(a)]]) : createCommentVNode("", true),
3773
3824
  createElementVNode("div", { class: normalizeClass(unref(ApplicationMenu_module_default).applicationMenuStage) }, [createElementVNode("div", {
3774
3825
  class: normalizeClass(unref(ApplicationMenu_module_default).applicationMenuTrack),
3775
3826
  style: normalizeStyle({ "--view-index": unref(viewIndex) })
@@ -3777,28 +3828,16 @@ var FluxApplicationMenu_default = /* @__PURE__ */ defineComponent({
3777
3828
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
3778
3829
  _: 3
3779
3830
  }, 8, ["class"]), renderSlot(_ctx.$slots, "context")], 6)], 2),
3780
- __props.showPageIndicator && unref(totalLevels) > 1 ? (openBlock(), createElementBlock("nav", {
3781
- key: 1,
3782
- class: normalizeClass(unref(ApplicationMenu_module_default).applicationMenuPageIndicator),
3783
- "aria-label": "Menu levels"
3784
- }, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(totalLevels), (level) => {
3785
- return openBlock(), createElementBlock("button", {
3786
- key: level - 1,
3787
- type: "button",
3788
- class: normalizeClass([unref(ApplicationMenu_module_default).applicationMenuPageIndicatorDot, level - 1 === unref(viewIndex) && unref(ApplicationMenu_module_default).applicationMenuPageIndicatorDotActive]),
3789
- "aria-current": level - 1 === unref(viewIndex) ? "true" : void 0,
3790
- "aria-label": level - 1 === 0 ? "Hoofdmenu" : `Niveau ${level - 1}`,
3791
- onClick: ($event) => unref(goToLevel)(level - 1)
3792
- }, null, 10, _hoisted_2);
3793
- }), 128))], 2)) : createCommentVNode("", true),
3794
- slots.footer ? (openBlock(), createBlock(unref(FluxMenu), {
3795
- key: 2,
3796
- class: normalizeClass(unref(ApplicationMenu_module_default).applicationMenuFooter),
3797
- "data-hidden": !unref(isMainMenuVisible) ? "" : void 0
3798
- }, {
3799
- default: withCtx(() => [renderSlot(_ctx.$slots, "footer")]),
3831
+ createVNode(unref(FluxFadeTransition), null, {
3832
+ default: withCtx(() => [slots.footer && unref(isMainMenuVisible) ? (openBlock(), createBlock(unref(FluxMenu), {
3833
+ key: 0,
3834
+ class: normalizeClass(unref(ApplicationMenu_module_default).applicationMenuFooter)
3835
+ }, {
3836
+ default: withCtx(() => [renderSlot(_ctx.$slots, "footer")]),
3837
+ _: 3
3838
+ }, 8, ["class"])) : createCommentVNode("", true)]),
3800
3839
  _: 3
3801
- }, 8, ["class", "data-hidden"])) : createCommentVNode("", true)
3840
+ })
3802
3841
  ], 10, _hoisted_1$3);
3803
3842
  };
3804
3843
  }
@@ -3848,29 +3887,6 @@ var FluxApplicationMenuAccount_default = /* @__PURE__ */ defineComponent({
3848
3887
  }
3849
3888
  });
3850
3889
  //#endregion
3851
- //#region src/composable/useApplicationContextRegistration.ts
3852
- function useApplicationContextRegistration_default(info) {
3853
- const injection = inject(FluxApplicationInjectionKey, null);
3854
- if (!injection) return;
3855
- const id = Symbol("application-context");
3856
- onMounted(() => {
3857
- injection.pushContext({
3858
- id,
3859
- ...info()
3860
- });
3861
- });
3862
- watch(info, (next) => {
3863
- injection.removeContext(id);
3864
- injection.pushContext({
3865
- id,
3866
- ...next
3867
- });
3868
- });
3869
- onBeforeUnmount(() => {
3870
- injection.removeContext(id);
3871
- });
3872
- }
3873
- //#endregion
3874
3890
  //#region src/component/FluxApplicationMenuContext.vue?vue&type=script&setup=true&lang.ts
3875
3891
  var _hoisted_1$2 = { key: 0 };
3876
3892
  //#endregion
@@ -3886,6 +3902,7 @@ var FluxApplicationMenuContext_default = /* @__PURE__ */ defineComponent({
3886
3902
  target: {},
3887
3903
  to: {},
3888
3904
  entryTo: {},
3905
+ icon: {},
3889
3906
  type: {}
3890
3907
  },
3891
3908
  setup(__props) {
@@ -3910,6 +3927,7 @@ var FluxApplicationMenuContext_default = /* @__PURE__ */ defineComponent({
3910
3927
  to: props.to,
3911
3928
  entryTo: props.entryTo ?? autoEntryTo.value,
3912
3929
  href: props.href,
3930
+ icon: props.icon,
3913
3931
  type: props.type
3914
3932
  }));
3915
3933
  return (_ctx, _cache) => {
@@ -4081,7 +4099,7 @@ var ApplicationTop_module_default = {
4081
4099
  separator: `separator`,
4082
4100
  applicationTopMenuToggleHidden: `application-top-menu-toggle-hidden`,
4083
4101
  applicationTopTabs: `application-top-tabs`,
4084
- tabBar: `tab-bar`,
4102
+ baseTabBar: `base-tab-bar`,
4085
4103
  applicationTopTabsDefault: `application-top-tabs-default application-top-tabs`,
4086
4104
  applicationTopTabsDashboard: `application-top-tabs-dashboard application-top-tabs`,
4087
4105
  applicationTopTabsFull: `application-top-tabs-full application-top-tabs`,
@@ -4106,7 +4124,7 @@ var FluxApplicationTop_default = /* @__PURE__ */ defineComponent({
4106
4124
  setup(__props) {
4107
4125
  const slots = useSlots();
4108
4126
  const { layout, showDesktopMenuToggle } = useApplicationInjection_default();
4109
- const { y } = C();
4127
+ const { y } = j();
4110
4128
  return (_ctx, _cache) => {
4111
4129
  return openBlock(), createElementBlock("header", { class: normalizeClass(unref(y) > 1 ? unref(ApplicationTop_module_default).applicationTopScrolled : unref(ApplicationTop_module_default).applicationTop) }, [createElementVNode("div", { class: normalizeClass(unref(ApplicationTop_module_default).applicationTopBar) }, [
4112
4130
  createVNode(FluxApplicationMenuToggle_default, { class: normalizeClass(!unref(showDesktopMenuToggle) && unref(ApplicationTop_module_default).applicationTopMenuToggleHidden) }, null, 8, ["class"]),
@@ -4141,6 +4159,6 @@ var FluxApplicationTop_default = /* @__PURE__ */ defineComponent({
4141
4159
  }
4142
4160
  });
4143
4161
  //#endregion
4144
- export { FluxApplication_default as FluxApplication, FluxApplicationContent_default as FluxApplicationContent, FluxApplicationHero_default as FluxApplicationHero, FluxApplicationInjectionKey, FluxApplicationMenu_default as FluxApplicationMenu, FluxApplicationMenuAccount_default as FluxApplicationMenuAccount, FluxApplicationMenuContext_default as FluxApplicationMenuContext, FluxApplicationMenuContextStack_default as FluxApplicationMenuContextStack, FluxApplicationMenuPromo_default as FluxApplicationMenuPromo, FluxApplicationMenuToggle_default as FluxApplicationMenuToggle, FluxApplicationSection_default as FluxApplicationSection, FluxApplicationSide_default as FluxApplicationSide, FluxApplicationTop_default as FluxApplicationTop, useApplicationContextMenu_default as useApplicationContextMenu, useApplicationInjection_default as useApplicationInjection, useApplicationMenu_default as useApplicationMenu };
4162
+ export { FluxApplication_default as FluxApplication, FluxApplicationContent_default as FluxApplicationContent, FluxApplicationHero_default as FluxApplicationHero, FluxApplicationInjectionKey, FluxApplicationMenu_default as FluxApplicationMenu, FluxApplicationMenuAccount_default as FluxApplicationMenuAccount, FluxApplicationMenuContext_default as FluxApplicationMenuContext, FluxApplicationMenuContextStack_default as FluxApplicationMenuContextStack, FluxApplicationMenuPromo_default as FluxApplicationMenuPromo, FluxApplicationMenuToggle_default as FluxApplicationMenuToggle, FluxApplicationSection_default as FluxApplicationSection, FluxApplicationSide_default as FluxApplicationSide, FluxApplicationTop_default as FluxApplicationTop, useApplicationContextMenu_default as useApplicationContextMenu, useApplicationContextRegistration_default as useApplicationContextRegistration, useApplicationInjection_default as useApplicationInjection, useApplicationMenu_default as useApplicationMenu };
4145
4163
 
4146
4164
  //# sourceMappingURL=index.js.map