@leavepulse/ui 0.93.3 → 0.94.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 (76) hide show
  1. package/README.md +53 -3
  2. package/dist/assets/LpTabs-D7EyG21l.css +18 -0
  3. package/dist/assets/LpVideoTrim-D8JDg9Qn.css +8 -0
  4. package/dist/chunks/AppShellContextNav-BoH4ffnC.js +54 -0
  5. package/dist/chunks/{LpAppShell-BWaVRsDB.js → LpAppShell-xEBmGV78.js} +12 -5
  6. package/dist/chunks/{LpDateRangePicker-CAn2yGbn.js → LpDateRangePicker-DRBB8z6t.js} +1 -1
  7. package/dist/chunks/{LpDrawer-iRHwJOGn.js → LpDrawer-BkWjFdV0.js} +81 -42
  8. package/dist/chunks/{LpLightbox-a24V_0Wk.js → LpLightbox-DPgz7IsT.js} +62 -49
  9. package/dist/chunks/{LpMapPicker-DVfiy3rR.js → LpMapPicker-V0Lybi10.js} +19 -52
  10. package/dist/chunks/{LpMediaGallery-CtWA5Uab.js → LpMediaGallery-CTejKF2-.js} +1 -1
  11. package/dist/chunks/{LpModalNav-DivqT1NV.js → LpModalNav-DVXAF-DG.js} +1 -1
  12. package/dist/chunks/{LpRangeCalendar-C9gkNMYw.js → LpRangeCalendar-9BvaLZji.js} +3 -4
  13. package/dist/chunks/LpScrollStrip-D4tsOfAQ.js +78 -0
  14. package/dist/chunks/{LpSidebar-DQtCYlT4.js → LpSidebar-BIhusppV.js} +1 -1
  15. package/dist/component-names.d.ts +1 -1
  16. package/dist/components/AppShellContextNav.vue.js +1 -1
  17. package/dist/components/LpAppShell.vue.js +1 -1
  18. package/dist/components/LpChart.vue.js +3 -3
  19. package/dist/components/LpDateRangePicker.vue.js +1 -1
  20. package/dist/components/LpDrawer.vue.d.ts +10 -2
  21. package/dist/components/LpDrawer.vue.js +1 -1
  22. package/dist/components/LpDropzone.vue.d.ts +1 -1
  23. package/dist/components/LpLightbox.vue.js +1 -1
  24. package/dist/components/LpMapPicker.vue.js +1 -1
  25. package/dist/components/LpMediaGallery.vue.js +1 -1
  26. package/dist/components/LpModalNav.vue.js +1 -1
  27. package/dist/components/LpRangeCalendar.vue.js +1 -1
  28. package/dist/components/LpRevealOnScroll.vue.d.ts +1 -1
  29. package/dist/components/LpScrollStrip.vue.d.ts +48 -0
  30. package/dist/components/LpScrollStrip.vue.js +4 -0
  31. package/dist/components/LpSidebar.vue.js +1 -1
  32. package/dist/components/LpTabs.vue.d.ts +4 -4
  33. package/dist/components/LpTabs.vue.js +104 -90
  34. package/dist/components/LpVideoTrim.vue.js +41 -54
  35. package/dist/composables/gesture.d.ts +141 -0
  36. package/dist/composables/gesture.js +176 -0
  37. package/dist/composables/scroll.d.ts +5 -1
  38. package/dist/composables/scroll.js +16 -9
  39. package/dist/composables/useAppUpdate.d.ts +26 -0
  40. package/dist/composables/useAppUpdate.js +91 -0
  41. package/dist/composables/useGesture.d.ts +107 -0
  42. package/dist/composables/useGesture.js +281 -0
  43. package/dist/composables/usePaintSelect.js +3 -4
  44. package/dist/composables/useScrollStrip.d.ts +27 -0
  45. package/dist/composables/useScrollStrip.js +194 -0
  46. package/dist/composables/useTouchHold.d.ts +3 -1
  47. package/dist/composables/useTouchHold.js +9 -51
  48. package/dist/composables/useZoomPan.js +4 -6
  49. package/dist/index.d.ts +9 -0
  50. package/dist/index.js +180 -152
  51. package/package.json +1 -1
  52. package/src/component-names.ts +1 -0
  53. package/src/components/AppShellContextNav.vue +3 -2
  54. package/src/components/LpAppShell.vue +10 -1
  55. package/src/components/LpChart.vue +2 -2
  56. package/src/components/LpDrawer.vue +121 -54
  57. package/src/components/LpLightbox.vue +33 -20
  58. package/src/components/LpMapPicker.vue +22 -64
  59. package/src/components/LpRangeCalendar.vue +4 -5
  60. package/src/components/LpScrollStrip.vue +96 -0
  61. package/src/components/LpSidebar.vue +2 -2
  62. package/src/components/LpTabs.vue +36 -17
  63. package/src/components/LpVideoTrim.vue +35 -46
  64. package/src/composables/gesture.ts +314 -0
  65. package/src/composables/scroll.ts +20 -9
  66. package/src/composables/useAppUpdate.ts +156 -0
  67. package/src/composables/useGesture.ts +451 -0
  68. package/src/composables/usePaintSelect.ts +4 -5
  69. package/src/composables/useScrollStrip.ts +249 -0
  70. package/src/composables/useTouchHold.ts +15 -73
  71. package/src/composables/useZoomPan.ts +6 -9
  72. package/src/index.ts +27 -0
  73. package/src/tokens/effects.css +40 -0
  74. package/dist/assets/LpTabs-Bh7a-Bdl.css +0 -18
  75. package/dist/assets/LpVideoTrim-CMoUw3dJ.css +0 -8
  76. package/dist/chunks/AppShellContextNav-C6Ho2mof.js +0 -49
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { _ } from "./chunks/LayoutCanvas-j4TZqx1A.js";
2
2
  import { _ as _2 } from "./chunks/LpAddressInput-BCqR0zmv.js";
