@flux-ui/application 3.2.0-beta.2 → 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 +40 -5
- 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
|
|
@@ -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",
|
|
@@ -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
|