@leavepulse/ui 0.87.1 → 0.88.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 (241) hide show
  1. package/dist/assets/{LpCommandPalette-DCZB4EAf.css → LpCommandPalette-CO_5TFOQ.css} +38 -19
  2. package/dist/assets/{LpDropzone-CfL3Vrx4.css → LpDropzone-CVGUQqgY.css} +10 -10
  3. package/dist/assets/{LpImageEditor-y3B-aW3H.css → LpImageEditor-D_ECuegW.css} +6 -6
  4. package/dist/chunks/{ContextMenuItems-D0jObgzN.js → ContextMenuItems-LujPZSWM.js} +2 -1
  5. package/dist/chunks/{DropzoneLinkField-DhwYRnvd.js → DropzoneLinkField-Ckuh8zFC.js} +2 -2
  6. package/dist/chunks/{IconCloseButton-CmWOJAXG.js → IconCloseButton-C_V7qngw.js} +1 -1
  7. package/dist/chunks/{LpActionBar-Cx_MSZl9.js → LpActionBar-43WHmTsM.js} +1 -1
  8. package/dist/chunks/{LpAddressInput-CfqQR5jE.js → LpAddressInput-BCqR0zmv.js} +5 -5
  9. package/dist/chunks/{LpAlert-CYtbpRYW.js → LpAlert-Q0h7Gucu.js} +1 -1
  10. package/dist/chunks/{LpAppShell-BQG98odS.js → LpAppShell-BWaVRsDB.js} +3 -3
  11. package/dist/chunks/{LpAutocomplete-VNID5zdy.js → LpAutocomplete-YPxAPHEo.js} +5 -5
  12. package/dist/chunks/{LpButton-DSHioIfD.js → LpButton-BvVoF-PO.js} +1 -1
  13. package/dist/chunks/{LpCheckbox-P7tEw8GO.js → LpCheckbox-C9VnPIQf.js} +1 -1
  14. package/dist/chunks/{LpCodeBlock-BNThgUdQ.js → LpCodeBlock-BgWcg2mk.js} +3 -3
  15. package/dist/chunks/{LpCodeDisplay-DsiE-Qy9.js → LpCodeDisplay-DBi1YPLp.js} +3 -3
  16. package/dist/chunks/{LpColorPicker-EXpwcX-t.js → LpColorPicker-KGMG8QEh.js} +4 -4
  17. package/dist/chunks/{LpConfirmDialog-DPiPVRn_.js → LpConfirmDialog-y6k0ryWR.js} +2 -2
  18. package/dist/chunks/{LpConfirmHost-Ddiljlog.js → LpConfirmHost-D-X0tDym.js} +1 -1
  19. package/dist/chunks/{LpContextMenu-DYpDm6iI.js → LpContextMenu-DEFirphS.js} +3 -3
  20. package/dist/chunks/{LpContextSwitcher-BPDSkKyA.js → LpContextSwitcher-COw6GHPW.js} +1 -1
  21. package/dist/chunks/{LpCopyButton-CxX682t4.js → LpCopyButton-BGzw95Xc.js} +2 -2
  22. package/dist/chunks/{LpDataList-DCtF7krm.js → LpDataList-B56Gu6Yt.js} +3 -3
  23. package/dist/chunks/{LpDatePicker-BElEHVm6.js → LpDatePicker-Dlyvgsan.js} +2 -2
  24. package/dist/chunks/{LpDateRangePicker-vLt-drEu.js → LpDateRangePicker-CAn2yGbn.js} +1 -1
  25. package/dist/chunks/{LpDrawer-C97k-3L2.js → LpDrawer-iRHwJOGn.js} +4 -4
  26. package/dist/chunks/{LpDropdownMenu-BPEsqZCN.js → LpDropdownMenu-CdCe7D2d.js} +3 -3
  27. package/dist/chunks/{LpEditable-CeRAzYMv.js → LpEditable-DfRUAGkA.js} +2 -2
  28. package/dist/chunks/{LpEmptyState-DrHBR3yh.js → LpEmptyState-DLOm07KH.js} +1 -1
  29. package/dist/chunks/{LpFileTree-BcQgsw4e.js → LpFileTree-BN_zybBN.js} +3 -3
  30. package/dist/chunks/{LpFileTreeNode-Dk2WqkPF.js → LpFileTreeNode-CC48DbT5.js} +3 -3
  31. package/dist/chunks/{LpHintLayer-CUSRLtLu.js → LpHintLayer-nuMqfzvy.js} +3 -3
  32. package/dist/chunks/{LpHints-BF40CP4_.js → LpHints-ByAd3a76.js} +3 -3
  33. package/dist/chunks/{LpHoverCard-CHE9jAJG.js → LpHoverCard-DYguY2AP.js} +10 -61
  34. package/dist/chunks/{LpInput-BU5IsOlE.js → LpInput-DGMpxrcg.js} +1 -1
  35. package/dist/chunks/{LpInspector-CEko6-pS.js → LpInspector-oTfkOdYd.js} +2 -2
  36. package/dist/chunks/{LpLightbox-REei-y5e.js → LpLightbox-a24V_0Wk.js} +19 -7
  37. package/dist/chunks/{LpLogInspector-Bwz351LY.js → LpLogInspector-BhJTJIst.js} +1 -1
  38. package/dist/chunks/{LpLogViewer-BCkqdH66.js → LpLogViewer-BuIzr_6h.js} +4 -4
  39. package/dist/chunks/{LpMediaGallery-BF1Bch3v.js → LpMediaGallery-B7DOV_aL.js} +2 -2
  40. package/dist/chunks/{LpModal-BK2T5uIG.js → LpModal-D1E7rQzw.js} +5 -5
  41. package/dist/chunks/{LpModalNav-Dk4eHpg6.js → LpModalNav-DivqT1NV.js} +5 -4
  42. package/dist/chunks/{LpNotificationBell-CMwUXhFg.js → LpNotificationBell-KRgdRZs-.js} +4 -4
  43. package/dist/chunks/{LpNotificationFeed-BXsRp9jm.js → LpNotificationFeed-CMGYU8c-.js} +5 -5
  44. package/dist/chunks/{LpNumberField-QUMXvpqx.js → LpNumberField-C0LSu-tl.js} +1 -1
  45. package/dist/chunks/{LpPaletteTheme-wiJtP5hV.js → LpPaletteTheme-CLwO-SDf.js} +3 -3
  46. package/dist/chunks/{LpPasswordInput-W9AZfzaL.js → LpPasswordInput-LPVI7D3v.js} +2 -2
  47. package/dist/chunks/{LpPhoneInput-DsRv-Qla.js → LpPhoneInput-BdglZsGH.js} +5 -5
  48. package/dist/chunks/{LpPie-pbrNFbRP.js → LpPie-CsiBXe-e.js} +3 -3
  49. package/dist/chunks/{LpPipeline-BHWmvOiv.js → LpPipeline-DVcoSs--.js} +1 -1
  50. package/dist/chunks/{LpPopover-BQSuxtai.js → LpPopover-w2rr4x7n.js} +2 -2
  51. package/dist/chunks/{LpRadio-CWA5Eb3M.js → LpRadio-4KyxeSz4.js} +1 -1
  52. package/dist/chunks/{LpRadioGroup-D94KMStE.js → LpRadioGroup-Cr_fmrBY.js} +1 -1
  53. package/dist/chunks/{LpRangeSlider-CkP9hYUC.js → LpRangeSlider-DbaITHtC.js} +1 -1
  54. package/dist/chunks/{LpRelativeTime-0zI-44ve.js → LpRelativeTime-CN5bWD73.js} +1 -1
  55. package/dist/chunks/{LpRepeater-DLLcbQ6J.js → LpRepeater-C0rns2xW.js} +1 -1
  56. package/dist/chunks/{LpSecretField-Au7ZQTtm.js → LpSecretField-BwrZ4TfT.js} +5 -5
  57. package/dist/chunks/{LpSection-RKCwB0xN.js → LpSection-CwsfNR7N.js} +1 -1
  58. package/dist/chunks/{LpSegmented-DD8MPj4j.js → LpSegmented-DzFYP0ZF.js} +1 -1
  59. package/dist/chunks/{LpSelect-BeXz1TWh.js → LpSelect-Dffg5r4I.js} +5 -5
  60. package/dist/chunks/{LpSidebar-DUFlf6Uu.js → LpSidebar-DQtCYlT4.js} +4 -4
  61. package/dist/chunks/{LpSidebarNav-C34YEZIR.js → LpSidebarNav-CFcI7--7.js} +1 -1
  62. package/dist/chunks/{LpSidebarRow-BeEGgsZi.js → LpSidebarRow-C5jXpcRL.js} +2 -2
  63. package/dist/chunks/{LpSlider-BCy5rjwK.js → LpSlider-DUd4gXnw.js} +1 -1
  64. package/dist/chunks/{LpStat-eVz7iUfD.js → LpStat-SyVb5JXm.js} +1 -1
  65. package/dist/chunks/{LpSwitch-D7hmVsif.js → LpSwitch-D-mcaA6C.js} +1 -1
  66. package/dist/chunks/{LpTableFilter-BGFNKyUX.js → LpTableFilter-CILHffC1.js} +3 -3
  67. package/dist/chunks/{LpTagsInput-D9uOSlvf.js → LpTagsInput-DD8-xe3F.js} +2 -2
  68. package/dist/chunks/{LpTextarea-DwE-lQt4.js → LpTextarea-CQg-dVxN.js} +1 -1
  69. package/dist/chunks/{LpThemeStudio-COn2H76d.js → LpThemeStudio-BPPctXgd.js} +4 -4
  70. package/dist/chunks/{LpThemeSwitcher-B3R3nNid.js → LpThemeSwitcher-B3c44xFH.js} +4 -4
  71. package/dist/chunks/{LpTimeField-Mi8H1g_9.js → LpTimeField-Dio7Tj9A.js} +1 -1
  72. package/dist/chunks/{LpToaster-DOJn6Vey.js → LpToaster-Cdx1tnHB.js} +2 -2
  73. package/dist/chunks/{LpTooltip-Bz_rrq5S.js → LpTooltip-BKde8Xjv.js} +43 -7
  74. package/dist/chunks/{LpTopologyCanvas-5RFMP4gR.js → LpTopologyCanvas-CQ0l6A5h.js} +3 -3
  75. package/dist/chunks/{LpTour-DUI_hoPv.js → LpTour-BGUKUxSZ.js} +1 -1
  76. package/dist/chunks/{LpTruncate-CynJhsEw.js → LpTruncate-C_C8eiIE.js} +2 -2
  77. package/dist/chunks/{LpUptimeBar-G7PfNJUH.js → LpUptimeBar-Dt6SY_-m.js} +1 -1
  78. package/dist/chunks/{LpVideoCompress-CPUxXh-c.js → LpVideoCompress-CvxNdyjp.js} +2 -2
  79. package/dist/chunks/{LpVideoPlayer-BbCjEQAx.js → LpVideoPlayer-FMuxTAU8.js} +4 -4
  80. package/dist/chunks/{LpWindow-Dp_0nNqg.js → LpWindow-DsPeiDCZ.js} +1 -1
  81. package/dist/chunks/{LpWorkspaceSwitcher-bjkncjSl.js → LpWorkspaceSwitcher-DCIiOQt_.js} +4 -4
  82. package/dist/chunks/{PickerField-CjOTUXDK.js → PickerField-DzF3UVnX.js} +1 -1
  83. package/dist/chunks/{RevealToggle-Bl1NcfxB.js → RevealToggle-BsYxY6Oz.js} +2 -2
  84. package/dist/chunks/{TourCard-BovXtMbO.js → TourCard-yrLqv4Oz.js} +1 -1
  85. package/dist/chunks/{VideoVolume-DE3i1ree.js → VideoVolume-CzL5mZPE.js} +2 -2
  86. package/dist/components/ContextMenuItems.vue.js +1 -1
  87. package/dist/components/DropzoneLinkField.vue.js +1 -1
  88. package/dist/components/IconCloseButton.vue.js +1 -1
  89. package/dist/components/LpActionBar.vue.js +1 -1
  90. package/dist/components/LpAddressInput.vue.js +1 -1
  91. package/dist/components/LpAlert.vue.js +1 -1
  92. package/dist/components/LpAppShell.vue.js +1 -1
  93. package/dist/components/LpAutocomplete.vue.js +1 -1
  94. package/dist/components/LpButton.vue.js +1 -1
  95. package/dist/components/LpChart.vue.js +2 -2
  96. package/dist/components/LpCheckbox.vue.js +1 -1
  97. package/dist/components/LpCodeBlock.vue.js +1 -1
  98. package/dist/components/LpCodeDisplay.vue.js +1 -1
  99. package/dist/components/LpColorPicker.vue.js +1 -1
  100. package/dist/components/LpCommandPalette.vue.d.ts +2 -0
  101. package/dist/components/LpCommandPalette.vue.js +69 -33
  102. package/dist/components/LpConfirmDialog.vue.js +1 -1
  103. package/dist/components/LpConfirmHost.vue.js +1 -1
  104. package/dist/components/LpContextMenu.vue.js +1 -1
  105. package/dist/components/LpContextSwitcher.vue.js +1 -1
  106. package/dist/components/LpCopyButton.vue.js +1 -1
  107. package/dist/components/LpDataList.vue.js +1 -1
  108. package/dist/components/LpDatePicker.vue.js +1 -1
  109. package/dist/components/LpDateRangePicker.vue.js +1 -1
  110. package/dist/components/LpDock.vue.js +1 -1
  111. package/dist/components/LpDrawer.vue.js +1 -1
  112. package/dist/components/LpDropdownMenu.vue.js +1 -1
  113. package/dist/components/LpDropzone.vue.js +5 -5
  114. package/dist/components/LpEditable.vue.js +1 -1
  115. package/dist/components/LpEmptyState.vue.js +1 -1
  116. package/dist/components/LpFileTree.vue.js +1 -1
  117. package/dist/components/LpFileTreeNode.vue.js +1 -1
  118. package/dist/components/LpHintLayer.vue.js +1 -1
  119. package/dist/components/LpHints.vue.js +1 -1
  120. package/dist/components/LpHoverCard.vue.d.ts +3 -3
  121. package/dist/components/LpHoverCard.vue.js +1 -1
  122. package/dist/components/LpImageEditor.vue.js +4 -4
  123. package/dist/components/LpInput.vue.js +1 -1
  124. package/dist/components/LpInspector.vue.js +1 -1
  125. package/dist/components/LpLightbox.vue.js +1 -1
  126. package/dist/components/LpLogInspector.vue.js +1 -1
  127. package/dist/components/LpLogViewer.vue.js +1 -1
  128. package/dist/components/LpMediaGallery.vue.js +1 -1
  129. package/dist/components/LpModal.vue.js +1 -1
  130. package/dist/components/LpModalNav.vue.js +1 -1
  131. package/dist/components/LpNotificationBell.vue.js +1 -1
  132. package/dist/components/LpNotificationFeed.vue.js +1 -1
  133. package/dist/components/LpNumberField.vue.js +1 -1
  134. package/dist/components/LpPaletteTheme.vue.js +1 -1
  135. package/dist/components/LpPasswordInput.vue.js +1 -1
  136. package/dist/components/LpPhoneInput.vue.js +1 -1
  137. package/dist/components/LpPie.vue.js +1 -1
  138. package/dist/components/LpPipeline.vue.js +1 -1
  139. package/dist/components/LpPopover.vue.js +1 -1
  140. package/dist/components/LpRadio.vue.js +1 -1
  141. package/dist/components/LpRadioGroup.vue.js +1 -1
  142. package/dist/components/LpRangeSlider.vue.js +1 -1
  143. package/dist/components/LpRelativeTime.vue.js +1 -1
  144. package/dist/components/LpRepeater.vue.js +1 -1
  145. package/dist/components/LpSecretField.vue.js +1 -1
  146. package/dist/components/LpSection.vue.js +1 -1
  147. package/dist/components/LpSegmented.vue.js +1 -1
  148. package/dist/components/LpSelect.vue.js +1 -1
  149. package/dist/components/LpShortcutsDialog.vue.js +1 -1
  150. package/dist/components/LpSidebar.vue.js +1 -1
  151. package/dist/components/LpSidebarNav.vue.js +1 -1
  152. package/dist/components/LpSidebarRow.vue.js +1 -1
  153. package/dist/components/LpSlider.vue.js +1 -1
  154. package/dist/components/LpStat.vue.js +1 -1
  155. package/dist/components/LpSwitch.vue.js +1 -1
  156. package/dist/components/LpTable.vue.js +10 -10
  157. package/dist/components/LpTableFilter.vue.js +1 -1
  158. package/dist/components/LpTabs.vue.js +1 -1
  159. package/dist/components/LpTagsInput.vue.js +1 -1
  160. package/dist/components/LpTextarea.vue.js +1 -1
  161. package/dist/components/LpThemeStudio.vue.js +1 -1
  162. package/dist/components/LpThemeSwitcher.vue.js +1 -1
  163. package/dist/components/LpTimeField.vue.js +1 -1
  164. package/dist/components/LpToaster.vue.js +1 -1
  165. package/dist/components/LpTooltip.vue.d.ts +9 -0
  166. package/dist/components/LpTooltip.vue.js +1 -1
  167. package/dist/components/LpTopologyCanvas.vue.js +1 -1
  168. package/dist/components/LpTour.vue.js +1 -1
  169. package/dist/components/LpTruncate.vue.js +1 -1
  170. package/dist/components/LpUptimeBar.vue.js +1 -1
  171. package/dist/components/LpVideoCompress.vue.js +1 -1
  172. package/dist/components/LpVideoPlayer.vue.js +1 -1
  173. package/dist/components/LpVideoTrim.vue.js +4 -4
  174. package/dist/components/LpWindow.vue.js +1 -1
  175. package/dist/components/LpWorkspaceSwitcher.vue.js +1 -1
  176. package/dist/components/PickerField.vue.js +1 -1
  177. package/dist/components/RevealToggle.vue.js +1 -1
  178. package/dist/components/TourCard.vue.js +1 -1
  179. package/dist/components/VideoVolume.vue.js +1 -1
  180. package/dist/components/badge.d.ts +1 -1
  181. package/dist/components/badge.js +1 -1
  182. package/dist/components/dropdown.d.ts +14 -0
  183. package/dist/components/dropdown.js +7 -1
  184. package/dist/components/menuWhen.js +1 -1
  185. package/dist/components/modalDepth.d.ts +1 -0
  186. package/dist/components/modalDepth.js +2 -0
  187. package/dist/composables/useReveal.js +3 -3
  188. package/dist/composables/useTouchHold.d.ts +19 -0
  189. package/dist/composables/useTouchHold.js +60 -0
  190. package/dist/index.js +72 -71
  191. package/package.json +1 -1
  192. package/src/components/ContextMenuItems.vue +2 -1
  193. package/src/components/IconCloseButton.vue +1 -1
  194. package/src/components/LpAlert.vue +1 -1
  195. package/src/components/LpAutocomplete.vue +4 -4
  196. package/src/components/LpButton.vue +1 -1
  197. package/src/components/LpCheckbox.vue +1 -1
  198. package/src/components/LpCodeBlock.vue +2 -2
  199. package/src/components/LpColorPicker.vue +3 -3
  200. package/src/components/LpCommandPalette.vue +89 -7
  201. package/src/components/LpContextMenu.vue +2 -2
  202. package/src/components/LpDataList.vue +1 -1
  203. package/src/components/LpDrawer.vue +7 -4
  204. package/src/components/LpDropdownMenu.vue +2 -2
  205. package/src/components/LpDropzone.vue +2 -2
  206. package/src/components/LpEditable.vue +2 -2
  207. package/src/components/LpEmptyState.vue +1 -1
  208. package/src/components/LpFileTreeNode.vue +1 -1
  209. package/src/components/LpHintLayer.vue +2 -2
  210. package/src/components/LpHoverCard.vue +11 -80
  211. package/src/components/LpImageEditor.vue +1 -1
  212. package/src/components/LpInput.vue +1 -1
  213. package/src/components/LpLightbox.vue +20 -3
  214. package/src/components/LpModal.vue +4 -4
  215. package/src/components/LpModalNav.vue +2 -1
  216. package/src/components/LpNumberField.vue +1 -1
  217. package/src/components/LpPhoneInput.vue +5 -5
  218. package/src/components/LpPopover.vue +2 -2
  219. package/src/components/LpRadio.vue +1 -1
  220. package/src/components/LpRadioGroup.vue +1 -1
  221. package/src/components/LpRangeSlider.vue +1 -1
  222. package/src/components/LpSection.vue +9 -6
  223. package/src/components/LpSegmented.vue +1 -1
  224. package/src/components/LpSelect.vue +4 -4
  225. package/src/components/LpSlider.vue +1 -1
  226. package/src/components/LpStat.vue +1 -1
  227. package/src/components/LpSwitch.vue +1 -1
  228. package/src/components/LpTableFilter.vue +1 -1
  229. package/src/components/LpTagsInput.vue +2 -2
  230. package/src/components/LpTextarea.vue +1 -1
  231. package/src/components/LpThemeSwitcher.vue +2 -2
  232. package/src/components/LpTimeField.vue +1 -1
  233. package/src/components/LpToaster.vue +1 -1
  234. package/src/components/LpTooltip.vue +59 -5
  235. package/src/components/badge.ts +1 -1
  236. package/src/components/dropdown.ts +24 -0
  237. package/src/components/modalDepth.ts +6 -0
  238. package/src/composables/useReveal.ts +7 -4
  239. package/src/composables/useTouchHold.ts +92 -0
  240. package/src/locales/uk.ts +1 -0
  241. package/src/tokens/utilities.css +34 -0
