@leavepulse/ui 0.29.3 → 0.29.5

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 (36) hide show
  1. package/dist/assets/LpChart-CzgCGaAA.css +8 -0
  2. package/dist/assets/{LpTable-B9Iko3XD.css → LpTable-Bz3uJNa3.css} +8 -8
  3. package/dist/chunks/{LpAppShell-CGX0DlIW.js → LpAppShell-BJk3b-u4.js} +1 -1
  4. package/dist/chunks/{LpAvatar-CzCE5cXg.js → LpAvatar-D3l4nabg.js} +1 -1
  5. package/dist/chunks/{LpCard-DSefTGEH.js → LpCard-D0M2ZCnB.js} +1 -1
  6. package/dist/chunks/{LpContextMenu-D0mzXqA7.js → LpContextMenu-B6WBLleS.js} +55 -8
  7. package/dist/chunks/{LpFileTree-BaV7f0O7.js → LpFileTree-DfFqY__1.js} +1 -1
  8. package/dist/chunks/{LpFileTreeNode-BzpBa7R7.js → LpFileTreeNode-COchUMNn.js} +1 -1
  9. package/dist/chunks/{LpLogViewer-CKmEQYnm.js → LpLogViewer-CVaGfTF_.js} +1 -1
  10. package/dist/chunks/{LpNotificationBell-Dvu-b6Vn.js → LpNotificationBell-CTsIcPqX.js} +1 -1
  11. package/dist/chunks/{LpPie-BkjWlfSw.js → LpPie-BL1vTDSM.js} +1 -1
  12. package/dist/chunks/{LpSidebar-CWehDCxN.js → LpSidebar-C_Mr-JPI.js} +1 -1
  13. package/dist/chunks/{LpSidebarNav-5RGNr2D3.js → LpSidebarNav-D6v12-36.js} +1 -1
  14. package/dist/chunks/{LpThemeSwitcher-Dj4VcTu7.js → LpThemeSwitcher-r1te9nB2.js} +1 -1
  15. package/dist/components/LpAppShell.vue.js +1 -1
  16. package/dist/components/LpAvatar.vue.js +1 -1
  17. package/dist/components/LpCard.vue.js +1 -1
  18. package/dist/components/LpChart.vue.js +814 -2
  19. package/dist/components/LpContextMenu.vue.d.ts +7 -0
  20. package/dist/components/LpContextMenu.vue.js +1 -1
  21. package/dist/components/LpFileTree.vue.js +1 -1
  22. package/dist/components/LpFileTreeNode.vue.js +1 -1
  23. package/dist/components/LpLogViewer.vue.js +1 -1
  24. package/dist/components/LpNotificationBell.vue.js +1 -1
  25. package/dist/components/LpPie.vue.js +1 -1
  26. package/dist/components/LpSidebar.vue.js +1 -1
  27. package/dist/components/LpSidebarNav.vue.js +1 -1
  28. package/dist/components/LpTable.vue.d.ts +19 -0
  29. package/dist/components/LpTable.vue.js +233 -143
  30. package/dist/components/LpThemeSwitcher.vue.js +1 -1
  31. package/dist/index.js +124 -124
  32. package/package.json +1 -1
  33. package/src/components/LpChart.vue +337 -63
  34. package/src/components/LpContextMenu.vue +49 -0
  35. package/src/components/LpTable.vue +166 -23
  36. package/dist/chunks/LpChart-UiU4RhXP.js +0 -672
@@ -0,0 +1,8 @@
1
+
2
+ /*
3
+ * A series leaving, and the axis it was measured against following it.
4
+ *
5
+ * Both run on the same duration so the curve and its numbers settle together:
6
+ * the axis arriving first would read as the scale having changed for its own
7
+ * reasons, rather than because a series left.
8
+ */
@@ -11,17 +11,17 @@
11
11
  * fade before closing the gap and the whole list lurches at the end instead of