3
- import { _ as _3 } from "./chunks/LpMapPicker-DVfiy3rR.js";
3
+ import { _ as _3 } from "./chunks/LpMapPicker-V0Lybi10.js";
4
4
  import { OSM_TILES, createNominatimProvider, emptyAddress, formatAddress, project, tileUrl, unproject } from "./components/address.js";
5
5
  import { _ as _4 } from "./chunks/LpActionBar-43WHmTsM.js";
6
6
  import { _ as _5 } from "./chunks/LpAlert-Q0h7Gucu.js";
7
- import { _ as _6 } from "./chunks/LpAppShell-BWaVRsDB.js";
7
+ import { _ as _6 } from "./chunks/LpAppShell-xEBmGV78.js";
8
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";
@@ -38,12 +38,12 @@ import { _ as _19 } from "./chunks/LpConfirmHost-D-X0tDym.js";
38
38
  import { confirm, useConfirm } from "./components/confirm.js";
39
39
  import { _ as _20 } from "./chunks/LpContextMenu-DEFirphS.js";
40
40
  import { _ as _21 } from "./chunks/LpDatePicker-Dlyvgsan.js";
41
- import { _ as _22 } from "./chunks/LpDateRangePicker-CAn2yGbn.js";
42
- import { _ as _23 } from "./chunks/LpRangeCalendar-C9gkNMYw.js";
41
+ import { _ as _22 } from "./chunks/LpDateRangePicker-DRBB8z6t.js";
42
+ import { _ as _23 } from "./chunks/LpRangeCalendar-9BvaLZji.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-iRHwJOGn.js";
46
+ import { _ as _26 } from "./chunks/LpDrawer-BkWjFdV0.js";
47
47
  import { _ as _27 } from "./chunks/LpDropdownMenu-CdCe7D2d.js";
48
48
  import { default as default9 } from "./components/LpDropzone.vue.js";
49
49
  import { _ as _28 } from "./chunks/LpEmptyState-DLOm07KH.js";
@@ -56,16 +56,16 @@ 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-tD5x5YOy.js";
58
58
  import { _ as _34 } from "./chunks/LpInput-DGMpxrcg.js";
59
- import { _ as _35 } from "./chunks/LpLightbox-a24V_0Wk.js";
59
+ import { _ as _35 } from "./chunks/LpLightbox-DPgz7IsT.js";
60
60
  import { fileNameOf, isVideoItem } from "./components/lightbox.js";
61
61
  import { _ as _36 } from "./chunks/LpLink-Krkjhe_y.js";
62
62
  import { _ as _37 } from "./chunks/LpLogViewer-BuIzr_6h.js";
63
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-CtWA5Uab.js";
66
+ import { _ as _39 } from "./chunks/LpMediaGallery-CTejKF2-.js";
67
67
  import { _ as _40 } from "./chunks/LpModal-D1E7rQzw.js";
68
- import { _ as _41 } from "./chunks/LpModalNav-DivqT1NV.js";
68
+ import { _ as _41 } from "./chunks/LpModalNav-DVXAF-DG.js";
69
69
  import { _ as _42 } from "./chunks/LpNotificationBell-KRgdRZs-.js";
70
70
  import { _ as _43 } from "./chunks/LpNotificationFeed-CMGYU8c-.js";
71
71
  import { _ as _44 } from "./chunks/LpNumberField-C0LSu-tl.js";
@@ -83,64 +83,65 @@ import { _ as _54 } from "./chunks/LpRadio-4KyxeSz4.js";
83
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
- import { _ as _58 } from "./chunks/LpPageScrollbar-C9sTeU-2.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";
86
+ import { _ as _58 } from "./chunks/LpScrollStrip-D4tsOfAQ.js";
87
+ import { _ as _59 } from "./chunks/LpPageScrollbar-C9sTeU-2.js";
88
+ import { _ as _60 } from "./chunks/LpSegmented-DzFYP0ZF.js";
89
+ import { _ as _61 } from "./chunks/LpSection-CwsfNR7N.js";
90
+ import { _ as _62 } from "./chunks/LpSelect-Dffg5r4I.js";
90
91
  import { fitChips, toggledValues } from "./components/select.js";
91
- import { _ as _62 } from "./chunks/LpServiceNode-Cln2ntdw.js";
92
- import { _ as _63 } from "./chunks/LpShift-DAgS_d2x.js";
93
- import { _ as _64 } from "./chunks/LpSwap-M7nFeW3C.js";
94
- import { _ as _65 } from "./chunks/LpHintExample-YzCXiSUp.js";
92
+ import { _ as _63 } from "./chunks/LpServiceNode-Cln2ntdw.js";
93
+ import { _ as _64 } from "./chunks/LpShift-DAgS_d2x.js";
94
+ import { _ as _65 } from "./chunks/LpSwap-M7nFeW3C.js";
95
+ import { _ as _66 } from "./chunks/LpHintExample-YzCXiSUp.js";
95
96
  import { default as default11 } from "./components/LpShortcutsDialog.vue.js";