@@ -0,0 +1,60 @@
1
+ import { onBeforeUnmount } from "vue";
2
+ const SLOP = 8;
3
+ const CLICK_AFTER_RELEASE_MS = 350;
4
+ function useTouchHold(options) {
5
+ let timer = 0;
6
+ let finger = null;
7
+ let start = { x: 0, y: 0 };
8
+ let held = false;
9
+ function stop() {
10
+ window.clearTimeout(timer);
11
+ timer = 0;
12
+ }
13
+ function onPointerDown(event) {
14
+ if (timer && event.pointerId !== finger) return;
15
+ held = false;
16
+ if (event.pointerType !== "touch" || !options.enabled()) return;
17
+ finger = event.pointerId;
18
+ start = { x: event.clientX, y: event.clientY };
19
+ stop();
20
+ timer = window.setTimeout(() => {
21
+ timer = 0;
22
+ held = true;
23
+ options.onHold();
24
+ }, options.delay());
25
+ }
26
+ function onPointerMove(event) {
27
+ if (!timer || event.pointerId !== finger) return;
28
+ if (Math.hypot(event.clientX - start.x, event.clientY - start.y) > SLOP) stop();
29
+ }
30
+ function onPointerUp(event) {
31
+ if (finger !== null && event.pointerId !== finger) return;
32
+ finger = null;
33
+ stop();
34
+ if (held) window.setTimeout(() => held = false, CLICK_AFTER_RELEASE_MS);
35
+ }
36
+ function onPointerCancel(event) {
37
+ if (event && finger !== null && event.pointerId !== finger) return;
38
+ finger = null;
39
+ stop();
40
+ held = false;
41
+ }
42
+ function onClickCapture(event) {
43
+ if (!held) return;
44
+ held = false;
45
+ event.preventDefault();
46
+ event.stopImmediatePropagation();
47
+ }
48
+ function onContextMenu(event) {
49
+ if (timer || held) event.preventDefault();
50
+ }
51
+ onBeforeUnmount(stop);
52
+ return {
53
+ /** Drops a hold in progress, as if the finger had been lifted off the screen. */
54
+ cancel: () => onPointerCancel(),
55
+ handlers: { onPointerdown: onPointerDown, onPointermove: onPointerMove, onPointerup: onPointerUp, onPointercancel: onPointerCancel, onClickCapture, onContextmenu: onContextMenu }
56
+ };
57
+ }
58
+ export {
59
+ useTouchHold
60
+ };
package/dist/index.js CHANGED
@@ -1,15 +1,15 @@
1
1
  import { _ } from "./chunks/LayoutCanvas-j4TZqx1A.js";