12
12
  * gliding.
13
13
  */
14
- .lp-row-enter-active[data-v-4fedb617],
15
- .lp-row-leave-active[data-v-4fedb617] {
14
+ .lp-row-enter-active[data-v-f9c874a7],
15
+ .lp-row-leave-active[data-v-f9c874a7] {
16
16
  transition:
17
17
  opacity var(--duration-fast) var(--ease-emphasized),
18
18
  transform var(--duration-fast) var(--ease-emphasized);
19
19
  }
20
- .lp-row-move[data-v-4fedb617] {
20
+ .lp-row-move[data-v-f9c874a7] {
21
21
  transition: transform var(--duration-medium) var(--ease-emphasized);
22
22
  }
23
- .lp-row-enter-from[data-v-4fedb617],
24
- .lp-row-leave-to[data-v-4fedb617] {
23
+ .lp-row-enter-from[data-v-f9c874a7],
24
+ .lp-row-leave-to[data-v-f9c874a7] {
25
25
  opacity: 0;
26
26
  transform: translateX(-0.5rem);
27
27
  }
@@ -37,9 +37,9 @@
37
37
  /* A filter that redraws the list is information, not decoration: with motion
38
38
  turned down the rows change without animating rather than not changing. */
39
39
  @media (prefers-reduced-motion: reduce) {
40
- .lp-row-enter-active[data-v-4fedb617],
41
- .lp-row-leave-active[data-v-4fedb617],
42
- .lp-row-move[data-v-4fedb617] {
40
+ .lp-row-enter-active[data-v-f9c874a7],
41
+ .lp-row-leave-active[data-v-f9c874a7],
42
+ .lp-row-move[data-v-f9c874a7] {
43
43
  transition: none;
44
44
  }
45
45
  }
@@ -3,7 +3,7 @@ import { _ as _sfc_main$2 } from "./LpButton-5VXXCjwF.js";
3
3
  import { _ as _sfc_main$3 } from "./LpIcon-CCnX5_2j.js";
4
4
  import { _ as _sfc_main$5 } from "./LpScrollArea-D8xyKXcF.js";
5
5
  import { _ as _sfc_main$4 } from "./LpShift-DXNsauQZ.js";
6
- import { _ as _sfc_main$1 } from "./LpSidebar-CWehDCxN.js";
6
+ import { _ as _sfc_main$1 } from "./LpSidebar-C_Mr-JPI.js";
7
7
  const _hoisted_1 = { class: "flex h-dvh overflow-hidden bg-surface text-ink" };
8
8
  const _hoisted_2 = { class: "flex min-w-0 flex-1 flex-col" };
9
9
  const _hoisted_3 = { class: "relative flex h-16 shrink-0 items-center gap-3 border-b border-line bg-surface px-4 md:px-6" };
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, computed, ref, onMounted, openBlock, createBlock, withCtx, createVNode, unref, mergeProps, createCommentVNode, createTextVNode, toDisplayString } from "vue";
2
2
  import { AvatarRoot, AvatarImage, AvatarFallback } from "reka-ui";
3
3
  import { tv } from "tailwind-variants";
4
- import { _ as _sfc_main$1 } from "./LpContextMenu-D0mzXqA7.js";
4
+ import { _ as _sfc_main$1 } from "./LpContextMenu-B6WBLleS.js";
5
5
  const __default__ = { inheritAttrs: false };
6
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
7
7
  ...__default__,
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, openBlock, createBlock, withCtx, resolveDynamicComponent, mergeProps, renderSlot } from "vue";
2
2
  import { tv } from "tailwind-variants";
3
- import { _ as _sfc_main$1 } from "./LpContextMenu-D0mzXqA7.js";
3
+ import { _ as _sfc_main$1 } from "./LpContextMenu-B6WBLleS.js";
4
4
  const __default__ = { inheritAttrs: false };
5
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  ...__default__,
@@ -1,4 +1,4 @@
1
- import { defineComponent, computed, renderSlot, openBlock, createBlock, unref, withCtx, createVNode, normalizeClass, createElementBlock, Fragment, renderList, createCommentVNode, createElementVNode, createTextVNode, toDisplayString } from "vue";
1
+ import { defineComponent, computed, renderSlot, openBlock, createBlock, unref, withCtx, createVNode, normalizeClass, createElementBlock, Fragment, renderList, createCommentVNode, createElementVNode, createTextVNode, toDisplayString, withModifiers } from "vue";
2
2
  import { ContextMenuRoot, ContextMenuTrigger, ContextMenuPortal, ContextMenuContent, ContextMenuSeparator, ContextMenuSub, ContextMenuSubTrigger, ContextMenuSubContent, ContextMenuItem } from "reka-ui";
3
3
  import { POPOVER_PANEL } from "../components/dropdown.js";
4
4
  import { _ as _sfc_main$1 } from "./LpIcon-CCnX5_2j.js";
@@ -13,6 +13,16 @@ const _hoisted_5 = {
13
13
  key: 0,
14
14
  class: "text-xs text-muted"
15
15
  };
16
+ const _hoisted_6 = { class: "flex items-center gap-2" };
17
+ const _hoisted_7 = {
18
+ key: 0,
19
+ class: "text-xs text-muted"
20
+ };
21
+ const _hoisted_8 = { class: "flex items-center gap-2" };
22
+ const _hoisted_9 = {
23
+ key: 0,
24
+ class: "text-xs text-muted"
25
+ };
16
26
  const ITEM = "group/item flex cursor-pointer select-none items-center gap-2 rounded-md px-2.5 py-1.5 text-sm outline-none transition-[background-color,color] duration-[var(--duration-fast)] data-[disabled]:pointer-events-none data-[disabled]:opacity-45 data-[highlighted]:bg-brand-soft";
17
27
  const ICON = "transition-transform duration-[var(--duration-fast)] ease-[var(--ease-emphasized)] group-data-[highlighted]/item:translate-x-0.5";
18
28
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -83,13 +93,32 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
83
93
  key: 0,
84
94
  class: "my-1 h-px bg-line"
85
95
  })) : createCommentVNode("", true),