96
- import { _ as _66 } from "./chunks/LpSidebar-DQtCYlT4.js";
97
- import { _ as _67 } from "./chunks/LpContextSwitcher-COw6GHPW.js";
98
- import { _ as _68 } from "./chunks/LpSkeleton-leTl53V9.js";
99
- import { _ as _69 } from "./chunks/LpSlider-DUd4gXnw.js";
100
- import { _ as _70 } from "./chunks/LpRangeSlider-DbaITHtC.js";
101
- import { _ as _71 } from "./chunks/LpVideoBackdrop-57i8RY8g.js";
97
+ import { _ as _67 } from "./chunks/LpSidebar-BIhusppV.js";
98
+ import { _ as _68 } from "./chunks/LpContextSwitcher-COw6GHPW.js";
99
+ import { _ as _69 } from "./chunks/LpSkeleton-leTl53V9.js";
100
+ import { _ as _70 } from "./chunks/LpSlider-DUd4gXnw.js";
101
+ import { _ as _71 } from "./chunks/LpRangeSlider-DbaITHtC.js";
102
+ import { _ as _72 } from "./chunks/LpVideoBackdrop-57i8RY8g.js";
102
103
  import { formatClipTime, isNativeLoop, planLoop, seamProgress, seamReached } from "./components/videoBackdrop.js";
103
104
  import { default as default12 } from "./components/LpVideoTrim.vue.js";
104
- import { _ as _72 } from "./chunks/LpVideoCompress-CvxNdyjp.js";
105
+ import { _ as _73 } from "./chunks/LpVideoCompress-CvxNdyjp.js";
105
106
  import { bitrateForHeight, canTranscodeVideo, estimateTranscodedBytes, probeVideo, transcodeVideo, transcodedName } from "./composables/videoTranscode.js";
106
- import { _ as _73 } from "./chunks/LpVideoPlayer-FMuxTAU8.js";
107
+ import { _ as _74 } from "./chunks/LpVideoPlayer-FMuxTAU8.js";
107
108
  import { useVideoMedia } from "./composables/useVideoMedia.js";
108
109
  import { dragEnd, normalizeRange as normalizeRange2, parseClipTime, setEnd } from "./components/videoTrim.js";
109
- import { _ as _74 } from "./chunks/LpSparkline-11ryFdPX.js";
110
- import { _ as _75 } from "./chunks/LpStat-SyVb5JXm.js";
111
- import { _ as _76 } from "./chunks/LpStepper-DBNRA6Q2.js";
112
- import { _ as _77 } from "./chunks/LpSwitch-D-mcaA6C.js";
110
+ import { _ as _75 } from "./chunks/LpSparkline-11ryFdPX.js";
111
+ import { _ as _76 } from "./chunks/LpStat-SyVb5JXm.js";
112
+ import { _ as _77 } from "./chunks/LpStepper-DBNRA6Q2.js";
113
+ import { _ as _78 } from "./chunks/LpSwitch-D-mcaA6C.js";
113
114
  import { default as default13 } from "./components/LpTable.vue.js";
114
115
  import { compareValues } from "./components/tableSort.js";
115
116
  import { filterRows, showOnly, shownValues } from "./components/tableFilter.js";
116
117
  import { useTableFilterChoice } from "./composables/useTableFilterChoice.js";
117
118
  import { resolveRowMenu } from "./components/tableRowMenu.js";
118
- import { _ as _78 } from "./chunks/LpTableOfContents-CKkWEK6R.js";
119
+ import { _ as _79 } from "./chunks/LpTableOfContents-CKkWEK6R.js";
119
120
  import { default as default14 } from "./components/LpTabs.vue.js";
120
- import { _ as _79 } from "./chunks/LpBottomNav-9AqvZlRW.js";
121
- import { _ as _80 } from "./chunks/LpTagsInput-DD8-xe3F.js";
121
+ import { _ as _80 } from "./chunks/LpBottomNav-9AqvZlRW.js";
122
+ import { _ as _81 } from "./chunks/LpTagsInput-DD8-xe3F.js";
122
123
  import { addTags, splitTags } from "./components/tags.js";
123
- import { _ as _81 } from "./chunks/LpTextarea-CQg-dVxN.js";
124
- import { _ as _82 } from "./chunks/LpThemeSwitcher-B3c44xFH.js";
125
- import { _ as _83 } from "./chunks/LpTilt-B7KHX1zH.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";
124
+ import { _ as _82 } from "./chunks/LpTextarea-CQg-dVxN.js";
125
+ import { _ as _83 } from "./chunks/LpThemeSwitcher-B3c44xFH.js";
126
+ import { _ as _84 } from "./chunks/LpTilt-B7KHX1zH.js";
127
+ import { _ as _85 } from "./chunks/LpToaster-Cdx1tnHB.js";
128
+ import { _ as _86 } from "./chunks/LpTooltip-BKde8Xjv.js";
129
+ import { _ as _87 } from "./chunks/LpTour-BGUKUxSZ.js";
129
130
  import { holeOf, openContextMenu, panelsAround } from "./components/tour.js";
130
- import { _ as _87 } from "./chunks/LpHintLayer-nuMqfzvy.js";
131
- import { _ as _88 } from "./chunks/LpHints-ByAd3a76.js";
131
+ import { _ as _88 } from "./chunks/LpHintLayer-nuMqfzvy.js";
132
+ import { _ as _89 } from "./chunks/LpHints-ByAd3a76.js";
132
133
  import { HINT_SIGNALS, contextMenuTip, createHintSystem, dropzoneTip, hintKey, hintSummary, hotkeyTip, localHintStorage, noteDropzone, noteHotkeyTarget, paletteTip, provideHintSystem, runningHintSystem, useHintSystem } from "./composables/useHintSystem.js";
