@leavepulse/ui 0.58.1 → 0.59.0

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 (87) hide show
  1. package/dist/assets/{LpCommandPalette-DmQUsJqA.css → LpCommandPalette-BM_IyzwB.css} +21 -21
  2. package/dist/assets/{LpTable-BNzavdlv.css → LpTable-B_QCQCbB.css} +19 -19
  3. package/dist/chunks/{ContextMenuItems-BY5sTVQF.js → ContextMenuItems-CioDScj3.js} +1 -1
  4. package/dist/chunks/{LpAddressInput-Dio6Sqed.js → LpAddressInput-D-H94m4q.js} +1 -1
  5. package/dist/chunks/{LpAppShell-Be6T96td.js → LpAppShell-BeMuKEjh.js} +1 -1
  6. package/dist/chunks/{LpAvatar-BxNs23Xu.js → LpAvatar-CeW4Z5CL.js} +1 -1
  7. package/dist/chunks/{LpCard-DhR7u0d8.js → LpCard-Gbr8a1xK.js} +1 -1
  8. package/dist/chunks/{LpCodeBlock-CXsqJwDy.js → LpCodeBlock-D6zhp30a.js} +4 -4
  9. package/dist/chunks/{LpColorPicker-DQ88niXq.js → LpColorPicker-CVXwjEtX.js} +5 -5
  10. package/dist/chunks/{LpConfirmDialog-DxlSdjmk.js → LpConfirmDialog-DkgIT-Xg.js} +1 -1
  11. package/dist/chunks/{LpConfirmHost-BcrmTNu_.js → LpConfirmHost-CYzXWFOI.js} +1 -1
  12. package/dist/chunks/{LpContextMenu-B1NGfpp1.js → LpContextMenu-DRFd-iyc.js} +2 -2
  13. package/dist/chunks/{LpDrawer-DSknigxH.js → LpDrawer-Rc6eAJrr.js} +1 -1
  14. package/dist/chunks/{LpDropdownMenu-C7oHVlKY.js → LpDropdownMenu-BoJQsjzt.js} +2 -2
  15. package/dist/chunks/{LpFileTree-CMA0_rsB.js → LpFileTree-Bs57DhVa.js} +1 -1
  16. package/dist/chunks/{LpFileTreeNode-B4T258hF.js → LpFileTreeNode-XgJW65v5.js} +1 -1
  17. package/dist/chunks/{LpLogViewer-DwiYE32z.js → LpLogViewer-B92bAftG.js} +1 -1
  18. package/dist/chunks/{LpModal-BxYssnXg.js → LpModal-DvGD6kEe.js} +1 -1
  19. package/dist/chunks/{LpModalNav-Bn2ws64b.js → LpModalNav-B-_zRTS-.js} +2 -2
  20. package/dist/chunks/{LpNotificationBell-DJfs4JjQ.js → LpNotificationBell-63pvatBj.js} +3 -3
  21. package/dist/chunks/{LpPasswordInput-Bg5uTZbx.js → LpPasswordInput-BK25_vNG.js} +1 -1
  22. package/dist/chunks/{LpPhoneInput-DStwcbnQ.js → LpPhoneInput-Bxg7a_qD.js} +1 -1
  23. package/dist/chunks/{LpPie-DeTkbbOK.js → LpPie-Coa2GMHt.js} +2 -2
  24. package/dist/chunks/{LpSegmented-D3Eam8sa.js → LpSegmented-DbrUjuSA.js} +2 -2
  25. package/dist/chunks/{LpSidebar-CshW0fqC.js → LpSidebar-CKamWtPo.js} +2 -2
  26. package/dist/chunks/{LpSidebarNav-C9b3i9G2.js → LpSidebarNav-Y4LV0ZEn.js} +3 -3
  27. package/dist/chunks/{LpTabs-BBGRHY38.js → LpTabs-D01b8jBI.js} +6 -5
  28. package/dist/chunks/{LpThemeSwitcher-B_qhSl7q.js → LpThemeSwitcher-CbzL6ipO.js} +1 -1
  29. package/dist/chunks/{LpToaster-Bo9Q4QBP.js → LpToaster-C9EacEfR.js} +2 -2
  30. package/dist/chunks/{MenuTitle-DQP6hc2N.js → MenuTitle-B9HdaBwE.js} +2 -2
  31. package/dist/components/ContextMenuItems.vue.js +1 -1
  32. package/dist/components/LpAddressInput.vue.js +1 -1
  33. package/dist/components/LpAppShell.vue.js +1 -1
  34. package/dist/components/LpAvatar.vue.js +1 -1
  35. package/dist/components/LpCard.vue.js +1 -1
  36. package/dist/components/LpChart.vue.js +3 -3
  37. package/dist/components/LpCodeBlock.vue.js +1 -1
  38. package/dist/components/LpColorPicker.vue.js +1 -1
  39. package/dist/components/LpCommandPalette.vue.js +14 -14
  40. package/dist/components/LpConfirmDialog.vue.js +1 -1
  41. package/dist/components/LpConfirmHost.vue.js +1 -1
  42. package/dist/components/LpContextMenu.vue.js +1 -1
  43. package/dist/components/LpDrawer.vue.js +1 -1
  44. package/dist/components/LpDropdownMenu.vue.js +1 -1
  45. package/dist/components/LpFileTree.vue.js +1 -1
  46. package/dist/components/LpFileTreeNode.vue.js +1 -1
  47. package/dist/components/LpLogViewer.vue.js +1 -1
  48. package/dist/components/LpModal.vue.js +1 -1
  49. package/dist/components/LpModalNav.vue.js +1 -1
  50. package/dist/components/LpNotificationBell.vue.js +1 -1
  51. package/dist/components/LpPaletteHeader.vue.js +1 -1
  52. package/dist/components/LpPasswordInput.vue.js +1 -1
  53. package/dist/components/LpPhoneInput.vue.js +1 -1
  54. package/dist/components/LpPie.vue.js +1 -1
  55. package/dist/components/LpSegmented.vue.js +1 -1
  56. package/dist/components/LpShortcutsDialog.vue.js +1 -1
  57. package/dist/components/LpSidebar.vue.js +1 -1
  58. package/dist/components/LpSidebarNav.vue.js +1 -1
  59. package/dist/components/LpTable.vue.js +5 -5
  60. package/dist/components/LpTabs.vue.d.ts +7 -0
  61. package/dist/components/LpTabs.vue.js +1 -1
  62. package/dist/components/LpThemeSwitcher.vue.js +1 -1
  63. package/dist/components/LpToaster.vue.js +1 -1
  64. package/dist/components/MenuTitle.vue.js +1 -1
  65. package/dist/components/dropdown.js +1 -1
  66. package/dist/index.js +24 -24
  67. package/package.json +1 -1
  68. package/src/components/ContextMenuItems.vue +1 -1
  69. package/src/components/LpChart.vue +1 -1
  70. package/src/components/LpCodeBlock.vue +4 -4
  71. package/src/components/LpColorPicker.vue +4 -4
  72. package/src/components/LpCommandPalette.vue +11 -11
  73. package/src/components/LpDrawer.vue +1 -1
  74. package/src/components/LpDropdownMenu.vue +1 -1
  75. package/src/components/LpModal.vue +1 -1
  76. package/src/components/LpNotificationBell.vue +2 -2
  77. package/src/components/LpPasswordInput.vue +1 -1
  78. package/src/components/LpPhoneInput.vue +1 -1
  79. package/src/components/LpPie.vue +1 -1
  80. package/src/components/LpSegmented.vue +2 -2
  81. package/src/components/LpSidebarNav.vue +2 -2
  82. package/src/components/LpTable.vue +2 -2
  83. package/src/components/LpTabs.vue +11 -5
  84. package/src/components/LpToaster.vue +2 -2
  85. package/src/components/MenuTitle.vue +2 -2
  86. package/src/components/dropdown.ts +1 -1
  87. package/src/tokens/tokens.css +6 -0
