@leavepulse/ui 0.86.0 → 0.86.2

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 (38) hide show
  1. package/README.md +367 -72
  2. package/dist/assets/{LpSkeleton-H3Z5dEIk.css → LpSkeleton-D6GSatJ-.css} +15 -0
  3. package/dist/assets/{LpTable-ChCcmmtT.css → LpTable-CEFsRz5J.css} +19 -19
  4. package/dist/chunks/{LpAppShell-DW8JmY1o.js → LpAppShell-DpsQtXvG.js} +1 -1
  5. package/dist/chunks/{LpCard-BPtYXwnT.js → LpCard-xXBqLVGo.js} +1 -1
  6. package/dist/chunks/{LpFileTree-wiXExcZI.js → LpFileTree-B365yOLv.js} +1 -1
  7. package/dist/chunks/{LpModalNav-BLvDVl2-.js → LpModalNav-Er99S_AP.js} +1 -1
  8. package/dist/chunks/{LpNotificationBell-Bf0u3t5q.js → LpNotificationBell-DmR1xDd-.js} +1 -1
  9. package/dist/chunks/{LpNotificationFeed-BPZM3zkS.js → LpNotificationFeed-DK7D1f-v.js} +1 -1
  10. package/dist/chunks/{LpPie-Bzv8mnVR.js → LpPie-CAsGO9jE.js} +1 -1
  11. package/dist/chunks/{LpSidebar-DnqbKULj.js → LpSidebar-CjE90o3s.js} +1 -1
  12. package/dist/chunks/{LpSidebarNav-B3Eo_VIS.js → LpSidebarNav-Bgz2tXSq.js} +1 -1
  13. package/dist/chunks/{LpSkeleton-BB6XIV-w.js → LpSkeleton-leTl53V9.js} +1 -1
  14. package/dist/chunks/{LpSparkline-CExIRDb3.js → LpSparkline-11ryFdPX.js} +1 -1
  15. package/dist/chunks/{LpStat-BtxSto7K.js → LpStat-DM5Wfb6K.js} +1 -1
  16. package/dist/chunks/{LpUptimeBar-BoxcCDVY.js → LpUptimeBar-G7PfNJUH.js} +1 -1
  17. package/dist/components/LpAppShell.vue.js +1 -1
  18. package/dist/components/LpCard.vue.js +1 -1
  19. package/dist/components/LpChart.vue.js +1 -1
  20. package/dist/components/LpFileTree.vue.js +1 -1
  21. package/dist/components/LpModalNav.vue.js +1 -1
  22. package/dist/components/LpNotificationBell.vue.js +1 -1
  23. package/dist/components/LpNotificationFeed.vue.js +1 -1
  24. package/dist/components/LpPaletteFacts.vue.js +1 -1
  25. package/dist/components/LpPaletteStats.vue.js +1 -1
  26. package/dist/components/LpPie.vue.js +1 -1
  27. package/dist/components/LpSidebar.vue.js +1 -1
  28. package/dist/components/LpSidebarNav.vue.js +1 -1
  29. package/dist/components/LpSkeleton.vue.js +1 -1
  30. package/dist/components/LpSparkline.vue.js +1 -1
  31. package/dist/components/LpStat.vue.js +1 -1
  32. package/dist/components/LpTable.vue.js +344 -336
  33. package/dist/components/LpTabs.vue.js +1 -1
  34. package/dist/components/LpUptimeBar.vue.js +1 -1
  35. package/dist/index.js +12 -12
  36. package/package.json +3 -2
  37. package/src/components/LpSkeleton.vue +15 -0
  38. package/src/components/LpTable.vue +12 -0
@@ -7,7 +7,7 @@ import { usePillTransition } from "../composables/usePillTransition.js";
7
7
  import { useStepHistory } from "../composables/useOverlayHistory.js";
8
8
  import { prefersReducedMotion } from "../composables/easing.js";