2
- import { _ as _2 } from "./chunks/LpAddressInput-CfqQR5jE.js";
2
+ import { _ as _2 } from "./chunks/LpAddressInput-BCqR0zmv.js";
3
3
  import { _ as _3 } from "./chunks/LpMapPicker-DVfiy3rR.js";
4
4
  import { OSM_TILES, createNominatimProvider, emptyAddress, formatAddress, project, tileUrl, unproject } from "./components/address.js";
5
- import { _ as _4 } from "./chunks/LpActionBar-Cx_MSZl9.js";
6
- import { _ as _5 } from "./chunks/LpAlert-CYtbpRYW.js";
7
- import { _ as _6 } from "./chunks/LpAppShell-BQG98odS.js";
8
- import { _ as _7 } from "./chunks/LpAutocomplete-VNID5zdy.js";
5
+ import { _ as _4 } from "./chunks/LpActionBar-43WHmTsM.js";
6
+ import { _ as _5 } from "./chunks/LpAlert-Q0h7Gucu.js";
7
+ import { _ as _6 } from "./chunks/LpAppShell-BWaVRsDB.js";
8
+ import { _ as _7 } from "./chunks/LpAutocomplete-YPxAPHEo.js";
9
9
  import { _ as _8 } from "./chunks/LpAvatar-CfLBqlY1.js";