@@ -5,81 +5,81 @@
5
5
  * pane from its right edge as it grows. Animating the columns themselves made
6
6
  * every line of the list and the pane re-wrap on every frame.
7
7
  */
8
- .lp-cmd-dialog[data-v-6da7fe88] {
8
+ .lp-cmd-dialog[data-v-14ce7a99] {
9
9
  --lp-cmd-list: min(92vw, 40rem);
10
10
  --lp-cmd-pane: max(0px, min(26rem, 96vw - var(--lp-cmd-list)));
11
11
  width: var(--lp-cmd-list);
12
12
  }
13
- .lp-cmd-split[data-v-6da7fe88] {
13
+ .lp-cmd-split[data-v-14ce7a99] {
14
14
  transition:
15
15
  width 300ms var(--ease-emphasized, ease),
16
16
  min-height 300ms var(--ease-emphasized, ease);
17
17
  }
18
18
  @media (min-width: 768px) {
19
- .lp-cmd-split .lp-cmd-list[data-v-6da7fe88] {
19
+ .lp-cmd-split .lp-cmd-list[data-v-14ce7a99] {
20
20
  flex: 0 0 auto;
21
21
  /* the dialog's 1px border on each side */
22
22
  width: calc(var(--lp-cmd-list) - 2px);
23
23
  }
24
- .lp-cmd-dialog[data-pane="open"][data-v-6da7fe88] {
24
+ .lp-cmd-dialog[data-pane="open"][data-v-14ce7a99] {
25
25
  width: calc(var(--lp-cmd-list) + var(--lp-cmd-pane));
26
26
  min-height: min(76vh, 36rem);
27
27
  }
28
28
  }
29
- .lp-cmd-pane[data-v-6da7fe88] {
29
+ .lp-cmd-pane[data-v-14ce7a99] {
30
30
  width: var(--lp-cmd-pane);
31
31
  }
32
32
  /*
33
33
  * The pane rides in from the right edge while the dialog opens up to it, and
34
34
  * leaves the same way, for as long as the dialog takes to close over it.
35
35
  */
36
- .lp-cmd-pane-enter-active[data-v-6da7fe88],
37
- .lp-cmd-pane-leave-active[data-v-6da7fe88] {
36
+ .lp-cmd-pane-enter-active[data-v-14ce7a99],
37
+ .lp-cmd-pane-leave-active[data-v-14ce7a99] {
38
38
  transition:
39
39
  transform 300ms var(--ease-emphasized, ease),
40
40
  opacity 300ms ease;
41
41
  }
42
- .lp-cmd-pane-enter-from[data-v-6da7fe88],
43
- .lp-cmd-pane-leave-to[data-v-6da7fe88] {
42
+ .lp-cmd-pane-enter-from[data-v-14ce7a99],
43
+ .lp-cmd-pane-leave-to[data-v-14ce7a99] {
44
44
  opacity: 0;
45
45
  transform: translateX(40%);
46
46
  }
47
- .lp-cmd-para[data-v-6da7fe88] {
48
- animation: lp-cmd-para-in-6da7fe88 260ms ease-out both;
47
+ .lp-cmd-para[data-v-14ce7a99] {
48
+ animation: lp-cmd-para-in-14ce7a99 260ms ease-out both;
49
49
  }
50
- @keyframes lp-cmd-para-in-6da7fe88 {
50
+ @keyframes lp-cmd-para-in-14ce7a99 {
51
51
  from {
52
52
  opacity: 0;
53
53
  transform: translateY(4px);
54
54
  }
55
55
  }
56
56
  @media (prefers-reduced-motion: reduce) {
57
- .lp-cmd-split[data-v-6da7fe88],
58
- .lp-cmd-pane-enter-active[data-v-6da7fe88],
59
- .lp-cmd-pane-leave-active[data-v-6da7fe88] {
57
+ .lp-cmd-split[data-v-14ce7a99],
58
+ .lp-cmd-pane-enter-active[data-v-14ce7a99],
59
+ .lp-cmd-pane-leave-active[data-v-14ce7a99] {
60
60
  transition: none;
61
61
  }
62
- .lp-cmd-para[data-v-6da7fe88] {
62
+ .lp-cmd-para[data-v-14ce7a99] {
63
63
  animation: none;
64
64
  }
65
65
  }
66
- .lp-cmd-excerpt[data-v-6da7fe88] {
66
+ .lp-cmd-excerpt[data-v-14ce7a99] {
67
67
  display: -webkit-box;
68
68
  -webkit-box-orient: vertical;
69
69
  overflow: hidden;
70
70
  }
71
71
  /* Each result eases in; honours reduced motion. */
72
- .lp-cmd-item[data-v-6da7fe88] {
73
- animation: lp-cmd-in-6da7fe88 140ms ease-out both;
72
+ .lp-cmd-item[data-v-14ce7a99] {
73
+ animation: lp-cmd-in-14ce7a99 140ms ease-out both;
74
74
  }
75
- @keyframes lp-cmd-in-6da7fe88 {
75
+ @keyframes lp-cmd-in-14ce7a99 {
76
76
  from {
77
77
  opacity: 0;
78
78
  transform: translateY(3px);
79
79
  }
80
80
  }
81
81
  @media (prefers-reduced-motion: reduce) {
82
- .lp-cmd-item[data-v-6da7fe88] {
82
+ .lp-cmd-item[data-v-14ce7a99] {
83
83
  animation: none;
84
84
  }
85
85
  }
@@ -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-a6bdc221],
15
- .lp-row-leave-active[data-v-a6bdc221] {
14
+ .lp-row-enter-active[data-v-344d1bc2],
15
+ .lp-row-leave-active[data-v-344d1bc2] {
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-a6bdc221] {
20
+ .lp-row-move[data-v-344d1bc2] {
21
21
  transition: transform var(--duration-medium) var(--ease-emphasized);
22
22
  }
23
- .lp-row-enter-from[data-v-a6bdc221],
24
- .lp-row-leave-to[data-v-a6bdc221] {
23
+ .lp-row-enter-from[data-v-344d1bc2],
24
+ .lp-row-leave-to[data-v-344d1bc2] {
25
25
  opacity: 0;
26
26
  transform: translateX(-0.5rem);
27
27
  }
@@ -35,7 +35,7 @@
35
35
  * drops out of the table layout entirely. Nothing sits below this row to be
36
36
  * dragged around, so simply not animating its exit costs nothing.
37
37
  */
38
- .lp-row-empty.lp-row-leave-active[data-v-a6bdc221] {
38
+ .lp-row-empty.lp-row-leave-active[data-v-344d1bc2] {
39
39
  display: none;
40
40
  }
41
41
 
@@ -54,7 +54,7 @@
54
54
  * once anything is selected. An earlier version collapsed the column to nothing
55
55
  * and floated the hover box over the first cell, where it sat on the text.
56
56
  */
57
- .lp-tick[data-v-a6bdc221] {
57
+ .lp-tick[data-v-344d1bc2] {
58
58
  display: flex;
59
59
  align-items: center;
60
60
  max-width: 0;
@@ -66,17 +66,17 @@
66
66
  padding var(--duration-medium) var(--ease-emphasized),
67
67
  opacity var(--duration-fast) ease;
68
68
  }
69
- .lp-tick-open[data-v-a6bdc221] {
69
+ .lp-tick-open[data-v-344d1bc2] {
70
70
  max-width: 3.25rem;
71
71
  padding-inline: 1rem;
72
72
  opacity: 1;
73
73
  }
74
- .lp-tick-hidden[data-v-a6bdc221],
75
- .lp-tick-cue[data-v-a6bdc221] {
74
+ .lp-tick-hidden[data-v-344d1bc2],
75
+ .lp-tick-cue[data-v-344d1bc2] {
76
76
  opacity: 0;
77
77
  }
78
- tr:hover .lp-tick-cue[data-v-a6bdc221],
79
- .lp-tick-cue[data-v-a6bdc221]:focus-within {
78
+ tr:hover .lp-tick-cue[data-v-344d1bc2],
79
+ .lp-tick-cue[data-v-344d1bc2]:focus-within {
80
80
  opacity: 1;
81
81
  }
82
82
 
@@ -84,24 +84,24 @@ tr:hover .lp-tick-cue[data-v-a6bdc221],
84
84
  turned down the rows change without animating rather than not changing. */
85
85
  /* Only where there is a hover to reveal it; a finger long-presses instead. */
86
86
  @media (hover: none) {
87
- tr:hover .lp-tick-cue[data-v-a6bdc221] {
87
+ tr:hover .lp-tick-cue[data-v-344d1bc2] {
88
88
  opacity: 0;
89
89
  }
90
90
 
91
91
  /* Nor is there anything for the column's width to hold until then: on a
92
92
  touch screen it stays closed until a long press starts selecting, and
93
93
  eases open like the rest of the column. */
94
- .lp-tick-hidden[data-v-a6bdc221],
95
- .lp-tick-cue[data-v-a6bdc221] {
94
+ .lp-tick-hidden[data-v-344d1bc2],
95
+ .lp-tick-cue[data-v-344d1bc2] {
96
96
  max-width: 0;
97
97
  padding-inline: 0;
98
98
  }
99
99
  }
100
100
  @media (prefers-reduced-motion: reduce) {
101
- .lp-row-enter-active[data-v-a6bdc221],
102
- .lp-row-leave-active[data-v-a6bdc221],
103
- .lp-row-move[data-v-a6bdc221],
104
- .lp-tick[data-v-a6bdc221] {
101
+ .lp-row-enter-active[data-v-344d1bc2],
102
+ .lp-row-leave-active[data-v-344d1bc2],
103
+ .lp-row-move[data-v-344d1bc2],
104
+ .lp-tick[data-v-344d1bc2] {
105
105
  transition: none;
106
106
  }
107
107
  }
@@ -12,7 +12,7 @@ const _hoisted_5 = {
12
12
  key: 0,
13
13
  class: "text-xs text-muted"
14
14
  };
15
- 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";
15
+ const ITEM = "group/item flex cursor-pointer select-none items-center gap-2 rounded-inner 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";
16
16
  const ICON = "transition-transform duration-[var(--duration-fast)] ease-[var(--ease-emphasized)] group-data-[highlighted]/item:translate-x-0.5";
17
17
  const _sfc_main = /* @__PURE__ */ defineComponent({
18
18
  ...{ name: "ContextMenuItems" },
@@ -7,7 +7,7 @@ import { _ as _sfc_main$3 } from "./LpButton-vhlwmpBy.js";
7
7
  import { _ as _sfc_main$1 } from "./LpFormField-BpQ6WJPe.js";
8
8
  import { _ as _sfc_main$4 } from "./LpIcon-B5guGKrW.js";
9
9
  import { _ as _sfc_main$5 } from "./LpInput-WvyP02ID.js";
10
- import { _ as _sfc_main$7 } from "./LpModal-BxYssnXg.js";
10
+ import { _ as _sfc_main$7 } from "./LpModal-DvGD6kEe.js";
11
11
  import { _ as _sfc_main$6 } from "./LpSelect-DynjWK1A.js";
12
12
  import { useMergedAttrs } from "../composables/useMergedClass.js";
13
13
  const _hoisted_1 = { class: "flex items-stretch gap-2" };
@@ -4,7 +4,7 @@ import { _ as _sfc_main$2 } from "./LpButton-vhlwmpBy.js";
4
4
  import { _ as _sfc_main$3 } from "./LpIcon-B5guGKrW.js";
5
5
  import { _ as _sfc_main$5 } from "./LpScrollArea-Hz3-JWUG.js";
6
6
  import { _ as _sfc_main$4 } from "./LpShift-DXNsauQZ.js";
7
- import { _ as _sfc_main$1 } from "./LpSidebar-CshW0fqC.js";
7
+ import { _ as _sfc_main$1 } from "./LpSidebar-CKamWtPo.js";
8
8
  import { useMergedAttrs } from "../composables/useMergedClass.js";
9
9
  const _hoisted_1 = ["href"];
10
10
  const _hoisted_2 = { class: "flex min-w-0 flex-1 flex-col" };
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, computed, ref, onMounted, openBlock, createBlock, withCtx, createVNode, unref, mergeProps, createCommentVNode, createElementBlock, Fragment, 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-B1NGfpp1.js";
4
+ import { _ as _sfc_main$1 } from "./LpContextMenu-DRFd-iyc.js";
5
5
  import { _ as _sfc_main$2 } from "./LpIcon-B5guGKrW.js";
6
6
  import { useMergedAttrs } from "../composables/useMergedClass.js";
7
7
  const __default__ = { inheritAttrs: false };
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, computed, openBlock, createBlock, withCtx, resolveDynamicComponent, mergeProps, unref, renderSlot } from "vue";
2
2
  import { tv } from "tailwind-variants";
3
3
  import { useMergedAttrs } from "../composables/useMergedClass.js";
4
- import { _ as _sfc_main$1 } from "./LpContextMenu-B1NGfpp1.js";
4
+ import { _ as _sfc_main$1 } from "./LpContextMenu-DRFd-iyc.js";
5
5
  const __default__ = { inheritAttrs: false };
6
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
7
7
  ...__default__,
@@ -14,7 +14,7 @@ const _hoisted_2 = {
14
14
  };
15
15
  const _hoisted_3 = {
16
16
  key: 1,
17
- class: "rounded bg-surface px-1.5 py-0.5 text-[10px] uppercase tracking-wide"
17
+ class: "rounded-small bg-surface px-1.5 py-0.5 text-[10px] uppercase tracking-wide"
18
18
  };
19
19
  const _hoisted_4 = { class: "ml-auto flex items-center gap-1" };
20
20
  const _hoisted_5 = ["aria-label"];
@@ -178,7 +178,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
178
178
  __props.lockToggle ? (openBlock(), createElementBlock("button", {
179
179
  key: 0,
180
180
  type: "button",
181
- class: "group/lock flex items-center gap-1 rounded px-1.5 py-1 outline-none transition-colors duration-[var(--duration-fast)] hover:text-ink focus-visible:ring-2 focus-visible:ring-ring",
181
+ class: "group/lock flex items-center gap-1 rounded-small px-1.5 py-1 outline-none transition-colors duration-[var(--duration-fast)] hover:text-ink focus-visible:ring-2 focus-visible:ring-ring",
182
182
  "aria-label": __props.locked ? unref(text).unlock : unref(text).lock,
183
183
  onClick: toggleLock
184
184
  }, [
@@ -191,7 +191,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
191
191
  __props.copyable ? (openBlock(), createElementBlock("button", {
192
192
  key: 1,
193
193
  type: "button",
194
- class: "group/copy flex items-center gap-1 rounded px-1.5 py-1 outline-none transition-colors duration-[var(--duration-fast)] hover:text-ink focus-visible:ring-2 focus-visible:ring-ring",
194
+ class: "group/copy flex items-center gap-1 rounded-small px-1.5 py-1 outline-none transition-colors duration-[var(--duration-fast)] hover:text-ink focus-visible:ring-2 focus-visible:ring-ring",
195
195
  "aria-label": unref(copied) ? unref(text).copied : unref(text).copy,
196
196
  onClick: copy
197
197
  }, [
@@ -243,7 +243,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
243
243
  }), 128)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
244
244
  createElementVNode("button", {
245
245
  type: "button",
246
- class: "lp-fold-toggle flex w-full items-center gap-1.5 rounded px-1 py-0.5 text-left text-muted outline-none transition-colors duration-[var(--duration-fast)] hover:text-ink focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",
246
+ class: "lp-fold-toggle flex w-full items-center gap-1.5 rounded-small px-1 py-0.5 text-left text-muted outline-none transition-colors duration-[var(--duration-fast)] hover:text-ink focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",
247
247
  "aria-expanded": openState[seg.id],
248
248
  onClick: ($event) => toggleFold(seg.id)
249
249
  }, [
@@ -5,7 +5,7 @@ import { useFieldControl } from "../composables/useField.js";
5
5
  import { DEFAULT_SWATCHES, formatColor, opaqueCss, parseColor, rgbToHsv, isLight, clampHsv } from "../components/color.js";
6
6
  import { useClipboard } from "../composables/useClipboard.js";
7
7
  import { POPOVER_PANEL } from "../components/dropdown.js";
8
- import { _ as _sfc_main$1 } from "./LpContextMenu-B1NGfpp1.js";
8
+ import { _ as _sfc_main$1 } from "./LpContextMenu-DRFd-iyc.js";
9
9
  import { _ as _sfc_main$2 } from "./LpIcon-B5guGKrW.js";
10
10
  import { _ as _sfc_main$3 } from "./LpRollingText-DB7upf-5.js";
11
11
  const _hoisted_1 = ["id", "disabled", "aria-label", "aria-invalid", "aria-describedby"];
@@ -350,14 +350,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
350
350
  ]])
351
351
  }, [
352
352
  createElementVNode("span", {
353
- class: "relative size-5 shrink-0 overflow-hidden rounded-md",
353
+ class: "relative size-5 shrink-0 overflow-hidden rounded-inner",
354
354
  style: normalizeStyle({ background: CHECKERBOARD })
355
355
  }, [
356
356
  createElementVNode("span", {
357
357
  class: "block size-full",
358
358
  style: normalizeStyle({ backgroundColor: previewCss.value })
359
359
  }, null, 4),
360
- _cache[4] || (_cache[4] = createElementVNode("span", { class: "pointer-events-none absolute inset-0 rounded-md ring-1 ring-inset ring-line" }, null, -1))
360
+ _cache[4] || (_cache[4] = createElementVNode("span", { class: "pointer-events-none absolute inset-0 rounded-inner ring-1 ring-inset ring-line" }, null, -1))
361
361
  ], 4),
362
362
  createElementVNode("span", _hoisted_2, toDisplayString(__props.label ?? current.value), 1),
363
363
  createVNode(_sfc_main$2, {
@@ -495,7 +495,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
495
495
  disabled: __props.disabled,
496
496
  "aria-label": c,
497
497
  "aria-pressed": isActiveSwatch(c),
498
- class: normalizeClass(["relative flex items-center justify-center overflow-hidden rounded-md outline-none transition-transform duration-[var(--duration-fast)] ease-[var(--ease-emphasized)] hover:scale-110 active:scale-95 focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed motion-reduce:hover:scale-100 motion-reduce:active:scale-95", row.size]),
498
+ class: normalizeClass(["relative flex items-center justify-center overflow-hidden rounded-inner outline-none transition-transform duration-[var(--duration-fast)] ease-[var(--ease-emphasized)] hover:scale-110 active:scale-95 focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed motion-reduce:hover:scale-100 motion-reduce:active:scale-95", row.size]),
499
499
  style: normalizeStyle({ background: CHECKERBOARD }),
500
500
  onClick: ($event) => pickSwatch(c)
501
501
  }, [
@@ -503,7 +503,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
503
503
  class: "absolute inset-0",
504
504
  style: normalizeStyle({ backgroundColor: c })
505
505
  }, null, 4),
506
- _cache[5] || (_cache[5] = createElementVNode("span", { class: "pointer-events-none absolute inset-0 rounded-md ring-1 ring-inset ring-line" }, null, -1)),
506
+ _cache[5] || (_cache[5] = createElementVNode("span", { class: "pointer-events-none absolute inset-0 rounded-inner ring-1 ring-inset ring-line" }, null, -1)),
507
507
  isActiveSwatch(c) ? (openBlock(), createBlock(_sfc_main$2, {
508
508
  key: 0,
509
509
  name: "lucide:check",
@@ -2,7 +2,7 @@ import { defineComponent, computed, ref, watch, openBlock, createBlock, createSl
2
2
  import { useLabels } from "../composables/useLpConfig.js";
3
3
  import { _ as _sfc_main$2 } from "./LpButton-vhlwmpBy.js";
4
4
  import { _ as _sfc_main$3 } from "./LpIcon-B5guGKrW.js";
5
- import { _ as _sfc_main$1 } from "./LpModal-BxYssnXg.js";
5
+ import { _ as _sfc_main$1 } from "./LpModal-DvGD6kEe.js";
6
6
  const _hoisted_1 = { class: "inline-flex items-center gap-2.5" };
7
7
  const _hoisted_2 = {
8
8
  key: 0,
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, ref, watch, openBlock, createBlock, createCommentVNode } from "vue";
2
2
  import { confirmQueue, settleConfirm } from "../components/confirm.js";
3
- import { _ as _sfc_main$1 } from "./LpConfirmDialog-DxlSdjmk.js";
3
+ import { _ as _sfc_main$1 } from "./LpConfirmDialog-DkgIT-Xg.js";
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "LpConfirmHost",
6
6
  props: {
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, computed, openBlock, createBlock, unref, withCtx, createVNode, renderSlot, normalizeClass, createCommentVNode } from "vue";
2
2
  import { ContextMenuRoot, ContextMenuTrigger, ContextMenuPortal, ContextMenuContent } from "reka-ui";
3
- import { _ as _sfc_main$2 } from "./ContextMenuItems-BY5sTVQF.js";
4
- import { _ as _sfc_main$1 } from "./MenuTitle-DQP6hc2N.js";
3
+ import { _ as _sfc_main$2 } from "./ContextMenuItems-CioDScj3.js";
4
+ import { _ as _sfc_main$1 } from "./MenuTitle-B9HdaBwE.js";
5
5
  import { POPOVER_PANEL } from "../components/dropdown.js";
6
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
7
7
  __name: "LpContextMenu",
@@ -392,7 +392,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
392
392
  })) : createCommentVNode("", true)
393
393
  ]),
394
394
  createVNode(unref(DrawerClose), {
395
- class: "group flex shrink-0 items-center rounded-md p-1 text-muted outline-none transition-colors duration-[var(--duration-fast)] hover:text-ink focus-visible:ring-2 focus-visible:ring-ring",
395
+ class: "group flex shrink-0 items-center rounded-inner p-1 text-muted outline-none transition-colors duration-[var(--duration-fast)] hover:text-ink focus-visible:ring-2 focus-visible:ring-ring",
396
396
  "aria-label": unref(text).close
397
397
  }, {
398
398
  default: withCtx(() => [
@@ -2,7 +2,7 @@ import { defineComponent, openBlock, createBlock, unref, withCtx, createVNode, r
2
2
  import { DropdownMenuRoot, DropdownMenuTrigger, DropdownMenuPortal, DropdownMenuContent, DropdownMenuSeparator, DropdownMenuItem } from "reka-ui";
3
3
  import { POPOVER_PANEL } from "../components/dropdown.js";
4
4
  import { _ as _sfc_main$2 } from "./LpIcon-B5guGKrW.js";
5
- import { _ as _sfc_main$1 } from "./MenuTitle-DQP6hc2N.js";
5
+ import { _ as _sfc_main$1 } from "./MenuTitle-B9HdaBwE.js";
6
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
7
7
  __name: "LpDropdownMenu",
8
8
  props: {
@@ -46,7 +46,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
46
46
  class: "my-1 h-px bg-line"
47
47
  })) : createCommentVNode("", true),
48
48
  createVNode(unref(DropdownMenuItem), {
49
- class: normalizeClass(["group/item flex cursor-pointer 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", item.danger ? "text-danger data-[highlighted]:bg-danger-soft data-[highlighted]:text-danger" : "text-ink data-[highlighted]:text-brand"]),
49
+ class: normalizeClass(["group/item flex cursor-pointer items-center gap-2 rounded-inner 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", item.danger ? "text-danger data-[highlighted]:bg-danger-soft data-[highlighted]:text-danger" : "text-ink data-[highlighted]:text-brand"]),
50
50
  disabled: item.disabled,
51
51
  onSelect: ($event) => item.onSelect?.()
52
52
  }, {
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, ref, watch, computed, openBlock, createElementBlock, mergeProps, unref, Fragment, renderList, normalizeStyle, createBlock, createVNode, withCtx, createElementVNode, renderSlot, 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-CBwwkkdA.js";
4
- import { _ as _sfc_main$3 } from "./LpFileTreeNode-B4T258hF.js";
4
+ import { _ as _sfc_main$3 } from "./LpFileTreeNode-XgJW65v5.js";
5
5
  import { _ as _sfc_main$2 } from "./LpScrollArea-Hz3-JWUG.js";
6
6
  import { useMergedAttrs } from "../composables/useMergedClass.js";
7
7
  import { useLabels } from "../composables/useLpConfig.js";
@@ -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-B_C8sOoT.js";
5
- import { _ as _sfc_main$1 } from "./LpContextMenu-B1NGfpp1.js";
5
+ import { _ as _sfc_main$1 } from "./LpContextMenu-DRFd-iyc.js";
6
6
  import { _ as _sfc_main$2 } from "./LpIcon-B5guGKrW.js";
7
7
  import { useMergedAttrs } from "../composables/useMergedClass.js";
8
8
  const _hoisted_1 = ["aria-level", "aria-selected", "aria-expanded", "aria-disabled"];
@@ -2,7 +2,7 @@ import { defineComponent, useModel, computed, ref, shallowRef, onMounted, onBefo
2
2
  import { prefersReducedMotion } from "../composables/easing.js";
3
3
  import { useClipboard } from "../composables/useClipboard.js";
4
4
  import { useHotkeys } from "../composables/useHotkeys.js";
5
- import { _ as _sfc_main$3 } from "./LpContextMenu-B1NGfpp1.js";
5
+ import { _ as _sfc_main$3 } from "./LpContextMenu-DRFd-iyc.js";
6
6
  import { _ as _sfc_main$1 } from "./LpIcon-B5guGKrW.js";
7
7
  import { _ as _sfc_main$2 } from "./LpScrollArea-Hz3-JWUG.js";
8
8
  import { useMergedAttrs } from "../composables/useMergedClass.js";
@@ -203,7 +203,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
203
203
  ])) : createCommentVNode("", true),
204
204
  createVNode(unref(DialogClose), {
205
205
  "data-lp-dialog-close": "",
206
- class: "group flex shrink-0 items-center rounded-md p-1 text-muted outline-none transition-colors duration-[var(--duration-fast)] hover:text-ink focus-visible:ring-2 focus-visible:ring-ring",
206
+ class: "group flex shrink-0 items-center rounded-inner p-1 text-muted outline-none transition-colors duration-[var(--duration-fast)] hover:text-ink focus-visible:ring-2 focus-visible:ring-ring",
207
207
  "aria-label": unref(text).close
208
208
  }, {
209
209
  default: withCtx(() => [
@@ -3,8 +3,8 @@ import { useGlass } from "../composables/useGlass.js";
3
3
  import { useLabels } from "../composables/useLpConfig.js";
4
4
  import { _ as _sfc_main$2 } from "./LpButton-vhlwmpBy.js";
5
5
  import { _ as _sfc_main$3 } from "./LpIcon-B5guGKrW.js";
6
- import { _ as _sfc_main$1 } from "./LpModal-BxYssnXg.js";
7
- import { _ as _sfc_main$4 } from "./LpSidebar-CshW0fqC.js";
6
+ import { _ as _sfc_main$1 } from "./LpModal-DvGD6kEe.js";
7
+ import { _ as _sfc_main$4 } from "./LpSidebar-CKamWtPo.js";
8
8
  const _hoisted_1 = { class: "flex items-center gap-2" };
9
9
  const _sfc_main = /* @__PURE__ */ defineComponent({
10
10
  __name: "LpModalNav",
@@ -2,7 +2,7 @@ import { defineComponent, computed, useModel, getCurrentInstance, ref, onMounted
2
2
  import { useLabels } from "../composables/useLpConfig.js";
3
3
  import { _ as _sfc_main$8 } from "./LpBadge-Fe0D1bYx.js";
4
4
  import { _ as _sfc_main$7 } from "./LpButton-vhlwmpBy.js";
5
- import { _ as _sfc_main$5 } from "./LpContextMenu-B1NGfpp1.js";
5
+ import { _ as _sfc_main$5 } from "./LpContextMenu-DRFd-iyc.js";
6
6
  import { _ as _sfc_main$3 } from "./LpEmptyState-CBwwkkdA.js";
7
7
  import { _ as _sfc_main$6 } from "./LpIcon-B5guGKrW.js";
8
8
  import { _ as _sfc_main$1 } from "./LpPopover-DCKeqiVn.js";
@@ -239,13 +239,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
239
239
  __props.items.length && handlesClear.value ? (openBlock(), createElementBlock("button", {
240
240
  key: 0,
241
241
  type: "button",
242
- class: "rounded-md px-1.5 py-0.5 text-xs font-medium text-muted outline-none transition-colors hover:bg-surface-soft hover:text-ink focus-visible:bg-surface-soft",
242
+ class: "rounded-inner px-1.5 py-0.5 text-xs font-medium text-muted outline-none transition-colors hover:bg-surface-soft hover:text-ink focus-visible:bg-surface-soft",
243
243
  onClick: _cache[1] || (_cache[1] = ($event) => emit("clear"))
244
244
  }, toDisplayString(l.value.clear), 1)) : createCommentVNode("", true),
245
245
  hasUnread.value ? (openBlock(), createElementBlock("button", {
246
246
  key: 1,
247
247
  type: "button",
248
- class: "rounded-md px-1.5 py-0.5 text-xs font-medium text-brand outline-none transition-colors hover:bg-brand-soft focus-visible:bg-brand-soft",
248
+ class: "rounded-inner px-1.5 py-0.5 text-xs font-medium text-brand outline-none transition-colors hover:bg-brand-soft focus-visible:bg-brand-soft",
249
249
  onClick: _cache[2] || (_cache[2] = ($event) => emit("markAllRead"))
250
250
  }, toDisplayString(l.value.markAllRead), 1)) : createCommentVNode("", true)
251
251
  ])
@@ -46,7 +46,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
46
46
  trailing: withCtx(() => [
47
47
  createElementVNode("button", {
48
48
  type: "button",
49
- class: "group rounded-md p-1 text-muted outline-none transition-colors duration-[var(--duration-fast)] hover:text-ink focus-visible:text-ink",
49
+ class: "group rounded-inner p-1 text-muted outline-none transition-colors duration-[var(--duration-fast)] hover:text-ink focus-visible:text-ink",
50
50
  "aria-label": visible.value ? unref(text).hide : unref(text).show,
51
51
  onClick: _cache[0] || (_cache[0] = ($event) => visible.value = !visible.value)
52
52
  }, [
@@ -260,7 +260,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
260
260
  "model-value": query.value,
261
261
  placeholder: __props.searchPlaceholder,
262
262
  "auto-focus": "",
263
- class: "h-(--size-control-sm) w-full rounded-md border border-line bg-surface-soft px-2.5 text-sm text-ink outline-none placeholder:text-muted focus:border-brand",
263
+ class: "h-(--size-control-sm) w-full rounded-inner border border-line bg-surface-soft px-2.5 text-sm text-ink outline-none placeholder:text-muted focus:border-brand",
264
264
  onInput: _cache[0] || (_cache[0] = ($event) => query.value = $event.target.value)
265
265
  }, null, 8, ["model-value", "placeholder"])
266
266
  ]),
@@ -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-B1NGfpp1.js";
5
+ import { _ as _sfc_main$2 } from "./LpContextMenu-DRFd-iyc.js";
6
6
  import { _ as _sfc_main$1 } from "./LpIcon-B5guGKrW.js";
7
7
  import { _ as _sfc_main$4 } from "./LpNumberFlow-z4WPZcZu.js";
8
8
  import { _ as _sfc_main$5 } from "./LpRollingText-DB7upf-5.js";
@@ -540,7 +540,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
540
540
  return openBlock(), createElementBlock("button", {
541
541
  key: `${i}-${a.label}`,
542
542
  type: "button",
543
- class: normalizeClass(["group flex cursor-pointer items-center gap-2 rounded-md px-1 py-0.5 text-xs outline-none transition-[opacity,background-color] duration-fast focus-visible:ring-2 focus-visible:ring-ring", [dimmed(i) ? "opacity-45" : "", isSelected(i) ? "bg-surface-soft" : ""]]),
543
+ class: normalizeClass(["group flex cursor-pointer items-center gap-2 rounded-inner px-1 py-0.5 text-xs outline-none transition-[opacity,background-color] duration-fast focus-visible:ring-2 focus-visible:ring-ring", [dimmed(i) ? "opacity-45" : "", isSelected(i) ? "bg-surface-soft" : ""]]),
544
544
  "aria-pressed": isSelected(i),
545
545
  onPointerenter: ($event) => onSlicePointerEnter(i),
546
546
  onPointerleave: ($event) => onSlicePointerLeave(i),
@@ -57,14 +57,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
57
57
  key: opt.value,
58
58
  value: opt.value,
59
59
  "aria-label": opt.ariaLabel ?? (opt.label ? void 0 : opt.value),
60
- class: normalizeClass(["relative inline-flex h-full items-center justify-center gap-1.5 rounded-md px-3 font-medium outline-none transition-colors duration-[var(--duration-fast)] ease-[var(--ease-emphasized)] focus-visible:ring-2 focus-visible:ring-ring data-[state=on]:text-ink data-[state=off]:text-muted data-[state=off]:hover:text-ink disabled:cursor-not-allowed disabled:opacity-55", __props.block ? "flex-1" : ""])
60
+ class: normalizeClass(["relative inline-flex h-full items-center justify-center gap-1.5 rounded-inner px-3 font-medium outline-none transition-colors duration-[var(--duration-fast)] ease-[var(--ease-emphasized)] focus-visible:ring-2 focus-visible:ring-ring data-[state=on]:text-ink data-[state=off]:text-muted data-[state=off]:hover:text-ink disabled:cursor-not-allowed disabled:opacity-55", __props.block ? "flex-1" : ""])
61
61
  }, {
62
62
  default: withCtx(() => [
63
63
  opt.value === __props.modelValue ? (openBlock(), createBlock(unref(Motion), {
64
64
  key: 0,
65
65
  "layout-id": pillId,
66
66
  transition: unref(pillTransition),
67
- class: "absolute inset-0 z-0 rounded-md border border-line bg-surface-raised shadow-sm"
67
+ class: "absolute inset-0 z-0 rounded-inner border border-line bg-surface-raised shadow-sm"
68
68
  }, null, 8, ["transition"])) : createCommentVNode("", true),
69
69
  opt.icon ? (openBlock(), createBlock(_sfc_main$1, {
70
70
  key: 1,
@@ -1,8 +1,8 @@
1
1
  import { defineComponent, computed, ref, useId, openBlock, createElementBlock, Fragment, createElementVNode, mergeProps, unref, normalizeClass, renderSlot, createCommentVNode, createBlock, createVNode, createSlots, withCtx, normalizeProps, guardReactiveProps } from "vue";
2
2
  import { useLabels } from "../composables/useLpConfig.js";
3
- import { _ as _sfc_main$3 } from "./LpDrawer-DSknigxH.js";
3
+ import { _ as _sfc_main$3 } from "./LpDrawer-Rc6eAJrr.js";
4
4
  import { _ as _sfc_main$1 } from "./LpInput-WvyP02ID.js";
5
- import { _ as _sfc_main$2 } from "./LpSidebarNav-C9b3i9G2.js";
5
+ import { _ as _sfc_main$2 } from "./LpSidebarNav-Y4LV0ZEn.js";
6
6
  const _hoisted_1 = ["aria-label"];
7
7
  const _hoisted_2 = {
8
8
  key: 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-Fe0D1bYx.js";
6
- import { _ as _sfc_main$4 } from "./LpContextMenu-B1NGfpp1.js";
6
+ import { _ as _sfc_main$4 } from "./LpContextMenu-DRFd-iyc.js";
7
7
  import { _ as _sfc_main$2 } from "./LpIcon-B5guGKrW.js";
8
8
  import { _ as _sfc_main$1 } from "./LpScrollArea-Hz3-JWUG.js";
9
9
  import { resolveLink } from "../components/link.js";
@@ -69,8 +69,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
69
69
  __props.skeletonHeader ? (openBlock(), createElementBlock("div", _hoisted_1, [..._cache[0] || (_cache[0] = [
70
70
  createElementVNode("div", { class: "size-10 shrink-0 animate-pulse rounded-pill bg-surface-soft" }, null, -1),
71
71
  createElementVNode("div", { class: "flex-1 space-y-2" }, [
72
- createElementVNode("div", { class: "h-3.5 w-24 animate-pulse rounded bg-surface-soft" }),
73
- createElementVNode("div", { class: "h-3 w-16 animate-pulse rounded bg-surface-soft/60" })
72
+ createElementVNode("div", { class: "h-3.5 w-24 animate-pulse rounded-small bg-surface-soft" }),
73
+ createElementVNode("div", { class: "h-3 w-16 animate-pulse rounded-small bg-surface-soft/60" })
74
74
  ], -1)
75
75
  ])])) : createCommentVNode("", true),
76
76
  createElementVNode("div", _hoisted_2, [
@@ -26,7 +26,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
26
26
  variant: { default: "contained" },
27
27
  accent: { type: Boolean, default: false },
28
28
  block: { type: Boolean, default: false },
29
- label: {}
29
+ label: {},
30
+ hoverFollow: { type: Boolean, default: true }
30
31
  },
31
32
  emits: ["update:modelValue"],
32
33
  setup(__props, { emit: __emit }) {
@@ -98,12 +99,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
98
99
  class: normalizeClass(["relative inline-flex items-center justify-center outline-none transition-colors duration-[var(--duration-fast)] focus-visible:ring-2 focus-visible:ring-ring", [
99
100
  bottom.value ? "min-h-14 min-w-0 flex-col gap-0.5 px-1 py-1.5 text-[11px] font-medium focus-visible:ring-inset" : "shrink-0 gap-1.5 whitespace-nowrap text-sm",
100
101
  __props.block && !bottom.value ? "flex-1" : "",
101
- __props.variant === "underline" ? "rounded-t-md px-3 pt-1.5 pb-2" : "",
102
- __props.variant === "contained" || __props.variant === "plain" ? "rounded-md px-3 py-1.5" : "",
102
+ __props.variant === "underline" ? "rounded-t-inner px-3 pt-1.5 pb-2" : "",
103
+ __props.variant === "contained" || __props.variant === "plain" ? "rounded-inner px-3 py-1.5" : "",
103
104
  __props.accent ? "data-[state=active]:text-brand" : "data-[state=active]:text-ink",
104
105
  hovered.value === item.value && !bottom.value ? "text-ink" : "text-muted"
105
106
  ]]),
106
- onPointerenter: ($event) => hovered.value = item.value,
107
+ onPointerenter: ($event) => __props.hoverFollow && (hovered.value = item.value),
107
108
  onPointerup: releaseFocusAfterPointer
108
109
  }, {
109
110
  default: withCtx(() => [
@@ -118,7 +119,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
118
119
  "absolute inset-x-[22%] top-0 z-0 h-0.5 rounded-b-full",
119
120
  __props.accent ? "bg-brand" : "bg-ink"
120
121
  ] : [
121
- "absolute inset-0 z-0 rounded-md shadow-sm",
122
+ "absolute inset-0 z-0 rounded-inner shadow-sm",
122
123
  __props.accent ? "border border-brand/35 bg-brand/12" : "border border-line bg-surface-raised"
123
124
  ])
124
125
  }, null, 8, ["transition", "class"])) : createCommentVNode("", true),
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, computed, onMounted, ref, openBlock, createBlock, withCtx, createElementVNode, normalizeClass, createElementBlock, createVNode, toDisplayString, createCommentVNode } from "vue";
2
2
  import { useLabels } from "../composables/useLpConfig.js";
3
3
  import { u as useTheme, p as presets } from "./useTheme-2qHG8NEU.js";
4
- import { _ as _sfc_main$1 } from "./LpContextMenu-B1NGfpp1.js";
4
+ import { _ as _sfc_main$1 } from "./LpContextMenu-DRFd-iyc.js";
5
5
  import { _ as _sfc_main$2 } from "./LpIcon-B5guGKrW.js";
6
6
  const _hoisted_1 = ["aria-label", "title"];
7
7
  const _hoisted_2 = {