@leavepulse/ui 0.20.5 → 0.20.7
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/assets/{LpCommandPalette-Cp6Y-j7g.css → LpCommandPalette-C3LdDNHk.css} +4 -4
- package/dist/chunks/{LpAddressInput-CK6y3xZm.js → LpAddressInput-DaJ97mQ4.js} +1 -1
- package/dist/chunks/{LpAppShell-JWrWjNdC.js → LpAppShell-Ds3WkurD.js} +2 -2
- package/dist/chunks/{LpConfirmDialog-ClefCHIT.js → LpConfirmDialog-Cwqzbfgo.js} +1 -1
- package/dist/chunks/{LpDrawer-Dr1USsND.js → LpDrawer-DcxlpxJ7.js} +2 -2
- package/dist/chunks/{LpFileTree-DcoePIZq.js → LpFileTree-BGNzXknB.js} +1 -1
- package/dist/chunks/{LpLightbox-CzhFe9wZ.js → LpLightbox-Ci35Y_xP.js} +1 -1
- package/dist/chunks/{LpLogViewer-BDPbnCOU.js → LpLogViewer-DQod8kXW.js} +1 -1
- package/dist/chunks/{LpModal-BQvb6ekk.js → LpModal-2YEJI45Q.js} +2 -2
- package/dist/chunks/{LpNotificationBell-DDzQY0YA.js → LpNotificationBell-D1gdEtuI.js} +1 -1
- package/dist/chunks/{LpScrollArea-ZnycmmEI.js → LpScrollArea-CXy8dkTN.js} +29 -9
- package/dist/chunks/{LpSidebar-CC5759Mh.js → LpSidebar-B_UD_yUx.js} +2 -2
- package/dist/chunks/{LpSidebarNav-C0LjLp0O.js → LpSidebarNav-S1QPTGcg.js} +1 -1
- package/dist/chunks/{LpTable-CWS2V4JO.js → LpTable-pZmjnEti.js} +1 -1
- package/dist/components/LpAddressInput.vue.js +1 -1
- package/dist/components/LpAppShell.vue.js +1 -1
- package/dist/components/LpCommandPalette.vue.js +4 -4
- package/dist/components/LpConfirmDialog.vue.js +1 -1
- package/dist/components/LpDrawer.vue.js +1 -1
- package/dist/components/LpFileTree.vue.js +1 -1
- package/dist/components/LpLightbox.vue.js +1 -1
- package/dist/components/LpLogViewer.vue.js +1 -1
- package/dist/components/LpModal.vue.js +1 -1
- package/dist/components/LpNotificationBell.vue.js +1 -1
- package/dist/components/LpScrollArea.vue.js +1 -1
- package/dist/components/LpSidebar.vue.js +1 -1
- package/dist/components/LpSidebarNav.vue.js +1 -1
- package/dist/components/LpTable.vue.js +1 -1
- package/dist/index.js +12 -12
- package/package.json +1 -1
- package/src/components/LpCommandPalette.vue +1 -1
- package/src/components/LpDrawer.vue +1 -1
- package/src/components/LpLightbox.vue +1 -1
- package/src/components/LpModal.vue +1 -1
- package/src/components/LpScrollArea.vue +37 -10
- package/src/tokens/tokens.css +20 -0
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
|
|
2
2
|
/* Each result eases in; honours reduced motion. */
|
|
3
|
-
.lp-cmd-item[data-v-
|
|
4
|
-
animation: lp-cmd-in-
|
|
3
|
+
.lp-cmd-item[data-v-75a17488] {
|
|
4
|
+
animation: lp-cmd-in-75a17488 140ms ease-out both;
|
|
5
5
|
}
|
|
6
|
-
@keyframes lp-cmd-in-
|
|
6
|
+
@keyframes lp-cmd-in-75a17488 {
|
|
7
7
|
from {
|
|
8
8
|
opacity: 0;
|
|
9
9
|
transform: translateY(3px);
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
@media (prefers-reduced-motion: reduce) {
|
|
13
|
-
.lp-cmd-item[data-v-
|
|
13
|
+
.lp-cmd-item[data-v-75a17488] {
|
|
14
14
|
animation: none;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -6,7 +6,7 @@ import { _ as _sfc_main$3 } from "./LpButton-5VXXCjwF.js";
|
|
|
6
6
|
import { _ as _sfc_main$1 } from "./LpFormField-Bn-ZwC6z.js";
|
|
7
7
|
import { _ as _sfc_main$4 } from "./LpIcon-CCnX5_2j.js";
|
|
8
8
|
import { _ as _sfc_main$5 } from "./LpInput-BauZRyzm.js";
|
|
9
|
-
import { _ as _sfc_main$7 } from "./LpModal-
|
|
9
|
+
import { _ as _sfc_main$7 } from "./LpModal-2YEJI45Q.js";
|
|
10
10
|
import { _ as _sfc_main$6 } from "./LpSelect-D5mU4cZO.js";
|
|
11
11
|
const _hoisted_1 = { class: "flex flex-col gap-3" };
|
|
12
12
|
const _hoisted_2 = { class: "flex items-stretch gap-2" };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { defineComponent, computed, watch, openBlock, createElementBlock, createVNode, createSlots, withCtx, renderSlot, normalizeProps, guardReactiveProps, createElementVNode, normalizeClass, toDisplayString, createCommentVNode, createBlock } from "vue";
|
|
2
2
|
import { _ as _sfc_main$2 } from "./LpButton-5VXXCjwF.js";
|
|
3
3
|
import { _ as _sfc_main$3 } from "./LpIcon-CCnX5_2j.js";
|
|
4
|
-
import { _ as _sfc_main$4 } from "./LpScrollArea-
|
|
5
|
-
import { _ as _sfc_main$1 } from "./LpSidebar-
|
|
4
|
+
import { _ as _sfc_main$4 } from "./LpScrollArea-CXy8dkTN.js";
|
|
5
|
+
import { _ as _sfc_main$1 } from "./LpSidebar-B_UD_yUx.js";
|
|
6
6
|
const _hoisted_1 = { class: "flex h-dvh overflow-hidden bg-surface text-ink" };
|
|
7
7
|
const _hoisted_2 = { class: "flex min-w-0 flex-1 flex-col" };
|
|
8
8
|
const _hoisted_3 = { class: "flex h-16 shrink-0 items-center gap-3 border-b border-line bg-surface px-4 md:px-6" };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, openBlock, createBlock, withCtx, renderSlot, createVNode, createTextVNode, toDisplayString } from "vue";
|
|
2
2
|
import { _ as _sfc_main$2 } from "./LpButton-5VXXCjwF.js";
|
|
3
|
-
import { _ as _sfc_main$1 } from "./LpModal-
|
|
3
|
+
import { _ as _sfc_main$1 } from "./LpModal-2YEJI45Q.js";
|
|
4
4
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
5
5
|
__name: "LpConfirmDialog",
|
|
6
6
|
props: {
|
|
@@ -3,7 +3,7 @@ import { usePointerSwipe } from "@vueuse/core";
|
|
|
3
3
|
import { DrawerRoot, DrawerPortal, DrawerOverlay, DrawerContent, DrawerHandle, DrawerTitle, DrawerDescription, DrawerClose } from "vaul-vue";
|
|
4
4
|
import { CLOSE_ICON } from "../components/dropdown.js";
|
|
5
5
|
import { _ as _sfc_main$1 } from "./LpIcon-CCnX5_2j.js";
|
|
6
|
-
import { _ as _sfc_main$2 } from "./LpScrollArea-
|
|
6
|
+
import { _ as _sfc_main$2 } from "./LpScrollArea-CXy8dkTN.js";
|
|
7
7
|
const _hoisted_1 = { class: "text-base font-semibold text-ink" };
|
|
8
8
|
const _hoisted_2 = { class: "flex flex-col gap-1" };
|
|
9
9
|
const _hoisted_3 = ["data-vaul-no-drag"];
|
|
@@ -215,7 +215,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
215
215
|
default: withCtx(() => [
|
|
216
216
|
createVNode(unref(DrawerPortal), null, {
|
|
217
217
|
default: withCtx(() => [
|
|
218
|
-
createVNode(unref(DrawerOverlay), { class: "lp-scrim fixed inset-0 z-(--z-overlay)
|
|
218
|
+
createVNode(unref(DrawerOverlay), { class: "lp-scrim fixed inset-0 z-(--z-overlay) data-[state=open]:animate-[fade-in_150ms_ease] data-[state=closed]:animate-[fade-out_130ms_ease]" }),
|
|
219
219
|
createVNode(unref(DrawerContent), {
|
|
220
220
|
class: normalizeClass(contentClass.value),
|
|
221
221
|
style: normalizeStyle(sizeStyle.value),
|
|
@@ -2,7 +2,7 @@ import { defineComponent, ref, watch, computed, openBlock, createElementBlock, F
|
|
|
2
2
|
import { formatSize, sortNodes, computeStats, subtreeIds, ancestorIds } from "../components/fileTree.js";
|
|
3
3
|
import { _ as _sfc_main$1 } from "./LpEmptyState-CrfyRJUG.js";
|
|
4
4
|
import { _ as _sfc_main$3 } from "./LpFileTreeNode-DFg4PhOK.js";
|
|
5
|
-
import { _ as _sfc_main$2 } from "./LpScrollArea-
|
|
5
|
+
import { _ as _sfc_main$2 } from "./LpScrollArea-CXy8dkTN.js";
|
|
6
6
|
const _hoisted_1 = {
|
|
7
7
|
key: 0,
|
|
8
8
|
class: "flex h-full w-full min-w-0 flex-col gap-1 overflow-hidden"
|
|
@@ -210,7 +210,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
210
210
|
default: withCtx(() => [
|
|
211
211
|
createVNode(unref(DialogPortal), null, {
|
|
212
212
|
default: withCtx(() => [
|
|
213
|
-
createVNode(unref(DialogOverlay), { class: "lp-scrim fixed inset-0 z-(--z-lightbox-overlay)
|
|
213
|
+
createVNode(unref(DialogOverlay), { class: "lp-scrim lp-scrim--deep fixed inset-0 z-(--z-lightbox-overlay) data-[state=open]:animate-[fade-in_var(--duration-medium)_var(--ease-emphasized)] data-[state=closed]:animate-[fade-out_120ms_ease]" }),
|
|
214
214
|
createVNode(unref(DialogContent), {
|
|
215
215
|
class: "fixed inset-0 z-(--z-lightbox) flex flex-col outline-none data-[state=open]:animate-[lightbox-in_var(--duration-medium)_var(--ease-emphasized)] data-[state=closed]:animate-[lightbox-out_140ms_cubic-bezier(0.4,0,1,1)] motion-reduce:animate-none",
|
|
216
216
|
onKeydown
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent, computed, ref, watch, nextTick, onMounted, onBeforeUnmount, openBlock, createElementBlock, createVNode, normalizeStyle, withCtx, createElementVNode, toDisplayString, createCommentVNode, Fragment, createBlock, resolveDynamicComponent, TransitionGroup, mergeProps, renderList, normalizeClass, createTextVNode, Transition } from "vue";
|
|
2
2
|
import { _ as _sfc_main$3 } from "./LpContextMenu-D0mzXqA7.js";
|
|
3
3
|
import { _ as _sfc_main$2 } from "./LpIcon-CCnX5_2j.js";
|
|
4
|
-
import { _ as _sfc_main$1 } from "./LpScrollArea-
|
|
4
|
+
import { _ as _sfc_main$1 } from "./LpScrollArea-CXy8dkTN.js";
|
|
5
5
|
const _hoisted_1 = { class: "relative overflow-hidden rounded-card border border-line bg-surface font-mono text-xs leading-relaxed" };
|
|
6
6
|
const _hoisted_2 = {
|
|
7
7
|
key: 0,
|
|
@@ -2,7 +2,7 @@ import { defineComponent, computed, useSlots, ref, watch, onBeforeUnmount, openB
|
|
|
2
2
|
import { DialogRoot, DialogPortal, DialogOverlay, DialogContent, DialogTitle, DialogDescription, DialogClose } from "reka-ui";
|
|
3
3
|
import { CLOSE_ICON } from "../components/dropdown.js";
|
|
4
4
|
import { _ as _sfc_main$1 } from "./LpIcon-CCnX5_2j.js";
|
|
5
|
-
import { _ as _sfc_main$2 } from "./LpScrollArea-
|
|
5
|
+
import { _ as _sfc_main$2 } from "./LpScrollArea-CXy8dkTN.js";
|
|
6
6
|
const _hoisted_1 = { class: "fixed inset-0 z-(--z-modal) flex items-center justify-center pointer-events-none" };
|
|
7
7
|
const _hoisted_2 = {
|
|
8
8
|
key: 0,
|
|
@@ -135,7 +135,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
135
135
|
default: withCtx(() => [
|
|
136
136
|
createVNode(unref(DialogPortal), null, {
|
|
137
137
|
default: withCtx(() => [
|
|
138
|
-
createVNode(unref(DialogOverlay), { class: "lp-scrim fixed inset-0 z-(--z-overlay)
|
|
138
|
+
createVNode(unref(DialogOverlay), { class: "lp-scrim fixed inset-0 z-(--z-overlay) data-[state=open]:animate-[fade-in_var(--duration-medium)_var(--ease-emphasized)] data-[state=closed]:animate-[fade-out_120ms_ease]" }),
|
|
139
139
|
createElementVNode("div", _hoisted_1, [
|
|
140
140
|
createVNode(unref(DialogContent), mergeProps({
|
|
141
141
|
ref_key: "panelRef",
|
|
@@ -5,7 +5,7 @@ import { _ as _sfc_main$4 } from "./LpContextMenu-D0mzXqA7.js";
|
|
|
5
5
|
import { _ as _sfc_main$2 } from "./LpEmptyState-CrfyRJUG.js";
|
|
6
6
|
import { _ as _sfc_main$5 } from "./LpIcon-CCnX5_2j.js";
|
|
7
7
|
import { _ as _sfc_main$1 } from "./LpPopover-8268UmlC.js";
|
|
8
|
-
import { _ as _sfc_main$3 } from "./LpScrollArea-
|
|
8
|
+
import { _ as _sfc_main$3 } from "./LpScrollArea-CXy8dkTN.js";
|
|
9
9
|
const _hoisted_1 = { class: "flex items-center justify-between gap-2 px-3 py-2.5" };
|
|
10
10
|
const _hoisted_2 = { class: "text-sm font-semibold" };
|
|
11
11
|
const _hoisted_3 = {
|
|
@@ -35,21 +35,41 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
35
35
|
if (props.fade) measureEdges(event.target);
|
|
36
36
|
emit("scroll", event);
|
|
37
37
|
}
|
|
38
|
-
let
|
|
38
|
+
let edgeResize;
|
|
39
|
+
let edgeMutation;
|
|
40
|
+
function stopEdgeWatch() {
|
|
41
|
+
edgeResize?.disconnect();
|
|
42
|
+
edgeMutation?.disconnect();
|
|
43
|
+
edgeResize = void 0;
|
|
44
|
+
edgeMutation = void 0;
|
|
45
|
+
}
|
|
39
46
|
watch(
|
|
40
47
|
[viewportEl, () => props.fade],
|
|
41
48
|
([el, enabled]) => {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
+
stopEdgeWatch();
|
|
50
|
+
if (!el || !enabled) return;
|
|
51
|
+
const remeasure = () => measureEdges(el);
|
|
52
|
+
remeasure();
|
|
53
|
+
if (typeof ResizeObserver !== "undefined") {
|
|
54
|
+
edgeResize = new ResizeObserver(remeasure);
|
|
55
|
+
edgeResize.observe(el);
|
|
56
|
+
for (const child of Array.from(el.children)) edgeResize.observe(child);
|
|
57
|
+
}
|
|
58
|
+
if (typeof MutationObserver !== "undefined") {
|
|
59
|
+
edgeMutation = new MutationObserver(() => {
|
|
60
|
+
if (edgeResize) {
|
|
61
|
+
edgeResize.disconnect();
|
|
62
|
+
edgeResize.observe(el);
|
|
63
|
+
for (const child of Array.from(el.children)) edgeResize.observe(child);
|
|
64
|
+
}
|
|
65
|
+
remeasure();
|
|
66
|
+
});
|
|
67
|
+
edgeMutation.observe(el, { childList: true, subtree: true });
|
|
68
|
+
}
|
|
49
69
|
},
|
|
50
70
|
{ immediate: true, flush: "post" }
|
|
51
71
|
);
|
|
52
|
-
onBeforeUnmount(
|
|
72
|
+
onBeforeUnmount(stopEdgeWatch);
|
|
53
73
|
function onThumbPointerDown() {
|
|
54
74
|
dragging.value = true;
|
|
55
75
|
const stop = () => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, computed, useId, openBlock, createElementBlock, Fragment, createElementVNode, mergeProps, normalizeClass, renderSlot, createCommentVNode, createVNode, createSlots, withCtx, normalizeProps, guardReactiveProps, createBlock } from "vue";
|
|
2
|
-
import { _ as _sfc_main$2 } from "./LpDrawer-
|
|
3
|
-
import { _ as _sfc_main$1 } from "./LpSidebarNav-
|
|
2
|
+
import { _ as _sfc_main$2 } from "./LpDrawer-DcxlpxJ7.js";
|
|
3
|
+
import { _ as _sfc_main$1 } from "./LpSidebarNav-S1QPTGcg.js";
|
|
4
4
|
const _hoisted_1 = {
|
|
5
5
|
key: 1,
|
|
6
6
|
class: "mt-2 flex shrink-0 flex-col gap-2"
|
|
@@ -4,7 +4,7 @@ import { usePillTransition } from "../composables/usePillTransition.js";
|
|
|
4
4
|
import { _ as _sfc_main$4 } from "./LpBadge-CXzBPnwO.js";
|
|
5
5
|
import { _ as _sfc_main$2 } from "./LpContextMenu-D0mzXqA7.js";
|
|
6
6
|
import { _ as _sfc_main$3 } from "./LpIcon-CCnX5_2j.js";
|
|
7
|
-
import { _ as _sfc_main$1 } from "./LpScrollArea-
|
|
7
|
+
import { _ as _sfc_main$1 } from "./LpScrollArea-CXy8dkTN.js";
|
|
8
8
|
const _hoisted_1 = {
|
|
9
9
|
key: 0,
|
|
10
10
|
class: "flex min-h-0 flex-1 flex-col gap-4"
|
|
@@ -2,7 +2,7 @@ import { defineComponent, computed, ref, watch, onBeforeUnmount, openBlock, crea
|
|
|
2
2
|
import { _ as _sfc_main$2 } from "./LpCheckbox-BO0zuuPh.js";
|
|
3
3
|
import { _ as _sfc_main$4 } from "./LpContextMenu-D0mzXqA7.js";
|
|
4
4
|
import { _ as _sfc_main$3 } from "./LpIcon-CCnX5_2j.js";
|
|
5
|
-
import { _ as _sfc_main$1 } from "./LpScrollArea-
|
|
5
|
+
import { _ as _sfc_main$1 } from "./LpScrollArea-CXy8dkTN.js";
|
|
6
6
|
const _hoisted_1 = { class: "w-full border-collapse text-sm" };
|
|
7
7
|
const _hoisted_2 = { class: "border-b border-line bg-surface-soft" };
|
|
8
8
|
const _hoisted_3 = {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { defineComponent, ref, computed, watch, nextTick, onMounted, onBeforeUnmount, openBlock, createBlock, unref, withCtx, createVNode, withModifiers, createTextVNode, createElementVNode, withDirectives, withKeys, vModelText, createElementBlock, toDisplayString, createCommentVNode, Fragment, renderList, normalizeClass } from "vue";
|
|
2
2
|
import { DialogRoot, DialogPortal, DialogOverlay, DialogContent, DialogTitle, DialogDescription } from "reka-ui";
|
|
3
3
|
import { _ as _sfc_main$1 } from "../chunks/LpIcon-CCnX5_2j.js";
|
|
4
|
-
import { _ as _sfc_main$2 } from "../chunks/LpScrollArea-
|
|
5
|
-
import '../assets/LpCommandPalette-
|
|
4
|
+
import { _ as _sfc_main$2 } from "../chunks/LpScrollArea-CXy8dkTN.js";
|
|
5
|
+
import '../assets/LpCommandPalette-C3LdDNHk.css';const _hoisted_1 = { class: "flex shrink-0 items-center gap-2.5 border-b border-line px-4" };
|
|
6
6
|
const _hoisted_2 = ["placeholder", "onKeydown"];
|
|
7
7
|
const _hoisted_3 = {
|
|
8
8
|
key: 0,
|
|
@@ -167,7 +167,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
167
167
|
default: withCtx(() => [
|
|
168
168
|
createVNode(unref(DialogPortal), null, {
|
|
169
169
|
default: withCtx(() => [
|
|
170
|
-
createVNode(unref(DialogOverlay), { class: "lp-scrim fixed inset-0 z-(--z-overlay)
|
|
170
|
+
createVNode(unref(DialogOverlay), { class: "lp-scrim fixed inset-0 z-(--z-overlay) data-[state=open]:animate-[fade-in_150ms_ease] data-[state=closed]:animate-[fade-out_130ms_ease]" }),
|
|
171
171
|
createVNode(unref(DialogContent), {
|
|
172
172
|
class: "fixed left-1/2 top-[12vh] z-(--z-modal) flex max-h-[76vh] w-[min(92vw,40rem)] -translate-x-1/2 flex-col overflow-hidden rounded-card border border-line bg-surface-raised shadow-panel outline-none data-[state=open]:animate-[pop-in_160ms_var(--ease-emphasized)] data-[state=closed]:animate-[pop-out_130ms_ease]",
|
|
173
173
|
onOpenAutoFocus: _cache[1] || (_cache[1] = withModifiers(() => {
|
|
@@ -304,7 +304,7 @@ const _export_sfc = (sfc, props) => {
|
|
|
304
304
|
}
|
|
305
305
|
return target;
|
|
306
306
|
};
|
|
307
|
-
const LpCommandPalette = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
307
|
+
const LpCommandPalette = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-75a17488"]]);
|
|
308
308
|
export {
|
|
309
309
|
LpCommandPalette as default
|
|
310
310
|
};
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { _ } from "./chunks/LayoutCanvas-Dd20boUG.js";
|
|
2
|
-
import { _ as _2 } from "./chunks/LpAddressInput-
|
|
2
|
+
import { _ as _2 } from "./chunks/LpAddressInput-DaJ97mQ4.js";
|
|
3
3
|
import { _ as _3 } from "./chunks/LpMapPicker-DFKrd1Ne.js";
|
|
4
4
|
import { OSM_TILES, createNominatimProvider, emptyAddress, formatAddress, project, tileUrl, unproject } from "./components/address.js";
|
|
5
5
|
import { _ as _4 } from "./chunks/LpAlert-BAYHDSS1.js";
|
|
6
|
-
import { _ as _5 } from "./chunks/LpAppShell-
|
|
6
|
+
import { _ as _5 } from "./chunks/LpAppShell-Ds3WkurD.js";
|
|
7
7
|
import { _ as _6 } from "./chunks/LpAutocomplete-DIgXmtCA.js";
|
|
8
8
|
import { _ as _7 } from "./chunks/LpAvatar-B1Ez0ZAx.js";
|
|
9
9
|
import { _ as _8 } from "./chunks/LpBadge-CXzBPnwO.js";
|
|
@@ -14,26 +14,26 @@ import { _ as _12 } from "./chunks/LpCard-BmrTvWOe.js";
|
|
|
14
14
|
import { _ as _13 } from "./chunks/LpCheckbox-BO0zuuPh.js";
|
|
15
15
|
import { _ as _14 } from "./chunks/LpCodeBlock-CSiOSPs8.js";
|
|
16
16
|
import { default as default2 } from "./components/LpCommandPalette.vue.js";
|
|
17
|
-
import { _ as _15 } from "./chunks/LpConfirmDialog-
|
|
17
|
+
import { _ as _15 } from "./chunks/LpConfirmDialog-Cwqzbfgo.js";
|
|
18
18
|
import { _ as _16 } from "./chunks/LpContextMenu-D0mzXqA7.js";
|
|
19
19
|
import { _ as _17 } from "./chunks/LpDatePicker-dY2q4dr4.js";
|
|
20
20
|
import { _ as _18 } from "./chunks/LpDisclosure-DP6yfgfM.js";
|
|
21
21
|
import { _ as _19 } from "./chunks/LpDivider-CUX46KR0.js";
|
|
22
|
-
import { _ as _20 } from "./chunks/LpDrawer-
|
|
22
|
+
import { _ as _20 } from "./chunks/LpDrawer-DcxlpxJ7.js";
|
|
23
23
|
import { _ as _21 } from "./chunks/LpDropdownMenu-DJpoqRCb.js";
|
|
24
24
|
import { _ as _22 } from "./chunks/LpEmptyState-CrfyRJUG.js";
|
|
25
|
-
import { _ as _23 } from "./chunks/LpFileTree-
|
|
25
|
+
import { _ as _23 } from "./chunks/LpFileTree-BGNzXknB.js";
|
|
26
26
|
import { ancestorIds, checkStateOf, checkedCount, computeStats, fileIcon, formatModified, formatSize, sortNodes, subtreeIds, subtreeSize } from "./components/fileTree.js";
|
|
27
27
|
import { _ as _24 } from "./chunks/LpFormField-Bn-ZwC6z.js";
|
|
28
28
|
import { _ as _25 } from "./chunks/LpIcon-CCnX5_2j.js";
|
|
29
29
|
import { _ as _26 } from "./chunks/LpInfraNode-C_PHcthC.js";
|
|
30
30
|
import { _ as _27 } from "./chunks/LpInput-BauZRyzm.js";
|
|
31
|
-
import { _ as _28 } from "./chunks/LpLightbox-
|
|
31
|
+
import { _ as _28 } from "./chunks/LpLightbox-Ci35Y_xP.js";
|
|
32
32
|
import { fileNameOf } from "./components/lightbox.js";
|
|
33
33
|
import { _ as _29 } from "./chunks/LpLink-DHwOEp4e.js";
|
|
34
|
-
import { _ as _30 } from "./chunks/LpLogViewer-
|
|
35
|
-
import { _ as _31 } from "./chunks/LpModal-
|
|
36
|
-
import { _ as _32 } from "./chunks/LpNotificationBell-
|
|
34
|
+
import { _ as _30 } from "./chunks/LpLogViewer-DQod8kXW.js";
|
|
35
|
+
import { _ as _31 } from "./chunks/LpModal-2YEJI45Q.js";
|
|
36
|
+
import { _ as _32 } from "./chunks/LpNotificationBell-D1gdEtuI.js";
|
|
37
37
|
import { _ as _33 } from "./chunks/LpNumberField-C5ar-OwE.js";
|
|
38
38
|
import { _ as _34 } from "./chunks/LpOtpInput-DqaT0Z75.js";
|
|
39
39
|
import { _ as _35 } from "./chunks/LpPagination-CeGuNe_q.js";
|
|
@@ -44,17 +44,17 @@ import { _ as _38 } from "./chunks/LpPopover-8268UmlC.js";
|
|
|
44
44
|
import { _ as _39 } from "./chunks/LpProgress-BhI0IbjC.js";
|
|
45
45
|
import { _ as _40 } from "./chunks/LpRadio-CL-pI0_O.js";
|
|
46
46
|
import { _ as _41 } from "./chunks/LpRadioGroup-B4yDTmi6.js";
|
|
47
|
-
import { _ as _42 } from "./chunks/LpScrollArea-
|
|
47
|
+
import { _ as _42 } from "./chunks/LpScrollArea-CXy8dkTN.js";
|
|
48
48
|
import { _ as _43 } from "./chunks/LpSegmented-BmpanyAo.js";
|
|
49
49
|
import { _ as _44 } from "./chunks/LpSelect-D5mU4cZO.js";
|
|
50
50
|
import { _ as _45 } from "./chunks/LpServiceNode-Dc-Ut5RS.js";
|
|
51
|
-
import { _ as _46 } from "./chunks/LpSidebar-
|
|
51
|
+
import { _ as _46 } from "./chunks/LpSidebar-B_UD_yUx.js";
|
|
52
52
|
import { _ as _47 } from "./chunks/LpSkeleton-eSFIo4kD.js";
|
|
53
53
|
import { _ as _48 } from "./chunks/LpSlider-B1SF3pRV.js";
|
|
54
54
|
import { _ as _49 } from "./chunks/LpStat-CdbEFOvn.js";
|
|
55
55
|
import { _ as _50 } from "./chunks/LpStepper-5dFTrW21.js";
|
|
56
56
|
import { _ as _51 } from "./chunks/LpSwitch-v6fnccSM.js";
|
|
57
|
-
import { _ as _52 } from "./chunks/LpTable-
|
|
57
|
+
import { _ as _52 } from "./chunks/LpTable-pZmjnEti.js";
|
|
58
58
|
import { _ as _53 } from "./chunks/LpTableOfContents-CjvxPMpU.js";
|
|
59
59
|
import { _ as _54 } from "./chunks/LpTabs-D7aTVPOb.js";
|
|
60
60
|
import { _ as _55 } from "./chunks/LpTextarea-CRAkhemZ.js";
|
package/package.json
CHANGED
|
@@ -212,7 +212,7 @@ onBeforeUnmount(() => window.removeEventListener("keydown", onHotkey))
|
|
|
212
212
|
<DialogRoot :open="open" @update:open="(v) => emit('update:open', v)">
|
|
213
213
|
<DialogPortal>
|
|
214
214
|
<DialogOverlay
|
|
215
|
-
class="lp-scrim fixed inset-0 z-(--z-overlay)
|
|
215
|
+
class="lp-scrim fixed inset-0 z-(--z-overlay) data-[state=open]:animate-[fade-in_150ms_ease] data-[state=closed]:animate-[fade-out_130ms_ease]"
|
|
216
216
|
/>
|
|
217
217
|
<DialogContent
|
|
218
218
|
class="fixed left-1/2 top-[12vh] z-(--z-modal) flex max-h-[76vh] w-[min(92vw,40rem)] -translate-x-1/2 flex-col overflow-hidden rounded-card border border-line bg-surface-raised shadow-panel outline-none data-[state=open]:animate-[pop-in_160ms_var(--ease-emphasized)] data-[state=closed]:animate-[pop-out_130ms_ease]"
|
|
@@ -345,7 +345,7 @@ const edgeStripClass = computed(() =>
|
|
|
345
345
|
>
|
|
346
346
|
<DrawerPortal>
|
|
347
347
|
<DrawerOverlay
|
|
348
|
-
class="lp-scrim fixed inset-0 z-(--z-overlay)
|
|
348
|
+
class="lp-scrim fixed inset-0 z-(--z-overlay) data-[state=open]:animate-[fade-in_150ms_ease] data-[state=closed]:animate-[fade-out_130ms_ease]"
|
|
349
349
|
/>
|
|
350
350
|
<DrawerContent
|
|
351
351
|
:class="contentClass"
|
|
@@ -273,7 +273,7 @@ const ARROW =
|
|
|
273
273
|
<!-- Sits on the lightbox rung, not the shared modal one: opening this
|
|
274
274
|
from inside a dialog must cover that dialog, not tie with it. -->
|
|
275
275
|
<DialogOverlay
|
|
276
|
-
class="lp-scrim fixed inset-0 z-(--z-lightbox-overlay)
|
|
276
|
+
class="lp-scrim lp-scrim--deep fixed inset-0 z-(--z-lightbox-overlay) data-[state=open]:animate-[fade-in_var(--duration-medium)_var(--ease-emphasized)] data-[state=closed]:animate-[fade-out_120ms_ease]"
|
|
277
277
|
/>
|
|
278
278
|
<DialogContent
|
|
279
279
|
class="fixed inset-0 z-(--z-lightbox) flex flex-col outline-none data-[state=open]:animate-[lightbox-in_var(--duration-medium)_var(--ease-emphasized)] data-[state=closed]:animate-[lightbox-out_140ms_cubic-bezier(0.4,0,1,1)] motion-reduce:animate-none"
|
|
@@ -219,7 +219,7 @@ onBeforeUnmount(() => {
|
|
|
219
219
|
<DialogRoot :open="open" @update:open="(v) => $emit('update:open', v)">
|
|
220
220
|
<DialogPortal>
|
|
221
221
|
<DialogOverlay
|
|
222
|
-
class="lp-scrim fixed inset-0 z-(--z-overlay)
|
|
222
|
+
class="lp-scrim fixed inset-0 z-(--z-overlay) data-[state=open]:animate-[fade-in_var(--duration-medium)_var(--ease-emphasized)] data-[state=closed]:animate-[fade-out_120ms_ease]"
|
|
223
223
|
/>
|
|
224
224
|
<!-- Centred by a full-screen flex wrapper rather than by translating the
|
|
225
225
|
panel off its own centre. With `top:50% / -translate-y-1/2` the panel
|
|
@@ -101,24 +101,51 @@ function onViewportScroll(event: Event) {
|
|
|
101
101
|
// that fills in, a panel that resizes, or content short enough to need no fade
|
|
102
102
|
// at all never fire a scroll event. Watched only when `fade` is on, since
|
|
103
103
|
// nothing else here depends on the measurements.
|
|
104
|
-
let
|
|
104
|
+
let edgeResize: ResizeObserver | undefined
|
|
105
|
+
let edgeMutation: MutationObserver | undefined
|
|
106
|
+
|
|
107
|
+
function stopEdgeWatch() {
|
|
108
|
+
edgeResize?.disconnect()
|
|
109
|
+
edgeMutation?.disconnect()
|
|
110
|
+
edgeResize = undefined
|
|
111
|
+
edgeMutation = undefined
|
|
112
|
+
}
|
|
105
113
|
|
|
106
114
|
watch(
|
|
107
115
|
[viewportEl, () => props.fade],
|
|
108
116
|
([el, enabled]) => {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
measureEdges(el)
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
+
stopEdgeWatch()
|
|
118
|
+
if (!el || !enabled) return
|
|
119
|
+
|
|
120
|
+
const remeasure = () => measureEdges(el)
|
|
121
|
+
remeasure()
|
|
122
|
+
|
|
123
|
+
if (typeof ResizeObserver !== "undefined") {
|
|
124
|
+
edgeResize = new ResizeObserver(remeasure)
|
|
125
|
+
edgeResize.observe(el)
|
|
126
|
+
// Watching the children too, since a grid that reflows into more rows
|
|
127
|
+
// grows the content box without the viewport's own size moving.
|
|
128
|
+
for (const child of Array.from(el.children)) edgeResize.observe(child)
|
|
129
|
+
}
|
|
130
|
+
// Rows arriving after the first paint are the common case — a list waiting
|
|
131
|
+
// on a query renders empty, and observing only the boxes that existed then
|
|
132
|
+
// left the fade off until something else happened to trigger a measure.
|
|
133
|
+
if (typeof MutationObserver !== "undefined") {
|
|
134
|
+
edgeMutation = new MutationObserver(() => {
|
|
135
|
+
if (edgeResize) {
|
|
136
|
+
edgeResize.disconnect()
|
|
137
|
+
edgeResize.observe(el)
|
|
138
|
+
for (const child of Array.from(el.children)) edgeResize.observe(child)
|
|
139
|
+
}
|
|
140
|
+
remeasure()
|
|
141
|
+
})
|
|
142
|
+
edgeMutation.observe(el, { childList: true, subtree: true })
|
|
143
|
+
}
|
|
117
144
|
},
|
|
118
145
|
{ immediate: true, flush: "post" },
|
|
119
146
|
)
|
|
120
147
|
|
|
121
|
-
onBeforeUnmount(
|
|
148
|
+
onBeforeUnmount(stopEdgeWatch)
|
|
122
149
|
|
|
123
150
|
function onThumbPointerDown() {
|
|
124
151
|
dragging.value = true
|
package/src/tokens/tokens.css
CHANGED
|
@@ -436,14 +436,34 @@
|
|
|
436
436
|
*/
|
|
437
437
|
.lp-scrim {
|
|
438
438
|
background-color: rgb(0 0 0 / var(--scrim-opacity, 0.5));
|
|
439
|
+
backdrop-filter: blur(var(--scrim-blur, 4px));
|
|
440
|
+
-webkit-backdrop-filter: blur(var(--scrim-blur, 4px));
|
|
439
441
|
}
|
|
440
442
|
|
|
443
|
+
/*
|
|
444
|
+
* The blur lives here rather than on each overlay as a `backdrop-blur-*`
|
|
445
|
+
* utility: a utility sits outside this rule and the fallback below cannot
|
|
446
|
+
* unset it, so on WebKitGTK every scrim carried a filter that never painted
|
|
447
|
+
* while the engines that do paint it disagreed with the token. One owner for
|
|
448
|
+
* both halves keeps the two cases in step.
|
|
449
|
+
*/
|
|
441
450
|
:root[data-lp-no-backdrop] .lp-scrim {
|
|
442
451
|
backdrop-filter: none;
|
|
443
452
|
-webkit-backdrop-filter: none;
|
|
444
453
|
--scrim-opacity: 0.62;
|
|
445
454
|
}
|
|
446
455
|
|
|
456
|
+
/*
|
|
457
|
+
* A lightbox is the one scrim that hides a whole page behind a photo, and it is
|
|
458
|
+
* usually opened FROM a dialog — so it is the layer the mild shared tint serves
|
|
459
|
+
* worst: without the blur, the content behind stayed readable around the image.
|
|
460
|
+
* It gets its own value instead of raising the shared one, which would darken
|
|
461
|
+
* every stacked pair.
|
|
462
|
+
*/
|
|
463
|
+
:root[data-lp-no-backdrop] .lp-scrim--deep {
|
|
464
|
+
--scrim-opacity: 0.78;
|
|
465
|
+
}
|
|
466
|
+
|
|
447
467
|
/* The overlay gradient rides above the base fill but under the content. */
|
|
448
468
|
.lp-skin-panel::before {
|
|
449
469
|
content: "";
|