@flux-ui/application 3.2.0-beta.1 → 3.2.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/component/FluxApplicationMenuContextSwitcher.vue.d.ts +3 -0
- package/dist/component/index.d.ts +1 -0
- package/dist/index.css +25 -23
- package/dist/index.js +52 -17
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/src/component/FluxApplicationMenuContext.vue +4 -2
- package/src/component/FluxApplicationMenuContextSwitcher.vue +29 -0
- package/src/component/index.ts +1 -0
- package/src/css/component/ApplicationContent.module.scss +1 -0
- package/src/css/component/ApplicationMenu.module.scss +20 -18
|
@@ -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
|
-
|
|
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;
|
|
@@ -182,8 +183,7 @@ html[data-application-resizing] .application-menu-backdrop {
|
|
|
182
183
|
margin: 0;
|
|
183
184
|
color: var(--foreground-secondary);
|
|
184
185
|
font-size: 18px;
|
|
185
|
-
}
|
|
186
|
-
.application-menu {
|
|
186
|
+
}.application-menu {
|
|
187
187
|
position: fixed;
|
|
188
188
|
display: flex;
|
|
189
189
|
top: 0;
|
|
@@ -401,24 +401,31 @@ html[data-application-resizing] .application-menu-backdrop {
|
|
|
401
401
|
margin-top: -12px;
|
|
402
402
|
margin-left: -12px;
|
|
403
403
|
margin-right: -12px;
|
|
404
|
-
padding: 15px;
|
|
404
|
+
padding: 15px 16px;
|
|
405
405
|
flex-flow: row nowrap;
|
|
406
406
|
gap: 15px;
|
|
407
|
-
border: 1px solid var(--application-menu-surface-stroke);
|
|
408
|
-
border-top: 0;
|
|
409
|
-
border-left: 0;
|
|
410
|
-
border-right: 0;
|
|
407
|
+
border-bottom: 1px solid var(--application-menu-surface-stroke);
|
|
411
408
|
}
|
|
412
409
|
|
|
413
410
|
.application-menu-context-content {
|
|
414
|
-
display:
|
|
411
|
+
display: grid;
|
|
415
412
|
align-self: center;
|
|
413
|
+
grid-template-rows: 1fr;
|
|
414
|
+
transition: var(--application-duration) var(--swift-out);
|
|
415
|
+
transition-property: filter, grid-template-rows, opacity, translate;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
.application-menu-context-content-inner {
|
|
419
|
+
display: flex;
|
|
416
420
|
flex-flow: column;
|
|
421
|
+
min-height: 0;
|
|
422
|
+
white-space: nowrap;
|
|
423
|
+
overflow: hidden;
|
|
417
424
|
}
|
|
418
|
-
.application-menu-context-content strong {
|
|
425
|
+
.application-menu-context-content-inner strong {
|
|
419
426
|
color: var(--foreground-prominent);
|
|
420
427
|
}
|
|
421
|
-
.application-menu-context-content span {
|
|
428
|
+
.application-menu-context-content-inner span {
|
|
422
429
|
color: var(--foreground-secondary);
|
|
423
430
|
font-size: 14px;
|
|
424
431
|
}
|
|
@@ -479,33 +486,29 @@ html[data-application-resizing] .application-menu-backdrop {
|
|
|
479
486
|
width: var(--application-menu-width-collapsed);
|
|
480
487
|
}
|
|
481
488
|
.application-menu[data-collapsed][data-collapsible] .menu-item-label {
|
|
482
|
-
filter: blur(
|
|
489
|
+
filter: blur(3px);
|
|
483
490
|
opacity: 0;
|
|
484
491
|
translate: -12px 0;
|
|
485
492
|
}
|
|
486
493
|
.application-menu[data-collapsed][data-collapsible] .menu-sub-header {
|
|
487
494
|
display: none;
|
|
488
495
|
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
496
|
margin-top: -9px;
|
|
494
497
|
margin-bottom: -3px;
|
|
495
498
|
padding-top: 0;
|
|
496
499
|
padding-bottom: 0;
|
|
497
500
|
opacity: 0;
|
|
498
501
|
}
|
|
499
|
-
.application-menu[data-collapsed][data-collapsible] .application-menu-promo
|
|
500
|
-
.application-menu[data-collapsed][data-collapsible] .application-menu-context {
|
|
502
|
+
.application-menu[data-collapsed][data-collapsible] .application-menu-promo {
|
|
501
503
|
opacity: 0;
|
|
502
504
|
pointer-events: none;
|
|
503
505
|
}
|
|
504
|
-
.application-menu[data-collapsed][data-collapsible] .application-menu-context-
|
|
505
|
-
|
|
506
|
-
filter: blur(
|
|
506
|
+
.application-menu[data-collapsed][data-collapsible] .application-menu-context-content {
|
|
507
|
+
grid-template-rows: 0fr;
|
|
508
|
+
filter: blur(3px);
|
|
507
509
|
opacity: 0;
|
|
508
510
|
translate: -12px 0;
|
|
511
|
+
pointer-events: none;
|
|
509
512
|
}
|
|
510
513
|
}
|
|
511
514
|
@media (max-width: 1023.98px) {
|
|
@@ -529,8 +532,7 @@ html[data-application-resizing] .application-menu-track,
|
|
|
529
532
|
html[data-application-resizing] .application-menu-promo,
|
|
530
533
|
html[data-application-resizing] .application-menu .menu-sub-header,
|
|
531
534
|
html[data-application-resizing] .application-menu .menu-item-label,
|
|
532
|
-
html[data-application-resizing] .application-menu-context-
|
|
533
|
-
html[data-application-resizing] .application-menu-context-pill-content span {
|
|
535
|
+
html[data-application-resizing] .application-menu-context-content {
|
|
534
536
|
transition: none;
|
|
535
537
|
}.application-section {
|
|
536
538
|
display: flex;
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
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
5
|
//#region ../../node_modules/.bun/@basmilius+utils@3.45.0+f2ed1ec6a4c7f7fd/node_modules/@basmilius/utils/dist/index.mjs
|
|
@@ -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
|
|
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
|
|
849
|
-
var BE = M
|
|
850
|
-
var BCAD = M
|
|
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
|
|
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
|
|
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
|
|
877
|
-
res.g = l + amp * (M
|
|
878
|
-
res.b = l + amp * (M
|
|
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
|
};
|
|
@@ -3660,7 +3660,7 @@ 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-
|
|
3663
|
+
//#region ../internals/dist/composable-6jMsSnBV.js
|
|
3664
3664
|
function O(t, n, r, i = { passive: !0 }) {
|
|
3665
3665
|
watch(t, (a, o, s) => {
|
|
3666
3666
|
let c = v(t) ?? (a instanceof EventTarget ? a : null);
|
|
@@ -3691,7 +3691,7 @@ function A(e, t) {
|
|
|
3691
3691
|
} catch {}
|
|
3692
3692
|
}), r;
|
|
3693
3693
|
}
|
|
3694
|
-
function
|
|
3694
|
+
function j(e) {
|
|
3695
3695
|
let t = ref(0), n = ref(0);
|
|
3696
3696
|
if (C) return {
|
|
3697
3697
|
x: t,
|
|
@@ -4096,12 +4096,12 @@ var ApplicationMenu_module_default = {
|
|
|
4096
4096
|
avatar: `avatar`,
|
|
4097
4097
|
applicationMenuContext: `application-menu-context`,
|
|
4098
4098
|
applicationMenuContextContent: `application-menu-context-content`,
|
|
4099
|
+
applicationMenuContextContentInner: `application-menu-context-content-inner`,
|
|
4099
4100
|
applicationMenuPromo: `application-menu-promo`,
|
|
4100
4101
|
icon: `icon`,
|
|
4101
4102
|
applicationMenuPromoContent: `application-menu-promo-content`,
|
|
4102
4103
|
applicationMenuToggle: `application-menu-toggle`,
|
|
4103
|
-
applicationMenuToggleIcon: `application-menu-toggle-icon
|
|
4104
|
-
applicationMenuContextPillContent: `application-menu-context-pill-content`
|
|
4104
|
+
applicationMenuToggleIcon: `application-menu-toggle-icon`
|
|
4105
4105
|
};
|
|
4106
4106
|
//#endregion
|
|
4107
4107
|
//#region src/component/FluxApplicationMenu.vue?vue&type=script&setup=true&lang.ts
|
|
@@ -4255,7 +4255,7 @@ var FluxApplicationMenuContext_default = /* @__PURE__ */ defineComponent({
|
|
|
4255
4255
|
"target",
|
|
4256
4256
|
"to",
|
|
4257
4257
|
"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);
|
|
4258
|
+
]), 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
4259
|
};
|
|
4260
4260
|
}
|
|
4261
4261
|
});
|
|
@@ -4313,6 +4313,41 @@ var FluxApplicationMenuContextStack_default = /* @__PURE__ */ defineComponent({
|
|
|
4313
4313
|
}
|
|
4314
4314
|
});
|
|
4315
4315
|
//#endregion
|
|
4316
|
+
//#region src/component/FluxApplicationMenuContextSwitcher.vue
|
|
4317
|
+
var FluxApplicationMenuContextSwitcher_default = /* @__PURE__ */ defineComponent({
|
|
4318
|
+
__name: "FluxApplicationMenuContextSwitcher",
|
|
4319
|
+
setup(__props) {
|
|
4320
|
+
const { contexts, totalLevels, viewIndex, goToLevel } = useApplicationMenu_default();
|
|
4321
|
+
return (_ctx, _cache) => {
|
|
4322
|
+
return openBlock(), createBlock(unref(FluxFadeTransition), null, {
|
|
4323
|
+
default: withCtx(() => [unref(totalLevels) > 1 ? (openBlock(), createBlock(unref(FluxMenuGroup), {
|
|
4324
|
+
key: unref(totalLevels),
|
|
4325
|
+
"is-horizontal": ""
|
|
4326
|
+
}, {
|
|
4327
|
+
default: withCtx(() => [createVNode(unref(FluxMenuItem), {
|
|
4328
|
+
"icon-leading": "grid-2",
|
|
4329
|
+
"is-highlighted": 0 === unref(viewIndex),
|
|
4330
|
+
onClick: _cache[0] || (_cache[0] = ($event) => unref(goToLevel)(0))
|
|
4331
|
+
}, null, 8, ["is-highlighted"]), (openBlock(true), createElementBlock(Fragment, null, renderList(unref(contexts), (context, index) => {
|
|
4332
|
+
return openBlock(), createBlock(unref(FluxMenuItem), {
|
|
4333
|
+
key: context.id,
|
|
4334
|
+
"icon-leading": context.icon,
|
|
4335
|
+
"is-highlighted": index + 1 === unref(viewIndex),
|
|
4336
|
+
onClick: ($event) => unref(goToLevel)(index + 1)
|
|
4337
|
+
}, null, 8, [
|
|
4338
|
+
"icon-leading",
|
|
4339
|
+
"is-highlighted",
|
|
4340
|
+
"onClick"
|
|
4341
|
+
]);
|
|
4342
|
+
}), 128))]),
|
|
4343
|
+
_: 1
|
|
4344
|
+
})) : createCommentVNode("", true)]),
|
|
4345
|
+
_: 1
|
|
4346
|
+
});
|
|
4347
|
+
};
|
|
4348
|
+
}
|
|
4349
|
+
});
|
|
4350
|
+
//#endregion
|
|
4316
4351
|
//#region src/component/FluxApplicationMenuPromo.vue
|
|
4317
4352
|
var FluxApplicationMenuPromo_default = /* @__PURE__ */ defineComponent({
|
|
4318
4353
|
__name: "FluxApplicationMenuPromo",
|
|
@@ -4432,7 +4467,7 @@ var FluxApplicationTop_default = /* @__PURE__ */ defineComponent({
|
|
|
4432
4467
|
setup(__props) {
|
|
4433
4468
|
const slots = useSlots();
|
|
4434
4469
|
const { layout, showDesktopMenuToggle } = useApplicationInjection_default();
|
|
4435
|
-
const { y } =
|
|
4470
|
+
const { y } = j();
|
|
4436
4471
|
return (_ctx, _cache) => {
|
|
4437
4472
|
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
4473
|
createVNode(FluxApplicationMenuToggle_default, { class: normalizeClass(!unref(showDesktopMenuToggle) && unref(ApplicationTop_module_default).applicationTopMenuToggleHidden) }, null, 8, ["class"]),
|
|
@@ -4467,6 +4502,6 @@ var FluxApplicationTop_default = /* @__PURE__ */ defineComponent({
|
|
|
4467
4502
|
}
|
|
4468
4503
|
});
|
|
4469
4504
|
//#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 };
|
|
4505
|
+
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
4506
|
|
|
4472
4507
|
//# sourceMappingURL=index.js.map
|