133
- import { _ as _89 } from "./chunks/LpTooltipProvider-CftjV7Xc.js";
134
- import { _ as _90 } from "./chunks/LpTopologyCanvas-B1YFfMaq.js";
134
+ import { _ as _90 } from "./chunks/LpTooltipProvider-CftjV7Xc.js";
135
+ import { _ as _91 } from "./chunks/LpTopologyCanvas-B1YFfMaq.js";
135
136
  import { clusterGraph, diffTopology, findPath, layeredLayout, neighborhood, topologyToSvg } from "./components/topologyGraph.js";
136
- import { _ as _91 } from "./chunks/LpUptimeBar-Dt6SY_-m.js";
137
+ import { _ as _92 } from "./chunks/LpUptimeBar-Dt6SY_-m.js";
137
138
  import { addLeaf, addTab, countBlocks, countLeaves, deserializeLayout, makeLayout, moveLeaf, removeBlock, removeLeaf, reorderTab, resizeAt, serializeLayout, setActiveTab } from "./layout/tree.js";
138
139
  import { blockTitle, defineBlocks } from "./layout/registry.js";
139
140
  import { layoutController, useLayout } from "./layout/useLayout.js";
140
141
  import { useWorkspaces } from "./layout/useWorkspaces.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";
142
+ import { _ as _93 } from "./chunks/LpWorkspaceSwitcher-DCIiOQt_.js";
143
+ import { _ as _94 } from "./chunks/LpInspector-oTfkOdYd.js";
144
+ import { _ as _95 } from "./chunks/LpWindow-DsPeiDCZ.js";
144
145
  import { WINDOW_DOCKS, clampRect, dockAt, dockedRect, isWindowRect, resizeRect, snapRect, useWindowLayer } from "./composables/windowing.js";
145
146
  import { THEME_COOKIE, applyTheme, applyThemeWithTransition, bootstrapTheme, cacheSystemThemes, normalizeTheme, parseTheme, prefersDarkScheme, revealTransition, serializeTheme, themeEntries, themeFromCookie, themeToCssRule, themeToCssVars, useTheme } from "./theme/useTheme.js";
146
147
  import { GLASS_BACKDROP_ATTR, NO_BACKDROP_ATTR, detectBackdropFilter, isBrokenBackdropEngine, setGlassBackdrop } from "./theme/backdrop.js";
@@ -185,68 +186,72 @@ import { useSettled } from "./composables/useSettled.js";
185
186
  import { useShift } from "./composables/useShift.js";
186
187
  import { useTilt } from "./composables/useTilt.js";
187
188
  import { useZoomPan } from "./composables/useZoomPan.js";
189
+ import { createGesture, glide, useGesture } from "./composables/useGesture.js";
190
+ import { FLICK_VELOCITY, HOLD_TO_DRAG_MS, LONG_PRESS_MS, MOUSE_SLOP, TOUCH_SLOP, createDragSession, createVelocityTracker, lockAxis, momentumDistance, pageAfterSwipe, pinchFrame, rubberBand, rubberClamp, shouldDismiss, slopFor, swipeDirection, wheelPixels } from "./composables/gesture.js";
191
+ import { useScrollStrip } from "./composables/useScrollStrip.js";
188
192
  import { useToast } from "./composables/useToast.js";
189
- import { _ as _95 } from "./chunks/LpThemeProvider-XK6ZeWAE.js";
190
- import { _ as _96 } from "./chunks/LpFrame-Bv5Fphte.js";
191
- import { _ as _97 } from "./chunks/LpThemeStudio-BPPctXgd.js";
192
- import { _ as _98 } from "./chunks/LpThemeStudioSection-B7bt8Iyg.js";
193
+ import { _ as _96 } from "./chunks/LpThemeProvider-XK6ZeWAE.js";
194
+ import { _ as _97 } from "./chunks/LpFrame-Bv5Fphte.js";
195
+ import { _ as _98 } from "./chunks/LpThemeStudio-BPPctXgd.js";
196
+ import { _ as _99 } from "./chunks/LpThemeStudioSection-B7bt8Iyg.js";
193
197
  import { isInternalHref, resolveLink } from "./components/link.js";
194
- import { _ as _99 } from "./chunks/LpRepeater-C0rns2xW.js";
195
- import { _ as _100 } from "./chunks/LpGauge-KZaQ_FDR.js";
196
- import { _ as _101 } from "./chunks/LpQuota-BaCq5YOQ.js";
197
- import { _ as _102 } from "./chunks/LpStatus-C6GqSHJj.js";
198
- import { _ as _103 } from "./chunks/LpRelativeTime-CN5bWD73.js";
199
- import { _ as _104 } from "./chunks/LpActivityLine-Ea-t5Vza.js";
198
+ import { _ as _100 } from "./chunks/LpRepeater-C0rns2xW.js";
199
+ import { _ as _101 } from "./chunks/LpGauge-KZaQ_FDR.js";
200
+ import { _ as _102 } from "./chunks/LpQuota-BaCq5YOQ.js";
201
+ import { _ as _103 } from "./chunks/LpStatus-C6GqSHJj.js";
202
+ import { _ as _104 } from "./chunks/LpRelativeTime-CN5bWD73.js";
203
+ import { _ as _105 } from "./chunks/LpActivityLine-Ea-t5Vza.js";
200
204
  import { TONE_COLOR, TONE_SOFT, arcPath, capacityThresholds, meterFraction, toneAt } from "./components/meter.js";
201
205
  import { TONES, TONE_ALIASES, toneLook, toneOf } from "./components/tone.js";
202
206
  import { formatAmount, quotaSegments, quotaState } from "./components/quota.js";
203
207
  import { compactNumber, decimalMark, formatBytes } from "./components/format.js";
204
208
  import { STATUS_LABELS, STATUS_LOOK } from "./components/status.js";