86
- createVNode(unref(ContextMenuItem), {
96
+ sub.checked !== void 0 ? (openBlock(), createBlock(unref(ContextMenuItem), {
97
+ key: 1,
98
+ class: normalizeClass([ITEM, "justify-between text-ink data-[highlighted]:text-brand"]),
99
+ disabled: sub.disabled,
100
+ onSelect: withModifiers(($event) => sub.onSelect?.(), ["prevent"])
101
+ }, {
102
+ default: withCtx(() => [
103
+ createElementVNode("span", _hoisted_2, [
104
+ createVNode(_sfc_main$1, {
105
+ name: sub.checked ? "lucide:check" : "lucide:minus",
106
+ size: 15,
107
+ class: normalizeClass([ICON, sub.checked ? "" : "opacity-25"])
108
+ }, null, 8, ["name", "class"]),
109
+ createTextVNode(" " + toDisplayString(sub.label), 1)
110
+ ]),
111
+ sub.shortcut ? (openBlock(), createElementBlock("kbd", _hoisted_3, toDisplayString(sub.shortcut), 1)) : createCommentVNode("", true)
112
+ ]),
113
+ _: 2
114
+ }, 1032, ["class", "disabled", "onSelect"])) : (openBlock(), createBlock(unref(ContextMenuItem), {
115
+ key: 2,
87
116
  class: normalizeClass([ITEM, "justify-between", sub.danger ? "text-danger data-[highlighted]:bg-danger-soft data-[highlighted]:text-danger" : "text-ink data-[highlighted]:text-brand"]),
88
117
  disabled: sub.disabled,
89
118
  onSelect: ($event) => sub.onSelect?.()
90
119
  }, {
91
120
  default: withCtx(() => [
92
- createElementVNode("span", _hoisted_2, [
121
+ createElementVNode("span", _hoisted_4, [
93
122
  sub.icon ? (openBlock(), createBlock(_sfc_main$1, {
94
123
  key: 0,
95
124
  name: sub.icon,
@@ -98,10 +127,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
98
127
  }, null, 8, ["name"])) : createCommentVNode("", true),
99
128
  createTextVNode(" " + toDisplayString(sub.label), 1)
100
129
  ]),
101
- sub.shortcut ? (openBlock(), createElementBlock("kbd", _hoisted_3, toDisplayString(sub.shortcut), 1)) : createCommentVNode("", true)
130
+ sub.shortcut ? (openBlock(), createElementBlock("kbd", _hoisted_5, toDisplayString(sub.shortcut), 1)) : createCommentVNode("", true)
102
131
  ]),
103
132
  _: 2
104
- }, 1032, ["class", "disabled", "onSelect"])
133
+ }, 1032, ["class", "disabled", "onSelect"]))
105
134
  ], 64);
