@flux-ui/application 3.2.0-beta.1 → 3.2.0-beta.10

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.
@@ -0,0 +1,3 @@
1
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
+ declare const _default: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
3
+ export default _default;
@@ -5,6 +5,7 @@ export { default as FluxApplicationMenu } from './FluxApplicationMenu.vue';
5
5
  export { default as FluxApplicationMenuAccount } from './FluxApplicationMenuAccount.vue';
6
6
  export { default as FluxApplicationMenuContext } from './FluxApplicationMenuContext.vue';
7
7
  export { default as FluxApplicationMenuContextStack } from './FluxApplicationMenuContextStack.vue';
8
+ export { default as FluxApplicationMenuContextSwitcher } from './FluxApplicationMenuContextSwitcher.vue';
8
9
  export { default as FluxApplicationMenuPromo } from './FluxApplicationMenuPromo.vue';
9
10
  export { default as FluxApplicationMenuToggle } from './FluxApplicationMenuToggle.vue';
10
11
  export { default as FluxApplicationSection } from './FluxApplicationSection.vue';
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);
@@ -119,6 +119,7 @@ html[data-application-resizing] .application-menu-backdrop {
119
119
  .application-content-full > :is(.calendar, .table) {
120
120
  max-height: 100%;
121
121
  flex-grow: 1;
122
+ background: var(--surface);
122
123
  }
123
124
  .application-content-full > .calendar {
124
125
  border-top: 0;
@@ -130,10 +131,14 @@ html[data-application-resizing] .application-menu-backdrop {
130
131
  padding-left: 21px;
131
132
  padding-right: 21px;
132
133
  }
133
- .application-content-full > .table .table-cell:first-child .table-cell-content {
134
+ .application-content-full > .table .table-cell:not(.table-bar):not(.table-group):not(.is-raw):first-child {
134
135
  padding-left: 21px;
135
136
  }
136
- .application-content-full > .table .table-cell:last-child .table-cell-content {
137
+ .application-content-full > .table .table-cell:not(.table-bar):not(.table-group):not(.is-raw):last-child {
138
+ padding-right: 21px;
139
+ }
140
+ .application-content-full > .table :is(.table-bar-content, .table-group-content) {
141
+ padding-left: 21px;
137
142
  padding-right: 21px;
138
143
  }
139
144
 
@@ -158,10 +163,14 @@ html[data-application-resizing] .application-menu-backdrop {
158
163
  padding-left: 12px;
159
164
  padding-right: 12px;
160
165
  }
161
- .application-content-full > .table .table-cell:first-child .table-cell-content {
166
+ .application-content-full > .table .table-cell:not(.table-bar):not(.table-group):not(.is-raw):first-child {
162
167
  padding-left: 12px;
163
168
  }
164
- .application-content-full > .table .table-cell:last-child .table-cell-content {
169
+ .application-content-full > .table .table-cell:not(.table-bar):not(.table-group):not(.is-raw):last-child {
170
+ padding-right: 12px;
171
+ }
172
+ .application-content-full > .table :is(.table-bar-content, .table-group-content) {
173
+ padding-left: 12px;
165
174
  padding-right: 12px;
166
175
  }
167
176
  }.application-hero {
@@ -182,8 +191,7 @@ html[data-application-resizing] .application-menu-backdrop {
182
191
  margin: 0;
183
192
  color: var(--foreground-secondary);
184
193
  font-size: 18px;
185
- }
186
- .application-menu {
194
+ }.application-menu {
187
195
  position: fixed;
188
196
  display: flex;
189
197
  top: 0;
@@ -401,24 +409,31 @@ html[data-application-resizing] .application-menu-backdrop {
401
409
  margin-top: -12px;
402
410
  margin-left: -12px;
403
411
  margin-right: -12px;
404
- padding: 15px;
412
+ padding: 15px 16px;
405
413
  flex-flow: row nowrap;
406
414
  gap: 15px;
407
- border: 1px solid var(--application-menu-surface-stroke);
408
- border-top: 0;
409
- border-left: 0;
410
- border-right: 0;
415
+ border-bottom: 1px solid var(--application-menu-surface-stroke);
411
416
  }
412
417
 
413
418
  .application-menu-context-content {
414
- display: flex;
419
+ display: grid;
415
420
  align-self: center;
421
+ grid-template-rows: 1fr;
422
+ transition: var(--application-duration) var(--swift-out);
423
+ transition-property: filter, grid-template-rows, opacity, translate;
424
+ }
425
+
426
+ .application-menu-context-content-inner {
427
+ display: flex;
416
428
  flex-flow: column;
429
+ min-height: 0;
430
+ white-space: nowrap;
431
+ overflow: hidden;
417
432
  }
418
- .application-menu-context-content strong {
433
+ .application-menu-context-content-inner strong {
419
434
  color: var(--foreground-prominent);
420
435
  }
421
- .application-menu-context-content span {
436
+ .application-menu-context-content-inner span {
422
437
  color: var(--foreground-secondary);
423
438
  font-size: 14px;
424
439
  }
@@ -479,33 +494,29 @@ html[data-application-resizing] .application-menu-backdrop {
479
494
  width: var(--application-menu-width-collapsed);
480
495
  }
481
496
  .application-menu[data-collapsed][data-collapsible] .menu-item-label {
482
- filter: blur(6px);
497
+ filter: blur(3px);
483
498
  opacity: 0;
484
499
  translate: -12px 0;
485
500
  }
486
501
  .application-menu[data-collapsed][data-collapsible] .menu-sub-header {
487
502
  display: none;
488
503
  height: 0;
489
- /* Keep the sub-header's negative margins (sum -12px = one panel gap) while
490
- it is a zero-height flex item, so the space it leaves equals the single
491
- gap that remains after `display: none` removes it — avoiding a jump of
492
- the group below at the end of the collapse. */
493
504
  margin-top: -9px;
494
505
  margin-bottom: -3px;
495
506
  padding-top: 0;
496
507
  padding-bottom: 0;
497
508
  opacity: 0;
498
509
  }
499
- .application-menu[data-collapsed][data-collapsible] .application-menu-promo,
500
- .application-menu[data-collapsed][data-collapsible] .application-menu-context {
510
+ .application-menu[data-collapsed][data-collapsible] .application-menu-promo {
501
511
  opacity: 0;
502
512
  pointer-events: none;
503
513
  }
504
- .application-menu[data-collapsed][data-collapsible] .application-menu-context-pill-content strong,
505
- .application-menu[data-collapsed][data-collapsible] .application-menu-context-pill-content span {
506
- filter: blur(6px);
514
+ .application-menu[data-collapsed][data-collapsible] .application-menu-context-content {
515
+ grid-template-rows: 0fr;
516
+ filter: blur(3px);
507
517
  opacity: 0;
508
518
  translate: -12px 0;
519
+ pointer-events: none;
509
520
  }
510
521
  }
511
522
  @media (max-width: 1023.98px) {
@@ -529,8 +540,7 @@ html[data-application-resizing] .application-menu-track,
529
540
  html[data-application-resizing] .application-menu-promo,
530
541
  html[data-application-resizing] .application-menu .menu-sub-header,
531
542
  html[data-application-resizing] .application-menu .menu-item-label,
532
- html[data-application-resizing] .application-menu-context-pill-content strong,
533
- html[data-application-resizing] .application-menu-context-pill-content span {
543
+ html[data-application-resizing] .application-menu-context-content {
534
544
  transition: none;
535
545
  }.application-section {
536
546
  display: flex;
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
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
- import { FluxFadeTransition, FluxFlyout, FluxIcon, FluxMenu, FluxMenuItem, FluxPane, FluxRouteTransition, FluxSecondaryButton, FluxSpacer, FluxTabBar, useBreakpoints } from "@flux-ui/components";
2
+ import { FluxFadeTransition, FluxFlyout, FluxIcon, FluxMenu, FluxMenuGroup, FluxMenuItem, FluxPane, FluxRouteTransition, FluxSecondaryButton, FluxSpacer, FluxTabBar, useBreakpoints } from "@flux-ui/components";
3
3
  import { DateTime } from "luxon";
4
4
  import { RouterView, matchedRouteKey, useRoute, viewDepthKey } from "vue-router";
5
- //#region ../../node_modules/.bun/@basmilius+utils@3.45.0+f2ed1ec6a4c7f7fd/node_modules/@basmilius/utils/dist/index.mjs
5
+ //#region ../../node_modules/.bun/@basmilius+utils@3.50.0+f2ed1ec6a4c7f7fd/node_modules/@basmilius/utils/dist/index.mjs
6
6
  function x(e) {
7
7
  let t = {};
8
8
  do {
@@ -33,7 +33,7 @@ function K(e, t, n) {
33
33
  `[contenteditable]:not([contenteditable=false])`,
34
34
  `[tabindex]:not([disabled]):not([tabindex="-1"])`
35
35
  ].join(`,`);
36
- function v(e) {
36
+ function y(e) {
37
37
  let r = unref(e);
38
38
  return R(r) ? r : r?.$el;
39
39
  }
@@ -70,7 +70,7 @@ new class {
70
70
  e.setEnabled(t), e.isEnabled = t;
71
71
  }
72
72
  }();
73
- var C = !globalThis.document;
73
+ var w = !globalThis.document;
74
74
  //#endregion
75
75
  //#region ../../node_modules/.bun/culori@4.0.2/node_modules/culori/src/rgb/parseNumber.js
76
76
  var parseNumber = (color, len) => {
@@ -833,7 +833,7 @@ var hue = (hues, fn) => {
833
833
  var fixupHueShorter = (arr) => hue(arr, (d) => Math.abs(d) <= 180 ? d : d - 360 * Math.sign(d));
834
834
  //#endregion
835
835
  //#region ../../node_modules/.bun/culori@4.0.2/node_modules/culori/src/cubehelix/constants.js
836
- var M$1 = [
836
+ var M = [
837
837
  -.14861,
838
838
  1.78277,
839
839
  -.29227,
@@ -845,20 +845,20 @@ var degToRad = Math.PI / 180;
845
845
  var radToDeg = 180 / Math.PI;
846
846
  //#endregion
847
847
  //#region ../../node_modules/.bun/culori@4.0.2/node_modules/culori/src/cubehelix/convertRgbToCubehelix.js
848
- var DE = M$1[3] * M$1[4];
849
- var BE = M$1[1] * M$1[4];
850
- var BCAD = M$1[1] * M$1[2] - M$1[0] * M$1[3];
848
+ var DE = M[3] * M[4];
849
+ var BE = M[1] * M[4];
850
+ var BCAD = M[1] * M[2] - M[0] * M[3];
851
851
  var convertRgbToCubehelix = ({ r, g, b, alpha }) => {
852
852
  if (r === void 0) r = 0;
853
853
  if (g === void 0) g = 0;
854
854
  if (b === void 0) b = 0;
855
855
  let l = (BCAD * b + r * DE - g * BE) / (BCAD + DE - BE);
856
856
  let x = b - l;
857
- let y = (M$1[4] * (g - l) - M$1[2] * x) / M$1[3];
857
+ let y = (M[4] * (g - l) - M[2] * x) / M[3];
858
858
  let res = {
859
859
  mode: "cubehelix",
860
860
  l,
861
- s: l === 0 || l === 1 ? void 0 : Math.sqrt(x * x + y * y) / (M$1[4] * l * (1 - l))
861
+ s: l === 0 || l === 1 ? void 0 : Math.sqrt(x * x + y * y) / (M[4] * l * (1 - l))
862
862
  };
863
863
  if (res.s) res.h = Math.atan2(y, x) * radToDeg - 120;
864
864
  if (alpha !== void 0) res.alpha = alpha;
@@ -873,9 +873,9 @@ var convertCubehelixToRgb = ({ h, s, l, alpha }) => {
873
873
  let amp = s === void 0 ? 0 : s * l * (1 - l);
874
874
  let cosh = Math.cos(h);
875
875
  let sinh = Math.sin(h);
876
- res.r = l + amp * (M$1[0] * cosh + M$1[1] * sinh);
877
- res.g = l + amp * (M$1[2] * cosh + M$1[3] * sinh);
878
- res.b = l + amp * (M$1[4] * cosh + M$1[5] * sinh);
876
+ res.r = l + amp * (M[0] * cosh + M[1] * sinh);
877
+ res.g = l + amp * (M[2] * cosh + M[3] * sinh);
878
+ res.b = l + amp * (M[4] * cosh + M[5] * sinh);
879
879
  if (alpha !== void 0) res.alpha = alpha;
880
880
  return res;
881
881
  };
@@ -983,7 +983,7 @@ var convertLchToLab = ({ l, c, h, alpha }, mode = "lab") => {
983
983
  };
984
984
  //#endregion
985
985
  //#region ../../node_modules/.bun/culori@4.0.2/node_modules/culori/src/xyz65/constants.js
986
- var k$2 = Math.pow(29, 3) / Math.pow(3, 3);
986
+ var k$3 = Math.pow(29, 3) / Math.pow(3, 3);
987
987
  var e$2 = Math.pow(6, 3) / Math.pow(29, 3);
988
988
  //#endregion
989
989
  //#region ../../node_modules/.bun/culori@4.0.2/node_modules/culori/src/constants.js
@@ -1001,7 +1001,7 @@ Math.pow(29, 3) / Math.pow(3, 3);
1001
1001
  Math.pow(6, 3) / Math.pow(29, 3);
1002
1002
  //#endregion
1003
1003
  //#region ../../node_modules/.bun/culori@4.0.2/node_modules/culori/src/lab65/convertLab65ToXyz65.js
1004
- var fn$1 = (v) => Math.pow(v, 3) > e$2 ? Math.pow(v, 3) : (116 * v - 16) / k$2;
1004
+ var fn$1 = (v) => Math.pow(v, 3) > e$2 ? Math.pow(v, 3) : (116 * v - 16) / k$3;
1005
1005
  var convertLab65ToXyz65 = ({ l, a, b, alpha }) => {
1006
1006
  if (l === void 0) l = 0;
1007
1007
  if (a === void 0) a = 0;
@@ -1023,7 +1023,7 @@ var convertLab65ToXyz65 = ({ l, a, b, alpha }) => {
1023
1023
  var convertLab65ToRgb = (lab) => convertXyz65ToRgb(convertLab65ToXyz65(lab));
1024
1024
  //#endregion
1025
1025
  //#region ../../node_modules/.bun/culori@4.0.2/node_modules/culori/src/lab65/convertXyz65ToLab65.js
1026
- var f$1 = (value) => value > e$2 ? Math.cbrt(value) : (k$2 * value + 16) / 116;
1026
+ var f$1 = (value) => value > e$2 ? Math.cbrt(value) : (k$3 * value + 16) / 116;
1027
1027
  var convertXyz65ToLab65 = ({ x, y, z, alpha }) => {
1028
1028
  if (x === void 0) x = 0;
1029
1029
  if (y === void 0) y = 0;
@@ -1885,11 +1885,11 @@ var definition$16 = {
1885
1885
  };
1886
1886
  //#endregion
1887
1887
  //#region ../../node_modules/.bun/culori@4.0.2/node_modules/culori/src/xyz50/constants.js
1888
- var k = Math.pow(29, 3) / Math.pow(3, 3);
1888
+ var k$1 = Math.pow(29, 3) / Math.pow(3, 3);
1889
1889
  var e = Math.pow(6, 3) / Math.pow(29, 3);
1890
1890
  //#endregion
1891
1891
  //#region ../../node_modules/.bun/culori@4.0.2/node_modules/culori/src/lab/convertLabToXyz50.js
1892
- var fn = (v) => Math.pow(v, 3) > e ? Math.pow(v, 3) : (116 * v - 16) / k;
1892
+ var fn = (v) => Math.pow(v, 3) > e ? Math.pow(v, 3) : (116 * v - 16) / k$1;
1893
1893
  var convertLabToXyz50 = ({ l, a, b, alpha }) => {
1894
1894
  if (l === void 0) l = 0;
1895
1895
  if (a === void 0) a = 0;
@@ -1938,7 +1938,7 @@ var convertRgbToXyz50 = (rgb) => {
1938
1938
  };
1939
1939
  //#endregion
1940
1940
  //#region ../../node_modules/.bun/culori@4.0.2/node_modules/culori/src/lab/convertXyz50ToLab.js
1941
- var f = (value) => value > e ? Math.cbrt(value) : (k * value + 16) / 116;
1941
+ var f = (value) => value > e ? Math.cbrt(value) : (k$1 * value + 16) / 116;
1942
1942
  var convertXyz50ToLab = ({ x, y, z, alpha }) => {
1943
1943
  if (x === void 0) x = 0;
1944
1944
  if (y === void 0) y = 0;
@@ -2144,7 +2144,7 @@ var u_fn$1 = (x, y, z) => 4 * x / (x + 15 * y + 3 * z);
2144
2144
  var v_fn$1 = (x, y, z) => 9 * y / (x + 15 * y + 3 * z);
2145
2145
  var un$1 = u_fn$1(D50.X, D50.Y, D50.Z);
2146
2146
  var vn$1 = v_fn$1(D50.X, D50.Y, D50.Z);
2147
- var l_fn = (value) => value <= e ? k * value : 116 * Math.cbrt(value) - 16;
2147
+ var l_fn = (value) => value <= e ? k$1 * value : 116 * Math.cbrt(value) - 16;
2148
2148
  var convertXyz50ToLuv = ({ x, y, z, alpha }) => {
2149
2149
  if (x === void 0) x = 0;
2150
2150
  if (y === void 0) y = 0;
@@ -2184,7 +2184,7 @@ var convertLuvToXyz50 = ({ l, u, v, alpha }) => {
2184
2184
  if (v === void 0) v = 0;
2185
2185
  let up = u / (13 * l) + un;
2186
2186
  let vp = v / (13 * l) + vn;
2187
- let y = D50.Y * (l <= 8 ? l / k : Math.pow((l + 16) / 116, 3));
2187
+ let y = D50.Y * (l <= 8 ? l / k$1 : Math.pow((l + 16) / 116, 3));
2188
2188
  let res = {
2189
2189
  mode: "xyz50",
2190
2190
  x: y * (9 * up) / (4 * vp),
@@ -3150,7 +3150,7 @@ useMode(definition$2);
3150
3150
  useMode(definition$1);
3151
3151
  useMode(definition);
3152
3152
  //#endregion
3153
- //#region ../../node_modules/.bun/@basmilius+http-client@3.45.0+66382d5e2ea3742d/node_modules/@basmilius/http-client/dist/index.mjs
3153
+ //#region ../../node_modules/.bun/@basmilius+http-client@3.50.0+2111c3e180df0f85/node_modules/@basmilius/http-client/dist/index.mjs
3154
3154
  function adapter_default(Parent) {
3155
3155
  return class extends Parent {
3156
3156
  constructor(...args) {
@@ -3660,15 +3660,15 @@ var HttpAdapter = _HttpAdapter = class HttpAdapter {
3660
3660
  HttpAdapter = _HttpAdapter = __decorate([adapter_default], HttpAdapter);
3661
3661
  RegExp(`[a-z]`), RegExp(`[A-Z]`), RegExp(`[0-9]`), RegExp(`[!"#$%&'()*+,-./:;<=>?@[\\\\\\]^_\`{|}~]`);
3662
3662
  //#endregion
3663
- //#region ../internals/dist/composable-ByAxh3HA.js
3663
+ //#region ../internals/dist/composable-Cr4VA1Rs.js
3664
3664
  function O(t, n, r, i = { passive: !0 }) {
3665
3665
  watch(t, (a, o, s) => {
3666
- let c = v(t) ?? (a instanceof EventTarget ? a : null);
3666
+ let c = y(t) ?? (a instanceof EventTarget ? a : null);
3667
3667
  c && (c.addEventListener(n, r, i), s(() => c.removeEventListener(n, r, i)));
3668
3668
  }, { immediate: !0 });
3669
3669
  }
3670
3670
  function A(e, t) {
3671
- if (C) return ref(t);
3671
+ if (w) return ref(t);
3672
3672
  let n = `flux/${e}`, r = ref(i() ?? t);
3673
3673
  function i() {
3674
3674
  let e = localStorage.getItem(n);
@@ -3691,9 +3691,9 @@ function A(e, t) {
3691
3691
  } catch {}
3692
3692
  }), r;
3693
3693
  }
3694
- function M(e) {
3694
+ function j(e) {
3695
3695
  let t = ref(0), n = ref(0);
3696
- if (C) return {
3696
+ if (w) return {
3697
3697
  x: t,
3698
3698
  y: n
3699
3699
  };
@@ -3707,7 +3707,7 @@ function M(e) {
3707
3707
  };
3708
3708
  }
3709
3709
  //#endregion
3710
- //#region ../internals/dist/directive-wk7DX8wQ.js
3710
+ //#region ../internals/dist/directive-B9jeVN1O.js
3711
3711
  var i = class {
3712
3712
  #e;
3713
3713
  #t;
@@ -4024,7 +4024,11 @@ var ApplicationContent_module_default = {
4024
4024
  table: `table`,
4025
4025
  calendarActions: `calendar-actions`,
4026
4026
  tableCell: `table-cell`,
4027
- tableCellContent: `table-cell-content`
4027
+ tableBar: `table-bar`,
4028
+ tableGroup: `table-group`,
4029
+ isRaw: `is-raw`,
4030
+ tableBarContent: `table-bar-content`,
4031
+ tableGroupContent: `table-group-content`
4028
4032
  };
4029
4033
  //#endregion
4030
4034
  //#region src/component/FluxApplicationContent.vue
@@ -4096,12 +4100,12 @@ var ApplicationMenu_module_default = {
4096
4100
  avatar: `avatar`,
4097
4101
  applicationMenuContext: `application-menu-context`,
4098
4102
  applicationMenuContextContent: `application-menu-context-content`,
4103
+ applicationMenuContextContentInner: `application-menu-context-content-inner`,
4099
4104
  applicationMenuPromo: `application-menu-promo`,
4100
4105
  icon: `icon`,
4101
4106
  applicationMenuPromoContent: `application-menu-promo-content`,
4102
4107
  applicationMenuToggle: `application-menu-toggle`,
4103
- applicationMenuToggleIcon: `application-menu-toggle-icon`,
4104
- applicationMenuContextPillContent: `application-menu-context-pill-content`
4108
+ applicationMenuToggleIcon: `application-menu-toggle-icon`
4105
4109
  };
4106
4110
  //#endregion
4107
4111
  //#region src/component/FluxApplicationMenu.vue?vue&type=script&setup=true&lang.ts
@@ -4255,7 +4259,7 @@ var FluxApplicationMenuContext_default = /* @__PURE__ */ defineComponent({
4255
4259
  "target",
4256
4260
  "to",
4257
4261
  "type"
4258
- ]), createElementVNode("div", { class: normalizeClass(unref(ApplicationMenu_module_default).applicationMenuContextContent) }, [createElementVNode("strong", null, toDisplayString(__props.title), 1), __props.subtitle ? (openBlock(), createElementBlock("span", _hoisted_1$2, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)], 2)], 2);
4262
+ ]), createElementVNode("div", { class: normalizeClass(unref(ApplicationMenu_module_default).applicationMenuContextContent) }, [createElementVNode("div", { class: normalizeClass(unref(ApplicationMenu_module_default).applicationMenuContextContentInner) }, [createElementVNode("strong", null, toDisplayString(__props.title), 1), __props.subtitle ? (openBlock(), createElementBlock("span", _hoisted_1$2, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)], 2)], 2)], 2);
4259
4263
  };
4260
4264
  }
4261
4265
  });
@@ -4279,7 +4283,7 @@ var FluxApplicationMenuContextStack_default = /* @__PURE__ */ defineComponent({
4279
4283
  }
4280
4284
  },
4281
4285
  setup(props) {
4282
- provide(viewDepthKey, ref(props.depth));
4286
+ provide(viewDepthKey, computed(() => props.depth));
4283
4287
  return () => h(RouterView, { name: props.viewName });
4284
4288
  }
4285
4289
  });
@@ -4313,6 +4317,41 @@ var FluxApplicationMenuContextStack_default = /* @__PURE__ */ defineComponent({
4313
4317
  }
4314
4318
  });
4315
4319
  //#endregion
4320
+ //#region src/component/FluxApplicationMenuContextSwitcher.vue
4321
+ var FluxApplicationMenuContextSwitcher_default = /* @__PURE__ */ defineComponent({
4322
+ __name: "FluxApplicationMenuContextSwitcher",
4323
+ setup(__props) {
4324
+ const { contexts, totalLevels, viewIndex, goToLevel } = useApplicationMenu_default();
4325
+ return (_ctx, _cache) => {
4326
+ return openBlock(), createBlock(unref(FluxFadeTransition), null, {
4327
+ default: withCtx(() => [unref(totalLevels) > 1 ? (openBlock(), createBlock(unref(FluxMenuGroup), {
4328
+ key: unref(totalLevels),
4329
+ "is-horizontal": ""
4330
+ }, {
4331
+ default: withCtx(() => [createVNode(unref(FluxMenuItem), {
4332
+ "icon-leading": "grid-2",
4333
+ "is-highlighted": 0 === unref(viewIndex),
4334
+ onClick: _cache[0] || (_cache[0] = ($event) => unref(goToLevel)(0))
4335
+ }, null, 8, ["is-highlighted"]), (openBlock(true), createElementBlock(Fragment, null, renderList(unref(contexts), (context, index) => {
4336
+ return openBlock(), createBlock(unref(FluxMenuItem), {
4337
+ key: context.id,
4338
+ "icon-leading": context.icon,
4339
+ "is-highlighted": index + 1 === unref(viewIndex),
4340
+ onClick: ($event) => unref(goToLevel)(index + 1)
4341
+ }, null, 8, [
4342
+ "icon-leading",
4343
+ "is-highlighted",
4344
+ "onClick"
4345
+ ]);
4346
+ }), 128))]),
4347
+ _: 1
4348
+ })) : createCommentVNode("", true)]),
4349
+ _: 1
4350
+ });
4351
+ };
4352
+ }
4353
+ });
4354
+ //#endregion
4316
4355
  //#region src/component/FluxApplicationMenuPromo.vue
4317
4356
  var FluxApplicationMenuPromo_default = /* @__PURE__ */ defineComponent({
4318
4357
  __name: "FluxApplicationMenuPromo",
@@ -4335,6 +4374,8 @@ var FluxApplicationMenuToggle_default = /* @__PURE__ */ defineComponent({
4335
4374
  return (_ctx, _cache) => {
4336
4375
  return openBlock(), createBlock(unref(FluxMenuItem), {
4337
4376
  class: normalizeClass(unref(ApplicationMenu_module_default).applicationMenuToggle),
4377
+ "aria-label": "Toggle menu",
4378
+ "aria-expanded": !unref(isMenuCollapsed),
4338
4379
  onClick: _cache[0] || (_cache[0] = ($event) => isMenuCollapsed.value = !unref(isMenuCollapsed))
4339
4380
  }, {
4340
4381
  before: withCtx(() => [(openBlock(), createElementBlock("svg", {
@@ -4348,7 +4389,7 @@ var FluxApplicationMenuToggle_default = /* @__PURE__ */ defineComponent({
4348
4389
  "clip-rule": "evenodd"
4349
4390
  }, null, -1), createElementVNode("path", { d: "M16 15V3a1 1 0 0 0-1-1h-5a1 1 0 0 1 0-2h5c1.63.04 3 1.33 3 3v12a3.07 3.07 0 0 1-3 3h-5a1 1 0 1 1 0-2h5a1 1 0 0 0 1-1" }, null, -1)])], 2))]),
4350
4391
  _: 1
4351
- }, 8, ["class"]);
4392
+ }, 8, ["class", "aria-expanded"]);
4352
4393
  };
4353
4394
  }
4354
4395
  });
@@ -4432,7 +4473,7 @@ var FluxApplicationTop_default = /* @__PURE__ */ defineComponent({
4432
4473
  setup(__props) {
4433
4474
  const slots = useSlots();
4434
4475
  const { layout, showDesktopMenuToggle } = useApplicationInjection_default();
4435
- const { y } = M();
4476
+ const { y } = j();
4436
4477
  return (_ctx, _cache) => {
4437
4478
  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) }, [
4438
4479
  createVNode(FluxApplicationMenuToggle_default, { class: normalizeClass(!unref(showDesktopMenuToggle) && unref(ApplicationTop_module_default).applicationTopMenuToggleHidden) }, null, 8, ["class"]),
@@ -4467,6 +4508,6 @@ var FluxApplicationTop_default = /* @__PURE__ */ defineComponent({
4467
4508
  }
4468
4509
  });
4469
4510
  //#endregion
4470
- 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 };
4511
+ 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, FluxApplicationMenuContextSwitcher_default as FluxApplicationMenuContextSwitcher, 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 };
4471
4512
 
4472
4513
  //# sourceMappingURL=index.js.map