205
209
  import { formatRelativeTime } from "./components/relativeTime.js";
206
- import { _ as _105 } from "./chunks/LpPipeline-DVcoSs--.js";
207
- import { _ as _106 } from "./chunks/LpStepMark-CPGVj1XG.js";
210
+ import { _ as _106 } from "./chunks/LpPipeline-DVcoSs--.js";
211
+ import { _ as _107 } from "./chunks/LpStepMark-CPGVj1XG.js";
208
212
  import { childProgress, connectorFilled, currentStepIndex, isSettled, overallStatus, stepElapsed } from "./components/pipeline.js";
209
- import { _ as _107 } from "./chunks/LpLoader-Bf1yZwaU.js";
213
+ import { _ as _108 } from "./chunks/LpLoader-Bf1yZwaU.js";
210
214
  import { useLoadingGate } from "./composables/useLoadingGate.js";
215
+ import { useAppUpdate } from "./composables/useAppUpdate.js";
211
216
  import { useNow } from "./composables/useNow.js";
212
- import { _ as _108 } from "./chunks/LpCountdown-DVl7vXI1.js";
217
+ import { _ as _109 } from "./chunks/LpCountdown-DVl7vXI1.js";
213
218
  import { DEFAULT_MILESTONES, DEFAULT_UNIT_LABELS, ceilToSecond, crossedMilestone, formatElapsed, formatTime, msToNextSecond, splitTime, timeParts } from "./components/timeSpan.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";
219
+ import { _ as _110 } from "./chunks/LpCopyButton-BGzw95Xc.js";
220
+ import { _ as _111 } from "./chunks/LpSecretField-BwrZ4TfT.js";
221
+ import { _ as _112 } from "./chunks/LpDataList-B56Gu6Yt.js";
222
+ import { _ as _113 } from "./chunks/LpEditable-DfRUAGkA.js";
223
+ import { _ as _114 } from "./chunks/LpTruncate-C_C8eiIE.js";
224
+ import { _ as _115 } from "./chunks/LpCodeDisplay-DBi1YPLp.js";
220
225
  import { formatRemaining, groupCode, middleTruncate, normalizeCode } from "./components/fieldText.js";
221
- import { _ as _115 } from "./chunks/LpHoverCard-DYguY2AP.js";
222
- import { _ as _116 } from "./chunks/LpIdenticon-Dbbr4fvt.js";
226
+ import { _ as _116 } from "./chunks/LpHoverCard-DYguY2AP.js";
227
+ import { _ as _117 } from "./chunks/LpIdenticon-Dbbr4fvt.js";
223
228
  import { hashString, identicon, identiconRects, identiconSvg } from "./components/identicon.js";
224
- import { _ as _117 } from "./chunks/LpShaderBackdrop-wQygYb5h.js";
229
+ import { _ as _118 } from "./chunks/LpShaderBackdrop-wQygYb5h.js";
225
230
  import { PRESET_NAMES } from "./components/shaderBackdrop.js";
226
- import { _ as _118 } from "./chunks/LpCollapse-DrAw5DBZ.js";
231
+ import { _ as _119 } from "./chunks/LpCollapse-DrAw5DBZ.js";
227
232
  import { pseudoLocalize } from "./composables/pseudoLocale.js";
228
- import { _ as _119 } from "./chunks/LpTextReveal-CtAnOUkp.js";
229
- import { _ as _120 } from "./chunks/LpShinyText-DX2ajtWq.js";
230
- import { _ as _121 } from "./chunks/LpTypewriter-CZIzpdbe.js";
231
- import { _ as _122 } from "./chunks/LpScramble-DsE77iVp.js";
233
+ import { _ as _120 } from "./chunks/LpTextReveal-CtAnOUkp.js";
234
+ import { _ as _121 } from "./chunks/LpShinyText-DX2ajtWq.js";
235
+ import { _ as _122 } from "./chunks/LpTypewriter-CZIzpdbe.js";
236
+ import { _ as _123 } from "./chunks/LpScramble-DsE77iVp.js";
232
237
  import { useScramble } from "./composables/useScramble.js";
233
238
  import { useInView } from "./composables/useInView.js";
234
239
  import { SCRAMBLE_GLYPHS, graphemes, planScramble, randomGlyph, scrambleFrame, seededRandom, settledCells } from "./components/scramble.js";
235
240
  import { default as default15 } from "./components/LpDock.vue.js";
236
241
  import { dockSize, magneticOffset } from "./components/dock.js";
237
- import { _ as _123 } from "./chunks/LpMasonry-DPYekFxs.js";
242
+ import { _ as _124 } from "./chunks/LpMasonry-DPYekFxs.js";
238
243
  import { masonryColumnCount, placeMasonry } from "./components/masonry.js";
239
- import { _ as _124 } from "./chunks/LpRevealOnScroll-CPwyiQAr.js";
244
+ import { _ as _125 } from "./chunks/LpRevealOnScroll-CPwyiQAr.js";
240
245
  import { revealFrom, revealTo, staggerDelay } from "./components/reveal.js";
241
- import { _ as _125 } from "./chunks/LpSpotlight-DwxkhFgR.js";
242
- import { _ as _126 } from "./chunks/LpGlowBorder-B8V-QzIl.js";
243
- import { _ as _127 } from "./chunks/LpMagnetic-CtXKLa2Y.js";
246
+ import { _ as _126 } from "./chunks/LpSpotlight-DwxkhFgR.js";
247
+ import { _ as _127 } from "./chunks/LpGlowBorder-B8V-QzIl.js";
248
+ import { _ as _128 } from "./chunks/LpMagnetic-CtXKLa2Y.js";
244
249
  import { spotlightPoint, useSpotlight } from "./composables/useSpotlight.js";