10
10
  import { _ as _9 } from "./chunks/LpBadge-Bh5roBr_.js";
11
11
  import { _ as _10 } from "./chunks/LpBreadcrumbs-Zv1fn9e_.js";
12
- import { _ as _11 } from "./chunks/LpButton-DSHioIfD.js";
12
+ import { _ as _11 } from "./chunks/LpButton-BvVoF-PO.js";
13
13
  import { _ as _12 } from "./chunks/LpCalendar-aACjUhpM.js";
14
14
  import { _ as _13 } from "./chunks/LpCard-xXBqLVGo.js";
15
15
  import { default as default2 } from "./components/LpChart.vue.js";
@@ -18,10 +18,10 @@ import { CHART_PALETTE, axisTicks, chartSummary, formatTick, markerIndex, niceSc
18
18
  import { chartView, lttbIndices, minMaxBuckets, panRange, slotOf, sourceOf, zoomRange } from "./components/chartWindow.js";
19
19
  import { useChartSync } from "./composables/useChartSync.js";
20
20
  import { createLinkedView, linkChart, linkLog, linkPipeline, linkTable, linkTopology, provideLinkedView, useLinkedView } from "./composables/useLinkedView.js";
21
- import { _ as _14 } from "./chunks/LpCheckbox-P7tEw8GO.js";
22
- import { _ as _15 } from "./chunks/LpCodeBlock-BNThgUdQ.js";
21
+ import { _ as _14 } from "./chunks/LpCheckbox-C9VnPIQf.js";
22
+ import { _ as _15 } from "./chunks/LpCodeBlock-BgWcg2mk.js";
23
23
  import { tokenizeLines } from "./components/codeHighlight.js";
24
- import { _ as _16 } from "./chunks/LpColorPicker-EXpwcX-t.js";
24
+ import { _ as _16 } from "./chunks/LpColorPicker-KGMG8QEh.js";
25
25
  import { DEFAULT_SWATCHES, clampHsv, formatColor, hsvToHsl, hsvToRgb, isLight, normalizeHue, opaqueCss, parseColor, parseHex, rgbToHex, rgbToHsv } from "./components/color.js";
26
26
  import { default as default3 } from "./components/LpCommandPalette.vue.js";
27
27
  import { applyQueryFilters, highlightParts, parseCommandQuery, parsePaletteQuery, rankCommandItems, searchCommandItems, swapCommandLayout } from "./components/commandSearch.js";
@@ -33,21 +33,21 @@ import { default as default6 } from "./components/LpPaletteStats.vue.js";
33
33
  import { default as default7 } from "./components/LpPaletteSwatches.vue.js";
34
34
  import { default as default8 } from "./components/LpKeys.vue.js";
35
35
  import { comboKeys, comboSteps } from "./components/keys.js";
36
- import { _ as _18 } from "./chunks/LpConfirmDialog-DPiPVRn_.js";
37
- import { _ as _19 } from "./chunks/LpConfirmHost-Ddiljlog.js";
36
+ import { _ as _18 } from "./chunks/LpConfirmDialog-y6k0ryWR.js";
37
+ import { _ as _19 } from "./chunks/LpConfirmHost-D-X0tDym.js";
38
38
  import { confirm, useConfirm } from "./components/confirm.js";
39
- import { _ as _20 } from "./chunks/LpContextMenu-DYpDm6iI.js";
40
- import { _ as _21 } from "./chunks/LpDatePicker-BElEHVm6.js";
41
- import { _ as _22 } from "./chunks/LpDateRangePicker-vLt-drEu.js";
39
+ import { _ as _20 } from "./chunks/LpContextMenu-DEFirphS.js";
40
+ import { _ as _21 } from "./chunks/LpDatePicker-Dlyvgsan.js";
41
+ import { _ as _22 } from "./chunks/LpDateRangePicker-CAn2yGbn.js";
42
42
  import { _ as _23 } from "./chunks/LpRangeCalendar-C9gkNMYw.js";
43
43
  import { clampRange, dayAllowed, defaultDatePresets, defaultRangePresets, formatRange, normalizeRange, sameRange } from "./components/dateRange.js";
44
44
  import { _ as _24 } from "./chunks/LpDisclosure-D4JZ-o8K.js";
45
45
  import { _ as _25 } from "./chunks/LpDivider-CUX46KR0.js";
46
- import { _ as _26 } from "./chunks/LpDrawer-C97k-3L2.js";
47
- import { _ as _27 } from "./chunks/LpDropdownMenu-BPEsqZCN.js";
46
+ import { _ as _26 } from "./chunks/LpDrawer-iRHwJOGn.js";
47
+ import { _ as _27 } from "./chunks/LpDropdownMenu-CdCe7D2d.js";
48
48
  import { default as default9 } from "./components/LpDropzone.vue.js";
49
- import { _ as _28 } from "./chunks/LpEmptyState-DrHBR3yh.js";
50
- import { _ as _29 } from "./chunks/LpFileTree-BcQgsw4e.js";
49
+ import { _ as _28 } from "./chunks/LpEmptyState-DLOm07KH.js";
50
+ import { _ as _29 } from "./chunks/LpFileTree-BN_zybBN.js";
51
51
  import { ancestorIds, checkStateOf, checkedCount, computeStats, fileIcon, formatModified, formatSize, sortNodes, subtreeIds, subtreeSize } from "./components/fileTree.js";
52
52
  import { _ as _30 } from "./chunks/LpFieldNotice-DUPo1Yii.js";
53
53
  import { _ as _31 } from "./chunks/LpFormField-jbM7K1Hg.js";
@@ -55,61 +55,61 @@ import { _ as _32 } from "./chunks/LpIcon-CxHFPwKt.js";
55
55
  import { i, b, a, c } from "./chunks/icons-C8ccRCKw.js";
56
56
  import { default as default10 } from "./components/LpImageEditor.vue.js";
57
57
  import { _ as _33 } from "./chunks/LpInfraNode-BYiMFDnA.js";
58
- import { _ as _34 } from "./chunks/LpInput-BU5IsOlE.js";
59
- import { _ as _35 } from "./chunks/LpLightbox-REei-y5e.js";
58
+ import { _ as _34 } from "./chunks/LpInput-DGMpxrcg.js";
59
+ import { _ as _35 } from "./chunks/LpLightbox-a24V_0Wk.js";
60
60
  import { fileNameOf, isVideoItem } from "./components/lightbox.js";
61
61
  import { _ as _36 } from "./chunks/LpLink-Krkjhe_y.js";
62
- import { _ as _37 } from "./chunks/LpLogViewer-BCkqdH66.js";
63
- import { _ as _38 } from "./chunks/LpLogInspector-Bwz351LY.js";
62
+ import { _ as _37 } from "./chunks/LpLogViewer-BuIzr_6h.js";
63
+ import { _ as _38 } from "./chunks/LpLogInspector-BhJTJIst.js";
64
64
  import { compilePattern, findIds, messageShape, structuredPayload, timeMs } from "./components/logTools.js";
65
65
  import { countLevels, matchPositions, matchesTerm, ringWindow, stepMatch } from "./components/logSearch.js";
66
- import { _ as _39 } from "./chunks/LpMediaGallery-BF1Bch3v.js";
67
- import { _ as _40 } from "./chunks/LpModal-BK2T5uIG.js";
68
- import { _ as _41 } from "./chunks/LpModalNav-Dk4eHpg6.js";
69
- import { _ as _42 } from "./chunks/LpNotificationBell-CMwUXhFg.js";
70
- import { _ as _43 } from "./chunks/LpNotificationFeed-BXsRp9jm.js";
71
- import { _ as _44 } from "./chunks/LpNumberField-QUMXvpqx.js";
72
- import { _ as _45 } from "./chunks/LpTimeField-Mi8H1g_9.js";
66
+ import { _ as _39 } from "./chunks/LpMediaGallery-B7DOV_aL.js";
67
+ import { _ as _40 } from "./chunks/LpModal-D1E7rQzw.js";
68
+ import { _ as _41 } from "./chunks/LpModalNav-DivqT1NV.js";
69
+ import { _ as _42 } from "./chunks/LpNotificationBell-KRgdRZs-.js";
70
+ import { _ as _43 } from "./chunks/LpNotificationFeed-CMGYU8c-.js";
71
+ import { _ as _44 } from "./chunks/LpNumberField-C0LSu-tl.js";
72
+ import { _ as _45 } from "./chunks/LpTimeField-Dio7Tj9A.js";
73
73
  import { _ as _46 } from "./chunks/LpNumberFlow-Vqj0tP7B.js";
74
74
  import { _ as _47 } from "./chunks/LpOtpInput-C14XagVB.js";
75
75
  import { _ as _48 } from "./chunks/LpPagination-DGLntZJN.js";
76
- import { _ as _49 } from "./chunks/LpPasswordInput-W9AZfzaL.js";
77
- import { _ as _50 } from "./chunks/LpPie-pbrNFbRP.js";
78
- import { _ as _51 } from "./chunks/LpPhoneInput-DsRv-Qla.js";
76
+ import { _ as _49 } from "./chunks/LpPasswordInput-LPVI7D3v.js";
77
+ import { _ as _50 } from "./chunks/LpPie-CsiBXe-e.js";
78
+ import { _ as _51 } from "./chunks/LpPhoneInput-BdglZsGH.js";
79
79
  import { filterCountries, flagEmoji, loadCountries, matchCountryByValue } from "./components/countries.js";
80
- import { _ as _52 } from "./chunks/LpPopover-BQSuxtai.js";
80
+ import { _ as _52 } from "./chunks/LpPopover-w2rr4x7n.js";
81
81
  import { _ as _53 } from "./chunks/LpProgress-D_MSjowb.js";
82
- import { _ as _54 } from "./chunks/LpRadio-CWA5Eb3M.js";
83
- import { _ as _55 } from "./chunks/LpRadioGroup-D94KMStE.js";
82
+ import { _ as _54 } from "./chunks/LpRadio-4KyxeSz4.js";
83
+ import { _ as _55 } from "./chunks/LpRadioGroup-Cr_fmrBY.js";
84
84
  import { _ as _56 } from "./chunks/LpRollingText-B54Pje7P.js";
85
85
  import { _ as _57 } from "./chunks/LpScrollArea-CqvwfZs2.js";
86
86
  import { _ as _58 } from "./chunks/LpPageScrollbar-C9sTeU-2.js";
87
- import { _ as _59 } from "./chunks/LpSegmented-DD8MPj4j.js";
88
- import { _ as _60 } from "./chunks/LpSection-RKCwB0xN.js";
89
- import { _ as _61 } from "./chunks/LpSelect-BeXz1TWh.js";
87
+ import { _ as _59 } from "./chunks/LpSegmented-DzFYP0ZF.js";
88
+ import { _ as _60 } from "./chunks/LpSection-CwsfNR7N.js";
89
+ import { _ as _61 } from "./chunks/LpSelect-Dffg5r4I.js";
90
90
  import { fitChips, toggledValues } from "./components/select.js";
91
91
  import { _ as _62 } from "./chunks/LpServiceNode-Cln2ntdw.js";
92
92
  import { _ as _63 } from "./chunks/LpShift-DAgS_d2x.js";
93
93
  import { _ as _64 } from "./chunks/LpSwap-M7nFeW3C.js";
94
94
  import { _ as _65 } from "./chunks/LpHintExample-YzCXiSUp.js";
95
95
  import { default as default11 } from "./components/LpShortcutsDialog.vue.js";
96
- import { _ as _66 } from "./chunks/LpSidebar-DUFlf6Uu.js";
97
- import { _ as _67 } from "./chunks/LpContextSwitcher-BPDSkKyA.js";
96
+ import { _ as _66 } from "./chunks/LpSidebar-DQtCYlT4.js";
97
+ import { _ as _67 } from "./chunks/LpContextSwitcher-COw6GHPW.js";
98
98
  import { _ as _68 } from "./chunks/LpSkeleton-leTl53V9.js";
99
- import { _ as _69 } from "./chunks/LpSlider-BCy5rjwK.js";
100
- import { _ as _70 } from "./chunks/LpRangeSlider-CkP9hYUC.js";
99
+ import { _ as _69 } from "./chunks/LpSlider-DUd4gXnw.js";
100
+ import { _ as _70 } from "./chunks/LpRangeSlider-DbaITHtC.js";
101
101
  import { _ as _71 } from "./chunks/LpVideoBackdrop-57i8RY8g.js";
102
102
  import { formatClipTime, isNativeLoop, planLoop, seamProgress, seamReached } from "./components/videoBackdrop.js";
103
103
  import { default as default12 } from "./components/LpVideoTrim.vue.js";
104
- import { _ as _72 } from "./chunks/LpVideoCompress-CPUxXh-c.js";
104
+ import { _ as _72 } from "./chunks/LpVideoCompress-CvxNdyjp.js";
105
105
  import { bitrateForHeight, canTranscodeVideo, estimateTranscodedBytes, probeVideo, transcodeVideo, transcodedName } from "./composables/videoTranscode.js";
106
- import { _ as _73 } from "./chunks/LpVideoPlayer-BbCjEQAx.js";
106
+ import { _ as _73 } from "./chunks/LpVideoPlayer-FMuxTAU8.js";
107
107
  import { useVideoMedia } from "./composables/useVideoMedia.js";
108
108
  import { dragEnd, normalizeRange as normalizeRange2, parseClipTime, setEnd } from "./components/videoTrim.js";
109
109
  import { _ as _74 } from "./chunks/LpSparkline-11ryFdPX.js";
110
- import { _ as _75 } from "./chunks/LpStat-eVz7iUfD.js";
110
+ import { _ as _75 } from "./chunks/LpStat-SyVb5JXm.js";
111
111
  import { _ as _76 } from "./chunks/LpStepper-DBNRA6Q2.js";
112
- import { _ as _77 } from "./chunks/LpSwitch-D7hmVsif.js";
112
+ import { _ as _77 } from "./chunks/LpSwitch-D-mcaA6C.js";
113
113
  import { default as default13 } from "./components/LpTable.vue.js";
114
114
  import { compareValues } from "./components/tableSort.js";
115
115
  import { filterRows, showOnly, shownValues } from "./components/tableFilter.js";
@@ -118,29 +118,29 @@ import { resolveRowMenu } from "./components/tableRowMenu.js";
118
118
  import { _ as _78 } from "./chunks/LpTableOfContents-CKkWEK6R.js";
119
119
  import { default as default14 } from "./components/LpTabs.vue.js";
120
120
  import { _ as _79 } from "./chunks/LpBottomNav-9AqvZlRW.js";
121
- import { _ as _80 } from "./chunks/LpTagsInput-D9uOSlvf.js";
121
+ import { _ as _80 } from "./chunks/LpTagsInput-DD8-xe3F.js";
122
122
  import { addTags, splitTags } from "./components/tags.js";
123
- import { _ as _81 } from "./chunks/LpTextarea-DwE-lQt4.js";
124
- import { _ as _82 } from "./chunks/LpThemeSwitcher-B3R3nNid.js";
123
+ import { _ as _81 } from "./chunks/LpTextarea-CQg-dVxN.js";
124
+ import { _ as _82 } from "./chunks/LpThemeSwitcher-B3c44xFH.js";
125
125
  import { _ as _83 } from "./chunks/LpTilt-B7KHX1zH.js";
126
- import { _ as _84 } from "./chunks/LpToaster-DOJn6Vey.js";
127
- import { _ as _85 } from "./chunks/LpTooltip-Bz_rrq5S.js";
128
- import { _ as _86 } from "./chunks/LpTour-DUI_hoPv.js";
126
+ import { _ as _84 } from "./chunks/LpToaster-Cdx1tnHB.js";
127
+ import { _ as _85 } from "./chunks/LpTooltip-BKde8Xjv.js";
128
+ import { _ as _86 } from "./chunks/LpTour-BGUKUxSZ.js";
129
129
  import { holeOf, openContextMenu, panelsAround } from "./components/tour.js";
130
- import { _ as _87 } from "./chunks/LpHintLayer-CUSRLtLu.js";
131
- import { _ as _88 } from "./chunks/LpHints-BF40CP4_.js";
130
+ import { _ as _87 } from "./chunks/LpHintLayer-nuMqfzvy.js";
131
+ import { _ as _88 } from "./chunks/LpHints-ByAd3a76.js";
132
132
  import { HINT_SIGNALS, contextMenuTip, createHintSystem, dropzoneTip, hintKey, hintSummary, hotkeyTip, localHintStorage, noteDropzone, noteHotkeyTarget, paletteTip, provideHintSystem, runningHintSystem, useHintSystem } from "./composables/useHintSystem.js";
133
133
  import { _ as _89 } from "./chunks/LpTooltipProvider-CftjV7Xc.js";
134
- import { _ as _90 } from "./chunks/LpTopologyCanvas-5RFMP4gR.js";
134
+ import { _ as _90 } from "./chunks/LpTopologyCanvas-CQ0l6A5h.js";
135
135
  import { clusterGraph, diffTopology, findPath, layeredLayout, neighborhood, topologyToSvg } from "./components/topologyGraph.js";
136
- import { _ as _91 } from "./chunks/LpUptimeBar-G7PfNJUH.js";
136
+ import { _ as _91 } from "./chunks/LpUptimeBar-Dt6SY_-m.js";
137
137
  import { addLeaf, addTab, countBlocks, countLeaves, deserializeLayout, makeLayout, moveLeaf, removeBlock, removeLeaf, reorderTab, resizeAt, serializeLayout, setActiveTab } from "./layout/tree.js";
138
138
  import { blockTitle, defineBlocks } from "./layout/registry.js";
139
139
  import { layoutController, useLayout } from "./layout/useLayout.js";
140
140
  import { useWorkspaces } from "./layout/useWorkspaces.js";
141
- import { _ as _92 } from "./chunks/LpWorkspaceSwitcher-bjkncjSl.js";
142
- import { _ as _93 } from "./chunks/LpInspector-CEko6-pS.js";
143
- import { _ as _94 } from "./chunks/LpWindow-Dp_0nNqg.js";
141
+ import { _ as _92 } from "./chunks/LpWorkspaceSwitcher-DCIiOQt_.js";
142
+ import { _ as _93 } from "./chunks/LpInspector-oTfkOdYd.js";
143
+ import { _ as _94 } from "./chunks/LpWindow-DsPeiDCZ.js";
144
144
  import { WINDOW_DOCKS, clampRect, dockAt, dockedRect, isWindowRect, resizeRect, snapRect, useWindowLayer } from "./composables/windowing.js";
145
145
  import { THEME_COOKIE, applyTheme, applyThemeWithTransition, bootstrapTheme, cacheSystemThemes, normalizeTheme, parseTheme, prefersDarkScheme, revealTransition, serializeTheme, themeEntries, themeFromCookie, themeToCssRule, themeToCssVars, useTheme } from "./theme/useTheme.js";
146
146
  import { GLASS_BACKDROP_ATTR, NO_BACKDROP_ATTR, detectBackdropFilter, isBrokenBackdropEngine, setGlassBackdrop } from "./theme/backdrop.js";
@@ -188,14 +188,14 @@ import { useZoomPan } from "./composables/useZoomPan.js";
188
188
  import { useToast } from "./composables/useToast.js";
189
189
  import { _ as _95 } from "./chunks/LpThemeProvider-XK6ZeWAE.js";
190
190
  import { _ as _96 } from "./chunks/LpFrame-Bv5Fphte.js";
191
- import { _ as _97 } from "./chunks/LpThemeStudio-COn2H76d.js";
191
+ import { _ as _97 } from "./chunks/LpThemeStudio-BPPctXgd.js";
192
192
  import { _ as _98 } from "./chunks/LpThemeStudioSection-B7bt8Iyg.js";
193
193
  import { isInternalHref, resolveLink } from "./components/link.js";
194
- import { _ as _99 } from "./chunks/LpRepeater-DLLcbQ6J.js";
194
+ import { _ as _99 } from "./chunks/LpRepeater-C0rns2xW.js";
195
195
  import { _ as _100 } from "./chunks/LpGauge-KZaQ_FDR.js";
196
196
  import { _ as _101 } from "./chunks/LpQuota-BaCq5YOQ.js";
197
197
  import { _ as _102 } from "./chunks/LpStatus-C6GqSHJj.js";
198
- import { _ as _103 } from "./chunks/LpRelativeTime-0zI-44ve.js";
198
+ import { _ as _103 } from "./chunks/LpRelativeTime-CN5bWD73.js";
199
199
  import { _ as _104 } from "./chunks/LpActivityLine-Ea-t5Vza.js";
200
200
  import { TONE_COLOR, TONE_SOFT, arcPath, capacityThresholds, meterFraction, toneAt } from "./components/meter.js";
201
201
  import { TONES, TONE_ALIASES, toneLook, toneOf } from "./components/tone.js";
@@ -203,7 +203,7 @@ import { formatAmount, quotaSegments, quotaState } from "./components/quota.js";
203
203
  import { compactNumber, decimalMark, formatBytes } from "./components/format.js";
204
204
  import { STATUS_LABELS, STATUS_LOOK } from "./components/status.js";
205
205
  import { formatRelativeTime } from "./components/relativeTime.js";
206
- import { _ as _105 } from "./chunks/LpPipeline-BHWmvOiv.js";
206
+ import { _ as _105 } from "./chunks/LpPipeline-DVcoSs--.js";
207
207
  import { _ as _106 } from "./chunks/LpStepMark-CPGVj1XG.js";
208
208
  import { childProgress, connectorFilled, currentStepIndex, isSettled, overallStatus, stepElapsed } from "./components/pipeline.js";
209
209
  import { _ as _107 } from "./chunks/LpLoader-Bf1yZwaU.js";
@@ -211,14 +211,14 @@ import { useLoadingGate } from "./composables/useLoadingGate.js";
211
211
  import { useNow } from "./composables/useNow.js";
212
212
  import { _ as _108 } from "./chunks/LpCountdown-DVl7vXI1.js";
213
213
  import { DEFAULT_MILESTONES, DEFAULT_UNIT_LABELS, ceilToSecond, crossedMilestone, formatElapsed, formatTime, msToNextSecond, splitTime, timeParts } from "./components/timeSpan.js";
214
- import { _ as _109 } from "./chunks/LpCopyButton-CxX682t4.js";
215
- import { _ as _110 } from "./chunks/LpSecretField-Au7ZQTtm.js";
216
- import { _ as _111 } from "./chunks/LpDataList-DCtF7krm.js";
217
- import { _ as _112 } from "./chunks/LpEditable-CeRAzYMv.js";
218
- import { _ as _113 } from "./chunks/LpTruncate-CynJhsEw.js";
219
- import { _ as _114 } from "./chunks/LpCodeDisplay-DsiE-Qy9.js";
214
+ import { _ as _109 } from "./chunks/LpCopyButton-BGzw95Xc.js";
215
+ import { _ as _110 } from "./chunks/LpSecretField-BwrZ4TfT.js";
216
+ import { _ as _111 } from "./chunks/LpDataList-B56Gu6Yt.js";
217
+ import { _ as _112 } from "./chunks/LpEditable-DfRUAGkA.js";
218
+ import { _ as _113 } from "./chunks/LpTruncate-C_C8eiIE.js";
219
+ import { _ as _114 } from "./chunks/LpCodeDisplay-DBi1YPLp.js";
220
220
  import { formatRemaining, groupCode, middleTruncate, normalizeCode } from "./components/fieldText.js";
221
- import { _ as _115 } from "./chunks/LpHoverCard-CHE9jAJG.js";
221
+ import { _ as _115 } from "./chunks/LpHoverCard-DYguY2AP.js";
222
222
  import { _ as _116 } from "./chunks/LpIdenticon-Dbbr4fvt.js";
223
223
  import { hashString, identicon, identiconRects, identiconSvg } from "./components/identicon.js";
224
224
  import { _ as _117 } from "./chunks/LpShaderBackdrop-wQygYb5h.js";
@@ -246,7 +246,7 @@ import { _ as _128 } from "./chunks/LpCommandScope-DRUvHiX7.js";
246
246
  import { createPaletteRegistry, mergePaletteCommands, usePaletteCommands, vPalette } from "./composables/usePaletteCommands.js";
247
247
  import { commandShortcuts, commandToHotkey, commandToMenuItem, commandToPalette, useCommands } from "./composables/useCommands.js";
248
248
  import { usePaletteTheme } from "./theme/palette.js";
249
- import { _ as _129 } from "./chunks/LpPaletteTheme-wiJtP5hV.js";
249
+ import { _ as _129 } from "./chunks/LpPaletteTheme-CLwO-SDf.js";
250
250
  const uk = {
251
251
  actionBar: { dismiss: "Закрити" },
252
252
  activityLine: { busy: "Завантаження" },
@@ -518,6 +518,7 @@ const uk = {
518
518
  running: "Виконується…",
519
519
  select: "вибрати",
520
520
  close: "закрити",
521
+ dismiss: "Закрити",
521
522
  back: "назад",
522
523
  searching: "Пошук…",
523
524
  searchFailed: "Пошук зараз недоступний.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leavepulse/ui",
3
- "version": "0.87.1",
3
+ "version": "0.88.0",
4
4
  "type": "module",
5
5
  "description": "LeavePulse token-driven Vue component kit.",
6
6
  "repository": {
@@ -32,6 +32,7 @@ import { useOutsideGuard, usePortalTarget } from "../composables/useView"
32
32
  import type { ContextMenuItemDef } from "./LpContextMenu.vue"
33
33
  import LpIcon from "./LpIcon.vue"
34
34
  import MenuShortcut from "./MenuShortcut.vue"
35
+ import { TOUCH_ROW } from "./dropdown"
35
36
 
36
37
  defineOptions({ name: "ContextMenuItems" })
37
38
 
@@ -71,7 +72,7 @@ const portalTo = usePortalTarget()
71
72
  const guardOutside = useOutsideGuard()
72
73
 
73
74
  const ITEM =
74
- "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"
75
+ "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 " + TOUCH_ROW
75
76
  const ICON =
76
77
  "transition-transform duration-[var(--duration-fast)] ease-[var(--ease-emphasized)] group-data-[highlighted]/item:translate-x-0.5"
77
78
  </script>
@@ -12,7 +12,7 @@ defineProps<{ label: string; inline?: boolean }>()
12
12
  <template>
13
13
  <button
14
14
  type="button"
15
- class="group flex shrink-0 items-center text-muted outline-none transition-colors duration-[var(--duration-fast)] hover:text-ink"
15
+ class="lp-tap group flex shrink-0 items-center text-muted outline-none transition-colors duration-[var(--duration-fast)] hover:text-ink"
16
16
  :class="inline ? undefined : 'rounded-inner p-1 focus-visible:ring-2 focus-visible:ring-ring'"
17
17
  :aria-label="label"
18
18
  >
@@ -120,7 +120,7 @@ const messageKey = () => [props.variant, props.title ?? "", slotText(slots.defau
120
120
  />
121
121
  </Transition>
122
122
  </span>
123
- <LpSwap :swap-key="messageKey()" class="min-w-0 flex-1">
123
+ <LpSwap :swap-key="messageKey()" class="min-w-0 flex-1 [overflow-wrap:anywhere]">
124
124
  <p v-if="title" class="font-semibold text-ink">{{ title }}</p>
125
125
  <div :class="['text-muted-strong', title ? 'mt-0.5' : '']">
126
126
  <slot />
@@ -40,7 +40,7 @@ import { computed, nextTick, ref, useId, watch, useAttrs } from "vue"
40
40
  import { useOwnField, mergeDescribedBy } from "../composables/useField"
41
41
  import { useInputFilter } from "../composables/useInputFilter"
42
42
  import { useLabels } from "../composables/useLpConfig"
43
- import { CLOSE_ICON, OPTION_ITEM, optionStagger, COMBOBOX_PANEL, POPOVER_PANEL } from "./dropdown"
43
+ import { CLOSE_ICON, OPTION_ITEM, optionStagger, COMBOBOX_FIT, COMBOBOX_PANEL, POPOVER_PANEL } from "./dropdown"
44
44
  import LpIcon from "./LpIcon.vue"
45
45
  import OptionContent from "./OptionContent.vue"
46
46
  import type { LpOptionBase, OptionSelection } from "./options"
@@ -335,7 +335,7 @@ usePaletteControl({ disabled: () => field.value.disabled, invalid: () => field.v
335
335
  :required="field.required || undefined"
336
336
  :aria-invalid="isInvalidState || undefined"
337
337
  :aria-describedby="describedBy"
338
- class="lp-autofill min-w-0 flex-1 self-stretch bg-transparent outline-none placeholder:text-muted"
338
+ class="lp-autofill lp-entry min-w-0 flex-1 self-stretch bg-transparent outline-none placeholder:text-muted"
339
339
  :class="showSelected && 'text-transparent placeholder:text-transparent'"
340
340
  @beforeinput="onBeforeInput"
341
341
  @paste="onPaste"
@@ -388,11 +388,11 @@ usePaletteControl({ disabled: () => field.value.disabled, invalid: () => field.v
388
388
  @interact-outside="guardOutside"
389
389
  @escape-key-down="guardOutside"
390
390
  v-bind="COMBOBOX_PANEL"
391
- :class="[POPOVER_PANEL, 'z-(--z-popover) max-h-72 w-(--reka-combobox-trigger-width) overflow-hidden']"
391
+ :class="[POPOVER_PANEL, 'z-(--z-popover) w-(--reka-combobox-trigger-width) overflow-hidden', COMBOBOX_FIT]"
392
392
  @open-auto-focus.prevent
393
393
  @mousedown.prevent
394
394
  >
395
- <ComboboxViewport class="max-h-72 overflow-y-auto p-1">
395
+ <ComboboxViewport class="max-h-72 min-h-0 flex-1 overflow-y-auto p-1">
396
396
  <div v-if="loading" class="px-3 py-4 text-center text-sm italic text-muted">
397
397
  {{ loadingText ?? labels.loading }}
398
398
  </div>
@@ -25,7 +25,7 @@ import { resolveLink, type LinkTarget } from "./link"
25
25
 
26
26
  const button = tv({
27
27
  base: [
28
- "inline-flex select-none items-center justify-center gap-2 whitespace-nowrap font-semibold",
28
+ "lp-tap inline-flex select-none items-center justify-center gap-2 whitespace-nowrap font-semibold",
29
29
  "rounded-control transition-[color,background-color,border-color,box-shadow,scale] duration-[var(--duration-fast)] ease-[var(--ease-emphasized)]",
30
30
  // tactile press: dips slightly on click, springs back on release.
31
31
  "active:scale-[0.97] motion-reduce:active:scale-100",
@@ -118,7 +118,7 @@ usePaletteControl({ label: () => props.label, disabled: () => field.value.disabl
118
118
  :aria-describedby="describedBy"
119
119
  :aria-busy="pending || undefined"
120
120
  :class="description ? 'mt-px' : ''"
121
- class="relative flex size-[18px] shrink-0 items-center justify-center rounded-[5px] border border-line-strong bg-surface-soft outline-none transition-[color,background-color,border-color,box-shadow,scale] duration-[var(--duration-fast)] ease-[var(--ease-emphasized)] not-data-[state=checked]:not-data-[state=indeterminate]:group-hover/check:border-brand active:scale-90 motion-reduce:active:scale-100 focus-visible:ring-2 focus-visible:ring-ring data-[state=checked]:border-transparent data-[state=checked]:bg-brand data-[state=indeterminate]:border-transparent data-[state=indeterminate]:bg-brand disabled:cursor-not-allowed disabled:opacity-55"
121
+ class="lp-tap relative flex size-[18px] shrink-0 items-center justify-center rounded-[5px] border border-line-strong bg-surface-soft outline-none transition-[color,background-color,border-color,box-shadow,scale] duration-[var(--duration-fast)] ease-[var(--ease-emphasized)] not-data-[state=checked]:not-data-[state=indeterminate]:group-hover/check:border-brand active:scale-90 motion-reduce:active:scale-100 focus-visible:ring-2 focus-visible:ring-ring data-[state=checked]:border-transparent data-[state=checked]:bg-brand data-[state=indeterminate]:border-transparent data-[state=indeterminate]:bg-brand disabled:cursor-not-allowed disabled:opacity-55"
122
122
  @update:model-value="onUpdate"
123
123
  >
124
124
  <CheckboxIndicator
@@ -295,7 +295,7 @@ const CodeLine: FunctionalComponent<{ n: number }> = ({ n }) =>
295
295
  v-if="!locked && !hasFolds"
296
296
  :value="code"
297
297
  spellcheck="false"
298
- class="lp-scrollbar-none absolute inset-0 size-full resize-none overflow-auto whitespace-pre bg-transparent p-3 leading-relaxed text-transparent caret-brand outline-none"
298
+ class="lp-entry lp-scrollbar-none absolute inset-0 size-full resize-none overflow-auto whitespace-pre bg-transparent p-3 leading-relaxed text-transparent caret-brand outline-none"
299
299
  :class="[wrap ? 'whitespace-pre-wrap break-words' : 'whitespace-pre', lineNumbers ? 'pl-13' : '']"
300
300
  @input="onInput"
301
301
  @scroll="syncScroll"
@@ -305,7 +305,7 @@ const CodeLine: FunctionalComponent<{ n: number }> = ({ n }) =>
305
305
  class="lp-scrollbar-none m-0 overflow-auto p-3 leading-relaxed"
306
306
  :class="[
307
307
  wrap ? 'whitespace-pre-wrap break-words' : 'whitespace-pre',
308
- editing ? 'pointer-events-none' : '',
308
+ editing ? 'lp-entry pointer-events-none' : '',
309
309
  editing && height ? 'h-full overflow-hidden' : '',
310
310
  ]"
311
311
  ><code class="block"><template
@@ -56,7 +56,7 @@ import {
56
56
  } from "./color"
57
57
  import { useClipboard } from "../composables/useClipboard"
58
58
  import { useLabels } from "../composables/useLpConfig"
59
- import { POPOVER_PANEL } from "./dropdown"
59
+ import { PANEL_FIT, POPOVER_PANEL } from "./dropdown"
60
60
  import LpContextMenu, { type ContextMenuItemDef } from "./LpContextMenu.vue"
61
61
  import LpIcon from "./LpIcon.vue"
62
62
  import LpRollingText from "./LpRollingText.vue"
@@ -716,7 +716,7 @@ const guardOutside = useOutsideGuard()
716
716
  :side="side"
717
717
  :align="align"
718
718
  :side-offset="6"
719
- :class="[POPOVER_PANEL, 'z-(--z-popover) w-64 select-none rounded-card p-3 outline-none']"
719
+ :class="[POPOVER_PANEL, PANEL_FIT, 'z-(--z-popover) w-64 select-none rounded-card p-3 outline-none']"
720
720
  @open-auto-focus="onPanelOpen"
721
721
  >
722
722
  <!-- The same menu inside the panel: copy/paste is wanted most while
@@ -823,7 +823,7 @@ const guardOutside = useOutsideGuard()
823
823
  autocapitalize="off"
824
824
  autocomplete="off"
825
825
  :aria-label="l.value"
826
- class="min-w-0 flex-1 select-text bg-transparent font-mono text-xs text-ink outline-none placeholder:text-muted"
826
+ class="lp-entry min-w-0 flex-1 select-text bg-transparent font-mono text-xs text-ink outline-none placeholder:text-muted"
827
827
  :class="rolling ? 'text-transparent' : ''"
828
828
  @input="onInput"
829
829
  @keydown.enter="commitTyped"