9
9
  import { _ as _sfc_main$1 } from "../chunks/LpContextMenu-CUFZIQX2.js";
10
- import { _ as _sfc_main$3 } from "../chunks/LpSkeleton-BB6XIV-w.js";
10
+ import { _ as _sfc_main$3 } from "../chunks/LpSkeleton-leTl53V9.js";
11
11
  import { _ as _sfc_main$2 } from "../chunks/LpTabFace-gATEe9pQ.js";
12
12
  import { pickTab, BOTTOM_BAR, BOTTOM_ITEM, BOTTOM_MARKER } from "./tabs.js";
13
13
  import { _ as _export_sfc } from "../chunks/_plugin-vue_export-helper-1tPrXgE0.js";
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpUptimeBar-BoxcCDVY.js";
1
+ import { _ as _sfc_main } from "../chunks/LpUptimeBar-G7PfNJUH.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
package/dist/index.js CHANGED
@@ -4,14 +4,14 @@ import { _ as _3 } from "./chunks/LpMapPicker-CnpJhiY0.js";
4
4
  import { OSM_TILES, createNominatimProvider, emptyAddress, formatAddress, project, tileUrl, unproject } from "./components/address.js";
5
5
  import { _ as _4 } from "./chunks/LpActionBar-C0LK-Aqs.js";
6
6
  import { _ as _5 } from "./chunks/LpAlert-Bpd7122M.js";
7
- import { _ as _6 } from "./chunks/LpAppShell-DW8JmY1o.js";
7
+ import { _ as _6 } from "./chunks/LpAppShell-DpsQtXvG.js";
8
8
  import { _ as _7 } from "./chunks/LpAutocomplete-CQID7Zc-.js";
9
9
  import { _ as _8 } from "./chunks/LpAvatar-DLkiMGKx.js";
10
10
  import { _ as _9 } from "./chunks/LpBadge-RFp8uHFt.js";
11
11
  import { _ as _10 } from "./chunks/LpBreadcrumbs-DJ_DB45r.js";
12
12
  import { _ as _11 } from "./chunks/LpButton-DSHioIfD.js";
13
13
  import { _ as _12 } from "./chunks/LpCalendar-D6tfCr2G.js";
14
- import { _ as _13 } from "./chunks/LpCard-BPtYXwnT.js";
14
+ import { _ as _13 } from "./chunks/LpCard-xXBqLVGo.js";
15
15
  import { default as default2 } from "./components/LpChart.vue.js";
16
16
  import { backgroundOf, csvField, downloadFile, fileStem, inlineSvg, resolveCssColor, svgToPng, toCsv } from "./components/exportData.js";
17
17
  import { CHART_PALETTE, axisTicks, chartSummary, formatTick, markerIndex, niceScale, resolveSlices } from "./components/chart.js";
@@ -47,7 +47,7 @@ import { _ as _26 } from "./chunks/LpDrawer-C1q2bl1r.js";
47
47
  import { _ as _27 } from "./chunks/LpDropdownMenu-DRABI-Bl.js";
48
48
  import { default as default9 } from "./components/LpDropzone.vue.js";
49
49
  import { _ as _28 } from "./chunks/LpEmptyState-DT8U4R8L.js";
50
- import { _ as _29 } from "./chunks/LpFileTree-wiXExcZI.js";
50
+ import { _ as _29 } from "./chunks/LpFileTree-B365yOLv.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-mcmO-O-J.js";
53
53
  import { _ as _31 } from "./chunks/LpFormField-C5GOuOY-.js";
@@ -65,16 +65,16 @@ import { compilePattern, findIds, messageShape, structuredPayload, timeMs } from
65
65
  import { countLevels, matchPositions, matchesTerm, ringWindow, stepMatch } from "./components/logSearch.js";
66
66
  import { _ as _39 } from "./chunks/LpMediaGallery-OJemmbV7.js";
67
67
  import { _ as _40 } from "./chunks/LpModal-B5y9_LgA.js";
68
- import { _ as _41 } from "./chunks/LpModalNav-BLvDVl2-.js";
69
- import { _ as _42 } from "./chunks/LpNotificationBell-Bf0u3t5q.js";
70
- import { _ as _43 } from "./chunks/LpNotificationFeed-BPZM3zkS.js";
68
+ import { _ as _41 } from "./chunks/LpModalNav-Er99S_AP.js";
69
+ import { _ as _42 } from "./chunks/LpNotificationBell-DmR1xDd-.js";
70
+ import { _ as _43 } from "./chunks/LpNotificationFeed-DK7D1f-v.js";
71
71
  import { _ as _44 } from "./chunks/LpNumberField-BeYT7zzt.js";
72
72
  import { _ as _45 } from "./chunks/LpTimeField-BTKJVeNt.js";
73
73
  import { _ as _46 } from "./chunks/LpNumberFlow-Vqj0tP7B.js";
74
74
  import { _ as _47 } from "./chunks/LpOtpInput-DqwY-U5R.js";
75
75
  import { _ as _48 } from "./chunks/LpPagination-V1wEhu1K.js";
76
76
  import { _ as _49 } from "./chunks/LpPasswordInput-LaOXNYuV.js";
77
- import { _ as _50 } from "./chunks/LpPie-Bzv8mnVR.js";
77
+ import { _ as _50 } from "./chunks/LpPie-CAsGO9jE.js";
78
78
  import { _ as _51 } from "./chunks/LpPhoneInput-D7Tq2iaz.js";
79
79
  import { filterCountries, flagEmoji, loadCountries, matchCountryByValue } from "./components/countries.js";
80
80
  import { _ as _52 } from "./chunks/LpPopover-BQSuxtai.js";
@@ -93,9 +93,9 @@ 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-DnqbKULj.js";
96
+ import { _ as _66 } from "./chunks/LpSidebar-CjE90o3s.js";
97
97
  import { _ as _67 } from "./chunks/LpContextSwitcher-CMweLbv2.js";
98
- import { _ as _68 } from "./chunks/LpSkeleton-BB6XIV-w.js";
98
+ import { _ as _68 } from "./chunks/LpSkeleton-leTl53V9.js";
99
99
  import { _ as _69 } from "./chunks/LpSlider-DTb_Ivkm.js";
100
100
  import { _ as _70 } from "./chunks/LpRangeSlider-BaAM7XIs.js";
101
101
  import { _ as _71 } from "./chunks/LpVideoBackdrop-57i8RY8g.js";
@@ -106,8 +106,8 @@ import { bitrateForHeight, canTranscodeVideo, estimateTranscodedBytes, probeVide
106
106
  import { _ as _73 } from "./chunks/LpVideoPlayer--87I5Kqu.js";
107
107
  import { useVideoMedia } from "./composables/useVideoMedia.js";
108
108
  import { dragEnd, normalizeRange as normalizeRange2, parseClipTime, setEnd } from "./components/videoTrim.js";
109
- import { _ as _74 } from "./chunks/LpSparkline-CExIRDb3.js";
110
- import { _ as _75 } from "./chunks/LpStat-BtxSto7K.js";
109
+ import { _ as _74 } from "./chunks/LpSparkline-11ryFdPX.js";
110
+ import { _ as _75 } from "./chunks/LpStat-DM5Wfb6K.js";
111
111
  import { _ as _76 } from "./chunks/LpStepper-CjC3cp1F.js";
112
112
  import { _ as _77 } from "./chunks/LpSwitch-BNHyYDhX.js";
113
113
  import { default as default13 } from "./components/LpTable.vue.js";
@@ -133,7 +133,7 @@ import { HINT_SIGNALS, contextMenuTip, createHintSystem, dropzoneTip, hintKey, h
133
133
  import { _ as _89 } from "./chunks/LpTooltipProvider-CftjV7Xc.js";
134
134
  import { _ as _90 } from "./chunks/LpTopologyCanvas-paC1Dup-.js";
135
135
  import { clusterGraph, diffTopology, findPath, layeredLayout, neighborhood, topologyToSvg } from "./components/topologyGraph.js";
136
- import { _ as _91 } from "./chunks/LpUptimeBar-BoxcCDVY.js";
136
+ import { _ as _91 } from "./chunks/LpUptimeBar-G7PfNJUH.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";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leavepulse/ui",
3
- "version": "0.86.0",
3
+ "version": "0.86.2",
4
4
  "type": "module",
5
5
  "description": "LeavePulse token-driven Vue component kit.",
6
6
  "repository": {
@@ -72,7 +72,8 @@
72
72
  "check:size": "node scripts/check-size.mjs",
73
73
  "test:coverage": "bun test --coverage",
74
74
  "gen:icons": "node scripts/gen-kit-icons.mjs",
75
- "gen:meta": "node scripts/gen-preview-meta.mjs"
75
+ "gen:meta": "node scripts/gen-preview-meta.mjs",
76
+ "gen:readme": "node scripts/readme-catalogue.mjs"
76
77
  },
77
78
  "peerDependencies": {
78
79
  "@iconify-json/lucide": "^1.2.0",
@@ -76,6 +76,21 @@ const isBlock = computed(() => !slots.default)
76
76
  animation: lp-skeleton-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
77
77
  }
78
78
 
79
+ /*
80
+ * A block to pulse has to be visible first. The pulse only animates opacity,
81
+ * so an item written as the docs above show it (a size, a radius, no colour)
82
+ * was transparent and the loading state was blank. The default sits in
83
+ * `@layer base`, as the kit's other defaults do (tokens.css, selection.css):
84
+ * an unlayered rule outranks every Tailwind utility whatever its specificity,
85
+ * so a consumer's own background (bg-surface-raised on a soft card) would
86
+ * have lost to it.
87
+ */
88
+ @layer base {
89
+ .lp-skeleton-item {
90
+ background-color: var(--color-surface-soft);
91
+ }
92
+ }
93
+
79
94
  /* Items nested anywhere inside a wrapper, at any depth. */
80
95
  .lp-skeleton .lp-skeleton-item {
81
96
  animation: lp-skeleton-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
@@ -1704,6 +1704,17 @@ usePaletteCommands(() => {
1704
1704
  </LpShift>
1705
1705
  </div>
1706
1706
  </LpShift>
1707
+ <!-- The frame eases to its new height as rows come and go. A leaving row
1708
+ stays in the flow while it fades (a positioned <tr> loses the column
1709
+ grid), so when it is finally removed the table lost its height in one
1710
+ frame: the rows slid aside smoothly and the box under them snapped.
1711
+ Always on rather than only while `animating`: LpShift starts over when
1712
+ it is switched on, so the change that switched it on was never eased.
1713
+ Rows the parent replaces wholesale still swap at once; only the frame
1714
+ eases. A virtual table owns its own height and stays out. -->
1715
+ <!-- flex-auto, not flex-1: a zero basis overrides the height LpShift sets
1716
+ while it eases, and the box jumped to its new size regardless. -->
1717
+ <LpShift :disabled="!!virtualRowHeight" class="flex min-h-0 flex-auto flex-col">
1707
1718
  <LpScrollArea
1708
1719
  v-bind="scrollAttrs"
1709
1720
  :fade="false"
@@ -2005,6 +2016,7 @@ usePaletteCommands(() => {
2005
2016
  </table>
2006
2017
  </LpContextMenu>
2007
2018
  </LpScrollArea>
2019
+ </LpShift>
2008
2020
  <LpPagination
2009
2021
  v-if="load && total > pageSize"
2010
2022
  v-model:page="page"