245
- import { _ as _128 } from "./chunks/LpCommandScope-DRUvHiX7.js";
250
+ import { _ as _129 } from "./chunks/LpCommandScope-DRUvHiX7.js";
246
251
  import { createPaletteRegistry, mergePaletteCommands, usePaletteCommands, vPalette } from "./composables/usePaletteCommands.js";
247
252
  import { commandShortcuts, commandToHotkey, commandToMenuItem, commandToPalette, useCommands } from "./composables/useCommands.js";
248
253
  import { usePaletteTheme } from "./theme/palette.js";
249
- import { _ as _129 } from "./chunks/LpPaletteTheme-CLwO-SDf.js";
254
+ import { _ as _130 } from "./chunks/LpPaletteTheme-CLwO-SDf.js";
250
255
  const uk = {
251
256
  actionBar: { dismiss: "Закрити" },
252
257
  activityLine: { busy: "Завантаження" },
@@ -829,20 +834,23 @@ export {
829
834
  DEFAULT_SWATCHES,
830
835
  DEFAULT_UNIT_LABELS,
831
836
  FIELD_NOTICE_MS,
837
+ FLICK_VELOCITY,
832
838
  GLASS_BACKDROP_ATTR,
833
839
  HINT_SIGNALS,
840
+ HOLD_TO_DRAG_MS,
841
+ LONG_PRESS_MS,
834
842
  LP_CONFIG,
835
843
  LP_FIELD,
836
844
  _ as LayoutCanvas,
837
845
  _4 as LpActionBar,
838
- _104 as LpActivityLine,
846
+ _105 as LpActivityLine,
839
847
  _2 as LpAddressInput,
840
848
  _5 as LpAlert,
841
849
  _6 as LpAppShell,
842
850
  _7 as LpAutocomplete,
843
851
  _8 as LpAvatar,
844
852
  _9 as LpBadge,
845
- _79 as LpBottomNav,
853
+ _80 as LpBottomNav,
846
854
  _10 as LpBreadcrumbs,
847
855
  _11 as LpButton,
848
856
  _12 as LpCalendar,
@@ -850,18 +858,18 @@ export {
850
858
  default2 as LpChart,
851
859
  _14 as LpCheckbox,
852
860
  _15 as LpCodeBlock,
853
- _114 as LpCodeDisplay,
854
- _118 as LpCollapse,
861
+ _115 as LpCodeDisplay,
862
+ _119 as LpCollapse,
855
863
  _16 as LpColorPicker,
856
864
  default3 as LpCommandPalette,
857
- _128 as LpCommandScope,
865
+ _129 as LpCommandScope,
858
866
  _18 as LpConfirmDialog,
859
867
  _19 as LpConfirmHost,
860
868
  _20 as LpContextMenu,
861
- _67 as LpContextSwitcher,
862
- _109 as LpCopyButton,
863
- _108 as LpCountdown,
864
- _111 as LpDataList,
869
+ _68 as LpContextSwitcher,
870
+ _110 as LpCopyButton,
871
+ _109 as LpCountdown,
872
+ _112 as LpDataList,
865
873
  _21 as LpDatePicker,
866
874
  _22 as LpDateRangePicker,
867
875
  _24 as LpDisclosure,
@@ -870,33 +878,33 @@ export {
870
878
  _26 as LpDrawer,
871
879
  _27 as LpDropdownMenu,
872
880
  default9 as LpDropzone,
873
- _112 as LpEditable,
881
+ _113 as LpEditable,
874
882
  _28 as LpEmptyState,
875
883
  _30 as LpFieldNotice,
876
884
  _29 as LpFileTree,
877
885
  _31 as LpFormField,
878
- _96 as LpFrame,
879
- _100 as LpGauge,
880
- _126 as LpGlowBorder,
881
- _65 as LpHintExample,
882
- _87 as LpHintLayer,
883
- _88 as LpHints,
884
- _115 as LpHoverCard,
886
+ _97 as LpFrame,
887
+ _101 as LpGauge,
888
+ _127 as LpGlowBorder,
889
+ _66 as LpHintExample,
890
+ _88 as LpHintLayer,
891
+ _89 as LpHints,
892
+ _116 as LpHoverCard,
885
893
  _32 as LpIcon,
886
- _116 as LpIdenticon,
894
+ _117 as LpIdenticon,
887
895
  default10 as LpImageEditor,
888
896
  _33 as LpInfraNode,
889
897
  _34 as LpInput,
890
- _93 as LpInspector,
898
+ _94 as LpInspector,
891
899
  default8 as LpKeys,
892
900
  _35 as LpLightbox,
893
901
  _36 as LpLink,
894
- _107 as LpLoader,
902
+ _108 as LpLoader,
895
903
  _38 as LpLogInspector,
896
904
  _37 as LpLogViewer,
897
- _127 as LpMagnetic,
905
+ _128 as LpMagnetic,
898
906
  _3 as LpMapPicker,
899
- _123 as LpMasonry,
907
+ _124 as LpMasonry,
900
908
  _39 as LpMediaGallery,
901
909
  _40 as LpModal,
902
910
  _41 as LpModalNav,
@@ -905,77 +913,79 @@ export {
905
913
  _44 as LpNumberField,
906
914
  _46 as LpNumberFlow,
907
915
  _47 as LpOtpInput,
908
- _58 as LpPageScrollbar,
916
+ _59 as LpPageScrollbar,
909
917
  _48 as LpPagination,
910
918
  default5 as LpPaletteFacts,
911
919
  default4 as LpPaletteHeader,
912
920
  _17 as LpPalettePreview,
913
921
  default6 as LpPaletteStats,
914
922
  default7 as LpPaletteSwatches,
915
- _129 as LpPaletteTheme,
923
+ _130 as LpPaletteTheme,
916
924
  _49 as LpPasswordInput,
917
925
  _51 as LpPhoneInput,
918
926
  _50 as LpPie,
919
- _105 as LpPipeline,
927
+ _106 as LpPipeline,
920
928
  _52 as LpPopover,
921
929
  _53 as LpProgress,
922
- _101 as LpQuota,
930
+ _102 as LpQuota,
923
931
  _54 as LpRadio,
924
932
  _55 as LpRadioGroup,
925
933
  _23 as LpRangeCalendar,
926
- _70 as LpRangeSlider,
927
- _103 as LpRelativeTime,
928
- _99 as LpRepeater,
929
- _124 as LpRevealOnScroll,
934
+ _71 as LpRangeSlider,
935
+ _104 as LpRelativeTime,
936
+ _100 as LpRepeater,
937
+ _125 as LpRevealOnScroll,
930
938
  _56 as LpRollingText,
931
- _122 as LpScramble,
939
+ _123 as LpScramble,
932
940
  _57 as LpScrollArea,
933
- _110 as LpSecretField,
934
- _60 as LpSection,
935
- _59 as LpSegmented,
936
- _61 as LpSelect,
937
- _62 as LpServiceNode,
938
- _117 as LpShaderBackdrop,
939
- _63 as LpShift,
940
- _120 as LpShinyText,
941
+ _58 as LpScrollStrip,
942
+ _111 as LpSecretField,
943
+ _61 as LpSection,
944
+ _60 as LpSegmented,
945
+ _62 as LpSelect,
946
+ _63 as LpServiceNode,
947
+ _118 as LpShaderBackdrop,
948
+ _64 as LpShift,
949
+ _121 as LpShinyText,
941
950
  default11 as LpShortcutsDialog,
942
- _66 as LpSidebar,
943
- _68 as LpSkeleton,
944
- _69 as LpSlider,
945
- _74 as LpSparkline,
946
- _125 as LpSpotlight,
947
- _75 as LpStat,
948
- _102 as LpStatus,
949
- _106 as LpStepMark,
950
- _76 as LpStepper,
951
- _64 as LpSwap,
952
- _77 as LpSwitch,
951
+ _67 as LpSidebar,
952
+ _69 as LpSkeleton,
953
+ _70 as LpSlider,
954
+ _75 as LpSparkline,
955
+ _126 as LpSpotlight,
956
+ _76 as LpStat,
957
+ _103 as LpStatus,
958
+ _107 as LpStepMark,
959
+ _77 as LpStepper,
960
+ _65 as LpSwap,
961
+ _78 as LpSwitch,
953
962
  default13 as LpTable,
954
- _78 as LpTableOfContents,
963
+ _79 as LpTableOfContents,
955
964
  default14 as LpTabs,
956
- _80 as LpTagsInput,
957
- _119 as LpTextReveal,
958
- _81 as LpTextarea,
959
- _95 as LpThemeProvider,
960
- _97 as LpThemeStudio,
961
- _98 as LpThemeStudioSection,
962
- _82 as LpThemeSwitcher,
963
- _83 as LpTilt,
965
+ _81 as LpTagsInput,
966
+ _120 as LpTextReveal,
967
+ _82 as LpTextarea,
968
+ _96 as LpThemeProvider,
969
+ _98 as LpThemeStudio,
970
+ _99 as LpThemeStudioSection,
971
+ _83 as LpThemeSwitcher,
972
+ _84 as LpTilt,
964
973
  _45 as LpTimeField,
965
- _84 as LpToaster,
966
- _85 as LpTooltip,
967
- _89 as LpTooltipProvider,
968
- _90 as LpTopologyCanvas,
969
- _86 as LpTour,
970
- _113 as LpTruncate,
971
- _121 as LpTypewriter,
972
- _91 as LpUptimeBar,
973
- _71 as LpVideoBackdrop,
974
- _72 as LpVideoCompress,
975
- _73 as LpVideoPlayer,
974
+ _85 as LpToaster,
975
+ _86 as LpTooltip,
976
+ _90 as LpTooltipProvider,
977
+ _91 as LpTopologyCanvas,
978
+ _87 as LpTour,
979
+ _114 as LpTruncate,
980
+ _122 as LpTypewriter,
981
+ _92 as LpUptimeBar,
982
+ _72 as LpVideoBackdrop,
983
+ _73 as LpVideoCompress,
984
+ _74 as LpVideoPlayer,
976
985
  default12 as LpVideoTrim,
977
- _94 as LpWindow,
978
- _92 as LpWorkspaceSwitcher,
986
+ _95 as LpWindow,
987
+ _93 as LpWorkspaceSwitcher,
988
+ MOUSE_SLOP,
979
989
  NO_BACKDROP_ATTR,
980
990
  OSM_TILES,
981
991
  PALETTE_MODES,
@@ -993,6 +1003,7 @@ export {
993
1003
  TONE_ALIASES,
994
1004
  TONE_COLOR,
995
1005
  TONE_SOFT,
1006
+ TOUCH_SLOP,
996
1007
  UI_CONFIG_VERSION,
997
1008
  WINDOW_DOCKS,
998
1009
  activeShortcuts,
@@ -1045,10 +1056,13 @@ export {
1045
1056
  countBlocks,
1046
1057
  countLeaves,
1047
1058
  countLevels,
1059
+ createDragSession,
1060
+ createGesture,
1048
1061
  createHintSystem,
1049
1062
  createLinkedView,
1050
1063
  createNominatimProvider,
1051
1064
  createPaletteRegistry,
1065
+ createVelocityTracker,
1052
1066
  crossedMilestone,
1053
1067
  csvField,
1054
1068
  currentStepIndex,
@@ -1099,6 +1113,7 @@ export {
1099
1113
  formatSize,
1100
1114
  formatTick,
1101
1115
  formatTime,
1116
+ glide,
1102
1117
  graphemes,
1103
1118
  groupCode,
1104
1119
  hashString,
@@ -1136,6 +1151,7 @@ export {
1136
1151
  linkTopology,
1137
1152
  loadCountries,
1138
1153
  localHintStorage,
1154
+ lockAxis,
1139
1155
  lpConfig,
1140
1156
  lpPropCheck,
1141
1157
  lttbIndices,
@@ -1157,6 +1173,7 @@ export {
1157
1173
  meterFraction,
1158
1174
  middleTruncate,
1159
1175
  minMaxBuckets,
1176
+ momentumDistance,
1160
1177
  moveLeaf,
1161
1178
  msToNextSecond,
1162
1179
  neighborhood,
@@ -1173,6 +1190,7 @@ export {
1173
1190
  opaqueCss,
1174
1191
  openContextMenu,
1175
1192
  overallStatus,
1193
+ pageAfterSwipe,
1176
1194
  paletteTip,
1177
1195
  panRange,
1178
1196
  panelsAround,
@@ -1186,6 +1204,7 @@ export {
1186
1204
  parsePaletteQuery,
1187
1205
  parseTheme,
1188
1206
  pendingHotkey,
1207
+ pinchFrame,
1189
1208
  placeMasonry,
1190
1209
  planLoop,
1191
1210
  planScramble,
@@ -1226,6 +1245,8 @@ export {
1226
1245
  rgbToHsv,
1227
1246
  ringWindow,
1228
1247
  rose,
1248
+ rubberBand,
1249
+ rubberClamp,
1229
1250
  runningHintSystem,
1230
1251
  sameRange,
1231
1252
  scrambleFrame,
@@ -1243,8 +1264,10 @@ export {
1243
1264
  setEnd,
1244
1265
  setGlassBackdrop,
1245
1266
  settledCells,
1267
+ shouldDismiss,
1246
1268
  showOnly,
1247
1269
  shownValues,
1270
+ slopFor,
1248
1271
  slotOf,
1249
1272
  snapRect,
1250
1273
  sortNodes,
@@ -1261,6 +1284,7 @@ export {
1261
1284
  subtreeSize,
1262
1285
  svgToPng,
1263
1286
  swapCommandLayout,
1287
+ swipeDirection,
1264
1288
  themeEntries,
1265
1289
  themeFromCookie,
1266
1290
  themeToCssRule,
@@ -1282,6 +1306,7 @@ export {
1282
1306
  uk,
1283
1307
  unknownAttributes,
1284
1308
  unproject,
1309
+ useAppUpdate,
1285
1310
  useAppleKeyboard,
1286
1311
  useAsyncTask,
1287
1312
  useChartSync,
@@ -1295,6 +1320,7 @@ export {
1295
1320
  useForm,
1296
1321
  useFormDraft,
1297
1322
  useGamepadNav,
1323
+ useGesture,
1298
1324
  useGlass,
1299
1325
  useHintSystem,
1300
1326
  useHotkeys,
@@ -1327,6 +1353,7 @@ export {
1327
1353
  useRevealedValue,
1328
1354
  useRovingFocus,
1329
1355
  useScramble,
1356
+ useScrollStrip,
1330
1357
  useSettled,
1331
1358
  useShift,
1332
1359
  useSpotlight,
@@ -1346,6 +1373,7 @@ export {
1346
1373
  viewDocument,
1347
1374
  viewWindow,
1348
1375
  violet,
1376
+ wheelPixels,
1349
1377
  withBrand,
1350
1378
  zoomRange
1351
1379
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leavepulse/ui",
3
- "version": "0.93.3",
3
+ "version": "0.94.0",
4
4
  "type": "module",
5
5
  "description": "LeavePulse token-driven Vue component kit.",
6
6
  "repository": {
@@ -99,6 +99,7 @@ export const COMPONENT_NAMES = [
99
99
  "LpRollingText",
100
100
  "LpScramble",
101
101
  "LpScrollArea",
102
+ "LpScrollStrip",
102
103
  "LpSecretField",
103
104
  "LpSection",
104
105
  "LpSegmented",
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import { useLinkComponent } from "../composables/useLpConfig"
8
8
  import { resolveLink, type ResolvedLink } from "./link"
9
+ import LpScrollStrip from "./LpScrollStrip.vue"
9
10
  import type { SidebarItem } from "./sidebar"
10
11
 
11
12
  const props = defineProps<{
@@ -25,7 +26,7 @@ function rowOf(item: SidebarItem): ResolvedLink {
25
26
  </script>
26
27
 
27
28
  <template>
28
- <nav :aria-label="props.label" class="flex shrink-0 gap-1 overflow-x-auto border-b border-line bg-surface px-4 py-1.5 lp-scrollbar-none">
29
+ <LpScrollStrip as="nav" :aria-label="props.label" class="shrink-0 border-b border-line bg-surface" content-class="gap-1 px-4 py-1.5">
29
30
  <component
30
31
  :is="rowOf(item).is"
31
32
  v-for="item in items"
@@ -40,5 +41,5 @@ function rowOf(item: SidebarItem): ResolvedLink {
40
41
  >
41
42
  {{ item.label }}
42
43
  </component>
43
- </nav>
44
+ </LpScrollStrip>
44
45
  </template>