106
135
  }), 128))
107
136
  ]),
@@ -112,14 +141,32 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
112
141
  }, 1024)
113
142
  ]),
114
143
  _: 2
115
- }, 1024)) : (openBlock(), createBlock(unref(ContextMenuItem), {
144
+ }, 1024)) : item.checked !== void 0 ? (openBlock(), createBlock(unref(ContextMenuItem), {
116
145
  key: 2,
146
+ class: normalizeClass([ITEM, "justify-between text-ink data-[highlighted]:text-brand"]),
147
+ disabled: item.disabled,
148
+ onSelect: withModifiers(($event) => item.onSelect?.(), ["prevent"])
149
+ }, {
150
+ default: withCtx(() => [
151
+ createElementVNode("span", _hoisted_6, [
152
+ createVNode(_sfc_main$1, {
153
+ name: item.checked ? "lucide:check" : "lucide:minus",
154
+ size: 15,
155
+ class: normalizeClass([ICON, item.checked ? "" : "opacity-25"])
156
+ }, null, 8, ["name", "class"]),
157
+ createTextVNode(" " + toDisplayString(item.label), 1)
158
+ ]),
159
+ item.shortcut ? (openBlock(), createElementBlock("kbd", _hoisted_7, toDisplayString(item.shortcut), 1)) : createCommentVNode("", true)
160
+ ]),
161
+ _: 2
162
+ }, 1032, ["class", "disabled", "onSelect"])) : (openBlock(), createBlock(unref(ContextMenuItem), {
163
+ key: 3,
117
164
  class: normalizeClass([ITEM, "justify-between", item.danger ? "text-danger data-[highlighted]:bg-danger-soft data-[highlighted]:text-danger" : "text-ink data-[highlighted]:text-brand"]),
118
165
  disabled: item.disabled,
119
166
  onSelect: ($event) => item.onSelect?.()
120
167
  }, {
121
168
  default: withCtx(() => [
122
- createElementVNode("span", _hoisted_4, [
169
+ createElementVNode("span", _hoisted_8, [
123
170
  item.icon ? (openBlock(), createBlock(_sfc_main$1, {
124
171
  key: 0,
125
172
  name: item.icon,
@@ -128,7 +175,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
128
175
  }, null, 8, ["name"])) : createCommentVNode("", true),
129
176
  createTextVNode(" " + toDisplayString(item.label), 1)
130
177
  ]),
131
- item.shortcut ? (openBlock(), createElementBlock("kbd", _hoisted_5, toDisplayString(item.shortcut), 1)) : createCommentVNode("", true)
178
+ item.shortcut ? (openBlock(), createElementBlock("kbd", _hoisted_9, toDisplayString(item.shortcut), 1)) : createCommentVNode("", true)
132
179
  ]),
133
180
  _: 2
134
181
  }, 1032, ["class", "disabled", "onSelect"]))
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, ref, watch, computed, openBlock, createElementBlock, Fragment, renderList, normalizeStyle, createBlock, createVNode, withCtx, createElementVNode, renderSlot, mergeProps, normalizeProps, guardReactiveProps, createTextVNode, toDisplayString, createCommentVNode } from "vue";
2
2
  import { computeStats, formatSize, sortNodes, subtreeIds, ancestorIds } from "../components/fileTree.js";
3
3
  import { _ as _sfc_main$1 } from "./LpEmptyState-BV3q7Qyi.js";
4
- import { _ as _sfc_main$3 } from "./LpFileTreeNode-BzpBa7R7.js";
4
+ import { _ as _sfc_main$3 } from "./LpFileTreeNode-COchUMNn.js";
5
5
  import { _ as _sfc_main$2 } from "./LpScrollArea-D8xyKXcF.js";
6
6
  const _hoisted_1 = {
7
7
  key: 0,
@@ -2,7 +2,7 @@ import { defineComponent, computed, resolveComponent, openBlock, createElementBl
2
2
  import { prefersReducedMotion, easingToken } from "../composables/easing.js";
3
3
  import { sortNodes, formatSize, formatModified, fileIcon } from "../components/fileTree.js";
4
4
  import { _ as _sfc_main$3 } from "./LpCheckbox-BO0zuuPh.js";
5
- import { _ as _sfc_main$1 } from "./LpContextMenu-D0mzXqA7.js";
5
+ import { _ as _sfc_main$1 } from "./LpContextMenu-B6WBLleS.js";
6
6
  import { _ as _sfc_main$2 } from "./LpIcon-CCnX5_2j.js";
7
7
  const _hoisted_1 = ["aria-level", "aria-selected", "aria-expanded", "aria-disabled"];
8
8
  const _hoisted_2 = ["data-node-id", "tabindex"];
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, ref, shallowRef, computed, onMounted, onBeforeUnmount, watch, nextTick, openBlock, createElementBlock, normalizeClass, createVNode, Transition, withCtx, toDisplayString, createCommentVNode, normalizeStyle, createElementVNode, Fragment, createBlock, resolveDynamicComponent, TransitionGroup, mergeProps, renderList, createTextVNode } from "vue";
2
2
  import { prefersReducedMotion } from "../composables/easing.js";
3
3
  import { useHotkeys } from "../composables/useHotkeys.js";
4
- import { _ as _sfc_main$3 } from "./LpContextMenu-D0mzXqA7.js";
4
+ import { _ as _sfc_main$3 } from "./LpContextMenu-B6WBLleS.js";
5
5
  import { _ as _sfc_main$2 } from "./LpIcon-CCnX5_2j.js";
6
6
  import { _ as _sfc_main$1 } from "./LpScrollArea-D8xyKXcF.js";
7
7
  const _hoisted_1 = {
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, computed, useModel, getCurrentInstance, openBlock, createBlock, withCtx, createElementVNode, toDisplayString, createElementBlock, createCommentVNode, createVNode, Fragment, renderList, resolveDynamicComponent, normalizeClass, createTextVNode, mergeModels } from "vue";
2
2
  import { _ as _sfc_main$8 } from "./LpBadge-BPodVcJa.js";
3
3
  import { _ as _sfc_main$7 } from "./LpButton-5VXXCjwF.js";
4
- import { _ as _sfc_main$5 } from "./LpContextMenu-D0mzXqA7.js";
4
+ import { _ as _sfc_main$5 } from "./LpContextMenu-B6WBLleS.js";
5
5
  import { _ as _sfc_main$3 } from "./LpEmptyState-BV3q7Qyi.js";
6
6
  import { _ as _sfc_main$6 } from "./LpIcon-CCnX5_2j.js";
7
7
  import { _ as _sfc_main$1 } from "./LpPopover-8268UmlC.js";
@@ -2,7 +2,7 @@ import { defineComponent, computed, ref, watch, onBeforeUnmount, openBlock, crea
2
2
  import { prefersReducedMotion, easeTravel } from "../composables/easing.js";
3
3
  import { useReveal } from "../composables/useReveal.js";
4
4
  import { resolveSlices, arcPath, calloutLabels, formatTick } from "../components/chart.js";
5
- import { _ as _sfc_main$2 } from "./LpContextMenu-D0mzXqA7.js";
5
+ import { _ as _sfc_main$2 } from "./LpContextMenu-B6WBLleS.js";
6
6
  import { _ as _sfc_main$1 } from "./LpIcon-CCnX5_2j.js";
7
7
  import { _ as _sfc_main$4 } from "./LpNumberFlow-amWYaeuA.js";
8
8
  import { _ as _sfc_main$5 } from "./LpRollingText-CM5gkSeF.js";
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, ref, useId, openBlock, createElementBlock, Fragment, createElementVNode, mergeProps, normalizeClass, renderSlot, createCommentVNode, createVNode, createSlots, withCtx, normalizeProps, guardReactiveProps, createBlock } from "vue";
2
2
  import { _ as _sfc_main$2 } from "./LpDrawer-DAJN5rGK.js";
3
- import { _ as _sfc_main$1 } from "./LpSidebarNav-5RGNr2D3.js";
3
+ import { _ as _sfc_main$1 } from "./LpSidebarNav-D6v12-36.js";
4
4
  const _hoisted_1 = {
5
5
  key: 1,
6
6
  class: "mt-2 flex shrink-0 flex-col gap-2"
@@ -3,7 +3,7 @@ import { Motion } from "motion-v";
3
3
  import { CollapsibleRoot, CollapsibleTrigger, CollapsibleContent } from "reka-ui";
4
4
  import { usePillTransition } from "../composables/usePillTransition.js";
5
5
  import { _ as _sfc_main$3 } from "./LpBadge-BPodVcJa.js";
6
- import { _ as _sfc_main$4 } from "./LpContextMenu-D0mzXqA7.js";
6
+ import { _ as _sfc_main$4 } from "./LpContextMenu-B6WBLleS.js";
7
7
  import { _ as _sfc_main$2 } from "./LpIcon-CCnX5_2j.js";
8
8
  import { _ as _sfc_main$1 } from "./LpScrollArea-D8xyKXcF.js";
9
9
  const _hoisted_1 = {
@@ -1,6 +1,6 @@
1
1
  import { computed, readonly, shallowRef, defineComponent, onMounted, ref, openBlock, createBlock, withCtx, createElementVNode, normalizeClass, createElementBlock, normalizeStyle, createVNode, toDisplayString, createCommentVNode } from "vue";
2
2
  import { prefersReducedMotion, easingToken } from "../composables/easing.js";
3
- import { _ as _sfc_main$1 } from "./LpContextMenu-D0mzXqA7.js";
3
+ import { _ as _sfc_main$1 } from "./LpContextMenu-B6WBLleS.js";
4
4
  import { _ as _sfc_main$2 } from "./LpIcon-CCnX5_2j.js";
5
5
  const sharedShape = { radiusControl: 8, radiusCard: 14, radiusPill: 9999 };
6
6
  const sharedDensity = { spacingUnit: 4, controlSm: 32, controlMd: 38, controlLg: 44 };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpAppShell-CGX0DlIW.js";
1
+ import { _ as _sfc_main } from "../chunks/LpAppShell-BJk3b-u4.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpAvatar-CzCE5cXg.js";
1
+ import { _ as _sfc_main } from "../chunks/LpAvatar-D3l4nabg.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpCard-DSefTGEH.js";
1
+ import { _ as _sfc_main } from "../chunks/LpCard-D0M2ZCnB.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };